@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.
- package/cjs/DSTimePicker.js +28 -71
- package/cjs/DSTimePickerMenu.js +17 -27
- package/cjs/PickerPanel.js +323 -340
- package/cjs/TimePickerDropdown.js +19 -29
- package/cjs/TimePickerImpl.js +89 -124
- package/cjs/TimePickerMenu.js +257 -295
- package/cjs/index.js +1 -30
- package/cjs/moveElementOnScroll.js +19 -28
- package/cjs/utils.js +14 -19
- package/esm/DSTimePicker.js +27 -69
- package/esm/DSTimePickerMenu.js +14 -25
- package/esm/PickerPanel.js +321 -330
- package/esm/TimePickerDropdown.js +18 -27
- package/esm/TimePickerImpl.js +84 -117
- package/esm/TimePickerMenu.js +254 -285
- package/esm/index.js +0 -29
- package/esm/moveElementOnScroll.js +18 -27
- package/esm/utils.js +14 -19
- package/package.json +66 -17
- package/types/DSTimePicker.d.ts +181 -0
- package/types/DSTimePickerMenu.d.ts +4 -0
- package/types/PickerPanel.d.ts +24 -0
- package/types/TimePickerDropdown.d.ts +25 -0
- package/types/TimePickerImpl.d.ts +35 -0
- package/types/TimePickerMenu.d.ts +19 -0
- package/types/index.d.ts +5 -0
- package/types/moveElementOnScroll.d.ts +13 -0
- package/types/utils.d.ts +8 -0
- package/DSTimePicker/package.json +0 -10
- package/DSTimePickerMenu/package.json +0 -10
- package/PickerPanel/package.json +0 -10
- package/TimePickerDropdown/package.json +0 -10
- package/TimePickerImpl/package.json +0 -10
- package/TimePickerMenu/package.json +0 -10
- package/cjs/DSTimePicker.js.map +0 -1
- package/cjs/DSTimePickerMenu.js.map +0 -1
- package/cjs/PickerPanel.js.map +0 -1
- package/cjs/TimePickerDropdown.js.map +0 -1
- package/cjs/TimePickerImpl.js.map +0 -1
- package/cjs/TimePickerMenu.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/moveElementOnScroll.js.map +0 -1
- package/cjs/utils.js.map +0 -1
- package/esm/DSTimePicker.js.map +0 -1
- package/esm/DSTimePickerMenu.js.map +0 -1
- package/esm/PickerPanel.js.map +0 -1
- package/esm/TimePickerDropdown.js.map +0 -1
- package/esm/TimePickerImpl.js.map +0 -1
- package/esm/TimePickerMenu.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/moveElementOnScroll.js.map +0 -1
- package/esm/utils.js.map +0 -1
- package/moveElementOnScroll/package.json +0 -10
- package/utils/package.json +0 -10
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
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
|
|
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
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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__*/
|
|
42
|
+
triggerComponent: /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
|
|
41
43
|
buttonType: "secondary",
|
|
42
44
|
disabled: disabled,
|
|
43
|
-
icon: /*#__PURE__*/
|
|
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
|
package/cjs/TimePickerImpl.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
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('
|
|
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
|
|
35
|
-
var
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
var
|
|
44
|
-
|
|
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
|
|
42
|
+
isMenuOpened
|
|
47
43
|
};
|
|
48
44
|
});
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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(
|
|
69
|
+
React.useEffect(() => {
|
|
85
70
|
window.addEventListener('click', handleClickOutside, false);
|
|
86
|
-
return
|
|
87
|
-
return window.removeEventListener('click', handleClickOutside, false);
|
|
88
|
-
};
|
|
71
|
+
return () => window.removeEventListener('click', handleClickOutside, false);
|
|
89
72
|
}, []);
|
|
90
|
-
React.useEffect(
|
|
73
|
+
React.useEffect(() => {
|
|
91
74
|
window.addEventListener('keydown', handleKeyDown, false);
|
|
92
|
-
return
|
|
93
|
-
return window.removeEventListener('keydown', handleKeyDown, false);
|
|
94
|
-
};
|
|
75
|
+
return () => window.removeEventListener('keydown', handleKeyDown, false);
|
|
95
76
|
}, []);
|
|
96
|
-
React.useEffect(
|
|
77
|
+
React.useEffect(() => {
|
|
97
78
|
if (isMenuOpened) handleChangeFocus();
|
|
98
79
|
}, [isMenuOpened]);
|
|
99
80
|
|
|
100
|
-
|
|
81
|
+
const handleClickOutside = () => {
|
|
101
82
|
if (isMenuOpened) setIsMenuOpened(false);
|
|
102
83
|
};
|
|
103
84
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
111
|
-
|
|
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
|
-
|
|
122
|
-
setTime(moment__default[
|
|
123
|
-
onChange(moment__default[
|
|
102
|
+
const handlePickerChange = newTime => {
|
|
103
|
+
setTime(moment__default["default"](newTime));
|
|
104
|
+
onChange(moment__default["default"](newTime));
|
|
124
105
|
};
|
|
125
106
|
|
|
126
|
-
|
|
107
|
+
const handleInputChange = newTime => {
|
|
127
108
|
setTime(newTime);
|
|
128
109
|
onChange(newTime);
|
|
129
110
|
};
|
|
130
111
|
|
|
131
|
-
|
|
112
|
+
const handleMenuOpen = isOpen => {
|
|
132
113
|
onOpen(isOpen);
|
|
133
114
|
setIsMenuOpened(isOpen);
|
|
134
115
|
if (!isOpen) setFocusedColumn(null);
|
|
135
116
|
};
|
|
136
117
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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__*/
|
|
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__*/
|
|
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:
|
|
136
|
+
onClick: e => {
|
|
158
137
|
e.preventDefault();
|
|
159
138
|
handleMenuOpen(!isMenuOpened);
|
|
160
139
|
},
|
|
161
|
-
menu: /*#__PURE__*/
|
|
162
|
-
ref: timePickerRef
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
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__*/
|
|
175
|
-
customInputType:
|
|
176
|
-
|
|
177
|
-
|
|
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__*/
|
|
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
|