farm-react 1.0.8 → 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 +3762 -4669
- package/dist/assets/styles/style.css.map +1 -1
- package/dist/cjs/components/Button.d.ts +3 -3
- package/dist/cjs/components/Button.js +7 -4
- package/dist/cjs/components/Button.js.map +1 -1
- 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/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/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/Slider/useSlider.js +0 -1
- package/dist/cjs/components/Slider/useSlider.js.map +1 -1
- package/dist/cjs/components/TextInput.d.ts +10 -7
- package/dist/cjs/components/TextInput.js +75 -8
- package/dist/cjs/components/TextInput.js.map +1 -1
- 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/icons.d.ts +3 -0
- package/dist/cjs/constants/icons.js +3 -0
- package/dist/cjs/constants/icons.js.map +1 -1
- package/dist/cjs/helpers/app.d.ts +1 -1
- package/dist/cjs/helpers/app.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.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/components/Button.d.ts +3 -3
- package/dist/esm/components/Button.js +8 -5
- package/dist/esm/components/Button.js.map +1 -1
- 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/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/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/Slider/useSlider.js +0 -1
- package/dist/esm/components/Slider/useSlider.js.map +1 -1
- package/dist/esm/components/TextInput.d.ts +10 -7
- package/dist/esm/components/TextInput.js +75 -8
- package/dist/esm/components/TextInput.js.map +1 -1
- 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/icons.d.ts +3 -0
- package/dist/esm/constants/icons.js +3 -0
- package/dist/esm/constants/icons.js.map +1 -1
- package/dist/esm/helpers/app.d.ts +1 -1
- package/dist/esm/helpers/app.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.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 +2 -1
- package/dist/cjs/components/Slider/Slider/SlickSlider.d.ts +0 -74
- package/dist/cjs/components/Slider/Slider/SlickSlider.js +0 -212
- package/dist/cjs/components/Slider/Slider/SlickSlider.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useCenterMode.d.ts +0 -24
- package/dist/cjs/components/Slider/Slider/useCenterMode.js +0 -40
- package/dist/cjs/components/Slider/Slider/useCenterMode.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSlider.d.ts +0 -65
- package/dist/cjs/components/Slider/Slider/useSlider.js +0 -164
- package/dist/cjs/components/Slider/Slider/useSlider.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.d.ts +0 -33
- package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js +0 -73
- package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.d.ts +0 -38
- package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js +0 -53
- package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSliderDimension.d.ts +0 -41
- package/dist/cjs/components/Slider/Slider/useSliderDimension.js +0 -91
- package/dist/cjs/components/Slider/Slider/useSliderDimension.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSliderDraggable.d.ts +0 -43
- package/dist/cjs/components/Slider/Slider/useSliderDraggable.js +0 -146
- package/dist/cjs/components/Slider/Slider/useSliderDraggable.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSliderNavigation.d.ts +0 -41
- package/dist/cjs/components/Slider/Slider/useSliderNavigation.js +0 -136
- package/dist/cjs/components/Slider/Slider/useSliderNavigation.js.map +0 -1
- package/dist/cjs/components/Slider/Slider/useSliderTransform.d.ts +0 -17
- package/dist/cjs/components/Slider/Slider/useSliderTransform.js +0 -71
- package/dist/cjs/components/Slider/Slider/useSliderTransform.js.map +0 -1
- package/dist/cjs/strings/index.js +0 -2
- package/dist/cjs/strings/index.js.map +0 -1
- package/dist/esm/components/Slider/Slider/SlickSlider.d.ts +0 -74
- package/dist/esm/components/Slider/Slider/SlickSlider.js +0 -209
- package/dist/esm/components/Slider/Slider/SlickSlider.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useCenterMode.d.ts +0 -24
- package/dist/esm/components/Slider/Slider/useCenterMode.js +0 -38
- package/dist/esm/components/Slider/Slider/useCenterMode.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSlider.d.ts +0 -65
- package/dist/esm/components/Slider/Slider/useSlider.js +0 -162
- package/dist/esm/components/Slider/Slider/useSlider.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSliderAutoPlay.d.ts +0 -33
- package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js +0 -71
- package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSliderBreakpoint.d.ts +0 -38
- package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js +0 -51
- package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSliderDimension.d.ts +0 -41
- package/dist/esm/components/Slider/Slider/useSliderDimension.js +0 -89
- package/dist/esm/components/Slider/Slider/useSliderDimension.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSliderDraggable.d.ts +0 -43
- package/dist/esm/components/Slider/Slider/useSliderDraggable.js +0 -144
- package/dist/esm/components/Slider/Slider/useSliderDraggable.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSliderNavigation.d.ts +0 -41
- package/dist/esm/components/Slider/Slider/useSliderNavigation.js +0 -134
- package/dist/esm/components/Slider/Slider/useSliderNavigation.js.map +0 -1
- package/dist/esm/components/Slider/Slider/useSliderTransform.d.ts +0 -17
- package/dist/esm/components/Slider/Slider/useSliderTransform.js +0 -69
- package/dist/esm/components/Slider/Slider/useSliderTransform.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,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Reusable Popover Component using React Bootstrap
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var tslib_1 = require("tslib");
|
|
7
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
8
|
+
var clsx_1 = require("clsx");
|
|
9
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
10
|
+
var helpers_1 = require("../helpers");
|
|
11
|
+
var sizeClasses = {
|
|
12
|
+
sm: 'popover-sm',
|
|
13
|
+
lg: 'popover-lg',
|
|
14
|
+
xl: 'popover-xl',
|
|
15
|
+
};
|
|
16
|
+
function Popover(_a) {
|
|
17
|
+
var classnames = _a.classnames, style = _a.style, attributes = _a.attributes, _b = _a.trigger, trigger = _b === void 0 ? 'click' : _b, _c = _a.placement, placement = _c === void 0 ? 'auto' : _c, title = _a.title, description = _a.description, children = _a.children, _d = _a.show, show = _d === void 0 ? false : _d, overlay = _a.overlay, _e = _a.closeBtn, closeBtn = _e === void 0 ? false : _e, customHeader = _a.customHeader, customFooter = _a.customFooter, _f = _a.rootClose, rootClose = _f === void 0 ? false : _f, _g = _a.backdrop, backdrop = _g === void 0 ? false : _g, handleBackdrop = _a.handleBackdrop, onToggle = _a.onToggle, _h = _a.size, size = _h === void 0 ? 'lg' : _h, rest = _a.rest;
|
|
18
|
+
var _j = (0, helpers_1.destructObj)(classnames), wrapper = _j.wrapper, header = _j.header, descriptionClass = _j.description, titleClass = _j.title, body = _j.body, closeBtnClass = _j.closeBtn, closeBtnIcon = _j.closeBtnIcon, footer = _j.footer;
|
|
19
|
+
var _k = (0, helpers_1.destructObj)(attributes), wrapperAttr = _k.wrapper, headerAttr = _k.header, bodyAttr = _k.body, footerAttr = _k.footer, descriptionAttr = _k.description;
|
|
20
|
+
var _l = (0, helpers_1.destructObj)(style), wrapperStyle = _l.wrapper, headerStyle = _l.header, bodyStyle = _l.body, footerStyle = _l.footer;
|
|
21
|
+
var renderPopover = function (props) { return (react_1.default.createElement(react_bootstrap_1.Popover, tslib_1.__assign({}, props, { className: (0, clsx_1.clsx)(sizeClasses[size], wrapper), style: wrapperStyle }, wrapperAttr),
|
|
22
|
+
(title || description || closeBtn || customHeader) && (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.clsx)('popover-header', header), style: headerStyle }, headerAttr), customHeader ? (customHeader) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
23
|
+
title && react_1.default.createElement("div", { className: (0, clsx_1.clsx)('popover-title', titleClass) }, title),
|
|
24
|
+
description && (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.clsx)('popover-description', descriptionClass) }, descriptionAttr), description)),
|
|
25
|
+
closeBtn && (react_1.default.createElement("button", { type: 'button', className: (0, clsx_1.clsx)('popover-close', closeBtnClass), onClick: function () { return onToggle === null || onToggle === void 0 ? void 0 : onToggle(false); } },
|
|
26
|
+
react_1.default.createElement("i", { className: (0, clsx_1.clsx)('bi-x', closeBtnIcon) }))))))),
|
|
27
|
+
react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.clsx)('popover-body', body), style: bodyStyle }, bodyAttr), typeof overlay === 'function' ? overlay(props) : overlay),
|
|
28
|
+
customFooter && (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.clsx)('popover-footer', footer), style: footerStyle }, footerAttr), customFooter)))); };
|
|
29
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
30
|
+
backdrop && show && react_1.default.createElement("div", { className: 'popover-backdrop', onClick: handleBackdrop }),
|
|
31
|
+
react_1.default.createElement(react_bootstrap_1.OverlayTrigger, tslib_1.__assign({ trigger: trigger, placement: placement, overlay: renderPopover, show: show, rootClose: rootClose, onToggle: onToggle }, rest), children)));
|
|
32
|
+
}
|
|
33
|
+
exports.default = Popover;
|
|
34
|
+
//# sourceMappingURL=Popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/components/Popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* -----------------------------------------------------------------------------
|
|
3
|
+
* @component RadioButtonGroup
|
|
4
|
+
* -----------------------------------------------------------------------------
|
|
5
|
+
*
|
|
6
|
+
* @description This component is responsible for rendering group of radio buttons, radio buttons can be rendered using the radioBtns prop.
|
|
7
|
+
* The radioBtns is an array which consists of objects, each object representing a radio button with respective properties.
|
|
8
|
+
* React-Hook-Form can be bind to this component.
|
|
9
|
+
*
|
|
10
|
+
* -----------------------------------------------------------------------------
|
|
11
|
+
* Copyright © 2017-present BookingKoala. All rights reserved.
|
|
12
|
+
* -----------------------------------------------------------------------------
|
|
13
|
+
*/
|
|
14
|
+
import { type ChangeEvent, type ReactElement } from 'react';
|
|
15
|
+
import { type ToggleButtonProps } from 'react-bootstrap/ToggleButton';
|
|
16
|
+
import { type Control, type FieldValues, type UseFormReturn } from 'react-hook-form';
|
|
17
|
+
import { type TooltipProps } from 'react-bootstrap';
|
|
18
|
+
import { LabelProps } from './Label';
|
|
19
|
+
interface IconProps {
|
|
20
|
+
icon?: string;
|
|
21
|
+
position?: 'start' | 'end';
|
|
22
|
+
}
|
|
23
|
+
export interface RadioBtn extends ToggleButtonProps {
|
|
24
|
+
label?: string;
|
|
25
|
+
iconProps?: IconProps;
|
|
26
|
+
tooltip?: TooltipProps;
|
|
27
|
+
descProps?: {
|
|
28
|
+
description?: string;
|
|
29
|
+
classname?: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
interface Classnames {
|
|
33
|
+
wrapper?: string;
|
|
34
|
+
btnGroup?: string;
|
|
35
|
+
button?: string;
|
|
36
|
+
icon?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
}
|
|
39
|
+
interface Attributes {
|
|
40
|
+
wrapper?: object;
|
|
41
|
+
btnGroup?: object;
|
|
42
|
+
button?: object;
|
|
43
|
+
description?: object;
|
|
44
|
+
}
|
|
45
|
+
export interface Methods extends Partial<UseFormReturn<FieldValues>> {
|
|
46
|
+
control: Control<FieldValues, unknown>;
|
|
47
|
+
}
|
|
48
|
+
export interface RadioButtonGroupProps {
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
isSpaced?: boolean;
|
|
51
|
+
vertical?: boolean;
|
|
52
|
+
description?: string;
|
|
53
|
+
gap?: string;
|
|
54
|
+
name?: string;
|
|
55
|
+
size?: 'sm' | 'lg';
|
|
56
|
+
variant?: string;
|
|
57
|
+
value?: string | number;
|
|
58
|
+
attributes?: Attributes;
|
|
59
|
+
classnames?: Classnames;
|
|
60
|
+
labelProps?: LabelProps;
|
|
61
|
+
methods?: Methods;
|
|
62
|
+
radioBtns?: RadioBtn[];
|
|
63
|
+
onChange?: (value: string | number, event?: ChangeEvent<HTMLInputElement>) => void;
|
|
64
|
+
renderOptions?: (btnContent: RadioBtn) => null | ReactElement;
|
|
65
|
+
}
|
|
66
|
+
declare function RadioButtonGroup({ disabled, isSpaced, vertical, description, gap, name, size, variant, value, attributes, classnames, labelProps, methods, radioBtns, onChange, renderOptions, }: RadioButtonGroupProps): ReactElement;
|
|
67
|
+
export default RadioButtonGroup;
|
|
@@ -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":";;;AAAA;;;;;;;;;;;;GAYG;AACH,qDAOc;AACd,6BAA2B;AAC3B,8EAA+C;AAE/C,mDAMwB;AACxB,mDAA4D;AAC5D,0DAA2C;AAC3C,sCAAoH;AACpH,+FAAmE;AACnE,yGAA6E;AAsE7E,mGAAmG;AACnG,SAAS,OAAO,CAAC,EAA0E;QAAxE,IAAI,UAAA,EAAE,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EAAE,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EAAE,QAAQ,cAAA;IAChE,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,0DAAS,UAAU,IAAE,SAAS,EAAE,SAAS,KACtC,QAAQ,CACL,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAiBF;QAhBtB,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA,EAChB,WAAY,EAAZ,GAAG,mBAAG,MAAM,KAAA,EACZ,YAAkB,EAAlB,IAAI,mBAAG,WAAW,KAAA,EAClB,YAAgB,EAAhB,IAAI,mBAAG,SAAS,KAAA,EAChB,eAAyB,EAAzB,OAAO,mBAAG,eAAe,KAAA,EACzB,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA,EACtB,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA,EACtB,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,eAAmB,EAAnB,OAAO,mBAAG,SAAS,KAAA,EACnB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,gBAAoB,EAApB,QAAQ,mBAAG,SAAS,KAAA,EACpB,qBAAyB,EAAzB,aAAa,mBAAG,SAAS,KAAA;IAEjB,IAAA,OAAO,GAAK,IAAA,qBAAW,EAAC,OAAO,CAAC,QAAzB,CAAyB;IAExC,uBAAuB;IACvB,IAAM,OAAO,GAAY,IAAA,uBAAa,EAAC,WAAW,CAAC,CAAA;IACnD,IAAM,QAAQ,GAAY,IAAA,uBAAa,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,CAAA;IAC1D,IAAM,YAAY,GAAY,IAAA,yBAAe,EAAC,SAAS,CAAC,CAAA;IACxD,IAAM,eAAe,GAAY,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAA;IAE1D,mCAAmC;IAC7B,IAAA,KAMF,IAAA,qBAAW,EAAC,UAAU,CAAC,EALhB,YAAY,aAAA,EACX,aAAa,cAAA,EACf,QAAQ,YAAA,EACV,SAAS,UAAA,EACF,SAAS,iBACG,CAAA;IAErB,IAAA,KAKF,IAAA,qBAAW,EAAC,UAAU,CAAC,EAJhB,WAAW,aAAA,EACV,YAAY,cAAA,EACd,OAAO,YAAA,EACF,QAAQ,iBACI,CAAA;IAE3B,kGAAkG;IAC5F,IAAA,KAAgC,IAAA,gBAAQ,EAAkB,KAAK,CAAC,EAA/D,WAAW,QAAA,EAAE,cAAc,QAAoC,CAAA;IAEtE,4GAA4G;IAC5G,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,cAAc,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,SAAS,gBAAgB;QACvB,OAAO,QAAQ,IAAI,OAAO,CAAA;IAC5B,CAAC;IAED,SAAS,WAAW;QAClB,OAAO,QAAQ,CAAC,CAAC,CAAC,8BAAC,eAAK,uBAAK,UAAU,EAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACpD,CAAC;IAED,SAAS,0BAA0B;QACjC,IAAM,uBAAuB,0DACxB,YAAY,KACf,QAAQ,UAAA,EACR,IAAI,MAAA,EACJ,IAAI,MAAA,EACJ,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,KAC/E,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7E,CAAA;QAED,OAAO,uBAAuB,CAAA;IAChC,CAAC;IAED,SAAS,OAAO,CACd,cAAuB,EACvB,SAAgC,EAChC,OAAiC;;QAE3B,IAAA,KAAqB,IAAA,qBAAW,EAAC,SAAS,CAAC,EAAzC,IAAI,UAAA,EAAE,QAAQ,cAA2B,CAAA;QACjD,IAAM,UAAU,GAAW,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QACjE,IAAM,WAAW,GAAiB,qCAAG,SAAS,EAAE,IAAA,WAAI,EAAC,IAAI,YAAI,GAAC,UAAU,IAAG,cAAc,OAAI,SAAS,CAAC,GAAI,CAAA;QAE3G,OAAO,QAAQ,CAAC,CAAC,CAAC,8BAAC,yBAAO,uBAAK,OAAO,GAAG,WAAW,CAAW,CAAC,CAAC,CAAC,WAAW,CAAA;IAC/E,CAAC;IAED,SAAS,kBAAkB,CAAC,oBAA0C;QAC9D,IAAA,KAA2C,IAAA,qBAAW,EAAC,oBAAoB,CAAC,EAA1E,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAsC,CAAA;QAClF,IAAM,cAAc,GAAY,IAAA,uBAAa,EAAC,KAAK,CAAC,CAAA;QACpD,IAAM,aAAa,GAAY,IAAA,uBAAa,EAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,CAAA;QAC7D,IAAM,mBAAmB,GAAY,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,MAAK,OAAO,CAAA;QACpE,IAAM,WAAW,GAAiB,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAE7E,iFAAiF;QACjF,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,CAAC;YAC1C,aAAa,IAAI,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;YACzD,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC7B,aAAa,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CACvD,CACP,CAAA;IACH,CAAC;IAED,SAAS,cAAc,CAAC,KAAoC;;QAC1D,IAAM,WAAW,GAAW,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,KAAK,CAAA;QAChD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,WAAW,EAAE,KAAK,CAAC,CAAA;QAC9B,cAAc,CAAC,WAAW,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,gBAAgB,CAAC,EAUzB;YATC,QAAQ,cAAA,EACR,gBAAgB,sBAAA,EAChB,OAAO,aAAA,EACP,UAAU,gBAAA;QAOV,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,QAAQ,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,8BAAC,yBAAO,uBAAK,OAAO,GAAG,UAAU,CAAW,CAAA;QACrD,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,eAAe;QACtB,OAAO,SAAS,CAAC,GAAG,CAAC,UAAC,QAAkB,EAAE,KAAa;YACrD,IAAM,KASF,IAAA,qBAAW,EAAC,QAAQ,CAAC,EARZ,iBAAiB,eAAA,EAC5B,KAAK,WAAA,EACL,aAAkB,EAAX,MAAM,mBAAG,EAAE,KAAA,EAClB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,OAAO,aAAA,EACG,WAAW,cAAA,EAClB,iBAAiB,sBARhB,gFASL,CAAwB,CAAA;YAEzB,IAAI,IAAA,oBAAU,EAAC,KAAK,CAAC,IAAI,IAAA,oBAAU,EAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEjE,IAAM,gBAAgB,GAAY,IAAA,uBAAa,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAA;YACjE,IAAM,UAAU,GAAiB,kBAAkB,CAAC,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;YAC7F,IAAM,aAAa,GAAwB,QAAQ,IAAI,WAAW,CAAA;YAElE,IAAM,cAAc,yEAClB,QAAQ,UAAA,EACR,SAAS,EAAE,iBAAiB,EAC5B,IAAI,MAAA,IACD,OAAO,KACV,QAAQ,EAAE,aAAa,KACpB,iBAAiB,KACpB,IAAI,EAAE,OAAO,EACb,OAAO,SAAA,EACP,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,IAAA,WAAI,EAAC,QAAQ,EAAE,KAAK,CAAC,GACjC,CAAA;YAED,OAAO,CACL,8BAAC,mBAAY,qBACX,GAAG,EAAE,IAAA,sBAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IACvC,cAAc,IAClB,QAAQ,EAAE,gBAAgB,CAAC,EAAE,QAAQ,UAAA,EAAE,gBAAgB,kBAAA,EAAE,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,CAAC,IAC/E,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,aAAmC;QAC1D,OAAO,UAAC,KAAoC;YAC1C,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;YAChC,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAA;IACH,CAAC;IAED,SAAS,oBAAoB,CAAC,EAI7B;YAHC,aAAwD,EAArC,kBAAkB,cAAA,EAAS,QAAQ,WAAA;QAItD,OAAO,CACL,8BAAC,wBAAiB,uBACZ,0BAA0B,EAAE,IAChC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,eAAe,CAAC,kBAAkB,CAAC,KAE5C,eAAe,EAAE,CACA,CACrB,CAAA;IACH,CAAC;IAED,SAAS,wBAAwB;QAC/B,OAAO,8BAAC,4BAAU,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,GAAI,CAAA;IACxG,CAAC;IAED,SAAS,2BAA2B;QAClC,OAAO,CACL,8BAAC,wBAAiB,uBAAK,0BAA0B,EAAE,IAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,KAC9F,eAAe,EAAE,CACA,CACrB,CAAA;IACH,CAAC;IAED,8GAA8G;IAC9G,SAAS,iBAAiB;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,eAAe,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAA;IACrF,CAAC;IAED,SAAS,UAAU;QACjB,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,8BAAC,kBAAQ,uBAAK,QAAQ,IAAE,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,KACxD,WAAW,CACH,CACZ,CAAC,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,OAAO,CACL,8BAAC,OAAO,IACN,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,IAAA,WAAI,EAAC,YAAY,EAAE,QAAQ,IAAI,oBAAoB,CAAC,EAC/D,IAAI,EAAE,gBAAgB,EAAE;QAExB;YACG,WAAW,EAAE;YACb,iBAAiB,EAAE;YACnB,UAAU,EAAE,CACZ,CACK,CACX,CAAA;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSlider.js","sourceRoot":"","sources":["../../../../src/components/Slider/useSlider.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"useSlider.js","sourceRoot":"","sources":["../../../../src/components/Slider/useSlider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type ReactElement } from 'react';
|
|
1
|
+
import React, { type ChangeEvent, type FocusEvent, type MouseEvent, type ReactElement } from 'react';
|
|
3
2
|
import { type LabelProps } from './Label';
|
|
4
3
|
interface Classnames {
|
|
5
4
|
wrapper?: string;
|
|
@@ -12,7 +11,8 @@ interface Attributes {
|
|
|
12
11
|
description?: object;
|
|
13
12
|
}
|
|
14
13
|
type TextInputVariant = 'normal' | 'floating';
|
|
15
|
-
|
|
14
|
+
type TextInputReturnType = 'value' | 'event';
|
|
15
|
+
export interface TextInputProps<RType extends TextInputReturnType = 'value'> {
|
|
16
16
|
labelProps?: LabelProps;
|
|
17
17
|
placeholder?: string;
|
|
18
18
|
description?: string;
|
|
@@ -26,12 +26,15 @@ export interface TextInputProps {
|
|
|
26
26
|
classnames?: Classnames;
|
|
27
27
|
attributes?: Attributes;
|
|
28
28
|
variant?: TextInputVariant;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
returnType?: RType;
|
|
30
|
+
onChange?: RType extends 'value' ? (data: string) => void : (event: ChangeEvent<HTMLInputElement>) => void;
|
|
31
|
+
onBlur?: RType extends 'value' ? (data: string) => void : (event: FocusEvent<HTMLInputElement>) => void;
|
|
32
|
+
onFocus?: RType extends 'value' ? (data: string) => void : (event: FocusEvent<HTMLInputElement>) => void;
|
|
33
|
+
onClear?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
32
34
|
inputRef?: React.RefObject<HTMLInputElement>;
|
|
33
35
|
readonly?: boolean;
|
|
36
|
+
showClearBtn?: boolean;
|
|
34
37
|
disabled?: boolean;
|
|
35
38
|
}
|
|
36
|
-
declare function TextInput({ labelProps, description, type, placeholder, size, value, onChange, onBlur, onFocus, variant, inputRef, id, defaultValue, classnames, attributes, name, maxLength, readonly, disabled, ...rest }: TextInputProps): ReactElement;
|
|
39
|
+
declare function TextInput<Rtype extends TextInputReturnType = 'value'>({ labelProps, description, type, placeholder, size, value, onChange, onBlur, onFocus, onClear, variant, inputRef, id, returnType, defaultValue, classnames, attributes, name, maxLength, readonly, disabled, showClearBtn, ...rest }: TextInputProps<Rtype>): ReactElement;
|
|
37
40
|
export default TextInput;
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var react_1 = tslib_1.
|
|
4
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
5
6
|
var react_bootstrap_1 = require("react-bootstrap");
|
|
6
|
-
var Label_1 = tslib_1.__importDefault(require("./Label"));
|
|
7
7
|
var app_1 = require("../helpers/app");
|
|
8
|
-
var
|
|
8
|
+
var icons_1 = tslib_1.__importDefault(require("../constants/icons"));
|
|
9
|
+
var Label_1 = tslib_1.__importDefault(require("./Label"));
|
|
10
|
+
var ToggleButton_1 = tslib_1.__importDefault(require("../subComponent/ToggleButton"));
|
|
11
|
+
// Destuct Iocns
|
|
12
|
+
var cancelCircle = icons_1.default.cancelCircle;
|
|
9
13
|
function TextInput(_a) {
|
|
10
|
-
var labelProps = _a.labelProps, description = _a.description, _b = _a.type, type = _b === void 0 ? 'text' : _b, placeholder = _a.placeholder, size = _a.size, value = _a.value, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, _c = _a.variant, variant = _c === void 0 ? 'normal' : _c, inputRef = _a.inputRef, id = _a.id, defaultValue = _a.defaultValue, classnames = _a.classnames, attributes = _a.attributes, name = _a.name, _d = _a.maxLength, maxLength = _d === void 0 ? 200 : _d, _e = _a.readonly, readonly = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, rest = tslib_1.__rest(_a, ["labelProps", "description", "type", "placeholder", "size", "value", "onChange", "onBlur", "onFocus", "variant", "inputRef", "id", "defaultValue", "classnames", "attributes", "name", "maxLength", "readonly", "disabled"]);
|
|
14
|
+
var labelProps = _a.labelProps, description = _a.description, _b = _a.type, type = _b === void 0 ? 'text' : _b, placeholder = _a.placeholder, size = _a.size, value = _a.value, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, onClear = _a.onClear, _c = _a.variant, variant = _c === void 0 ? 'normal' : _c, inputRef = _a.inputRef, id = _a.id, returnType = _a.returnType, defaultValue = _a.defaultValue, classnames = _a.classnames, attributes = _a.attributes, name = _a.name, _d = _a.maxLength, maxLength = _d === void 0 ? 200 : _d, _e = _a.readonly, readonly = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.showClearBtn, showClearBtn = _g === void 0 ? false : _g, rest = tslib_1.__rest(_a, ["labelProps", "description", "type", "placeholder", "size", "value", "onChange", "onBlur", "onFocus", "onClear", "variant", "inputRef", "id", "returnType", "defaultValue", "classnames", "attributes", "name", "maxLength", "readonly", "disabled", "showClearBtn"]);
|
|
11
15
|
// Destruct props
|
|
12
|
-
var
|
|
13
|
-
var
|
|
16
|
+
var _h = (0, app_1.destructObj)(classnames), inputClass = _h.input, wrapperClass = _h.wrapper, descClass = _h.description;
|
|
17
|
+
var _j = (0, app_1.destructObj)(attributes), inputAttr = _j.input, wrapperAttr = _j.wrapper, descAttr = _j.description;
|
|
14
18
|
var isFloatingVariantEnable = variant === 'floating';
|
|
19
|
+
var checkInputType = type === 'password' || showClearBtn;
|
|
20
|
+
// Ensure a runtime default for returnType
|
|
21
|
+
var effectiveReturnType = returnType !== null && returnType !== void 0 ? returnType : 'value';
|
|
22
|
+
// State initialization.
|
|
23
|
+
var _k = (0, react_1.useState)(false), isPwdVisible = _k[0], setIsPwdVisible = _k[1];
|
|
15
24
|
/** Render the label */
|
|
16
25
|
function renderLabel() {
|
|
17
26
|
if ((0, app_1.isObjEmpty)(labelProps)) {
|
|
@@ -19,9 +28,64 @@ function TextInput(_a) {
|
|
|
19
28
|
}
|
|
20
29
|
return react_1.default.createElement(Label_1.default, tslib_1.__assign({}, labelProps));
|
|
21
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Normalizes input events (onChange, onBlur, onFocus) to either return the
|
|
33
|
+
* raw event or just the input value, based on `returnType`.
|
|
34
|
+
*/
|
|
35
|
+
var dispatchInputEvent = (0, react_1.useCallback)(function (event, handler) {
|
|
36
|
+
var _a, _b;
|
|
37
|
+
if (!handler)
|
|
38
|
+
return;
|
|
39
|
+
if (effectiveReturnType === 'value') {
|
|
40
|
+
handler((_b = (_a = event.target) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '');
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
handler(event);
|
|
44
|
+
}
|
|
45
|
+
}, [effectiveReturnType]);
|
|
46
|
+
var handleOnChangeInput = (0, react_1.useCallback)(function (event) {
|
|
47
|
+
dispatchInputEvent(event, onChange);
|
|
48
|
+
}, [dispatchInputEvent, onChange]);
|
|
49
|
+
/** Function handle onblur event, by default it returns value. */
|
|
50
|
+
var handleOnBlurInput = (0, react_1.useCallback)(function (event) {
|
|
51
|
+
dispatchInputEvent(event, onBlur);
|
|
52
|
+
}, [dispatchInputEvent, onBlur]);
|
|
53
|
+
/** Function handle onFocus event, by default it returns value. */
|
|
54
|
+
var handleOnFocusInput = (0, react_1.useCallback)(function (event) {
|
|
55
|
+
dispatchInputEvent(event, onFocus);
|
|
56
|
+
}, [dispatchInputEvent, onFocus]);
|
|
22
57
|
/** Render the input */
|
|
23
58
|
function renderInput() {
|
|
24
|
-
return (react_1.default.createElement(react_bootstrap_1.Form.Control, tslib_1.__assign({ type: type, placeholder: placeholder, value: value, onChange:
|
|
59
|
+
return (react_1.default.createElement(react_bootstrap_1.Form.Control, tslib_1.__assign({ type: isPwdVisible ? 'text' : type, placeholder: placeholder, value: value, onChange: handleOnChangeInput, onBlur: handleOnBlurInput, onFocus: handleOnFocusInput, ref: inputRef, id: id, name: name, disabled: disabled, readOnly: readonly, defaultValue: defaultValue, size: size, maxLength: maxLength, className: (0, clsx_1.default)(inputClass) }, inputAttr, rest)));
|
|
60
|
+
}
|
|
61
|
+
/** Function responsible for handling the toggle showPassword btn. */
|
|
62
|
+
function handlePwdVisibility() {
|
|
63
|
+
setIsPwdVisible(!isPwdVisible);
|
|
64
|
+
}
|
|
65
|
+
/** Function responsible for rendering toggle button when input type is password. */
|
|
66
|
+
function renderPwdBtn() {
|
|
67
|
+
if (type === 'password') {
|
|
68
|
+
return react_1.default.createElement(ToggleButton_1.default, { show: isPwdVisible, onClick: handlePwdVisibility });
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* It returns the event of the reset button.
|
|
74
|
+
* @param event button event.
|
|
75
|
+
*/
|
|
76
|
+
function handleResetEvent(event) {
|
|
77
|
+
onClear === null || onClear === void 0 ? void 0 : onClear(event);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Returns a reset button when the `clearInput` prop is enabled.
|
|
81
|
+
* The button triggers an event to clear the input field.
|
|
82
|
+
*/
|
|
83
|
+
function renderResetBtn() {
|
|
84
|
+
var shouldShowResetBtn = type !== 'password' && showClearBtn;
|
|
85
|
+
if (shouldShowResetBtn) {
|
|
86
|
+
return react_1.default.createElement(ToggleButton_1.default, { icon: (0, clsx_1.default)(cancelCircle, 'fs-16 text-body'), onClick: handleResetEvent });
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
25
89
|
}
|
|
26
90
|
/** Render the description */
|
|
27
91
|
function renderDescription() {
|
|
@@ -32,7 +96,10 @@ function TextInput(_a) {
|
|
|
32
96
|
}
|
|
33
97
|
return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(wrapperClass, { 'form-floating': isFloatingVariantEnable }) }, wrapperAttr),
|
|
34
98
|
!isFloatingVariantEnable && renderLabel(),
|
|
35
|
-
|
|
99
|
+
checkInputType ? (react_1.default.createElement("div", { className: (0, clsx_1.default)('position-relative w-100') },
|
|
100
|
+
renderInput(),
|
|
101
|
+
renderPwdBtn(),
|
|
102
|
+
renderResetBtn())) : (renderInput()),
|
|
36
103
|
isFloatingVariantEnable && renderLabel(),
|
|
37
104
|
renderDescription()));
|
|
38
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../src/components/TextInput.tsx"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../src/components/TextInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable Tooltip Component using React Bootstrap
|
|
3
|
+
* Supports multiple placements, sizes, trigger types, and content types
|
|
4
|
+
*/
|
|
5
|
+
import React, { type ReactElement } from 'react';
|
|
6
|
+
import type { Placement } from 'react-bootstrap/types';
|
|
7
|
+
export type TooltipSize = 'sm' | 'lg' | 'xl';
|
|
8
|
+
export type TooltipTrigger = 'hover' | 'click' | 'focus' | ['hover', 'focus'];
|
|
9
|
+
export type TooltipAlign = 'start' | 'center' | 'end' | 'left' | 'right';
|
|
10
|
+
interface Classnames {
|
|
11
|
+
wrapper?: string;
|
|
12
|
+
icon?: string;
|
|
13
|
+
body?: string;
|
|
14
|
+
}
|
|
15
|
+
interface Attribultes {
|
|
16
|
+
wrapper?: object;
|
|
17
|
+
icon?: object;
|
|
18
|
+
body?: object;
|
|
19
|
+
}
|
|
20
|
+
export interface TooltipProps {
|
|
21
|
+
content?: string;
|
|
22
|
+
children?: ReactElement;
|
|
23
|
+
placement?: Placement;
|
|
24
|
+
size?: TooltipSize;
|
|
25
|
+
trigger?: TooltipTrigger;
|
|
26
|
+
align?: TooltipAlign;
|
|
27
|
+
show?: boolean;
|
|
28
|
+
attributes?: Attribultes;
|
|
29
|
+
classname?: Classnames;
|
|
30
|
+
}
|
|
31
|
+
declare function Tooltip({ content, children, placement, size, trigger, align, classname, attributes, }: TooltipProps): React.JSX.Element;
|
|
32
|
+
export default Tooltip;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* Reusable Tooltip Component using React Bootstrap
|
|
6
|
+
* Supports multiple placements, sizes, trigger types, and content types
|
|
7
|
+
*/
|
|
8
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
9
|
+
var clsx_1 = require("clsx");
|
|
10
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
11
|
+
var helpers_1 = require("../helpers");
|
|
12
|
+
// Size classes
|
|
13
|
+
var sizeClasses = {
|
|
14
|
+
sm: 'tooltip-sm',
|
|
15
|
+
lg: 'tooltip-lg',
|
|
16
|
+
xl: 'tooltip-xl',
|
|
17
|
+
};
|
|
18
|
+
// Alignment classes
|
|
19
|
+
var alignClasses = {
|
|
20
|
+
start: 'text-start',
|
|
21
|
+
center: 'text-center',
|
|
22
|
+
end: 'text-end',
|
|
23
|
+
left: 'text-start',
|
|
24
|
+
right: 'text-end',
|
|
25
|
+
};
|
|
26
|
+
function Tooltip(_a) {
|
|
27
|
+
var content = _a.content, children = _a.children, _b = _a.placement, placement = _b === void 0 ? 'top' : _b, _c = _a.size, size = _c === void 0 ? 'lg' : _c, trigger = _a.trigger, _d = _a.align, align = _d === void 0 ? 'start' : _d, _e = _a.classname, classname = _e === void 0 ? undefined : _e, _f = _a.attributes, attributes = _f === void 0 ? undefined : _f;
|
|
28
|
+
var _g = (0, helpers_1.destructObj)(classname), bodyClass = _g.body, wrapperClass = _g.wrapper, iconClass = _g.icon;
|
|
29
|
+
var _h = (0, helpers_1.destructObj)(attributes), bodyAttr = _h.body, wrapperAttr = _h.wrapper, iconAttr = _h.icon;
|
|
30
|
+
var renderTooltip = function (props) { return (react_1.default.createElement(react_bootstrap_1.Tooltip, tslib_1.__assign({ id: "tooltip-".concat(placement, "-").concat(size) }, props, { className: (0, clsx_1.clsx)(sizeClasses[size], wrapperClass) }, wrapperAttr),
|
|
31
|
+
react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.clsx)('tooltip-content', alignClasses[align], bodyClass) }, bodyAttr), content))); };
|
|
32
|
+
return (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: placement, overlay: renderTooltip, trigger: trigger }, children !== null && children !== void 0 ? children : react_1.default.createElement("i", tslib_1.__assign({ className: (0, clsx_1.clsx)('bi-info-circle', iconClass) }, iconAttr))));
|
|
33
|
+
}
|
|
34
|
+
exports.default = Tooltip;
|
|
35
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip.tsx"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,wDAAgD;AAChD,6BAA2B;AAC3B,mDAAsE;AAEtE,sCAAwC;AAmCxC,eAAe;AACf,IAAM,WAAW,GAAG;IAClB,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;CACjB,CAAA;AAED,oBAAoB;AACpB,IAAM,YAAY,GAAG;IACnB,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,aAAa;IACrB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,UAAU;CAClB,CAAA;AAED,SAAS,OAAO,CAAC,EASF;QARb,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,OAAO,aAAA,EACP,aAAe,EAAf,KAAK,mBAAG,OAAO,KAAA,EACf,iBAAqB,EAArB,SAAS,mBAAG,SAAS,KAAA,EACrB,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA;IAEhB,IAAA,KAA8D,IAAA,qBAAW,EAAC,SAAS,CAAC,EAA5E,SAAS,UAAA,EAAW,YAAY,aAAA,EAAQ,SAAS,UAA2B,CAAA;IAEpF,IAAA,KAA2D,IAAA,qBAAW,EAAC,UAAU,CAAC,EAA1E,QAAQ,UAAA,EAAW,WAAW,aAAA,EAAQ,QAAQ,UAA4B,CAAA;IAExF,IAAM,aAAa,GAAG,UAAC,KAAU,IAAK,OAAA,CACpC,8BAAC,yBAAS,qBACR,EAAE,EAAE,kBAAW,SAAS,cAAI,IAAI,CAAE,IAC9B,KAAK,IACT,SAAS,EAAE,IAAA,WAAI,EAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAC5C,WAAW;QAEf,wDAAK,SAAS,EAAE,IAAA,WAAI,EAAC,iBAAiB,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAM,QAAQ,GAClF,OAAO,CACJ,CACI,CACb,EAXqC,CAWrC,CAAA;IAED,OAAO,CACL,8BAAC,gCAAc,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,IAC3E,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,sDAAG,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAgB,EAAE,SAAS,CAAC,IAAM,QAAQ,EAAI,CAC/D,CAClB,CAAA;AACH,CAAC;AACD,kBAAe,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/constants/icons.ts"],"names":[],"mappings":";;AAAA,kBAAkB;AAClB,IAAM,KAAK,GAAG;IACZ,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,gBAAgB;CAC5B,CAAA;AAED,kBAAe,KAAK,CAAA"}
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/constants/icons.ts"],"names":[],"mappings":";;AAAA,kBAAkB;AAClB,IAAM,KAAK,GAAG;IACZ,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,aAAa;CAC5B,CAAA;AAED,kBAAe,KAAK,CAAA"}
|
|
@@ -94,7 +94,7 @@ export declare function isNullOrUndefined(value: any): value is null | undefined
|
|
|
94
94
|
/**
|
|
95
95
|
* Prevents default behavior of an event.
|
|
96
96
|
*/
|
|
97
|
-
export declare function preventDefault(event: Event): void;
|
|
97
|
+
export declare function preventDefault(event: Event | React.SyntheticEvent): void;
|
|
98
98
|
/**
|
|
99
99
|
* Deep compares two objects.
|
|
100
100
|
*/
|