@elliemae/ds-date-picker 3.0.0-next.2 → 3.0.0-next.6

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 (118) hide show
  1. package/dist/cjs/DSDatePicker.js +248 -0
  2. package/dist/cjs/DSDatePicker.js.map +7 -0
  3. package/dist/cjs/components/DSDatePickerImpl.js +274 -0
  4. package/dist/cjs/components/DSDatePickerImpl.js.map +7 -0
  5. package/dist/cjs/components/DatePickerController/DatePickerController.js +335 -0
  6. package/dist/cjs/components/DatePickerController/DatePickerController.js.map +7 -0
  7. package/dist/cjs/components/DatePickerDay/DatePickerDay.js +49 -0
  8. package/dist/cjs/components/DatePickerDay/DatePickerDay.js.map +7 -0
  9. package/dist/cjs/components/DatePickerDropdown.js +102 -0
  10. package/dist/cjs/components/DatePickerDropdown.js.map +7 -0
  11. package/dist/cjs/components/DatePickerHeader/DatePickerHeader.js +74 -0
  12. package/dist/cjs/components/DatePickerHeader/DatePickerHeader.js.map +7 -0
  13. package/dist/cjs/components/DatePickerNavigation/DatePickerNavigation.js +63 -0
  14. package/dist/cjs/components/DatePickerNavigation/DatePickerNavigation.js.map +7 -0
  15. package/dist/cjs/components/DatePickerPicker/DatePickerPicker.js +112 -0
  16. package/dist/cjs/components/DatePickerPicker/DatePickerPicker.js.map +7 -0
  17. package/dist/cjs/components/DatePickerRange/DatePickerRange.js +126 -0
  18. package/dist/cjs/components/DatePickerRange/DatePickerRange.js.map +7 -0
  19. package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +138 -0
  20. package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +7 -0
  21. package/dist/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js +61 -0
  22. package/dist/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js.map +7 -0
  23. package/dist/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js +117 -0
  24. package/dist/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js.map +7 -0
  25. package/dist/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +80 -0
  26. package/dist/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +7 -0
  27. package/dist/cjs/components/index.js +53 -0
  28. package/dist/cjs/components/index.js.map +7 -0
  29. package/dist/cjs/defaultPhrases.js +246 -0
  30. package/dist/cjs/defaultPhrases.js.map +7 -0
  31. package/dist/cjs/index.js +38 -0
  32. package/dist/cjs/index.js.map +7 -0
  33. package/dist/esm/DSDatePicker.js +232 -0
  34. package/dist/esm/DSDatePicker.js.map +7 -0
  35. package/dist/esm/components/DSDatePickerImpl.js +245 -0
  36. package/dist/esm/components/DSDatePickerImpl.js.map +7 -0
  37. package/dist/esm/components/DatePickerController/DatePickerController.js +308 -0
  38. package/dist/esm/components/DatePickerController/DatePickerController.js.map +7 -0
  39. package/dist/esm/components/DatePickerDay/DatePickerDay.js +20 -0
  40. package/dist/esm/components/DatePickerDay/DatePickerDay.js.map +7 -0
  41. package/dist/esm/components/DatePickerDropdown.js +75 -0
  42. package/dist/esm/components/DatePickerDropdown.js.map +7 -0
  43. package/dist/esm/components/DatePickerHeader/DatePickerHeader.js +45 -0
  44. package/dist/esm/components/DatePickerHeader/DatePickerHeader.js.map +7 -0
  45. package/dist/esm/components/DatePickerNavigation/DatePickerNavigation.js +37 -0
  46. package/dist/esm/components/DatePickerNavigation/DatePickerNavigation.js.map +7 -0
  47. package/dist/esm/components/DatePickerPicker/DatePickerPicker.js +84 -0
  48. package/dist/esm/components/DatePickerPicker/DatePickerPicker.js.map +7 -0
  49. package/dist/esm/components/DatePickerRange/DatePickerRange.js +99 -0
  50. package/dist/esm/components/DatePickerRange/DatePickerRange.js.map +7 -0
  51. package/dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +109 -0
  52. package/dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +7 -0
  53. package/dist/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js +32 -0
  54. package/dist/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js.map +7 -0
  55. package/dist/esm/components/DatePickerSingleDate/DatePickerSingleDate.js +89 -0
  56. package/dist/esm/components/DatePickerSingleDate/DatePickerSingleDate.js.map +7 -0
  57. package/dist/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +51 -0
  58. package/dist/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +7 -0
  59. package/dist/esm/components/index.js +24 -0
  60. package/dist/esm/components/index.js.map +7 -0
  61. package/{esm → dist/esm}/defaultPhrases.js +48 -80
  62. package/dist/esm/defaultPhrases.js.map +7 -0
  63. package/dist/esm/index.js +9 -0
  64. package/dist/esm/index.js.map +7 -0
  65. package/package.json +63 -55
  66. package/cjs/DSDatePicker.js +0 -233
  67. package/cjs/components/DSDatePickerImpl.js +0 -354
  68. package/cjs/components/DatePickerController/DatePickerController.js +0 -360
  69. package/cjs/components/DatePickerDay/DatePickerDay.js +0 -24
  70. package/cjs/components/DatePickerDropdown.js +0 -65
  71. package/cjs/components/DatePickerHeader/DatePickerHeader.js +0 -56
  72. package/cjs/components/DatePickerNavigation/DatePickerNavigation.js +0 -32
  73. package/cjs/components/DatePickerPicker/DatePickerPicker.js +0 -74
  74. package/cjs/components/DatePickerRange/DatePickerRange.js +0 -119
  75. package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +0 -144
  76. package/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js +0 -46
  77. package/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js +0 -85
  78. package/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +0 -59
  79. package/cjs/components/index.js +0 -27
  80. package/cjs/defaultPhrases.js +0 -261
  81. package/cjs/index.js +0 -35
  82. package/esm/DSDatePicker.js +0 -211
  83. package/esm/components/DSDatePickerImpl.js +0 -346
  84. package/esm/components/DatePickerController/DatePickerController.js +0 -350
  85. package/esm/components/DatePickerDay/DatePickerDay.js +0 -18
  86. package/esm/components/DatePickerDropdown.js +0 -57
  87. package/esm/components/DatePickerHeader/DatePickerHeader.js +0 -49
  88. package/esm/components/DatePickerNavigation/DatePickerNavigation.js +0 -25
  89. package/esm/components/DatePickerPicker/DatePickerPicker.js +0 -60
  90. package/esm/components/DatePickerRange/DatePickerRange.js +0 -111
  91. package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +0 -137
  92. package/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js +0 -38
  93. package/esm/components/DatePickerSingleDate/DatePickerSingleDate.js +0 -77
  94. package/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +0 -53
  95. package/esm/components/index.js +0 -10
  96. package/esm/index.js +0 -13
  97. package/types/components/DSDatePickerImpl.d.ts +0 -20
  98. package/types/components/DatePickerController/DatePickerController.d.ts +0 -80
  99. package/types/components/DatePickerDay/DatePickerDay.d.ts +0 -13
  100. package/types/components/DatePickerDropdown.d.ts +0 -41
  101. package/types/components/DatePickerHeader/DatePickerHeader.d.ts +0 -15
  102. package/types/components/DatePickerNavigation/DatePickerNavigation.d.ts +0 -19
  103. package/types/components/DatePickerPicker/DatePickerPicker.d.ts +0 -48
  104. package/types/components/DatePickerRange/DatePickerRange.d.ts +0 -9
  105. package/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +0 -23
  106. package/types/components/DatePickerRangeHeader/tests/DatePickerRangeHeader.test.d.ts +0 -1
  107. package/types/components/DatePickerRenderMonth/DatePickerRenderMonth.d.ts +0 -5
  108. package/types/components/DatePickerSingleDate/DatePickerSingleDate.d.ts +0 -11
  109. package/types/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.d.ts +0 -16
  110. package/types/components/index.d.ts +0 -10
  111. package/types/components/tests/DatePickerHeader.test.d.ts +0 -1
  112. package/types/components/tests/DatePickerRange.test.d.ts +0 -1
  113. package/types/components/tests/DatePickerRangeHeader.test.d.ts +0 -1
  114. package/types/components/tests/DatePickerSelectedDate.test.d.ts +0 -1
  115. package/types/components/tests/DatePickerSingleDate.test.d.ts +0 -1
  116. package/types/components/tests/SingleRangeDateSwitcher.test.d.ts +0 -1
  117. package/types/defaultPhrases.d.ts +0 -225
  118. package/types/index.d.ts +0 -3
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('react');
5
-
6
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
-
8
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
9
-
10
- const Day = _ref => {
11
- let {
12
- className = 'date-picker-content-day',
13
- date = ''
14
- } = _ref;
15
- return /*#__PURE__*/_jsx__default["default"]("div", {
16
- className: className,
17
- "data-testid": "datepicker-day-".concat(date)
18
- }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
19
- className: "".concat(className, "-half"),
20
- "data-testid": "datepicker-day"
21
- }, void 0, date));
22
- };
23
-
24
- module.exports = Day;
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- require('core-js/modules/esnext.async-iterator.filter.js');
4
- require('core-js/modules/esnext.iterator.constructor.js');
5
- require('core-js/modules/esnext.iterator.filter.js');
6
- require('core-js/modules/esnext.async-iterator.for-each.js');
7
- require('core-js/modules/esnext.iterator.for-each.js');
8
- var _jsx = require('@babel/runtime/helpers/jsx');
9
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
- require('react');
11
- var dsClassnames = require('@elliemae/ds-classnames');
12
- var DSPopper = require('@elliemae/ds-popper');
13
- var DatePickerPicker = require('./DatePickerPicker/DatePickerPicker.js');
14
- var jsxRuntime = require('react/jsx-runtime');
15
-
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
- var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
21
-
22
- 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; }
23
-
24
- 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; }
25
- const {
26
- classNameElement
27
- } = dsClassnames.convertPropToCssClassName('datepicker-range');
28
-
29
- const noop = () => null;
30
-
31
- function DatePickerDropdown(_ref) {
32
- let {
33
- disabled = false,
34
- readOnly,
35
- onClick = noop,
36
- isOpen,
37
- menu,
38
- zIndex = 1,
39
- pickerProps,
40
- pickerRef
41
- } = _ref;
42
- return /*#__PURE__*/_jsx__default["default"](DSPopper__default["default"], {
43
- contentComponent: menu,
44
- isOpen: isOpen,
45
- modifiers: {
46
- preventOverflow: {
47
- enabled: true,
48
- padding: 0,
49
- boundariesElement: 'window'
50
- }
51
- },
52
- showArrow: false,
53
- triggerComponent: /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, /*#__PURE__*/jsxRuntime.jsx(DatePickerPicker.Picker, _objectSpread(_objectSpread({
54
- innerRef: pickerRef
55
- }, pickerProps), {}, {
56
- className: classNameElement('picker'),
57
- disabled: disabled,
58
- onClick: onClick,
59
- readOnly: readOnly
60
- }))),
61
- zIndex: zIndex
62
- });
63
- }
64
-
65
- module.exports = DatePickerDropdown;
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('core-js/modules/web.dom-collections.iterator.js');
5
- var React = require('react');
6
- var moment = require('moment');
7
- var dsForm = require('@elliemae/ds-form');
8
- var dsClassnames = require('@elliemae/ds-classnames');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
13
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
14
-
15
- const DATE_FORMAT = 'MMDDYYYY';
16
- const blockname = 'date-picker-header';
17
- const Header = dsClassnames.aggregatedClasses('div')(blockname);
18
-
19
- const isFn = variable => typeof variable === 'function';
20
-
21
- const DatePickerHeader = _ref => {
22
- let {
23
- onInputChange = () => null,
24
- selectedDate,
25
- updateKeyDate
26
- } = _ref;
27
- const [value, setValue] = React.useState(isFn(selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.format) ? selectedDate.format(DATE_FORMAT) : '');
28
- React.useEffect(() => {
29
- if (isFn(selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.format)) {
30
- setValue(selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.format(DATE_FORMAT));
31
- }
32
- }, [selectedDate]);
33
-
34
- const handleOnChange = newDate => {
35
- setValue(newDate);
36
- };
37
-
38
- const handleOnKeyDown = e => {
39
- if (e.key === 'Enter' && value.length === DATE_FORMAT.length) {
40
- const momentValue = moment__default["default"](value, DATE_FORMAT);
41
- onInputChange(momentValue);
42
- updateKeyDate(momentValue);
43
- }
44
- };
45
-
46
- return /*#__PURE__*/_jsx__default["default"](Header, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInputGroup, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSDateInputV2, {
47
- onChange: handleOnChange,
48
- onKeyDown: handleOnKeyDown,
49
- value: value,
50
- containerProps: {
51
- 'data-testid': 'start-date'
52
- }
53
- })));
54
- };
55
-
56
- module.exports = DatePickerHeader;
@@ -1,32 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('react');
5
- var ChevronRight = require('@elliemae/ds-icons/ChevronRight');
6
- var Icon = require('@elliemae/ds-basic/Icon');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
11
- var ChevronRight__default = /*#__PURE__*/_interopDefaultLegacy(ChevronRight);
12
-
13
- const Navigation = _ref => {
14
- let {
15
- className = 'date-picker-navigation',
16
- icon: Icon$1 = ChevronRight__default["default"],
17
- color = Icon.DSIconColors.NEUTRAL,
18
- size = Icon.DSIconSizes.S,
19
- innerRef
20
- } = _ref;
21
- return /*#__PURE__*/_jsx__default["default"]("div", {
22
- tabIndex: 0,
23
- "data-testid": "date-picker-nav"
24
- }, void 0, /*#__PURE__*/_jsx__default["default"](Icon$1, {
25
- className: className,
26
- color: color,
27
- innerRef: innerRef,
28
- size: size
29
- }));
30
- };
31
-
32
- module.exports = Navigation;
@@ -1,74 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx = require('@babel/runtime/helpers/jsx');
6
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
- require('react');
8
- var PropTypes = require('prop-types');
9
- var Icon = require('@elliemae/ds-basic/Icon');
10
- var DatePicker = require('@elliemae/ds-icons/DatePicker');
11
- var DSButton = require('@elliemae/ds-button');
12
- var propTypes = require('@elliemae/ds-shared/prop-types');
13
-
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
-
16
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
18
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
19
- var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
20
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
21
-
22
- var _DatePicker;
23
-
24
- const _excluded = ["className", "disabled", "icon", "size", "buttonActionType", "onClick", "onBlur", "readOnly", "tabIndex", "innerRef"];
25
- const Picker = _ref => {
26
- let {
27
- className = 'date-picker-icon',
28
- disabled = false,
29
- icon = _DatePicker || (_DatePicker = /*#__PURE__*/_jsx__default["default"](DatePicker__default["default"], {})),
30
- size = Icon.DSIconSizes.M,
31
- buttonActionType = 'secondary',
32
- onClick = () => null,
33
- onBlur = () => null,
34
- readOnly = false,
35
- tabIndex = 0,
36
- innerRef
37
- } = _ref,
38
- rest = _objectWithoutProperties__default["default"](_ref, _excluded);
39
-
40
- return /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
41
- innerRef: innerRef,
42
- "aria-label": rest['aria-label'] || 'Date Picker Button',
43
- buttonType: buttonActionType,
44
- className: className,
45
- color: !disabled ? Icon.DSIconColors.PRIMARY : Icon.DSIconColors.NEUTRAL,
46
- disabled: disabled,
47
- icon: icon,
48
- onBlur: onBlur,
49
- onClick: onClick,
50
- readOnly: readOnly,
51
- size: size,
52
- tabIndex: tabIndex,
53
- "data-testid": "btn-date-picker"
54
- });
55
- };
56
- const PickerPropsTypes = {
57
- innerRef: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].shape({
58
- current: PropTypes__default["default"].any
59
- })]),
60
- className: PropTypes__default["default"].string,
61
- disabled: PropTypes__default["default"].bool,
62
- icon: PropTypes__default["default"].element,
63
- size: PropTypes__default["default"].oneOf(propTypes.iconSizes),
64
- buttonActionType: PropTypes__default["default"].oneOf(DSButton.buttonTypes),
65
- onClick: PropTypes__default["default"].func,
66
- onFocus: PropTypes__default["default"].func,
67
- onBlur: PropTypes__default["default"].func,
68
- readOnly: PropTypes__default["default"].bool,
69
- tabIndex: PropTypes__default["default"].number
70
- };
71
-
72
- exports.Picker = Picker;
73
- exports.PickerPropsTypes = PickerPropsTypes;
74
- exports["default"] = Picker;
@@ -1,119 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var _jsx = require('@babel/runtime/helpers/jsx');
5
- require('core-js/modules/web.dom-collections.iterator.js');
6
- require('core-js/modules/esnext.async-iterator.filter.js');
7
- require('core-js/modules/esnext.iterator.constructor.js');
8
- require('core-js/modules/esnext.iterator.filter.js');
9
- require('core-js/modules/esnext.async-iterator.for-each.js');
10
- require('core-js/modules/esnext.iterator.for-each.js');
11
- var React = require('react');
12
- var reactDates = require('react-dates');
13
- var moment = require('moment');
14
- var dsClassnames = require('@elliemae/ds-classnames');
15
- var dsIcons = require('@elliemae/ds-icons');
16
- var DatePickerDay = require('../DatePickerDay/DatePickerDay.js');
17
- var DatePickerNavigation = require('../DatePickerNavigation/DatePickerNavigation.js');
18
- var DatePickerRangeHeader = require('../DatePickerRangeHeader/DatePickerRangeHeader.js');
19
- var jsxRuntime = require('react/jsx-runtime');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
25
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
26
-
27
- 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; }
28
-
29
- 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; }
30
- const blockname = 'date-range';
31
- const Wrapper = dsClassnames.aggregatedClasses('div')(blockname, 'wrapper');
32
- const {
33
- classNameElement,
34
- classNameBlock
35
- } = dsClassnames.convertPropToCssClassName('datepicker');
36
- const START_DATE = 'startDate';
37
- const END_DATE = 'endDate';
38
-
39
- const DatePickerRangeDate = _ref => {
40
- let {
41
- dateStart,
42
- dateEnd,
43
- displayFormatDay = 'D',
44
- showHeader = true,
45
- otherProps
46
- } = _ref;
47
- const [selectedDateStart, setSelectedDateStart] = React.useState(dateStart);
48
- const [selectedDateEnd, setSelectedDateEnd] = React.useState(dateEnd);
49
- const [focusedInput, setFocusedInput] = React.useState(START_DATE);
50
- const datePickerRef = React.useRef();
51
-
52
- const handleFocusChange = () => {
53
- setFocusedInput(focusedInput === START_DATE ? END_DATE : START_DATE);
54
- };
55
-
56
- const handleDatesChange = _ref2 => {
57
- let {
58
- startDate,
59
- endDate
60
- } = _ref2;
61
- setSelectedDateStart(startDate);
62
- setSelectedDateEnd(endDate);
63
- };
64
-
65
- const handleStartInputChange = newDate => {
66
- setSelectedDateStart(newDate);
67
- };
68
-
69
- const handleEndInputChange = newDate => {
70
- setSelectedDateEnd(newDate);
71
- };
72
-
73
- const getSafeDateStartValue = () => {
74
- if (selectedDateStart) {
75
- return moment__default["default"](selectedDateStart);
76
- }
77
- };
78
-
79
- const getSafeDateEndValue = () => {
80
- if (selectedDateEnd) {
81
- return moment__default["default"](selectedDateEnd);
82
- }
83
- };
84
-
85
- const safeStartDate = getSafeDateStartValue();
86
- const safeEndDate = getSafeDateEndValue();
87
- return /*#__PURE__*/_jsx__default["default"](Wrapper, {}, void 0, showHeader && /*#__PURE__*/_jsx__default["default"](DatePickerRangeHeader, {
88
- onEndInputChange: handleEndInputChange,
89
- onStartInputChange: handleStartInputChange,
90
- selectedEndDate: safeEndDate,
91
- selectedStartDate: safeStartDate
92
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
93
- ref: datePickerRef,
94
- className: classNameBlock('wrapper-day-picker-single-date-controller'),
95
- children: /*#__PURE__*/jsxRuntime.jsx(reactDates.DayPickerRangeController, _objectSpread(_objectSpread({}, otherProps), {}, {
96
- enableOutsideDays: true,
97
- endDate: safeEndDate,
98
- focused: true,
99
- focusedInput: focusedInput,
100
- hideKeyboardShortcutsPanel: true,
101
- navNext: /*#__PURE__*/_jsx__default["default"](DatePickerNavigation, {
102
- className: classNameElement('navigation-next')
103
- }),
104
- navPrev: /*#__PURE__*/_jsx__default["default"](DatePickerNavigation, {
105
- className: classNameElement('navigation-prev'),
106
- icon: dsIcons.ChevronLeft
107
- }),
108
- onDatesChange: handleDatesChange,
109
- onFocusChange: handleFocusChange,
110
- renderDayContents: date => /*#__PURE__*/_jsx__default["default"](DatePickerDay, {
111
- className: classNameElement('day-contents'),
112
- date: date.format(displayFormatDay)
113
- }),
114
- startDate: safeStartDate
115
- }))
116
- }));
117
- };
118
-
119
- module.exports = DatePickerRangeDate;
@@ -1,144 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('core-js/modules/web.dom-collections.iterator.js');
5
- var React = require('react');
6
- var moment = require('moment');
7
- var dsForm = require('@elliemae/ds-form');
8
- var dsClassnames = require('@elliemae/ds-classnames');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
13
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
14
-
15
- const blockname = 'date-range-picker';
16
- const DATE_FORMAT = 'MMDDYYYY'; // When year is greater than 999 it means the user finished writing
17
- // the year for the range, because they must type 4 numbers for the year
18
- // to be higher than 999
19
-
20
- const MAGIC_NUMBER = 999;
21
- const Header = dsClassnames.aggregatedClasses('div')(blockname, 'header', _ref => {
22
- let {
23
- invalidDate
24
- } = _ref;
25
- return {
26
- invalidDate
27
- };
28
- });
29
-
30
- const DatePickerRangeHeader = _ref2 => {
31
- let {
32
- onStartInputChange = () => null,
33
- onEndInputChange = () => null,
34
- onFocusChange = () => null,
35
- selectedStartDate,
36
- selectedEndDate,
37
- handleDatesChange,
38
- autoJumpOnEdit = true
39
- } = _ref2;
40
- const [startValue, setStartValue] = React.useState(selectedStartDate);
41
- const [endValue, setEndValue] = React.useState(selectedEndDate);
42
- const startInputRef = React.useRef();
43
- const endInputRef = React.useRef();
44
- React.useEffect(() => {
45
- if (selectedStartDate) {
46
- setStartValue(selectedStartDate.format(DATE_FORMAT));
47
- }
48
-
49
- if (selectedEndDate) {
50
- setEndValue(selectedEndDate.format(DATE_FORMAT));
51
- }
52
- }, [selectedStartDate, selectedEndDate]);
53
-
54
- const isValidRangeDate = (start, end) => {
55
- let isValidRange = false;
56
-
57
- if (start && end) {
58
- const momentStart = moment__default["default"](start, DATE_FORMAT);
59
- const momentEnd = moment__default["default"](end, DATE_FORMAT);
60
- isValidRange = momentStart.isBefore(momentEnd);
61
- }
62
-
63
- return isValidRange;
64
- };
65
-
66
- const handleOnFocus = inputType => onFocusChange(inputType);
67
-
68
- const handleOnChangeStart = newStartValue => {
69
- var _endInputRef$current, _endInputRef$current$;
70
-
71
- const y = newStartValue.substring(4);
72
- const momentValue = moment__default["default"](newStartValue, DATE_FORMAT);
73
-
74
- if (newStartValue && newStartValue.length === DATE_FORMAT.length) {
75
- onStartInputChange(momentValue);
76
- }
77
-
78
- setStartValue(newStartValue);
79
-
80
- if (autoJumpOnEdit && parseInt(y, 10) > MAGIC_NUMBER && endInputRef !== null && endInputRef !== void 0 && (_endInputRef$current = endInputRef.current) !== null && _endInputRef$current !== void 0 && (_endInputRef$current$ = _endInputRef$current.firstChild) !== null && _endInputRef$current$ !== void 0 && _endInputRef$current$.focus) {
81
- endInputRef.current.firstChild.focus();
82
- }
83
- };
84
-
85
- const handleOnChangeEnd = newEndValue => {
86
- const momentValue = moment__default["default"](newEndValue, DATE_FORMAT);
87
-
88
- if (isValidRangeDate(startValue, newEndValue) && newEndValue && newEndValue.length === DATE_FORMAT.length) {
89
- onEndInputChange(momentValue);
90
- }
91
-
92
- setEndValue(newEndValue);
93
- };
94
-
95
- const handleOnKeyDownStart = e => {
96
- const isValid = isValidRangeDate(startValue, endValue);
97
- const momentStart = moment__default["default"](startValue, DATE_FORMAT);
98
- const momentEnd = moment__default["default"](endValue, DATE_FORMAT);
99
-
100
- if (e.key === 'Enter' && startValue) {
101
- onStartInputChange(momentStart);
102
- if (isValid) handleDatesChange({
103
- startDate: momentStart,
104
- endDate: momentEnd
105
- });
106
- }
107
- };
108
-
109
- const handleOnKeyDownEnd = e => {
110
- const isValid = isValidRangeDate(startValue, endValue);
111
- const momentStart = moment__default["default"](startValue, DATE_FORMAT);
112
- const momentEnd = moment__default["default"](endValue, DATE_FORMAT);
113
-
114
- if (e.key === 'Enter' && isValid) {
115
- handleDatesChange({
116
- startDate: momentStart,
117
- endDate: momentEnd
118
- });
119
- onEndInputChange(momentEnd);
120
- }
121
- };
122
-
123
- return /*#__PURE__*/_jsx__default["default"](Header, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInputGroup, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSDateInputV2, {
124
- containerProps: {
125
- 'data-testid': 'start-date'
126
- },
127
- innerRef: startInputRef,
128
- onChange: handleOnChangeStart,
129
- onFocus: () => handleOnFocus('startDate'),
130
- onKeyDown: handleOnKeyDownStart,
131
- value: startValue
132
- }), /*#__PURE__*/_jsx__default["default"](dsForm.DSDateInputV2, {
133
- containerProps: {
134
- 'data-testid': 'end-date'
135
- },
136
- innerRef: endInputRef,
137
- onChange: handleOnChangeEnd,
138
- onFocus: () => handleOnFocus('endDate'),
139
- onKeyDown: handleOnKeyDownEnd,
140
- value: endValue
141
- })));
142
- };
143
-
144
- module.exports = DatePickerRangeHeader;
@@ -1,46 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx = require('@babel/runtime/helpers/jsx');
6
- require('react');
7
- var dsIcons = require('@elliemae/ds-icons');
8
- var dsGrid = require('@elliemae/ds-grid');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
13
-
14
- var _ChevronDoubleLeft, _ChevronDoubleRight;
15
- const renderMonthElement = _ref => {
16
- let {
17
- month,
18
- onYearSelect
19
- } = _ref;
20
- return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
21
- height: "20px",
22
- cols: ['auto', 1, 'auto'],
23
- alignItems: "flex-end",
24
- mr: "10px"
25
- }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
26
- role: "button",
27
- tabIndex: "0",
28
- "data-testid": "date-picker-prev-year-arrow",
29
- onClick: () => onYearSelect(month, month.year() - 1)
30
- }, void 0, _ChevronDoubleLeft || (_ChevronDoubleLeft = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronDoubleLeft, {
31
- width: 13.6,
32
- height: 13.6
33
- })))), /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
34
- "data-testid": "date-picker-header"
35
- }, void 0, /*#__PURE__*/_jsx__default["default"]("strong", {}, void 0, month.format('MMMM YYYY'))), /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
36
- role: "button",
37
- tabIndex: "0",
38
- "data-testid": "date-picker-next-year-arrow",
39
- onClick: () => onYearSelect(month, month.year() + 1)
40
- }, void 0, _ChevronDoubleRight || (_ChevronDoubleRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronDoubleRight, {
41
- width: 13.6,
42
- height: 13.6
43
- })))));
44
- };
45
-
46
- exports.renderMonthElement = renderMonthElement;
@@ -1,85 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- require('core-js/modules/web.dom-collections.iterator.js');
6
- var React = require('react');
7
- var reactDates = require('react-dates');
8
- var moment = require('moment');
9
- var dsClassnames = require('@elliemae/ds-classnames');
10
- var dsIcons = require('@elliemae/ds-icons');
11
- var DatePickerDay = require('../DatePickerDay/DatePickerDay.js');
12
- var DatePickerNavigation = require('../DatePickerNavigation/DatePickerNavigation.js');
13
- var DatePickerHeader = require('../DatePickerHeader/DatePickerHeader.js');
14
- var jsxRuntime = require('react/jsx-runtime');
15
-
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
20
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
21
-
22
- const _excluded = ["date", "displayFormatDay", "isDayHighlighted", "enableOutsideDays", "showHeader", "onChange"];
23
- const blockname = 'single-date';
24
- const Wrapper = dsClassnames.aggregatedClasses('div')(blockname, 'wrapper');
25
- const {
26
- classNameElement,
27
- classNameBlock
28
- } = dsClassnames.convertPropToCssClassName('datepicker');
29
-
30
- const DatePickerSingleDate = _ref => {
31
- let {
32
- date,
33
- displayFormatDay = 'D',
34
- isDayHighlighted = () => false,
35
- enableOutsideDays = true,
36
- showHeader = true,
37
- onChange = () => null
38
- } = _ref,
39
- rest = _objectWithoutProperties__default["default"](_ref, _excluded);
40
-
41
- const [selectedDate, setSelectedDate] = React.useState(date);
42
- const [key, setKey] = React.useState(moment__default["default"]());
43
- const datePickerRef = React.useRef();
44
-
45
- const updateKeyDate = newDate => {
46
- setKey(newDate);
47
- };
48
-
49
- const handleDateChange = newDate => {
50
- setSelectedDate(newDate);
51
- setTimeout(() => onChange(newDate), 500);
52
- };
53
-
54
- return /*#__PURE__*/_jsx__default["default"](Wrapper, {}, void 0, showHeader && /*#__PURE__*/_jsx__default["default"](DatePickerHeader, {
55
- onInputChange: handleDateChange,
56
- selectedDate: selectedDate,
57
- updateKeyDate: updateKeyDate
58
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
59
- ref: datePickerRef,
60
- className: classNameBlock('wrapper-day-picker-single-date-controller'),
61
- "data-testid": rest['data-testid'] || 'date-picker-single-date',
62
- children: /*#__PURE__*/_jsx__default["default"](reactDates.DayPickerSingleDateController, {
63
- date: selectedDate,
64
- enableOutsideDays: enableOutsideDays,
65
- focused: true,
66
- hideKeyboardShortcutsPanel: true,
67
- isDayHighlighted: isDayHighlighted,
68
- keepOpenOnDateSelect: true,
69
- navNext: /*#__PURE__*/_jsx__default["default"](DatePickerNavigation, {
70
- className: classNameElement('navigation-next')
71
- }),
72
- navPrev: /*#__PURE__*/_jsx__default["default"](DatePickerNavigation, {
73
- className: classNameElement('navigation-prev'),
74
- icon: dsIcons.ChevronLeft
75
- }),
76
- onDateChange: handleDateChange,
77
- renderDayContents: givenDate => /*#__PURE__*/_jsx__default["default"](DatePickerDay, {
78
- className: classNameElement('day-contents'),
79
- date: givenDate.format(displayFormatDay)
80
- })
81
- }, key)
82
- }));
83
- };
84
-
85
- module.exports = DatePickerSingleDate;