@widergy/energy-ui 3.28.0 → 3.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/UTBaseInputField/constants.js +26 -0
  3. package/dist/components/UTBaseInputField/index.js +39 -47
  4. package/dist/components/UTBaseInputField/theme.js +15 -4
  5. package/dist/components/UTBaseInputField/utils.js +9 -0
  6. package/dist/components/UTCheckList/index.js +12 -160
  7. package/dist/components/UTCheckList/versions/V0/index.js +174 -0
  8. package/dist/components/UTCheckList/{theme.js → versions/V0/theme.js} +2 -2
  9. package/dist/components/UTCheckList/versions/V1/README.MD +134 -0
  10. package/dist/components/UTCheckList/versions/V1/constants.js +10 -0
  11. package/dist/components/UTCheckList/versions/V1/index.js +151 -0
  12. package/dist/components/UTCheckList/versions/V1/styles.module.scss +40 -0
  13. package/dist/components/UTCheckList/versions/V1/utils.js +14 -0
  14. package/dist/components/UTCheckbox/index.js +12 -128
  15. package/dist/components/UTCheckbox/versions/V0/index.js +142 -0
  16. package/dist/components/UTCheckbox/{theme.js → versions/V0/theme.js} +1 -1
  17. package/dist/components/UTCheckbox/versions/V1/README.md +37 -0
  18. package/dist/components/UTCheckbox/versions/V1/constants.js +13 -0
  19. package/dist/components/UTCheckbox/versions/V1/index.js +93 -0
  20. package/dist/components/UTCheckbox/versions/V1/styles.module.scss +3 -0
  21. package/dist/components/UTCheckbox/versions/V1/theme.js +126 -0
  22. package/dist/components/UTFieldLabel/index.js +3 -2
  23. package/dist/components/UTLabel/constants.js +0 -2
  24. package/dist/components/UTPhoneInput/versions/V1/index.js +24 -10
  25. package/dist/components/UTSearchField/README.md +35 -0
  26. package/dist/components/UTSearchField/index.js +89 -0
  27. package/dist/components/UTSearchField/theme.js +19 -0
  28. package/dist/components/UTTextInput/versions/V1/README.md +0 -1
  29. package/dist/components/UTTextInput/versions/V1/index.js +48 -6
  30. package/dist/components/UTTouchableWithoutFeedback/index.js +19 -10
  31. package/dist/components/UTTouchableWithoutFeedback/styles.module.scss +5 -0
  32. package/dist/index.js +7 -0
  33. package/package.json +1 -1
  34. package/dist/components/UTTextInput/versions/V1/components/ActionAdornment/index.js +0 -31
  35. package/dist/components/UTTextInput/versions/V1/components/IconAdornment/constants.js +0 -8
  36. package/dist/components/UTTextInput/versions/V1/components/IconAdornment/index.js +0 -48
  37. package/dist/components/UTTextInput/versions/V1/components/IconAdornment/utils.js +0 -17
  38. package/dist/components/UTTextInput/versions/V1/components/PrefixAdornment/index.js +0 -24
  39. package/dist/components/UTTextInput/versions/V1/components/SuffixAdornment/index.js +0 -22
  40. package/dist/components/UTTextInput/versions/V1/components/TooltipAdornment/index.js +0 -26
  41. package/dist/components/UTTextInput/versions/V1/theme.js +0 -94
  42. /package/dist/components/UTCheckList/{constants.js → versions/V0/constants.js} +0 -0
  43. /package/dist/components/UTCheckList/{styles.module.scss → versions/V0/styles.module.scss} +0 -0
  44. /package/dist/components/UTCheckbox/{assets → versions/V0/assets}/checked.svg +0 -0
  45. /package/dist/components/UTCheckbox/{constants.js → versions/V0/constants.js} +0 -0
  46. /package/dist/components/UTCheckbox/{styles.module.scss → versions/V0/styles.module.scss} +0 -0
@@ -0,0 +1,134 @@
1
+ # UTCheckList
2
+
3
+ ## Description
4
+
5
+ `UTCheckList` is a customizable component that renders a list of checkboxes, allowing users to select multiple options from a provided list. It supports features like select all, indeterminate state, error display, and dynamic options. The "Select All" checkbox only affects options that are not disabled. Additionally, it allows for grouping options by category, with ungrouped options appearing first.
6
+
7
+ ## Props
8
+
9
+ | Name | Type | Default | Description |
10
+ | ----------------- | ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
11
+ | classNames | objectOf(string) | | Custom class names to apply to different elements of the checklist (`root`, `header`, `checkboxesContainer`, `item`, `selectAll`). |
12
+ | error | string | | Error message to display. |
13
+ | horizontalSpacing | string | large | Spacing between the checkbox and the title horizontally. |
14
+ | isSimple | bool | false | Simplifies the selection process to only allow single checkbox selection. |
15
+ | onChange | func.isRequired | | Function to call when the selection changes. |
16
+ | options | arrayOf(shape) | | Array of options to be displayed as checkboxes. Each option is an object with `label`, `value`, `disabled`, `checked`, and optionally `category`. |
17
+ | required | bool | false | Indicates if the checklist is required. |
18
+ | reversed | bool | false | If true, reverses the order of title and checkbox. |
19
+ | selectAllLabel | string | | Label for the "Select All" checkbox. |
20
+ | showSelectAll | bool | true | Determines whether to show the "Select All" checkbox. |
21
+ | title | string | | Title for the checklist. |
22
+ | value | arrayOf(string) | [] | Array of selected values. |
23
+ | variant | string | | Variant style for the checklist. |
24
+ | verticalSpacing | string | large | Spacing between the checkbox items vertically. |
25
+
26
+ ### Option Object
27
+
28
+ The `options` prop is an array of objects, each representing an option:
29
+
30
+ | Name | Type | Description |
31
+ | -------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
32
+ | category | string | (Optional) Category under which the option will be grouped. If not provided, the option will appear ungrouped at the top. |
33
+ | checked | bool | Indicates if the option is checked. |
34
+ | disabled | bool | Indicates if the option is disabled. |
35
+ | label | string | Label to display for the option. |
36
+ | value | string | Value of the option. |
37
+
38
+ ## Usage
39
+
40
+ ### Basic Example
41
+
42
+ ```jsx
43
+ import React from 'react';
44
+ import UTCheckList from './UTCheckList';
45
+
46
+ const options = [
47
+ { label: 'Option 1', value: '1' },
48
+ { label: 'Option 2', value: '2' },
49
+ { label: 'Option 3', value: '3', disabled: true, checked: true }
50
+ ];
51
+
52
+ const Example = () => {
53
+ const [selectedOptions, setSelectedOptions] = React.useState([]);
54
+
55
+ return (
56
+ <UTCheckList
57
+ error="Please select at least one option"
58
+ title="Select Options"
59
+ onChange={setSelectedOptions}
60
+ options={options}
61
+ required
62
+ selectAllLabel="Select All"
63
+ value={selectedOptions}
64
+ />
65
+ );
66
+ };
67
+
68
+ export default Example;
69
+ ```
70
+
71
+ ### Categorized Example
72
+
73
+ ```jsx
74
+ import React from 'react';
75
+ import UTCheckList from './UTCheckList';
76
+
77
+ const options = [
78
+ { label: 'Option 1', value: '1' },
79
+ { label: 'Option 2', value: '2', category: 'Group A' },
80
+ { label: 'Option 3', value: '3', category: 'Group B', disabled: true },
81
+ { label: 'Option 4', value: '4', category: 'Group A' }
82
+ ];
83
+
84
+ const Example = () => {
85
+ const [selectedOptions, setSelectedOptions] = React.useState([]);
86
+
87
+ return (
88
+ <UTCheckList
89
+ error="Please select at least one option"
90
+ title="Categorized CheckList"
91
+ onChange={setSelectedOptions}
92
+ options={options}
93
+ selectAllLabel="Select All"
94
+ value={selectedOptions}
95
+ />
96
+ );
97
+ };
98
+
99
+ export default Example;
100
+ ```
101
+
102
+ ### Custom Styles Example
103
+
104
+ ```jsx
105
+ import React from 'react';
106
+ import UTCheckList from './UTCheckList';
107
+
108
+ const customStyles = {
109
+ root: { padding: 10 },
110
+ checkboxesContainer: { backgroundColor: 'lightgrey' },
111
+ header: { color: 'blue' }
112
+ };
113
+
114
+ const Example = () => {
115
+ const options = [
116
+ { label: 'Option 1', value: '1' },
117
+ { label: 'Option 2', value: '2' }
118
+ ];
119
+
120
+ const [selectedOptions, setSelectedOptions] = React.useState([]);
121
+
122
+ return (
123
+ <UTCheckList
124
+ title="Custom Styled CheckList"
125
+ onChange={setSelectedOptions}
126
+ options={options}
127
+ style={customStyles}
128
+ value={selectedOptions}
129
+ />
130
+ );
131
+ };
132
+
133
+ export default Example;
134
+ ```
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SPACING = void 0;
7
+ const SPACING = exports.SPACING = {
8
+ SMALL: 'small',
9
+ LARGE: 'large'
10
+ };
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = require("prop-types");
9
+ var _utils = require("../../../UTValidation/utils");
10
+ var _constants = require("../../../UTCheckbox/versions/V1/constants");
11
+ var _UTCheckbox = _interopRequireDefault(require("../../../UTCheckbox"));
12
+ var _UTFieldLabel = _interopRequireDefault(require("../../../UTFieldLabel"));
13
+ var _UTLabel = _interopRequireDefault(require("../../../UTLabel"));
14
+ var _UTValidation = _interopRequireDefault(require("../../../UTValidation"));
15
+ var _utils2 = require("./utils");
16
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ /* eslint-disable no-unused-vars */
21
+
22
+ const UTCheckList = _ref => {
23
+ let {
24
+ classNames = {},
25
+ error,
26
+ horizontalSpacing = 'large',
27
+ isSimple = false,
28
+ onChange = () => {},
29
+ options,
30
+ required,
31
+ reversed,
32
+ selectAllLabel,
33
+ showSelectAll = true,
34
+ title,
35
+ value = null,
36
+ variant,
37
+ verticalSpacing = 'large'
38
+ } = _ref;
39
+ const reversedBasedOnVariant = (0, _utils2.getPropValueBasedOnVariant)(variant, reversed, true);
40
+ const verticalSpacingBasedOnVariant = (0, _utils2.getPropValueBasedOnVariant)(variant, verticalSpacing, _constants.SPACING.SMALL);
41
+ const smallVerticalSpacingClass = verticalSpacingBasedOnVariant === _constants.SPACING.SMALL ? _stylesModule.default.smallVerticalSpacing : '';
42
+ const validationData = (0, _react.useMemo)(() => error && (0, _utils.formatErrorToValidation)(error, {
43
+ withIcon: false
44
+ }), [error]);
45
+ (0, _react.useEffect)(() => {
46
+ if (value) {
47
+ const convertedValue = (0, _utils2.convertIfIsString)(value);
48
+ if (JSON.stringify(convertedValue) !== JSON.stringify(value)) {
49
+ onChange(convertedValue);
50
+ }
51
+ }
52
+ }, [value, onChange]);
53
+ const categorizedOptions = (0, _react.useMemo)(() => {
54
+ const optionsGrouped = options.reduce((groupedOptions, option) => {
55
+ const category = option.category || 'No Category';
56
+ if (!groupedOptions[category]) {
57
+ groupedOptions[category] = [];
58
+ }
59
+ groupedOptions[category].push(option);
60
+ return groupedOptions;
61
+ }, {
62
+ 'No Category': []
63
+ });
64
+ return Object.entries(optionsGrouped).sort((_ref2, _ref3) => {
65
+ let [categoryA] = _ref2;
66
+ let [categoryB] = _ref3;
67
+ return categoryA === 'No Category' ? -1 : categoryB === 'No Category' ? 1 : 0;
68
+ });
69
+ }, [options]);
70
+ const enabledOptions = (0, _react.useMemo)(() => options.filter(option => !option.disabled), [options]);
71
+ const areAllSelected = (0, _react.useMemo)(() => enabledOptions.every(option => value === null || value === void 0 ? void 0 : value.includes(option.value)), [enabledOptions, value]);
72
+ const isIndeterminate = (0, _react.useMemo)(() => enabledOptions.some(option => value === null || value === void 0 ? void 0 : value.includes(option.value)) && !areAllSelected, [enabledOptions, value, areAllSelected]);
73
+ const handleChange = (0, _react.useCallback)(receivedValue => {
74
+ if (isSimple) {
75
+ onChange([receivedValue]);
76
+ } else {
77
+ const newValues = !(value !== null && value !== void 0 && value.includes(receivedValue)) ? [...(value || []), receivedValue] : value.filter(elem => elem !== receivedValue);
78
+ onChange(newValues);
79
+ }
80
+ }, [value, onChange, isSimple]);
81
+ const handleCheckAll = (0, _react.useCallback)(() => {
82
+ onChange(areAllSelected ? [] : enabledOptions.map(item => item.value));
83
+ }, [areAllSelected, enabledOptions, onChange]);
84
+ return /*#__PURE__*/_react.default.createElement("div", {
85
+ className: "".concat(_stylesModule.default.container, " ").concat(smallVerticalSpacingClass, " ").concat(classNames.root)
86
+ }, /*#__PURE__*/_react.default.createElement("div", {
87
+ className: "".concat(_stylesModule.default.headerContainer, " ").concat(classNames.header)
88
+ }, title && /*#__PURE__*/_react.default.createElement(_UTFieldLabel.default, {
89
+ required: required
90
+ }, title), validationData && /*#__PURE__*/_react.default.createElement(_UTValidation.default, {
91
+ validationData: validationData
92
+ })), /*#__PURE__*/_react.default.createElement("div", {
93
+ className: "".concat(_stylesModule.default.checkboxesContainer, " ").concat(smallVerticalSpacingClass, " ").concat(variant === _constants.BUTTON_VARIANT && _stylesModule.default.buttonVariant, " ").concat(classNames.checkboxesContainer)
94
+ }, showSelectAll && !isSimple && /*#__PURE__*/_react.default.createElement(_UTCheckbox.default, {
95
+ indeterminate: isIndeterminate,
96
+ onChange: handleCheckAll,
97
+ reversed: reversedBasedOnVariant,
98
+ spacing: horizontalSpacing,
99
+ className: classNames.selectAll,
100
+ title: selectAllLabel,
101
+ value: areAllSelected,
102
+ variant: variant,
103
+ version: "V1"
104
+ }), categorizedOptions.map(_ref4 => {
105
+ let [category, categoryOptions] = _ref4;
106
+ return /*#__PURE__*/_react.default.createElement("div", {
107
+ className: "".concat(_stylesModule.default.categoryContainer, " ").concat(smallVerticalSpacingClass),
108
+ key: category
109
+ }, category !== 'No Category' && /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
110
+ className: _stylesModule.default.categoryTitle,
111
+ colorTheme: "gray",
112
+ variant: "small",
113
+ weight: "medium"
114
+ }, category.toUpperCase()), categoryOptions.map(item => /*#__PURE__*/_react.default.createElement(_UTCheckbox.default, {
115
+ classNames: classNames.item,
116
+ disabled: item.disabled,
117
+ isSimple: isSimple,
118
+ key: item.value,
119
+ onChange: () => handleChange(item.value),
120
+ reversed: reversedBasedOnVariant,
121
+ spacing: horizontalSpacing,
122
+ title: item.label,
123
+ value: (0, _utils2.isChecked)(item, value),
124
+ variant: variant,
125
+ version: "V1"
126
+ })));
127
+ })));
128
+ };
129
+ UTCheckList.propTypes = {
130
+ classNames: (0, _propTypes.objectOf)(_propTypes.string),
131
+ error: _propTypes.string,
132
+ horizontalSpacing: _propTypes.string,
133
+ isSimple: _propTypes.bool,
134
+ onChange: _propTypes.func,
135
+ options: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
136
+ checked: _propTypes.bool,
137
+ disabled: _propTypes.bool,
138
+ label: _propTypes.string,
139
+ value: _propTypes.string,
140
+ category: _propTypes.string // Nueva propiedad opcional para la categoría
141
+ })),
142
+ required: _propTypes.bool,
143
+ reversed: _propTypes.bool,
144
+ selectAllLabel: _propTypes.string,
145
+ showSelectAll: _propTypes.bool,
146
+ title: _propTypes.string,
147
+ value: (0, _propTypes.arrayOf)(_propTypes.string),
148
+ variant: _propTypes.string,
149
+ verticalSpacing: _propTypes.string
150
+ };
151
+ var _default = exports.default = UTCheckList;
@@ -0,0 +1,40 @@
1
+ $spacing-large: 16px;
2
+ $spacing-small: 8px;
3
+
4
+ .buttonVariant {
5
+ width: 100%;
6
+ }
7
+
8
+ .categoryContainer {
9
+ display: flex;
10
+ flex-direction: column;
11
+ grid-gap: $spacing-large;
12
+ }
13
+
14
+ .categoryTitle {
15
+ padding: 8px 0;
16
+ }
17
+
18
+ .checkboxesContainer {
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-self: flex-start;
22
+ grid-gap: $spacing-large;
23
+ width: 100%;
24
+ }
25
+
26
+ .container {
27
+ display: flex;
28
+ flex-direction: column;
29
+ grid-gap: $spacing-large;
30
+ }
31
+
32
+ .headerContainer {
33
+ display: flex;
34
+ flex-direction: column;
35
+ grid-gap: 8px;
36
+ }
37
+
38
+ .smallVerticalSpacing {
39
+ grid-gap: $spacing-small;
40
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isChecked = exports.getPropValueBasedOnVariant = exports.convertIfIsString = void 0;
7
+ var _lodash = require("lodash");
8
+ var _constants = require("../../../UTCheckbox/versions/V1/constants");
9
+ const isChecked = (item, inputValue) => inputValue && !!(inputValue !== null && inputValue !== void 0 && inputValue.find(elem => elem === item.value)) || item.disabled && item.checked;
10
+ exports.isChecked = isChecked;
11
+ const convertIfIsString = value => (0, _lodash.isString)(value) ? value.length === 0 ? [] : JSON.parse(value.replace(/'/g, '"')) : value;
12
+ exports.convertIfIsString = convertIfIsString;
13
+ const getPropValueBasedOnVariant = (variant, prop, defaultValue) => variant === _constants.BUTTON_VARIANT ? prop !== null && prop !== void 0 ? prop : defaultValue : prop;
14
+ exports.getPropValueBasedOnVariant = getPropValueBasedOnVariant;
@@ -4,139 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = require("prop-types");
9
- var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
10
- var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
11
- var _form = require("@widergy/web-utils/lib/form");
12
- var _energyHooks = require("@widergy/energy-hooks");
13
- var _UTTooltip = _interopRequireDefault(require("../UTTooltip"));
14
- var _formTypes = require("../../types/formTypes");
15
- var _UTLabel = _interopRequireDefault(require("../UTLabel"));
16
- var _WithTheme = _interopRequireDefault(require("../WithTheme"));
17
- var _classesUtils = require("../../utils/classesUtils");
18
- var _theme = require("./theme");
19
- var _constants = require("./constants");
20
- var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
9
+ var _V = _interopRequireDefault(require("./versions/V0"));
10
+ var _V2 = _interopRequireDefault(require("./versions/V1"));
21
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
25
- var Checked = function Checked(props) {
26
- return /*#__PURE__*/_react.default.createElement("svg", props, /*#__PURE__*/_react.default.createElement("path", {
27
- d: "M10 14Zm0 3-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9Z"
28
- }));
29
- };
30
- Checked.defaultProps = {
31
- xmlns: "http://www.w3.org/2000/svg",
32
- viewBox: "5 6.58 14 10.42"
33
- };
34
12
  const UTCheckbox = _ref => {
35
13
  let {
36
- classes: themeClasses = {},
37
- classNames,
38
- color = 'primary',
39
- checkboxDataTestId,
40
- CustomCheckedIcon = Checked,
41
- customRowLabel: CustomRowLabel,
42
- CustomUncheckedIcon = _ref2 => {
43
- let {
44
- className
45
- } = _ref2;
46
- return /*#__PURE__*/_react.default.createElement("div", {
47
- className: className
48
- });
49
- },
50
- disabled,
51
- disableRipple,
52
- input,
53
- item,
54
- label,
55
- labelDataTestId,
56
- labelProps = {},
57
- meta,
58
- onChange,
59
- showError,
60
- tooltipContent,
61
- useCustomIcons,
62
- value
14
+ version = 'V0',
15
+ ...props
63
16
  } = _ref;
64
- const [checkedRef, setChecked] = (0, _energyHooks.useMutableState)(value);
65
- const handleChange = event => {
66
- if (onChange) onChange(value);
67
- if (input !== null && input !== void 0 && input.onChange) input.onChange(event.target.checked);
68
- };
69
- (0, _react.useEffect)(() => {
70
- setChecked(value || (input === null || input === void 0 ? void 0 : input.value));
71
- }, [input === null || input === void 0 ? void 0 : input.value, value]);
72
- const classes = (0, _classesUtils.mergeClasses)(themeClasses, classNames);
73
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
74
- disabled: disabled,
75
- control: /*#__PURE__*/_react.default.createElement(_UTTooltip.default, {
76
- content: tooltipContent,
77
- stringContentClassName: _stylesModule.default.disableSelectionTooltip,
78
- tippyProps: _constants.tippyProps
79
- }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
80
- classes: {
81
- colorPrimary: classes.checkboxColorPrimary,
82
- colorSecondary: classes.checkboxColorSecondary
83
- },
84
- checkedIcon: useCustomIcons && /*#__PURE__*/_react.default.createElement(CustomCheckedIcon, {
85
- className: classes.checkedIcon
86
- }),
87
- inputProps: {
88
- 'data-testid': checkboxDataTestId
89
- },
90
- icon: useCustomIcons && /*#__PURE__*/_react.default.createElement(CustomUncheckedIcon, {
91
- className: classes.uncheckedIcon
92
- }),
93
- checked: checkedRef.current || false,
94
- onChange: handleChange,
95
- value: (input === null || input === void 0 ? void 0 : input.value) || value,
96
- color: color,
97
- disableRipple: disableRipple,
98
- disabled: disabled
99
- }))),
100
- label: CustomRowLabel ? /*#__PURE__*/_react.default.createElement(CustomRowLabel, {
101
- item: item
102
- }) : /*#__PURE__*/_react.default.createElement(_UTLabel.default, _extends({
103
- className: classes.label,
104
- dataTestId: labelDataTestId,
105
- variant: "small",
106
- withMarkdown: true
107
- }, labelProps), label),
108
- classes: classes && {
109
- root: classes.root,
110
- label: classes.label
111
- }
112
- }), showError && (0, _form.shouldShowErrors)(meta) && /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
113
- colorTheme: "error",
114
- variant: "small"
115
- }, meta.error));
17
+ const Component = {
18
+ V0: _V.default,
19
+ V1: _V2.default
20
+ }[version];
21
+ return /*#__PURE__*/_react.default.createElement(Component, props);
116
22
  };
117
23
  UTCheckbox.propTypes = {
118
- classes: (0, _propTypes.shape)({
119
- checkboxColorPrimary: _propTypes.string,
120
- checkboxColorSecondary: _propTypes.string
121
- }),
122
- classNames: (0, _propTypes.objectOf)(_propTypes.string),
123
- color: _propTypes.string,
124
- checkboxDataTestId: _propTypes.string,
125
- CustomCheckedIcon: _propTypes.node,
126
- customRowLabel: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.element, _propTypes.string]),
127
- CustomUncheckedIcon: _propTypes.node,
128
- disabled: _propTypes.bool,
129
- disableRipple: _propTypes.bool,
130
- input: _formTypes.inputPropTypes,
131
- item: (0, _propTypes.oneOfType)([_propTypes.string, _propTypes.object]),
132
- label: (0, _propTypes.oneOfType)([_propTypes.number, _propTypes.string]),
133
- labelDataTestId: _propTypes.string,
134
- labelProps: _propTypes.object,
135
- meta: _formTypes.metaPropTypes,
136
- onChange: _propTypes.func,
137
- showError: _propTypes.bool,
138
- tooltipContent: _propTypes.element,
139
- useCustomIcons: _propTypes.bool,
140
- value: (0, _propTypes.oneOfType)([_propTypes.bool, _propTypes.string])
24
+ version: _propTypes.string
141
25
  };
142
- var _default = exports.default = (0, _WithTheme.default)(_theme.retrieveStyle, _theme.retrieveMuiTheme)(UTCheckbox);
26
+ var _default = exports.default = UTCheckbox;
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = require("prop-types");
9
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
10
+ var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
11
+ var _form = require("@widergy/web-utils/lib/form");
12
+ var _energyHooks = require("@widergy/energy-hooks");
13
+ var _formTypes = require("../../../../types/formTypes");
14
+ var _classesUtils = require("../../../../utils/classesUtils");
15
+ var _UTLabel = _interopRequireDefault(require("../../../UTLabel"));
16
+ var _UTTooltip = _interopRequireDefault(require("../../../UTTooltip"));
17
+ var _WithTheme = _interopRequireDefault(require("../../../WithTheme"));
18
+ var _theme = require("./theme");
19
+ var _constants = require("./constants");
20
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
25
+ var Checked = function Checked(props) {
26
+ return /*#__PURE__*/_react.default.createElement("svg", props, /*#__PURE__*/_react.default.createElement("path", {
27
+ d: "M10 14Zm0 3-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9Z"
28
+ }));
29
+ };
30
+ Checked.defaultProps = {
31
+ xmlns: "http://www.w3.org/2000/svg",
32
+ viewBox: "5 6.58 14 10.42"
33
+ };
34
+ const UTCheckbox = _ref => {
35
+ let {
36
+ classes: themeClasses = {},
37
+ classNames,
38
+ color = 'primary',
39
+ checkboxDataTestId,
40
+ CustomCheckedIcon = Checked,
41
+ customRowLabel: CustomRowLabel,
42
+ CustomUncheckedIcon = _ref2 => {
43
+ let {
44
+ className
45
+ } = _ref2;
46
+ return /*#__PURE__*/_react.default.createElement("div", {
47
+ className: className
48
+ });
49
+ },
50
+ disabled,
51
+ disableRipple,
52
+ input,
53
+ item,
54
+ label,
55
+ labelDataTestId,
56
+ labelProps = {},
57
+ meta,
58
+ onChange,
59
+ showError,
60
+ tooltipContent,
61
+ useCustomIcons,
62
+ value
63
+ } = _ref;
64
+ const [checkedRef, setChecked] = (0, _energyHooks.useMutableState)(value);
65
+ const handleChange = event => {
66
+ if (onChange) onChange(value);
67
+ if (input !== null && input !== void 0 && input.onChange) input.onChange(event.target.checked);
68
+ };
69
+ (0, _react.useEffect)(() => {
70
+ setChecked(value || (input === null || input === void 0 ? void 0 : input.value));
71
+ }, [input === null || input === void 0 ? void 0 : input.value, value]);
72
+ const classes = (0, _classesUtils.mergeClasses)(themeClasses, classNames);
73
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
74
+ disabled: disabled,
75
+ control: /*#__PURE__*/_react.default.createElement(_UTTooltip.default, {
76
+ content: tooltipContent,
77
+ stringContentClassName: _stylesModule.default.disableSelectionTooltip,
78
+ tippyProps: _constants.tippyProps
79
+ }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
80
+ classes: {
81
+ colorPrimary: classes.checkboxColorPrimary,
82
+ colorSecondary: classes.checkboxColorSecondary
83
+ },
84
+ checkedIcon: useCustomIcons && /*#__PURE__*/_react.default.createElement(CustomCheckedIcon, {
85
+ className: classes.checkedIcon
86
+ }),
87
+ inputProps: {
88
+ 'data-testid': checkboxDataTestId
89
+ },
90
+ icon: useCustomIcons && /*#__PURE__*/_react.default.createElement(CustomUncheckedIcon, {
91
+ className: classes.uncheckedIcon
92
+ }),
93
+ checked: checkedRef.current || false,
94
+ onChange: handleChange,
95
+ value: (input === null || input === void 0 ? void 0 : input.value) || value,
96
+ color: color,
97
+ disableRipple: disableRipple,
98
+ disabled: disabled
99
+ }))),
100
+ label: CustomRowLabel ? /*#__PURE__*/_react.default.createElement(CustomRowLabel, {
101
+ item: item
102
+ }) : /*#__PURE__*/_react.default.createElement(_UTLabel.default, _extends({
103
+ className: classes.label,
104
+ dataTestId: labelDataTestId,
105
+ variant: "small",
106
+ withMarkdown: true
107
+ }, labelProps), label),
108
+ classes: classes && {
109
+ root: classes.root,
110
+ label: classes.label
111
+ }
112
+ }), showError && (0, _form.shouldShowErrors)(meta) && /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
113
+ colorTheme: "error",
114
+ variant: "small"
115
+ }, meta.error));
116
+ };
117
+ UTCheckbox.propTypes = {
118
+ classes: (0, _propTypes.shape)({
119
+ checkboxColorPrimary: _propTypes.string,
120
+ checkboxColorSecondary: _propTypes.string
121
+ }),
122
+ classNames: (0, _propTypes.objectOf)(_propTypes.string),
123
+ color: _propTypes.string,
124
+ checkboxDataTestId: _propTypes.string,
125
+ CustomCheckedIcon: _propTypes.node,
126
+ customRowLabel: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.element, _propTypes.string]),
127
+ CustomUncheckedIcon: _propTypes.node,
128
+ disabled: _propTypes.bool,
129
+ disableRipple: _propTypes.bool,
130
+ input: _formTypes.inputPropTypes,
131
+ item: (0, _propTypes.oneOfType)([_propTypes.string, _propTypes.object]),
132
+ label: (0, _propTypes.oneOfType)([_propTypes.number, _propTypes.string]),
133
+ labelDataTestId: _propTypes.string,
134
+ labelProps: _propTypes.object,
135
+ meta: _formTypes.metaPropTypes,
136
+ onChange: _propTypes.func,
137
+ showError: _propTypes.bool,
138
+ tooltipContent: _propTypes.element,
139
+ useCustomIcons: _propTypes.bool,
140
+ value: (0, _propTypes.oneOfType)([_propTypes.bool, _propTypes.string])
141
+ };
142
+ var _default = exports.default = (0, _WithTheme.default)(_theme.retrieveStyle, _theme.retrieveMuiTheme)(UTCheckbox);
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.retrieveStyle = exports.retrieveMuiTheme = void 0;
7
7
  var _seamlessImmutable = require("seamless-immutable");
8
8
  var _styles = require("@material-ui/core/styles");
9
- var _colorsModule = _interopRequireDefault(require("../../scss/variables/colors.module.scss"));
9
+ var _colorsModule = _interopRequireDefault(require("../../../../scss/variables/colors.module.scss"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  const retrieveStyle = _ref => {
12
12
  let {