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