@widergy/energy-ui 3.155.0 → 3.156.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 (23) hide show
  1. package/CHANGELOG.md +11 -6
  2. package/dist/components/UTDatePicker/index.js +12 -198
  3. package/dist/components/UTDatePicker/versions/V0/assets/calendar.svg +14 -0
  4. package/dist/components/UTDatePicker/{components → versions/V0/components}/Day/index.js +1 -1
  5. package/dist/components/UTDatePicker/versions/V0/index.js +213 -0
  6. package/dist/components/UTDatePicker/{theme.js → versions/V0/theme.js} +2 -2
  7. package/dist/components/UTDatePicker/versions/V1/README.md +89 -0
  8. package/dist/components/UTDatePicker/versions/V1/components/Calendar/index.js +97 -0
  9. package/dist/components/UTDatePicker/versions/V1/components/Day/index.js +46 -0
  10. package/dist/components/UTDatePicker/versions/V1/constants.js +16 -0
  11. package/dist/components/UTDatePicker/versions/V1/index.js +273 -0
  12. package/dist/components/UTDatePicker/versions/V1/stories/UTDatePickerV1.mdx +24 -0
  13. package/dist/components/UTDatePicker/versions/V1/stories/UTDatePickerV1.stories.js +249 -0
  14. package/dist/components/UTDatePicker/versions/V1/stories/storiesConstants.js +7 -0
  15. package/dist/components/UTDatePicker/versions/V1/styles.module.scss +68 -0
  16. package/dist/components/UTDatePicker/versions/V1/utils.js +41 -0
  17. package/dist/constants/testIds.js +9 -0
  18. package/dist/utils/hooks/useCSSVariables/constants.js +17 -1
  19. package/package.json +1 -1
  20. /package/dist/components/UTDatePicker/{components → versions/V0/components}/Day/constants.js +0 -0
  21. /package/dist/components/UTDatePicker/{constants.js → versions/V0/constants.js} +0 -0
  22. /package/dist/components/UTDatePicker/{types.js → versions/V0/types.js} +0 -0
  23. /package/dist/components/UTDatePicker/{utils.js → versions/V0/utils.js} +0 -0
@@ -0,0 +1,97 @@
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 _dayjs = _interopRequireDefault(require("dayjs"));
9
+ require("dayjs/locale/es");
10
+ var _propTypes = require("prop-types");
11
+ var _testIds = require("../../../../../../constants/testIds");
12
+ var _UTButton = _interopRequireDefault(require("../../../../../UTButton"));
13
+ var _UTLabel = _interopRequireDefault(require("../../../../../UTLabel"));
14
+ var _Day = _interopRequireDefault(require("../Day"));
15
+ var _constants = require("../../constants");
16
+ var _stylesModule = _interopRequireDefault(require("../../styles.module.scss"));
17
+ var _utils = require("../../utils");
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
+ const {
21
+ UTDatePickerV1TestID
22
+ } = _testIds.TEST_IDS;
23
+ const Calendar = _ref => {
24
+ let {
25
+ maxDate,
26
+ minDate,
27
+ onDaySelect,
28
+ pickedDate
29
+ } = _ref;
30
+ const [currentMonth, setCurrentMonth] = (0, _react.useState)(pickedDate || (0, _dayjs.default)());
31
+ (0, _react.useEffect)(() => {
32
+ if (pickedDate !== null && pickedDate !== void 0 && pickedDate.isValid()) setCurrentMonth(pickedDate);
33
+ }, [pickedDate]);
34
+ const weeks = (0, _utils.getWeeks)(currentMonth);
35
+ const handlePrevMonth = () => setCurrentMonth(prev => prev.subtract(1, 'month'));
36
+ const handleNextMonth = () => setCurrentMonth(prev => prev.add(1, 'month'));
37
+ const isDisabled = date => {
38
+ if (minDate && date.isBefore((0, _dayjs.default)(minDate, _constants.OUTPUT_LABEL_MASK), 'day')) return true;
39
+ if (maxDate && date.isAfter((0, _dayjs.default)(maxDate, _constants.OUTPUT_LABEL_MASK), 'day')) return true;
40
+ return false;
41
+ };
42
+ return /*#__PURE__*/_react.default.createElement("div", {
43
+ className: _stylesModule.default.calendarContainer,
44
+ "data-testid": UTDatePickerV1TestID.calendar
45
+ }, /*#__PURE__*/_react.default.createElement("div", {
46
+ className: _stylesModule.default.nav
47
+ }, /*#__PURE__*/_react.default.createElement(_UTButton.default, {
48
+ colorTheme: "secondary",
49
+ dataTestId: UTDatePickerV1TestID.calendarPrevBtn,
50
+ Icon: "IconChevronLeft",
51
+ onClick: handlePrevMonth,
52
+ size: "small",
53
+ variant: "text"
54
+ }), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
55
+ align: "center",
56
+ className: _stylesModule.default.navLabel,
57
+ dataTestId: UTDatePickerV1TestID.calendarMonthYear,
58
+ variant: "body",
59
+ weight: "medium"
60
+ }, currentMonth.locale('es').format(_constants.MONTH_YEAR_FORMAT)), /*#__PURE__*/_react.default.createElement(_UTButton.default, {
61
+ colorTheme: "secondary",
62
+ dataTestId: UTDatePickerV1TestID.calendarNextBtn,
63
+ Icon: "IconChevronRight",
64
+ onClick: handleNextMonth,
65
+ size: "small",
66
+ variant: "text"
67
+ })), /*#__PURE__*/_react.default.createElement("div", {
68
+ className: _stylesModule.default.month
69
+ }, /*#__PURE__*/_react.default.createElement("div", {
70
+ className: _stylesModule.default.week
71
+ }, _constants.WEEKDAYS_LABELS.map(label => /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
72
+ className: "".concat(_stylesModule.default.dayCell, " ").concat(_stylesModule.default.dayHeader),
73
+ key: label,
74
+ variant: "body",
75
+ weight: "medium"
76
+ }, label))), weeks.map(week => /*#__PURE__*/_react.default.createElement("div", {
77
+ className: _stylesModule.default.week,
78
+ key: week[0].format('YYYY-MM-DD')
79
+ }, week.map(date => {
80
+ const dayInCurrentMonth = date.month() === currentMonth.month();
81
+ return /*#__PURE__*/_react.default.createElement(_Day.default, {
82
+ date: date,
83
+ dayInCurrentMonth: dayInCurrentMonth,
84
+ isDisabled: isDisabled(date),
85
+ key: date.format('YYYY-MM-DD'),
86
+ onClick: onDaySelect,
87
+ pickedDate: pickedDate
88
+ });
89
+ })))));
90
+ };
91
+ Calendar.propTypes = {
92
+ maxDate: _propTypes.object,
93
+ minDate: _propTypes.object,
94
+ onDaySelect: _propTypes.func,
95
+ pickedDate: _propTypes.object
96
+ };
97
+ var _default = exports.default = Calendar;
@@ -0,0 +1,46 @@
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 _dayjs = _interopRequireDefault(require("dayjs"));
9
+ var _propTypes = require("prop-types");
10
+ var _UTButton = _interopRequireDefault(require("../../../../../UTButton"));
11
+ var _utils = require("../../utils");
12
+ var _constants = require("../../constants");
13
+ var _stylesModule = _interopRequireDefault(require("../../styles.module.scss"));
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ const Day = _ref => {
17
+ let {
18
+ date,
19
+ dayInCurrentMonth,
20
+ isDisabled,
21
+ onClick,
22
+ pickedDate
23
+ } = _ref;
24
+ const selected = (0, _utils.isSelected)(date, pickedDate);
25
+ const rootClass = [_stylesModule.default.dayCell, selected && _stylesModule.default.daySelected, !dayInCurrentMonth && _stylesModule.default.otherMonthDay].filter(Boolean).join(' ');
26
+ return /*#__PURE__*/_react.default.createElement(_UTButton.default, {
27
+ classNames: {
28
+ root: rootClass
29
+ },
30
+ colorTheme: selected ? 'negative' : undefined,
31
+ disabled: isDisabled && dayInCurrentMonth,
32
+ onClick: () => {
33
+ if (!isDisabled) onClick(date);
34
+ },
35
+ size: "medium",
36
+ variant: "text"
37
+ }, (0, _dayjs.default)(date).format(_constants.DAY_NUMBER_FORMAT));
38
+ };
39
+ Day.propTypes = {
40
+ date: _propTypes.object,
41
+ dayInCurrentMonth: _propTypes.bool,
42
+ isDisabled: _propTypes.bool,
43
+ onClick: _propTypes.func,
44
+ pickedDate: _propTypes.object
45
+ };
46
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(Day);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WEEKDAYS_LABELS = exports.TYPING_ERROR_MESSAGE = exports.OUTPUT_LABEL_MASK = exports.MONTH_YEAR_FORMAT = exports.DEFAULT_PROPS = exports.DEFAULT_PLACEHOLDER = exports.DAY_NUMBER_FORMAT = void 0;
7
+ const OUTPUT_LABEL_MASK = exports.OUTPUT_LABEL_MASK = 'DD/MM/YYYY';
8
+ const WEEKDAYS_LABELS = exports.WEEKDAYS_LABELS = ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'];
9
+ const MONTH_YEAR_FORMAT = exports.MONTH_YEAR_FORMAT = 'MMMM YYYY';
10
+ const DAY_NUMBER_FORMAT = exports.DAY_NUMBER_FORMAT = 'DD';
11
+ const DEFAULT_PLACEHOLDER = exports.DEFAULT_PLACEHOLDER = 'DD/MM/AAAA';
12
+ const TYPING_ERROR_MESSAGE = exports.TYPING_ERROR_MESSAGE = 'Fecha inválida';
13
+ const DEFAULT_PROPS = exports.DEFAULT_PROPS = {
14
+ variant: 'select',
15
+ size: 'sm'
16
+ };
@@ -0,0 +1,273 @@
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 _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
9
+ var _dayjs = _interopRequireDefault(require("dayjs"));
10
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
11
+ var _propTypes = require("prop-types");
12
+ var _UTBaseInputField = _interopRequireDefault(require("../../../UTBaseInputField"));
13
+ var _UTButton = _interopRequireDefault(require("../../../UTButton"));
14
+ var _UTFieldLabel = _interopRequireDefault(require("../../../UTFieldLabel"));
15
+ var _UTLabel = _interopRequireDefault(require("../../../UTLabel"));
16
+ var _UTValidation = _interopRequireDefault(require("../../../UTValidation"));
17
+ var _constants = require("../../../UTBaseInputField/constants");
18
+ var _testIds = require("../../../../constants/testIds");
19
+ var _Calendar = _interopRequireDefault(require("./components/Calendar"));
20
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
21
+ var _constants2 = require("./constants");
22
+ var _utils = require("./utils");
23
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
+ 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); }
26
+ _dayjs.default.extend(_customParseFormat.default);
27
+ const {
28
+ UTDatePickerV1TestID
29
+ } = _testIds.TEST_IDS;
30
+ const CALENDAR_PAPER_PROPS = {
31
+ onMouseDown: e => e.preventDefault()
32
+ };
33
+ const UTDatePicker = _ref => {
34
+ let {
35
+ classNames = {},
36
+ CustomIcon,
37
+ disabled,
38
+ error = '',
39
+ helpText,
40
+ onChange = () => {},
41
+ placeholder,
42
+ popoverProps,
43
+ range,
44
+ readOnly = false,
45
+ required,
46
+ size = _constants2.DEFAULT_PROPS.size,
47
+ title,
48
+ value = '',
49
+ variant = _constants2.DEFAULT_PROPS.variant
50
+ } = _ref;
51
+ const {
52
+ maxDate,
53
+ minDate
54
+ } = range || {};
55
+ const [pickedDate, setPickedDate] = (0, _react.useState)(null);
56
+ const [isTyping, setIsTyping] = (0, _react.useState)(false);
57
+ const [typedValue, setTypedValue] = (0, _react.useState)('');
58
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
59
+ const [typingError, setTypingError] = (0, _react.useState)(false);
60
+ const inputContainerRef = (0, _react.useRef)(null);
61
+ const inputRef = (0, _react.useRef)(null);
62
+ (0, _react.useEffect)(() => {
63
+ setIsTyping(false);
64
+ setTypedValue('');
65
+ setTypingError(false);
66
+ if (!value && pickedDate !== null && pickedDate !== void 0 && pickedDate.isValid()) setPickedDate(null);else if ((0, _utils.dateMatchesFormat)(value, _constants2.OUTPUT_LABEL_MASK)) setPickedDate((0, _dayjs.default)(value, _constants2.OUTPUT_LABEL_MASK));else setPickedDate(null);
67
+ }, [value]);
68
+ const autoFormatDate = val => {
69
+ const digits = val.replace(/\D/g, '').slice(0, 8);
70
+ if (digits.length <= 2) return digits;
71
+ if (digits.length <= 4) return "".concat(digits.slice(0, 2), "/").concat(digits.slice(2));
72
+ return "".concat(digits.slice(0, 2), "/").concat(digits.slice(2, 4), "/").concat(digits.slice(4));
73
+ };
74
+ const openCalendar = () => {
75
+ var _inputRef$current;
76
+ if (disabled || readOnly) return;
77
+ setIsOpen(true);
78
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
79
+ };
80
+ const handleClose = () => {
81
+ setIsOpen(false);
82
+ setTypingError(false);
83
+ if (!isTyping) return;
84
+ setIsTyping(false);
85
+ setTypedValue('');
86
+ if (value && (0, _utils.dateMatchesFormat)(value, _constants2.OUTPUT_LABEL_MASK)) {
87
+ setPickedDate((0, _dayjs.default)(value, _constants2.OUTPUT_LABEL_MASK));
88
+ } else {
89
+ setPickedDate(null);
90
+ }
91
+ };
92
+ const handleDaySelect = date => {
93
+ const finalDate = (0, _utils.getFinalDate)({
94
+ date,
95
+ maxDate,
96
+ minDate
97
+ });
98
+ setPickedDate(finalDate);
99
+ setIsTyping(false);
100
+ setTypedValue('');
101
+ setTypingError(false);
102
+ if (finalDate.isValid()) onChange(finalDate.format(_constants2.OUTPUT_LABEL_MASK));else onChange('');
103
+ setIsOpen(false);
104
+ };
105
+ const handleClear = e => {
106
+ e.stopPropagation();
107
+ setPickedDate(null);
108
+ setIsTyping(false);
109
+ setTypedValue('');
110
+ setTypingError(false);
111
+ onChange('');
112
+ };
113
+ const handleTextChange = e => {
114
+ var _e$nativeEvent$data, _e$nativeEvent;
115
+ const raw = isTyping ? e.target.value : (_e$nativeEvent$data = (_e$nativeEvent = e.nativeEvent) === null || _e$nativeEvent === void 0 ? void 0 : _e$nativeEvent.data) !== null && _e$nativeEvent$data !== void 0 ? _e$nativeEvent$data : '';
116
+ const formatted = autoFormatDate(raw);
117
+ setTypedValue(formatted);
118
+ setIsTyping(true);
119
+ const allDigitsEntered = formatted.replace(/\D/g, '').length === 8;
120
+ if (allDigitsEntered) {
121
+ const isValid = (0, _utils.dateMatchesFormat)(formatted, _constants2.OUTPUT_LABEL_MASK) && (0, _dayjs.default)(formatted, _constants2.OUTPUT_LABEL_MASK).isValid();
122
+ setTypingError(!isValid);
123
+ if (isValid) setPickedDate((0, _dayjs.default)(formatted, _constants2.OUTPUT_LABEL_MASK));
124
+ } else {
125
+ setTypingError(false);
126
+ }
127
+ };
128
+ const handleTextBlur = e => {
129
+ var _inputContainerRef$cu;
130
+ if ((_inputContainerRef$cu = inputContainerRef.current) !== null && _inputContainerRef$cu !== void 0 && _inputContainerRef$cu.contains(e.relatedTarget)) return;
131
+ setIsOpen(false);
132
+ setTypingError(false);
133
+ if (!isTyping) return;
134
+ setIsTyping(false);
135
+ setTypedValue('');
136
+ if (!typedValue) {
137
+ setPickedDate(null);
138
+ onChange('');
139
+ return;
140
+ }
141
+ if ((0, _utils.dateMatchesFormat)(typedValue, _constants2.OUTPUT_LABEL_MASK)) {
142
+ const parsed = (0, _dayjs.default)(typedValue, _constants2.OUTPUT_LABEL_MASK);
143
+ if (parsed.isValid()) {
144
+ const finalDate = (0, _utils.getFinalDate)({
145
+ date: parsed,
146
+ maxDate,
147
+ minDate
148
+ });
149
+ setPickedDate(finalDate);
150
+ onChange(finalDate.format(_constants2.OUTPUT_LABEL_MASK));
151
+ return;
152
+ }
153
+ }
154
+ setPickedDate(null);
155
+ onChange('');
156
+ };
157
+ const displayValue = isTyping ? typedValue : pickedDate !== null && pickedDate !== void 0 && pickedDate.isValid() ? pickedDate.format(_constants2.OUTPUT_LABEL_MASK) : '';
158
+ const hasError = !!error || typingError;
159
+ const hasValue = pickedDate === null || pickedDate === void 0 ? void 0 : pickedDate.isValid();
160
+ const displayPlaceholder = placeholder || _constants2.DEFAULT_PLACEHOLDER;
161
+ const showLeftAlertIcon = hasError && !disabled;
162
+ const showClearButton = (hasValue || isTyping) && !disabled && !readOnly;
163
+ const showCalendarIcon = !readOnly && !disabled;
164
+ const errorMessage = error || (typingError ? _constants2.TYPING_ERROR_MESSAGE : '');
165
+ const isTransparent = variant === 'picker';
166
+ const leftAdornments = showLeftAlertIcon ? [{
167
+ name: _constants.COMPONENT_KEYS.ICON,
168
+ props: {
169
+ showOnlyOnError: true
170
+ }
171
+ }] : [];
172
+ const xIconProps = {
173
+ colorTheme: 'dark',
174
+ Icon: 'IconX'
175
+ };
176
+ const calendarIconProps = {
177
+ colorTheme: hasError ? 'error' : isOpen ? 'primary' : 'gray',
178
+ Icon: CustomIcon || 'IconCalendarEvent'
179
+ };
180
+ const endAdornment = showCalendarIcon ? /*#__PURE__*/_react.default.createElement("div", {
181
+ className: _stylesModule.default.endAdornments
182
+ }, /*#__PURE__*/_react.default.createElement(_UTButton.default, _extends({}, showClearButton ? xIconProps : calendarIconProps, {
183
+ onClick: showClearButton ? handleClear : openCalendar,
184
+ size: "small",
185
+ variant: "text"
186
+ }))) : undefined;
187
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
188
+ className: _stylesModule.default.root,
189
+ "data-testid": UTDatePickerV1TestID.root
190
+ }, title && /*#__PURE__*/_react.default.createElement(_UTFieldLabel.default, {
191
+ className: classNames === null || classNames === void 0 ? void 0 : classNames.upperTitle,
192
+ required: required,
193
+ withMarkdown: true
194
+ }, title), /*#__PURE__*/_react.default.createElement("div", {
195
+ ref: inputContainerRef
196
+ }, /*#__PURE__*/_react.default.createElement(_UTBaseInputField.default, {
197
+ alwaysShowPlaceholder: true,
198
+ classNames: classNames,
199
+ dataTestId: UTDatePickerV1TestID.input,
200
+ inputRef: inputRef,
201
+ disabled: disabled,
202
+ error: hasError,
203
+ readOnly: readOnly,
204
+ inputSize: size === 'sm' ? 'small' : undefined,
205
+ variant: isTransparent ? 'transparent' : undefined,
206
+ leftAdornments: leftAdornments,
207
+ maxLength: 10,
208
+ muiProps: {
209
+ InputProps: {
210
+ endAdornment
211
+ },
212
+ onChange: handleTextChange
213
+ },
214
+ onBlur: handleTextBlur,
215
+ onFocus: openCalendar,
216
+ placeholder: displayPlaceholder,
217
+ value: displayValue
218
+ })), helpText && /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
219
+ colorTheme: "gray",
220
+ variant: "small",
221
+ withMarkdown: true
222
+ }, helpText), variant === 'select' && errorMessage && /*#__PURE__*/_react.default.createElement(_UTValidation.default, {
223
+ dataTestId: UTDatePickerV1TestID.errorMessage,
224
+ validationData: [{
225
+ items: [{
226
+ status: 'error',
227
+ text: errorMessage
228
+ }]
229
+ }]
230
+ })), /*#__PURE__*/_react.default.createElement(_Popover.default, _extends({
231
+ anchorEl: inputContainerRef.current,
232
+ anchorOrigin: {
233
+ horizontal: 'left',
234
+ vertical: 'bottom'
235
+ },
236
+ disableAutoFocus: true,
237
+ disableEnforceFocus: true,
238
+ disableRestoreFocus: true,
239
+ onClose: handleClose,
240
+ open: isOpen,
241
+ PaperProps: CALENDAR_PAPER_PROPS,
242
+ transformOrigin: {
243
+ horizontal: 'left',
244
+ vertical: 'top'
245
+ }
246
+ }, popoverProps), /*#__PURE__*/_react.default.createElement(_Calendar.default, {
247
+ maxDate: maxDate,
248
+ minDate: minDate,
249
+ onDaySelect: handleDaySelect,
250
+ pickedDate: pickedDate
251
+ })));
252
+ };
253
+ UTDatePicker.propTypes = {
254
+ classNames: _propTypes.object,
255
+ CustomIcon: _propTypes.elementType,
256
+ disabled: _propTypes.bool,
257
+ error: _propTypes.string,
258
+ helpText: _propTypes.string,
259
+ onChange: _propTypes.func,
260
+ placeholder: _propTypes.string,
261
+ popoverProps: _propTypes.object,
262
+ range: (0, _propTypes.shape)({
263
+ maxDate: _propTypes.string,
264
+ minDate: _propTypes.string
265
+ }),
266
+ readOnly: _propTypes.bool,
267
+ required: _propTypes.bool,
268
+ size: _propTypes.string,
269
+ title: _propTypes.string,
270
+ value: _propTypes.string,
271
+ variant: (0, _propTypes.oneOf)(['select', 'picker'])
272
+ };
273
+ var _default = exports.default = UTDatePicker;
@@ -0,0 +1,24 @@
1
+ import { Canvas, Meta, Story } from '@storybook/blocks';
2
+ import * as UTDatePickerV1Stories from './UTDatePickerV1.stories';
3
+
4
+ <Meta of={UTDatePickerV1Stories} />
5
+
6
+ # UTDatePicker V1
7
+
8
+ Selector de fecha con input custom y calendario popup. Implementa 5 estados visuales: **default**, **selected**, **focus**, **error** y **readOnly**.
9
+
10
+ ## Estados visuales
11
+
12
+ <Canvas of={UTDatePickerV1Stories.Default} />
13
+ <Canvas of={UTDatePickerV1Stories.Selected} />
14
+ <Canvas of={UTDatePickerV1Stories.Error} />
15
+ <Canvas of={UTDatePickerV1Stories.ReadOnly} />
16
+ <Canvas of={UTDatePickerV1Stories.Disabled} />
17
+
18
+ ## Con rango de fechas
19
+
20
+ <Canvas of={UTDatePickerV1Stories.WithRange} />
21
+
22
+ ## Con texto de ayuda
23
+
24
+ <Canvas of={UTDatePickerV1Stories.WithHelpText} />