@elliemae/ds-time-picker 1.60.0 → 2.0.0-alpha.12

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 (54) hide show
  1. package/cjs/DSTimePicker.js +28 -71
  2. package/cjs/DSTimePickerMenu.js +17 -27
  3. package/cjs/PickerPanel.js +323 -340
  4. package/cjs/TimePickerDropdown.js +19 -29
  5. package/cjs/TimePickerImpl.js +89 -124
  6. package/cjs/TimePickerMenu.js +257 -295
  7. package/cjs/index.js +1 -30
  8. package/cjs/moveElementOnScroll.js +19 -28
  9. package/cjs/utils.js +14 -19
  10. package/esm/DSTimePicker.js +27 -69
  11. package/esm/DSTimePickerMenu.js +14 -25
  12. package/esm/PickerPanel.js +321 -330
  13. package/esm/TimePickerDropdown.js +18 -27
  14. package/esm/TimePickerImpl.js +84 -117
  15. package/esm/TimePickerMenu.js +254 -285
  16. package/esm/index.js +0 -29
  17. package/esm/moveElementOnScroll.js +18 -27
  18. package/esm/utils.js +14 -19
  19. package/package.json +66 -17
  20. package/types/DSTimePicker.d.ts +181 -0
  21. package/types/DSTimePickerMenu.d.ts +4 -0
  22. package/types/PickerPanel.d.ts +24 -0
  23. package/types/TimePickerDropdown.d.ts +25 -0
  24. package/types/TimePickerImpl.d.ts +35 -0
  25. package/types/TimePickerMenu.d.ts +19 -0
  26. package/types/index.d.ts +5 -0
  27. package/types/moveElementOnScroll.d.ts +13 -0
  28. package/types/utils.d.ts +8 -0
  29. package/DSTimePicker/package.json +0 -10
  30. package/DSTimePickerMenu/package.json +0 -10
  31. package/PickerPanel/package.json +0 -10
  32. package/TimePickerDropdown/package.json +0 -10
  33. package/TimePickerImpl/package.json +0 -10
  34. package/TimePickerMenu/package.json +0 -10
  35. package/cjs/DSTimePicker.js.map +0 -1
  36. package/cjs/DSTimePickerMenu.js.map +0 -1
  37. package/cjs/PickerPanel.js.map +0 -1
  38. package/cjs/TimePickerDropdown.js.map +0 -1
  39. package/cjs/TimePickerImpl.js.map +0 -1
  40. package/cjs/TimePickerMenu.js.map +0 -1
  41. package/cjs/index.js.map +0 -1
  42. package/cjs/moveElementOnScroll.js.map +0 -1
  43. package/cjs/utils.js.map +0 -1
  44. package/esm/DSTimePicker.js.map +0 -1
  45. package/esm/DSTimePickerMenu.js.map +0 -1
  46. package/esm/PickerPanel.js.map +0 -1
  47. package/esm/TimePickerDropdown.js.map +0 -1
  48. package/esm/TimePickerImpl.js.map +0 -1
  49. package/esm/TimePickerMenu.js.map +0 -1
  50. package/esm/index.js.map +0 -1
  51. package/esm/moveElementOnScroll.js.map +0 -1
  52. package/esm/utils.js.map +0 -1
  53. package/moveElementOnScroll/package.json +0 -10
  54. package/utils/package.json +0 -10
@@ -1,20 +1,23 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
3
  import { RecentDocuments } from '@elliemae/ds-icons';
4
4
  import DSButton from '@elliemae/ds-button';
5
5
  import DSPopper from '@elliemae/ds-popper';
6
6
 
7
- var TimePickerDropdown = function TimePickerDropdown(_ref) {
8
- var _ref$disabled = _ref.disabled,
9
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
10
- onClick = _ref.onClick,
11
- onOpen = _ref.onOpen,
12
- isOpen = _ref.isOpen,
13
- menu = _ref.menu,
14
- zIndex = _ref.zIndex,
15
- blockName = _ref.blockName,
16
- placement = _ref.placement;
17
- return /*#__PURE__*/React.createElement(DSPopper, {
7
+ var _RecentDocuments;
8
+
9
+ const TimePickerDropdown = _ref => {
10
+ let {
11
+ disabled = false,
12
+ onClick,
13
+ onOpen,
14
+ isOpen,
15
+ menu,
16
+ zIndex,
17
+ blockName,
18
+ placement
19
+ } = _ref;
20
+ return /*#__PURE__*/_jsx(DSPopper, {
18
21
  blockName: blockName,
19
22
  placement: placement,
20
23
  contentComponent: menu,
@@ -28,10 +31,10 @@ var TimePickerDropdown = function TimePickerDropdown(_ref) {
28
31
  }
29
32
  },
30
33
  showArrow: false,
31
- triggerComponent: /*#__PURE__*/React.createElement(DSButton, {
34
+ triggerComponent: /*#__PURE__*/_jsx(DSButton, {
32
35
  buttonType: "secondary",
33
36
  disabled: disabled,
34
- icon: /*#__PURE__*/React.createElement(RecentDocuments, null),
37
+ icon: _RecentDocuments || (_RecentDocuments = /*#__PURE__*/_jsx(RecentDocuments, {})),
35
38
  iconSize: "s",
36
39
  onClick: onClick
37
40
  }),
@@ -39,16 +42,4 @@ var TimePickerDropdown = function TimePickerDropdown(_ref) {
39
42
  });
40
43
  };
41
44
 
42
- TimePickerDropdown.propTypes = {
43
- onClick: PropTypes.func,
44
- onOpen: PropTypes.func,
45
- disabled: PropTypes.bool,
46
- isOpen: PropTypes.bool,
47
- menu: PropTypes.element,
48
- blockName: PropTypes.string,
49
- placement: PropTypes.string,
50
- zIndex: PropTypes.number
51
- };
52
-
53
45
  export { TimePickerDropdown as default };
54
- //# sourceMappingURL=TimePickerDropdown.js.map
@@ -1,8 +1,13 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
2
- import _extends from '@babel/runtime/helpers/esm/extends';
3
- import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
4
- import React, { useState, useRef, useEffect } from 'react';
5
- import PropTypes from 'prop-types';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
8
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
9
+ import 'core-js/modules/web.dom-collections.iterator.js';
10
+ import { useState, useRef, useEffect } from 'react';
6
11
  import moment from 'moment';
7
12
  import memoizeOne from 'memoize-one';
8
13
  import { getVisibleTimeByFormat } from '@elliemae/ds-utilities';
@@ -11,94 +16,72 @@ import { DSInputGroup, DSInput, TimeInputImpl } from '@elliemae/ds-form';
11
16
  import { TimePickerMenu } from './TimePickerMenu.js';
12
17
  import TimePickerDropdown from './TimePickerDropdown.js';
13
18
  import { convertTimeString } from './utils.js';
14
- import '@babel/runtime/helpers/esm/defineProperty';
15
- import '@babel/runtime/helpers/esm/classCallCheck';
16
- import '@babel/runtime/helpers/esm/createClass';
17
- import '@babel/runtime/helpers/esm/assertThisInitialized';
18
- import '@babel/runtime/helpers/esm/inherits';
19
- import '@babel/runtime/helpers/esm/possibleConstructorReturn';
20
- import '@babel/runtime/helpers/esm/getPrototypeOf';
21
- import './PickerPanel.js';
22
- import '@babel/runtime/helpers/esm/toArray';
23
- import 'lodash';
24
- import '@elliemae/ds-icons';
25
- import '@elliemae/ds-button';
26
- import './moveElementOnScroll.js';
27
- import '@elliemae/ds-popper';
19
+ import { jsx } from 'react/jsx-runtime';
28
20
 
29
- var _excluded = ["onChange"];
30
- var blockName = 'time-picker';
31
- var TimePickerContainer = aggregatedClasses(DSInputGroup)(blockName, null, function (_ref) {
32
- var isMenuOpened = _ref.isMenuOpened;
21
+ const _excluded = ["onChange"];
22
+
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
+
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ const blockName = 'time-picker';
27
+ const TimePickerContainer = aggregatedClasses(DSInputGroup)(blockName, null, _ref => {
28
+ let {
29
+ isMenuOpened
30
+ } = _ref;
33
31
  return {
34
- isMenuOpened: isMenuOpened
32
+ isMenuOpened
35
33
  };
36
34
  });
37
35
 
38
- var TimePickerImpl = function TimePickerImpl(_ref2) {
39
- var value = _ref2.value,
40
- onChange = _ref2.onChange,
41
- onOpen = _ref2.onOpen,
42
- format = _ref2.format,
43
- disabled = _ref2.disabled,
44
- hasHeader = _ref2.hasHeader,
45
- hasHeaderDisplay = _ref2.hasHeaderDisplay,
46
- className = _ref2.className,
47
- containerProps = _ref2.containerProps,
48
- placement = _ref2.placement,
49
- zIndex = _ref2.zIndex,
50
- disabledTimes = _ref2.disabledTimes,
51
- minutesInterval = _ref2.minutesInterval;
52
-
53
- var _useState = useState(),
54
- _useState2 = _slicedToArray(_useState, 2),
55
- time = _useState2[0],
56
- setTime = _useState2[1];
57
-
58
- var _useState3 = useState(false),
59
- _useState4 = _slicedToArray(_useState3, 2),
60
- isMenuOpened = _useState4[0],
61
- setIsMenuOpened = _useState4[1];
62
-
63
- var _useState5 = useState(null),
64
- _useState6 = _slicedToArray(_useState5, 2),
65
- focusedColumn = _useState6[0],
66
- setFocusedColumn = _useState6[1];
67
-
68
- var timePickerRef = useRef();
69
- useEffect(function () {
36
+ const TimePickerImpl = _ref2 => {
37
+ let {
38
+ value,
39
+ onChange,
40
+ onOpen,
41
+ format,
42
+ disabled,
43
+ hasHeader,
44
+ hasHeaderDisplay,
45
+ className,
46
+ containerProps,
47
+ placement,
48
+ zIndex,
49
+ disabledTimes,
50
+ minutesInterval
51
+ } = _ref2;
52
+ const [time, setTime] = useState();
53
+ const [isMenuOpened, setIsMenuOpened] = useState(false);
54
+ const [focusedColumn, setFocusedColumn] = useState(null);
55
+ const timePickerRef = useRef();
56
+ useEffect(() => {
70
57
  if (moment(value).isValid()) setTime(moment(value));else if (value === null) setTime(undefined);
71
58
  }, [value]);
72
- useEffect(function () {
59
+ useEffect(() => {
73
60
  window.addEventListener('click', handleClickOutside, false);
74
- return function () {
75
- return window.removeEventListener('click', handleClickOutside, false);
76
- };
61
+ return () => window.removeEventListener('click', handleClickOutside, false);
77
62
  }, []);
78
- useEffect(function () {
63
+ useEffect(() => {
79
64
  window.addEventListener('keydown', handleKeyDown, false);
80
- return function () {
81
- return window.removeEventListener('keydown', handleKeyDown, false);
82
- };
65
+ return () => window.removeEventListener('keydown', handleKeyDown, false);
83
66
  }, []);
84
- useEffect(function () {
67
+ useEffect(() => {
85
68
  if (isMenuOpened) handleChangeFocus();
86
69
  }, [isMenuOpened]);
87
70
 
88
- var handleClickOutside = function handleClickOutside() {
71
+ const handleClickOutside = () => {
89
72
  if (isMenuOpened) setIsMenuOpened(false);
90
73
  };
91
74
 
92
- var handleKeyDown = function handleKeyDown(event) {
93
- var key = event.key;
94
- var menuOpenKeys = ['Escape', ' ', 'Enter'];
75
+ const handleKeyDown = event => {
76
+ const {
77
+ key
78
+ } = event;
79
+ const menuOpenKeys = ['Escape', ' ', 'Enter'];
95
80
  if (menuOpenKeys.includes(key)) setIsMenuOpened(false);
96
81
  };
97
82
 
98
- var handleChangeFocus = function handleChangeFocus() {
99
- var _document$getElements = document.getElementsByClassName('em-ds-time-picker-panel'),
100
- _document$getElements2 = _slicedToArray(_document$getElements, 1),
101
- firstColumn = _document$getElements2[0];
83
+ const handleChangeFocus = () => {
84
+ const [firstColumn] = document.getElementsByClassName('em-ds-time-picker-panel');
102
85
 
103
86
  if (firstColumn && !focusedColumn) {
104
87
  setFocusedColumn(firstColumn);
@@ -106,65 +89,66 @@ var TimePickerImpl = function TimePickerImpl(_ref2) {
106
89
  }
107
90
  };
108
91
 
109
- var handlePickerChange = function handlePickerChange(newTime) {
92
+ const handlePickerChange = newTime => {
110
93
  setTime(moment(newTime));
111
94
  onChange(moment(newTime));
112
95
  };
113
96
 
114
- var handleInputChange = function handleInputChange(newTime) {
97
+ const handleInputChange = newTime => {
115
98
  setTime(newTime);
116
99
  onChange(newTime);
117
100
  };
118
101
 
119
- var handleMenuOpen = function handleMenuOpen(isOpen) {
102
+ const handleMenuOpen = isOpen => {
120
103
  onOpen(isOpen);
121
104
  setIsMenuOpened(isOpen);
122
105
  if (!isOpen) setFocusedColumn(null);
123
106
  };
124
107
 
125
- var getVisibleTimePanels = memoizeOne(function (format) {
126
- return getVisibleTimeByFormat(format);
127
- });
128
- var timePickerBlockName = convertPropToCssClassName(blockName);
129
- var visiblePanels = getVisibleTimePanels(format);
130
- var disabledTimeRange = disabledTimes && {
108
+ const getVisibleTimePanels = memoizeOne(format => getVisibleTimeByFormat(format));
109
+ const timePickerBlockName = convertPropToCssClassName(blockName);
110
+ const visiblePanels = getVisibleTimePanels(format);
111
+ const disabledTimeRange = disabledTimes && {
131
112
  from: convertTimeString(disabledTimes.from),
132
113
  to: convertTimeString(disabledTimes.to)
133
114
  };
134
- return /*#__PURE__*/React.createElement(TimePickerContainer, {
115
+ return /*#__PURE__*/_jsx(TimePickerContainer, {
135
116
  className: "".concat(className, " variant-").concat(!disabled ? 'default' : 'disabled'),
136
117
  containerProps: containerProps,
137
118
  disabled: disabled,
138
- rightAddon: /*#__PURE__*/React.createElement(TimePickerDropdown, {
119
+ rightAddon: /*#__PURE__*/_jsx(TimePickerDropdown, {
139
120
  blockName: timePickerBlockName,
140
121
  disabled: disabled,
141
122
  isOpen: isMenuOpened,
142
123
  zIndex: zIndex,
143
124
  placement: placement,
144
125
  onOpen: handleMenuOpen,
145
- onClick: function onClick(e) {
126
+ onClick: e => {
146
127
  e.preventDefault();
147
128
  handleMenuOpen(!isMenuOpened);
148
129
  },
149
- menu: /*#__PURE__*/React.createElement("div", {
150
- ref: timePickerRef
151
- }, /*#__PURE__*/React.createElement(TimePickerMenu, _extends({
152
- disabled: disabled,
153
- disabledTimes: disabledTimeRange,
154
- format: format,
155
- hasHeader: hasHeader,
156
- hasHeaderDisplay: hasHeaderDisplay,
157
- onTimeChange: handlePickerChange,
158
- minutesInterval: minutesInterval,
159
- time: time
160
- }, visiblePanels)))
130
+ menu: /*#__PURE__*/jsx("div", {
131
+ ref: timePickerRef,
132
+ children: /*#__PURE__*/jsx(TimePickerMenu, _objectSpread({
133
+ disabled: disabled,
134
+ disabledTimes: disabledTimeRange,
135
+ format: format,
136
+ hasHeader: hasHeader,
137
+ hasHeaderDisplay: hasHeaderDisplay,
138
+ onTimeChange: handlePickerChange,
139
+ minutesInterval: minutesInterval,
140
+ time: time
141
+ }, visiblePanels))
142
+ })
161
143
  })
162
- }, /*#__PURE__*/React.createElement(DSInput, {
163
- customInputType: function customInputType(_ref3) {
164
- var handleChange = _ref3.onChange,
144
+ }, void 0, /*#__PURE__*/_jsx(DSInput, {
145
+ customInputType: _ref3 => {
146
+ let {
147
+ onChange: handleChange
148
+ } = _ref3,
165
149
  restInputProps = _objectWithoutProperties(_ref3, _excluded);
166
150
 
167
- return /*#__PURE__*/React.createElement(TimeInputImpl, _extends({
151
+ return /*#__PURE__*/jsx(TimeInputImpl, _objectSpread({
168
152
  clearable: true,
169
153
  disabled: disabled,
170
154
  format: format,
@@ -178,21 +162,4 @@ var TimePickerImpl = function TimePickerImpl(_ref2) {
178
162
  }));
179
163
  };
180
164
 
181
- TimePickerImpl.propTypes = {
182
- value: PropTypes.instanceOf(Date, moment),
183
- onChange: PropTypes.func,
184
- onOpen: PropTypes.func,
185
- format: PropTypes.string,
186
- disabled: PropTypes.bool,
187
- hasHeader: PropTypes.bool,
188
- hasHeaderDisplay: PropTypes.bool,
189
- className: PropTypes.string,
190
- containerProps: PropTypes.object,
191
- placement: PropTypes.string,
192
- zIndex: PropTypes.number,
193
- disabledTimes: PropTypes.object,
194
- minutesInterval: PropTypes.number
195
- };
196
-
197
165
  export { TimePickerImpl as default };
198
- //# sourceMappingURL=TimePickerImpl.js.map