@semcore/time-picker 4.53.0-prerelease.0 → 4.53.0-prerelease.1

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 (78) hide show
  1. package/lib/cjs/PickerFormat.js +85 -0
  2. package/lib/cjs/PickerFormat.js.map +1 -0
  3. package/lib/cjs/{component/PickerInput/PickerInput.js → PickerInput.js} +108 -89
  4. package/lib/cjs/PickerInput.js.map +1 -0
  5. package/lib/cjs/TimePicker.js +360 -0
  6. package/lib/cjs/TimePicker.js.map +1 -0
  7. package/lib/cjs/index.d.js +2 -0
  8. package/lib/cjs/index.d.js.map +1 -0
  9. package/lib/cjs/index.js +5 -6
  10. package/lib/cjs/index.js.map +1 -1
  11. package/lib/cjs/{component/PickerFormat/picker-format.shadow.css → style/time-picker.shadow.css} +62 -2
  12. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +5 -4
  13. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  14. package/lib/es6/PickerFormat.js +79 -0
  15. package/lib/es6/PickerFormat.js.map +1 -0
  16. package/lib/es6/{component/PickerInput/PickerInput.js → PickerInput.js} +106 -90
  17. package/lib/es6/PickerInput.js.map +1 -0
  18. package/lib/es6/TimePicker.js +348 -0
  19. package/lib/es6/TimePicker.js.map +1 -0
  20. package/lib/es6/index.d.js +2 -0
  21. package/lib/es6/index.d.js.map +1 -0
  22. package/lib/es6/index.js +2 -2
  23. package/lib/es6/index.js.map +1 -1
  24. package/lib/{esm/component/PickerFormat/picker-format.shadow.css → es6/style/time-picker.shadow.css} +62 -2
  25. package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
  26. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  27. package/lib/esm/PickerFormat.mjs +70 -0
  28. package/lib/esm/{component/PickerInput/PickerInput.mjs → PickerInput.mjs} +100 -92
  29. package/lib/esm/TimePicker.mjs +305 -0
  30. package/lib/esm/index.mjs +7 -3
  31. package/lib/{es6/component/PickerFormat/picker-format.shadow.css → esm/style/time-picker.shadow.css} +62 -2
  32. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
  33. package/lib/types/index.d.ts +63 -2
  34. package/package.json +7 -7
  35. package/lib/cjs/component/PickerFormat/PickerFormat.js +0 -93
  36. package/lib/cjs/component/PickerFormat/PickerFormat.js.map +0 -1
  37. package/lib/cjs/component/PickerFormat/PickerFormat.type.js +0 -2
  38. package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +0 -1
  39. package/lib/cjs/component/PickerInput/PickerInput.js.map +0 -1
  40. package/lib/cjs/component/PickerInput/PickerInput.type.js +0 -2
  41. package/lib/cjs/component/PickerInput/PickerInput.type.js.map +0 -1
  42. package/lib/cjs/component/PickerInput/picker-input.shadow.css +0 -11
  43. package/lib/cjs/component/TimePicker/TimePicker.js +0 -254
  44. package/lib/cjs/component/TimePicker/TimePicker.js.map +0 -1
  45. package/lib/cjs/component/TimePicker/TimePicker.type.js +0 -2
  46. package/lib/cjs/component/TimePicker/TimePicker.type.js.map +0 -1
  47. package/lib/cjs/component/TimePicker/time-picker.shadow.css +0 -34
  48. package/lib/cjs/entity/TimePickerEntity.js +0 -101
  49. package/lib/cjs/entity/TimePickerEntity.js.map +0 -1
  50. package/lib/es6/component/PickerFormat/PickerFormat.js +0 -88
  51. package/lib/es6/component/PickerFormat/PickerFormat.js.map +0 -1
  52. package/lib/es6/component/PickerFormat/PickerFormat.type.js +0 -2
  53. package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +0 -1
  54. package/lib/es6/component/PickerInput/PickerInput.js.map +0 -1
  55. package/lib/es6/component/PickerInput/PickerInput.type.js +0 -2
  56. package/lib/es6/component/PickerInput/PickerInput.type.js.map +0 -1
  57. package/lib/es6/component/PickerInput/picker-input.shadow.css +0 -11
  58. package/lib/es6/component/TimePicker/TimePicker.js +0 -250
  59. package/lib/es6/component/TimePicker/TimePicker.js.map +0 -1
  60. package/lib/es6/component/TimePicker/TimePicker.type.js +0 -2
  61. package/lib/es6/component/TimePicker/TimePicker.type.js.map +0 -1
  62. package/lib/es6/component/TimePicker/time-picker.shadow.css +0 -34
  63. package/lib/es6/entity/TimePickerEntity.js +0 -94
  64. package/lib/es6/entity/TimePickerEntity.js.map +0 -1
  65. package/lib/esm/component/PickerFormat/PickerFormat.mjs +0 -86
  66. package/lib/esm/component/PickerInput/picker-input.shadow.css +0 -11
  67. package/lib/esm/component/TimePicker/TimePicker.mjs +0 -233
  68. package/lib/esm/component/TimePicker/TimePicker.type.mjs +0 -1
  69. package/lib/esm/component/TimePicker/time-picker.shadow.css +0 -34
  70. package/lib/esm/entity/TimePickerEntity.mjs +0 -90
  71. package/lib/types/component/PickerFormat/PickerFormat.d.ts +0 -17
  72. package/lib/types/component/PickerFormat/PickerFormat.type.d.ts +0 -16
  73. package/lib/types/component/PickerInput/PickerInput.d.ts +0 -54
  74. package/lib/types/component/PickerInput/PickerInput.type.d.ts +0 -13
  75. package/lib/types/component/TimePicker/TimePicker.d.ts +0 -3
  76. package/lib/types/component/TimePicker/TimePicker.type.d.ts +0 -50
  77. package/lib/types/entity/TimePickerEntity.d.ts +0 -22
  78. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +0 -114
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _core = require("@semcore/core");
16
+ var _react = _interopRequireDefault(require("react"));
17
+ var _flexBox = require("@semcore/flex-box");
18
+ var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
19
+ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
20
+ var TimePickerFormat = /*#__PURE__*/function (_Component) {
21
+ (0, _inherits2["default"])(TimePickerFormat, _Component);
22
+ var _super = (0, _createSuper2["default"])(TimePickerFormat);
23
+ function TimePickerFormat() {
24
+ var _this;
25
+ (0, _classCallCheck2["default"])(this, TimePickerFormat);
26
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
+ args[_key] = arguments[_key];
28
+ }
29
+ _this = _super.call.apply(_super, [this].concat(args));
30
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
31
+ changedFormatNotice: ''
32
+ });
33
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function () {
34
+ setTimeout(function () {
35
+ var _this$asProps = _this.asProps,
36
+ meridiem = _this$asProps.meridiem,
37
+ getI18nText = _this$asProps.getI18nText;
38
+ _this.setState({
39
+ changedFormatNotice: getI18nText('changedFormatNotice', {
40
+ meridiem: meridiem
41
+ })
42
+ });
43
+ }, 0);
44
+ setTimeout(function () {
45
+ _this.setState({
46
+ changedFormatNotice: ''
47
+ });
48
+ }, 2000);
49
+ });
50
+ return _this;
51
+ }
52
+ (0, _createClass2["default"])(TimePickerFormat, [{
53
+ key: "render",
54
+ value: function render() {
55
+ var _ref = this.asProps,
56
+ _ref2;
57
+ var SPickerFormat = _flexBox.Box;
58
+ var _this$asProps2 = this.asProps,
59
+ Children = _this$asProps2.Children,
60
+ meridiem = _this$asProps2.meridiem,
61
+ styles = _this$asProps2.styles,
62
+ getI18nText = _this$asProps2.getI18nText,
63
+ uid = _this$asProps2.uid;
64
+ var changedFormatNotice = this.state.changedFormatNotice;
65
+ var SPickerFormatText = 'span';
66
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SPickerFormat, _ref2.cn("SPickerFormat", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
67
+ "type": 'button',
68
+ "tag": 'button',
69
+ "onClick": this.handleClick,
70
+ "aria-describedby": "".concat(uid, "_describe")
71
+ }, _ref))), Children.origin ? /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(SPickerFormatText, _ref2.cn("SPickerFormatText", {}), meridiem)), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
72
+ "role": 'status',
73
+ "aria-live": 'polite'
74
+ }), changedFormatNotice), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
75
+ "aria-hidden": 'true',
76
+ "id": "".concat(uid, "_describe")
77
+ }), getI18nText('formatToggler')));
78
+ }
79
+ }]);
80
+ return TimePickerFormat;
81
+ }(_core.Component);
82
+ (0, _defineProperty2["default"])(TimePickerFormat, "enhance", [(0, _keyboardFocusEnhance["default"])(), (0, _uniqueID["default"])()]);
83
+ var _default = TimePickerFormat;
84
+ exports["default"] = _default;
85
+ //# sourceMappingURL=PickerFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerFormat.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_keyboardFocusEnhance","_uniqueID","TimePickerFormat","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","changedFormatNotice","setTimeout","_this$asProps","asProps","meridiem","getI18nText","setState","_createClass2","key","value","render","_ref","_ref2","SPickerFormat","Box","_this$asProps2","Children","styles","uid","state","SPickerFormatText","sstyled","createElement","Fragment","cn","_objectSpread2","assignProps","handleClick","origin","ScreenReaderOnly","Component","keyboardFocusEnhance","uniqueIDEnhancement","_default","exports"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { ScreenReaderOnly } from '@semcore/flex-box';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nclass TimePickerFormat extends Component {\n static enhance = [keyboardFocusEnhance(), 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 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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"}
@@ -1,94 +1,108 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Minutes = exports.Hours = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
13
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
14
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
17
  var _core = require("@semcore/core");
17
- var _assignProps2 = require("@semcore/core/lib/utils/assignProps");
18
+ var _react = _interopRequireDefault(require("react"));
18
19
  var _input = _interopRequireDefault(require("@semcore/input"));
19
20
  var _select = _interopRequireDefault(require("@semcore/select"));
20
- var _react = _interopRequireDefault(require("react"));
21
- var _excluded = ["styles", "step", "onSelect", "time", "size", "disabled", "onVisibleChange", "ariaLabel"];
22
- /*!__reshadow-styles__:"./picker-input.shadow.css"*/
23
- var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPickerInput_p1g8c_gg_._size_l_p1g8c_gg_,.___SPickerInput_p1g8c_gg_._size_m_p1g8c_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_p1g8c_gg_._size_l_p1g8c_gg_{width:21px}", /*__inner_css_end__*/"p1g8c_gg_"),
24
- /*__reshadow_css_end__*/
25
- {
26
- "__SPickerInput": "___SPickerInput_p1g8c_gg_",
27
- "_size_m": "_size_m_p1g8c_gg_",
28
- "_size_l": "_size_l_p1g8c_gg_"
29
- });
30
- function getOptions(minMax) {
31
- var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
32
- var _minMax = (0, _slicedToArray2["default"])(minMax, 2),
33
- min = _minMax[0],
34
- max = _minMax[1];
21
+ var _TimePicker = require("./TimePicker");
22
+ var _assignProps2 = require("@semcore/utils/lib/assignProps");
23
+ var _excluded = ["styles", "step", "onSelect", "time", "size", "disabled", "onVisibleChange"];
24
+ var MAP_FIELD_TO_TIME = {
25
+ hours: 0,
26
+ minutes: 1
27
+ };
28
+ var MAP_SIZE_SELECT = {
29
+ m: 'm',
30
+ l: 'l'
31
+ };
32
+ function getOptions(min, max) {
33
+ var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
35
34
  var length = Number(((max + 1 - min) / step).toFixed(0));
36
35
  var options = Array(length).fill('');
37
36
  var numValue = min;
38
- return options.map(function (_i, index) {
37
+ return options.map(function (i, index) {
39
38
  numValue = index === 0 ? numValue : numValue + step;
40
- var value = String(numValue).padStart(2, '0');
39
+ var value = (0, _TimePicker.withLeadingZero)(String(numValue));
41
40
  return /*#__PURE__*/_react["default"].createElement(_select["default"].Option, {
42
41
  value: value,
43
42
  key: value
44
43
  }, value);
45
44
  });
46
45
  }
47
- var AbstractPickerInput = /*#__PURE__*/function (_Component) {
48
- function AbstractPickerInput() {
46
+ var defaultPopperOffset = [-8, 4];
47
+ var ItemPicker = /*#__PURE__*/function (_Component) {
48
+ (0, _inherits2["default"])(ItemPicker, _Component);
49
+ var _super = (0, _createSuper2["default"])(ItemPicker);
50
+ function ItemPicker() {
49
51
  var _this;
50
- (0, _classCallCheck2["default"])(this, AbstractPickerInput);
52
+ (0, _classCallCheck2["default"])(this, ItemPicker);
51
53
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
52
54
  args[_key] = arguments[_key];
53
55
  }
54
- _this = (0, _callSuper2["default"])(this, AbstractPickerInput, [].concat(args));
55
- (0, _defineProperty2["default"])(_this, "state", {
56
+ _this = _super.call.apply(_super, [this].concat(args));
57
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputRef", /*#__PURE__*/_react["default"].createRef());
58
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
56
59
  dirtyValue: undefined,
57
60
  visible: false
58
61
  });
59
- (0, _defineProperty2["default"])(_this, "inputRef", /*#__PURE__*/_react["default"].createRef());
60
- (0, _defineProperty2["default"])(_this, "parseValueWithMinMax", function (value) {
61
- var _this$minMax = (0, _slicedToArray2["default"])(_this.minMax, 2),
62
- min = _this$minMax[0],
63
- max = _this$minMax[1];
64
- var numberValue = isNaN(Number(value)) ? min : Number(value);
65
- return String(Math.max(min, Math.min(max, numberValue)));
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "parseValueWithMinMax", function (value) {
63
+ var _this$minMax = _this.minMax(),
64
+ _this$minMax2 = (0, _slicedToArray2["default"])(_this$minMax, 2),
65
+ min = _this$minMax2[0],
66
+ max = _this$minMax2[1];
67
+ return String(Math.max(min, Math.min(max, value)));
66
68
  });
67
- (0, _defineProperty2["default"])(_this, "handleChange", function (value, event) {
69
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (value, event) {
70
+ /* hide props for bubbling events */
68
71
  event.stopPropagation();
69
- var inputValue = value.replace(/[^0-9]/g, '');
70
- var numberValue = Number(inputValue);
72
+ var numberValue = (0, _TimePicker.intOrDefault)(Number(value), NaN);
71
73
  if (!Number.isNaN(numberValue)) {
72
74
  _this.setState({
73
- dirtyValue: inputValue.slice(-2)
75
+ dirtyValue: value.slice(-2)
74
76
  });
75
77
  }
76
78
  });
77
- (0, _defineProperty2["default"])(_this, "handleBlur", function (event) {
79
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleBlur", function (event) {
78
80
  return _this.submitChanges(event);
79
81
  });
80
- (0, _defineProperty2["default"])(_this, "handleSelect", function (value, event) {
82
+ /* rewrite method */
83
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function () {});
84
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSelect", function (value, event) {
81
85
  _this.dispatchOnChange(value, event);
82
86
  });
83
- (0, _defineProperty2["default"])(_this, "handleVisibleChange", function (visible) {
87
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleVisibleChange", function (visible) {
84
88
  return _this.setState({
85
89
  visible: visible
86
90
  });
87
91
  });
92
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getAriaLabel", function () {
93
+ var getI18nText = _this.asProps._getI18nText;
94
+ if (_this.field === 'hours') return getI18nText('hours');
95
+ if (_this.field === 'minutes') return getI18nText('minutes');
96
+ return undefined;
97
+ });
88
98
  return _this;
89
99
  }
90
- (0, _inherits2["default"])(AbstractPickerInput, _Component);
91
- return (0, _createClass2["default"])(AbstractPickerInput, [{
100
+ (0, _createClass2["default"])(ItemPicker, [{
101
+ key: "minMax",
102
+ value: function minMax() {
103
+ return [];
104
+ }
105
+ }, {
92
106
  key: "dispatchOnChange",
93
107
  value: function dispatchOnChange(value, event) {
94
108
  this.setState({
@@ -120,20 +134,23 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
120
134
  size = _this$asProps.size,
121
135
  disabled = _this$asProps.disabled,
122
136
  onVisibleChange = _this$asProps.onVisibleChange,
123
- ariaLabel = _this$asProps.ariaLabel,
124
137
  other = (0, _objectWithoutProperties2["default"])(_this$asProps, _excluded);
125
138
  var _this$state = this.state,
126
139
  dirtyValue = _this$state.dirtyValue,
127
140
  visible = _this$state.visible;
128
- var value = dirtyValue === undefined ? time : dirtyValue;
141
+ var timeValue = time[MAP_FIELD_TO_TIME[this.field]];
142
+ var value = dirtyValue === undefined ? timeValue : dirtyValue;
143
+ var _this$minMax3 = this.minMax(),
144
+ _this$minMax4 = (0, _slicedToArray2["default"])(_this$minMax3, 2),
145
+ min = _this$minMax4[0],
146
+ max = _this$minMax4[1];
129
147
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_select["default"], _ref2.cn("Select", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, {
130
148
  "interaction": 'focus',
131
- "size": size,
149
+ "size": size ? MAP_SIZE_SELECT[size] : false,
132
150
  "onChange": (0, _assignProps2.callAllEventHandlers)(onSelect, this.handleSelect),
133
151
  "onVisibleChange": (0, _assignProps2.callAllEventHandlers)(onVisibleChange, this.handleVisibleChange),
134
152
  "visible": visible,
135
- "value": time,
136
- "defaultHighlightedIndex": time ? null : 0
153
+ "value": timeValue
137
154
  })), /*#__PURE__*/_react["default"].createElement(SPickerInput, _ref2.cn("SPickerInput", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
138
155
  "tag": _input["default"].Value,
139
156
  "ref": this.inputRef,
@@ -142,38 +159,39 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
142
159
  "disabled": disabled,
143
160
  "neighborLocation": false,
144
161
  "value": value,
145
- "aria-label": ariaLabel,
162
+ "aria-label": this.getAriaLabel(),
146
163
  "onChange": this.handleChange,
147
164
  "onBlur": this.handleBlur,
148
165
  "onKeyDown": this.handleKeyDown
149
166
  }, _ref)))), /*#__PURE__*/_react["default"].createElement(_select["default"].Menu, {
150
167
  hMax: 180
151
- }, getOptions(this.minMax, step)));
168
+ }, getOptions(min, max, step)));
152
169
  }
153
170
  }]);
171
+ return ItemPicker;
154
172
  }(_core.Component);
155
- (0, _defineProperty2["default"])(AbstractPickerInput, "style", style);
156
- (0, _defineProperty2["default"])(AbstractPickerInput, "defaultProps", function (_) {
157
- return {
158
- placeholder: '00',
159
- offset: [-8, 4]
160
- };
173
+ (0, _defineProperty2["default"])(ItemPicker, "defaultProps", {
174
+ placeholder: '00',
175
+ offset: defaultPopperOffset
161
176
  });
162
- var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
177
+ var Hours = /*#__PURE__*/function (_ItemPicker) {
178
+ (0, _inherits2["default"])(Hours, _ItemPicker);
179
+ var _super2 = (0, _createSuper2["default"])(Hours);
163
180
  function Hours() {
164
181
  var _this2;
165
182
  (0, _classCallCheck2["default"])(this, Hours);
166
183
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
167
184
  args[_key2] = arguments[_key2];
168
185
  }
169
- _this2 = (0, _callSuper2["default"])(this, Hours, [].concat(args));
170
- (0, _defineProperty2["default"])(_this2, "handleKeyDown", function (event) {
186
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
187
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "field", 'hours');
188
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handleKeyDown", function (event) {
171
189
  var currentTarget = event.currentTarget;
172
190
  if (event.key === 'Enter') {
173
191
  _this2.submitChanges(event);
174
192
  }
175
193
  if (event.key === 'ArrowRight') {
176
- if (currentTarget.selectionStart && currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
194
+ if (currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
177
195
  event.preventDefault();
178
196
  _this2.focusNext();
179
197
  }
@@ -181,17 +199,15 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
181
199
  });
182
200
  return _this2;
183
201
  }
184
- (0, _inherits2["default"])(Hours, _AbstractPickerInput2);
185
- return (0, _createClass2["default"])(Hours, [{
186
- key: "field",
187
- get: function get() {
188
- return 'hours';
189
- }
190
- }, {
202
+ (0, _createClass2["default"])(Hours, [{
191
203
  key: "minMax",
192
- get: function get() {
204
+ value: function minMax() {
193
205
  var is12Hour = this.asProps.is12Hour;
194
- return is12Hour ? [1, 12] : [0, 23];
206
+ if (is12Hour) {
207
+ return [1, 12];
208
+ } else {
209
+ return [0, 23];
210
+ }
195
211
  }
196
212
  }, {
197
213
  key: "focusNext",
@@ -205,7 +221,7 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
205
221
  }
206
222
  }, {
207
223
  key: "componentDidUpdate",
208
- value: function componentDidUpdate(_, prevState) {
224
+ value: function componentDidUpdate(_prevProps, prevState) {
209
225
  var dirtyValue = this.state.dirtyValue;
210
226
  if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;
211
227
  if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {
@@ -213,24 +229,30 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
213
229
  }
214
230
  }
215
231
  }]);
216
- }(AbstractPickerInput);
217
- (0, _defineProperty2["default"])(Hours, "defaultProps", function (props) {
218
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, AbstractPickerInput.defaultProps(props)), {}, {
219
- ml: props.size === 'l' ? 3 : undefined
232
+ return Hours;
233
+ }(ItemPicker);
234
+ exports.Hours = Hours;
235
+ (0, _defineProperty2["default"])(Hours, "defaultProps", function (_ref3) {
236
+ var size = _ref3.size;
237
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, ItemPicker.defaultProps), {}, {
238
+ ml: size === 'l' ? 3 : undefined
220
239
  });
221
240
  });
222
- var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
241
+ var Minutes = /*#__PURE__*/function (_ItemPicker2) {
242
+ (0, _inherits2["default"])(Minutes, _ItemPicker2);
243
+ var _super3 = (0, _createSuper2["default"])(Minutes);
223
244
  function Minutes() {
224
245
  var _this3;
225
246
  (0, _classCallCheck2["default"])(this, Minutes);
226
247
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
227
248
  args[_key3] = arguments[_key3];
228
249
  }
229
- _this3 = (0, _callSuper2["default"])(this, Minutes, [].concat(args));
230
- (0, _defineProperty2["default"])(_this3, "handleKeyDown", function (event) {
250
+ _this3 = _super3.call.apply(_super3, [this].concat(args));
251
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "field", 'minutes');
252
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "handleKeyDown", function (event) {
231
253
  var currentTarget = event.currentTarget;
232
254
  if (event.key === 'ArrowLeft') {
233
- if (currentTarget.selectionStart && currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
255
+ if (currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
234
256
  event.preventDefault();
235
257
  _this3.focusPrev();
236
258
  }
@@ -245,15 +267,9 @@ var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
245
267
  });
246
268
  return _this3;
247
269
  }
248
- (0, _inherits2["default"])(Minutes, _AbstractPickerInput3);
249
- return (0, _createClass2["default"])(Minutes, [{
250
- key: "field",
251
- get: function get() {
252
- return 'minutes';
253
- }
254
- }, {
270
+ (0, _createClass2["default"])(Minutes, [{
255
271
  key: "minMax",
256
- get: function get() {
272
+ value: function minMax() {
257
273
  return [0, 59];
258
274
  }
259
275
  }, {
@@ -267,10 +283,13 @@ var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
267
283
  }
268
284
  }
269
285
  }]);
270
- }(AbstractPickerInput);
271
- (0, _defineProperty2["default"])(Minutes, "defaultProps", function (props) {
272
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, AbstractPickerInput.defaultProps(props)), {}, {
273
- mr: props.size === 'l' ? 3 : undefined
286
+ return Minutes;
287
+ }(ItemPicker);
288
+ exports.Minutes = Minutes;
289
+ (0, _defineProperty2["default"])(Minutes, "defaultProps", function (_ref4) {
290
+ var size = _ref4.size;
291
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, ItemPicker.defaultProps), {}, {
292
+ mr: size === 'l' ? 3 : undefined
274
293
  });
275
294
  });
276
295
  //# sourceMappingURL=PickerInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerInput.js","names":["_core","require","_react","_interopRequireDefault","_input","_select","_TimePicker","_assignProps2","_excluded","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","withLeadingZero","String","createElement","Option","key","defaultPopperOffset","ItemPicker","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","dirtyValue","visible","_this$minMax","minMax","_this$minMax2","_slicedToArray2","Math","event","stopPropagation","numberValue","intOrDefault","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","getI18nText","asProps","_getI18nText","field","_createClass2","$onValueChange","state","parseValueWithMinMax","render","_ref","_ref2","SPickerInput","Select","Trigger","_this$asProps","styles","onSelect","time","size","disabled","onVisibleChange","other","_objectWithoutProperties2","_this$state","timeValue","_this$minMax3","_this$minMax4","sstyled","cn","_objectSpread2","callAllEventHandlers","handleSelect","handleVisibleChange","assignProps","Input","Value","inputRef","getAriaLabel","handleChange","handleBlur","handleKeyDown","Menu","hMax","Component","placeholder","offset","Hours","_ItemPicker","_super2","_this2","_len2","_key2","currentTarget","selectionStart","selectionEnd","preventDefault","focusNext","is12Hour","minutesInputRef","current","focus","componentDidUpdate","_prevProps","prevState","exports","_ref3","defaultProps","ml","Minutes","_ItemPicker2","_super3","_this3","_len3","_key3","focusPrev","hoursInputRef","_ref4","mr"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import React from 'react';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport { intOrDefault, withLeadingZero } from './TimePicker';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\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), 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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"}