@dreamcommerce/aurora 3.1.52 → 3.1.53

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 (110) hide show
  1. package/build/cjs/packages/aurora/src/components/calendar/styled_day_picker/styled_day_picker.js +1 -1
  2. package/build/cjs/packages/aurora/src/components/date_and_time_picker/date_time_picker.js +16 -27
  3. package/build/cjs/packages/aurora/src/components/date_and_time_picker/date_time_picker.js.map +1 -1
  4. package/build/cjs/packages/aurora/src/components/date_picker/components/date_picker_input.js +36 -11
  5. package/build/cjs/packages/aurora/src/components/date_picker/components/date_picker_input.js.map +1 -1
  6. package/build/cjs/packages/aurora/src/components/date_picker/date_picker.js +96 -19
  7. package/build/cjs/packages/aurora/src/components/date_picker/date_picker.js.map +1 -1
  8. package/build/cjs/packages/aurora/src/components/date_picker/date_picker_constants.js +15 -0
  9. package/build/cjs/packages/aurora/src/components/date_picker/date_picker_constants.js.map +1 -0
  10. package/build/cjs/packages/aurora/src/components/date_picker/date_picker_utils.js +203 -4
  11. package/build/cjs/packages/aurora/src/components/date_picker/date_picker_utils.js.map +1 -1
  12. package/build/cjs/packages/aurora/src/components/input_mask/hooks/hooks.js +196 -0
  13. package/build/cjs/packages/aurora/src/components/input_mask/hooks/hooks.js.map +1 -0
  14. package/build/cjs/packages/aurora/src/components/input_mask/input-mask-constants.js +14 -0
  15. package/build/cjs/packages/aurora/src/components/input_mask/input-mask-constants.js.map +1 -0
  16. package/build/cjs/packages/aurora/src/components/input_mask/input_mask.js +373 -0
  17. package/build/cjs/packages/aurora/src/components/input_mask/input_mask.js.map +1 -0
  18. package/build/cjs/packages/aurora/src/components/input_mask/utils/defer.js +16 -0
  19. package/build/cjs/packages/aurora/src/components/input_mask/utils/defer.js.map +1 -0
  20. package/build/cjs/packages/aurora/src/components/input_mask/utils/helpers.js +50 -0
  21. package/build/cjs/packages/aurora/src/components/input_mask/utils/helpers.js.map +1 -0
  22. package/build/cjs/packages/aurora/src/components/input_mask/utils/input.js +33 -0
  23. package/build/cjs/packages/aurora/src/components/input_mask/utils/input.js.map +1 -0
  24. package/build/cjs/packages/aurora/src/components/input_mask/utils/mask.js +371 -0
  25. package/build/cjs/packages/aurora/src/components/input_mask/utils/mask.js.map +1 -0
  26. package/build/cjs/packages/aurora/src/components/input_mask/utils/parse-mask.js +94 -0
  27. package/build/cjs/packages/aurora/src/components/input_mask/utils/parse-mask.js.map +1 -0
  28. package/build/cjs/packages/aurora/src/components/input_mask/utils/validate-props.js +37 -0
  29. package/build/cjs/packages/aurora/src/components/input_mask/utils/validate-props.js.map +1 -0
  30. package/build/cjs/packages/aurora/src/components/time_picker/components/time_picker_input.js +27 -10
  31. package/build/cjs/packages/aurora/src/components/time_picker/components/time_picker_input.js.map +1 -1
  32. package/build/cjs/packages/aurora/src/components/time_picker/time_picker.js +85 -54
  33. package/build/cjs/packages/aurora/src/components/time_picker/time_picker.js.map +1 -1
  34. package/build/cjs/packages/aurora/src/components/time_picker/time_picker_constants.js +11 -0
  35. package/build/cjs/packages/aurora/src/components/time_picker/time_picker_constants.js.map +1 -0
  36. package/build/cjs/packages/aurora/src/components/time_picker/time_picker_utils.js +62 -1
  37. package/build/cjs/packages/aurora/src/components/time_picker/time_picker_utils.js.map +1 -1
  38. package/build/cjs/packages/aurora/src/index.js +2 -0
  39. package/build/cjs/packages/aurora/src/index.js.map +1 -1
  40. package/build/cjs/packages/aurora/src/translations/en.json.js +5 -1
  41. package/build/cjs/packages/aurora/src/translations/en.json.js.map +1 -1
  42. package/build/cjs/packages/aurora/src/translations/pl.json.js +5 -1
  43. package/build/cjs/packages/aurora/src/translations/pl.json.js.map +1 -1
  44. package/build/esm/packages/aurora/src/components/calendar/styled_day_picker/styled_day_picker.js +1 -1
  45. package/build/esm/packages/aurora/src/components/date_and_time_picker/date_time_picker.js +16 -27
  46. package/build/esm/packages/aurora/src/components/date_and_time_picker/date_time_picker.js.map +1 -1
  47. package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.d.ts +4 -1
  48. package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.js +36 -11
  49. package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.js.map +1 -1
  50. package/build/esm/packages/aurora/src/components/date_picker/date_picker.d.ts +1 -1
  51. package/build/esm/packages/aurora/src/components/date_picker/date_picker.js +97 -20
  52. package/build/esm/packages/aurora/src/components/date_picker/date_picker.js.map +1 -1
  53. package/build/esm/packages/aurora/src/components/date_picker/date_picker_constants.d.ts +8 -0
  54. package/build/esm/packages/aurora/src/components/date_picker/date_picker_constants.js +11 -0
  55. package/build/esm/packages/aurora/src/components/date_picker/date_picker_constants.js.map +1 -0
  56. package/build/esm/packages/aurora/src/components/date_picker/date_picker_types.d.ts +1 -1
  57. package/build/esm/packages/aurora/src/components/date_picker/date_picker_utils.d.ts +19 -2
  58. package/build/esm/packages/aurora/src/components/date_picker/date_picker_utils.js +203 -4
  59. package/build/esm/packages/aurora/src/components/date_picker/date_picker_utils.js.map +1 -1
  60. package/build/esm/packages/aurora/src/components/input_mask/hooks/hooks.d.ts +10 -0
  61. package/build/esm/packages/aurora/src/components/input_mask/hooks/hooks.js +190 -0
  62. package/build/esm/packages/aurora/src/components/input_mask/hooks/hooks.js.map +1 -0
  63. package/build/esm/packages/aurora/src/components/input_mask/input-mask-constants.d.ts +6 -0
  64. package/build/esm/packages/aurora/src/components/input_mask/input-mask-constants.js +9 -0
  65. package/build/esm/packages/aurora/src/components/input_mask/input-mask-constants.js.map +1 -0
  66. package/build/esm/packages/aurora/src/components/input_mask/input_mask.d.ts +4 -0
  67. package/build/esm/packages/aurora/src/components/input_mask/input_mask.js +365 -0
  68. package/build/esm/packages/aurora/src/components/input_mask/input_mask.js.map +1 -0
  69. package/build/esm/packages/aurora/src/components/input_mask/input_mask_types.d.ts +40 -0
  70. package/build/esm/packages/aurora/src/components/input_mask/input_mask_types.js +2 -0
  71. package/build/esm/packages/aurora/src/components/input_mask/input_mask_types.js.map +1 -0
  72. package/build/esm/packages/aurora/src/components/input_mask/utils/defer.d.ts +2 -0
  73. package/build/esm/packages/aurora/src/components/input_mask/utils/defer.js +11 -0
  74. package/build/esm/packages/aurora/src/components/input_mask/utils/defer.js.map +1 -0
  75. package/build/esm/packages/aurora/src/components/input_mask/utils/helpers.d.ts +7 -0
  76. package/build/esm/packages/aurora/src/components/input_mask/utils/helpers.js +40 -0
  77. package/build/esm/packages/aurora/src/components/input_mask/utils/helpers.js.map +1 -0
  78. package/build/esm/packages/aurora/src/components/input_mask/utils/input.d.ts +9 -0
  79. package/build/esm/packages/aurora/src/components/input_mask/utils/input.js +29 -0
  80. package/build/esm/packages/aurora/src/components/input_mask/utils/input.js.map +1 -0
  81. package/build/esm/packages/aurora/src/components/input_mask/utils/mask.d.ts +63 -0
  82. package/build/esm/packages/aurora/src/components/input_mask/utils/mask.js +367 -0
  83. package/build/esm/packages/aurora/src/components/input_mask/utils/mask.js.map +1 -0
  84. package/build/esm/packages/aurora/src/components/input_mask/utils/parse-mask.d.ts +7 -0
  85. package/build/esm/packages/aurora/src/components/input_mask/utils/parse-mask.js +90 -0
  86. package/build/esm/packages/aurora/src/components/input_mask/utils/parse-mask.js.map +1 -0
  87. package/build/esm/packages/aurora/src/components/input_mask/utils/validate-props.d.ts +4 -0
  88. package/build/esm/packages/aurora/src/components/input_mask/utils/validate-props.js +31 -0
  89. package/build/esm/packages/aurora/src/components/input_mask/utils/validate-props.js.map +1 -0
  90. package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.d.ts +2 -1
  91. package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.js +27 -10
  92. package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.js.map +1 -1
  93. package/build/esm/packages/aurora/src/components/time_picker/time_picker.js +87 -56
  94. package/build/esm/packages/aurora/src/components/time_picker/time_picker.js.map +1 -1
  95. package/build/esm/packages/aurora/src/components/time_picker/time_picker_constants.d.ts +4 -0
  96. package/build/esm/packages/aurora/src/components/time_picker/time_picker_constants.js +7 -0
  97. package/build/esm/packages/aurora/src/components/time_picker/time_picker_constants.js.map +1 -0
  98. package/build/esm/packages/aurora/src/components/time_picker/time_picker_utils.d.ts +11 -0
  99. package/build/esm/packages/aurora/src/components/time_picker/time_picker_utils.js +62 -1
  100. package/build/esm/packages/aurora/src/components/time_picker/time_picker_utils.js.map +1 -1
  101. package/build/esm/packages/aurora/src/index.d.ts +2 -0
  102. package/build/esm/packages/aurora/src/index.js +1 -0
  103. package/build/esm/packages/aurora/src/index.js.map +1 -1
  104. package/build/esm/packages/aurora/src/translations/en.json +5 -1
  105. package/build/esm/packages/aurora/src/translations/en.json.js +5 -1
  106. package/build/esm/packages/aurora/src/translations/en.json.js.map +1 -1
  107. package/build/esm/packages/aurora/src/translations/pl.json +5 -1
  108. package/build/esm/packages/aurora/src/translations/pl.json.js +5 -1
  109. package/build/esm/packages/aurora/src/translations/pl.json.js.map +1 -1
  110. package/package.json +1 -1
@@ -51,7 +51,7 @@ var StyledDayPicker = function StyledDayPicker(_ref) {
51
51
  weekdays: 'aurora-text-subtle-light aurora-text-xs aurora-font-normal aurora-capitalize',
52
52
  weekday: 'aurora-font-normal',
53
53
  // Day cells
54
- day: 'aurora-h-8 aurora-w-8 aurora-rounded-4 focus-visible:aurora-outline-none focus-visible:aurora-ring-2 focus-visible:aurora-ring-primary aurora-cursor-pointer hover:aurora-bg-hover active:aurora-bg-active',
54
+ day: 'aurora-h-8 aurora-w-8 aurora-rounded-4 aurora-p-0 focus-visible:aurora-outline-none focus-visible:aurora-ring-2 focus-visible:aurora-ring-primary aurora-cursor-pointer hover:aurora-bg-hover active:aurora-bg-active',
55
55
  day_button: 'aurora-w-full aurora-h-full',
56
56
  selected: 'aurora-bg-inverse aurora-text-inverse hover:aurora-bg-inverse aurora-day-selected',
57
57
  today: 'aurora-bg-primary-subtle [&.aurora-day-selected:not(.aurora-day-range-middle)]:!aurora-bg-inverse [&.aurora-day-selected:not(.aurora-day-range-middle)]:!aurora-text-inverse',
@@ -38,45 +38,34 @@ var DateTimePicker = function DateTimePicker(_ref) {
38
38
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
39
39
  internalTime = _useState4[0],
40
40
  setInternalTime = _useState4[1];
41
- var dateRef = React.useRef(parsedValue.date);
42
- var timeRef = React.useRef(parsedValue.time);
43
- var lastValueRef = React.useRef(value);
41
+ var isInternalChangeRef = React.useRef(false);
42
+ // Sync with external value changes (but not internal ones)
44
43
  React.useEffect(function () {
45
- if (value !== lastValueRef.current) {
46
- lastValueRef.current = value;
44
+ if (!isInternalChangeRef.current) {
47
45
  setInternalDate(parsedValue.date);
48
46
  setInternalTime(parsedValue.time);
49
- dateRef.current = parsedValue.date;
50
- timeRef.current = parsedValue.time;
51
47
  }
52
- }, [value, parsedValue]);
53
- var handleDateChange = React.useCallback(function (date) {
54
- dateRef.current = date;
55
- setInternalDate(date);
56
- var currentTime = timeRef.current;
57
- if (date && currentTime) {
58
- var formattedValue = date_time_picker_utils.DateTimePickerUtils.formatDateTimeToString(date, currentTime);
59
- lastValueRef.current = formattedValue;
48
+ isInternalChangeRef.current = false;
49
+ }, [parsedValue.date, parsedValue.time]);
50
+ var emitChange = React.useCallback(function (date, time) {
51
+ if (date && time) {
52
+ var formattedValue = date_time_picker_utils.DateTimePickerUtils.formatDateTimeToString(date, time);
53
+ isInternalChangeRef.current = true;
60
54
  onChange === null || onChange === void 0 ? void 0 : onChange(formattedValue);
61
55
  } else {
62
- lastValueRef.current = '';
56
+ isInternalChangeRef.current = true;
63
57
  onChange === null || onChange === void 0 ? void 0 : onChange('');
64
58
  }
65
59
  }, [onChange]);
60
+ var handleDateChange = React.useCallback(function (date) {
61
+ setInternalDate(date);
62
+ emitChange(date, internalTime);
63
+ }, [internalTime, emitChange]);
66
64
  var handleTimeChange = React.useCallback(function (time) {
67
65
  var timeValue = time || undefined;
68
- timeRef.current = timeValue;
69
66
  setInternalTime(timeValue);
70
- var currentDate = dateRef.current;
71
- if (currentDate && timeValue) {
72
- var formattedValue = date_time_picker_utils.DateTimePickerUtils.formatDateTimeToString(currentDate, timeValue);
73
- lastValueRef.current = formattedValue;
74
- onChange === null || onChange === void 0 ? void 0 : onChange(formattedValue);
75
- } else {
76
- lastValueRef.current = '';
77
- onChange === null || onChange === void 0 ? void 0 : onChange('');
78
- }
79
- }, [onChange]);
67
+ emitChange(internalDate, timeValue);
68
+ }, [internalDate, emitChange]);
80
69
  return /*#__PURE__*/React__default['default'].createElement(stack.Stack, {
81
70
  direction: "row",
82
71
  spacing: "3",
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,8 +3,14 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var useTranslation = require('../../../../../../external/react-i18next/dist/es/useTranslation.js');
7
+ var _rollupPluginBabelHelpers = require('../../../../../../_virtual/_rollupPluginBabelHelpers.js');
8
+ var popover_trigger = require('../../popover/components/popover_trigger.js');
6
9
  var input = require('../../input/input.js');
10
+ var input_mask = require('../../input_mask/input_mask.js');
7
11
  var calendar_event_fill = require('../../../assets/icons/calendar_event_fill.js');
12
+ var date_picker_utils = require('../date_picker_utils.js');
13
+ var date_picker_constants = require('../date_picker_constants.js');
8
14
 
9
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
16
 
@@ -15,22 +21,41 @@ var DatePickerInput = function DatePickerInput(_ref) {
15
21
  value = _ref.value,
16
22
  placeholder = _ref.placeholder,
17
23
  disabled = _ref.disabled,
18
- errors = _ref.errors;
19
- return /*#__PURE__*/React__default['default'].createElement(input.Input, {
24
+ errors = _ref.errors,
25
+ onChange = _ref.onChange,
26
+ _ref$mode = _ref.mode,
27
+ mode = _ref$mode === void 0 ? 'single' : _ref$mode;
28
+ var _useTranslation = useTranslation.useTranslation(),
29
+ _useTranslation2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslation, 1),
30
+ t = _useTranslation2[0];
31
+ var mask = mode === 'range' ? 'dD.mM.yY99 - dD.mM.yY99' : 'dD.mM.yY99';
32
+ var defaultPlaceholder = mode === 'range' ? t('dd.mm.yyyy - dd.mm.yyyy') : t('dd.mm.yyyy');
33
+ var handleBeforeMaskedStateChange = function handleBeforeMaskedStateChange(_ref2) {
34
+ var currentState = _ref2.currentState,
35
+ nextState = _ref2.nextState;
36
+ return date_picker_utils.DatePickerUtils.validateDateMask(nextState, currentState, mode);
37
+ };
38
+ return /*#__PURE__*/React__default['default'].createElement(input_mask.InputMask, {
39
+ mask: mask,
40
+ maskPlaceholder: "_",
41
+ formatChars: date_picker_constants.DATE_PICKER_FORMAT_CHARS,
42
+ value: value || '',
43
+ onChange: onChange,
44
+ disabled: disabled,
45
+ beforeMaskedStateChange: handleBeforeMaskedStateChange
46
+ }, /*#__PURE__*/React__default['default'].createElement(input.Input, {
20
47
  id: id,
21
- value: value,
22
48
  errors: errors,
23
- readOnly: true,
24
- disabled: disabled,
25
- placeholder: placeholder,
26
- hasCursorPointer: true,
27
- postElement: /*#__PURE__*/React__default['default'].createElement("div", {
28
- className: "aurora-flex aurora-h-full aurora-items-center aurora-cursor-pointer aurora-border-0 aurora-bg-transparent aurora-p-1 aurora-rounded-4 focus:aurora-outline-primary-hover"
49
+ placeholder: placeholder || defaultPlaceholder,
50
+ postElement: /*#__PURE__*/React__default['default'].createElement(popover_trigger.PopoverTrigger, {
51
+ disabled: disabled
52
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
53
+ className: "aurora-flex aurora-h-full aurora-items-center aurora-cursor-pointer aurora-border-0 aurora-bg-transparent aurora-px-1 aurora-py-2 aurora-rounded-4 focus:aurora-outline-primary-hover"
29
54
  }, /*#__PURE__*/React__default['default'].createElement(calendar_event_fill.CalendarEventFillIcon, {
30
55
  size: 14,
31
56
  className: "aurora-text"
32
- }))
33
- });
57
+ })))
58
+ }));
34
59
  };
35
60
 
36
61
  exports.DatePickerInput = DatePickerInput;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAwE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,19 +3,19 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var useTranslation = require('../../../../../external/react-i18next/dist/es/useTranslation.js');
6
7
  var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
7
- var cn = require('../../utilities/cn.js');
8
+ var error_list = require('../error_list/error_list.js');
8
9
  var popover = require('../popover/popover.js');
9
- var popover_trigger = require('../popover/components/popover_trigger.js');
10
+ var date_picker_utils = require('./date_picker_utils.js');
10
11
  var date_picker_input = require('./components/date_picker_input.js');
11
12
  var date_picker_content = require('./components/date_picker_content.js');
12
- var date_picker_utils = require('./date_picker_utils.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
16
16
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
17
 
18
- var _excluded = ["id", "mode", "placeholder", "disabled", "errors", "value", "onChange", "disabledDays"];
18
+ var _excluded = ["id", "mode", "placeholder", "disabled", "errors", "value", "onChange", "disabledDays", "startMonth", "endMonth"];
19
19
  var DatePicker = function DatePicker(_ref) {
20
20
  var id = _ref.id,
21
21
  _ref$mode = _ref.mode,
@@ -26,42 +26,119 @@ var DatePicker = function DatePicker(_ref) {
26
26
  value = _ref.value,
27
27
  onChange = _ref.onChange,
28
28
  disabledDays = _ref.disabledDays,
29
+ startMonth = _ref.startMonth,
30
+ endMonth = _ref.endMonth,
29
31
  dayPickerProps = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
32
+ var _useTranslation = useTranslation.useTranslation(),
33
+ _useTranslation2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslation, 1),
34
+ t = _useTranslation2[0];
30
35
  var _useState = React.useState(false),
31
36
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
32
37
  open = _useState2[0],
33
38
  setOpen = _useState2[1];
34
- var selectedDates = React.useMemo(function () {
35
- return value;
36
- }, [value]);
39
+ var _useState3 = React.useState(''),
40
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
41
+ inputValue = _useState4[0],
42
+ setInputValue = _useState4[1];
43
+ var _useState5 = React.useState(undefined),
44
+ _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
45
+ internalValidationErrors = _useState6[0],
46
+ setInternalValidationErrors = _useState6[1];
37
47
  var displayValue = React.useMemo(function () {
38
- if (!selectedDates) return '';
39
- return date_picker_utils.DatePickerUtils.inputFormatValue(selectedDates, mode);
40
- }, [selectedDates, mode]);
48
+ if (!value) return inputValue;
49
+ return date_picker_utils.DatePickerUtils.inputFormatValue(value, mode);
50
+ }, [value, mode, inputValue]);
51
+ var defaultMonth = React.useMemo(function () {
52
+ if (!value) return undefined;
53
+ if (mode === 'single' && value instanceof Date) {
54
+ return value;
55
+ }
56
+ if (mode === 'range' && value && _rollupPluginBabelHelpers['typeof'](value) === 'object' && 'from' in value) {
57
+ return value.from;
58
+ }
59
+ return undefined;
60
+ }, [value, mode]);
61
+ var inputErrors = React.useMemo(function () {
62
+ if (internalValidationErrors && errors) {
63
+ return Array.isArray(errors) ? [].concat(_rollupPluginBabelHelpers.toConsumableArray(errors), [internalValidationErrors]) : [errors, internalValidationErrors];
64
+ }
65
+ if (internalValidationErrors) return internalValidationErrors;
66
+ return errors;
67
+ }, [internalValidationErrors, errors]);
41
68
  var handleDateSelect = function handleDateSelect(selected) {
42
69
  onChange === null || onChange === void 0 ? void 0 : onChange(selected);
70
+ setInputValue('');
71
+ setInternalValidationErrors(undefined);
43
72
  if (mode === 'single' && selected) {
44
73
  setOpen(false);
45
74
  }
46
75
  };
47
- return /*#__PURE__*/React__default['default'].createElement(popover.Popover, {
76
+ var handleInputChange = function handleInputChange(event) {
77
+ var typedValue = event.target.value;
78
+ setInputValue(typedValue);
79
+ if (typedValue.includes('_') || !typedValue) {
80
+ setInternalValidationErrors(undefined);
81
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
82
+ return;
83
+ }
84
+ if (mode === 'single') {
85
+ var parsedDate = date_picker_utils.DatePickerUtils.parseStringToDate(typedValue);
86
+ if (!parsedDate) {
87
+ setInternalValidationErrors(t("This date isn't available. Choose another one."));
88
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
89
+ return;
90
+ }
91
+ var isInRange = date_picker_utils.DatePickerUtils.isDateInRange(parsedDate, startMonth, endMonth);
92
+ var isDisabled = date_picker_utils.DatePickerUtils.isDateDisabled(parsedDate, disabledDays);
93
+ if (!isInRange) {
94
+ var formattedStart = startMonth ? date_picker_utils.DatePickerUtils.formatDate(startMonth) : '';
95
+ var lastDayOfEndMonth = endMonth ? new Date(endMonth.getFullYear(), endMonth.getMonth() + 1, 0) : null;
96
+ var formattedEnd = lastDayOfEndMonth ? date_picker_utils.DatePickerUtils.formatDate(lastDayOfEndMonth) : '';
97
+ var rangeMessage = t('Choose a date between {{start}}–{{end}}', {
98
+ start: formattedStart,
99
+ end: formattedEnd
100
+ });
101
+ setInternalValidationErrors(rangeMessage);
102
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
103
+ } else if (isDisabled) {
104
+ setInternalValidationErrors(t("This date isn't available. Choose another one."));
105
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
106
+ } else {
107
+ setInternalValidationErrors(undefined);
108
+ onChange === null || onChange === void 0 ? void 0 : onChange(parsedDate);
109
+ }
110
+ }
111
+ if (mode === 'range') {
112
+ var parsedRange = date_picker_utils.DatePickerUtils.parseStringToDateRange(typedValue);
113
+ if (parsedRange) {
114
+ onChange === null || onChange === void 0 ? void 0 : onChange(parsedRange);
115
+ } else {
116
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
117
+ }
118
+ }
119
+ };
120
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(popover.Popover, {
48
121
  open: open,
49
122
  onOpenChange: setOpen
50
- }, /*#__PURE__*/React__default['default'].createElement(popover_trigger.PopoverTrigger, {
51
- className: cn.cn('aurora-w-full', disabled && 'aurora-cursor-not-allowed'),
52
- disabled: disabled
53
123
  }, /*#__PURE__*/React__default['default'].createElement(date_picker_input.DatePickerInput, {
54
124
  id: id,
125
+ mode: mode,
55
126
  value: displayValue,
56
127
  placeholder: placeholder,
57
128
  disabled: disabled,
58
- errors: errors
59
- })), /*#__PURE__*/React__default['default'].createElement(date_picker_content.DatePickerContent, _rollupPluginBabelHelpers.objectSpread2({
129
+ errors: inputErrors,
130
+ onChange: handleInputChange
131
+ }), /*#__PURE__*/React__default['default'].createElement(date_picker_content.DatePickerContent, _rollupPluginBabelHelpers.objectSpread2({
60
132
  mode: mode,
61
- selected: selectedDates,
133
+ selected: value,
62
134
  onSelect: handleDateSelect,
63
- disabled: disabledDays
64
- }, dayPickerProps)));
135
+ disabled: disabledDays,
136
+ defaultMonth: defaultMonth,
137
+ startMonth: startMonth,
138
+ endMonth: endMonth
139
+ }, dayPickerProps))), internalValidationErrors ? /*#__PURE__*/React__default['default'].createElement(error_list.ErrorList, {
140
+ errors: internalValidationErrors
141
+ }) : null);
65
142
  };
66
143
 
67
144
  exports.DatePicker = DatePicker;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iEAAqE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var DATE_PICKER_FORMAT_CHARS = {
6
+ d: /[0-3]/,
7
+ D: /[0-9]/,
8
+ m: /[0-1]/,
9
+ M: /[0-9]/,
10
+ y: /[1-2]/,
11
+ Y: /[09]/
12
+ };
13
+
14
+ exports.DATE_PICKER_FORMAT_CHARS = DATE_PICKER_FORMAT_CHARS;
15
+ //# sourceMappingURL=date_picker_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -6,6 +6,21 @@ var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBa
6
6
  require('react-day-picker');
7
7
 
8
8
  var _DatePickerUtils;
9
+ var MASK_POSITIONS = {
10
+ SINGLE: {
11
+ DAY: 0,
12
+ MONTH: 3,
13
+ YEAR: 6
14
+ },
15
+ RANGE: {
16
+ DAY_START: 0,
17
+ MONTH_START: 3,
18
+ YEAR_START: 6,
19
+ DAY_END: 13,
20
+ MONTH_END: 16,
21
+ YEAR_END: 19
22
+ }
23
+ };
9
24
  var DatePickerUtils = /*#__PURE__*/_rollupPluginBabelHelpers.createClass(function DatePickerUtils() {
10
25
  _rollupPluginBabelHelpers.classCallCheck(this, DatePickerUtils);
11
26
  });
@@ -23,10 +38,6 @@ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "inputFormatValue", fu
23
38
  if (mode === 'single') {
24
39
  return _DatePickerUtils.formatDate(selected);
25
40
  }
26
- if (mode === 'multiple') {
27
- var dates = selected;
28
- return dates.length > 0 ? dates.map(_DatePickerUtils.formatDate).join(', ') : '';
29
- }
30
41
  if (mode === 'range') {
31
42
  var range = selected;
32
43
  if (range.from && range.to) {
@@ -38,6 +49,194 @@ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "inputFormatValue", fu
38
49
  }
39
50
  return '';
40
51
  });
52
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "parseStringToDate", function (dateString) {
53
+ if (!dateString || dateString.includes('_')) {
54
+ return null;
55
+ }
56
+ var parts = dateString.split('.');
57
+ if (parts.length !== 3) {
58
+ return null;
59
+ }
60
+ var day = parseInt(parts[0], 10);
61
+ var month = parseInt(parts[1], 10);
62
+ var year = parseInt(parts[2], 10);
63
+ if (isNaN(day) || isNaN(month) || isNaN(year)) {
64
+ return null;
65
+ }
66
+ if (month < 1 || month > 12 || day < 1 || day > 31 || year < 1000) {
67
+ return null;
68
+ }
69
+ var date = new Date(year, month - 1, day);
70
+ if (date.getDate() !== day || date.getMonth() !== month - 1 || date.getFullYear() !== year) {
71
+ return null;
72
+ }
73
+ return date;
74
+ });
75
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "parseStringToDateRange", function (rangeString) {
76
+ if (!rangeString || rangeString.includes('_')) {
77
+ return null;
78
+ }
79
+ var parts = rangeString.split(' - ');
80
+ if (parts.length !== 2) {
81
+ return null;
82
+ }
83
+ var fromDate = _DatePickerUtils.parseStringToDate(parts[0].trim());
84
+ var toDate = _DatePickerUtils.parseStringToDate(parts[1].trim());
85
+ if (!fromDate || !toDate) {
86
+ return null;
87
+ }
88
+ if (fromDate > toDate) {
89
+ return null;
90
+ }
91
+ return {
92
+ from: fromDate,
93
+ to: toDate
94
+ };
95
+ });
96
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "replaceCharWithPlaceholder", function (value, position) {
97
+ return value.substring(0, position) + '_' + value.substring(position + 1);
98
+ });
99
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "validateTwoDigitValue", function (value, startPos, firstDigit, maxSecondDigit) {
100
+ if (value.length < startPos + 2) return {
101
+ valid: true,
102
+ keepFirst: false
103
+ };
104
+ var first = value[startPos];
105
+ var second = value[startPos + 1];
106
+ if (second === '_') return {
107
+ valid: true,
108
+ keepFirst: false
109
+ };
110
+ if (first === '0' && second === '0') {
111
+ return {
112
+ valid: false,
113
+ keepFirst: false
114
+ };
115
+ }
116
+ if (first === firstDigit && parseInt(second) > maxSecondDigit) {
117
+ return {
118
+ valid: false,
119
+ keepFirst: true
120
+ };
121
+ }
122
+ return {
123
+ valid: true,
124
+ keepFirst: false
125
+ };
126
+ });
127
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "validateDayAtPosition", function (value, dayStartPos) {
128
+ return _DatePickerUtils.validateTwoDigitValue(value, dayStartPos, '3', 1);
129
+ });
130
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "validateMonthAtPosition", function (value, monthStartPos) {
131
+ return _DatePickerUtils.validateTwoDigitValue(value, monthStartPos, '1', 2);
132
+ });
133
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "validateYearAtPosition", function (value, yearStartPos) {
134
+ if (value.length < yearStartPos + 2) return {
135
+ valid: true,
136
+ keepFirst: false
137
+ };
138
+ var first = value[yearStartPos];
139
+ var second = value[yearStartPos + 1];
140
+ if (second === '_') return {
141
+ valid: true,
142
+ keepFirst: false
143
+ };
144
+ if (first === '1' && second !== '9') {
145
+ return {
146
+ valid: false,
147
+ keepFirst: true
148
+ };
149
+ }
150
+ if (first === '2' && second !== '0') {
151
+ return {
152
+ valid: false,
153
+ keepFirst: true
154
+ };
155
+ }
156
+ return {
157
+ valid: true,
158
+ keepFirst: false
159
+ };
160
+ });
161
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "handleInvalidInput", function (validation, value, currentValue, position, currentSelection, fallbackSelection) {
162
+ if (validation.keepFirst) {
163
+ var newValue = _DatePickerUtils.replaceCharWithPlaceholder(value, position + 1);
164
+ return {
165
+ value: newValue,
166
+ selection: {
167
+ start: position + 1,
168
+ end: position + 1
169
+ }
170
+ };
171
+ }
172
+ return {
173
+ value: currentValue,
174
+ selection: currentSelection || fallbackSelection || {
175
+ start: null,
176
+ end: null
177
+ }
178
+ };
179
+ });
180
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "validateDateMask", function (nextState, currentState) {
181
+ var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'single';
182
+ var value = nextState.value,
183
+ selection = nextState.selection;
184
+ var currentValue = (currentState === null || currentState === void 0 ? void 0 : currentState.value) || '';
185
+ var dayValidation = _DatePickerUtils.validateDayAtPosition(value, MASK_POSITIONS.SINGLE.DAY);
186
+ if (!dayValidation.valid) {
187
+ return _DatePickerUtils.handleInvalidInput(dayValidation, value, currentValue, MASK_POSITIONS.SINGLE.DAY, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
188
+ }
189
+ var monthValidation = _DatePickerUtils.validateMonthAtPosition(value, MASK_POSITIONS.SINGLE.MONTH);
190
+ if (!monthValidation.valid) {
191
+ return _DatePickerUtils.handleInvalidInput(monthValidation, value, currentValue, MASK_POSITIONS.SINGLE.MONTH, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
192
+ }
193
+ var yearValidation = _DatePickerUtils.validateYearAtPosition(value, MASK_POSITIONS.SINGLE.YEAR);
194
+ if (!yearValidation.valid) {
195
+ return _DatePickerUtils.handleInvalidInput(yearValidation, value, currentValue, MASK_POSITIONS.SINGLE.YEAR, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
196
+ }
197
+ if (mode === 'range') {
198
+ var dayValidation2 = _DatePickerUtils.validateDayAtPosition(value, MASK_POSITIONS.RANGE.DAY_END);
199
+ if (!dayValidation2.valid) {
200
+ return _DatePickerUtils.handleInvalidInput(dayValidation2, value, currentValue, MASK_POSITIONS.RANGE.DAY_END, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
201
+ }
202
+ var monthValidation2 = _DatePickerUtils.validateMonthAtPosition(value, MASK_POSITIONS.RANGE.MONTH_END);
203
+ if (!monthValidation2.valid) {
204
+ return _DatePickerUtils.handleInvalidInput(monthValidation2, value, currentValue, MASK_POSITIONS.RANGE.MONTH_END, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
205
+ }
206
+ var yearValidation2 = _DatePickerUtils.validateYearAtPosition(value, MASK_POSITIONS.RANGE.YEAR_END);
207
+ if (!yearValidation2.valid) {
208
+ return _DatePickerUtils.handleInvalidInput(yearValidation2, value, currentValue, MASK_POSITIONS.RANGE.YEAR_END, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
209
+ }
210
+ }
211
+ return nextState;
212
+ });
213
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "isDateInRange", function (date, startMonth, endMonth) {
214
+ if (!startMonth && !endMonth) return true;
215
+ if (startMonth) {
216
+ var minDate = new Date(startMonth.getFullYear(), startMonth.getMonth(), 1);
217
+ if (date < minDate) return false;
218
+ }
219
+ if (endMonth) {
220
+ var maxDate = new Date(endMonth.getFullYear(), endMonth.getMonth() + 1, 0);
221
+ if (date > maxDate) return false;
222
+ }
223
+ return true;
224
+ });
225
+ _rollupPluginBabelHelpers.defineProperty(DatePickerUtils, "isDateDisabled", function (date, disabledDays) {
226
+ if (!disabledDays) return false;
227
+ if (Array.isArray(disabledDays)) {
228
+ return disabledDays.some(function (disabledDate) {
229
+ if (disabledDate instanceof Date) {
230
+ return disabledDate.getFullYear() === date.getFullYear() && disabledDate.getMonth() === date.getMonth() && disabledDate.getDate() === date.getDate();
231
+ }
232
+ return false;
233
+ });
234
+ }
235
+ if (typeof disabledDays === 'function') {
236
+ return disabledDays(date);
237
+ }
238
+ return false;
239
+ });
41
240
 
42
241
  exports.DatePickerUtils = DatePickerUtils;
43
242
  //# sourceMappingURL=date_picker_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}