@elliemae/ds-time-picker 2.2.1 → 2.3.0-alpha.4

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 (40) hide show
  1. package/cjs/DSTimePicker.js +100 -115
  2. package/cjs/DSTimePicker.js.map +7 -0
  3. package/cjs/DSTimePickerMenu.js +46 -33
  4. package/cjs/DSTimePickerMenu.js.map +7 -0
  5. package/cjs/PickerPanel.js +151 -254
  6. package/cjs/PickerPanel.js.map +7 -0
  7. package/cjs/TimePickerDropdown.js +73 -52
  8. package/cjs/TimePickerDropdown.js.map +7 -0
  9. package/cjs/TimePickerImpl.js +146 -138
  10. package/cjs/TimePickerImpl.js.map +7 -0
  11. package/cjs/TimePickerMenu.js +138 -209
  12. package/cjs/TimePickerMenu.js.map +7 -0
  13. package/cjs/index.js +40 -17
  14. package/cjs/index.js.map +7 -0
  15. package/cjs/moveElementOnScroll.js +57 -39
  16. package/cjs/moveElementOnScroll.js.map +7 -0
  17. package/cjs/utils.js +57 -24
  18. package/cjs/utils.js.map +7 -0
  19. package/esm/DSTimePicker.js +71 -105
  20. package/esm/DSTimePicker.js.map +7 -0
  21. package/esm/DSTimePickerMenu.js +17 -22
  22. package/esm/DSTimePickerMenu.js.map +7 -0
  23. package/esm/PickerPanel.js +120 -242
  24. package/esm/PickerPanel.js.map +7 -0
  25. package/esm/TimePickerDropdown.js +44 -44
  26. package/esm/TimePickerDropdown.js.map +7 -0
  27. package/esm/TimePickerImpl.js +106 -117
  28. package/esm/TimePickerImpl.js.map +7 -0
  29. package/esm/TimePickerMenu.js +102 -191
  30. package/esm/TimePickerMenu.js.map +7 -0
  31. package/esm/index.js +11 -4
  32. package/esm/index.js.map +7 -0
  33. package/esm/moveElementOnScroll.js +28 -34
  34. package/esm/moveElementOnScroll.js.map +7 -0
  35. package/esm/utils.js +28 -17
  36. package/esm/utils.js.map +7 -0
  37. package/package.json +7 -7
  38. package/types/PickerPanel.d.ts +1 -0
  39. package/types/TimePickerDropdown.d.ts +1 -0
  40. package/types/TimePickerImpl.d.ts +1 -0
@@ -1,292 +1,189 @@
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';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import _jsx from '@babel/runtime/helpers/esm/jsx';
8
- import 'core-js/modules/esnext.async-iterator.map.js';
9
- import 'core-js/modules/esnext.iterator.map.js';
10
- import { Component } from 'react';
11
- import { aggregatedClasses } from '@elliemae/ds-classnames';
12
- import moment from 'moment';
13
- import { range, addLeadingZeros } from '@elliemae/ds-utilities';
14
- import { isAM } from './utils.js';
15
- import PickerPanel from './PickerPanel.js';
16
-
17
- 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; }
18
-
19
- 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(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; }
20
- const blockName = 'time-picker-menu';
21
- const TimePickerContainer = aggregatedClasses('div')(blockName);
22
- const TimePickerHeader = aggregatedClasses('div')(blockName, 'header');
23
- const TimePickerPanelContainer = aggregatedClasses('div')(blockName, 'panel-container');
24
-
25
- const generateOption = format => option => ({
1
+ import * as React from "react";
2
+ import React2, { Component } from "react";
3
+ import PropTypes from "prop-types";
4
+ import { aggregatedClasses } from "@elliemae/ds-classnames";
5
+ import moment from "moment";
6
+ import { range, addLeadingZeros } from "@elliemae/ds-utilities";
7
+ import { isAM } from "./utils";
8
+ import { PickerPanel } from "./PickerPanel";
9
+ const blockName = "time-picker-menu";
10
+ const TimePickerContainer = aggregatedClasses("div")(blockName);
11
+ const TimePickerHeader = aggregatedClasses("div")(blockName, "header");
12
+ const TimePickerPanelContainer = aggregatedClasses("div")(blockName, "panel-container");
13
+ const generateOption = (format) => (option) => ({
26
14
  value: option,
27
- label: typeof format === 'function' ? format(option) : option
15
+ label: typeof format === "function" ? format(option) : option
28
16
  });
29
-
30
17
  class TimePickerMenu extends Component {
31
18
  constructor(props) {
32
19
  super(props);
33
-
34
20
  this.renderHeader = () => {
35
- const {
36
- time
37
- } = this.state;
38
- return /*#__PURE__*/_jsx(TimePickerHeader, {}, void 0, time.format('hh:mma'));
21
+ const { time } = this.state;
22
+ return /* @__PURE__ */ React2.createElement(TimePickerHeader, null, time.format("hh:mma"));
39
23
  };
40
-
41
24
  this.state = {
42
- time: moment(props.time || '', props.format) || moment()
25
+ time: moment(props.time || "", props.format) || moment()
43
26
  };
44
- this.handleHoursChange = this.handleHoursChange.bind(this);
45
- this.handleMinuteChange = this.handleMinuteChange.bind(this);
46
- this.handleSecondsChange = this.handleSecondsChange.bind(this);
47
- this.handleAMPMChange = this.handleAMPMChange.bind(this);
48
27
  }
49
-
50
28
  static getDerivedStateFromProps(props, state) {
51
29
  if (props.time) {
52
- return _objectSpread(_objectSpread({}, state), {}, {
53
- time: moment(props.time)
54
- });
30
+ return { ...state, time: moment(props.time) };
55
31
  }
56
-
57
- return _objectSpread(_objectSpread({}, state), {}, {
58
- time: undefined
59
- });
32
+ return { ...state, time: void 0 };
60
33
  }
61
-
62
34
  componentDidMount() {
63
- const {
64
- time
65
- } = this.state;
66
- this.setState({
67
- time
68
- });
35
+ const { time } = this.state;
36
+ this.setState({ time });
69
37
  }
70
-
71
38
  handleMinuteChange(value) {
72
- const {
73
- time
74
- } = this.state;
39
+ const { time } = this.state;
75
40
  this.updateTime(time.minute(value));
76
41
  }
77
-
78
42
  handleHoursChange(value) {
79
- const {
80
- time
81
- } = this.state;
82
- const {
83
- use12Hours
84
- } = this.props;
43
+ const { time } = this.state;
44
+ const { use12Hours } = this.props;
85
45
  let nextHour = value;
86
-
87
46
  if (use12Hours) {
88
47
  if (!isAM(time)) {
89
48
  nextHour = value % 12 + 12;
90
49
  }
91
50
  }
92
-
93
51
  this.updateTime(time.hour(nextHour));
94
52
  }
95
-
96
53
  handleSecondsChange(value) {
97
- const {
98
- time
99
- } = this.state;
54
+ const { time } = this.state;
100
55
  this.updateTime(time.second(value));
101
56
  }
102
-
103
57
  handleAMPMChange(value) {
104
- const {
105
- time
106
- } = this.state;
58
+ const { time } = this.state;
107
59
  const hour = time.hour();
108
- const nextHour = value.toLowerCase() === 'am' ? hour % 12 : hour % 12 + 12;
60
+ const nextHour = value.toLowerCase() === "am" ? hour % 12 : hour % 12 + 12;
109
61
  this.updateTime(time.hour(nextHour));
110
62
  }
111
-
112
63
  updateTime(time) {
113
- const {
114
- onTimeChange
115
- } = this.props;
64
+ const { onTimeChange } = this.props;
116
65
  onTimeChange(time);
117
- this.setState({
118
- time
119
- });
66
+ this.setState({ time });
120
67
  }
121
-
122
68
  renderHoursPanel() {
123
- const {
124
- time
125
- } = this.state;
126
- const {
127
- showHours,
128
- use12Hours,
129
- format,
130
- hasHeader,
131
- disabledTimes
132
- } = this.props;
133
- if (!showHours) return null;
134
- const hour = time.hour(); // in 24 format
135
-
69
+ const { time } = this.state;
70
+ const { showHours, use12Hours, format, hasHeader, disabledTimes } = this.props;
71
+ if (!showHours)
72
+ return null;
73
+ const hour = time.hour();
136
74
  let selectedHour = use12Hours ? hour % 12 || 12 : hour;
137
-
138
75
  if (disabledTimes) {
139
- const {
140
- from,
141
- to
142
- } = disabledTimes;
143
-
76
+ const { from, to } = disabledTimes;
144
77
  if (hour > from.hour && hour < to.hour) {
145
78
  if (to.hour < 24) {
146
79
  const toFormatted = to.hour % 12 || 12;
147
- if (selectedHour !== toFormatted) this.handleHoursChange(toFormatted);
80
+ if (selectedHour !== toFormatted)
81
+ this.handleHoursChange(toFormatted);
148
82
  selectedHour = toFormatted;
149
83
  } else if (from) {
150
84
  selectedHour = (from.hour - 1) % 12 || 12;
151
85
  }
152
86
  }
153
87
  }
154
-
155
- const meridiem = hour >= 12 ? 'PM' : 'AM';
156
- const withLeadingZeros = format.indexOf('hh') > -1;
88
+ const meridiem = hour >= 12 ? "PM" : "AM";
89
+ const withLeadingZeros = format.indexOf("hh") > -1;
157
90
  const rangeHours = use12Hours ? range(1, 13) : range(24);
158
91
  const hoursOptions = rangeHours.map(generateOption(withLeadingZeros && addLeadingZeros(2)));
159
- return /*#__PURE__*/_jsx(PickerPanel, {
92
+ return /* @__PURE__ */ React2.createElement(PickerPanel, {
160
93
  type: "hour",
161
- time: time,
162
- meridiem: meridiem,
163
- hasHeader: hasHeader,
94
+ time,
95
+ meridiem,
96
+ hasHeader,
164
97
  header: "H",
165
98
  onChange: this.handleHoursChange,
166
99
  options: hoursOptions,
167
100
  selected: selectedHour,
168
- disabledTimes: disabledTimes
101
+ disabledTimes
169
102
  });
170
103
  }
171
-
172
104
  renderMinutesPanel() {
173
- const {
174
- time
175
- } = this.state;
176
- const {
177
- showMinutes,
178
- format,
179
- hasHeader,
180
- disabledTimes,
181
- minutesInterval
182
- } = this.props;
183
- if (!showMinutes) return null;
184
- const withLeadingZeros = format.indexOf('mm') > -1;
105
+ const { time } = this.state;
106
+ const { showMinutes, format, hasHeader, disabledTimes, minutesInterval } = this.props;
107
+ if (!showMinutes)
108
+ return null;
109
+ const withLeadingZeros = format.indexOf("mm") > -1;
185
110
  const rangeMinutes = range(0, 60, minutesInterval).map(generateOption(withLeadingZeros && addLeadingZeros(2)));
186
111
  let selectedMinute = time.minute();
187
112
  const selectedHour = time.hour();
188
-
189
113
  if (disabledTimes) {
190
- const {
191
- from,
192
- to
193
- } = disabledTimes;
194
-
114
+ const { from, to } = disabledTimes;
195
115
  if (selectedHour <= to.hour && selectedHour > from.hour) {
196
116
  if (to) {
197
- if (selectedMinute < to.min) this.handleMinuteChange(to.min);
117
+ if (selectedMinute < to.min)
118
+ this.handleMinuteChange(to.min);
198
119
  } else if (from) {
199
- if (selectedMinute > from.min) this.handleMinuteChange(from.min - 1);
120
+ if (selectedMinute > from.min)
121
+ this.handleMinuteChange(from.min - 1);
200
122
  }
201
123
  } else {
202
124
  selectedMinute = time.minute();
203
125
  }
204
126
  }
205
-
206
- return /*#__PURE__*/_jsx(PickerPanel, {
127
+ return /* @__PURE__ */ React2.createElement(PickerPanel, {
207
128
  type: "minutes",
208
- time: time,
209
- hasHeader: hasHeader,
129
+ time,
130
+ hasHeader,
210
131
  header: "M",
211
132
  onChange: this.handleMinuteChange,
212
133
  options: rangeMinutes,
213
134
  selected: selectedMinute,
214
- disabledTimes: disabledTimes
135
+ disabledTimes
215
136
  });
216
137
  }
217
-
218
138
  renderSecondsPanel() {
219
- const {
220
- time
221
- } = this.state;
222
- const {
223
- showSeconds,
224
- format,
225
- hasHeader
226
- } = this.props;
227
- if (!showSeconds) return null;
228
- const withLeadingZeros = format.indexOf('ss') > -1;
139
+ const { time } = this.state;
140
+ const { showSeconds, format, hasHeader } = this.props;
141
+ if (!showSeconds)
142
+ return null;
143
+ const withLeadingZeros = format.indexOf("ss") > -1;
229
144
  const rangeSeconds = range(60).map(generateOption(withLeadingZeros && addLeadingZeros(2)));
230
- return /*#__PURE__*/_jsx(PickerPanel, {
145
+ return /* @__PURE__ */ React2.createElement(PickerPanel, {
231
146
  type: "seconds",
232
- hasHeader: hasHeader,
147
+ hasHeader,
233
148
  header: "S",
234
149
  onChange: this.handleSecondsChange,
235
150
  options: rangeSeconds,
236
151
  selected: time.second()
237
152
  });
238
153
  }
239
-
240
154
  renderAMPMPanel() {
241
- const {
242
- time
243
- } = this.state;
244
- const {
245
- use12Hours,
246
- hasHeader,
247
- disabledTimes
248
- } = this.props;
249
- if (!use12Hours) return null;
250
- let meridiemSelected = !isAM(time) ? 'pm' : 'am';
251
-
252
- if (disabledTimes && disabledTimes.to && meridiemSelected === 'am') {
253
- meridiemSelected = disabledTimes.to.hour >= 12 ? 'pm' : 'am';
254
-
255
- if (meridiemSelected === 'am' && time.hour() > 12) {
256
- this.handleAMPMChange('am');
155
+ const { time } = this.state;
156
+ const { use12Hours, hasHeader, disabledTimes } = this.props;
157
+ if (!use12Hours)
158
+ return null;
159
+ let meridiemSelected = !isAM(time) ? "pm" : "am";
160
+ if (disabledTimes && disabledTimes.to && meridiemSelected === "am") {
161
+ meridiemSelected = disabledTimes.to.hour >= 12 ? "pm" : "am";
162
+ if (meridiemSelected === "am" && time.hour() > 12) {
163
+ this.handleAMPMChange("am");
257
164
  }
258
-
259
- if (meridiemSelected === 'pm' && time.hour() <= 12) {
260
- this.handleAMPMChange('pm');
165
+ if (meridiemSelected === "pm" && time.hour() <= 12) {
166
+ this.handleAMPMChange("pm");
261
167
  }
262
168
  }
263
-
264
- return /*#__PURE__*/_jsx(PickerPanel, {
169
+ return /* @__PURE__ */ React2.createElement(PickerPanel, {
265
170
  type: "meridiem",
266
- hasHeader: hasHeader,
171
+ hasHeader,
267
172
  header: "",
268
173
  onChange: this.handleAMPMChange,
269
- options: [{
270
- value: 'am',
271
- label: 'am'
272
- }, {
273
- value: 'pm',
274
- label: 'pm'
275
- }],
174
+ options: [
175
+ { value: "am", label: "am" },
176
+ { value: "pm", label: "pm" }
177
+ ],
276
178
  selected: meridiemSelected,
277
- disabledTimes: disabledTimes
179
+ disabledTimes
278
180
  });
279
181
  }
280
-
281
182
  render() {
282
- const {
283
- hasHeaderDisplay
284
- } = this.props;
285
- return /*#__PURE__*/_jsx(TimePickerContainer, {}, void 0, hasHeaderDisplay && this.renderHeader(), /*#__PURE__*/_jsx(TimePickerPanelContainer, {}, void 0, this.renderHoursPanel(), this.renderMinutesPanel(), this.renderSecondsPanel(), this.renderAMPMPanel()));
183
+ const { hasHeaderDisplay } = this.props;
184
+ return /* @__PURE__ */ React2.createElement(TimePickerContainer, null, hasHeaderDisplay && this.renderHeader(), /* @__PURE__ */ React2.createElement(TimePickerPanelContainer, null, this.renderHoursPanel(), this.renderMinutesPanel(), this.renderSecondsPanel(), this.renderAMPMPanel()));
286
185
  }
287
-
288
186
  }
289
-
290
187
  TimePickerMenu.defaultProps = {
291
188
  time: moment(),
292
189
  hasHeader: false,
@@ -294,8 +191,22 @@ TimePickerMenu.defaultProps = {
294
191
  showSeconds: true,
295
192
  showMinutes: true,
296
193
  showHours: true,
297
- disabledTimes: undefined,
194
+ disabledTimes: void 0,
298
195
  onTimeChange: () => null
299
196
  };
300
-
301
- export { TimePickerMenu, TimePickerMenu as default };
197
+ TimePickerMenu.propTypes = {
198
+ time: PropTypes.instanceOf(moment),
199
+ hasHeader: PropTypes.bool,
200
+ use12Hours: PropTypes.bool,
201
+ showSeconds: PropTypes.bool,
202
+ showMinutes: PropTypes.bool,
203
+ showHours: PropTypes.bool,
204
+ onTimeChange: PropTypes.func,
205
+ disabledTimes: PropTypes.object
206
+ };
207
+ var TimePickerMenu_default = TimePickerMenu;
208
+ export {
209
+ TimePickerMenu,
210
+ TimePickerMenu_default as default
211
+ };
212
+ //# sourceMappingURL=TimePickerMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/TimePickerMenu.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport moment from 'moment';\nimport { range, addLeadingZeros } from '@elliemae/ds-utilities';\nimport { isAM } from './utils';\nimport { PickerPanel } from './PickerPanel';\n\nconst blockName = 'time-picker-menu';\n\nconst TimePickerContainer = aggregatedClasses('div')(blockName);\nconst TimePickerHeader = aggregatedClasses('div')(blockName, 'header');\nconst TimePickerPanelContainer = aggregatedClasses('div')(blockName, 'panel-container');\n\nconst generateOption = (format) => (option) => ({\n value: option,\n label: typeof format === 'function' ? format(option) : option,\n});\n\nclass TimePickerMenu extends Component {\n constructor(props) {\n super(props);\n this.state = {\n time: moment(props.time || '', props.format) || moment(),\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.time) {\n return { ...state, time: moment(props.time) };\n }\n return { ...state, time: undefined };\n }\n\n componentDidMount() {\n const { time } = this.state;\n this.setState({ time });\n }\n\n handleMinuteChange(value) {\n const { time } = this.state;\n this.updateTime(time.minute(value));\n }\n\n handleHoursChange(value) {\n const { time } = this.state;\n const { use12Hours } = this.props;\n let nextHour = value;\n if (use12Hours) {\n if (!isAM(time)) {\n nextHour = (value % 12) + 12;\n }\n }\n this.updateTime(time.hour(nextHour));\n }\n\n handleSecondsChange(value) {\n const { time } = this.state;\n this.updateTime(time.second(value));\n }\n\n handleAMPMChange(value) {\n const { time } = this.state;\n const hour = time.hour();\n const nextHour = value.toLowerCase() === 'am' ? hour % 12 : (hour % 12) + 12;\n this.updateTime(time.hour(nextHour));\n }\n\n updateTime(time) {\n const { onTimeChange } = this.props;\n onTimeChange(time);\n this.setState({ time });\n }\n\n renderHoursPanel() {\n const { time } = this.state;\n const { showHours, use12Hours, format, hasHeader, disabledTimes } = this.props;\n if (!showHours) return null;\n\n const hour = time.hour(); // in 24 format\n let selectedHour = use12Hours ? hour % 12 || 12 : hour;\n if (disabledTimes) {\n const { from, to } = disabledTimes;\n if (hour > from.hour && hour < to.hour) {\n if (to.hour < 24) {\n const toFormatted = to.hour % 12 || 12;\n if (selectedHour !== toFormatted) this.handleHoursChange(toFormatted);\n selectedHour = toFormatted;\n } else if (from) {\n selectedHour = (from.hour - 1) % 12 || 12;\n }\n }\n }\n\n const meridiem = hour >= 12 ? 'PM' : 'AM';\n const withLeadingZeros = format.indexOf('hh') > -1;\n const rangeHours = use12Hours ? range(1, 13) : range(24);\n const hoursOptions = rangeHours.map(generateOption(withLeadingZeros && addLeadingZeros(2)));\n return (\n <PickerPanel\n type=\"hour\"\n time={time}\n meridiem={meridiem}\n hasHeader={hasHeader}\n header=\"H\"\n onChange={this.handleHoursChange}\n options={hoursOptions}\n selected={selectedHour}\n disabledTimes={disabledTimes}\n />\n );\n }\n\n renderMinutesPanel() {\n const { time } = this.state;\n const { showMinutes, format, hasHeader, disabledTimes, minutesInterval } = this.props;\n if (!showMinutes) return null;\n const withLeadingZeros = format.indexOf('mm') > -1;\n const rangeMinutes = range(0, 60, minutesInterval).map(generateOption(withLeadingZeros && addLeadingZeros(2)));\n\n let selectedMinute = time.minute();\n const selectedHour = time.hour();\n\n if (disabledTimes) {\n const { from, to } = disabledTimes;\n if (selectedHour <= to.hour && selectedHour > from.hour) {\n if (to) {\n if (selectedMinute < to.min) this.handleMinuteChange(to.min);\n } else if (from) {\n if (selectedMinute > from.min) this.handleMinuteChange(from.min - 1);\n }\n } else {\n selectedMinute = time.minute();\n }\n }\n\n return (\n <PickerPanel\n type=\"minutes\"\n time={time}\n hasHeader={hasHeader}\n header=\"M\"\n onChange={this.handleMinuteChange}\n options={rangeMinutes}\n selected={selectedMinute}\n disabledTimes={disabledTimes}\n />\n );\n }\n\n renderSecondsPanel() {\n const { time } = this.state;\n const { showSeconds, format, hasHeader } = this.props;\n if (!showSeconds) return null;\n const withLeadingZeros = format.indexOf('ss') > -1;\n const rangeSeconds = range(60).map(generateOption(withLeadingZeros && addLeadingZeros(2)));\n return (\n <PickerPanel\n type=\"seconds\"\n hasHeader={hasHeader}\n header=\"S\"\n onChange={this.handleSecondsChange}\n options={rangeSeconds}\n selected={time.second()}\n />\n );\n }\n\n renderAMPMPanel() {\n const { time } = this.state;\n const { use12Hours, hasHeader, disabledTimes } = this.props;\n if (!use12Hours) return null;\n\n let meridiemSelected = !isAM(time) ? 'pm' : 'am';\n if (disabledTimes && disabledTimes.to && meridiemSelected === 'am') {\n meridiemSelected = disabledTimes.to.hour >= 12 ? 'pm' : 'am';\n if (meridiemSelected === 'am' && time.hour() > 12) {\n this.handleAMPMChange('am');\n }\n\n if (meridiemSelected === 'pm' && time.hour() <= 12) {\n this.handleAMPMChange('pm');\n }\n }\n\n return (\n <PickerPanel\n type=\"meridiem\"\n hasHeader={hasHeader}\n header=\"\"\n onChange={this.handleAMPMChange}\n options={[\n { value: 'am', label: 'am' },\n { value: 'pm', label: 'pm' },\n ]}\n selected={meridiemSelected}\n disabledTimes={disabledTimes}\n />\n );\n }\n\n renderHeader = () => {\n const { time } = this.state;\n return <TimePickerHeader>{time.format('hh:mma')}</TimePickerHeader>;\n };\n\n render() {\n const { hasHeaderDisplay } = this.props;\n\n return (\n <TimePickerContainer>\n {hasHeaderDisplay && this.renderHeader()}\n <TimePickerPanelContainer>\n {this.renderHoursPanel()}\n {this.renderMinutesPanel()}\n {this.renderSecondsPanel()}\n {this.renderAMPMPanel()}\n </TimePickerPanelContainer>\n </TimePickerContainer>\n );\n }\n}\n\nTimePickerMenu.defaultProps = {\n time: moment(),\n hasHeader: false,\n use12Hours: true,\n showSeconds: true,\n showMinutes: true,\n showHours: true,\n disabledTimes: undefined,\n onTimeChange: () => null,\n};\n\nTimePickerMenu.propTypes = {\n /** Time value */\n time: PropTypes.instanceOf(moment),\n /** If the menu has header or not */\n hasHeader: PropTypes.bool,\n /** Whether to use the 12 hours format */\n use12Hours: PropTypes.bool,\n /** Whether show 'seconds' or not */\n showSeconds: PropTypes.bool,\n /** Whether show 'minutes' or not */\n showMinutes: PropTypes.bool,\n /** Whether show 'hours' or not */\n showHours: PropTypes.bool,\n /** Handler when time changes */\n onTimeChange: PropTypes.func,\n disabledTimes: PropTypes.object,\n};\n\nexport { TimePickerMenu };\nexport default TimePickerMenu;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
package/esm/index.js CHANGED
@@ -1,4 +1,11 @@
1
- export { DSTimePicker, DSTimePickerWithSchema, DSTimePicker as default } from './DSTimePicker.js';
2
- export { TimePickerMenu } from './TimePickerMenu.js';
3
- export { DSTimePickerMenu } from './DSTimePickerMenu.js';
4
- export { convertTimeString } from './utils.js';
1
+ import * as React from "react";
2
+ export * from "./DSTimePicker";
3
+ export * from "./TimePickerMenu";
4
+ export * from "./DSTimePickerMenu";
5
+ import { convertTimeString } from "./utils";
6
+ import { default as default2 } from "./DSTimePicker";
7
+ export {
8
+ convertTimeString,
9
+ default2 as default
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './DSTimePicker';\nexport * from './TimePickerMenu';\nexport * from './DSTimePickerMenu';\n\nexport { convertTimeString } from './utils'; // this is an exception, we should move utils to shared tho?\n\nexport { default } from './DSTimePicker';\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AAEA;AAEA;",
6
+ "names": []
7
+ }
@@ -1,28 +1,25 @@
1
- function MoveElementOnScroll(element, _ref) {
2
- let {
3
- container,
4
- min = 0,
5
- max = element.offsetHeight,
6
- speed = 1,
7
- smooth = 2,
8
- onUpdate = () => null,
9
- onEndScroll = () => null
10
- } = _ref;
1
+ import * as React from "react";
2
+ function MoveElementOnScroll(element, {
3
+ container,
4
+ min = 0,
5
+ max = element.offsetHeight,
6
+ speed = 1,
7
+ smooth = 2,
8
+ onUpdate = () => null,
9
+ onEndScroll = () => null
10
+ }) {
11
11
  let moving = false;
12
12
  let pos = min;
13
- let lastPos = pos; // todo: move this to utils if we finally need it
14
-
15
- const requestFrame = function () {
16
- return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (func) {
17
- window.setTimeout(func, 1000 / 50);
13
+ let lastPos = pos;
14
+ const requestFrame = function() {
15
+ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(func) {
16
+ window.setTimeout(func, 1e3 / 50);
18
17
  };
19
18
  }();
20
-
21
19
  function update() {
22
20
  moving = true;
23
21
  const delta = (pos - lastPos) / smooth;
24
22
  lastPos += delta;
25
-
26
23
  if (Math.abs(delta) > 0.7) {
27
24
  requestFrame(() => {
28
25
  onUpdate(lastPos, delta);
@@ -33,38 +30,35 @@ function MoveElementOnScroll(element, _ref) {
33
30
  moving = false;
34
31
  }
35
32
  }
36
-
37
33
  function scrolling(e) {
38
- e.preventDefault(); // disable default scrolling
39
-
34
+ e.preventDefault();
40
35
  let delta = e.delta || e.wheelDelta;
41
-
42
- if (delta === undefined) {
43
- // for firefox
36
+ if (delta === void 0) {
44
37
  delta = -e.detail;
45
38
  delta *= 10 * speed;
46
39
  }
47
-
48
40
  pos += -delta * speed;
49
- pos = Math.max(min, Math.min(pos, max)); // limit scrolling
50
-
41
+ pos = Math.max(min, Math.min(pos, max));
51
42
  if (!moving) {
52
43
  update();
53
44
  }
54
45
  }
55
-
56
- container.addEventListener('mousewheel', scrolling, false);
57
- container.addEventListener('DOMMouseScroll', scrolling, false);
46
+ container.addEventListener("mousewheel", scrolling, false);
47
+ container.addEventListener("DOMMouseScroll", scrolling, false);
58
48
  return {
59
49
  unsubscribe: () => {
60
- container.removeEventListener('mousewheel', scrolling);
61
- container.removeEventListener('DOMMouseScroll', scrolling);
50
+ container.removeEventListener("mousewheel", scrolling);
51
+ container.removeEventListener("DOMMouseScroll", scrolling);
62
52
  },
63
- updatePosition: newPos => {
53
+ updatePosition: (newPos) => {
64
54
  pos = -newPos;
65
55
  lastPos = -pos;
66
56
  }
67
57
  };
68
58
  }
69
-
70
- export { MoveElementOnScroll, MoveElementOnScroll as default };
59
+ var moveElementOnScroll_default = MoveElementOnScroll;
60
+ export {
61
+ MoveElementOnScroll,
62
+ moveElementOnScroll_default as default
63
+ };
64
+ //# sourceMappingURL=moveElementOnScroll.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/moveElementOnScroll.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export function MoveElementOnScroll(\n element,\n {\n container,\n min = 0,\n max = element.offsetHeight,\n speed = 1,\n smooth = 2,\n onUpdate = () => null,\n onEndScroll = () => null,\n },\n) {\n let moving = false;\n let pos = min;\n let lastPos = pos;\n\n // todo: move this to utils if we finally need it\n const requestFrame = (function() {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function(func) {\n window.setTimeout(func, 1000 / 50);\n }\n );\n })();\n\n function update() {\n moving = true;\n const delta = (pos - lastPos) / smooth;\n lastPos += delta;\n\n if (Math.abs(delta) > 0.7) {\n requestFrame(() => {\n onUpdate(lastPos, delta);\n update();\n });\n } else {\n onEndScroll(pos);\n moving = false;\n }\n }\n\n function scrolling(e) {\n e.preventDefault(); // disable default scrolling\n let delta = e.delta || e.wheelDelta;\n if (delta === undefined) {\n // for firefox\n delta = -e.detail;\n delta *= 10 * speed;\n }\n\n pos += -delta * speed;\n pos = Math.max(min, Math.min(pos, max)); // limit scrolling\n if (!moving) {\n update();\n }\n }\n\n container.addEventListener('mousewheel', scrolling, false);\n container.addEventListener('DOMMouseScroll', scrolling, false);\n\n return {\n unsubscribe: () => {\n container.removeEventListener('mousewheel', scrolling);\n container.removeEventListener('DOMMouseScroll', scrolling);\n },\n updatePosition: newPos => {\n pos = -newPos;\n lastPos = -pos;\n },\n };\n}\n\nexport default MoveElementOnScroll;\n"],
5
+ "mappings": "AAAA;ACAO,6BACL,SACA;AAAA,EACE;AAAA,EACA,MAAM;AAAA,EACN,MAAM,QAAQ;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW,MAAM;AAAA,EACjB,cAAc,MAAM;AAAA,GAEtB;AACA,MAAI,SAAS;AACb,MAAI,MAAM;AACV,MAAI,UAAU;AAGd,QAAM,eAAgB,WAAW;AAC/B,WACE,OAAO,yBACP,OAAO,+BACP,OAAO,4BACP,OAAO,0BACP,OAAO,2BACP,SAAS,MAAM;AACb,aAAO,WAAW,MAAM,MAAO;AAAA;AAAA;AAKrC,oBAAkB;AAChB,aAAS;AACT,UAAM,QAAS,OAAM,WAAW;AAChC,eAAW;AAEX,QAAI,KAAK,IAAI,SAAS,KAAK;AACzB,mBAAa,MAAM;AACjB,iBAAS,SAAS;AAClB;AAAA;AAAA,WAEG;AACL,kBAAY;AACZ,eAAS;AAAA;AAAA;AAIb,qBAAmB,GAAG;AACpB,MAAE;AACF,QAAI,QAAQ,EAAE,SAAS,EAAE;AACzB,QAAI,UAAU,QAAW;AAEvB,cAAQ,CAAC,EAAE;AACX,eAAS,KAAK;AAAA;AAGhB,WAAO,CAAC,QAAQ;AAChB,UAAM,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;AAClC,QAAI,CAAC,QAAQ;AACX;AAAA;AAAA;AAIJ,YAAU,iBAAiB,cAAc,WAAW;AACpD,YAAU,iBAAiB,kBAAkB,WAAW;AAExD,SAAO;AAAA,IACL,aAAa,MAAM;AACjB,gBAAU,oBAAoB,cAAc;AAC5C,gBAAU,oBAAoB,kBAAkB;AAAA;AAAA,IAElD,gBAAgB,YAAU;AACxB,YAAM,CAAC;AACP,gBAAU,CAAC;AAAA;AAAA;AAAA;AAKjB,IAAO,8BAAQ;",
6
+ "names": []
7
+ }
package/esm/utils.js CHANGED
@@ -1,24 +1,30 @@
1
+ import * as React from "react";
1
2
  const validateIndex = (index, options) => {
2
- if (index < 0) return 0;
3
- if (index >= options.length) return options.length - 1;
3
+ if (index < 0)
4
+ return 0;
5
+ if (index >= options.length)
6
+ return options.length - 1;
4
7
  return index;
5
8
  };
6
- const getOptionIndex = function (options, selectedOption) {
7
- let valueProperty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'value';
8
- const index = options.findIndex(option => option[valueProperty] === selectedOption);
9
+ const getOptionIndex = (options, selectedOption, valueProperty = "value") => {
10
+ const index = options.findIndex((option) => option[valueProperty] === selectedOption);
9
11
  return validateIndex(index, options);
10
12
  };
11
- const isAM = time => time && time.hour() < 12;
12
- const convertTimeString = string => {
13
- if (!string) return null;
14
- let meridiem = 'AM';
15
- if (string.toUpperCase().includes('PM')) meridiem = 'PM';
16
- const arr = string.split(':');
13
+ const isAM = (time) => time && time.hour() < 12;
14
+ const convertTimeString = (string) => {
15
+ if (!string)
16
+ return null;
17
+ let meridiem = "AM";
18
+ if (string.toUpperCase().includes("PM"))
19
+ meridiem = "PM";
20
+ const arr = string.split(":");
17
21
  let hour = parseInt(arr[0], 10);
18
- if (meridiem === 'PM' && hour !== 12) hour += 12; // formats to 24
19
-
20
- if (meridiem === 'AM' && hour === 12) hour = 0;
21
- if (meridiem === 'PM' && hour === 12) hour = 12;
22
+ if (meridiem === "PM" && hour !== 12)
23
+ hour += 12;
24
+ if (meridiem === "AM" && hour === 12)
25
+ hour = 0;
26
+ if (meridiem === "PM" && hour === 12)
27
+ hour = 12;
22
28
  const min = parseInt(arr[1], 10);
23
29
  const sec = parseInt(arr[2], 10);
24
30
  return {
@@ -27,5 +33,10 @@ const convertTimeString = string => {
27
33
  sec
28
34
  };
29
35
  };
30
-
31
- export { convertTimeString, getOptionIndex, isAM, validateIndex };
36
+ export {
37
+ convertTimeString,
38
+ getOptionIndex,
39
+ isAM,
40
+ validateIndex
41
+ };
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/utils.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const validateIndex = (index, options) => {\n if (index < 0) return 0;\n if (index >= options.length) return options.length - 1;\n return index;\n};\n\nexport const getOptionIndex = (\n options,\n selectedOption,\n valueProperty = 'value',\n) => {\n const index = options.findIndex(\n (option) => option[valueProperty] === selectedOption,\n );\n return validateIndex(index, options);\n};\n\nexport const isAM = (time) => time && time.hour() < 12;\n\nexport const convertTimeString = (string) => {\n if (!string) return null;\n let meridiem = 'AM';\n if (string.toUpperCase().includes('PM')) meridiem = 'PM';\n\n const arr = string.split(':');\n let hour = parseInt(arr[0], 10);\n if (meridiem === 'PM' && hour !== 12) hour += 12; // formats to 24\n if (meridiem === 'AM' && hour === 12) hour = 0;\n if (meridiem === 'PM' && hour === 12) hour = 12;\n\n const min = parseInt(arr[1], 10);\n const sec = parseInt(arr[2], 10);\n\n return {\n hour,\n min,\n sec,\n };\n};\n"],
5
+ "mappings": "AAAA;ACAO,MAAM,gBAAgB,CAAC,OAAO,YAAY;AAC/C,MAAI,QAAQ;AAAG,WAAO;AACtB,MAAI,SAAS,QAAQ;AAAQ,WAAO,QAAQ,SAAS;AACrD,SAAO;AAAA;AAGF,MAAM,iBAAiB,CAC5B,SACA,gBACA,gBAAgB,YACb;AACH,QAAM,QAAQ,QAAQ,UACpB,CAAC,WAAW,OAAO,mBAAmB;AAExC,SAAO,cAAc,OAAO;AAAA;AAGvB,MAAM,OAAO,CAAC,SAAS,QAAQ,KAAK,SAAS;AAE7C,MAAM,oBAAoB,CAAC,WAAW;AAC3C,MAAI,CAAC;AAAQ,WAAO;AACpB,MAAI,WAAW;AACf,MAAI,OAAO,cAAc,SAAS;AAAO,eAAW;AAEpD,QAAM,MAAM,OAAO,MAAM;AACzB,MAAI,OAAO,SAAS,IAAI,IAAI;AAC5B,MAAI,aAAa,QAAQ,SAAS;AAAI,YAAQ;AAC9C,MAAI,aAAa,QAAQ,SAAS;AAAI,WAAO;AAC7C,MAAI,aAAa,QAAQ,SAAS;AAAI,WAAO;AAE7C,QAAM,MAAM,SAAS,IAAI,IAAI;AAC7B,QAAM,MAAM,SAAS,IAAI,IAAI;AAE7B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;",
6
+ "names": []
7
+ }