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