@hi-ui/time-picker 4.0.0-alpha.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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/lib/cjs/@types/index.js +22 -0
  4. package/lib/cjs/@types/index.js.map +1 -0
  5. package/lib/cjs/Input.js +174 -0
  6. package/lib/cjs/Input.js.map +1 -0
  7. package/lib/cjs/Panel.js +144 -0
  8. package/lib/cjs/Panel.js.map +1 -0
  9. package/lib/cjs/PopContent.js +211 -0
  10. package/lib/cjs/PopContent.js.map +1 -0
  11. package/lib/cjs/Selector.js +128 -0
  12. package/lib/cjs/Selector.js.map +1 -0
  13. package/lib/cjs/TimePicker.js +310 -0
  14. package/lib/cjs/TimePicker.js.map +1 -0
  15. package/lib/cjs/hooks/useFilter.js +39 -0
  16. package/lib/cjs/hooks/useFilter.js.map +1 -0
  17. package/lib/cjs/index.js +34 -0
  18. package/lib/cjs/index.js.map +1 -0
  19. package/lib/cjs/styles/index.scss.js +22 -0
  20. package/lib/cjs/styles/index.scss.js.map +1 -0
  21. package/lib/cjs/utils/analysisFormat.js +42 -0
  22. package/lib/cjs/utils/analysisFormat.js.map +1 -0
  23. package/lib/cjs/utils/disposeInputValue.js +57 -0
  24. package/lib/cjs/utils/disposeInputValue.js.map +1 -0
  25. package/lib/cjs/utils/generateSelectorData.js +58 -0
  26. package/lib/cjs/utils/generateSelectorData.js.map +1 -0
  27. package/lib/cjs/utils/getFormatDefault.js +21 -0
  28. package/lib/cjs/utils/getFormatDefault.js.map +1 -0
  29. package/lib/cjs/utils/getNowString.js +32 -0
  30. package/lib/cjs/utils/getNowString.js.map +1 -0
  31. package/lib/cjs/utils/getRange.js +35 -0
  32. package/lib/cjs/utils/getRange.js.map +1 -0
  33. package/lib/cjs/utils/valueChecker.js +87 -0
  34. package/lib/cjs/utils/valueChecker.js.map +1 -0
  35. package/lib/esm/@types/index.js +19 -0
  36. package/lib/esm/@types/index.js.map +1 -0
  37. package/lib/esm/Input.js +154 -0
  38. package/lib/esm/Input.js.map +1 -0
  39. package/lib/esm/Panel.js +124 -0
  40. package/lib/esm/Panel.js.map +1 -0
  41. package/lib/esm/PopContent.js +188 -0
  42. package/lib/esm/PopContent.js.map +1 -0
  43. package/lib/esm/Selector.js +110 -0
  44. package/lib/esm/Selector.js.map +1 -0
  45. package/lib/esm/TimePicker.js +281 -0
  46. package/lib/esm/TimePicker.js.map +1 -0
  47. package/lib/esm/hooks/useFilter.js +33 -0
  48. package/lib/esm/hooks/useFilter.js.map +1 -0
  49. package/lib/esm/index.js +14 -0
  50. package/lib/esm/index.js.map +1 -0
  51. package/lib/esm/styles/index.scss.js +17 -0
  52. package/lib/esm/styles/index.scss.js.map +1 -0
  53. package/lib/esm/utils/analysisFormat.js +36 -0
  54. package/lib/esm/utils/analysisFormat.js.map +1 -0
  55. package/lib/esm/utils/disposeInputValue.js +51 -0
  56. package/lib/esm/utils/disposeInputValue.js.map +1 -0
  57. package/lib/esm/utils/generateSelectorData.js +52 -0
  58. package/lib/esm/utils/generateSelectorData.js.map +1 -0
  59. package/lib/esm/utils/getFormatDefault.js +15 -0
  60. package/lib/esm/utils/getFormatDefault.js.map +1 -0
  61. package/lib/esm/utils/getNowString.js +25 -0
  62. package/lib/esm/utils/getNowString.js.map +1 -0
  63. package/lib/esm/utils/getRange.js +29 -0
  64. package/lib/esm/utils/getRange.js.map +1 -0
  65. package/lib/esm/utils/valueChecker.js +80 -0
  66. package/lib/esm/utils/valueChecker.js.map +1 -0
  67. package/lib/types/@types/index.d.ts +62 -0
  68. package/lib/types/Input.d.ts +23 -0
  69. package/lib/types/Panel.d.ts +14 -0
  70. package/lib/types/PopContent.d.ts +15 -0
  71. package/lib/types/Selector.d.ts +23 -0
  72. package/lib/types/TimePicker.d.ts +61 -0
  73. package/lib/types/hooks/useFilter.d.ts +2 -0
  74. package/lib/types/index.d.ts +6 -0
  75. package/lib/types/utils/analysisFormat.d.ts +2 -0
  76. package/lib/types/utils/disposeInputValue.d.ts +2 -0
  77. package/lib/types/utils/generateSelectorData.d.ts +10 -0
  78. package/lib/types/utils/getFormatDefault.d.ts +2 -0
  79. package/lib/types/utils/getNowString.d.ts +2 -0
  80. package/lib/types/utils/getRange.d.ts +1 -0
  81. package/lib/types/utils/getSelectorTitle.d.ts +2 -0
  82. package/lib/types/utils/valueChecker.d.ts +8 -0
  83. package/package.json +66 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Xiaomi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # `@hi-ui/time-picker`
2
+
3
+ > TODO: description
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ const TimePicker = require('@hi-ui/time-picker');
9
+
10
+ // TODO: DEMONSTRATE API
11
+ ```
@@ -0,0 +1,22 @@
1
+ /** @LICENSE
2
+ * @hi-ui/time-picker
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+ exports.TimePickerSelectorType = void 0;
16
+
17
+ (function (TimePickerSelectorType) {
18
+ TimePickerSelectorType[TimePickerSelectorType["hour"] = 1] = "hour";
19
+ TimePickerSelectorType[TimePickerSelectorType["minute"] = 2] = "minute";
20
+ TimePickerSelectorType[TimePickerSelectorType["second"] = 3] = "second";
21
+ })(exports.TimePickerSelectorType || (exports.TimePickerSelectorType = {}));
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/@types/index.ts"],"sourcesContent":[null],"names":["TimePickerSelectorType"],"mappings":";;;;;;;;;;;;;;AAMYA,8BAAAA,SAAAA;;AAAZ,WAAYA;AACVA,EAAAA,0DAAAA,SAAAA;AACAA,EAAAA,4DAAAA,WAAAA;AACAA,EAAAA,4DAAAA,WAAAA;AAHF,CAAA,EAAYA,8BAAAA,KAAAA,8BAAAA,KAAAA,CAAZ"}
@@ -0,0 +1,174 @@
1
+ /** @LICENSE
2
+ * @hi-ui/time-picker
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var React = require('react');
19
+
20
+ var classname = require('@hi-ui/classname');
21
+
22
+ var valueChecker = require('./utils/valueChecker.js');
23
+
24
+ var disposeInputValue = require('./utils/disposeInputValue.js');
25
+
26
+ function _interopDefaultLegacy(e) {
27
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
28
+ 'default': e
29
+ };
30
+ }
31
+
32
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
+
34
+ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
35
+ var _cx;
36
+
37
+ var prefix = props.prefix,
38
+ value = props.value,
39
+ format = props.format,
40
+ hourStep = props.hourStep,
41
+ minuteStep = props.minuteStep,
42
+ secondStep = props.secondStep,
43
+ disabledHours = props.disabledHours,
44
+ disabledMinutes = props.disabledMinutes,
45
+ disabledSeconds = props.disabledSeconds,
46
+ type = props.type,
47
+ placeholders = props.placeholders,
48
+ _onChange = props.onChange,
49
+ _onFocus = props.onFocus,
50
+ disabled = props.disabled,
51
+ onValidChange = props.onValidChange;
52
+ var componentClass = React.useMemo(function () {
53
+ return prefix + "__input";
54
+ }, [prefix]);
55
+
56
+ var _useState = React.useState(value),
57
+ cacheValue = _useState[0],
58
+ setCacheValue = _useState[1];
59
+
60
+ var getPanelType = React.useCallback(function (index) {
61
+ if (type === 'single') {
62
+ return 'single';
63
+ } else {
64
+ return index === 0 ? 'range-start' : 'range-end';
65
+ }
66
+ }, [type]); // 检查值是否合规
67
+
68
+ var validChecker = React.useCallback(function (checkValue, panelType) {
69
+ return valueChecker.valueChecker({
70
+ value: checkValue,
71
+ format: format,
72
+ filter: {
73
+ disabledSeconds: disabledSeconds,
74
+ disabledMinutes: disabledMinutes,
75
+ disabledHours: disabledHours
76
+ },
77
+ step: {
78
+ hourStep: hourStep,
79
+ minuteStep: minuteStep,
80
+ secondStep: secondStep
81
+ },
82
+ panelType: panelType
83
+ });
84
+ }, [hourStep, minuteStep, secondStep, disabledHours, disabledMinutes, disabledSeconds, format]); // 缓存同步外部
85
+
86
+ React.useEffect(function () {
87
+ setCacheValue(function (pre) {
88
+ var result = value.slice(0, type === 'single' ? 1 : 2);
89
+
90
+ if (result.join('') !== pre.join('')) {
91
+ return result;
92
+ }
93
+
94
+ return pre;
95
+ });
96
+ }, [value, type]);
97
+ var judgeIsValid = React.useCallback(function (disposeValue) {
98
+ var valueValid = disposeValue.every(function (item, index) {
99
+ return validChecker(item, getPanelType(index));
100
+ });
101
+
102
+ if (type === 'range' && valueValid) {
103
+ // 数据格式正确,检查范围数据
104
+ // 全为空字符串,则认为是合法的(还未选择)
105
+ if (disposeValue.every(function (item) {
106
+ return item === '';
107
+ })) {
108
+ return true;
109
+ } // 结束时间要>开始时间
110
+
111
+
112
+ return disposeValue[1] > disposeValue[0];
113
+ } else {
114
+ return valueValid;
115
+ }
116
+ }, [validChecker, getPanelType, type]);
117
+ var renderInput = React.useCallback(function (matchValue, index) {
118
+ var dispose = function dispose(disposeValue, needValid) {
119
+ if (needValid === void 0) {
120
+ needValid = true;
121
+ }
122
+
123
+ var newValue = disposeInputValue.disposeInputValue(format, disposeValue);
124
+ var result = [].concat(cacheValue);
125
+ result[index] = newValue;
126
+ setCacheValue(result); // 合法,则通知外部
127
+
128
+ if (!needValid || validChecker(newValue, getPanelType(index))) {
129
+ return [].concat(result);
130
+ }
131
+
132
+ return undefined;
133
+ };
134
+
135
+ return /*#__PURE__*/React__default['default'].createElement("div", {
136
+ className: componentClass + "__wrapper"
137
+ }, /*#__PURE__*/React__default['default'].createElement("input", {
138
+ className: componentClass + "__interact-area",
139
+ onChange: function onChange(e) {
140
+ var result = dispose(e.target.value);
141
+
142
+ if (result) {
143
+ _onChange(result);
144
+ }
145
+ },
146
+ disabled: disabled,
147
+ onFocus: function onFocus() {
148
+ _onFocus();
149
+ },
150
+ value: matchValue,
151
+ placeholder: placeholders[index]
152
+ }));
153
+ }, [placeholders, format, _onFocus, _onChange, cacheValue, getPanelType, // onBlur,
154
+ validChecker, componentClass, disabled, type]); // 通知外部,输入框内容合法性变更
155
+
156
+ React.useEffect(function () {
157
+ onValidChange(judgeIsValid(cacheValue));
158
+ }, [judgeIsValid, cacheValue, onValidChange]);
159
+ React.useImperativeHandle(ref, function () {
160
+ return {
161
+ refresh: function refresh() {
162
+ return setCacheValue([].concat(value));
163
+ }
164
+ };
165
+ }, [value]);
166
+ return /*#__PURE__*/React__default['default'].createElement("div", {
167
+ className: classname.cx(componentClass, (_cx = {}, _cx[componentClass + "--not-valid"] = !judgeIsValid(cacheValue), _cx[componentClass + "--range"] = type === 'range', _cx[componentClass + "--disabled"] = disabled, _cx))
168
+ }, renderInput(cacheValue[0], 0), type === 'range' && /*#__PURE__*/React__default['default'].createElement("div", {
169
+ className: componentClass + "__range-separator"
170
+ }, "\u81F3"), type === 'range' && renderInput(cacheValue[1], 1));
171
+ });
172
+ Input.displayName = 'Input';
173
+ exports.Input = Input;
174
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sources":["../../src/Input.tsx"],"sourcesContent":[null],"names":["Input","forwardRef","props","ref","prefix","value","format","hourStep","minuteStep","secondStep","disabledHours","disabledMinutes","disabledSeconds","type","placeholders","onChange","onFocus","disabled","onValidChange","componentClass","useMemo","useState","cacheValue","setCacheValue","getPanelType","useCallback","index","validChecker","checkValue","panelType","valueChecker","filter","step","useEffect","pre","result","slice","join","judgeIsValid","disposeValue","valueValid","every","item","renderInput","matchValue","dispose","needValid","newValue","disposeInputValue","undefined","React","className","e","target","placeholder","useImperativeHandle","refresh","cx","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2CaA,KAAK,gBAAGC,gBAAAA,CAAW,UAACC,KAAD,EAAoBC,GAApB;;;MAE5BC,MADF,GAgBIF,KAhBJ,CACEE;MACAC,KAFF,GAgBIH,KAhBJ,CAEEG;MACAC,MAHF,GAgBIJ,KAhBJ,CAGEI;MACAC,QAJF,GAgBIL,KAhBJ,CAIEK;MACAC,UALF,GAgBIN,KAhBJ,CAKEM;MACAC,UANF,GAgBIP,KAhBJ,CAMEO;MACAC,aAPF,GAgBIR,KAhBJ,CAOEQ;MACAC,eARF,GAgBIT,KAhBJ,CAQES;MACAC,eATF,GAgBIV,KAhBJ,CASEU;MACAC,IAVF,GAgBIX,KAhBJ,CAUEW;MACAC,YAXF,GAgBIZ,KAhBJ,CAWEY;MACAC,SAZF,GAgBIb,KAhBJ,CAYEa;MACAC,QAbF,GAgBId,KAhBJ,CAaEc;MACAC,QAdF,GAgBIf,KAhBJ,CAcEe;MACAC,aAfF,GAgBIhB,KAhBJ,CAeEgB;MAEIC,cAAc,GAAGC,aAAAA,CAAQ;WAAShB,MAAT;AAAD,GAAPgB,EAAkC,CAAChB,MAAD,CAAlCgB;;kBAEaC,cAAAA,CAAmBhB,KAAnBgB;MAA7BC,UAAP;MAAmBC,aAAnB;;MAEMC,YAAY,GAAGC,iBAAAA,CACnB,UAACC,KAAD;QACMb,IAAI,KAAK,UAAU;aACd;AADT,WAEO;aACEa,KAAK,KAAK,CAAVA,GAAc,aAAdA,GAA8B;;AALX,GAAXD,EAQnB,CAACZ,IAAD,CARmBY;;MAWfE,YAAY,GAAGF,iBAAAA,CACnB,UAACG,UAAD,EAAqBC,SAArB;WACSC,yBAAAA,CAAa;AAClBzB,MAAAA,KAAK,EAAEuB,UADW;AAElBtB,MAAAA,MAAM,EAANA,MAFkB;AAGlByB,MAAAA,MAAM,EAAE;AACNnB,QAAAA,eAAe,EAAfA,eADM;AAEND,QAAAA,eAAe,EAAfA,eAFM;AAGND,QAAAA,aAAa,EAAbA;AAHM,OAHU;AAQlBsB,MAAAA,IAAI,EAAE;AACJzB,QAAAA,QAAQ,EAARA,QADI;AAEJC,QAAAA,UAAU,EAAVA,UAFI;AAGJC,QAAAA,UAAU,EAAVA;AAHI,OARY;AAalBoB,MAAAA,SAAS,EAATA;AAbkB,KAAbC;AAFqB,GAAXL,EAkBnB,CAAClB,QAAD,EAAWC,UAAX,EAAuBC,UAAvB,EAAmCC,aAAnC,EAAkDC,eAAlD,EAAmEC,eAAnE,EAAoFN,MAApF,CAlBmBmB;;AAsBrBQ,EAAAA,eAAAA,CAAU;AACRV,IAAAA,aAAa,CAAC,UAACW,GAAD;UACNC,MAAM,GAAG9B,KAAK,CAAC+B,KAAN/B,CAAY,CAAZA,EAAeQ,IAAI,KAAK,QAATA,GAAoB,CAApBA,GAAwB,CAAvCR;;UACX8B,MAAM,CAACE,IAAPF,CAAY,EAAZA,MAAoBD,GAAG,CAACG,IAAJH,CAAS,EAATA,GAAc;eAC7BC;;;aAEFD;AALI,KAAA,CAAbX;AADO,GAATU,EAQG,CAAC5B,KAAD,EAAQQ,IAAR,CARHoB;MAUMK,YAAY,GAAGb,iBAAAA,CACnB,UAACc,YAAD;QACQC,UAAU,GAAGD,YAAY,CAACE,KAAbF,CAAmB,UAACG,IAAD,EAAOhB,KAAP;aACpCC,YAAY,CAACe,IAAD,EAAOlB,YAAY,CAACE,KAAD,CAAnB;AADK,KAAAa;;QAIf1B,IAAI,KAAK,OAATA,IAAoB2B,YAAY;;;UAG9BD,YAAY,CAACE,KAAbF,CAAmB,UAACG,IAAD;eAAUA,IAAI,KAAK;AAAtC,OAAAH,GAA2C;eACtC;AAJyB,OAAA;;;aAO3BA,YAAY,CAAC,CAAD,CAAZA,GAAkBA,YAAY,CAAC,CAAD;AAPvC,WAQO;aACEC;;AAfmB,GAAXf,EAkBnB,CAACE,YAAD,EAAeH,YAAf,EAA6BX,IAA7B,CAlBmBY;MAqBfkB,WAAW,GAAGlB,iBAAAA,CAClB,UAACmB,UAAD,EAAqBlB,KAArB;QACQmB,OAAO,GAAG,SAAVA,OAAU,CAACN,YAAD,EAAuBO,SAAvB;UAAuBA;AAAAA,QAAAA,YAAY,IAAZA;;;UAC/BC,QAAQ,GAAGC,mCAAAA,CAAkB1C,MAAlB0C,EAA0BT,YAA1BS;UACXb,MAAM,aAAOb;AAEnBa,MAAAA,MAAM,CAACT,KAAD,CAANS,GAAgBY,QAAhBZ;AACAZ,MAAAA,aAAa,CAACY,MAAD,CAAbZ;;UAEI,CAACuB,SAAD,IAAcnB,YAAY,CAACoB,QAAD,EAAWvB,YAAY,CAACE,KAAD,CAAvB,GAAiC;yBAClDS;;;aAGNc;AAXT;;wBAeEC,yBAAAA,cAAAA,MAAAA;AAAKC,MAAAA,SAAS,EAAKhC,cAAL;KAAd+B,eACEA,yBAAAA,cAAAA,QAAAA;AACEC,MAAAA,SAAS,EAAKhC,cAAL;AACTJ,MAAAA,QAAQ,EAAE,iBAAA,CAACqC,CAAD;YACFjB,MAAM,GAAGU,OAAO,CAACO,CAAC,CAACC,MAAFD,CAAS/C,KAAV;;YAClB8B,QAAQ;AACVpB,UAAAA,SAAQ,CAACoB,MAAD,CAARpB;;;AAGJE,MAAAA,QAAQ,EAAEA;AACVD,MAAAA,OAAO,EAAE,gBAAA;AACPA,QAAAA,QAAO;;AAETX,MAAAA,KAAK,EAAEuC;AACPU,MAAAA,WAAW,EAAExC,YAAY,CAACY,KAAD;KAb3BwB,CADFA;AAjByB,GAAXzB,EAoClB,CACEX,YADF,EAEER,MAFF,EAGEU,QAHF,EAIED,SAJF,EAKEO,UALF,EAMEE,YANF;AAQEG,EAAAA,YARF,EASER,cATF,EAUEF,QAVF,EAWEJ,IAXF,CApCkBY;;AAoDpBQ,EAAAA,eAAAA,CAAU;AACRf,IAAAA,aAAa,CAACoB,YAAY,CAAChB,UAAD,CAAb,CAAbJ;AADO,GAATe,EAEG,CAACK,YAAD,EAAehB,UAAf,EAA2BJ,aAA3B,CAFHe;AAIAsB,EAAAA,yBAAAA,CACEpD,GADFoD,EAEE;WAAO;AACLC,MAAAA,OAAO,EAAE,gBAAA;eAAMjC,aAAa,WAAKlB,MAAL;;AADvB;AAFU,GAAnBkD,EAKE,CAAClD,KAAD,CALFkD;sBAQEL,yBAAAA,cAAAA,MAAAA;AACEC,IAAAA,SAAS,EAAEM,YAAAA,CAAGtC,cAAHsC,iBACLtC,cADO,oBACuB,CAACmB,YAAY,CAAChB,UAAD,OAC3CH,cAFO,gBAEmBN,IAAI,KAAK,aACnCM,cAHO,mBAGsBF,aAHxBwC;GADbP,EAOGP,WAAW,CAACrB,UAAU,CAAC,CAAD,CAAX,EAAgB,CAAhB,CAPd4B,EAQGrC,IAAI,KAAK,OAATA,iBAAoBqC,yBAAAA,cAAAA,MAAAA;AAAKC,IAAAA,SAAS,EAAKhC,cAAL;GAAd+B,UAAAA,CARvBA,EASGrC,IAAI,KAAK,OAATA,IAAoB8B,WAAW,CAACrB,UAAU,CAAC,CAAD,CAAX,EAAgB,CAAhB,CATlC4B;AAtJ2B,CAAVjD;AAoKrBD,KAAK,CAAC0D,WAAN1D,GAAoB,OAApBA;"}
@@ -0,0 +1,144 @@
1
+ /** @LICENSE
2
+ * @hi-ui/time-picker
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var React = require('react');
19
+
20
+ var analysisFormat = require('./utils/analysisFormat.js');
21
+
22
+ var generateSelectorData = require('./utils/generateSelectorData.js');
23
+
24
+ var classname = require('@hi-ui/classname');
25
+
26
+ var Selector = require('./Selector.js');
27
+
28
+ function _interopDefaultLegacy(e) {
29
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
30
+ 'default': e
31
+ };
32
+ }
33
+
34
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
+
36
+ var Panel = function Panel(props) {
37
+ var hourStep = props.hourStep,
38
+ secondStep = props.secondStep,
39
+ minuteStep = props.minuteStep,
40
+ disabledHours = props.disabledHours,
41
+ disabledMinutes = props.disabledMinutes,
42
+ disabledSeconds = props.disabledSeconds,
43
+ prefix = props.prefix,
44
+ format = props.format,
45
+ value = props.value,
46
+ panel = props.panel,
47
+ _onChange = props.onChange,
48
+ itemHeight = props.itemHeight,
49
+ fullDisplayItemNumber = props.fullDisplayItemNumber;
50
+ var componentPrefix = React.useMemo(function () {
51
+ return prefix + "__panel";
52
+ }, [prefix]);
53
+ var selectorTypes = React.useMemo(function () {
54
+ return analysisFormat.analysisFormat(format);
55
+ }, [format]);
56
+ var separateValue = React.useMemo(function () {
57
+ return value.split(':').filter(function (item) {
58
+ return item;
59
+ }).map(function (item) {
60
+ return Number(item);
61
+ });
62
+ }, [value]);
63
+ var getSelectorData = React.useCallback(function (type) {
64
+ return generateSelectorData.generateSelectorData({
65
+ panelType: panel,
66
+ type: type,
67
+ filter: {
68
+ disabledHours: disabledHours,
69
+ disabledMinutes: disabledMinutes,
70
+ disabledSeconds: disabledSeconds
71
+ },
72
+ step: {
73
+ secondStep: secondStep,
74
+ hourStep: hourStep,
75
+ minuteStep: minuteStep
76
+ },
77
+ selectorTypes: selectorTypes,
78
+ separateValue: separateValue
79
+ });
80
+ }, [disabledHours, disabledMinutes, disabledSeconds, secondStep, hourStep, minuteStep, panel, selectorTypes, separateValue]); // const renderHeader = useCallback(() => {
81
+ // return (
82
+ // <div className={`${componentPrefix}__header`}>
83
+ // {selectorTypes.map((item) => (
84
+ // <div className={`${componentPrefix}__header-title`} key={item}>
85
+ // {getSelectorTitle(item)}
86
+ // </div>
87
+ // ))}
88
+ // </div>
89
+ // )
90
+ // }, [selectorTypes, componentPrefix])
91
+
92
+ var renderSelectors = React.useCallback(function () {
93
+ return /*#__PURE__*/React__default['default'].createElement("div", {
94
+ className: componentPrefix + "__selector-container"
95
+ }, selectorTypes.map(function (type, index) {
96
+ var _cx;
97
+
98
+ var position = selectorTypes.length === 1 ? Selector.SelectorPosition.single : Selector.SelectorPosition.middle;
99
+
100
+ if (selectorTypes.length > 1 && index === 0) {
101
+ position = Selector.SelectorPosition.left;
102
+ } else if (selectorTypes.length > 1 && index === selectorTypes.length - 1) {
103
+ position = Selector.SelectorPosition.right;
104
+ }
105
+
106
+ return /*#__PURE__*/React__default['default'].createElement("div", {
107
+ className: componentPrefix + "__selector-content",
108
+ key: type
109
+ }, /*#__PURE__*/React__default['default'].createElement(Selector.Selector, {
110
+ value: String(separateValue[index]),
111
+ prefix: prefix,
112
+ position: position,
113
+ itemHeight: itemHeight,
114
+ fullDisplayItemNumber: fullDisplayItemNumber,
115
+ onChange: function onChange(e) {
116
+ var result = [].concat(separateValue).slice(0, selectorTypes.length); // 如果 value = '',则代表为空值
117
+ // 此时选择任意项,其他项直接视作 0
118
+
119
+ if (value === '') {
120
+ result = [0, 0, 0].slice(0, selectorTypes.length);
121
+ }
122
+
123
+ result[index] = Number(e.id);
124
+
125
+ _onChange(result.map(function (item) {
126
+ return String(item).padStart(2, '0');
127
+ }).join(':'));
128
+ },
129
+ data: getSelectorData(type)
130
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
131
+ className: classname.cx(componentPrefix + "__indicator", (_cx = {}, _cx[componentPrefix + "__indicator--left"] = index === 0, _cx[componentPrefix + "__indicator--right"] = index === selectorTypes.length - 1, _cx)),
132
+ style: {
133
+ height: itemHeight + "px"
134
+ }
135
+ }));
136
+ }));
137
+ }, [selectorTypes, componentPrefix, prefix, getSelectorData, _onChange, separateValue, itemHeight, fullDisplayItemNumber, value]);
138
+ return /*#__PURE__*/React__default['default'].createElement("div", {
139
+ className: componentPrefix
140
+ }, renderSelectors());
141
+ };
142
+
143
+ exports.Panel = Panel;
144
+ //# sourceMappingURL=Panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.js","sources":["../../src/Panel.tsx"],"sourcesContent":[null],"names":["Panel","props","hourStep","secondStep","minuteStep","disabledHours","disabledMinutes","disabledSeconds","prefix","format","value","panel","onChange","itemHeight","fullDisplayItemNumber","componentPrefix","useMemo","selectorTypes","analysisFormat","separateValue","split","filter","item","map","Number","getSelectorData","useCallback","type","generateSelectorData","panelType","step","renderSelectors","React","className","index","position","length","SelectorPosition","single","middle","left","right","key","Selector","String","e","result","slice","id","padStart","join","data","cx","style","height"],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ /** @LICENSE
2
+ * @hi-ui/time-picker
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
4
+ *
5
+ * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof = require("@babel/runtime/helpers/typeof");
13
+
14
+ Object.defineProperty(exports, '__esModule', {
15
+ value: true
16
+ });
17
+
18
+ var React = require('react');
19
+
20
+ var index = require('./@types/index.js');
21
+
22
+ var getRange = require('./utils/getRange.js');
23
+
24
+ var Panel = require('./Panel.js');
25
+
26
+ var analysisFormat = require('./utils/analysisFormat.js');
27
+
28
+ var getFormatDefault = require('./utils/getFormatDefault.js');
29
+
30
+ var TimePicker = require('./TimePicker.js');
31
+
32
+ var useFilter = require('./hooks/useFilter.js');
33
+
34
+ function _interopDefaultLegacy(e) {
35
+ return e && _typeof(e) === 'object' && 'default' in e ? e : {
36
+ 'default': e
37
+ };
38
+ }
39
+
40
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
41
+
42
+ var DefaultDisabledFunc = function DefaultDisabledFunc() {
43
+ return [];
44
+ };
45
+
46
+ var PopContent = function PopContent(props) {
47
+ var _props$prefix = props.prefix,
48
+ prefix = _props$prefix === void 0 ? TimePicker._prefix : _props$prefix,
49
+ dangerousValue = props.value,
50
+ _onChange = props.onChange,
51
+ format = props.format,
52
+ type = props.type,
53
+ itemHeight = props.itemHeight,
54
+ fullDisplayItemNumber = props.fullDisplayItemNumber,
55
+ hourStep = props.hourStep,
56
+ minuteStep = props.minuteStep,
57
+ secondStep = props.secondStep,
58
+ _props$disabledHours = props.disabledHours,
59
+ originalDisabledHours = _props$disabledHours === void 0 ? DefaultDisabledFunc : _props$disabledHours,
60
+ _props$disabledSecond = props.disabledSeconds,
61
+ originalDisabledSeconds = _props$disabledSecond === void 0 ? DefaultDisabledFunc : _props$disabledSecond,
62
+ _props$disabledMinute = props.disabledMinutes,
63
+ originalDisabledMinutes = _props$disabledMinute === void 0 ? DefaultDisabledFunc : _props$disabledMinute,
64
+ style = props.style; // 将值统一转化为函数
65
+ // 由于 pop content 会被 date-picker 直接调用,故而在此多做一次兼容处理
66
+
67
+ var _useFilter = useFilter.useFilter({
68
+ disabledHours: originalDisabledHours,
69
+ disabledMinutes: originalDisabledMinutes,
70
+ disabledSeconds: originalDisabledSeconds
71
+ }),
72
+ disabledHours = _useFilter.disabledHours,
73
+ disabledMinutes = _useFilter.disabledMinutes,
74
+ disabledSeconds = _useFilter.disabledSeconds;
75
+
76
+ var value = React.useMemo(function () {
77
+ return dangerousValue.map(function (item) {
78
+ return item || getFormatDefault.getFormatDefault(format);
79
+ });
80
+ }, [dangerousValue, format]);
81
+ var selectorTypes = React.useMemo(function () {
82
+ return analysisFormat.analysisFormat(format);
83
+ }, [format]);
84
+ var separateValue = React.useMemo(function () {
85
+ return value.map(function (disposeItem) {
86
+ return disposeItem.split(':').filter(function (item) {
87
+ return item;
88
+ }).map(function (item) {
89
+ return Number(item);
90
+ });
91
+ });
92
+ }, [value]);
93
+ var getMatchTypeValue = React.useCallback(function (index, type) {
94
+ var matchValue = separateValue[index];
95
+ var typeIndex = selectorTypes.indexOf(type);
96
+ var result = matchValue[typeIndex];
97
+ return result !== undefined && result >= 0 ? result : -1;
98
+ }, [separateValue, selectorTypes]);
99
+ var judgeTypeIsLastOne = React.useCallback(function (type) {
100
+ return selectorTypes.indexOf(type) === selectorTypes.length - 1;
101
+ }, [selectorTypes]);
102
+ var customDisabledHours = React.useCallback(function (panel) {
103
+ var result = disabledHours(panel);
104
+
105
+ if (panel === 'range-end') {
106
+ var startHour = getMatchTypeValue(0, index.TimePickerSelectorType.hour);
107
+ var isLastOne = judgeTypeIsLastOne(index.TimePickerSelectorType.hour); // 当当前类型为最后一个类型的时候
108
+ // 不能够选择与开始一致的值
109
+
110
+ result = [].concat(result, getRange.getRange(0, isLastOne ? startHour : startHour - 1));
111
+ }
112
+
113
+ return result;
114
+ }, [getMatchTypeValue, disabledHours, judgeTypeIsLastOne]);
115
+ var customDisabledMinute = React.useCallback(function (hour, panel) {
116
+ var result = disabledMinutes(hour, panel);
117
+
118
+ if (panel === 'range-end') {
119
+ var startHour = getMatchTypeValue(0, index.TimePickerSelectorType.hour);
120
+ var startMinute = getMatchTypeValue(0, index.TimePickerSelectorType.minute); // 当前类型中包含了小时
121
+ // minute 有值
122
+
123
+ if (hour >= 0) {
124
+ // 开始时间等于结束时间,则直接禁用开始时间之前的时间
125
+ if (startHour === hour) {
126
+ var isLastOne = judgeTypeIsLastOne(index.TimePickerSelectorType.minute); // 当当前类型为最后一个类型的时候
127
+ // 不能够选择与开始一致的值
128
+
129
+ result = [].concat(result, getRange.getRange(0, isLastOne ? startMinute : startMinute - 1));
130
+ } // 开始时间大于结束时间,直接禁用所有
131
+ else if (startHour > hour) {
132
+ result = [].concat(result, getRange.getRange(0, 59));
133
+ }
134
+ }
135
+ }
136
+
137
+ return result;
138
+ }, [getMatchTypeValue, judgeTypeIsLastOne, disabledMinutes]);
139
+ var customDisabledSeconds = React.useCallback(function (hour, minute, panel) {
140
+ var result = disabledSeconds(hour, minute, panel);
141
+
142
+ if (panel === 'range-end') {
143
+ var startHour = getMatchTypeValue(0, index.TimePickerSelectorType.hour);
144
+ var startMinute = getMatchTypeValue(0, index.TimePickerSelectorType.minute);
145
+ var startSecond = getMatchTypeValue(0, index.TimePickerSelectorType.second);
146
+ var allDisabled = false; // 如果小时存在,并且开始小时大于结束,禁用所有秒
147
+
148
+ if (hour >= 0 && startHour > hour) {
149
+ allDisabled = true;
150
+ } // 如果小时存在,并且开始结束小时一样,并且开始分钟大于结束分钟,禁用所有秒
151
+
152
+
153
+ if (hour >= 0 && startHour === hour && minute >= 0 && startMinute > minute) {
154
+ allDisabled = true;
155
+ }
156
+
157
+ if (allDisabled) {
158
+ result = [].concat(result, getRange.getRange(0, 59));
159
+ } else {
160
+ // hour 不存在 或者存在并且开始与结束相同
161
+ // 则视作,小时相等
162
+ var isHourEqual = hour < 0 || startHour === hour; // minute 不存在 或者存在并且开始与结束相同
163
+ // 则视作,分钟相等
164
+
165
+ var isMinuteEqual = minute < 0 || startMinute === minute; // 分钟小时相等,则需要根据 开始 秒 做禁用处理
166
+
167
+ if (isHourEqual && isMinuteEqual) {
168
+ result = [].concat(result, getRange.getRange(0, startSecond));
169
+ }
170
+ }
171
+ }
172
+
173
+ return result;
174
+ }, [getMatchTypeValue, disabledSeconds]);
175
+ var componentClass = React.useMemo(function () {
176
+ return prefix + "__pop-content";
177
+ }, [prefix]);
178
+ var renderPanel = React.useCallback(function (index) {
179
+ return /*#__PURE__*/React__default['default'].createElement("div", {
180
+ className: componentClass + "__panel-container"
181
+ }, /*#__PURE__*/React__default['default'].createElement(Panel.Panel, {
182
+ itemHeight: itemHeight,
183
+ fullDisplayItemNumber: fullDisplayItemNumber,
184
+ hourStep: hourStep,
185
+ secondStep: secondStep,
186
+ minuteStep: minuteStep,
187
+ disabledHours: customDisabledHours,
188
+ disabledMinutes: customDisabledMinute,
189
+ disabledSeconds: customDisabledSeconds,
190
+ prefix: prefix,
191
+ format: format,
192
+ value: value[index],
193
+ panel: type === 'single' ? 'single' : index === 0 ? 'range-start' : 'range-end',
194
+ onChange: function onChange(e) {
195
+ var result = [].concat(value);
196
+ result[index] = e;
197
+
198
+ _onChange(result);
199
+ }
200
+ }));
201
+ }, [hourStep, minuteStep, secondStep, customDisabledHours, customDisabledMinute, customDisabledSeconds, format, prefix, type, value, _onChange, fullDisplayItemNumber, itemHeight, componentClass]);
202
+ return /*#__PURE__*/React__default['default'].createElement("div", {
203
+ className: componentClass,
204
+ style: style
205
+ }, renderPanel(0), type === 'range' && /*#__PURE__*/React__default['default'].createElement("div", {
206
+ className: componentClass + "__separator"
207
+ }), type === 'range' && renderPanel(1));
208
+ };
209
+
210
+ exports.PopContent = PopContent;
211
+ //# sourceMappingURL=PopContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopContent.js","sources":["../../src/PopContent.tsx"],"sourcesContent":[null],"names":["DefaultDisabledFunc","PopContent","props","prefix","_prefix","dangerousValue","value","onChange","format","type","itemHeight","fullDisplayItemNumber","hourStep","minuteStep","secondStep","disabledHours","originalDisabledHours","disabledSeconds","originalDisabledSeconds","disabledMinutes","originalDisabledMinutes","style","useFilter","useMemo","map","item","getFormatDefault","selectorTypes","analysisFormat","separateValue","disposeItem","split","filter","Number","getMatchTypeValue","useCallback","index","matchValue","typeIndex","indexOf","result","undefined","judgeTypeIsLastOne","length","customDisabledHours","panel","startHour","TimePickerSelectorType","hour","isLastOne","getRange","customDisabledMinute","startMinute","minute","customDisabledSeconds","startSecond","second","allDisabled","isHourEqual","isMinuteEqual","componentClass","renderPanel","React","className","Panel","e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB;SAAM;AAAlC,CAAA;;IAEaC,UAAU,GAAwB,SAAlCA,UAAkC,CAACC,KAAD;sBAgBzCA,KAfJ,CACEC;MAAAA,MADF,8BACWC;MACFC,cAFT,GAeIH,KAfJ,CAEEI;MACAC,SAHF,GAeIL,KAfJ,CAGEK;MACAC,MAJF,GAeIN,KAfJ,CAIEM;MACAC,IALF,GAeIP,KAfJ,CAKEO;MACAC,UANF,GAeIR,KAfJ,CAMEQ;MACAC,qBAPF,GAeIT,KAfJ,CAOES;MACAC,QARF,GAeIV,KAfJ,CAQEU;MACAC,UATF,GAeIX,KAfJ,CASEW;MACAC,UAVF,GAeIZ,KAfJ,CAUEY;6BAKEZ,KAfJ,CAWEa;MAAeC,qBAXjB,qCAWyChB;8BAIrCE,KAfJ,CAYEe;MAAiBC,uBAZnB,sCAY6ClB;8BAGzCE,KAfJ,CAaEiB;MAAiBC,uBAbnB,sCAa6CpB;MAC3CqB,KAdF,GAeInB,KAfJ,CAcEmB;;;mBAK0DC,mBAAAA,CAAU;AACpEP,IAAAA,aAAa,EAAEC,qBADqD;AAEpEG,IAAAA,eAAe,EAAEC,uBAFmD;AAGpEH,IAAAA,eAAe,EAAEC;AAHmD,GAAVI;MAApDP,aAAR,cAAQA;MAAeI,eAAvB,cAAuBA;MAAiBF,eAAxC,cAAwCA;;MAMlCX,KAAK,GAAGiB,aAAAA,CAAQ;WAAMlB,cAAc,CAACmB,GAAfnB,CAAmB,UAACoB,IAAD;aAAUA,IAAI,IAAIC,iCAAAA,CAAiBlB,MAAjBkB;AAArC,KAAArB;AAAP,GAAPkB,EAA8E,CAC1FlB,cAD0F,EAE1FG,MAF0F,CAA9Ee;MAKRI,aAAa,GAAGJ,aAAAA,CAAQ;WAAMK,6BAAAA,CAAepB,MAAfoB;AAAP,GAAPL,EAAsC,CAACf,MAAD,CAAtCe;MAChBM,aAAa,GAAGN,aAAAA,CACpB;WACEjB,KAAK,CAACkB,GAANlB,CAAU,UAACwB,WAAD;aACRA,WAAW,CACRC,KADHD,CACS,GADTA,EAEGE,MAFHF,CAEU,UAACL,IAAD;eAAUA;AAFpB,OAAAK,EAGGN,GAHHM,CAGO,UAACL,IAAD;eAAUQ,MAAM,CAACR,IAAD;AAHvB,OAAAK;AADF,KAAAxB;AAFyB,GAAPiB,EAQpB,CAACjB,KAAD,CARoBiB;MAWhBW,iBAAiB,GAAGC,iBAAAA,CACxB,UAACC,KAAD,EAAgB3B,IAAhB;QACQ4B,UAAU,GAAGR,aAAa,CAACO,KAAD;QAC1BE,SAAS,GAAGX,aAAa,CAACY,OAAdZ,CAAsBlB,IAAtBkB;QACZa,MAAM,GAAGH,UAAU,CAACC,SAAD;WAClBE,MAAM,KAAKC,SAAXD,IAAwBA,MAAM,IAAI,CAAlCA,GAAsCA,MAAtCA,GAA+C,CAAC;AALtB,GAAXL,EAOxB,CAACN,aAAD,EAAgBF,aAAhB,CAPwBQ;MAUpBO,kBAAkB,GAAGP,iBAAAA,CACzB,UAAC1B,IAAD;WAAkCkB,aAAa,CAACY,OAAdZ,CAAsBlB,IAAtBkB,MAAgCA,aAAa,CAACgB,MAAdhB,GAAuB;AADrD,GAAXQ,EAEzB,CAACR,aAAD,CAFyBQ;MAKrBS,mBAAmB,GAAGT,iBAAAA,CAC1B,UAACU,KAAD;QACML,MAAM,GAAGzB,aAAa,CAAC8B,KAAD;;QACtBA,KAAK,KAAK,aAAa;UACnBC,SAAS,GAAGZ,iBAAiB,CAAC,CAAD,EAAIa,4BAAAA,CAAuBC,IAA3B;UAC7BC,SAAS,GAAGP,kBAAkB,CAACK,4BAAAA,CAAuBC,IAAxB,EAFX;;;AAKzBR,MAAAA,MAAM,aAAOA,QAAWU,iBAAAA,CAAS,CAATA,EAAYD,SAAS,GAAGH,SAAH,GAAeA,SAAS,GAAG,CAAhDI,EAAxBV;;;WAEKA;AAV4B,GAAXL,EAY1B,CAACD,iBAAD,EAAoBnB,aAApB,EAAmC2B,kBAAnC,CAZ0BP;MAetBgB,oBAAoB,GAAGhB,iBAAAA,CAC3B,UAACa,IAAD,EAAeH,KAAf;QACML,MAAM,GAAGrB,eAAe,CAAC6B,IAAD,EAAOH,KAAP;;QAExBA,KAAK,KAAK,aAAa;UACnBC,SAAS,GAAGZ,iBAAiB,CAAC,CAAD,EAAIa,4BAAAA,CAAuBC,IAA3B;UAC7BI,WAAW,GAAGlB,iBAAiB,CAAC,CAAD,EAAIa,4BAAAA,CAAuBM,MAA3B,EAFZ;;;UAMrBL,IAAI,IAAI,GAAG;;YAETF,SAAS,KAAKE,MAAM;cAChBC,SAAS,GAAGP,kBAAkB,CAACK,4BAAAA,CAAuBM,MAAxB,EADd;;;AAItBb,UAAAA,MAAM,aAAOA,QAAWU,iBAAAA,CAAS,CAATA,EAAYD,SAAS,GAAGG,WAAH,GAAiBA,WAAW,GAAG,CAApDF,EAAxBV;AAJF;aAOK,IAAIM,SAAS,GAAGE,IAAhB,EAAsB;AACzBR,YAAAA,MAAM,aAAOA,QAAWU,iBAAAA,CAAS,CAATA,EAAY,EAAZA,EAAxBV;;;;;WAICA;AAxB6B,GAAXL,EA0B3B,CAACD,iBAAD,EAAoBQ,kBAApB,EAAwCvB,eAAxC,CA1B2BgB;MA6BvBmB,qBAAqB,GAAGnB,iBAAAA,CAC5B,UAACa,IAAD,EAAeK,MAAf,EAA+BR,KAA/B;QACML,MAAM,GAAGvB,eAAe,CAAC+B,IAAD,EAAOK,MAAP,EAAeR,KAAf;;QACxBA,KAAK,KAAK,aAAa;UACnBC,SAAS,GAAGZ,iBAAiB,CAAC,CAAD,EAAIa,4BAAAA,CAAuBC,IAA3B;UAC7BI,WAAW,GAAGlB,iBAAiB,CAAC,CAAD,EAAIa,4BAAAA,CAAuBM,MAA3B;UAC/BE,WAAW,GAAGrB,iBAAiB,CAAC,CAAD,EAAIa,4BAAAA,CAAuBS,MAA3B;UAEjCC,WAAW,GAAG,MALO;;UAQrBT,IAAI,IAAI,CAARA,IAAaF,SAAS,GAAGE,MAAM;AACjCS,QAAAA,WAAW,GAAG,IAAdA;AATuB,OAAA;;;UAYrBT,IAAI,IAAI,CAARA,IAAaF,SAAS,KAAKE,IAA3BA,IAAmCK,MAAM,IAAI,CAA7CL,IAAkDI,WAAW,GAAGC,QAAQ;AAC1EI,QAAAA,WAAW,GAAG,IAAdA;;;UAGEA,aAAa;AACfjB,QAAAA,MAAM,aAAOA,QAAWU,iBAAAA,CAAS,CAATA,EAAY,EAAZA,EAAxBV;AADF,aAEO;;;YAGCkB,WAAW,GAAGV,IAAI,GAAG,CAAPA,IAAYF,SAAS,KAAKE,KAHzC;;;YAMCW,aAAa,GAAGN,MAAM,GAAG,CAATA,IAAcD,WAAW,KAAKC,OAN/C;;YASDK,WAAW,IAAIC,eAAe;AAChCnB,UAAAA,MAAM,aAAOA,QAAWU,iBAAAA,CAAS,CAATA,EAAYK,WAAZL,EAAxBV;;;;;WAICA;AAnC8B,GAAXL,EAqC5B,CAACD,iBAAD,EAAoBjB,eAApB,CArC4BkB;MAwCxByB,cAAc,GAAGrC,aAAAA,CAAQ;WAASpB,MAAT;AAAD,GAAPoB,EAAwC,CAACpB,MAAD,CAAxCoB;MACjBsC,WAAW,GAAG1B,iBAAAA,CAClB,UAACC,KAAD;wBAEI0B,yBAAAA,cAAAA,MAAAA;AAAKC,MAAAA,SAAS,EAAKH,cAAL;KAAdE,eACEA,yBAAAA,cAAAA,CAACE,WAADF;AACEpD,MAAAA,UAAU,EAAEA;AACZC,MAAAA,qBAAqB,EAAEA;AACvBC,MAAAA,QAAQ,EAAEA;AACVE,MAAAA,UAAU,EAAEA;AACZD,MAAAA,UAAU,EAAEA;AACZE,MAAAA,aAAa,EAAE6B;AACfzB,MAAAA,eAAe,EAAEgC;AACjBlC,MAAAA,eAAe,EAAEqC;AACjBnD,MAAAA,MAAM,EAAEA;AACRK,MAAAA,MAAM,EAAEA;AACRF,MAAAA,KAAK,EAAEA,KAAK,CAAC8B,KAAD;AACZS,MAAAA,KAAK,EAAEpC,IAAI,KAAK,QAATA,GAAoB,QAApBA,GAA+B2B,KAAK,KAAK,CAAVA,GAAc,aAAdA,GAA8B;AACpE7B,MAAAA,QAAQ,EAAE,iBAAA,CAAC0D,CAAD;YACFzB,MAAM,aAAOlC;AACnBkC,QAAAA,MAAM,CAACJ,KAAD,CAANI,GAAgByB,CAAhBzB;;AACAjC,QAAAA,SAAQ,CAACiC,MAAD,CAARjC;;KAhBJuD,CADFA;AAHyB,GAAX3B,EA0BlB,CACEvB,QADF,EAEEC,UAFF,EAGEC,UAHF,EAIE8B,mBAJF,EAKEO,oBALF,EAMEG,qBANF,EAOE9C,MAPF,EAQEL,MARF,EASEM,IATF,EAUEH,KAVF,EAWEC,SAXF,EAYEI,qBAZF,EAaED,UAbF,EAcEkD,cAdF,CA1BkBzB;sBA6ClB2B,yBAAAA,cAAAA,MAAAA;AAAKC,IAAAA,SAAS,EAAEH;AAAgBvC,IAAAA,KAAK,EAAEA;GAAvCyC,EACGD,WAAW,CAAC,CAAD,CADdC,EAEGrD,IAAI,KAAK,OAATA,iBAAoBqD,yBAAAA,cAAAA,MAAAA;AAAKC,IAAAA,SAAS,EAAKH,cAAL;GAAdE,CAFvBA,EAGGrD,IAAI,KAAK,OAATA,IAAoBoD,WAAW,CAAC,CAAD,CAHlCC;;;"}