@semcore/time-picker 16.1.14-prerelease.8 → 16.2.0-prerelease.0

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 (85) hide show
  1. package/CHANGELOG.md +3 -4
  2. package/lib/cjs/PickerFormat.js +81 -0
  3. package/lib/cjs/PickerFormat.js.map +1 -0
  4. package/lib/cjs/PickerInput.js +286 -0
  5. package/lib/cjs/PickerInput.js.map +1 -0
  6. package/lib/cjs/TimePicker.js +348 -0
  7. package/lib/cjs/TimePicker.js.map +1 -0
  8. package/lib/cjs/index.d.js +2 -0
  9. package/lib/cjs/index.d.js.map +1 -0
  10. package/lib/cjs/index.js +8 -9
  11. package/lib/cjs/index.js.map +1 -1
  12. package/lib/cjs/style/time-picker.shadow.css +116 -0
  13. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +16 -16
  14. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  15. package/lib/es6/PickerFormat.js +75 -0
  16. package/lib/es6/PickerFormat.js.map +1 -0
  17. package/lib/es6/PickerInput.js +281 -0
  18. package/lib/es6/PickerInput.js.map +1 -0
  19. package/lib/es6/TimePicker.js +339 -0
  20. package/lib/es6/TimePicker.js.map +1 -0
  21. package/lib/es6/index.d.js +2 -0
  22. package/lib/es6/index.d.js.map +1 -0
  23. package/lib/es6/index.js +2 -2
  24. package/lib/es6/index.js.map +1 -1
  25. package/lib/es6/style/time-picker.shadow.css +116 -0
  26. package/lib/es6/translations/__intergalactic-dynamic-locales.js +15 -15
  27. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  28. package/lib/esm/PickerFormat.mjs +67 -0
  29. package/lib/esm/PickerInput.mjs +263 -0
  30. package/lib/esm/TimePicker.mjs +297 -0
  31. package/lib/esm/index.mjs +7 -2
  32. package/lib/esm/style/time-picker.shadow.css +116 -0
  33. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  34. package/lib/types/index.d.ts +63 -2
  35. package/package.json +8 -8
  36. package/vite.config.ts +4 -1
  37. package/lib/cjs/component/PickerFormat/PickerFormat.js +0 -84
  38. package/lib/cjs/component/PickerFormat/PickerFormat.js.map +0 -1
  39. package/lib/cjs/component/PickerFormat/PickerFormat.type.js +0 -2
  40. package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +0 -1
  41. package/lib/cjs/component/PickerFormat/picker-format.shadow.css +0 -61
  42. package/lib/cjs/component/PickerInput/PickerInput.js +0 -228
  43. package/lib/cjs/component/PickerInput/PickerInput.js.map +0 -1
  44. package/lib/cjs/component/PickerInput/PickerInput.type.js +0 -2
  45. package/lib/cjs/component/PickerInput/PickerInput.type.js.map +0 -1
  46. package/lib/cjs/component/PickerInput/picker-input.shadow.css +0 -11
  47. package/lib/cjs/component/TimePicker/TimePicker.js +0 -220
  48. package/lib/cjs/component/TimePicker/TimePicker.js.map +0 -1
  49. package/lib/cjs/component/TimePicker/TimePicker.type.js +0 -2
  50. package/lib/cjs/component/TimePicker/TimePicker.type.js.map +0 -1
  51. package/lib/cjs/component/TimePicker/time-picker.shadow.css +0 -34
  52. package/lib/cjs/entity/TimePickerEntity.js +0 -73
  53. package/lib/cjs/entity/TimePickerEntity.js.map +0 -1
  54. package/lib/es6/component/PickerFormat/PickerFormat.js +0 -79
  55. package/lib/es6/component/PickerFormat/PickerFormat.js.map +0 -1
  56. package/lib/es6/component/PickerFormat/PickerFormat.type.js +0 -2
  57. package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +0 -1
  58. package/lib/es6/component/PickerFormat/picker-format.shadow.css +0 -61
  59. package/lib/es6/component/PickerInput/PickerInput.js +0 -222
  60. package/lib/es6/component/PickerInput/PickerInput.js.map +0 -1
  61. package/lib/es6/component/PickerInput/PickerInput.type.js +0 -2
  62. package/lib/es6/component/PickerInput/PickerInput.type.js.map +0 -1
  63. package/lib/es6/component/PickerInput/picker-input.shadow.css +0 -11
  64. package/lib/es6/component/TimePicker/TimePicker.js +0 -216
  65. package/lib/es6/component/TimePicker/TimePicker.js.map +0 -1
  66. package/lib/es6/component/TimePicker/TimePicker.type.js +0 -2
  67. package/lib/es6/component/TimePicker/TimePicker.type.js.map +0 -1
  68. package/lib/es6/component/TimePicker/time-picker.shadow.css +0 -34
  69. package/lib/es6/entity/TimePickerEntity.js +0 -66
  70. package/lib/es6/entity/TimePickerEntity.js.map +0 -1
  71. package/lib/esm/component/PickerFormat/PickerFormat.mjs +0 -84
  72. package/lib/esm/component/PickerFormat/picker-format.shadow.css +0 -61
  73. package/lib/esm/component/PickerInput/PickerInput.mjs +0 -227
  74. package/lib/esm/component/PickerInput/picker-input.shadow.css +0 -11
  75. package/lib/esm/component/TimePicker/TimePicker.mjs +0 -220
  76. package/lib/esm/component/TimePicker/time-picker.shadow.css +0 -34
  77. package/lib/esm/entity/TimePickerEntity.mjs +0 -65
  78. package/lib/types/component/PickerFormat/PickerFormat.d.ts +0 -17
  79. package/lib/types/component/PickerFormat/PickerFormat.type.d.ts +0 -16
  80. package/lib/types/component/PickerInput/PickerInput.d.ts +0 -54
  81. package/lib/types/component/PickerInput/PickerInput.type.d.ts +0 -13
  82. package/lib/types/component/TimePicker/TimePicker.d.ts +0 -3
  83. package/lib/types/component/TimePicker/TimePicker.type.d.ts +0 -50
  84. package/lib/types/entity/TimePickerEntity.d.ts +0 -22
  85. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +0 -114
@@ -0,0 +1,75 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _callSuper from "@babel/runtime/helpers/callSuper";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
+ import { assignProps as _assignProps } from "@semcore/core";
8
+ import { Component, sstyled, Root } from '@semcore/core';
9
+ import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
10
+ import { Box, ScreenReaderOnly } from '@semcore/flex-box';
11
+ import React from 'react';
12
+ var TimePickerFormat = /*#__PURE__*/function (_Component) {
13
+ function TimePickerFormat() {
14
+ var _this;
15
+ _classCallCheck(this, TimePickerFormat);
16
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
17
+ args[_key] = arguments[_key];
18
+ }
19
+ _this = _callSuper(this, TimePickerFormat, [].concat(args));
20
+ _defineProperty(_this, "state", {
21
+ changedFormatNotice: ''
22
+ });
23
+ _defineProperty(_this, "handleClick", function () {
24
+ setTimeout(function () {
25
+ var _this$asProps = _this.asProps,
26
+ meridiem = _this$asProps.meridiem,
27
+ getI18nText = _this$asProps.getI18nText;
28
+ _this.setState({
29
+ changedFormatNotice: getI18nText('changedFormatNotice', {
30
+ meridiem: meridiem
31
+ })
32
+ });
33
+ }, 0);
34
+ setTimeout(function () {
35
+ _this.setState({
36
+ changedFormatNotice: ''
37
+ });
38
+ }, 2000);
39
+ });
40
+ return _this;
41
+ }
42
+ _inherits(TimePickerFormat, _Component);
43
+ return _createClass(TimePickerFormat, [{
44
+ key: "render",
45
+ value: function render() {
46
+ var _ref = this.asProps,
47
+ _ref2;
48
+ var SPickerFormat = Box;
49
+ var _this$asProps2 = this.asProps,
50
+ Children = _this$asProps2.Children,
51
+ meridiem = _this$asProps2.meridiem,
52
+ styles = _this$asProps2.styles,
53
+ getI18nText = _this$asProps2.getI18nText,
54
+ uid = _this$asProps2.uid;
55
+ var changedFormatNotice = this.state.changedFormatNotice;
56
+ var SPickerFormatText = 'span';
57
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SPickerFormat, _ref2.cn("SPickerFormat", _objectSpread({}, _assignProps({
58
+ "type": 'button',
59
+ "tag": 'button',
60
+ "tabIndex": 0,
61
+ "onClick": this.handleClick,
62
+ "aria-describedby": "".concat(uid, "_describe")
63
+ }, _ref))), Children.origin ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(SPickerFormatText, _ref2.cn("SPickerFormatText", {}), meridiem)), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
64
+ "role": 'status',
65
+ "aria-live": 'polite'
66
+ }), changedFormatNotice), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
67
+ "aria-hidden": 'true',
68
+ "id": "".concat(uid, "_describe")
69
+ }), getI18nText('formatToggler')));
70
+ }
71
+ }]);
72
+ }(Component);
73
+ _defineProperty(TimePickerFormat, "enhance", [uniqueIDEnhancement()]);
74
+ export default TimePickerFormat;
75
+ //# sourceMappingURL=PickerFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerFormat.js","names":["Component","sstyled","Root","uniqueIDEnhancement","Box","ScreenReaderOnly","React","TimePickerFormat","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","changedFormatNotice","setTimeout","_this$asProps","asProps","meridiem","getI18nText","setState","_inherits","_createClass","key","value","render","_ref","_ref2","SPickerFormat","_this$asProps2","Children","styles","uid","state","SPickerFormatText","createElement","Fragment","cn","_objectSpread","_assignProps","handleClick","origin"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import { Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { Box, ScreenReaderOnly } from '@semcore/flex-box';\nimport React from 'react';\n\nclass TimePickerFormat extends Component {\n static enhance = [uniqueIDEnhancement()];\n\n state = {\n changedFormatNotice: '',\n };\n\n handleClick = () => {\n setTimeout(() => {\n const { meridiem, getI18nText } = this.asProps;\n this.setState({ changedFormatNotice: getI18nText('changedFormatNotice', { meridiem }) });\n }, 0);\n\n setTimeout(() => {\n this.setState({ changedFormatNotice: '' });\n }, 2000);\n };\n\n render() {\n const SPickerFormat = Root;\n const { Children, meridiem, styles, getI18nText, uid } = this.asProps;\n const { changedFormatNotice } = this.state;\n const SPickerFormatText = 'span';\n\n return sstyled(styles)(\n <>\n <SPickerFormat\n render={Box}\n type='button'\n tag='button'\n tabIndex={0}\n onClick={this.handleClick}\n aria-describedby={`${uid}_describe`}\n >\n {Children.origin ? <Children /> : <SPickerFormatText>{meridiem}</SPickerFormatText>}\n </SPickerFormat>\n <ScreenReaderOnly role='status' aria-live='polite'>\n {changedFormatNotice}\n </ScreenReaderOnly>\n <ScreenReaderOnly aria-hidden='true' id={`${uid}_describe`}>\n {getI18nText('formatToggler')}\n </ScreenReaderOnly>\n </>,\n );\n }\n}\n\nexport default TimePickerFormat;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,281 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
+ import _createClass from "@babel/runtime/helpers/createClass";
6
+ import _callSuper from "@babel/runtime/helpers/callSuper";
7
+ import _inherits from "@babel/runtime/helpers/inherits";
8
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
+ import { assignProps as _assignProps } from "@semcore/core";
10
+ var _excluded = ["styles", "step", "onSelect", "time", "size", "disabled", "onVisibleChange"];
11
+ import { Component, sstyled, Root } from '@semcore/core';
12
+ import { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';
13
+ import Input from '@semcore/input';
14
+ import Select from '@semcore/select';
15
+ import React from 'react';
16
+ import { intOrDefault, withLeadingZero } from './TimePicker';
17
+ var MAP_FIELD_TO_TIME = {
18
+ hours: 0,
19
+ minutes: 1
20
+ };
21
+ var MAP_SIZE_SELECT = {
22
+ m: 'm',
23
+ l: 'l'
24
+ };
25
+ function getOptions(min, max) {
26
+ var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
27
+ var length = Number(((max + 1 - min) / step).toFixed(0));
28
+ var options = Array(length).fill('');
29
+ var numValue = min;
30
+ return options.map(function (_i, index) {
31
+ numValue = index === 0 ? numValue : numValue + step;
32
+ var value = withLeadingZero(String(numValue));
33
+ return /*#__PURE__*/React.createElement(Select.Option, {
34
+ value: value,
35
+ key: value
36
+ }, value);
37
+ });
38
+ }
39
+ var defaultPopperOffset = [-8, 4];
40
+ var ItemPicker = /*#__PURE__*/function (_Component) {
41
+ function ItemPicker() {
42
+ var _this;
43
+ _classCallCheck(this, ItemPicker);
44
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
+ args[_key] = arguments[_key];
46
+ }
47
+ _this = _callSuper(this, ItemPicker, [].concat(args));
48
+ _defineProperty(_this, "inputRef", /*#__PURE__*/React.createRef());
49
+ _defineProperty(_this, "state", {
50
+ dirtyValue: undefined,
51
+ visible: false
52
+ });
53
+ _defineProperty(_this, "parseValueWithMinMax", function (value) {
54
+ var _this$minMax = _this.minMax(),
55
+ _this$minMax2 = _slicedToArray(_this$minMax, 2),
56
+ min = _this$minMax2[0],
57
+ max = _this$minMax2[1];
58
+ return String(Math.max(min, Math.min(max, value)));
59
+ });
60
+ _defineProperty(_this, "handleChange", function (value, event) {
61
+ /* hide props for bubbling events */
62
+ event.stopPropagation();
63
+ var numberValue = intOrDefault(Number(value), Number.NaN);
64
+ if (!Number.isNaN(numberValue)) {
65
+ _this.setState({
66
+ dirtyValue: value.slice(-2)
67
+ });
68
+ }
69
+ });
70
+ _defineProperty(_this, "handleBlur", function (event) {
71
+ return _this.submitChanges(event);
72
+ });
73
+ /* rewrite method */
74
+ _defineProperty(_this, "handleKeyDown", function () {});
75
+ _defineProperty(_this, "handleSelect", function (value, event) {
76
+ _this.dispatchOnChange(value, event);
77
+ });
78
+ _defineProperty(_this, "handleVisibleChange", function (visible) {
79
+ return _this.setState({
80
+ visible: visible
81
+ });
82
+ });
83
+ _defineProperty(_this, "getAriaLabel", function () {
84
+ var getI18nText = _this.asProps._getI18nText;
85
+ if (_this.field === 'hours') return getI18nText('hours');
86
+ if (_this.field === 'minutes') return getI18nText('minutes');
87
+ return undefined;
88
+ });
89
+ return _this;
90
+ }
91
+ _inherits(ItemPicker, _Component);
92
+ return _createClass(ItemPicker, [{
93
+ key: "minMax",
94
+ value: function minMax() {
95
+ return [];
96
+ }
97
+ }, {
98
+ key: "dispatchOnChange",
99
+ value: function dispatchOnChange(value, event) {
100
+ this.setState({
101
+ dirtyValue: undefined
102
+ });
103
+ this.asProps.$onValueChange(value, this.field, event);
104
+ }
105
+ }, {
106
+ key: "submitChanges",
107
+ value: function submitChanges(event) {
108
+ var dirtyValue = this.state.dirtyValue;
109
+ if (dirtyValue !== undefined) {
110
+ // if changes value
111
+ if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not ""
112
+ this.dispatchOnChange(dirtyValue, event);
113
+ }
114
+ }
115
+ }, {
116
+ key: "render",
117
+ value: function render() {
118
+ var _ref = this.asProps,
119
+ _ref2;
120
+ var SPickerInput = Select.Trigger;
121
+ var _this$asProps = this.asProps,
122
+ styles = _this$asProps.styles,
123
+ step = _this$asProps.step,
124
+ onSelect = _this$asProps.onSelect,
125
+ time = _this$asProps.time,
126
+ size = _this$asProps.size,
127
+ disabled = _this$asProps.disabled,
128
+ onVisibleChange = _this$asProps.onVisibleChange,
129
+ other = _objectWithoutProperties(_this$asProps, _excluded);
130
+ var _this$state = this.state,
131
+ dirtyValue = _this$state.dirtyValue,
132
+ visible = _this$state.visible;
133
+ var timeValue = time[MAP_FIELD_TO_TIME[this.field]];
134
+ var value = dirtyValue === undefined ? timeValue : dirtyValue;
135
+ var _this$minMax3 = this.minMax(),
136
+ _this$minMax4 = _slicedToArray(_this$minMax3, 2),
137
+ min = _this$minMax4[0],
138
+ max = _this$minMax4[1];
139
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(Select, _ref2.cn("Select", _objectSpread(_objectSpread({}, other), {}, {
140
+ "interaction": 'focus',
141
+ "size": size ? MAP_SIZE_SELECT[size] : false,
142
+ "onChange": callAllEventHandlers(onSelect, this.handleSelect),
143
+ "onVisibleChange": callAllEventHandlers(onVisibleChange, this.handleVisibleChange),
144
+ "visible": visible,
145
+ "value": timeValue
146
+ })), /*#__PURE__*/React.createElement(SPickerInput, _ref2.cn("SPickerInput", _objectSpread({}, _assignProps({
147
+ "tag": Input.Value,
148
+ "ref": this.inputRef,
149
+ "inputMode": 'numeric',
150
+ "size": size,
151
+ "disabled": disabled,
152
+ "neighborLocation": false,
153
+ "value": value,
154
+ "aria-label": this.getAriaLabel(),
155
+ "onChange": this.handleChange,
156
+ "onBlur": this.handleBlur,
157
+ "onKeyDown": this.handleKeyDown
158
+ }, _ref)))), /*#__PURE__*/React.createElement(Select.Menu, {
159
+ hMax: 180
160
+ }, getOptions(min, max, step)));
161
+ }
162
+ }]);
163
+ }(Component);
164
+ _defineProperty(ItemPicker, "defaultProps", {
165
+ placeholder: '00',
166
+ offset: defaultPopperOffset
167
+ });
168
+ var Hours = /*#__PURE__*/function (_ItemPicker2) {
169
+ function Hours() {
170
+ var _this2;
171
+ _classCallCheck(this, Hours);
172
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
173
+ args[_key2] = arguments[_key2];
174
+ }
175
+ _this2 = _callSuper(this, Hours, [].concat(args));
176
+ _defineProperty(_this2, "field", 'hours');
177
+ _defineProperty(_this2, "handleKeyDown", function (event) {
178
+ var currentTarget = event.currentTarget;
179
+ if (event.key === 'Enter') {
180
+ _this2.submitChanges(event);
181
+ }
182
+ if (event.key === 'ArrowRight') {
183
+ if (currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
184
+ event.preventDefault();
185
+ _this2.focusNext();
186
+ }
187
+ }
188
+ });
189
+ return _this2;
190
+ }
191
+ _inherits(Hours, _ItemPicker2);
192
+ return _createClass(Hours, [{
193
+ key: "minMax",
194
+ value: function minMax() {
195
+ var is12Hour = this.asProps.is12Hour;
196
+ if (is12Hour) {
197
+ return [1, 12];
198
+ } else {
199
+ return [0, 23];
200
+ }
201
+ }
202
+ }, {
203
+ key: "focusNext",
204
+ value: function focusNext() {
205
+ if (this.asProps.minutesInputRef.current) {
206
+ this.setState({
207
+ visible: false
208
+ });
209
+ this.asProps.minutesInputRef.current.focus();
210
+ }
211
+ }
212
+ }, {
213
+ key: "componentDidUpdate",
214
+ value: function componentDidUpdate(_prevProps, prevState) {
215
+ var dirtyValue = this.state.dirtyValue;
216
+ if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;
217
+ if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {
218
+ this.focusNext();
219
+ }
220
+ }
221
+ }]);
222
+ }(ItemPicker);
223
+ _defineProperty(Hours, "defaultProps", function (_ref3) {
224
+ var size = _ref3.size;
225
+ return _objectSpread(_objectSpread({}, ItemPicker.defaultProps), {}, {
226
+ ml: size === 'l' ? 3 : undefined
227
+ });
228
+ });
229
+ var Minutes = /*#__PURE__*/function (_ItemPicker3) {
230
+ function Minutes() {
231
+ var _this3;
232
+ _classCallCheck(this, Minutes);
233
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
234
+ args[_key3] = arguments[_key3];
235
+ }
236
+ _this3 = _callSuper(this, Minutes, [].concat(args));
237
+ _defineProperty(_this3, "field", 'minutes');
238
+ _defineProperty(_this3, "handleKeyDown", function (event) {
239
+ var currentTarget = event.currentTarget;
240
+ if (event.key === 'ArrowLeft') {
241
+ if (currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
242
+ event.preventDefault();
243
+ _this3.focusPrev();
244
+ }
245
+ }
246
+ if (event.key === 'Backspace') {
247
+ if (currentTarget.value.length === 0) {
248
+ event.preventDefault();
249
+ _this3.focusPrev();
250
+ }
251
+ }
252
+ if (event.key === 'Enter') _this3.submitChanges(event);
253
+ });
254
+ return _this3;
255
+ }
256
+ _inherits(Minutes, _ItemPicker3);
257
+ return _createClass(Minutes, [{
258
+ key: "minMax",
259
+ value: function minMax() {
260
+ return [0, 59];
261
+ }
262
+ }, {
263
+ key: "focusPrev",
264
+ value: function focusPrev() {
265
+ if (this.asProps.hoursInputRef.current) {
266
+ this.setState({
267
+ visible: false
268
+ });
269
+ this.asProps.hoursInputRef.current.focus();
270
+ }
271
+ }
272
+ }]);
273
+ }(ItemPicker);
274
+ _defineProperty(Minutes, "defaultProps", function (_ref4) {
275
+ var size = _ref4.size;
276
+ return _objectSpread(_objectSpread({}, ItemPicker.defaultProps), {}, {
277
+ mr: size === 'l' ? 3 : undefined
278
+ });
279
+ });
280
+ export { Hours, Minutes };
281
+ //# sourceMappingURL=PickerInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerInput.js","names":["Component","sstyled","Root","callAllEventHandlers","Input","Select","React","intOrDefault","withLeadingZero","MAP_FIELD_TO_TIME","hours","minutes","MAP_SIZE_SELECT","m","l","getOptions","min","max","step","arguments","length","undefined","Number","toFixed","options","Array","fill","numValue","map","_i","index","value","String","createElement","Option","key","defaultPopperOffset","ItemPicker","_Component","_this","_classCallCheck","_len","args","_key","_callSuper","concat","_defineProperty","createRef","dirtyValue","visible","_this$minMax","minMax","_this$minMax2","_slicedToArray","Math","event","stopPropagation","numberValue","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","getI18nText","asProps","_getI18nText","field","_inherits","_createClass","$onValueChange","state","parseValueWithMinMax","render","_ref","_ref2","SPickerInput","Trigger","_this$asProps","styles","onSelect","time","size","disabled","onVisibleChange","other","_objectWithoutProperties","_excluded","_this$state","timeValue","_this$minMax3","_this$minMax4","cn","_objectSpread","handleSelect","handleVisibleChange","_assignProps","Value","inputRef","getAriaLabel","handleChange","handleBlur","handleKeyDown","Menu","hMax","placeholder","offset","Hours","_ItemPicker2","_this2","_len2","_key2","currentTarget","selectionStart","selectionEnd","preventDefault","focusNext","is12Hour","minutesInputRef","current","focus","componentDidUpdate","_prevProps","prevState","_ref3","defaultProps","ml","Minutes","_ItemPicker3","_this3","_len3","_key3","focusPrev","hoursInputRef","_ref4","mr"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport React from 'react';\n\nimport { intOrDefault, withLeadingZero } from './TimePicker';\n\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nconst MAP_SIZE_SELECT = {\n m: 'm',\n l: 'l',\n};\n\nfunction getOptions(min, max, step = 1) {\n const length = Number(((max + 1 - min) / step).toFixed(0));\n const options = Array(length).fill('');\n let numValue = min;\n return options.map((_i, index) => {\n numValue = index === 0 ? numValue : numValue + step;\n const value = withLeadingZero(String(numValue));\n return (\n <Select.Option value={value} key={value}>\n {value}\n </Select.Option>\n );\n });\n}\n\nconst defaultPopperOffset = [-8, 4];\n\nclass ItemPicker extends Component {\n static defaultProps = {\n placeholder: '00',\n offset: defaultPopperOffset,\n };\n\n inputRef = React.createRef();\n\n minMax() {\n return [];\n }\n\n state = {\n dirtyValue: undefined,\n visible: false,\n };\n\n parseValueWithMinMax = (value) => {\n const [min, max] = this.minMax();\n return String(Math.max(min, Math.min(max, value)));\n };\n\n dispatchOnChange(value, event) {\n this.setState({ dirtyValue: undefined });\n this.asProps.$onValueChange(value, this.field, event);\n }\n\n submitChanges(event) {\n let { dirtyValue } = this.state;\n if (dirtyValue !== undefined) {\n // if changes value\n if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not \"\"\n this.dispatchOnChange(dirtyValue, event);\n }\n }\n\n handleChange = (value, event) => {\n /* hide props for bubbling events */\n event.stopPropagation();\n const numberValue = intOrDefault(Number(value), Number.NaN);\n\n if (!Number.isNaN(numberValue)) {\n this.setState({ dirtyValue: value.slice(-2) });\n }\n };\n\n handleBlur = (event) => this.submitChanges(event);\n\n /* rewrite method */\n handleKeyDown = () => {};\n\n handleSelect = (value, event) => {\n this.dispatchOnChange(value, event);\n };\n\n handleVisibleChange = (visible) => this.setState({ visible });\n\n getAriaLabel = () => {\n const { _getI18nText: getI18nText } = this.asProps;\n if (this.field === 'hours') return getI18nText('hours');\n if (this.field === 'minutes') return getI18nText('minutes');\n return undefined;\n };\n\n render() {\n const SPickerInput = Root;\n const { styles, step, onSelect, time, size, disabled, onVisibleChange, ...other } =\n this.asProps;\n const { dirtyValue, visible } = this.state;\n const timeValue = time[MAP_FIELD_TO_TIME[this.field]];\n const value = dirtyValue === undefined ? timeValue : dirtyValue;\n const [min, max] = this.minMax();\n\n return sstyled(styles)(\n <Select\n {...other}\n interaction='focus'\n size={size ? MAP_SIZE_SELECT[size] : false}\n onChange={callAllEventHandlers(onSelect, this.handleSelect)}\n onVisibleChange={callAllEventHandlers(onVisibleChange, this.handleVisibleChange)}\n visible={visible}\n value={timeValue}\n >\n <SPickerInput\n render={Select.Trigger}\n tag={Input.Value}\n ref={this.inputRef}\n inputMode='numeric'\n size={size}\n disabled={disabled}\n neighborLocation={false}\n value={value}\n aria-label={this.getAriaLabel()}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n <Select.Menu hMax={180}>{getOptions(min, max, step)}</Select.Menu>\n </Select>,\n );\n }\n}\n\nclass Hours extends ItemPicker {\n field = 'hours';\n static defaultProps = ({ size }) => ({\n ...ItemPicker.defaultProps,\n ml: size === 'l' ? 3 : undefined,\n });\n\n minMax() {\n const { is12Hour } = this.asProps;\n if (is12Hour) {\n return [1, 12];\n } else {\n return [0, 23];\n }\n }\n\n focusNext() {\n if (this.asProps.minutesInputRef.current) {\n this.setState({ visible: false });\n this.asProps.minutesInputRef.current.focus();\n }\n }\n\n handleKeyDown = (event) => {\n const { currentTarget } = event;\n if (event.key === 'Enter') {\n this.submitChanges(event);\n }\n if (event.key === 'ArrowRight') {\n if (\n currentTarget.selectionStart >= currentTarget.value.length &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n event.preventDefault();\n this.focusNext();\n }\n }\n };\n\n componentDidUpdate(_prevProps, prevState) {\n const { dirtyValue } = this.state;\n if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;\n\n if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {\n this.focusNext();\n }\n }\n}\n\nclass Minutes extends ItemPicker {\n field = 'minutes';\n static defaultProps = ({ size }) => ({\n ...ItemPicker.defaultProps,\n mr: size === 'l' ? 3 : undefined,\n });\n\n minMax() {\n return [0, 59];\n }\n\n focusPrev() {\n if (this.asProps.hoursInputRef.current) {\n this.setState({ visible: false });\n this.asProps.hoursInputRef.current.focus();\n }\n }\n\n handleKeyDown = (event) => {\n const { currentTarget } = event;\n if (event.key === 'ArrowLeft') {\n if (\n currentTarget.selectionStart <= 0 &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n event.preventDefault();\n this.focusPrev();\n }\n }\n if (event.key === 'Backspace') {\n if (currentTarget.value.length === 0) {\n event.preventDefault();\n this.focusPrev();\n }\n }\n if (event.key === 'Enter') this.submitChanges(event);\n };\n}\n\nexport { Hours, Minutes };\n"],"mappings":"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","ignoreList":[]}