@semcore/time-picker 16.2.0 → 16.2.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 (74) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/lib/cjs/PickerFormat.js +81 -0
  3. package/lib/cjs/PickerFormat.js.map +1 -0
  4. package/lib/cjs/{component/PickerInput/PickerInput.js → PickerInput.js} +82 -72
  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 +5 -6
  11. package/lib/cjs/index.js.map +1 -1
  12. package/lib/cjs/{component/PickerFormat/picker-format.shadow.css → style/time-picker.shadow.css} +56 -1
  13. package/lib/es6/PickerFormat.js +75 -0
  14. package/lib/es6/PickerFormat.js.map +1 -0
  15. package/lib/es6/{component/PickerInput/PickerInput.js → PickerInput.js} +82 -73
  16. package/lib/es6/PickerInput.js.map +1 -0
  17. package/lib/es6/TimePicker.js +339 -0
  18. package/lib/es6/TimePicker.js.map +1 -0
  19. package/lib/es6/index.d.js +2 -0
  20. package/lib/es6/index.d.js.map +1 -0
  21. package/lib/es6/index.js +2 -2
  22. package/lib/es6/index.js.map +1 -1
  23. package/lib/{esm/component/PickerFormat/picker-format.shadow.css → es6/style/time-picker.shadow.css} +56 -1
  24. package/lib/esm/PickerFormat.mjs +67 -0
  25. package/lib/esm/{component/PickerInput/PickerInput.mjs → PickerInput.mjs} +76 -75
  26. package/lib/esm/TimePicker.mjs +297 -0
  27. package/lib/esm/index.mjs +7 -3
  28. package/lib/{es6/component/PickerFormat/picker-format.shadow.css → esm/style/time-picker.shadow.css} +56 -1
  29. package/lib/types/index.d.ts +63 -2
  30. package/package.json +5 -5
  31. package/lib/cjs/component/PickerFormat/PickerFormat.js +0 -93
  32. package/lib/cjs/component/PickerFormat/PickerFormat.js.map +0 -1
  33. package/lib/cjs/component/PickerFormat/PickerFormat.type.js +0 -2
  34. package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +0 -1
  35. package/lib/cjs/component/PickerInput/PickerInput.js.map +0 -1
  36. package/lib/cjs/component/PickerInput/PickerInput.type.js +0 -2
  37. package/lib/cjs/component/PickerInput/PickerInput.type.js.map +0 -1
  38. package/lib/cjs/component/PickerInput/picker-input.shadow.css +0 -11
  39. package/lib/cjs/component/TimePicker/TimePicker.js +0 -254
  40. package/lib/cjs/component/TimePicker/TimePicker.js.map +0 -1
  41. package/lib/cjs/component/TimePicker/TimePicker.type.js +0 -2
  42. package/lib/cjs/component/TimePicker/TimePicker.type.js.map +0 -1
  43. package/lib/cjs/component/TimePicker/time-picker.shadow.css +0 -34
  44. package/lib/cjs/entity/TimePickerEntity.js +0 -101
  45. package/lib/cjs/entity/TimePickerEntity.js.map +0 -1
  46. package/lib/es6/component/PickerFormat/PickerFormat.js +0 -88
  47. package/lib/es6/component/PickerFormat/PickerFormat.js.map +0 -1
  48. package/lib/es6/component/PickerFormat/PickerFormat.type.js +0 -2
  49. package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +0 -1
  50. package/lib/es6/component/PickerInput/PickerInput.js.map +0 -1
  51. package/lib/es6/component/PickerInput/PickerInput.type.js +0 -2
  52. package/lib/es6/component/PickerInput/PickerInput.type.js.map +0 -1
  53. package/lib/es6/component/PickerInput/picker-input.shadow.css +0 -11
  54. package/lib/es6/component/TimePicker/TimePicker.js +0 -250
  55. package/lib/es6/component/TimePicker/TimePicker.js.map +0 -1
  56. package/lib/es6/component/TimePicker/TimePicker.type.js +0 -2
  57. package/lib/es6/component/TimePicker/TimePicker.type.js.map +0 -1
  58. package/lib/es6/component/TimePicker/time-picker.shadow.css +0 -34
  59. package/lib/es6/entity/TimePickerEntity.js +0 -94
  60. package/lib/es6/entity/TimePickerEntity.js.map +0 -1
  61. package/lib/esm/component/PickerFormat/PickerFormat.mjs +0 -86
  62. package/lib/esm/component/PickerInput/picker-input.shadow.css +0 -11
  63. package/lib/esm/component/TimePicker/TimePicker.mjs +0 -233
  64. package/lib/esm/component/TimePicker/TimePicker.type.mjs +0 -1
  65. package/lib/esm/component/TimePicker/time-picker.shadow.css +0 -34
  66. package/lib/esm/entity/TimePickerEntity.mjs +0 -90
  67. package/lib/types/component/PickerFormat/PickerFormat.d.ts +0 -17
  68. package/lib/types/component/PickerFormat/PickerFormat.type.d.ts +0 -16
  69. package/lib/types/component/PickerInput/PickerInput.d.ts +0 -54
  70. package/lib/types/component/PickerInput/PickerInput.type.d.ts +0 -13
  71. package/lib/types/component/TimePicker/TimePicker.d.ts +0 -3
  72. package/lib/types/component/TimePicker/TimePicker.type.d.ts +0 -50
  73. package/lib/types/entity/TimePickerEntity.d.ts +0 -22
  74. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +0 -114
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [16.2.0] - 2026-05-07
5
+ ## [16.2.1] - 2026-05-07
6
6
 
7
7
  ### Added
8
8
 
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
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 _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _core = require("@semcore/core");
15
+ var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
16
+ var _flexBox = require("@semcore/flex-box");
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var TimePickerFormat = /*#__PURE__*/function (_Component) {
19
+ function TimePickerFormat() {
20
+ var _this;
21
+ (0, _classCallCheck2["default"])(this, TimePickerFormat);
22
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
23
+ args[_key] = arguments[_key];
24
+ }
25
+ _this = (0, _callSuper2["default"])(this, TimePickerFormat, [].concat(args));
26
+ (0, _defineProperty2["default"])(_this, "state", {
27
+ changedFormatNotice: ''
28
+ });
29
+ (0, _defineProperty2["default"])(_this, "handleClick", function () {
30
+ setTimeout(function () {
31
+ var _this$asProps = _this.asProps,
32
+ meridiem = _this$asProps.meridiem,
33
+ getI18nText = _this$asProps.getI18nText;
34
+ _this.setState({
35
+ changedFormatNotice: getI18nText('changedFormatNotice', {
36
+ meridiem: meridiem
37
+ })
38
+ });
39
+ }, 0);
40
+ setTimeout(function () {
41
+ _this.setState({
42
+ changedFormatNotice: ''
43
+ });
44
+ }, 2000);
45
+ });
46
+ return _this;
47
+ }
48
+ (0, _inherits2["default"])(TimePickerFormat, _Component);
49
+ return (0, _createClass2["default"])(TimePickerFormat, [{
50
+ key: "render",
51
+ value: function render() {
52
+ var _ref = this.asProps,
53
+ _ref2;
54
+ var SPickerFormat = _flexBox.Box;
55
+ var _this$asProps2 = this.asProps,
56
+ Children = _this$asProps2.Children,
57
+ meridiem = _this$asProps2.meridiem,
58
+ styles = _this$asProps2.styles,
59
+ getI18nText = _this$asProps2.getI18nText,
60
+ uid = _this$asProps2.uid;
61
+ var changedFormatNotice = this.state.changedFormatNotice;
62
+ var SPickerFormatText = 'span';
63
+ 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)({
64
+ "type": 'button',
65
+ "tag": 'button',
66
+ "tabIndex": 0,
67
+ "onClick": this.handleClick,
68
+ "aria-describedby": "".concat(uid, "_describe")
69
+ }, _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", {
70
+ "role": 'status',
71
+ "aria-live": 'polite'
72
+ }), changedFormatNotice), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
73
+ "aria-hidden": 'true',
74
+ "id": "".concat(uid, "_describe")
75
+ }), getI18nText('formatToggler')));
76
+ }
77
+ }]);
78
+ }(_core.Component);
79
+ (0, _defineProperty2["default"])(TimePickerFormat, "enhance", [(0, _uniqueID["default"])()]);
80
+ var _default = exports["default"] = TimePickerFormat;
81
+ //# sourceMappingURL=PickerFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerFormat.js","names":["_core","require","_uniqueID","_interopRequireDefault","_flexBox","_react","TimePickerFormat","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","changedFormatNotice","setTimeout","_this$asProps","asProps","meridiem","getI18nText","setState","_inherits2","_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","uniqueIDEnhancement","_default","exports"],"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":[]}
@@ -7,76 +7,77 @@ Object.defineProperty(exports, "__esModule", {
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
13
  var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
13
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
16
  var _core = require("@semcore/core");
17
17
  var _assignProps2 = require("@semcore/core/lib/utils/assignProps");
18
18
  var _input = _interopRequireDefault(require("@semcore/input"));
19
19
  var _select = _interopRequireDefault(require("@semcore/select"));
20
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 _excluded = ["styles", "step", "onSelect", "time", "size", "disabled", "onVisibleChange"];
23
+ var MAP_FIELD_TO_TIME = {
24
+ hours: 0,
25
+ minutes: 1
26
+ };
27
+ var MAP_SIZE_SELECT = {
28
+ m: 'm',
29
+ l: 'l'
30
+ };
31
+ function getOptions(min, max) {
32
+ var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
35
33
  var length = Number(((max + 1 - min) / step).toFixed(0));
36
34
  var options = Array(length).fill('');
37
35
  var numValue = min;
38
36
  return options.map(function (_i, index) {
39
37
  numValue = index === 0 ? numValue : numValue + step;
40
- var value = String(numValue).padStart(2, '0');
38
+ var value = (0, _TimePicker.withLeadingZero)(String(numValue));
41
39
  return /*#__PURE__*/_react["default"].createElement(_select["default"].Option, {
42
40
  value: value,
43
41
  key: value
44
42
  }, value);
45
43
  });
46
44
  }
47
- var AbstractPickerInput = /*#__PURE__*/function (_Component) {
48
- function AbstractPickerInput() {
45
+ var defaultPopperOffset = [-8, 4];
46
+ var ItemPicker = /*#__PURE__*/function (_Component) {
47
+ function ItemPicker() {
49
48
  var _this;
50
- (0, _classCallCheck2["default"])(this, AbstractPickerInput);
49
+ (0, _classCallCheck2["default"])(this, ItemPicker);
51
50
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
52
51
  args[_key] = arguments[_key];
53
52
  }
54
- _this = (0, _callSuper2["default"])(this, AbstractPickerInput, [].concat(args));
53
+ _this = (0, _callSuper2["default"])(this, ItemPicker, [].concat(args));
54
+ (0, _defineProperty2["default"])(_this, "inputRef", /*#__PURE__*/_react["default"].createRef());
55
55
  (0, _defineProperty2["default"])(_this, "state", {
56
56
  dirtyValue: undefined,
57
57
  visible: false
58
58
  });
59
- (0, _defineProperty2["default"])(_this, "inputRef", /*#__PURE__*/_react["default"].createRef());
60
59
  (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)));
60
+ var _this$minMax = _this.minMax(),
61
+ _this$minMax2 = (0, _slicedToArray2["default"])(_this$minMax, 2),
62
+ min = _this$minMax2[0],
63
+ max = _this$minMax2[1];
64
+ return String(Math.max(min, Math.min(max, value)));
66
65
  });
67
66
  (0, _defineProperty2["default"])(_this, "handleChange", function (value, event) {
67
+ /* hide props for bubbling events */
68
68
  event.stopPropagation();
69
- var inputValue = value.replace(/[^0-9]/g, '');
70
- var numberValue = Number(inputValue);
69
+ var numberValue = (0, _TimePicker.intOrDefault)(Number(value), Number.NaN);
71
70
  if (!Number.isNaN(numberValue)) {
72
71
  _this.setState({
73
- dirtyValue: inputValue.slice(-2)
72
+ dirtyValue: value.slice(-2)
74
73
  });
75
74
  }
76
75
  });
77
76
  (0, _defineProperty2["default"])(_this, "handleBlur", function (event) {
78
77
  return _this.submitChanges(event);
79
78
  });
79
+ /* rewrite method */
80
+ (0, _defineProperty2["default"])(_this, "handleKeyDown", function () {});
80
81
  (0, _defineProperty2["default"])(_this, "handleSelect", function (value, event) {
81
82
  _this.dispatchOnChange(value, event);
82
83
  });
@@ -85,10 +86,21 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
85
86
  visible: visible
86
87
  });
87
88
  });
89
+ (0, _defineProperty2["default"])(_this, "getAriaLabel", function () {
90
+ var getI18nText = _this.asProps._getI18nText;
91
+ if (_this.field === 'hours') return getI18nText('hours');
92
+ if (_this.field === 'minutes') return getI18nText('minutes');
93
+ return undefined;
94
+ });
88
95
  return _this;
89
96
  }
90
- (0, _inherits2["default"])(AbstractPickerInput, _Component);
91
- return (0, _createClass2["default"])(AbstractPickerInput, [{
97
+ (0, _inherits2["default"])(ItemPicker, _Component);
98
+ return (0, _createClass2["default"])(ItemPicker, [{
99
+ key: "minMax",
100
+ value: function minMax() {
101
+ return [];
102
+ }
103
+ }, {
92
104
  key: "dispatchOnChange",
93
105
  value: function dispatchOnChange(value, event) {
94
106
  this.setState({
@@ -120,20 +132,23 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
120
132
  size = _this$asProps.size,
121
133
  disabled = _this$asProps.disabled,
122
134
  onVisibleChange = _this$asProps.onVisibleChange,
123
- ariaLabel = _this$asProps.ariaLabel,
124
135
  other = (0, _objectWithoutProperties2["default"])(_this$asProps, _excluded);
125
136
  var _this$state = this.state,
126
137
  dirtyValue = _this$state.dirtyValue,
127
138
  visible = _this$state.visible;
128
- var value = dirtyValue === undefined ? time : dirtyValue;
139
+ var timeValue = time[MAP_FIELD_TO_TIME[this.field]];
140
+ var value = dirtyValue === undefined ? timeValue : dirtyValue;
141
+ var _this$minMax3 = this.minMax(),
142
+ _this$minMax4 = (0, _slicedToArray2["default"])(_this$minMax3, 2),
143
+ min = _this$minMax4[0],
144
+ max = _this$minMax4[1];
129
145
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_select["default"], _ref2.cn("Select", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, other), {}, {
130
146
  "interaction": 'focus',
131
- "size": size,
147
+ "size": size ? MAP_SIZE_SELECT[size] : false,
132
148
  "onChange": (0, _assignProps2.callAllEventHandlers)(onSelect, this.handleSelect),
133
149
  "onVisibleChange": (0, _assignProps2.callAllEventHandlers)(onVisibleChange, this.handleVisibleChange),
134
150
  "visible": visible,
135
- "value": time,
136
- "defaultHighlightedIndex": time ? null : 0
151
+ "value": timeValue
137
152
  })), /*#__PURE__*/_react["default"].createElement(SPickerInput, _ref2.cn("SPickerInput", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
138
153
  "tag": _input["default"].Value,
139
154
  "ref": this.inputRef,
@@ -142,24 +157,21 @@ var AbstractPickerInput = /*#__PURE__*/function (_Component) {
142
157
  "disabled": disabled,
143
158
  "neighborLocation": false,
144
159
  "value": value,
145
- "aria-label": ariaLabel,
160
+ "aria-label": this.getAriaLabel(),
146
161
  "onChange": this.handleChange,
147
162
  "onBlur": this.handleBlur,
148
163
  "onKeyDown": this.handleKeyDown
149
164
  }, _ref)))), /*#__PURE__*/_react["default"].createElement(_select["default"].Menu, {
150
165
  hMax: 180
151
- }, getOptions(this.minMax, step)));
166
+ }, getOptions(min, max, step)));
152
167
  }
153
168
  }]);
154
169
  }(_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
- };
170
+ (0, _defineProperty2["default"])(ItemPicker, "defaultProps", {
171
+ placeholder: '00',
172
+ offset: defaultPopperOffset
161
173
  });
162
- var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
174
+ var Hours = exports.Hours = /*#__PURE__*/function (_ItemPicker2) {
163
175
  function Hours() {
164
176
  var _this2;
165
177
  (0, _classCallCheck2["default"])(this, Hours);
@@ -167,13 +179,14 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
167
179
  args[_key2] = arguments[_key2];
168
180
  }
169
181
  _this2 = (0, _callSuper2["default"])(this, Hours, [].concat(args));
182
+ (0, _defineProperty2["default"])(_this2, "field", 'hours');
170
183
  (0, _defineProperty2["default"])(_this2, "handleKeyDown", function (event) {
171
184
  var currentTarget = event.currentTarget;
172
185
  if (event.key === 'Enter') {
173
186
  _this2.submitChanges(event);
174
187
  }
175
188
  if (event.key === 'ArrowRight') {
176
- if (currentTarget.selectionStart && currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
189
+ if (currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
177
190
  event.preventDefault();
178
191
  _this2.focusNext();
179
192
  }
@@ -181,17 +194,16 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
181
194
  });
182
195
  return _this2;
183
196
  }
184
- (0, _inherits2["default"])(Hours, _AbstractPickerInput2);
197
+ (0, _inherits2["default"])(Hours, _ItemPicker2);
185
198
  return (0, _createClass2["default"])(Hours, [{
186
- key: "field",
187
- get: function get() {
188
- return 'hours';
189
- }
190
- }, {
191
199
  key: "minMax",
192
- get: function get() {
200
+ value: function minMax() {
193
201
  var is12Hour = this.asProps.is12Hour;
194
- return is12Hour ? [1, 12] : [0, 23];
202
+ if (is12Hour) {
203
+ return [1, 12];
204
+ } else {
205
+ return [0, 23];
206
+ }
195
207
  }
196
208
  }, {
197
209
  key: "focusNext",
@@ -205,7 +217,7 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
205
217
  }
206
218
  }, {
207
219
  key: "componentDidUpdate",
208
- value: function componentDidUpdate(_, prevState) {
220
+ value: function componentDidUpdate(_prevProps, prevState) {
209
221
  var dirtyValue = this.state.dirtyValue;
210
222
  if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;
211
223
  if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {
@@ -213,13 +225,14 @@ var Hours = exports.Hours = /*#__PURE__*/function (_AbstractPickerInput2) {
213
225
  }
214
226
  }
215
227
  }]);
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
228
+ }(ItemPicker);
229
+ (0, _defineProperty2["default"])(Hours, "defaultProps", function (_ref3) {
230
+ var size = _ref3.size;
231
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, ItemPicker.defaultProps), {}, {
232
+ ml: size === 'l' ? 3 : undefined
220
233
  });
221
234
  });
222
- var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
235
+ var Minutes = exports.Minutes = /*#__PURE__*/function (_ItemPicker3) {
223
236
  function Minutes() {
224
237
  var _this3;
225
238
  (0, _classCallCheck2["default"])(this, Minutes);
@@ -227,10 +240,11 @@ var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
227
240
  args[_key3] = arguments[_key3];
228
241
  }
229
242
  _this3 = (0, _callSuper2["default"])(this, Minutes, [].concat(args));
243
+ (0, _defineProperty2["default"])(_this3, "field", 'minutes');
230
244
  (0, _defineProperty2["default"])(_this3, "handleKeyDown", function (event) {
231
245
  var currentTarget = event.currentTarget;
232
246
  if (event.key === 'ArrowLeft') {
233
- if (currentTarget.selectionStart && currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
247
+ if (currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
234
248
  event.preventDefault();
235
249
  _this3.focusPrev();
236
250
  }
@@ -245,15 +259,10 @@ var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
245
259
  });
246
260
  return _this3;
247
261
  }
248
- (0, _inherits2["default"])(Minutes, _AbstractPickerInput3);
262
+ (0, _inherits2["default"])(Minutes, _ItemPicker3);
249
263
  return (0, _createClass2["default"])(Minutes, [{
250
- key: "field",
251
- get: function get() {
252
- return 'minutes';
253
- }
254
- }, {
255
264
  key: "minMax",
256
- get: function get() {
265
+ value: function minMax() {
257
266
  return [0, 59];
258
267
  }
259
268
  }, {
@@ -267,10 +276,11 @@ var Minutes = exports.Minutes = /*#__PURE__*/function (_AbstractPickerInput3) {
267
276
  }
268
277
  }
269
278
  }]);
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
279
+ }(ItemPicker);
280
+ (0, _defineProperty2["default"])(Minutes, "defaultProps", function (_ref4) {
281
+ var size = _ref4.size;
282
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, ItemPicker.defaultProps), {}, {
283
+ mr: size === 'l' ? 3 : undefined
274
284
  });
275
285
  });
276
286
  //# sourceMappingURL=PickerInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerInput.js","names":["_core","require","_assignProps2","_input","_interopRequireDefault","_select","_react","_TimePicker","_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","_this","_classCallCheck2","_len","args","_key","_callSuper2","concat","_defineProperty2","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","_inherits2","_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","exports","_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":";;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,MAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AAA6D,IAAAO,SAAA;AAE7D,IAAMC,iBAAiB,GAAG;EACxBC,KAAK,EAAE,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,IAAMC,eAAe,GAAG;EACtBC,CAAC,EAAE,GAAG;EACNC,CAAC,EAAE;AACL,CAAC;AAED,SAASC,UAAUA,CAACC,GAAG,EAAEC,GAAG,EAAY;EAAA,IAAVC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACpC,IAAMC,MAAM,GAAGE,MAAM,CAAC,CAAC,CAACL,GAAG,GAAG,CAAC,GAAGD,GAAG,IAAIE,IAAI,EAAEK,OAAO,CAAC,CAAC,CAAC,CAAC;EAC1D,IAAMC,OAAO,GAAGC,KAAK,CAACL,MAAM,CAAC,CAACM,IAAI,CAAC,EAAE,CAAC;EACtC,IAAIC,QAAQ,GAAGX,GAAG;EAClB,OAAOQ,OAAO,CAACI,GAAG,CAAC,UAACC,EAAE,EAAEC,KAAK,EAAK;IAChCH,QAAQ,GAAGG,KAAK,KAAK,CAAC,GAAGH,QAAQ,GAAGA,QAAQ,GAAGT,IAAI;IACnD,IAAMa,KAAK,GAAG,IAAAC,2BAAe,EAACC,MAAM,CAACN,QAAQ,CAAC,CAAC;IAC/C,oBACErB,MAAA,YAAA4B,aAAA,CAAC7B,OAAA,WAAM,CAAC8B,MAAM;MAACJ,KAAK,EAAEA,KAAM;MAACK,GAAG,EAAEL;IAAM,GACrCA,KACY,CAAC;EAEpB,CAAC,CAAC;AACJ;AAEA,IAAMM,mBAAmB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAAC,IAE9BC,UAAU,0BAAAC,UAAA;EAAA,SAAAD,WAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,mBAAAH,UAAA;IAAA,SAAAI,IAAA,GAAAvB,SAAA,CAAAC,MAAA,EAAAuB,IAAA,OAAAlB,KAAA,CAAAiB,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAAzB,SAAA,CAAAyB,IAAA;IAAA;IAAAJ,KAAA,OAAAK,WAAA,mBAAAP,UAAA,KAAAQ,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,aAAAP,KAAA,2BAMHQ,iBAAK,CAACC,SAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,aAAAP,KAAA,WAMpB;MACNU,UAAU,EAAE7B,SAAS;MACrB8B,OAAO,EAAE;IACX,CAAC;IAAA,IAAAJ,gBAAA,aAAAP,KAAA,0BAEsB,UAACT,KAAK,EAAK;MAChC,IAAAqB,YAAA,GAAmBZ,KAAA,CAAKa,MAAM,CAAC,CAAC;QAAAC,aAAA,OAAAC,eAAA,aAAAH,YAAA;QAAzBpC,GAAG,GAAAsC,aAAA;QAAErC,GAAG,GAAAqC,aAAA;MACf,OAAOrB,MAAM,CAACuB,IAAI,CAACvC,GAAG,CAACD,GAAG,EAAEwC,IAAI,CAACxC,GAAG,CAACC,GAAG,EAAEc,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAAA,IAAAgB,gBAAA,aAAAP,KAAA,kBAgBc,UAACT,KAAK,EAAE0B,KAAK,EAAK;MAC/B;MACAA,KAAK,CAACC,eAAe,CAAC,CAAC;MACvB,IAAMC,WAAW,GAAG,IAAAC,wBAAY,EAACtC,MAAM,CAACS,KAAK,CAAC,EAAET,MAAM,CAACuC,GAAG,CAAC;MAE3D,IAAI,CAACvC,MAAM,CAACwC,KAAK,CAACH,WAAW,CAAC,EAAE;QAC9BnB,KAAA,CAAKuB,QAAQ,CAAC;UAAEb,UAAU,EAAEnB,KAAK,CAACiC,KAAK,CAAC,CAAC,CAAC;QAAE,CAAC,CAAC;MAChD;IACF,CAAC;IAAA,IAAAjB,gBAAA,aAAAP,KAAA,gBAEY,UAACiB,KAAK;MAAA,OAAKjB,KAAA,CAAKyB,aAAa,CAACR,KAAK,CAAC;IAAA;IAEjD;IAAA,IAAAV,gBAAA,aAAAP,KAAA,mBACgB,YAAM,CAAC,CAAC;IAAA,IAAAO,gBAAA,aAAAP,KAAA,kBAET,UAACT,KAAK,EAAE0B,KAAK,EAAK;MAC/BjB,KAAA,CAAK0B,gBAAgB,CAACnC,KAAK,EAAE0B,KAAK,CAAC;IACrC,CAAC;IAAA,IAAAV,gBAAA,aAAAP,KAAA,yBAEqB,UAACW,OAAO;MAAA,OAAKX,KAAA,CAAKuB,QAAQ,CAAC;QAAEZ,OAAO,EAAPA;MAAQ,CAAC,CAAC;IAAA;IAAA,IAAAJ,gBAAA,aAAAP,KAAA,kBAE9C,YAAM;MACnB,IAAsB2B,WAAW,GAAK3B,KAAA,CAAK4B,OAAO,CAA1CC,YAAY;MACpB,IAAI7B,KAAA,CAAK8B,KAAK,KAAK,OAAO,EAAE,OAAOH,WAAW,CAAC,OAAO,CAAC;MACvD,IAAI3B,KAAA,CAAK8B,KAAK,KAAK,SAAS,EAAE,OAAOH,WAAW,CAAC,SAAS,CAAC;MAC3D,OAAO9C,SAAS;IAClB,CAAC;IAAA,OAAAmB,KAAA;EAAA;EAAA,IAAA+B,UAAA,aAAAjC,UAAA,EAAAC,UAAA;EAAA,WAAAiC,aAAA,aAAAlC,UAAA;IAAAF,GAAA;IAAAL,KAAA,EAtDD,SAAAsB,MAAMA,CAAA,EAAG;MACP,OAAO,EAAE;IACX;EAAC;IAAAjB,GAAA;IAAAL,KAAA,EAYD,SAAAmC,gBAAgBA,CAACnC,KAAK,EAAE0B,KAAK,EAAE;MAC7B,IAAI,CAACM,QAAQ,CAAC;QAAEb,UAAU,EAAE7B;MAAU,CAAC,CAAC;MACxC,IAAI,CAAC+C,OAAO,CAACK,cAAc,CAAC1C,KAAK,EAAE,IAAI,CAACuC,KAAK,EAAEb,KAAK,CAAC;IACvD;EAAC;IAAArB,GAAA;IAAAL,KAAA,EAED,SAAAkC,aAAaA,CAACR,KAAK,EAAE;MACnB,IAAMP,UAAU,GAAK,IAAI,CAACwB,KAAK,CAAzBxB,UAAU;MAChB,IAAIA,UAAU,KAAK7B,SAAS,EAAE;QAC5B;QACA,IAAI6B,UAAU,EAAEA,UAAU,GAAG,IAAI,CAACyB,oBAAoB,CAACzB,UAAU,CAAC,CAAC,CAAC;QACpE,IAAI,CAACgB,gBAAgB,CAAChB,UAAU,EAAEO,KAAK,CAAC;MAC1C;IACF;EAAC;IAAArB,GAAA;IAAAL,KAAA,EA8BD,SAAA6C,MAAMA,CAAA,EAAG;MAAA,IAAAC,IAAA,QAAAT,OAAA;QAAAU,KAAA;MACP,IAAMC,YAAY,GAmBJC,kBAAM,CAACC,OAAO;MAlB5B,IAAAC,aAAA,GACE,IAAI,CAACd,OAAO;QADNe,MAAM,GAAAD,aAAA,CAANC,MAAM;QAAEjE,IAAI,GAAAgE,aAAA,CAAJhE,IAAI;QAAEkE,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEC,IAAI,GAAAJ,aAAA,CAAJI,IAAI;QAAEC,QAAQ,GAAAL,aAAA,CAARK,QAAQ;QAAEC,eAAe,GAAAN,aAAA,CAAfM,eAAe;QAAKC,KAAK,OAAAC,yBAAA,aAAAR,aAAA,EAAA1E,SAAA;MAE/E,IAAAmF,WAAA,GAAgC,IAAI,CAACjB,KAAK;QAAlCxB,UAAU,GAAAyC,WAAA,CAAVzC,UAAU;QAAEC,OAAO,GAAAwC,WAAA,CAAPxC,OAAO;MAC3B,IAAMyC,SAAS,GAAGP,IAAI,CAAC5E,iBAAiB,CAAC,IAAI,CAAC6D,KAAK,CAAC,CAAC;MACrD,IAAMvC,KAAK,GAAGmB,UAAU,KAAK7B,SAAS,GAAGuE,SAAS,GAAG1C,UAAU;MAC/D,IAAA2C,aAAA,GAAmB,IAAI,CAACxC,MAAM,CAAC,CAAC;QAAAyC,aAAA,OAAAvC,eAAA,aAAAsC,aAAA;QAAzB7E,GAAG,GAAA8E,aAAA;QAAE7E,GAAG,GAAA6E,aAAA;MAEf,OAAAhB,KAAA,GAAO,IAAAiB,aAAO,EAACZ,MAAM,CAAC,eACpB7E,MAAA,YAAA4B,aAAA,CAAC7B,OAAA,WAAM,EAAAyE,KAAA,CAAAkB,EAAA,eAAAC,cAAA,iBAAAA,cAAA,iBACDR,KAAK;QAAA,eACG,OAAO;QAAA,QACbH,IAAI,GAAG1E,eAAe,CAAC0E,IAAI,CAAC,GAAG,KAAK;QAAA,YAChC,IAAAY,kCAAoB,EAACd,QAAQ,EAAE,IAAI,CAACe,YAAY,CAAC;QAAA,mBAC1C,IAAAD,kCAAoB,EAACV,eAAe,EAAE,IAAI,CAACY,mBAAmB,CAAC;QAAA,WACvEjD,OAAO;QAAA,SACTyC;MAAS,kBAEhBtF,MAAA,YAAA4B,aAAA,CAAC6C,YAAY,EAAAD,KAAA,CAAAkB,EAAA,qBAAAC,cAAA,qBAAAjG,KAAA,CAAAqG,WAAA;QAAA,OAENC,iBAAK,CAACC,KAAK;QAAA,OACX,IAAI,CAACC,QAAQ;QAAA,aACR,SAAS;QAAA,QACblB,IAAI;QAAA,YACAC,QAAQ;QAAA,oBACA,KAAK;QAAA,SAChBxD,KAAK;QAAA,cACA,IAAI,CAAC0E,YAAY,CAAC,CAAC;QAAA,YACrB,IAAI,CAACC,YAAY;QAAA,UACnB,IAAI,CAACC,UAAU;QAAA,aACZ,IAAI,CAACC;MAAa,GAAA/B,IAAA,GAC9B,CAAC,eACFvE,MAAA,YAAA4B,aAAA,CAAC7B,OAAA,WAAM,CAACwG,IAAI;QAACC,IAAI,EAAE;MAAI,GAAE/F,UAAU,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAe,CAC3D,CAAC;IAEb;EAAC;AAAA,EApGsB6F,eAAS;AAAA,IAAAhE,gBAAA,aAA5BT,UAAU,kBACQ;EACpB0E,WAAW,EAAE,IAAI;EACjBC,MAAM,EAAE5E;AACV,CAAC;AAAA,IAmGG6E,KAAK,GAAAC,OAAA,CAAAD,KAAA,0BAAAE,YAAA;EAAA,SAAAF,MAAA;IAAA,IAAAG,MAAA;IAAA,IAAA5E,gBAAA,mBAAAyE,KAAA;IAAA,SAAAI,KAAA,GAAAnG,SAAA,CAAAC,MAAA,EAAAuB,IAAA,OAAAlB,KAAA,CAAA6F,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAA5E,IAAA,CAAA4E,KAAA,IAAApG,SAAA,CAAAoG,KAAA;IAAA;IAAAF,MAAA,OAAAxE,WAAA,mBAAAqE,KAAA,KAAApE,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,aAAAsE,MAAA,WACD,OAAO;IAAA,IAAAtE,gBAAA,aAAAsE,MAAA,mBAsBC,UAAC5D,KAAK,EAAK;MACzB,IAAQ+D,aAAa,GAAK/D,KAAK,CAAvB+D,aAAa;MACrB,IAAI/D,KAAK,CAACrB,GAAG,KAAK,OAAO,EAAE;QACzBiF,MAAA,CAAKpD,aAAa,CAACR,KAAK,CAAC;MAC3B;MACA,IAAIA,KAAK,CAACrB,GAAG,KAAK,YAAY,EAAE;QAC9B,IACEoF,aAAa,CAACC,cAAc,IAAID,aAAa,CAACzF,KAAK,CAACX,MAAM,IAC1DoG,aAAa,CAACC,cAAc,KAAKD,aAAa,CAACE,YAAY,EAC3D;UACAjE,KAAK,CAACkE,cAAc,CAAC,CAAC;UACtBN,MAAA,CAAKO,SAAS,CAAC,CAAC;QAClB;MACF;IACF,CAAC;IAAA,OAAAP,MAAA;EAAA;EAAA,IAAA9C,UAAA,aAAA2C,KAAA,EAAAE,YAAA;EAAA,WAAA5C,aAAA,aAAA0C,KAAA;IAAA9E,GAAA;IAAAL,KAAA,EA9BD,SAAAsB,MAAMA,CAAA,EAAG;MACP,IAAQwE,QAAQ,GAAK,IAAI,CAACzD,OAAO,CAAzByD,QAAQ;MAChB,IAAIA,QAAQ,EAAE;QACZ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;MAChB,CAAC,MAAM;QACL,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;MAChB;IACF;EAAC;IAAAzF,GAAA;IAAAL,KAAA,EAED,SAAA6F,SAASA,CAAA,EAAG;MACV,IAAI,IAAI,CAACxD,OAAO,CAAC0D,eAAe,CAACC,OAAO,EAAE;QACxC,IAAI,CAAChE,QAAQ,CAAC;UAAEZ,OAAO,EAAE;QAAM,CAAC,CAAC;QACjC,IAAI,CAACiB,OAAO,CAAC0D,eAAe,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC;MAC9C;IACF;EAAC;IAAA5F,GAAA;IAAAL,KAAA,EAkBD,SAAAkG,kBAAkBA,CAACC,UAAU,EAAEC,SAAS,EAAE;MACxC,IAAQjF,UAAU,GAAK,IAAI,CAACwB,KAAK,CAAzBxB,UAAU;MAClB,IAAIiF,SAAS,CAACjF,UAAU,KAAK7B,SAAS,IAAI6B,UAAU,KAAK7B,SAAS,EAAE;MAEpE,IAAI8G,SAAS,CAACjF,UAAU,CAAC9B,MAAM,KAAK,CAAC,IAAI8B,UAAU,CAAC9B,MAAM,KAAK,CAAC,EAAE;QAChE,IAAI,CAACwG,SAAS,CAAC,CAAC;MAClB;IACF;EAAC;AAAA,EA9CiBtF,UAAU;AAAA,IAAAS,gBAAA,aAAxBmE,KAAK,kBAEa,UAAAkB,KAAA;EAAA,IAAG9C,IAAI,GAAA8C,KAAA,CAAJ9C,IAAI;EAAA,WAAAW,cAAA,iBAAAA,cAAA,iBACxB3D,UAAU,CAAC+F,YAAY;IAC1BC,EAAE,EAAEhD,IAAI,KAAK,GAAG,GAAG,CAAC,GAAGjE;EAAS;AAAA,CAChC;AAAA,IA4CEkH,OAAO,GAAApB,OAAA,CAAAoB,OAAA,0BAAAC,YAAA;EAAA,SAAAD,QAAA;IAAA,IAAAE,MAAA;IAAA,IAAAhG,gBAAA,mBAAA8F,OAAA;IAAA,SAAAG,KAAA,GAAAvH,SAAA,CAAAC,MAAA,EAAAuB,IAAA,OAAAlB,KAAA,CAAAiH,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAAhG,IAAA,CAAAgG,KAAA,IAAAxH,SAAA,CAAAwH,KAAA;IAAA;IAAAF,MAAA,OAAA5F,WAAA,mBAAA0F,OAAA,KAAAzF,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,aAAA0F,MAAA,WACH,SAAS;IAAA,IAAA1F,gBAAA,aAAA0F,MAAA,mBAiBD,UAAChF,KAAK,EAAK;MACzB,IAAQ+D,aAAa,GAAK/D,KAAK,CAAvB+D,aAAa;MACrB,IAAI/D,KAAK,CAACrB,GAAG,KAAK,WAAW,EAAE;QAC7B,IACEoF,aAAa,CAACC,cAAc,IAAI,CAAC,IACjCD,aAAa,CAACC,cAAc,KAAKD,aAAa,CAACE,YAAY,EAC3D;UACAjE,KAAK,CAACkE,cAAc,CAAC,CAAC;UACtBc,MAAA,CAAKG,SAAS,CAAC,CAAC;QAClB;MACF;MACA,IAAInF,KAAK,CAACrB,GAAG,KAAK,WAAW,EAAE;QAC7B,IAAIoF,aAAa,CAACzF,KAAK,CAACX,MAAM,KAAK,CAAC,EAAE;UACpCqC,KAAK,CAACkE,cAAc,CAAC,CAAC;UACtBc,MAAA,CAAKG,SAAS,CAAC,CAAC;QAClB;MACF;MACA,IAAInF,KAAK,CAACrB,GAAG,KAAK,OAAO,EAAEqG,MAAA,CAAKxE,aAAa,CAACR,KAAK,CAAC;IACtD,CAAC;IAAA,OAAAgF,MAAA;EAAA;EAAA,IAAAlE,UAAA,aAAAgE,OAAA,EAAAC,YAAA;EAAA,WAAAhE,aAAA,aAAA+D,OAAA;IAAAnG,GAAA;IAAAL,KAAA,EA7BD,SAAAsB,MAAMA,CAAA,EAAG;MACP,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;IAChB;EAAC;IAAAjB,GAAA;IAAAL,KAAA,EAED,SAAA6G,SAASA,CAAA,EAAG;MACV,IAAI,IAAI,CAACxE,OAAO,CAACyE,aAAa,CAACd,OAAO,EAAE;QACtC,IAAI,CAAChE,QAAQ,CAAC;UAAEZ,OAAO,EAAE;QAAM,CAAC,CAAC;QACjC,IAAI,CAACiB,OAAO,CAACyE,aAAa,CAACd,OAAO,CAACC,KAAK,CAAC,CAAC;MAC5C;IACF;EAAC;AAAA,EAhBmB1F,UAAU;AAAA,IAAAS,gBAAA,aAA1BwF,OAAO,kBAEW,UAAAO,KAAA;EAAA,IAAGxD,IAAI,GAAAwD,KAAA,CAAJxD,IAAI;EAAA,WAAAW,cAAA,iBAAAA,cAAA,iBACxB3D,UAAU,CAAC+F,YAAY;IAC1BU,EAAE,EAAEzD,IAAI,KAAK,GAAG,GAAG,CAAC,GAAGjE;EAAS;AAAA,CAChC","ignoreList":[]}