@semcore/time-picker 4.53.0-prerelease.0 → 4.53.0-prerelease.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 (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,79 @@
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 _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import { assignProps as _assignProps } from "@semcore/core";
9
+ import React from 'react';
10
+ import { Component, sstyled, Root } from '@semcore/core';
11
+ import { Box } from '@semcore/flex-box';
12
+ import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
13
+ import { ScreenReaderOnly } from '@semcore/flex-box';
14
+ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
15
+ var TimePickerFormat = /*#__PURE__*/function (_Component) {
16
+ _inherits(TimePickerFormat, _Component);
17
+ var _super = _createSuper(TimePickerFormat);
18
+ function TimePickerFormat() {
19
+ var _this;
20
+ _classCallCheck(this, TimePickerFormat);
21
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
22
+ args[_key] = arguments[_key];
23
+ }
24
+ _this = _super.call.apply(_super, [this].concat(args));
25
+ _defineProperty(_assertThisInitialized(_this), "state", {
26
+ changedFormatNotice: ''
27
+ });
28
+ _defineProperty(_assertThisInitialized(_this), "handleClick", function () {
29
+ setTimeout(function () {
30
+ var _this$asProps = _this.asProps,
31
+ meridiem = _this$asProps.meridiem,
32
+ getI18nText = _this$asProps.getI18nText;
33
+ _this.setState({
34
+ changedFormatNotice: getI18nText('changedFormatNotice', {
35
+ meridiem: meridiem
36
+ })
37
+ });
38
+ }, 0);
39
+ setTimeout(function () {
40
+ _this.setState({
41
+ changedFormatNotice: ''
42
+ });
43
+ }, 2000);
44
+ });
45
+ return _this;
46
+ }
47
+ _createClass(TimePickerFormat, [{
48
+ key: "render",
49
+ value: function render() {
50
+ var _ref = this.asProps,
51
+ _ref2;
52
+ var SPickerFormat = Box;
53
+ var _this$asProps2 = this.asProps,
54
+ Children = _this$asProps2.Children,
55
+ meridiem = _this$asProps2.meridiem,
56
+ styles = _this$asProps2.styles,
57
+ getI18nText = _this$asProps2.getI18nText,
58
+ uid = _this$asProps2.uid;
59
+ var changedFormatNotice = this.state.changedFormatNotice;
60
+ var SPickerFormatText = 'span';
61
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SPickerFormat, _ref2.cn("SPickerFormat", _objectSpread({}, _assignProps({
62
+ "type": 'button',
63
+ "tag": 'button',
64
+ "onClick": this.handleClick,
65
+ "aria-describedby": "".concat(uid, "_describe")
66
+ }, _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", {
67
+ "role": 'status',
68
+ "aria-live": 'polite'
69
+ }), changedFormatNotice), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
70
+ "aria-hidden": 'true',
71
+ "id": "".concat(uid, "_describe")
72
+ }), getI18nText('formatToggler')));
73
+ }
74
+ }]);
75
+ return TimePickerFormat;
76
+ }(Component);
77
+ _defineProperty(TimePickerFormat, "enhance", [keyboardFocusEnhance(), uniqueIDEnhancement()]);
78
+ export default TimePickerFormat;
79
+ //# sourceMappingURL=PickerFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerFormat.js","names":["React","Component","sstyled","Root","Box","keyboardFocusEnhance","ScreenReaderOnly","uniqueIDEnhancement","TimePickerFormat","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","changedFormatNotice","setTimeout","_this$asProps","asProps","meridiem","getI18nText","setState","_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 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":";;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACxD,SAASC,GAAG,QAAQ,mBAAmB;AACvC,OAAOC,oBAAoB,MAAM,kDAAkD;AACnF,SAASC,gBAAgB,QAAQ,mBAAmB;AACpD,OAAOC,mBAAmB,MAAM,6BAA6B;AAAC,IAExDC,gBAAgB,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,gBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,gBAAA;EAAA,SAAAA,iBAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,gBAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,YAGZ;MACNa,mBAAmB,EAAE;IACvB,CAAC;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,kBAEa,YAAM;MAClBc,UAAU,CAAC,YAAM;QACf,IAAAC,aAAA,GAAkCf,KAAA,CAAKgB,OAAO;UAAtCC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;UAAEC,WAAW,GAAAH,aAAA,CAAXG,WAAW;QAC7BlB,KAAA,CAAKmB,QAAQ,CAAC;UAAEN,mBAAmB,EAAEK,WAAW,CAAC,qBAAqB,EAAE;YAAED,QAAQ,EAARA;UAAS,CAAC;QAAE,CAAC,CAAC;MAC1F,CAAC,EAAE,CAAC,CAAC;MAELH,UAAU,CAAC,YAAM;QACfd,KAAA,CAAKmB,QAAQ,CAAC;UAAEN,mBAAmB,EAAE;QAAG,CAAC,CAAC;MAC5C,CAAC,EAAE,IAAI,CAAC;IACV,CAAC;IAAA,OAAAb,KAAA;EAAA;EAAAoB,YAAA,CAAAzB,gBAAA;IAAA0B,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAR,OAAA;QAAAS,KAAA;MACP,IAAMC,aAAa,GAQLnC,GAAG;MAPjB,IAAAoC,cAAA,GAAyD,IAAI,CAACX,OAAO;QAA7DY,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEX,QAAQ,GAAAU,cAAA,CAARV,QAAQ;QAAEY,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEX,WAAW,GAAAS,cAAA,CAAXT,WAAW;QAAEY,GAAG,GAAAH,cAAA,CAAHG,GAAG;MACpD,IAAQjB,mBAAmB,GAAK,IAAI,CAACkB,KAAK,CAAlClB,mBAAmB;MAC3B,IAAMmB,iBAAiB,GAAG,MAAM;MAEhC,OAAAP,KAAA,GAAOpC,OAAO,CAACwC,MAAM,CAAC,eACpB1C,KAAA,CAAA8C,aAAA,CAAA9C,KAAA,CAAA+C,QAAA,qBACE/C,KAAA,CAAA8C,aAAA,CAACP,aAAa,EAAAD,KAAA,CAAAU,EAAA,kBAAAC,aAAA,KAAAC,YAAA;QAAA,QAEP,QAAQ;QAAA,OACT,QAAQ;QAAA,WACH,IAAI,CAACC,WAAW;QAAA,uBAAA5B,MAAA,CACJoB,GAAG;MAAA,GAAAN,IAAA,KAEvBI,QAAQ,CAACW,MAAM,gBAAGpD,KAAA,CAAA8C,aAAA,CAACL,QAAQ,EAAAH,KAAA,CAAAU,EAAA,iBAAG,gBAAGhD,KAAA,CAAA8C,aAAA,CAACD,iBAAiB,EAAAP,KAAA,CAAAU,EAAA,2BAAElB,QAAQ,CAAqB,CACrE,eAChB9B,KAAA,CAAA8C,aAAA,CAACxC,gBAAgB,EAAAgC,KAAA,CAAAU,EAAA;QAAA,QAAO,QAAQ;QAAA,aAAa;MAAQ,IAClDtB,mBAAmB,CACH,eACnB1B,KAAA,CAAA8C,aAAA,CAACxC,gBAAgB,EAAAgC,KAAA,CAAAU,EAAA;QAAA,eAAc,MAAM;QAAA,SAAAzB,MAAA,CAASoB,GAAG;MAAA,IAC9CZ,WAAW,CAAC,eAAe,CAAC,CACZ,CAClB;IAEP;EAAC;EAAA,OAAAvB,gBAAA;AAAA,EA3C4BP,SAAS;AAAAuB,eAAA,CAAlChB,gBAAgB,aACH,CAACH,oBAAoB,EAAE,EAAEE,mBAAmB,EAAE,CAAC;AA6ClE,eAAeC,gBAAgB"}
@@ -1,89 +1,102 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
5
  import _createClass from "@babel/runtime/helpers/createClass";
5
- import _callSuper from "@babel/runtime/helpers/callSuper";
6
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
6
7
  import _inherits from "@babel/runtime/helpers/inherits";
8
+ import _createSuper from "@babel/runtime/helpers/createSuper";
7
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
- import { sstyled as _sstyled } from "@semcore/core";
10
10
  import { assignProps as _assignProps } from "@semcore/core";
11
- var _excluded = ["styles", "step", "onSelect", "time", "size", "disabled", "onVisibleChange", "ariaLabel"];
12
- import { Component, sstyled, Root } from '@semcore/core';
13
- import { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';
11
+ var _excluded = ["styles", "step", "onSelect", "time", "size", "disabled", "onVisibleChange"];
12
+ import React from 'react';
14
13
  import Input from '@semcore/input';
15
14
  import Select from '@semcore/select';
16
- import React from 'react';
17
- /*!__reshadow-styles__:"./picker-input.shadow.css"*/
18
- var style = (/*__reshadow_css_start__*/_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_"),
19
- /*__reshadow_css_end__*/
20
- {
21
- "__SPickerInput": "___SPickerInput_p1g8c_gg_",
22
- "_size_m": "_size_m_p1g8c_gg_",
23
- "_size_l": "_size_l_p1g8c_gg_"
24
- });
25
- function getOptions(minMax) {
26
- var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
27
- var _minMax = _slicedToArray(minMax, 2),
28
- min = _minMax[0],
29
- max = _minMax[1];
15
+ import { intOrDefault, withLeadingZero } from './TimePicker';
16
+ import { Component, sstyled, Root } from '@semcore/core';
17
+ import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
18
+ var MAP_FIELD_TO_TIME = {
19
+ hours: 0,
20
+ minutes: 1
21
+ };
22
+ var MAP_SIZE_SELECT = {
23
+ m: 'm',
24
+ l: 'l'
25
+ };
26
+ function getOptions(min, max) {
27
+ var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
30
28
  var length = Number(((max + 1 - min) / step).toFixed(0));
31
29
  var options = Array(length).fill('');
32
30
  var numValue = min;
33
- return options.map(function (_i, index) {
31
+ return options.map(function (i, index) {
34
32
  numValue = index === 0 ? numValue : numValue + step;
35
- var value = String(numValue).padStart(2, '0');
33
+ var value = withLeadingZero(String(numValue));
36
34
  return /*#__PURE__*/React.createElement(Select.Option, {
37
35
  value: value,
38
36
  key: value
39
37
  }, value);
40
38
  });
41
39
  }
42
- var AbstractPickerInput = /*#__PURE__*/function (_Component) {
43
- function AbstractPickerInput() {
40
+ var defaultPopperOffset = [-8, 4];
41
+ var ItemPicker = /*#__PURE__*/function (_Component) {
42
+ _inherits(ItemPicker, _Component);
43
+ var _super = _createSuper(ItemPicker);
44
+ function ItemPicker() {
44
45
  var _this;
45
- _classCallCheck(this, AbstractPickerInput);
46
+ _classCallCheck(this, ItemPicker);
46
47
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
48
  args[_key] = arguments[_key];
48
49
  }
49
- _this = _callSuper(this, AbstractPickerInput, [].concat(args));
50
- _defineProperty(_this, "state", {
50
+ _this = _super.call.apply(_super, [this].concat(args));
51
+ _defineProperty(_assertThisInitialized(_this), "inputRef", /*#__PURE__*/React.createRef());
52
+ _defineProperty(_assertThisInitialized(_this), "state", {
51
53
  dirtyValue: undefined,
52
54
  visible: false
53
55
  });
54
- _defineProperty(_this, "inputRef", /*#__PURE__*/React.createRef());
55
- _defineProperty(_this, "parseValueWithMinMax", function (value) {
56
- var _this$minMax = _slicedToArray(_this.minMax, 2),
57
- min = _this$minMax[0],
58
- max = _this$minMax[1];
59
- var numberValue = isNaN(Number(value)) ? min : Number(value);
60
- return String(Math.max(min, Math.min(max, numberValue)));
56
+ _defineProperty(_assertThisInitialized(_this), "parseValueWithMinMax", function (value) {
57
+ var _this$minMax = _this.minMax(),
58
+ _this$minMax2 = _slicedToArray(_this$minMax, 2),
59
+ min = _this$minMax2[0],
60
+ max = _this$minMax2[1];
61
+ return String(Math.max(min, Math.min(max, value)));
61
62
  });
62
- _defineProperty(_this, "handleChange", function (value, event) {
63
+ _defineProperty(_assertThisInitialized(_this), "handleChange", function (value, event) {
64
+ /* hide props for bubbling events */
63
65
  event.stopPropagation();
64
- var inputValue = value.replace(/[^0-9]/g, '');
65
- var numberValue = Number(inputValue);
66
+ var numberValue = intOrDefault(Number(value), NaN);
66
67
  if (!Number.isNaN(numberValue)) {
67
68
  _this.setState({
68
- dirtyValue: inputValue.slice(-2)
69
+ dirtyValue: value.slice(-2)
69
70
  });
70
71
  }
71
72
  });
72
- _defineProperty(_this, "handleBlur", function (event) {
73
+ _defineProperty(_assertThisInitialized(_this), "handleBlur", function (event) {
73
74
  return _this.submitChanges(event);
74
75
  });
75
- _defineProperty(_this, "handleSelect", function (value, event) {
76
+ /* rewrite method */
77
+ _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function () {});
78
+ _defineProperty(_assertThisInitialized(_this), "handleSelect", function (value, event) {
76
79
  _this.dispatchOnChange(value, event);
77
80
  });
78
- _defineProperty(_this, "handleVisibleChange", function (visible) {
81
+ _defineProperty(_assertThisInitialized(_this), "handleVisibleChange", function (visible) {
79
82
  return _this.setState({
80
83
  visible: visible
81
84
  });
82
85
  });
86
+ _defineProperty(_assertThisInitialized(_this), "getAriaLabel", function () {
87
+ var getI18nText = _this.asProps._getI18nText;
88
+ if (_this.field === 'hours') return getI18nText('hours');
89
+ if (_this.field === 'minutes') return getI18nText('minutes');
90
+ return undefined;
91
+ });
83
92
  return _this;
84
93
  }
85
- _inherits(AbstractPickerInput, _Component);
86
- return _createClass(AbstractPickerInput, [{
94
+ _createClass(ItemPicker, [{
95
+ key: "minMax",
96
+ value: function minMax() {
97
+ return [];
98
+ }
99
+ }, {
87
100
  key: "dispatchOnChange",
88
101
  value: function dispatchOnChange(value, event) {
89
102
  this.setState({
@@ -115,20 +128,23 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
115
128
  size = _this$asProps.size,
116
129
  disabled = _this$asProps.disabled,
117
130
  onVisibleChange = _this$asProps.onVisibleChange,
118
- ariaLabel = _this$asProps.ariaLabel,
119
131
  other = _objectWithoutProperties(_this$asProps, _excluded);
120
132
  var _this$state = this.state,
121
133
  dirtyValue = _this$state.dirtyValue,
122
134
  visible = _this$state.visible;
123
- var value = dirtyValue === undefined ? time : dirtyValue;
135
+ var timeValue = time[MAP_FIELD_TO_TIME[this.field]];
136
+ var value = dirtyValue === undefined ? timeValue : dirtyValue;
137
+ var _this$minMax3 = this.minMax(),
138
+ _this$minMax4 = _slicedToArray(_this$minMax3, 2),
139
+ min = _this$minMax4[0],
140
+ max = _this$minMax4[1];
124
141
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(Select, _ref2.cn("Select", _objectSpread(_objectSpread({}, other), {}, {
125
142
  "interaction": 'focus',
126
- "size": size,
143
+ "size": size ? MAP_SIZE_SELECT[size] : false,
127
144
  "onChange": callAllEventHandlers(onSelect, this.handleSelect),
128
145
  "onVisibleChange": callAllEventHandlers(onVisibleChange, this.handleVisibleChange),
129
146
  "visible": visible,
130
- "value": time,
131
- "defaultHighlightedIndex": time ? null : 0
147
+ "value": timeValue
132
148
  })), /*#__PURE__*/React.createElement(SPickerInput, _ref2.cn("SPickerInput", _objectSpread({}, _assignProps({
133
149
  "tag": Input.Value,
134
150
  "ref": this.inputRef,
@@ -137,38 +153,39 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
137
153
  "disabled": disabled,
138
154
  "neighborLocation": false,
139
155
  "value": value,
140
- "aria-label": ariaLabel,
156
+ "aria-label": this.getAriaLabel(),
141
157
  "onChange": this.handleChange,
142
158
  "onBlur": this.handleBlur,
143
159
  "onKeyDown": this.handleKeyDown
144
160
  }, _ref)))), /*#__PURE__*/React.createElement(Select.Menu, {
145
161
  hMax: 180
146
- }, getOptions(this.minMax, step)));
162
+ }, getOptions(min, max, step)));
147
163
  }
148
164
  }]);
165
+ return ItemPicker;
149
166
  }(Component);
150
- _defineProperty(AbstractPickerInput, "style", style);
151
- _defineProperty(AbstractPickerInput, "defaultProps", function (_) {
152
- return {
153
- placeholder: '00',
154
- offset: [-8, 4]
155
- };
167
+ _defineProperty(ItemPicker, "defaultProps", {
168
+ placeholder: '00',
169
+ offset: defaultPopperOffset
156
170
  });
157
- var Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
171
+ var Hours = /*#__PURE__*/function (_ItemPicker) {
172
+ _inherits(Hours, _ItemPicker);
173
+ var _super2 = _createSuper(Hours);
158
174
  function Hours() {
159
175
  var _this2;
160
176
  _classCallCheck(this, Hours);
161
177
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
162
178
  args[_key2] = arguments[_key2];
163
179
  }
164
- _this2 = _callSuper(this, Hours, [].concat(args));
165
- _defineProperty(_this2, "handleKeyDown", function (event) {
180
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
181
+ _defineProperty(_assertThisInitialized(_this2), "field", 'hours');
182
+ _defineProperty(_assertThisInitialized(_this2), "handleKeyDown", function (event) {
166
183
  var currentTarget = event.currentTarget;
167
184
  if (event.key === 'Enter') {
168
185
  _this2.submitChanges(event);
169
186
  }
170
187
  if (event.key === 'ArrowRight') {
171
- if (currentTarget.selectionStart && currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
188
+ if (currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
172
189
  event.preventDefault();
173
190
  _this2.focusNext();
174
191
  }
@@ -176,17 +193,15 @@ var Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
176
193
  });
177
194
  return _this2;
178
195
  }
179
- _inherits(Hours, _AbstractPickerInput2);
180
- return _createClass(Hours, [{
181
- key: "field",
182
- get: function get() {
183
- return 'hours';
184
- }
185
- }, {
196
+ _createClass(Hours, [{
186
197
  key: "minMax",
187
- get: function get() {
198
+ value: function minMax() {
188
199
  var is12Hour = this.asProps.is12Hour;
189
- return is12Hour ? [1, 12] : [0, 23];
200
+ if (is12Hour) {
201
+ return [1, 12];
202
+ } else {
203
+ return [0, 23];
204
+ }
190
205
  }
191
206
  }, {
192
207
  key: "focusNext",
@@ -200,7 +215,7 @@ var Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
200
215
  }
201
216
  }, {
202
217
  key: "componentDidUpdate",
203
- value: function componentDidUpdate(_, prevState) {
218
+ value: function componentDidUpdate(_prevProps, prevState) {
204
219
  var dirtyValue = this.state.dirtyValue;
205
220
  if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;
206
221
  if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {
@@ -208,24 +223,29 @@ var Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
208
223
  }
209
224
  }
210
225
  }]);
211
- }(AbstractPickerInput);
212
- _defineProperty(Hours, "defaultProps", function (props) {
213
- return _objectSpread(_objectSpread({}, AbstractPickerInput.defaultProps(props)), {}, {
214
- ml: props.size === 'l' ? 3 : undefined
226
+ return Hours;
227
+ }(ItemPicker);
228
+ _defineProperty(Hours, "defaultProps", function (_ref3) {
229
+ var size = _ref3.size;
230
+ return _objectSpread(_objectSpread({}, ItemPicker.defaultProps), {}, {
231
+ ml: size === 'l' ? 3 : undefined
215
232
  });
216
233
  });
217
- var Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
234
+ var Minutes = /*#__PURE__*/function (_ItemPicker2) {
235
+ _inherits(Minutes, _ItemPicker2);
236
+ var _super3 = _createSuper(Minutes);
218
237
  function Minutes() {
219
238
  var _this3;
220
239
  _classCallCheck(this, Minutes);
221
240
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
222
241
  args[_key3] = arguments[_key3];
223
242
  }
224
- _this3 = _callSuper(this, Minutes, [].concat(args));
225
- _defineProperty(_this3, "handleKeyDown", function (event) {
243
+ _this3 = _super3.call.apply(_super3, [this].concat(args));
244
+ _defineProperty(_assertThisInitialized(_this3), "field", 'minutes');
245
+ _defineProperty(_assertThisInitialized(_this3), "handleKeyDown", function (event) {
226
246
  var currentTarget = event.currentTarget;
227
247
  if (event.key === 'ArrowLeft') {
228
- if (currentTarget.selectionStart && currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
248
+ if (currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
229
249
  event.preventDefault();
230
250
  _this3.focusPrev();
231
251
  }
@@ -240,15 +260,9 @@ var Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
240
260
  });
241
261
  return _this3;
242
262
  }
243
- _inherits(Minutes, _AbstractPickerInput3);
244
- return _createClass(Minutes, [{
245
- key: "field",
246
- get: function get() {
247
- return 'minutes';
248
- }
249
- }, {
263
+ _createClass(Minutes, [{
250
264
  key: "minMax",
251
- get: function get() {
265
+ value: function minMax() {
252
266
  return [0, 59];
253
267
  }
254
268
  }, {
@@ -262,10 +276,12 @@ var Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
262
276
  }
263
277
  }
264
278
  }]);
265
- }(AbstractPickerInput);
266
- _defineProperty(Minutes, "defaultProps", function (props) {
267
- return _objectSpread(_objectSpread({}, AbstractPickerInput.defaultProps(props)), {}, {
268
- mr: props.size === 'l' ? 3 : undefined
279
+ return Minutes;
280
+ }(ItemPicker);
281
+ _defineProperty(Minutes, "defaultProps", function (_ref4) {
282
+ var size = _ref4.size;
283
+ return _objectSpread(_objectSpread({}, ItemPicker.defaultProps), {}, {
284
+ mr: size === 'l' ? 3 : undefined
269
285
  });
270
286
  });
271
287
  export { Hours, Minutes };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerInput.js","names":["React","Input","Select","intOrDefault","withLeadingZero","Component","sstyled","Root","callAllEventHandlers","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","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","dirtyValue","visible","_this$minMax","minMax","_this$minMax2","_slicedToArray","Math","event","stopPropagation","numberValue","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","getI18nText","asProps","_getI18nText","field","_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","_ItemPicker","_super2","_this2","_len2","_key2","currentTarget","selectionStart","selectionEnd","preventDefault","focusNext","is12Hour","minutesInputRef","current","focus","componentDidUpdate","_prevProps","prevState","_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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"}