@bigbinary/neetoui 7.0.2 → 7.0.3

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 (59) hide show
  1. package/dist/ColorPicker.js +1 -1198
  2. package/dist/ColorPicker.js.map +1 -1
  3. package/dist/DatePicker.js +81 -297
  4. package/dist/DatePicker.js.map +1 -1
  5. package/dist/DateTimePicker.js +75 -159
  6. package/dist/DateTimePicker.js.map +1 -1
  7. package/dist/HeaderCellMenu-810f0594.js +134 -0
  8. package/dist/HeaderCellMenu-810f0594.js.map +1 -0
  9. package/dist/Table.js +4 -128
  10. package/dist/Table.js.map +1 -1
  11. package/dist/Textarea-e836f83e.js +163 -0
  12. package/dist/Textarea-e836f83e.js.map +1 -0
  13. package/dist/Textarea.js +10 -146
  14. package/dist/Textarea.js.map +1 -1
  15. package/dist/TimePicker.js +80 -174
  16. package/dist/TimePicker.js.map +1 -1
  17. package/dist/cjs/ColorPicker.js +4 -1201
  18. package/dist/cjs/ColorPicker.js.map +1 -1
  19. package/dist/cjs/DatePicker.js +82 -305
  20. package/dist/cjs/DatePicker.js.map +1 -1
  21. package/dist/cjs/DateTimePicker.js +76 -166
  22. package/dist/cjs/DateTimePicker.js.map +1 -1
  23. package/dist/cjs/HeaderCellMenu-1b56b4e1.js +142 -0
  24. package/dist/cjs/HeaderCellMenu-1b56b4e1.js.map +1 -0
  25. package/dist/cjs/Table.js +10 -134
  26. package/dist/cjs/Table.js.map +1 -1
  27. package/dist/cjs/Textarea-2711696e.js +175 -0
  28. package/dist/cjs/Textarea-2711696e.js.map +1 -0
  29. package/dist/cjs/Textarea.js +11 -152
  30. package/dist/cjs/Textarea.js.map +1 -1
  31. package/dist/cjs/TimePicker.js +81 -181
  32. package/dist/cjs/TimePicker.js.map +1 -1
  33. package/dist/cjs/formik/Textarea.js +2 -3
  34. package/dist/cjs/formik/Textarea.js.map +1 -1
  35. package/dist/cjs/formik/index.js +1 -2
  36. package/dist/cjs/formik/index.js.map +1 -1
  37. package/dist/cjs/index-0d54eb09.js +646 -0
  38. package/dist/cjs/index-0d54eb09.js.map +1 -0
  39. package/dist/cjs/index.js +24 -25
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/tinycolor-b1e9a7b2.js +1202 -0
  42. package/dist/cjs/tinycolor-b1e9a7b2.js.map +1 -0
  43. package/dist/formik/Textarea.js +1 -2
  44. package/dist/formik/Textarea.js.map +1 -1
  45. package/dist/formik/index.js +1 -2
  46. package/dist/formik/index.js.map +1 -1
  47. package/dist/index-4a662f27.js +629 -0
  48. package/dist/index-4a662f27.js.map +1 -0
  49. package/dist/index.js +20 -21
  50. package/dist/index.js.map +1 -1
  51. package/dist/tinycolor-282c618c.js +1200 -0
  52. package/dist/tinycolor-282c618c.js.map +1 -0
  53. package/package.json +1 -1
  54. package/types/DatePicker.d.ts +1 -0
  55. package/types/TimePicker.d.ts +1 -0
  56. package/dist/cjs/useSyncedRef-9c3dcd03.js +0 -19
  57. package/dist/cjs/useSyncedRef-9c3dcd03.js.map +0 -1
  58. package/dist/useSyncedRef-226a3dbc.js +0 -17
  59. package/dist/useSyncedRef-226a3dbc.js.map +0 -1
@@ -0,0 +1,629 @@
1
+ import _ConfigProvider from 'antd/lib/config-provider';
2
+ import _extends from '@babel/runtime/helpers/extends';
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
+ import React__default, { forwardRef, useState, useEffect } from 'react';
6
+ import classnames from 'classnames';
7
+ import { Right, Left, Close, Calendar, Clock } from '@bigbinary/neeto-icons';
8
+ import './Accordion.js';
9
+ import './ActionDropdown.js';
10
+ import './Button.js';
11
+ import './Modal.js';
12
+ import './Typography.js';
13
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
14
+ import 'avvvatars-react';
15
+ import 'ramda';
16
+ import '@tippyjs/react';
17
+ import 'tippy.js';
18
+ import './Checkbox.js';
19
+ import '@babel/runtime/helpers/asyncToGenerator';
20
+ import '@babel/runtime/regenerator';
21
+ import 'react-colorful';
22
+ import './tinycolor-282c618c.js';
23
+ import './Dropdown.js';
24
+ import { A as ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, h as hyphenize, c as convertToDayjsObjects, n as noop } from './index-9d5142b4.js';
25
+ import _DatePicker from 'antd/lib/date-picker';
26
+ import { isPresent, isNotPresent } from '@bigbinary/neeto-cist';
27
+ import dayjs from 'dayjs';
28
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
29
+ import Label from './Label.js';
30
+ import TimePickerInput from './TimePickerInput.js';
31
+ import { u as useId } from './useId-c1d20bba.js';
32
+ import 'react-router-dom';
33
+ import '@bigbinary/neeto-hotkeys';
34
+ import './overlayManager.js';
35
+ import 'qs';
36
+ import './Input.js';
37
+ import './MultiEmailInput.js';
38
+ import { u as useSyncedRef } from './Textarea-e836f83e.js';
39
+ import '@babel/runtime/helpers/toConsumableArray';
40
+ import './Pane.js';
41
+ import './Popover.js';
42
+ import './Radio.js';
43
+ import '@babel/runtime/helpers/esm/objectSpread2';
44
+ import '@babel/runtime/helpers/esm/slicedToArray';
45
+ import '@babel/runtime/helpers/esm/objectWithoutProperties';
46
+ import '@babel/runtime/helpers/esm/extends';
47
+ import './react-select-creatable.esm-ad71b0c0.js';
48
+ import '@babel/runtime/helpers/objectSpread2';
49
+ import '@babel/runtime/helpers/classCallCheck';
50
+ import '@babel/runtime/helpers/createClass';
51
+ import '@babel/runtime/helpers/inherits';
52
+ import '@babel/runtime/helpers/createSuper';
53
+ import '@babel/runtime/helpers/taggedTemplateLiteral';
54
+ import '@babel/runtime/helpers/typeof';
55
+ import 'react-dom';
56
+ import '@babel/runtime/helpers/esm/defineProperty';
57
+ import '@babel/runtime/helpers/esm/toConsumableArray';
58
+ import 'antd/lib/slider';
59
+ import './Switch.js';
60
+ import './Tab.js';
61
+ import 'antd/lib/table';
62
+ import 'react-drag-listview';
63
+ import './HeaderCellMenu-810f0594.js';
64
+ import 'react-resizable';
65
+ import Tag from './Tag.js';
66
+ import './Toastr.js';
67
+ import 'antd/lib/tree';
68
+ import './TreeSelect.js';
69
+
70
+ var IconOverride = function IconOverride(_ref) {
71
+ var Icon = _ref.icon;
72
+ return /*#__PURE__*/React__default.createElement("span", {
73
+ className: "neeto-ui-btn neeto-ui-btn--style-text neeto-ui-btn--size-medium neeto-ui-btn--icon-only"
74
+ }, /*#__PURE__*/React__default.createElement(Icon, {
75
+ className: "neeto-ui-btn__icon",
76
+ size: 20
77
+ }));
78
+ };
79
+
80
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
81
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
82
+ var Provider = function Provider(_ref) {
83
+ var children = _ref.children;
84
+ return /*#__PURE__*/React__default.createElement(_ConfigProvider, {
85
+ theme: {
86
+ token: _objectSpread$3({}, ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES),
87
+ components: {
88
+ DatePicker: {
89
+ activeBg: "rgb(var(--neeto-ui-white))",
90
+ activeBorderColor: "rgb(var(--neeto-ui-primary-500))",
91
+ addonBg: "rgb(var(--neeto-ui-gray-100))",
92
+ cellActiveWithRangeBg: "rgb(var(--neeto-ui-primary-100))",
93
+ cellBgDisabled: "rgb(var(--neeto-ui-gray-100))",
94
+ cellHoverBg: "rgb(var(--neeto-ui-gray-200))",
95
+ cellHoverWithRangeBg: "rgb(var(--neeto-ui-primary-100))",
96
+ cellRangeBorderColor: "rgb(var(--neeto-ui-primary-100))",
97
+ hoverBg: "rgb(var(--neeto-ui-white))",
98
+ hoverBorderColor: "rgb(var(--neeto-ui-primary-500))",
99
+ // Global overrides
100
+ colorBgContainer: "rgb(var(--neeto-ui-white))",
101
+ colorBgElevated: "rgb(var(--neeto-ui-white))",
102
+ colorPrimary: "rgb(var(--neeto-ui-primary-500))",
103
+ colorPrimaryBorder: "rgb(var(--neeto-ui-primary-100))",
104
+ colorPrimaryHover: "rgb(var(--neeto-ui-primary-600))",
105
+ colorBorder: "rgb(var(--neeto-ui-gray-300))",
106
+ colorError: "rgb(var(--neeto-ui-error-500))",
107
+ colorErrorHover: "rgb(var(--neeto-ui-error-600))",
108
+ colorErrorOutline: "rgb(var(--neeto-ui-error-100))",
109
+ colorFillAlter: "rgb(var(--neeto-ui-gray-100))",
110
+ colorIcon: "rgb(var(--neeto-ui-gray-700))",
111
+ colorIconHover: "rgb(var(--neeto-ui-gray-800))",
112
+ colorLink: "rgb(var(--neeto-ui-primary-500))",
113
+ colorLinkHover: "rgb(var(--neeto-ui-primary-600))",
114
+ colorLinkActive: "rgb(var(--neeto-ui-primary-800))",
115
+ colorSplit: "rgb(var(--neeto-ui-gray-200))",
116
+ colorText: "rgb(var(--neeto-ui-gray-800))",
117
+ colorTextDescription: "rgb(var(--neeto-ui-gray-700))",
118
+ colorTextDisabled: "rgb(var(--neeto-ui-gray-500))",
119
+ colorTextHeading: "rgb(var(--neeto-ui-black))",
120
+ colorTextLightSolid: "rgb(var(--neeto-ui-white))",
121
+ colorTextPlaceholder: "rgb(var(--neeto-ui-gray-400))",
122
+ colorTextQuaternary: "rgb(var(--neeto-ui-gray-400))",
123
+ colorWarning: "rgb(var(--neeto-ui-warning-500))",
124
+ colorWarningHover: "rgb(var(--neeto-ui-warning-600))",
125
+ colorWarningOutline: "rgb(var(--neeto-ui-warning-100))",
126
+ controlItemBgActive: "rgb(var(--neeto-ui-pastel-purple))",
127
+ controlItemBgHover: "rgb(var(--neeto-ui-gray-100))",
128
+ controlOutline: "rgb(var(--neeto-ui-gray-300))",
129
+ // Sizes
130
+ cellHeight: 32,
131
+ padding: 22
132
+ }
133
+ }
134
+ }
135
+ }, children);
136
+ };
137
+
138
+ var Today = function Today(_ref) {
139
+ var onClick = _ref.onClick;
140
+ return /*#__PURE__*/React__default.createElement("div", {
141
+ className: "text-center"
142
+ }, /*#__PURE__*/React__default.createElement("button", {
143
+ onClick: onClick,
144
+ className: "neeto-ui-rounded-md hover:neeto-ui-bg-gray-200 px-2 py-1 text-xs font-medium transition duration-300 ease-in-out",
145
+ "data-cy": "year-month-mode-today"
146
+ }, "Today"));
147
+ };
148
+
149
+ var getAllowedDate = function getAllowedDate(date, minDate, maxDate) {
150
+ if (isPresent(minDate) && date !== null && date !== void 0 && date.isBefore(minDate)) {
151
+ return minDate;
152
+ }
153
+ if (isPresent(maxDate) && date !== null && date !== void 0 && date.isAfter(maxDate)) {
154
+ return maxDate;
155
+ }
156
+ return date;
157
+ };
158
+ var getAllowedRange = function getAllowedRange(dates, minDate, maxDate) {
159
+ return dates.map(function (item) {
160
+ return getAllowedDate(item, minDate, maxDate);
161
+ });
162
+ };
163
+ var getAllowed = function getAllowed(date, minDate, maxDate) {
164
+ return (Array.isArray(date) ? getAllowedRange : getAllowedDate)(date, minDate, maxDate);
165
+ };
166
+ var formattedString = function formattedString(date, dateFormat) {
167
+ return Array.isArray(date) ? date.map(function (item) {
168
+ return item === null || item === void 0 ? void 0 : item.format(dateFormat);
169
+ }) : date === null || date === void 0 ? void 0 : date.format(dateFormat);
170
+ };
171
+
172
+ var _excluded$1 = ["className", "label", "size", "dropdownClassName", "popupClassName", "dateFormat", "timeFormat", "placeholder", "onChange", "onOk", "picker", "mode", "showTime", "type", "nakedInput", "error", "defaultValue", "value", "labelProps", "required", "allowClear", "maxDate", "minDate", "timePickerProps", "timezone"];
173
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
174
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
175
+ var INPUT_SIZES$1 = {
176
+ small: "small",
177
+ medium: "medium",
178
+ large: "large"
179
+ };
180
+ var RangePicker$1 = _DatePicker.RangePicker;
181
+ var datePickerTypes = {
182
+ range: RangePicker$1,
183
+ date: _DatePicker
184
+ };
185
+ var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
186
+ var _ref$className = _ref.className,
187
+ className = _ref$className === void 0 ? "" : _ref$className,
188
+ _ref$label = _ref.label,
189
+ label = _ref$label === void 0 ? "" : _ref$label,
190
+ _ref$size = _ref.size,
191
+ size = _ref$size === void 0 ? INPUT_SIZES$1.medium : _ref$size,
192
+ _ref$dropdownClassNam = _ref.dropdownClassName,
193
+ dropdownClassName = _ref$dropdownClassNam === void 0 ? "" : _ref$dropdownClassNam,
194
+ _ref$popupClassName = _ref.popupClassName,
195
+ popupClassName = _ref$popupClassName === void 0 ? "" : _ref$popupClassName,
196
+ _ref$dateFormat = _ref.dateFormat,
197
+ dateFormat = _ref$dateFormat === void 0 ? "DD/MM/YYYY" : _ref$dateFormat,
198
+ _ref$timeFormat = _ref.timeFormat,
199
+ timeFormat = _ref$timeFormat === void 0 ? "HH:mm:ss" : _ref$timeFormat,
200
+ placeholder = _ref.placeholder,
201
+ _ref$onChange = _ref.onChange,
202
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
203
+ _ref$onOk = _ref.onOk,
204
+ onOk = _ref$onOk === void 0 ? noop : _ref$onOk,
205
+ _ref$picker = _ref.picker,
206
+ picker = _ref$picker === void 0 ? "date" : _ref$picker,
207
+ _ref$mode = _ref.mode,
208
+ inputMode = _ref$mode === void 0 ? "date" : _ref$mode,
209
+ _ref$showTime = _ref.showTime,
210
+ showTime = _ref$showTime === void 0 ? false : _ref$showTime,
211
+ _ref$type = _ref.type,
212
+ type = _ref$type === void 0 ? "date" : _ref$type,
213
+ _ref$nakedInput = _ref.nakedInput,
214
+ nakedInput = _ref$nakedInput === void 0 ? false : _ref$nakedInput,
215
+ _ref$error = _ref.error,
216
+ error = _ref$error === void 0 ? "" : _ref$error,
217
+ defaultValue = _ref.defaultValue,
218
+ inputValue = _ref.value,
219
+ labelProps = _ref.labelProps,
220
+ _ref$required = _ref.required,
221
+ required = _ref$required === void 0 ? false : _ref$required,
222
+ _ref$allowClear = _ref.allowClear,
223
+ allowClear = _ref$allowClear === void 0 ? true : _ref$allowClear,
224
+ maxDate = _ref.maxDate,
225
+ minDate = _ref.minDate,
226
+ timePickerProps = _ref.timePickerProps,
227
+ timezone = _ref.timezone,
228
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
229
+ var _useState = useState(inputValue),
230
+ _useState2 = _slicedToArray(_useState, 2),
231
+ value = _useState2[0],
232
+ setValue = _useState2[1];
233
+ var _useState3 = useState(inputMode),
234
+ _useState4 = _slicedToArray(_useState3, 2),
235
+ mode = _useState4[0],
236
+ setMode = _useState4[1];
237
+ var _useState5 = useState(),
238
+ _useState6 = _slicedToArray(_useState5, 2),
239
+ pickerValue = _useState6[0],
240
+ setPickerValue = _useState6[1];
241
+ var id = useId(otherProps.id);
242
+ var datePickerRef = useSyncedRef(ref);
243
+ var Component = datePickerTypes[type === null || type === void 0 ? void 0 : type.toLowerCase()];
244
+ var format = showTime ? "".concat(dateFormat, " ").concat(timeFormat) : dateFormat;
245
+ var errorId = "error_".concat(id);
246
+ useEffect(function () {
247
+ setValue(inputValue);
248
+ }, [inputValue]);
249
+ var handleOnChange = function handleOnChange(date, dateString) {
250
+ if (type === "range" && isNotPresent(date)) {
251
+ return onChange([], dateString);
252
+ }
253
+ var allowed = getAllowed(date, minDate, maxDate);
254
+ setValue(allowed);
255
+ return onChange(allowed, formattedString(allowed, dateFormat));
256
+ };
257
+ var renderExtraFooter = function renderExtraFooter() {
258
+ if (type === "range" || mode === "date") return null;
259
+ return /*#__PURE__*/React__default.createElement(Today, {
260
+ onClick: function onClick() {
261
+ setMode("date");
262
+ setTimeout(function () {
263
+ document.querySelector(".ant-picker-now-btn").click();
264
+ });
265
+ }
266
+ });
267
+ };
268
+ return /*#__PURE__*/React__default.createElement(Provider, null, /*#__PURE__*/React__default.createElement("div", {
269
+ className: "neeto-ui-input__wrapper"
270
+ }, label && /*#__PURE__*/React__default.createElement(Label, _objectSpread$2({
271
+ required: required
272
+ }, labelProps), label), /*#__PURE__*/React__default.createElement(Component, _extends({
273
+ "data-cy": label ? "".concat(hyphenize(label), "-input") : "picker-input",
274
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : format,
275
+ ref: datePickerRef,
276
+ showTime: showTime && _objectSpread$2({
277
+ format: timeFormat
278
+ }, timePickerProps),
279
+ value: getAllowed(convertToDayjsObjects(value), minDate, maxDate),
280
+ className: classnames("neeto-ui-date-input", [className], {
281
+ "neeto-ui-date-input--small": size === "small",
282
+ "neeto-ui-date-input--medium": size === "medium",
283
+ "neeto-ui-date-input--large": size === "large",
284
+ "neeto-ui-date-input--disabled": otherProps.disabled,
285
+ "neeto-ui-date-input--naked": nakedInput,
286
+ "neeto-ui-date-input--error": !!error
287
+ }),
288
+ defaultValue: getAllowed(convertToDayjsObjects(defaultValue), minDate, maxDate),
289
+ popupClassName: classnames("neeto-ui-date-time-dropdown", [dropdownClassName,
290
+ // Will be removed in the next major version
291
+ popupClassName]),
292
+ onChange: handleOnChange
293
+ }, _objectSpread$2(_objectSpread$2({
294
+ format: format,
295
+ maxDate: maxDate,
296
+ minDate: minDate,
297
+ onOk: onOk,
298
+ picker: picker
299
+ }, otherProps), type === "date" && {
300
+ mode: mode,
301
+ pickerValue: pickerValue,
302
+ renderExtraFooter: renderExtraFooter,
303
+ onPanelChange: function onPanelChange(pickerValue, mode) {
304
+ setPickerValue(pickerValue);
305
+ setMode(mode);
306
+ }
307
+ }), {
308
+ nextIcon: /*#__PURE__*/React__default.createElement(IconOverride, {
309
+ icon: Right
310
+ }),
311
+ prevIcon: /*#__PURE__*/React__default.createElement(IconOverride, {
312
+ icon: Left
313
+ }),
314
+ superNextIcon: /*#__PURE__*/React__default.createElement(IconOverride, {
315
+ icon: Right
316
+ }),
317
+ superPrevIcon: /*#__PURE__*/React__default.createElement(IconOverride, {
318
+ icon: Left
319
+ }),
320
+ allowClear: allowClear && {
321
+ clearIcon: /*#__PURE__*/React__default.createElement(Close, {
322
+ "data-cy": "date-time-clear-icon",
323
+ size: 16
324
+ })
325
+ },
326
+ suffixIcon: timezone ? /*#__PURE__*/React__default.createElement(Tag, {
327
+ label: timezone
328
+ }) : /*#__PURE__*/React__default.createElement(Calendar, {
329
+ size: 16
330
+ })
331
+ })), !!error && typeof error === "string" && /*#__PURE__*/React__default.createElement("p", {
332
+ className: "neeto-ui-input__error",
333
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
334
+ id: errorId
335
+ }, error)));
336
+ });
337
+ DatePicker.displayName = "DatePicker";
338
+
339
+ var DATE_FORMAT = "YYYY-MM-DD";
340
+ var TIME_FORMAT = "HH:mm";
341
+ var getDateTime = function getDateTime(date, time) {
342
+ if (isPresent(date) && isPresent(time)) {
343
+ return dayjs("".concat(date.format(DATE_FORMAT), " ").concat(time.format(TIME_FORMAT)));
344
+ }
345
+ return null;
346
+ };
347
+ var getAllowedTime = function getAllowedTime(date, time, minDateTime, maxDateTime) {
348
+ var newTime = getDateTime(date, time || dayjs());
349
+ if (isPresent(minDateTime) && date !== null && date !== void 0 && date.isSame(minDateTime, "day") && newTime !== null && newTime !== void 0 && newTime.isBefore(minDateTime)) {
350
+ return minDateTime;
351
+ }
352
+ if (isPresent(maxDateTime) && date !== null && date !== void 0 && date.isSame(maxDateTime, "day") && newTime !== null && newTime !== void 0 && newTime.isAfter(maxDateTime)) {
353
+ return maxDateTime;
354
+ }
355
+ return newTime;
356
+ };
357
+ var getTime = function getTime(date) {
358
+ return date === null || date === void 0 ? void 0 : date.format(TIME_FORMAT);
359
+ };
360
+
361
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
362
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
363
+ dayjs.extend(customParseFormat);
364
+ var DateTimePicker = function DateTimePicker(_ref) {
365
+ var _ref$className = _ref.className,
366
+ className = _ref$className === void 0 ? "" : _ref$className,
367
+ _ref$label = _ref.label,
368
+ label = _ref$label === void 0 ? "" : _ref$label,
369
+ size = _ref.size,
370
+ dropdownClassName = _ref.dropdownClassName,
371
+ popupClassName = _ref.popupClassName,
372
+ dateFormat = _ref.dateFormat,
373
+ _ref$onChange = _ref.onChange,
374
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
375
+ _ref$nakedInput = _ref.nakedInput,
376
+ nakedInput = _ref$nakedInput === void 0 ? false : _ref$nakedInput,
377
+ _ref$error = _ref.error,
378
+ error = _ref$error === void 0 ? "" : _ref$error,
379
+ defaultValue = _ref.defaultValue,
380
+ value = _ref.value,
381
+ labelProps = _ref.labelProps,
382
+ _ref$required = _ref.required,
383
+ required = _ref$required === void 0 ? false : _ref$required,
384
+ id = _ref.id,
385
+ datePickerProps = _ref.datePickerProps,
386
+ timePickerProps = _ref.timePickerProps,
387
+ minDateTime = _ref.minDateTime,
388
+ maxDateTime = _ref.maxDateTime,
389
+ _ref$onTimeInputBlur = _ref.onTimeInputBlur,
390
+ onTimeInputBlur = _ref$onTimeInputBlur === void 0 ? noop : _ref$onTimeInputBlur,
391
+ _ref$onBlur = _ref.onBlur,
392
+ onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur;
393
+ var _useState = useState(null),
394
+ _useState2 = _slicedToArray(_useState, 2),
395
+ date = _useState2[0],
396
+ setDate = _useState2[1];
397
+ var _useState3 = useState(null),
398
+ _useState4 = _slicedToArray(_useState3, 2),
399
+ time = _useState4[0],
400
+ setTime = _useState4[1];
401
+ var _useState5 = useState(),
402
+ _useState6 = _slicedToArray(_useState5, 2),
403
+ changedField = _useState6[0],
404
+ setChangedField = _useState6[1];
405
+ var timeRef = React__default.useRef(null);
406
+ var defaultId = useId(id);
407
+ var errorId = "error_".concat(defaultId);
408
+ useEffect(function () {
409
+ var inputValue = value || defaultValue;
410
+ if (isNotPresent(inputValue)) {
411
+ setDate(null);
412
+ setTime(null);
413
+ return;
414
+ }
415
+ if (dayjs(inputValue).isValid()) {
416
+ var dateTime = dayjs.isDayjs(inputValue) ? inputValue : dayjs(inputValue);
417
+ setDate(dateTime);
418
+ setTime(dateTime);
419
+ }
420
+ }, [value, defaultValue]);
421
+ useEffect(function () {
422
+ if (isNotPresent(changedField)) return;
423
+ onChange(getDateTime(date, time), changedField);
424
+ setChangedField(); // reset to avoid unnecessary trigger on rerender
425
+ }, [date, time, changedField]);
426
+ var handleDateChange = function handleDateChange(newDate) {
427
+ var _timeRef$current;
428
+ (_timeRef$current = timeRef.current) === null || _timeRef$current === void 0 || (_timeRef$current = _timeRef$current.querySelector(".react-time-picker__inputGroup__hour")) === null || _timeRef$current === void 0 || _timeRef$current.focus();
429
+ setDate(newDate);
430
+ setTime(getAllowedTime(newDate, time, minDateTime, maxDateTime));
431
+ setChangedField("date");
432
+ };
433
+ var handleTimeChange = function handleTimeChange(newTime) {
434
+ setTime(newTime.isValid() ? newTime : null);
435
+ if (newTime.isValid() && !date) setDate(newTime);
436
+ setChangedField("time");
437
+ };
438
+ var handleTimeBlur = function handleTimeBlur() {
439
+ var dateTime = getDateTime(date, time);
440
+ onTimeInputBlur(dateTime);
441
+ onBlur(dateTime);
442
+ };
443
+ return /*#__PURE__*/React__default.createElement("div", {
444
+ className: "neeto-ui-input__wrapper"
445
+ }, label && /*#__PURE__*/React__default.createElement(Label, _objectSpread$1({
446
+ required: required
447
+ }, labelProps), label), /*#__PURE__*/React__default.createElement("div", {
448
+ className: classnames("neeto-ui-date-time-input", className)
449
+ }, /*#__PURE__*/React__default.createElement(DatePicker, _extends({
450
+ dateFormat: dateFormat,
451
+ dropdownClassName: dropdownClassName,
452
+ nakedInput: nakedInput,
453
+ popupClassName: popupClassName,
454
+ size: size,
455
+ error: !!error,
456
+ maxDate: maxDateTime,
457
+ minDate: minDateTime,
458
+ picker: "date",
459
+ showTime: false,
460
+ type: "date",
461
+ value: date,
462
+ onChange: handleDateChange
463
+ }, datePickerProps)), /*#__PURE__*/React__default.createElement(TimePickerInput, _extends(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
464
+ error: error,
465
+ nakedInput: nakedInput,
466
+ size: size
467
+ }, "error", !!error), "maxTime", (date === null || date === void 0 ? void 0 : date.isSame(maxDateTime, "day")) && getTime(maxDateTime)), "minTime", (date === null || date === void 0 ? void 0 : date.isSame(minDateTime, "day")) && getTime(minDateTime)), "ref", timeRef), "value", time), "onBlur", handleTimeBlur), "onChange", handleTimeChange), timePickerProps))), !!error && /*#__PURE__*/React__default.createElement("p", {
468
+ className: "neeto-ui-input__error",
469
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
470
+ id: errorId
471
+ }, error));
472
+ };
473
+ DateTimePicker.displayName = "DateTimePicker";
474
+ var index = /*#__PURE__*/React__default.memo(DateTimePicker);
475
+
476
+ var RangePicker = _DatePicker.RangePicker;
477
+ var TIME_PICKER_TYPES = {
478
+ range: RangePicker,
479
+ time: _DatePicker
480
+ };
481
+
482
+ var _excluded = ["className", "label", "size", "dropdownClassName", "popupClassName", "format", "interval", "onChange", "type", "nakedInput", "disabled", "error", "defaultValue", "value", "labelProps", "required", "placeholder", "timezone"];
483
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
484
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
485
+ var INPUT_SIZES = {
486
+ small: "small",
487
+ medium: "medium",
488
+ large: "large"
489
+ };
490
+ var TIME_PICKER_INTERVAL = {
491
+ hourStep: 1,
492
+ minuteStep: 1,
493
+ secondStep: 1
494
+ };
495
+ var TimePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
496
+ var _ref$className = _ref.className,
497
+ className = _ref$className === void 0 ? "" : _ref$className,
498
+ _ref$label = _ref.label,
499
+ label = _ref$label === void 0 ? "" : _ref$label,
500
+ _ref$size = _ref.size,
501
+ size = _ref$size === void 0 ? INPUT_SIZES.medium : _ref$size,
502
+ _ref$dropdownClassNam = _ref.dropdownClassName,
503
+ dropdownClassName = _ref$dropdownClassNam === void 0 ? "" : _ref$dropdownClassNam,
504
+ _ref$popupClassName = _ref.popupClassName,
505
+ popupClassName = _ref$popupClassName === void 0 ? "" : _ref$popupClassName,
506
+ _ref$format = _ref.format,
507
+ format = _ref$format === void 0 ? "HH:mm:ss" : _ref$format,
508
+ _ref$interval = _ref.interval,
509
+ interval = _ref$interval === void 0 ? TIME_PICKER_INTERVAL : _ref$interval,
510
+ _ref$onChange = _ref.onChange,
511
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
512
+ _ref$type = _ref.type,
513
+ type = _ref$type === void 0 ? "time" : _ref$type,
514
+ _ref$nakedInput = _ref.nakedInput,
515
+ nakedInput = _ref$nakedInput === void 0 ? false : _ref$nakedInput,
516
+ _ref$disabled = _ref.disabled,
517
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
518
+ _ref$error = _ref.error,
519
+ error = _ref$error === void 0 ? "" : _ref$error,
520
+ defaultValue = _ref.defaultValue,
521
+ value = _ref.value,
522
+ labelProps = _ref.labelProps,
523
+ _ref$required = _ref.required,
524
+ required = _ref$required === void 0 ? false : _ref$required,
525
+ placeholder = _ref.placeholder,
526
+ timezone = _ref.timezone,
527
+ otherProps = _objectWithoutProperties(_ref, _excluded);
528
+ var id = useId(otherProps.id);
529
+ var timePickerRef = useSyncedRef(ref);
530
+ var Component = TIME_PICKER_TYPES[type.toLowerCase()];
531
+ var errorId = "error_".concat(id);
532
+ var showTimeLabels = {};
533
+ if (format.includes("s")) {
534
+ showTimeLabels.second = true;
535
+ }
536
+ if (format.includes("m")) {
537
+ showTimeLabels.minute = true;
538
+ }
539
+ if (format.includes("H") || format.includes("h")) {
540
+ showTimeLabels.hour = true;
541
+ }
542
+ var handleOnChange = function handleOnChange(time, timeString) {
543
+ type === "range" && !time ? onChange([], timeString) : onChange(time, timeString);
544
+ };
545
+ var panelRender = function panelRender(originalPanel) {
546
+ return /*#__PURE__*/React__default.createElement("div", {
547
+ className: "neeto-ui-date-input-custom-panel"
548
+ }, /*#__PURE__*/React__default.createElement("div", {
549
+ className: "neeto-ui-date-input-custom-panel__header"
550
+ }, /*#__PURE__*/React__default.createElement("ul", {
551
+ className: "neeto-ui-date-input-custom-panel__header-cols"
552
+ }, showTimeLabels.hour && /*#__PURE__*/React__default.createElement("li", {
553
+ className: "neeto-ui-date-input-custom-panel__header-col"
554
+ }, "Hour"), showTimeLabels.minute && /*#__PURE__*/React__default.createElement("li", {
555
+ className: "neeto-ui-date-input-custom-panel__header-col"
556
+ }, "Minutes"), showTimeLabels.second && /*#__PURE__*/React__default.createElement("li", {
557
+ className: "neeto-ui-date-input-custom-panel__header-col"
558
+ }, "Seconds"))), /*#__PURE__*/React__default.createElement("div", {
559
+ className: "neeto-ui-date-input-custom-panel__body"
560
+ }, originalPanel));
561
+ };
562
+ return /*#__PURE__*/React__default.createElement(_ConfigProvider, {
563
+ theme: {
564
+ token: _objectSpread({}, ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES),
565
+ components: {
566
+ DatePicker: {
567
+ // Global overrides
568
+ colorBgElevated: "rgb(var(--neeto-ui-white))",
569
+ colorPrimary: "rgb(var(--neeto-ui-primary-500))",
570
+ colorPrimaryHover: "rgb(var(--neeto-ui-primary-600))",
571
+ colorBorder: "rgb(var(--neeto-ui-gray-300))",
572
+ colorLink: "rgb(var(--neeto-ui-primary-500))",
573
+ colorLinkHover: "rgb(var(--neeto-ui-primary-600))",
574
+ colorText: "rgb(var(--neeto-ui-gray-800))",
575
+ colorTextDisabled: "rgb(var(--neeto-ui-gray-500))",
576
+ colorTextPlaceholder: "rgb(var(--neeto-ui-gray-400))",
577
+ controlItemBgActive: "rgb(var(--neeto-ui-primary-800))",
578
+ controlItemBgHover: "rgb(var(--neeto-ui-gray-100))",
579
+ controlOutline: "rgb(var(--neeto-ui-gray-300))"
580
+ }
581
+ }
582
+ }
583
+ }, /*#__PURE__*/React__default.createElement("div", {
584
+ className: "neeto-ui-input__wrapper"
585
+ }, label && /*#__PURE__*/React__default.createElement(Label, _objectSpread({
586
+ required: required
587
+ }, labelProps), label), /*#__PURE__*/React__default.createElement(Component, _extends({
588
+ hourStep: interval.hourStep,
589
+ minuteStep: interval.minuteStep,
590
+ ref: timePickerRef,
591
+ secondStep: interval.secondStep,
592
+ className: classnames("neeto-ui-time-input", [className], {
593
+ "neeto-ui-time-input--small": size === "small",
594
+ "neeto-ui-time-input--medium": size === "medium",
595
+ "neeto-ui-time-input--large": size === "large",
596
+ "neeto-ui-time-input--disabled": disabled,
597
+ "neeto-ui-time-input--naked": nakedInput,
598
+ "neeto-ui-time-input--error": error
599
+ }),
600
+ popupClassName: classnames("neeto-ui-date-time-dropdown", [dropdownClassName,
601
+ // Will be removed in the next major version
602
+ popupClassName]),
603
+ onChange: handleOnChange
604
+ }, _objectSpread(_objectSpread({
605
+ disabled: disabled,
606
+ format: format
607
+ }, otherProps), {}, {
608
+ panelRender: panelRender
609
+ }), {
610
+ defaultValue: convertToDayjsObjects(defaultValue),
611
+ mode: undefined,
612
+ picker: "time",
613
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : format,
614
+ value: convertToDayjsObjects(value),
615
+ suffixIcon: timezone ? /*#__PURE__*/React__default.createElement(Tag, {
616
+ label: timezone
617
+ }) : /*#__PURE__*/React__default.createElement(Clock, {
618
+ size: 16
619
+ })
620
+ })), !!error && /*#__PURE__*/React__default.createElement("p", {
621
+ className: "neeto-ui-input__error",
622
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
623
+ id: errorId
624
+ }, error)));
625
+ });
626
+ TimePicker.displayName = "TimePicker";
627
+
628
+ export { DatePicker as D, TimePicker as T, index as i };
629
+ //# sourceMappingURL=index-4a662f27.js.map