taro-react-uilib 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/components/Checkbox/Group/index.js +2 -0
  3. package/dist/components/Checkbox/Group/index.js.map +1 -0
  4. package/dist/components/Checkbox/index.js +2 -0
  5. package/dist/components/Checkbox/index.js.map +1 -0
  6. package/dist/components/Picker/Picker.js +1 -1
  7. package/dist/components/Picker/Picker.js.map +1 -1
  8. package/dist/components/Picker/index.js +1 -1
  9. package/dist/components/Picker/index.js.map +1 -1
  10. package/dist/components/PickerSlot/index.js +2 -0
  11. package/dist/components/PickerSlot/index.js.map +1 -0
  12. package/dist/components/Radio/Group/index.js +2 -0
  13. package/dist/components/Radio/Group/index.js.map +1 -0
  14. package/dist/components/Radio/index.js +2 -0
  15. package/dist/components/Radio/index.js.map +1 -0
  16. package/dist/components/Space/Item.js +2 -0
  17. package/dist/components/Space/Item.js.map +1 -0
  18. package/dist/components/Space/config-provider.js +2 -0
  19. package/dist/components/Space/config-provider.js.map +1 -0
  20. package/dist/components/Space/index.js +2 -0
  21. package/dist/components/Space/index.js.map +1 -0
  22. package/dist/components/Step/Steps/index.js +2 -0
  23. package/dist/components/Step/Steps/index.js.map +1 -0
  24. package/dist/components/Step/index.js +2 -0
  25. package/dist/components/Step/index.js.map +1 -0
  26. package/dist/components/ThemeProvider/index.js +1 -1
  27. package/dist/components/ThemeProvider/index.js.map +1 -1
  28. package/dist/components/node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js +172 -0
  29. package/dist/components/node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js.map +1 -0
  30. package/dist/components/src/hooks/index.js +1 -1
  31. package/dist/components/src/hooks/index.js.map +1 -1
  32. package/dist/components/src/hooks/useFlexGapSupport.js +2 -0
  33. package/dist/components/src/hooks/useFlexGapSupport.js.map +1 -0
  34. package/dist/components/src/hooks/useGenerateId.js +2 -0
  35. package/dist/components/src/hooks/useGenerateId.js.map +1 -0
  36. package/dist/components/src/hooks/useRefs.js +2 -0
  37. package/dist/components/src/hooks/useRefs.js.map +1 -0
  38. package/dist/components/src/hooks/useTouch.js +2 -0
  39. package/dist/components/src/hooks/useTouch.js.map +1 -0
  40. package/dist/components/src/index.js +1 -1
  41. package/dist/components/src/utils/index.js +1 -1
  42. package/dist/components/src/utils/index.js.map +1 -1
  43. package/dist/index.js +173 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.umd.js +173 -2
  46. package/dist/index.umd.js.map +1 -1
  47. package/dist/styles/components/checkbox.scss +117 -0
  48. package/dist/styles/components/dialog.scss +2 -0
  49. package/dist/styles/components/font/.DS_Store +0 -0
  50. package/dist/styles/components/index.scss +5 -0
  51. package/dist/styles/components/numberkeyboard.scss +1 -3
  52. package/dist/styles/components/picker.scss +7 -112
  53. package/dist/styles/components/pickerslot.scss +98 -0
  54. package/dist/styles/components/radio.scss +102 -0
  55. package/dist/styles/components/space.scss +37 -0
  56. package/dist/styles/components/step.scss +173 -0
  57. package/dist/styles/components/themeprovider.scss +3 -0
  58. package/dist/styles/components/toast.scss +1 -1
  59. package/dist/styles/index.scss +1 -1
  60. package/dist/styles/themes/default.scss +13 -13
  61. package/dist/styles/themes/variable.scss +2 -0
  62. package/lib/components/Checkbox/Group/index.js +49 -0
  63. package/lib/components/Checkbox/Group/index.js.map +1 -0
  64. package/lib/components/Checkbox/index.js +43 -0
  65. package/lib/components/Checkbox/index.js.map +1 -0
  66. package/lib/components/Picker/Picker.js +192 -96
  67. package/lib/components/Picker/Picker.js.map +1 -1
  68. package/lib/components/Picker/index.js +2 -5
  69. package/lib/components/Picker/index.js.map +1 -1
  70. package/lib/components/PickerSlot/index.js +226 -0
  71. package/lib/components/PickerSlot/index.js.map +1 -0
  72. package/lib/components/Radio/Group/index.js +56 -0
  73. package/lib/components/Radio/Group/index.js.map +1 -0
  74. package/lib/components/Radio/index.js +43 -0
  75. package/lib/components/Radio/index.js.map +1 -0
  76. package/lib/components/Space/Item.js +25 -0
  77. package/lib/components/Space/Item.js.map +1 -0
  78. package/lib/components/Space/config-provider.js +8 -0
  79. package/lib/components/Space/config-provider.js.map +1 -0
  80. package/lib/components/Space/index.js +77 -0
  81. package/lib/components/Space/index.js.map +1 -0
  82. package/lib/components/Step/Steps/index.js +31 -0
  83. package/lib/components/Step/Steps/index.js.map +1 -0
  84. package/lib/components/Step/index.js +19 -0
  85. package/lib/components/Step/index.js.map +1 -0
  86. package/lib/components/ThemeProvider/index.js +4 -0
  87. package/lib/components/ThemeProvider/index.js.map +1 -1
  88. package/lib/hooks/index.js +0 -34
  89. package/lib/hooks/index.js.map +1 -1
  90. package/lib/hooks/useFlexGapSupport.js +10 -0
  91. package/lib/hooks/useFlexGapSupport.js.map +1 -0
  92. package/lib/hooks/useGenerateId.js +12 -0
  93. package/lib/hooks/useGenerateId.js.map +1 -0
  94. package/lib/hooks/useRefs.js +13 -0
  95. package/lib/hooks/useRefs.js.map +1 -0
  96. package/lib/hooks/useTouch.js +67 -0
  97. package/lib/hooks/useTouch.js.map +1 -0
  98. package/lib/index.js +4 -0
  99. package/lib/index.js.map +1 -1
  100. package/lib/utils/index.js +39 -2
  101. package/lib/utils/index.js.map +1 -1
  102. package/package.json +2 -1
  103. package/types/components/Checkbox/Group/index.d.ts +23 -0
  104. package/types/components/Checkbox/index.d.ts +29 -0
  105. package/types/components/Picker/Picker.d.ts +21 -20
  106. package/types/components/Picker/index.d.ts +6 -7
  107. package/types/components/PickerSlot/index.d.ts +24 -0
  108. package/types/components/Radio/Group/index.d.ts +26 -0
  109. package/types/components/Radio/index.d.ts +29 -0
  110. package/types/components/Space/Item.d.ts +11 -0
  111. package/types/components/Space/config-provider.d.ts +12 -0
  112. package/types/components/Space/index.d.ts +21 -0
  113. package/types/components/Step/Steps/index.d.ts +13 -0
  114. package/types/components/Step/index.d.ts +18 -0
  115. package/types/hooks/index.d.ts +0 -22
  116. package/types/hooks/useFlexGapSupport.d.ts +2 -0
  117. package/types/hooks/useGenerateId.d.ts +1 -0
  118. package/types/hooks/useRefs.d.ts +1 -0
  119. package/types/hooks/useTouch.d.ts +18 -0
  120. package/types/index.d.ts +4 -0
  121. package/types/utils/index.d.ts +6 -0
@@ -0,0 +1,226 @@
1
+ import React, { useState, useEffect, useRef, useImperativeHandle, } from "react";
2
+ import { View } from "@tarojs/components";
3
+ import { useTouch } from "../../hooks/useTouch";
4
+ import "./index.scss";
5
+ const InternalPickerSlot = (props, ref) => {
6
+ const { keyIndex = 0, defaultValue, data = [], mode = "normal", swipeDuration = 1000, visible = false, onConfirm, } = props;
7
+ const touch = useTouch();
8
+ const DEFAULT_DURATION = 200;
9
+ // 触发惯性滑动条件:
10
+ // 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_TIME` 且 move
11
+ // 距离大于 `MOMENTUM_DISTANCE` 时,执行惯性滑动
12
+ const INERTIA_TIME = 300;
13
+ const INERTIA_DISTANCE = 15;
14
+ const [currIndex, setCurrIndex] = useState(1);
15
+ const lineSpacing = useRef(36);
16
+ const [touchTime, setTouchTime] = useState(0);
17
+ const [touchDeg, setTouchDeg] = useState("0deg");
18
+ const rotation = 20;
19
+ const moving = useRef(false);
20
+ let timer;
21
+ const listbox = useRef(null);
22
+ const rollerRef = useRef(null);
23
+ const pickerSlotRef = useRef(null);
24
+ const [startTime, setStartTime] = useState(0);
25
+ const [startY, setStartY] = useState(0);
26
+ const transformY = useRef(0);
27
+ const [scrollDistance, setScrollDistance] = useState(0);
28
+ const isHidden = (index) => {
29
+ if (index >= currIndex + 8 || index <= currIndex - 8) {
30
+ return true;
31
+ }
32
+ return false;
33
+ };
34
+ const setTransform = (translateY = 0, type, time = DEFAULT_DURATION, deg) => {
35
+ let nTime = time;
36
+ if (type !== "end") {
37
+ nTime = 0;
38
+ }
39
+ setTouchTime(nTime);
40
+ setTouchDeg(deg);
41
+ setScrollDistance(translateY);
42
+ };
43
+ const setMove = (move, type, time) => {
44
+ let updateMove = move + transformY.current;
45
+ if (type === "end") {
46
+ // 限定滚动距离
47
+ if (updateMove > 0) {
48
+ updateMove = 0;
49
+ }
50
+ if (updateMove < -(data.length - 1) * lineSpacing.current) {
51
+ updateMove = -(data.length - 1) * lineSpacing.current;
52
+ }
53
+ // 设置滚动距离为lineSpacing的倍数值
54
+ const endMove = Math.round(updateMove / lineSpacing.current) * lineSpacing.current;
55
+ const deg = `${(Math.abs(Math.round(endMove / lineSpacing.current)) + 1) * rotation}deg`;
56
+ setTransform(endMove, type, time, deg);
57
+ setCurrIndex(Math.abs(Math.round(endMove / lineSpacing.current)) + 1);
58
+ }
59
+ else {
60
+ let deg = 0;
61
+ const currentDeg = (-updateMove / lineSpacing.current + 1) * rotation;
62
+ // picker 滚动的最大角度
63
+ const maxDeg = (data.length + 1) * rotation;
64
+ const minDeg = 0;
65
+ deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
66
+ if (minDeg < deg && deg < maxDeg) {
67
+ setTransform(updateMove, "", undefined, `${deg}deg`);
68
+ setCurrIndex(Math.abs(Math.round(updateMove / lineSpacing.current)) + 1);
69
+ }
70
+ }
71
+ };
72
+ const setChooseValue = (move) => {
73
+ const index = Math.round(-move / lineSpacing.current);
74
+ onConfirm && onConfirm(data[index], keyIndex);
75
+ };
76
+ // 开始滚动
77
+ const touchStart = event => {
78
+ touch.start(event);
79
+ setStartY(touch.deltaY);
80
+ setStartTime(Date.now());
81
+ transformY.current = scrollDistance;
82
+ };
83
+ const touchMove = event => {
84
+ touch.move(event);
85
+ if (touch.isVertical()) {
86
+ moving.current = true;
87
+ preventDefault(event, true);
88
+ }
89
+ const move = touch.deltaY - startY;
90
+ setMove(move);
91
+ };
92
+ const touchEnd = () => {
93
+ if (!moving.current)
94
+ return;
95
+ const move = touch.deltaY - startY;
96
+ const moveTime = Date.now() - startTime;
97
+ // 区分是否为惯性滚动
98
+ if (moveTime <= INERTIA_TIME && Math.abs(move) > INERTIA_DISTANCE) {
99
+ // 惯性滚动
100
+ const distance = momentum(move, moveTime);
101
+ setMove(distance, "end", +swipeDuration);
102
+ }
103
+ else {
104
+ setMove(move, "end");
105
+ }
106
+ setTimeout(() => {
107
+ touch.reset();
108
+ }, 0);
109
+ };
110
+ // 惯性滚动 距离
111
+ const momentum = (distance, duration) => {
112
+ let nDistance = distance;
113
+ // 惯性滚动的速度
114
+ const speed = Math.abs(nDistance / duration);
115
+ // 惯性滚动的距离
116
+ nDistance = (speed / 0.003) * (nDistance < 0 ? -1 : 1);
117
+ return nDistance;
118
+ };
119
+ const modifyStatus = (type, val) => {
120
+ const value = val || defaultValue;
121
+ let index = -1;
122
+ if (value) {
123
+ data.some((item, idx) => {
124
+ if (typeof item === "string" ? item === value : item.value === value) {
125
+ index = idx;
126
+ return true;
127
+ }
128
+ return false;
129
+ });
130
+ }
131
+ else {
132
+ data.forEach((item, i) => {
133
+ if (typeof item === "string"
134
+ ? item === defaultValue
135
+ : item.value === defaultValue) {
136
+ index = i;
137
+ }
138
+ });
139
+ }
140
+ setCurrIndex(index === -1 ? 1 : index + 1);
141
+ const move = index === -1 ? 0 : index * lineSpacing.current;
142
+ type && setChooseValue(-move);
143
+ setMove(-move);
144
+ };
145
+ // 惯性滚动结束
146
+ const stopMomentum = () => {
147
+ moving.current = false;
148
+ setTouchTime(0);
149
+ setChooseValue(scrollDistance);
150
+ };
151
+ // 阻止默认事件
152
+ const preventDefault = (event, isStopPropagation) => {
153
+ /* istanbul ignore else */
154
+ if (typeof event.cancelable !== "boolean" || event.cancelable) {
155
+ event.preventDefault();
156
+ }
157
+ if (isStopPropagation) {
158
+ event.stopPropagation();
159
+ }
160
+ };
161
+ const getReference = async () => {
162
+ // const refe = await getRectByTaro(listbox?.current)
163
+ // lineSpacing.current = refe.height ? refe.height : 36
164
+ // lineSpacing.current = 36
165
+ modifyStatus(true);
166
+ };
167
+ const touchRollerStyle = () => {
168
+ return {
169
+ transition: `transform ${touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
170
+ transform: `rotate3d(1, 0, 0, ${touchDeg})`,
171
+ };
172
+ };
173
+ const touchTileStyle = () => {
174
+ return {
175
+ transition: `transform ${touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
176
+ transform: `translate3d(0, ${scrollDistance}px, 0)`,
177
+ };
178
+ };
179
+ useEffect(() => {
180
+ setScrollDistance(0);
181
+ transformY.current = 0;
182
+ modifyStatus(false);
183
+ return () => {
184
+ clearTimeout(timer);
185
+ };
186
+ }, [data]);
187
+ useEffect(() => {
188
+ if (visible) {
189
+ setTimeout(() => {
190
+ getReference();
191
+ }, 200);
192
+ }
193
+ }, [visible]);
194
+ useImperativeHandle(ref, () => ({
195
+ stopMomentum,
196
+ moving: moving.current,
197
+ }));
198
+ return (React.createElement(View, { className: "xh-picker-list", ref: pickerSlotRef, onTouchStart: touchStart, onTouchMove: touchMove, onTouchEnd: touchEnd },
199
+ React.createElement(View, { className: "xh-picker-roller", ref: rollerRef, style: mode === "3D" ? touchRollerStyle() : touchTileStyle(), onTransitionEnd: stopMomentum },
200
+ mode === "3D" &&
201
+ data.map((item, index) => {
202
+ return (React.createElement(View, { className: `xh-picker-roller-item ${isHidden(index + 1) && "nut-picker-roller-item-hidden"}`, style: {
203
+ transform: `rotate3d(1, 0, 0, ${-rotation * (index + 1)}deg) translate3d(0px, 0px, 104px)`,
204
+ height: `${lineSpacing.current}px`,
205
+ lineHeight: `${lineSpacing.current}px`,
206
+ }, key: typeof item === "string"
207
+ ? index
208
+ : item.value
209
+ ? item.value
210
+ : index },
211
+ React.createElement(React.Fragment, null, typeof item === "object" ? item.text : item)));
212
+ }),
213
+ mode === "normal" &&
214
+ data.map((item, index) => {
215
+ return (React.createElement(View, { className: "xh-picker-roller-item-title", key: typeof item === "object" ? item.value : item ? item : index, style: {
216
+ height: `${lineSpacing.current}px`,
217
+ lineHeight: `${lineSpacing.current}px`,
218
+ } },
219
+ React.createElement(React.Fragment, null, typeof item === "object" ? item.text : item)));
220
+ })),
221
+ React.createElement(View, { className: "xh-picker-mask" }),
222
+ React.createElement(View, { className: "xh-picker-indicator", ref: listbox })));
223
+ };
224
+ const PickerSlot = React.forwardRef(InternalPickerSlot);
225
+ export default PickerSlot;
226
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PickerSlot/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { useMemo, useState } from "react";
13
+ import classNames from "classnames";
14
+ import Radio from "..";
15
+ const RadioGroup = props => {
16
+ const { option, onChange, name, padding, border, radioStyle, defaultChecked } = props, rest = __rest(props, ["option", "onChange", "name", "padding", "border", "radioStyle", "defaultChecked"]);
17
+ let getOpions = useMemo(() => {
18
+ return option === null || option === void 0 ? void 0 : option.map(item => {
19
+ if (typeof item === "string") {
20
+ return {
21
+ label: item,
22
+ value: item,
23
+ checked: defaultChecked === item,
24
+ };
25
+ }
26
+ else {
27
+ if (defaultChecked === item.value) {
28
+ item.checked = true;
29
+ }
30
+ return item;
31
+ }
32
+ });
33
+ }, [option, defaultChecked]);
34
+ const [innerOptions, setInnerOptions] = useState(getOpions);
35
+ const handleChange = idx => {
36
+ let newoption = [...innerOptions];
37
+ let newValue = "";
38
+ for (let index = 0; index < newoption.length; index++) {
39
+ if (index === idx) {
40
+ newoption[index].checked = true;
41
+ newValue = newoption[index].value;
42
+ }
43
+ else {
44
+ newoption[index].checked = false;
45
+ }
46
+ }
47
+ setInnerOptions(newoption);
48
+ onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
49
+ };
50
+ const cls = classNames("xh-radio-group", { padding }, { border });
51
+ return (React.createElement("div", { className: cls }, innerOptions.map((item, index) => {
52
+ return (React.createElement(Radio, Object.assign({ label: item.label, value: item.value, disabled: item.disabled, name: name, key: index, className: "xh-radio-group-list", circle: true, onChange: () => handleChange(index), checked: item.checked, style: radioStyle }, rest)));
53
+ })));
54
+ };
55
+ export default RadioGroup;
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Radio/Group/index.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAC;AAC5D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,IAAI,CAAC;AA0BvB,MAAM,UAAU,GAA8B,KAAK,CAAC,EAAE;IACpD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,MAAM,EACN,UAAU,EACV,cAAc,KAEZ,KAAK,EADJ,IAAI,UACL,KAAK,EATH,mFASL,CAAQ,CAAC;IAEV,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,cAAc,KAAK,IAAI;iBACjC,CAAC;aACH;iBAAM;gBACL,IAAI,cAAc,KAAK,IAAI,CAAC,KAAK,EAAE;oBACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;iBACrB;gBACD,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE;QACzB,IAAI,SAAS,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAClC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrD,IAAI,KAAK,KAAK,GAAG,EAAE;gBACjB,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gBAChC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;aACnC;iBAAM;gBACL,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;aAClC;SACF;QACD,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAElE,OAAO,CACL,6BAAK,SAAS,EAAE,GAAG,IAChB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAChC,OAAO,CACL,oBAAC,KAAK,kBACJ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,qBAAqB,EAC/B,MAAM,QACN,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,UAAU,IACb,IAAI,EACR,CACH,CAAC;IACJ,CAAC,CAAC,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,43 @@
1
+ import React from "react";
2
+ import classNames from "classnames";
3
+ import { RadioGroup } from "@tarojs/components";
4
+ import useGenerateId from "@/hooks/useGenerateId";
5
+ import Group from "./Group";
6
+ import "./index.scss";
7
+ const XHRadio = props => {
8
+ const { className, name, label, id, circle, onChange, align, direction, justify, checked, disabled, value, style, color = "#f6ab00", } = props;
9
+ const finalId = useGenerateId(id, "xh-radio-id");
10
+ const handleOnchange = e => {
11
+ let finalchecked = checked || false;
12
+ let value = "";
13
+ if (process.env.TARO_ENV === "h5") {
14
+ finalchecked = e.target.checked;
15
+ value = e.target.value;
16
+ }
17
+ else {
18
+ finalchecked = e.detail.value.length > 0;
19
+ value = e.detail.value;
20
+ }
21
+ onChange === null || onChange === void 0 ? void 0 : onChange(finalchecked, value);
22
+ };
23
+ const cls = classNames("xh-radio", className, align, direction, justify);
24
+ if (process.env.TARO_ENV !== "h5") {
25
+ return (React.createElement(RadioGroup, { onChange: handleOnchange },
26
+ React.createElement("label", { htmlFor: finalId, className: cls, style: style },
27
+ React.createElement("input", { type: "radio", id: finalId, name: name, className: classNames("xh-radio-input", {
28
+ tt: process.env.TARO_ENV === "tt",
29
+ }), onChange: handleOnchange, disabled: disabled, value: value, checked: checked, color: color }),
30
+ React.createElement("span", { className: classNames("xh-radio-input-fake", circle && "circle", {
31
+ tt: process.env.TARO_ENV === "tt",
32
+ }) }),
33
+ React.createElement("span", { className: "xh-radio-label" }, label))));
34
+ }
35
+ return (React.createElement("label", { htmlFor: finalId, className: cls, style: style },
36
+ React.createElement("input", { type: "radio", id: finalId, name: name, className: "xh-radio-input", onChange: handleOnchange, value: value, disabled: disabled, defaultChecked: checked }),
37
+ React.createElement("span", { className: classNames("xh-radio-input-fake", circle && "circle") }),
38
+ React.createElement("span", { className: "xh-radio-label" }, label)));
39
+ };
40
+ const Radio = XHRadio;
41
+ Radio.Group = Group;
42
+ export default Radio;
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Radio/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import { SpaceContext } from ".";
3
+ export default function Item({ className, direction, index, marginDirection, children, split, wrap, }) {
4
+ const { horizontalSize, verticalSize, latestIndex, supportFlexGap } = React.useContext(SpaceContext);
5
+ let style = {};
6
+ if (!supportFlexGap) {
7
+ if (direction === "vertical") {
8
+ if (index < latestIndex) {
9
+ style = { marginBottom: horizontalSize / (split ? 2 : 1) };
10
+ }
11
+ }
12
+ else {
13
+ style = Object.assign(Object.assign({}, (index < latestIndex && {
14
+ [marginDirection]: horizontalSize / (split ? 2 : 1),
15
+ })), (wrap && { paddingBottom: verticalSize }));
16
+ }
17
+ }
18
+ if (children === null || children === undefined) {
19
+ return null;
20
+ }
21
+ return (React.createElement(React.Fragment, null,
22
+ React.createElement("div", { className: className, style: style }, children),
23
+ index < latestIndex && split && (React.createElement("span", { className: `${className}-split`, style: style }, split))));
24
+ }
25
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../src/components/Space/Item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AAYjC,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,SAAS,EACT,SAAS,EACT,KAAK,EACL,eAAe,EACf,QAAQ,EACR,KAAK,EACL,IAAI,GACM;IACV,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,GACjE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,KAAK,GAAwB,EAAE,CAAC;IAEpC,IAAI,CAAC,cAAc,EAAE;QACnB,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B,IAAI,KAAK,GAAG,WAAW,EAAE;gBACvB,KAAK,GAAG,EAAE,YAAY,EAAE,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D;SACF;aAAM;YACL,KAAK,mCACA,CAAC,KAAK,GAAG,WAAW,IAAI;gBACzB,CAAC,eAAe,CAAC,EAAE,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACpD,CAAC,GACC,CAAC,IAAI,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAC7C,CAAC;SACH;KACF;IAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC/C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ;QACb,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,IACpC,QAAQ,CACL;QACL,KAAK,GAAG,WAAW,IAAI,KAAK,IAAI,CAC/B,8BAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,EAAE,KAAK,EAAE,KAAK,IAChD,KAAK,CACD,CACR,CACc,CAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export const defaultGetPrefixCls = (suffixCls) => {
3
+ return suffixCls ? `xh-${suffixCls}` : "xh";
4
+ };
5
+ export const ConfigContext = React.createContext({
6
+ getPrefixCls: defaultGetPrefixCls,
7
+ });
8
+ //# sourceMappingURL=config-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-provider.js","sourceRoot":"","sources":["../../../src/components/Space/config-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAE,EAAE;IACxD,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAsB;IACpE,YAAY,EAAE,mBAAmB;CAClC,CAAC,CAAC"}
@@ -0,0 +1,77 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from "react";
13
+ import { View } from "@tarojs/components";
14
+ import classNames from "classnames";
15
+ import useFlexGapSupport from "@/hooks/useFlexGapSupport";
16
+ import { toArray } from "@/utils";
17
+ import { ConfigContext } from "./config-provider";
18
+ import Item from "./Item";
19
+ import "./index.scss";
20
+ export const SpaceConfigContext = ConfigContext;
21
+ export const SpaceContext = React.createContext({
22
+ latestIndex: 0,
23
+ horizontalSize: 0,
24
+ verticalSize: 0,
25
+ supportFlexGap: false,
26
+ });
27
+ const spaceSize = {
28
+ small: 8,
29
+ normal: 16,
30
+ large: 24,
31
+ };
32
+ function getNumberSize(size) {
33
+ return typeof size === "string" ? spaceSize[size] : size || 0;
34
+ }
35
+ const XHSpace = props => {
36
+ const { getPrefixCls, space, direction: directionConfig, } = React.useContext(ConfigContext);
37
+ const { size = (space === null || space === void 0 ? void 0 : space.size) || "small", align, className, children, direction = "horizontal", split, style, wrap = false } = props, otherProps = __rest(props, ["size", "align", "className", "children", "direction", "split", "style", "wrap"]);
38
+ const supportFlexGap = useFlexGapSupport();
39
+ const [horizontalSize, verticalSize] = React.useMemo(() => (Array.isArray(size) ? size : [size, size]).map(item => getNumberSize(item)), [size]);
40
+ const childNodes = toArray(children, { keepEmpty: true });
41
+ const mergedAlign = align === undefined && direction === "horizontal" ? "center" : align;
42
+ const prefixCls = getPrefixCls("space");
43
+ const cn = classNames(prefixCls, `${prefixCls}-${direction}`, {
44
+ [`${prefixCls}-rtl`]: directionConfig === "rtl",
45
+ [`${prefixCls}-align-${mergedAlign}`]: mergedAlign,
46
+ }, className);
47
+ const itemClassName = `${prefixCls}-item`;
48
+ const marginDirection = directionConfig === "rtl" ? "marginLeft" : "marginRight";
49
+ // Calculate latest one
50
+ let latestIndex = 0;
51
+ const nodes = childNodes.map((child, i) => {
52
+ if (child !== null && child !== undefined) {
53
+ latestIndex = i;
54
+ }
55
+ const key = (child && child.key) || `${itemClassName}-${i}`;
56
+ return (React.createElement(Item, { className: itemClassName, key: key, direction: direction, index: i, marginDirection: marginDirection, split: split, wrap: wrap }, child));
57
+ });
58
+ const spaceContext = React.useMemo(() => ({ horizontalSize, verticalSize, latestIndex, supportFlexGap }), [horizontalSize, verticalSize, latestIndex, supportFlexGap]);
59
+ if (childNodes.length === 0) {
60
+ return null;
61
+ }
62
+ const gapStyle = {};
63
+ if (wrap) {
64
+ gapStyle.flexWrap = "wrap";
65
+ if (!supportFlexGap) {
66
+ gapStyle.marginBottom = `-${verticalSize}px`;
67
+ }
68
+ }
69
+ if (supportFlexGap) {
70
+ gapStyle.columnGap = `${horizontalSize}px`;
71
+ gapStyle.rowGap = `${verticalSize}px`;
72
+ }
73
+ return (React.createElement(View, Object.assign({ className: cn, style: Object.assign(Object.assign({}, gapStyle), style) }, otherProps),
74
+ React.createElement(SpaceContext.Provider, { value: spaceContext }, nodes)));
75
+ };
76
+ export default XHSpace;
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Space/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import classNames from "classnames";
3
+ import { View } from "@tarojs/components";
4
+ const classPrefix = `xh-steps`;
5
+ const stepClassPrefix = `xh-step`;
6
+ const defaultIcon = React.createElement("span", { className: `${stepClassPrefix}-icon-dot` });
7
+ const Steps = props => {
8
+ const { direction = "horizontal", current = 0, style, className } = props;
9
+ const classString = classNames(classPrefix, `${classPrefix}-${direction}`, className);
10
+ return (React.createElement(View, { className: classString, style: style }, React.Children.map(props.children, (child, index) => {
11
+ var _a;
12
+ if (!React.isValidElement(child)) {
13
+ return child;
14
+ }
15
+ const props = child.props;
16
+ let status = props.status || "wait";
17
+ if (index < current) {
18
+ status = props.status || "finish";
19
+ }
20
+ else if (index === current) {
21
+ status = props.status || "process";
22
+ }
23
+ const icon = (_a = props.icon) !== null && _a !== void 0 ? _a : defaultIcon;
24
+ return React.cloneElement(child, {
25
+ status,
26
+ icon,
27
+ });
28
+ })));
29
+ };
30
+ export default Steps;
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Step/Steps/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAK1C,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,MAAM,WAAW,GAAG,8BAAM,SAAS,EAAE,GAAG,eAAe,WAAW,GAAI,CAAC;AAYvE,MAAM,KAAK,GAAmB,KAAK,CAAC,EAAE;IACpC,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC1E,MAAM,WAAW,GAAG,UAAU,CAC5B,WAAW,EACX,GAAG,WAAW,IAAI,SAAS,EAAE,EAC7B,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,IACvC,KAAK,CAAC,QAAQ,CAAC,GAAG,CACjB,KAAK,CAAC,QAAQ,EACd,CAAC,KAA8B,EAAE,KAAK,EAAE,EAAE;;QACxC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SACd;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;QAEpC,IAAI,KAAK,GAAG,OAAO,EAAE;YACnB,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC;SACnC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE;YAC5B,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;SACpC;QAED,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,WAAW,CAAC;QAEvC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;YAC/B,MAAM;YACN,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CACF,CACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import classNames from "classnames";
3
+ import { View } from "@tarojs/components";
4
+ import Steps from "./Steps";
5
+ import "./index.scss";
6
+ const classPrefix = "xh-step";
7
+ const Step = props => {
8
+ const { title, description, icon, status = "wait", fancy, style, className, } = props;
9
+ return (React.createElement(View, { className: classNames(`${classPrefix}`, `${classPrefix}-status-${status}`, className), style: style },
10
+ React.createElement(View, { className: `${classPrefix}-indicator` },
11
+ React.createElement(View, { className: classNames(`${classPrefix}-icon-container`, { fancy }) }, icon)),
12
+ React.createElement(View, { className: `${classPrefix}-content` },
13
+ React.createElement(View, { className: `${classPrefix}-title` }, title),
14
+ !!description && (React.createElement(View, { className: `${classPrefix}-description` }, description)))));
15
+ };
16
+ const XHStep = Step;
17
+ XHStep.Steps = Steps;
18
+ export default XHStep;
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Step/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,cAAc,CAAC;AAYtB,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAM,IAAI,GAAwB,KAAK,CAAC,EAAE;IACxC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,GAAG,MAAM,EACf,KAAK,EACL,KAAK,EACL,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,IAAI,IACH,SAAS,EAAE,UAAU,CACnB,GAAG,WAAW,EAAE,EAChB,GAAG,WAAW,WAAW,MAAM,EAAE,EACjC,SAAS,CACV,EACD,KAAK,EAAE,KAAK;QAEZ,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,WAAW,YAAY;YACzC,oBAAC,IAAI,IACH,SAAS,EAAE,UAAU,CAAC,GAAG,WAAW,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,IAEhE,IAAI,CACA,CACF;QACP,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,WAAW,UAAU;YACvC,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,WAAW,QAAQ,IAAG,KAAK,CAAQ;YACtD,CAAC,CAAC,WAAW,IAAI,CAChB,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,WAAW,cAAc,IAAG,WAAW,CAAQ,CACpE,CACI,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,MAAM,GAAG,IAAuB,CAAC;AACvC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AAErB,eAAe,MAAM,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import React, { createContext } from "react";
2
+ import cssVars from "css-vars-ponyfill";
2
3
  const createTheme = (theme) => {
3
4
  return createContext(Object.assign({}, theme));
4
5
  };
@@ -22,6 +23,9 @@ const ThemeProvider = ({ children, value, scoped = false, }) => {
22
23
  }
23
24
  });
24
25
  }
26
+ cssVars({
27
+ variables: value,
28
+ });
25
29
  return (React.createElement(ThemeContext.Provider, { value: value }, clonedElement));
26
30
  };
27
31
  export default ThemeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ThemeProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAyB7C,MAAM,WAAW,GAAG,CAAC,KAAgC,EAAE,EAAE;IACvD,OAAO,aAAa,mBAAM,KAAK,EAAG,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AAE5C,MAAM,aAAa,GAAiC,CAAC,EACnD,QAAQ,EACR,KAAK,EACL,MAAM,GAAG,KAAK,GACf,EAAE,EAAE;IACH,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5D,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO,KAAK,CAAC,YAAY,CAAC,KAAY,EAAE;oBACtC,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,aAAa,CAAyB,CAC7E,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ThemeProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAyBxC,MAAM,WAAW,GAAG,CAAC,KAAgC,EAAE,EAAE;IACvD,OAAO,aAAa,mBAAM,KAAK,EAAG,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AAE5C,MAAM,aAAa,GAAiC,CAAC,EACnD,QAAQ,EACR,KAAK,EACL,MAAM,GAAG,KAAK,GACf,EAAE,EAAE;IACH,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5D,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO,KAAK,CAAC,YAAY,CAAC,KAAY,EAAE;oBACtC,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,CAAC;QACN,SAAS,EAAE,KAAkC;KAC9C,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,aAAa,CAAyB,CAC7E,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -7,40 +7,6 @@ export const useTaroEnv = () => {
7
7
  }, []);
8
8
  return taroEnv;
9
9
  };
10
- export const useTouch = () => {
11
- const [startPoint, setStartPoint] = useState({ x: 0, y: 0 }); // touch start的point
12
- const [touchMoveDistance, setTouchMoveDistance] = useState({ x: 0, y: 0 }); // touch的距离
13
- // const touchMoveDistance = useRef({ x: 0, y: 0 });
14
- const [touchEndPoint, setTouchEndPoint] = useState({ x: 0, y: 0 }); // touch end的point
15
- const formatPos = (num) => {
16
- return Math.floor(num);
17
- };
18
- const touchstart = (e) => {
19
- e.preventDefault();
20
- const { clientX, clientY } = e.touches[0];
21
- setStartPoint({ x: formatPos(clientX), y: formatPos(clientY) });
22
- };
23
- const touchmove = (e) => {
24
- e.preventDefault();
25
- const { pageX, pageY } = e.touches[0];
26
- let distanceX, distanceY;
27
- distanceX = formatPos(pageX - startPoint.x);
28
- distanceY = formatPos(pageY - startPoint.y);
29
- setTouchMoveDistance({ x: distanceX, y: distanceY });
30
- };
31
- const touchend = (e) => {
32
- const { pageX, pageY } = e.changedTouches[0];
33
- setTouchEndPoint({ x: formatPos(pageX), y: formatPos(pageY) });
34
- };
35
- return {
36
- touchstart,
37
- touchend,
38
- touchmove,
39
- startPoint: startPoint,
40
- touchMoveDistance: touchMoveDistance,
41
- touchEndPoint,
42
- };
43
- };
44
10
  export const useAsyncEffect = async (fn, deps) => {
45
11
  useEffect(() => {
46
12
  fn().catch(err => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { detectFlexGapSupported } from "../utils";
3
+ export default () => {
4
+ const [flexible, setFlexible] = React.useState(false);
5
+ React.useEffect(() => {
6
+ setFlexible(detectFlexGapSupported());
7
+ }, []);
8
+ return flexible;
9
+ };
10
+ //# sourceMappingURL=useFlexGapSupport.js.map