@elliemae/ds-time-picker 2.0.0-alpha.10 → 2.0.0-alpha.14
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 +42 -39
- package/cjs/DSTimePickerMenu.js +5 -0
- package/cjs/PickerPanel.js +47 -33
- package/cjs/TimePickerDropdown.js +36 -34
- package/cjs/TimePickerImpl.js +40 -34
- package/cjs/TimePickerMenu.js +16 -10
- package/cjs/moveElementOnScroll.js +10 -9
- package/cjs/utils.js +2 -1
- package/esm/DSTimePicker.js +42 -39
- package/esm/DSTimePickerMenu.js +5 -0
- package/esm/PickerPanel.js +44 -28
- package/esm/TimePickerDropdown.js +36 -33
- package/esm/TimePickerImpl.js +36 -28
- package/esm/TimePickerMenu.js +11 -5
- package/esm/moveElementOnScroll.js +10 -9
- package/esm/utils.js +2 -1
- package/package.json +9 -9
- package/types/DSTimePicker.d.ts +133 -19
- package/types/TimePickerDropdown.d.ts +1 -1
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
package/cjs/DSTimePicker.js
CHANGED
|
@@ -12,45 +12,48 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
12
12
|
|
|
13
13
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
14
14
|
|
|
15
|
-
const DSTimePicker =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
15
|
+
const DSTimePicker = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
containerProps = {},
|
|
18
|
+
innerRef,
|
|
19
|
+
className = '',
|
|
20
|
+
disabled = false,
|
|
21
|
+
value = '',
|
|
22
|
+
format,
|
|
23
|
+
style = {},
|
|
24
|
+
onChange = () => null,
|
|
25
|
+
onOpen = () => null,
|
|
26
|
+
isOpen = undefined,
|
|
27
|
+
clearable = false,
|
|
28
|
+
hasHeader = true,
|
|
29
|
+
hasHeaderDisplay = false,
|
|
30
|
+
'aria-label': ariaLabel,
|
|
31
|
+
zIndex = 'auto',
|
|
32
|
+
placement = 'bottom',
|
|
33
|
+
disabledTimes,
|
|
34
|
+
minutesInterval = 1
|
|
35
|
+
} = _ref;
|
|
36
|
+
return /*#__PURE__*/jsxRuntime.jsx(TimePickerImpl, {
|
|
37
|
+
ref: innerRef,
|
|
38
|
+
"aria-label": ariaLabel,
|
|
39
|
+
className: className,
|
|
40
|
+
clearable: clearable,
|
|
41
|
+
containerProps: containerProps,
|
|
42
|
+
disabled: disabled,
|
|
43
|
+
format: format,
|
|
44
|
+
hasHeader: hasHeader,
|
|
45
|
+
hasHeaderDisplay: hasHeaderDisplay,
|
|
46
|
+
isOpen: isOpen,
|
|
47
|
+
onChange: onChange,
|
|
48
|
+
onOpen: onOpen,
|
|
49
|
+
placement: placement,
|
|
50
|
+
style: style,
|
|
51
|
+
value: value,
|
|
52
|
+
zIndex: zIndex,
|
|
53
|
+
minutesInterval: minutesInterval,
|
|
54
|
+
disabledTimes: disabledTimes
|
|
55
|
+
});
|
|
56
|
+
};
|
|
54
57
|
|
|
55
58
|
DSTimePicker.defaultProps = {
|
|
56
59
|
format: 'hh:mm:ss A'
|
package/cjs/DSTimePickerMenu.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
11
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
12
|
require('react');
|
package/cjs/PickerPanel.js
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
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.find.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
13
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
14
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
15
|
var React = require('react');
|
|
6
16
|
var lodash = require('lodash');
|
|
7
17
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
8
18
|
var memoizeOne = require('memoize-one');
|
|
9
|
-
var
|
|
10
|
-
var ChevronSmallDown = require('@elliemae/ds-icons/ChevronSmallDown');
|
|
19
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
11
20
|
var DSButton = require('@elliemae/ds-button');
|
|
12
21
|
var moveElementOnScroll = require('./moveElementOnScroll.js');
|
|
13
22
|
var utils = require('./utils.js');
|
|
@@ -15,12 +24,10 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
15
24
|
|
|
16
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
26
|
|
|
18
|
-
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
19
27
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
28
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
20
29
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
30
|
var memoizeOne__default = /*#__PURE__*/_interopDefaultLegacy(memoizeOne);
|
|
22
|
-
var ChevronSmallUp__default = /*#__PURE__*/_interopDefaultLegacy(ChevronSmallUp);
|
|
23
|
-
var ChevronSmallDown__default = /*#__PURE__*/_interopDefaultLegacy(ChevronSmallDown);
|
|
24
31
|
var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
|
|
25
32
|
|
|
26
33
|
var _SelectedCircle, _ChevronSmallUp, _ChevronSmallDown;
|
|
@@ -29,27 +36,34 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
29
36
|
|
|
30
37
|
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; }
|
|
31
38
|
const blockName = 'time-picker-panel';
|
|
32
|
-
const Container = dsClassnames.aggregatedClasses('div')(blockName, null,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
const Container = dsClassnames.aggregatedClasses('div')(blockName, null, _ref => {
|
|
40
|
+
let {
|
|
41
|
+
scrolling
|
|
42
|
+
} = _ref;
|
|
43
|
+
return {
|
|
44
|
+
scrolling
|
|
45
|
+
};
|
|
46
|
+
});
|
|
37
47
|
const Wrapper = dsClassnames.aggregatedClasses('div')(blockName, 'wrapper');
|
|
38
48
|
const PickerItemListContainer = dsClassnames.aggregatedClasses('div')(blockName, 'item-list-container');
|
|
39
49
|
const PickerItemList = dsClassnames.aggregatedClasses('div')(blockName, 'item-list');
|
|
40
50
|
const PickerHeader = dsClassnames.aggregatedClasses('div')(blockName, 'header');
|
|
41
|
-
const PickerItemContainer = dsClassnames.aggregatedClasses('div')(blockName, 'item',
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
const PickerItemContainer = dsClassnames.aggregatedClasses('div')(blockName, 'item', _ref2 => {
|
|
52
|
+
let {
|
|
53
|
+
selected,
|
|
54
|
+
disabled
|
|
55
|
+
} = _ref2;
|
|
56
|
+
return {
|
|
57
|
+
selected,
|
|
58
|
+
disabled
|
|
59
|
+
};
|
|
60
|
+
});
|
|
48
61
|
const PickerSelectedOptionSelected = dsClassnames.aggregatedClasses('div')(blockName, 'selected-container');
|
|
49
62
|
const SelectedCircle = dsClassnames.aggregatedClasses('div')(blockName, 'selected-circle');
|
|
50
63
|
const ArrowButtonContainer = dsClassnames.aggregatedClasses('div')(blockName, 'arrow-container');
|
|
51
64
|
|
|
52
|
-
const getOptionIndex = (options, selectedOption
|
|
65
|
+
const getOptionIndex = function (options, selectedOption) {
|
|
66
|
+
let valueProperty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'value';
|
|
53
67
|
const index = options.findIndex(option => option[valueProperty] === selectedOption);
|
|
54
68
|
return utils.validateIndex(index, options);
|
|
55
69
|
};
|
|
@@ -63,8 +77,7 @@ const arrowProps = {
|
|
|
63
77
|
class PickerPanel extends React.Component {
|
|
64
78
|
constructor(props) {
|
|
65
79
|
super(props);
|
|
66
|
-
|
|
67
|
-
_defineProperty__default["default"](this, "computeContainerTranslation", memoizeOne__default["default"](index => {
|
|
80
|
+
this.computeContainerTranslation = memoizeOne__default["default"](index => {
|
|
68
81
|
const {
|
|
69
82
|
options,
|
|
70
83
|
valueProperty
|
|
@@ -77,14 +90,14 @@ class PickerPanel extends React.Component {
|
|
|
77
90
|
const listYPosition = this.minYListPosition - selectedOptionIndex * this.optionHeight;
|
|
78
91
|
if (this.scrollHandler && !scrolling) this.scrollHandler.updatePosition(listYPosition);
|
|
79
92
|
return listYPosition;
|
|
80
|
-
})
|
|
93
|
+
});
|
|
81
94
|
|
|
82
|
-
|
|
95
|
+
this.renderHeader = () => {
|
|
83
96
|
const {
|
|
84
97
|
header
|
|
85
98
|
} = this.props;
|
|
86
99
|
return /*#__PURE__*/_jsx__default["default"](PickerHeader, {}, void 0, header);
|
|
87
|
-
}
|
|
100
|
+
};
|
|
88
101
|
|
|
89
102
|
this.pickerListContainerRef = /*#__PURE__*/React__default["default"].createRef();
|
|
90
103
|
this.pickerListRef = /*#__PURE__*/React__default["default"].createRef();
|
|
@@ -129,9 +142,10 @@ class PickerPanel extends React.Component {
|
|
|
129
142
|
this.scrollHandler.unsubscribe();
|
|
130
143
|
}
|
|
131
144
|
|
|
132
|
-
static getDerivedStateFromProps(nextProps, {
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
static getDerivedStateFromProps(nextProps, _ref3) {
|
|
146
|
+
let {
|
|
147
|
+
prevProps
|
|
148
|
+
} = _ref3;
|
|
135
149
|
const {
|
|
136
150
|
selected,
|
|
137
151
|
valueProperty,
|
|
@@ -308,9 +322,9 @@ class PickerPanel extends React.Component {
|
|
|
308
322
|
innerRef: this.selectedOptionRef
|
|
309
323
|
}, void 0, _SelectedCircle || (_SelectedCircle = /*#__PURE__*/_jsx__default["default"](SelectedCircle, {}))), /*#__PURE__*/_jsx__default["default"](ArrowButtonContainer, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(DSButton__default["default"], _objectSpread(_objectSpread({}, arrowProps), {}, {
|
|
310
324
|
"aria-label": "Chevron Up",
|
|
311
|
-
"data-testid":
|
|
325
|
+
"data-testid": "".concat(type, "-chevron-up"),
|
|
312
326
|
disabled: activeIndex <= 0,
|
|
313
|
-
icon: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](
|
|
327
|
+
icon: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallUp, {})),
|
|
314
328
|
onClick: this.handleStepMoveUp,
|
|
315
329
|
tabIndex: -1
|
|
316
330
|
}))), /*#__PURE__*/_jsx__default["default"](PickerItemListContainer, {
|
|
@@ -319,10 +333,10 @@ class PickerPanel extends React.Component {
|
|
|
319
333
|
height: this.listHeight
|
|
320
334
|
}
|
|
321
335
|
}, void 0, /*#__PURE__*/_jsx__default["default"](PickerItemList, {
|
|
322
|
-
"data-testid":
|
|
336
|
+
"data-testid": "".concat(type, "-list"),
|
|
323
337
|
innerRef: this.pickerListRef,
|
|
324
338
|
style: {
|
|
325
|
-
transform:
|
|
339
|
+
transform: "translateY(".concat(listYPosition, "px)")
|
|
326
340
|
}
|
|
327
341
|
}, void 0, options.map((option, index) => {
|
|
328
342
|
const value = this.getOptionValue(option);
|
|
@@ -367,9 +381,9 @@ class PickerPanel extends React.Component {
|
|
|
367
381
|
}, value, label);
|
|
368
382
|
}))), /*#__PURE__*/_jsx__default["default"](ArrowButtonContainer, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(DSButton__default["default"], _objectSpread(_objectSpread({}, arrowProps), {}, {
|
|
369
383
|
"aria-label": "Chevron Down",
|
|
370
|
-
"data-testid":
|
|
384
|
+
"data-testid": "".concat(type, "-chevron-down"),
|
|
371
385
|
disabled: activeIndex >= options.length - 1,
|
|
372
|
-
icon: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx__default["default"](
|
|
386
|
+
icon: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallDown, {})),
|
|
373
387
|
onClick: this.handleStepMoveDown,
|
|
374
388
|
tabIndex: -1
|
|
375
389
|
})))));
|
|
@@ -2,50 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
require('react');
|
|
5
|
-
var
|
|
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
11
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
12
|
-
var RecentDocuments__default = /*#__PURE__*/_interopDefaultLegacy(RecentDocuments);
|
|
13
12
|
var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
|
|
14
13
|
var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
|
|
15
14
|
|
|
16
15
|
var _RecentDocuments;
|
|
17
16
|
|
|
18
|
-
const TimePickerDropdown =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
})
|
|
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"], {
|
|
29
|
+
blockName: blockName,
|
|
30
|
+
placement: placement,
|
|
31
|
+
contentComponent: menu,
|
|
32
|
+
isOpen: isOpen,
|
|
33
|
+
onOpen: onOpen,
|
|
34
|
+
modifiers: {
|
|
35
|
+
preventOverflow: {
|
|
36
|
+
enabled: true,
|
|
37
|
+
padding: 0,
|
|
38
|
+
boundariesElement: 'window'
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
showArrow: false,
|
|
42
|
+
triggerComponent: /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
|
|
43
|
+
buttonType: "secondary",
|
|
44
|
+
disabled: disabled,
|
|
45
|
+
icon: _RecentDocuments || (_RecentDocuments = /*#__PURE__*/_jsx__default["default"](dsIcons.RecentDocuments, {})),
|
|
46
|
+
iconSize: "s",
|
|
47
|
+
onClick: onClick
|
|
48
|
+
}),
|
|
49
|
+
zIndex: zIndex
|
|
50
|
+
});
|
|
51
|
+
};
|
|
50
52
|
|
|
51
53
|
module.exports = TimePickerDropdown;
|
package/cjs/TimePickerImpl.js
CHANGED
|
@@ -3,14 +3,18 @@
|
|
|
3
3
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
4
4
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
5
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
13
|
var moment = require('moment');
|
|
8
14
|
var memoizeOne = require('memoize-one');
|
|
9
|
-
var
|
|
15
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
10
16
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
11
|
-
var
|
|
12
|
-
var TimeInput = require('@elliemae/ds-form/TimeInput');
|
|
13
|
-
var DSInput = require('@elliemae/ds-form/Input');
|
|
17
|
+
var dsForm = require('@elliemae/ds-form');
|
|
14
18
|
var TimePickerMenu = require('./TimePickerMenu.js');
|
|
15
19
|
var TimePickerDropdown = require('./TimePickerDropdown.js');
|
|
16
20
|
var utils = require('./utils.js');
|
|
@@ -23,8 +27,6 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
23
27
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
24
28
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
25
29
|
var memoizeOne__default = /*#__PURE__*/_interopDefaultLegacy(memoizeOne);
|
|
26
|
-
var DSInputGroup__default = /*#__PURE__*/_interopDefaultLegacy(DSInputGroup);
|
|
27
|
-
var DSInput__default = /*#__PURE__*/_interopDefaultLegacy(DSInput);
|
|
28
30
|
|
|
29
31
|
const _excluded = ["onChange"];
|
|
30
32
|
|
|
@@ -32,27 +34,31 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
32
34
|
|
|
33
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; }
|
|
34
36
|
const blockName = 'time-picker';
|
|
35
|
-
const TimePickerContainer = dsClassnames.aggregatedClasses(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
37
|
+
const TimePickerContainer = dsClassnames.aggregatedClasses(dsForm.DSInputGroup)(blockName, null, _ref => {
|
|
38
|
+
let {
|
|
39
|
+
isMenuOpened
|
|
40
|
+
} = _ref;
|
|
41
|
+
return {
|
|
42
|
+
isMenuOpened
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
|
|
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;
|
|
56
62
|
const [time, setTime] = React.useState();
|
|
57
63
|
const [isMenuOpened, setIsMenuOpened] = React.useState(false);
|
|
58
64
|
const [focusedColumn, setFocusedColumn] = React.useState(null);
|
|
@@ -109,7 +115,7 @@ const TimePickerImpl = ({
|
|
|
109
115
|
if (!isOpen) setFocusedColumn(null);
|
|
110
116
|
};
|
|
111
117
|
|
|
112
|
-
const getVisibleTimePanels = memoizeOne__default["default"](format =>
|
|
118
|
+
const getVisibleTimePanels = memoizeOne__default["default"](format => dsUtilities.getVisibleTimeByFormat(format));
|
|
113
119
|
const timePickerBlockName = dsClassnames.convertPropToCssClassName(blockName);
|
|
114
120
|
const visiblePanels = getVisibleTimePanels(format);
|
|
115
121
|
const disabledTimeRange = disabledTimes && {
|
|
@@ -117,7 +123,7 @@ const TimePickerImpl = ({
|
|
|
117
123
|
to: utils.convertTimeString(disabledTimes.to)
|
|
118
124
|
};
|
|
119
125
|
return /*#__PURE__*/_jsx__default["default"](TimePickerContainer, {
|
|
120
|
-
className:
|
|
126
|
+
className: "".concat(className, " variant-").concat(!disabled ? 'default' : 'disabled'),
|
|
121
127
|
containerProps: containerProps,
|
|
122
128
|
disabled: disabled,
|
|
123
129
|
rightAddon: /*#__PURE__*/_jsx__default["default"](TimePickerDropdown, {
|
|
@@ -145,14 +151,14 @@ const TimePickerImpl = ({
|
|
|
145
151
|
}, visiblePanels))
|
|
146
152
|
})
|
|
147
153
|
})
|
|
148
|
-
}, void 0, /*#__PURE__*/_jsx__default["default"](
|
|
149
|
-
customInputType:
|
|
154
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInput, {
|
|
155
|
+
customInputType: _ref3 => {
|
|
150
156
|
let {
|
|
151
157
|
onChange: handleChange
|
|
152
|
-
} =
|
|
153
|
-
restInputProps = _objectWithoutProperties__default["default"](
|
|
158
|
+
} = _ref3,
|
|
159
|
+
restInputProps = _objectWithoutProperties__default["default"](_ref3, _excluded);
|
|
154
160
|
|
|
155
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
161
|
+
return /*#__PURE__*/jsxRuntime.jsx(dsForm.TimeInputImpl, _objectSpread({
|
|
156
162
|
clearable: true,
|
|
157
163
|
disabled: disabled,
|
|
158
164
|
format: format,
|
package/cjs/TimePickerMenu.js
CHANGED
|
@@ -2,20 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
13
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
14
|
var React = require('react');
|
|
8
|
-
var utils$1 = require('@elliemae/ds-utilities/utils');
|
|
9
15
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
10
16
|
var moment = require('moment');
|
|
11
|
-
var
|
|
17
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
12
18
|
var utils = require('./utils.js');
|
|
13
19
|
var PickerPanel = require('./PickerPanel.js');
|
|
14
20
|
|
|
15
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
22
|
|
|
17
|
-
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
18
23
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
24
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
19
25
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
20
26
|
|
|
21
27
|
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; }
|
|
@@ -35,12 +41,12 @@ class TimePickerMenu extends React.Component {
|
|
|
35
41
|
constructor(props) {
|
|
36
42
|
super(props);
|
|
37
43
|
|
|
38
|
-
|
|
44
|
+
this.renderHeader = () => {
|
|
39
45
|
const {
|
|
40
46
|
time
|
|
41
47
|
} = this.state;
|
|
42
48
|
return /*#__PURE__*/_jsx__default["default"](TimePickerHeader, {}, void 0, time.format('hh:mma'));
|
|
43
|
-
}
|
|
49
|
+
};
|
|
44
50
|
|
|
45
51
|
this.state = {
|
|
46
52
|
time: moment__default["default"](props.time || '', props.format) || moment__default["default"]()
|
|
@@ -158,8 +164,8 @@ class TimePickerMenu extends React.Component {
|
|
|
158
164
|
|
|
159
165
|
const meridiem = hour >= 12 ? 'PM' : 'AM';
|
|
160
166
|
const withLeadingZeros = format.indexOf('hh') > -1;
|
|
161
|
-
const rangeHours = use12Hours ?
|
|
162
|
-
const hoursOptions = rangeHours.map(generateOption(withLeadingZeros &&
|
|
167
|
+
const rangeHours = use12Hours ? dsUtilities.range(1, 13) : dsUtilities.range(24);
|
|
168
|
+
const hoursOptions = rangeHours.map(generateOption(withLeadingZeros && dsUtilities.addLeadingZeros(2)));
|
|
163
169
|
return /*#__PURE__*/_jsx__default["default"](PickerPanel, {
|
|
164
170
|
type: "hour",
|
|
165
171
|
time: time,
|
|
@@ -186,7 +192,7 @@ class TimePickerMenu extends React.Component {
|
|
|
186
192
|
} = this.props;
|
|
187
193
|
if (!showMinutes) return null;
|
|
188
194
|
const withLeadingZeros = format.indexOf('mm') > -1;
|
|
189
|
-
const rangeMinutes =
|
|
195
|
+
const rangeMinutes = dsUtilities.range(0, 60, minutesInterval).map(generateOption(withLeadingZeros && dsUtilities.addLeadingZeros(2)));
|
|
190
196
|
let selectedMinute = time.minute();
|
|
191
197
|
const selectedHour = time.hour();
|
|
192
198
|
|
|
@@ -230,7 +236,7 @@ class TimePickerMenu extends React.Component {
|
|
|
230
236
|
} = this.props;
|
|
231
237
|
if (!showSeconds) return null;
|
|
232
238
|
const withLeadingZeros = format.indexOf('ss') > -1;
|
|
233
|
-
const rangeSeconds =
|
|
239
|
+
const rangeSeconds = dsUtilities.range(60).map(generateOption(withLeadingZeros && dsUtilities.addLeadingZeros(2)));
|
|
234
240
|
return /*#__PURE__*/_jsx__default["default"](PickerPanel, {
|
|
235
241
|
type: "seconds",
|
|
236
242
|
hasHeader: hasHeader,
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function MoveElementOnScroll(element, {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
function MoveElementOnScroll(element, _ref) {
|
|
6
|
+
let {
|
|
7
|
+
container,
|
|
8
|
+
min = 0,
|
|
9
|
+
max = element.offsetHeight,
|
|
10
|
+
speed = 1,
|
|
11
|
+
smooth = 2,
|
|
12
|
+
onUpdate = () => null,
|
|
13
|
+
onEndScroll = () => null
|
|
14
|
+
} = _ref;
|
|
14
15
|
let moving = false;
|
|
15
16
|
let pos = min;
|
|
16
17
|
let lastPos = pos; // todo: move this to utils if we finally need it
|
package/cjs/utils.js
CHANGED
|
@@ -7,7 +7,8 @@ const validateIndex = (index, options) => {
|
|
|
7
7
|
if (index >= options.length) return options.length - 1;
|
|
8
8
|
return index;
|
|
9
9
|
};
|
|
10
|
-
const getOptionIndex = (options, selectedOption
|
|
10
|
+
const getOptionIndex = function (options, selectedOption) {
|
|
11
|
+
let valueProperty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'value';
|
|
11
12
|
const index = options.findIndex(option => option[valueProperty] === selectedOption);
|
|
12
13
|
return validateIndex(index, options);
|
|
13
14
|
};
|