@tarojs/components-react 4.0.1-alpha.0 → 4.0.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 (67) hide show
  1. package/LICENSE +8 -8
  2. package/dist/components/button/index.js +103 -78
  3. package/dist/components/button/index.js.map +1 -1
  4. package/dist/components/icon/index.js +17 -26
  5. package/dist/components/icon/index.js.map +1 -1
  6. package/dist/components/image/index.js +101 -76
  7. package/dist/components/image/index.js.map +1 -1
  8. package/dist/components/input/index.js +206 -183
  9. package/dist/components/input/index.js.map +1 -1
  10. package/dist/components/pull-down-refresh/index.js +211 -195
  11. package/dist/components/pull-down-refresh/index.js.map +1 -1
  12. package/dist/components/scroll-view/index.js +167 -137
  13. package/dist/components/scroll-view/index.js.map +1 -1
  14. package/dist/components/swiper/index.js +268 -248
  15. package/dist/components/swiper/index.js.map +1 -1
  16. package/dist/components/text/index.js +31 -22
  17. package/dist/components/text/index.js.map +1 -1
  18. package/dist/components/view/index.js +97 -72
  19. package/dist/components/view/index.js.map +1 -1
  20. package/dist/index.css +1 -1
  21. package/dist/utils/index.js +15 -26
  22. package/dist/utils/index.js.map +1 -1
  23. package/package.json +18 -19
  24. package/dist/solid/components/button/index.js +0 -95
  25. package/dist/solid/components/button/index.js.map +0 -1
  26. package/dist/solid/components/button/style/index.scss.js +0 -4
  27. package/dist/solid/components/button/style/index.scss.js.map +0 -1
  28. package/dist/solid/components/icon/index.js +0 -39
  29. package/dist/solid/components/icon/index.js.map +0 -1
  30. package/dist/solid/components/icon/style/index.scss.js +0 -4
  31. package/dist/solid/components/icon/style/index.scss.js.map +0 -1
  32. package/dist/solid/components/image/index.js +0 -94
  33. package/dist/solid/components/image/index.js.map +0 -1
  34. package/dist/solid/components/input/index.js +0 -256
  35. package/dist/solid/components/input/index.js.map +0 -1
  36. package/dist/solid/components/input/style/index.scss.js +0 -4
  37. package/dist/solid/components/input/style/index.scss.js.map +0 -1
  38. package/dist/solid/components/pull-down-refresh/index.js +0 -334
  39. package/dist/solid/components/pull-down-refresh/index.js.map +0 -1
  40. package/dist/solid/components/pull-down-refresh/style/index.css.js +0 -4
  41. package/dist/solid/components/pull-down-refresh/style/index.css.js.map +0 -1
  42. package/dist/solid/components/scroll-view/index.js +0 -188
  43. package/dist/solid/components/scroll-view/index.js.map +0 -1
  44. package/dist/solid/components/scroll-view/style/index.css.js +0 -4
  45. package/dist/solid/components/scroll-view/style/index.css.js.map +0 -1
  46. package/dist/solid/components/swiper/index.js +0 -307
  47. package/dist/solid/components/swiper/index.js.map +0 -1
  48. package/dist/solid/components/swiper/style/index.css.js +0 -4
  49. package/dist/solid/components/swiper/style/index.css.js.map +0 -1
  50. package/dist/solid/components/text/index.js +0 -32
  51. package/dist/solid/components/text/index.js.map +0 -1
  52. package/dist/solid/components/text/style/index.css.js +0 -4
  53. package/dist/solid/components/text/style/index.css.js.map +0 -1
  54. package/dist/solid/components/view/index.js +0 -88
  55. package/dist/solid/components/view/index.js.map +0 -1
  56. package/dist/solid/index.css +0 -1
  57. package/dist/solid/index.js +0 -13
  58. package/dist/solid/index.js.map +0 -1
  59. package/dist/solid/utils/hooks.solid.js +0 -54
  60. package/dist/solid/utils/hooks.solid.js.map +0 -1
  61. package/dist/solid/utils/index.js +0 -58
  62. package/dist/solid/utils/index.js.map +0 -1
  63. package/dist/utils/hooks.react.js +0 -15
  64. package/dist/utils/hooks.react.js.map +0 -1
  65. package/types/index.d.ts +0 -17
  66. /package/dist/{solid/components/image → components/view}/style/index.css.js +0 -0
  67. /package/dist/{solid/components/image → components/view}/style/index.css.js.map +0 -0
package/LICENSE CHANGED
@@ -154,8 +154,15 @@ See `/LICENSE` for details of the license.
154
154
 
155
155
  ==================
156
156
 
157
+ MIT (stencil-vue2-output-target):
158
+ The following files embed [stencil-vue2-output-target](https://github.com/diondree/stencil-vue2-output-target) MIT:
159
+ `/packages/taro-components-library-vue2/src/vue-component-lib/utils.ts`
160
+ See `/LICENSE` for details of the license.
161
+
162
+ ==================
163
+
157
164
  MIT (weui):
158
- The following files embed [weui](https://github.com/Tencent/weui) MIT:
165
+ The following files embed [stencil-vue2-output-target](https://github.com/Tencent/weui) MIT:
159
166
  `/packages/taro-components/src/components/*.scss`
160
167
  See `/LICENSE.txt` for details of the license.
161
168
 
@@ -165,10 +172,3 @@ Apache-2.0 (intersection-observer):
165
172
  The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
166
173
  `/packages/taro-api/src/polyfill/intersection-observer.ts`
167
174
  See `/LICENSE.txt` for details of the license.
168
-
169
- ==================
170
-
171
- MIT (babel-plugin-jsx-dom-expressions):
172
- The following files embed [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/blob/main/packages/babel-plugin-jsx-dom-expressions) MIT:
173
- `/packages/babel-plugin-transform-solid-jsx/src/*`
174
- See `/LICENSE` for details of the license.
@@ -1,87 +1,112 @@
1
- import { __rest } from 'tslib';
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
+ import _createClass from '@babel/runtime/helpers/createClass';
4
+ import _inherits from '@babel/runtime/helpers/inherits';
5
+ import _createSuper from '@babel/runtime/helpers/createSuper';
2
6
  import './style/index.scss.js';
3
7
  import classNames from 'classnames';
4
- import { omit, createForwardRefComponent } from '../../utils/index.js';
5
- import { useRef, useState, useEffect } from '../../utils/hooks.react.js';
6
- import { jsxs, jsx } from 'react/jsx-runtime';
8
+ import React from 'react';
9
+ import { omit } from '../../utils/index.js';
7
10
 
8
- function Button(props) {
9
- const startTimer = useRef();
10
- const endTimer = useRef();
11
- const [state, setState] = useState({
12
- hover: false,
13
- touch: false
14
- });
15
- useEffect(() => {
16
- return () => {
17
- startTimer.current && clearTimeout(startTimer.current);
18
- endTimer.current && clearTimeout(endTimer.current);
11
+ var Button = /*#__PURE__*/function (_React$Component) {
12
+ _inherits(Button, _React$Component);
13
+ var _super = _createSuper(Button);
14
+ function Button(props) {
15
+ var _this;
16
+ _classCallCheck(this, Button);
17
+ _this = _super.call(this, props);
18
+ _this.state = {
19
+ hover: false,
20
+ touch: false
19
21
  };
20
- }, []);
21
- const _onTouchStart = e => {
22
- setState(e => Object.assign(Object.assign({}, e), {
23
- touch: true
24
- }));
25
- if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {
26
- startTimer.current = setTimeout(() => {
27
- if (state.touch) {
28
- setState(e => Object.assign(Object.assign({}, e), {
29
- hover: true
30
- }));
31
- }
32
- }, props.hoverStartTime || 20);
22
+ return _this;
23
+ }
24
+ _createClass(Button, [{
25
+ key: "componentWillUnmount",
26
+ value: function componentWillUnmount() {
27
+ this.startTimer && clearTimeout(this.startTimer);
28
+ this.endTimer && clearTimeout(this.endTimer);
33
29
  }
34
- props.onTouchStart && props.onTouchStart(e);
35
- };
36
- const _onTouchEnd = e => {
37
- setState(e => Object.assign(Object.assign({}, e), {
38
- touch: false
39
- }));
40
- if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {
41
- endTimer.current = setTimeout(() => {
42
- if (!state.touch) {
43
- setState(e => Object.assign(Object.assign({}, e), {
44
- hover: false
45
- }));
30
+ }, {
31
+ key: "render",
32
+ value: function render() {
33
+ var _this2 = this;
34
+ var _this$props = this.props,
35
+ _this$props$plain = _this$props.plain,
36
+ plain = _this$props$plain === void 0 ? false : _this$props$plain,
37
+ children = _this$props.children,
38
+ _this$props$disabled = _this$props.disabled,
39
+ disabled = _this$props$disabled === void 0 ? false : _this$props$disabled,
40
+ className = _this$props.className,
41
+ style = _this$props.style,
42
+ onClick = _this$props.onClick,
43
+ onTouchStart = _this$props.onTouchStart,
44
+ onTouchEnd = _this$props.onTouchEnd,
45
+ _this$props$hoverClas = _this$props.hoverClass,
46
+ hoverClass = _this$props$hoverClas === void 0 ? 'button-hover' : _this$props$hoverClas,
47
+ _this$props$hoverStar = _this$props.hoverStartTime,
48
+ hoverStartTime = _this$props$hoverStar === void 0 ? 20 : _this$props$hoverStar,
49
+ _this$props$hoverStay = _this$props.hoverStayTime,
50
+ hoverStayTime = _this$props$hoverStay === void 0 ? 70 : _this$props$hoverStay,
51
+ _this$props$loading = _this$props.loading,
52
+ loading = _this$props$loading === void 0 ? false : _this$props$loading,
53
+ type = _this$props.type;
54
+ var cls = classNames(className, 'taro-button-core', _defineProperty({}, "".concat(hoverClass), this.state.hover && !disabled));
55
+ var _onTouchStart = function _onTouchStart(e) {
56
+ _this2.setState(function () {
57
+ return {
58
+ touch: true
59
+ };
60
+ });
61
+ if (hoverClass && hoverClass !== 'none' && !disabled) {
62
+ _this2.startTimer = setTimeout(function () {
63
+ if (_this2.state.touch) {
64
+ _this2.setState(function () {
65
+ return {
66
+ hover: true
67
+ };
68
+ });
69
+ }
70
+ }, hoverStartTime);
71
+ }
72
+ onTouchStart && onTouchStart(e);
73
+ };
74
+ var _onTouchEnd = function _onTouchEnd(e) {
75
+ _this2.setState(function () {
76
+ return {
77
+ touch: false
78
+ };
79
+ });
80
+ if (hoverClass && hoverClass !== 'none' && !disabled) {
81
+ _this2.endTimer = setTimeout(function () {
82
+ if (!_this2.state.touch) {
83
+ _this2.setState(function () {
84
+ return {
85
+ hover: false
86
+ };
87
+ });
88
+ }
89
+ }, hoverStayTime);
46
90
  }
47
- }, props.hoverStayTime || 70);
91
+ onTouchEnd && onTouchEnd(e);
92
+ };
93
+ return React.createElement("button", Object.assign({}, omit(this.props, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading']), {
94
+ type: type,
95
+ className: cls,
96
+ style: style,
97
+ onClick: onClick,
98
+ disabled: disabled,
99
+ onTouchStart: _onTouchStart,
100
+ onTouchEnd: _onTouchEnd,
101
+ loading: loading.toString(),
102
+ plain: plain.toString()
103
+ }), !!loading && React.createElement("i", {
104
+ className: 'weui-loading'
105
+ }), children);
48
106
  }
49
- props.onTouchEnd && props.onTouchEnd(e);
50
- };
51
- const {
52
- forwardedRef,
53
- plain = false,
54
- children,
55
- disabled = false,
56
- className,
57
- style,
58
- onClick,
59
- hoverClass = 'button-hover',
60
- loading = false,
61
- type
62
- } = props,
63
- restProps = __rest(props, ["forwardedRef", "plain", "children", "disabled", "className", "style", "onClick", "hoverClass", "loading", "type"]);
64
- const cls = classNames(className, 'taro-button-core', {
65
- [`${hoverClass}`]: state.hover && !disabled
66
- });
67
- return /*#__PURE__*/jsxs("button", {
68
- ...omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading', 'forwardedRef']),
69
- type: type,
70
- ref: forwardedRef,
71
- className: cls,
72
- style: style,
73
- onClick: onClick,
74
- disabled: disabled,
75
- onTouchStart: _onTouchStart,
76
- onTouchEnd: _onTouchEnd,
77
- loading: loading.toString(),
78
- plain: plain.toString(),
79
- children: [!!loading && /*#__PURE__*/jsx("i", {
80
- className: "weui-loading"
81
- }), children]
82
- });
83
- }
84
- var index = createForwardRefComponent(Button);
107
+ }]);
108
+ return Button;
109
+ }(React.Component);
85
110
 
86
- export { index as default };
111
+ export { Button as default };
87
112
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, omit } from '../../utils'\nimport { useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n size?: string\n plain?: boolean\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n disabled?: boolean\n loading?: boolean\n type?: string\n className?: string\n forwardedRef?: React.MutableRefObject<HTMLButtonElement>\n}\n\ninterface IState {\n hover:boolean\n touch: boolean\n}\n\nfunction Button (props: IProps) {\n const startTimer = useRef<ReturnType<typeof setTimeout>>()\n const endTimer = useRef<ReturnType<typeof setTimeout>>()\n const [state, setState] = useState<IState>({\n hover: false,\n touch: false\n })\n\n useEffect(() => {\n return () => {\n startTimer.current && clearTimeout(startTimer.current)\n endTimer.current && clearTimeout(endTimer.current)\n }\n }, [])\n\n const _onTouchStart = (e: React.TouchEvent<HTMLButtonElement>) => {\n setState((e) => ({\n ...e,\n touch: true\n }))\n if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {\n startTimer.current = setTimeout(() => {\n if ((state as IState).touch) {\n setState((e) => ({\n ...e,\n hover: true\n }))\n }\n }, props.hoverStartTime || 20)\n }\n props.onTouchStart && props.onTouchStart(e)\n }\n\n const _onTouchEnd = (e: React.TouchEvent<HTMLButtonElement>) => {\n setState((e) => ({\n ...e,\n touch: false\n }))\n if (props.hoverClass && props.hoverClass !== 'none' && !props.disabled) {\n endTimer.current = setTimeout(() => {\n if (!(state as IState).touch) {\n setState((e) => ({\n ...e,\n hover: false\n }))\n }\n }, props.hoverStayTime || 70)\n }\n props.onTouchEnd && props.onTouchEnd(e)\n }\n\n const { forwardedRef, plain = false, children, disabled = false, className, style, onClick, hoverClass = 'button-hover', loading = false, type, ...restProps } = props\n\n const cls = classNames(\n className,\n 'taro-button-core',\n {\n [`${hoverClass}`]: (state as IState).hover && !disabled\n }\n )\n\n return (\n <button\n {...omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading', 'forwardedRef'])}\n type={type}\n ref={forwardedRef}\n className={cls}\n style={style}\n onClick={onClick}\n disabled={disabled}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n loading={loading.toString()}\n plain={plain.toString()}\n >\n {!!loading && <i className='weui-loading' />}\n {children}\n </button>\n )\n}\n\nexport default createForwardRefComponent(Button)\n"],"names":["Button","props","startTimer","useRef","endTimer","state","setState","useState","hover","touch","useEffect","current","clearTimeout","_onTouchStart","e","Object","assign","hoverClass","disabled","setTimeout","hoverStartTime","onTouchStart","_onTouchEnd","hoverStayTime","onTouchEnd","forwardedRef","plain","children","className","style","onClick","loading","type","restProps","__rest","cls","classNames","_jsxs","omit","ref","toString","_jsx","createForwardRefComponent"],"mappings":";;;;;;;AA2BA,SAASA,MAAMA,CAAEC,KAAa,EAAA;AAC5B,EAAA,MAAMC,UAAU,GAAGC,MAAM,EAAiC,CAAA;AAC1D,EAAA,MAAMC,QAAQ,GAAGD,MAAM,EAAiC,CAAA;AACxD,EAAA,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAGC,QAAQ,CAAS;AACzCC,IAAAA,KAAK,EAAE,KAAK;AACZC,IAAAA,KAAK,EAAE,KAAA;AACR,GAAA,CAAC,CAAA;AAEFC,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,OAAO,MAAK;MACVR,UAAU,CAACS,OAAO,IAAIC,YAAY,CAACV,UAAU,CAACS,OAAO,CAAC,CAAA;MACtDP,QAAQ,CAACO,OAAO,IAAIC,YAAY,CAACR,QAAQ,CAACO,OAAO,CAAC,CAAA;KACnD,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAEN,MAAME,aAAa,GAAIC,CAAsC,IAAI;AAC/DR,IAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJL,MAAAA,KAAK,EAAE,IAAA;AAAI,KAAA,CACX,CAAC,CAAA;AACH,IAAA,IAAIR,KAAK,CAACgB,UAAU,IAAIhB,KAAK,CAACgB,UAAU,KAAK,MAAM,IAAI,CAAChB,KAAK,CAACiB,QAAQ,EAAE;AACtEhB,MAAAA,UAAU,CAACS,OAAO,GAAGQ,UAAU,CAAC,MAAK;QACnC,IAAKd,KAAgB,CAACI,KAAK,EAAE;AAC3BH,UAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJN,YAAAA,KAAK,EAAE,IAAA;AAAI,WAAA,CACX,CAAC,CAAA;AACL,SAAA;AACF,OAAC,EAAEP,KAAK,CAACmB,cAAc,IAAI,EAAE,CAAC,CAAA;AAChC,KAAA;IACAnB,KAAK,CAACoB,YAAY,IAAIpB,KAAK,CAACoB,YAAY,CAACP,CAAC,CAAC,CAAA;GAC5C,CAAA;EAED,MAAMQ,WAAW,GAAIR,CAAsC,IAAI;AAC7DR,IAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJL,MAAAA,KAAK,EAAE,KAAA;AAAK,KAAA,CACZ,CAAC,CAAA;AACH,IAAA,IAAIR,KAAK,CAACgB,UAAU,IAAIhB,KAAK,CAACgB,UAAU,KAAK,MAAM,IAAI,CAAChB,KAAK,CAACiB,QAAQ,EAAE;AACtEd,MAAAA,QAAQ,CAACO,OAAO,GAAGQ,UAAU,CAAC,MAAK;AACjC,QAAA,IAAI,CAAEd,KAAgB,CAACI,KAAK,EAAE;AAC5BH,UAAAA,QAAQ,CAAEQ,CAAC,IAAKC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACXF,CAAC,CAAA,EAAA;AACJN,YAAAA,KAAK,EAAE,KAAA;AAAK,WAAA,CACZ,CAAC,CAAA;AACL,SAAA;AACF,OAAC,EAAEP,KAAK,CAACsB,aAAa,IAAI,EAAE,CAAC,CAAA;AAC/B,KAAA;IACAtB,KAAK,CAACuB,UAAU,IAAIvB,KAAK,CAACuB,UAAU,CAACV,CAAC,CAAC,CAAA;GACxC,CAAA;EAED,MAAM;MAAEW,YAAY;AAAEC,MAAAA,KAAK,GAAG,KAAK;MAAEC,QAAQ;AAAET,MAAAA,QAAQ,GAAG,KAAK;MAAEU,SAAS;MAAEC,KAAK;MAAEC,OAAO;AAAEb,MAAAA,UAAU,GAAG,cAAc;AAAEc,MAAAA,OAAO,GAAG,KAAK;AAAEC,MAAAA,IAAAA;AAAuB,KAAA,GAAA/B,KAAK;IAAnBgC,SAAS,GAAAC,MAAA,CAAKjC,KAAK,EAAhK,CAAA,cAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,SAAA,EAAA,MAAA,CAAwJ,CAAQ,CAAA;AAEtK,EAAA,MAAMkC,GAAG,GAAGC,UAAU,CACpBR,SAAS,EACT,kBAAkB,EAClB;IACE,CAAC,CAAA,EAAGX,UAAU,CAAE,CAAA,GAAIZ,KAAgB,CAACG,KAAK,IAAI,CAACU,QAAAA;AAChD,GAAA,CACF,CAAA;AAED,EAAA,oBACEmB,IAAA,CAAA,QAAA,EAAA;AAAA,IAAA,GACMC,IAAI,CAACL,SAAS,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACpGD,IAAAA,IAAI,EAAEA,IAAK;AACXO,IAAAA,GAAG,EAAEd,YAAa;AAClBG,IAAAA,SAAS,EAAEO,GAAI;AACfN,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,OAAO,EAAEA,OAAQ;AACjBZ,IAAAA,QAAQ,EAAEA,QAAS;AACnBG,IAAAA,YAAY,EAAER,aAAc;AAC5BW,IAAAA,UAAU,EAAEF,WAAY;AACxBS,IAAAA,OAAO,EAAEA,OAAO,CAACS,QAAQ,EAAG;AAC5Bd,IAAAA,KAAK,EAAEA,KAAK,CAACc,QAAQ,EAAG;AAAAb,IAAAA,QAAA,EAEvB,CAAA,CAAC,CAACI,OAAO,iBAAIU,GAAA,CAAA,GAAA,EAAA;AAAGb,MAAAA,SAAS,EAAC,cAAA;KAAc,CAAG,EAC3CD,QAAQ,CAAA;AAAA,GACH,CAAC,CAAA;AAEb,CAAA;AAEA,YAAee,yBAAyB,CAAC1C,MAAM,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { omit } from '../../utils'\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n size?: string\n plain?: boolean\n hoverClass?: string\n hoverStartTime?: number\n hoverStayTime?: number\n disabled?: boolean\n loading?: boolean\n type?: string\n className?: string\n}\n\ninterface IState {\n hover:boolean\n touch: boolean\n}\n\nclass Button extends React.Component<IProps, IState> {\n constructor (props) {\n super(props)\n this.state = {\n hover: false,\n touch: false\n }\n }\n\n startTimer: ReturnType<typeof setTimeout>\n endTimer: ReturnType<typeof setTimeout>\n\n componentWillUnmount () {\n this.startTimer && clearTimeout(this.startTimer)\n this.endTimer && clearTimeout(this.endTimer)\n }\n\n render () {\n const {\n plain = false,\n children,\n disabled = false,\n className,\n style,\n onClick,\n onTouchStart,\n onTouchEnd,\n hoverClass = 'button-hover',\n hoverStartTime = 20,\n hoverStayTime = 70,\n loading = false,\n type,\n } = this.props\n const cls = classNames(\n className,\n 'taro-button-core',\n {\n [`${hoverClass}`]: this.state.hover && !disabled\n }\n )\n\n const _onTouchStart = e => {\n this.setState(() => ({\n touch: true\n }))\n if (hoverClass && hoverClass !== 'none' && !disabled) {\n this.startTimer = setTimeout(() => {\n if (this.state.touch) {\n this.setState(() => ({\n hover: true\n }))\n }\n }, hoverStartTime)\n }\n onTouchStart && onTouchStart(e)\n }\n const _onTouchEnd = e => {\n this.setState(() => ({\n touch: false\n }))\n if (hoverClass && hoverClass !== 'none' && !disabled) {\n this.endTimer = setTimeout(() => {\n if (!this.state.touch) {\n this.setState(() => ({\n hover: false\n }))\n }\n }, hoverStayTime)\n }\n onTouchEnd && onTouchEnd(e)\n }\n\n return (\n <button\n {...omit(this.props, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading'])}\n type={type}\n className={cls}\n style={style}\n onClick={onClick}\n disabled={disabled}\n onTouchStart={_onTouchStart}\n onTouchEnd={_onTouchEnd}\n loading={loading.toString()}\n plain={plain.toString()}\n >\n {!!loading && <i className='weui-loading' />}\n {children}\n </button>\n )\n }\n}\n\nexport default Button\n"],"names":["Button","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","state","hover","touch","_createClass","key","value","componentWillUnmount","startTimer","clearTimeout","endTimer","render","_this2","_this$props","_this$props$plain","plain","children","_this$props$disabled","disabled","className","style","onClick","onTouchStart","onTouchEnd","_this$props$hoverClas","hoverClass","_this$props$hoverStar","hoverStartTime","_this$props$hoverStay","hoverStayTime","_this$props$loading","loading","type","cls","classNames","_defineProperty","concat","_onTouchStart","e","setState","setTimeout","_onTouchEnd","React","createElement","Object","assign","omit","toString","Component"],"mappings":"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"}
@@ -1,36 +1,27 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
1
2
  import './style/index.scss.js';
2
3
  import classNames from 'classnames';
3
- import { omit, createForwardRefComponent } from '../../utils/index.js';
4
- import { jsx } from 'react/jsx-runtime';
4
+ import React from 'react';
5
+ import { omit } from '../../utils/index.js';
5
6
 
6
- const Icon = props => {
7
- let {
8
- type,
9
- className = '',
10
- size = '23',
11
- color,
12
- forwardedRef
13
- } = props;
7
+ var Icon = function Icon(props) {
8
+ var type = props.type,
9
+ _props$className = props.className,
10
+ className = _props$className === void 0 ? '' : _props$className,
11
+ _props$size = props.size,
12
+ size = _props$size === void 0 ? '23' : _props$size,
13
+ color = props.color;
14
14
  if (type) type = type.replace(/_/g, '-');
15
- const cls = classNames({
16
- [`weui-icon-${type}`]: true
17
- }, className);
18
- const style = {
15
+ var cls = classNames(_defineProperty({}, "weui-icon-".concat(type), true), className);
16
+ var style = {
19
17
  'font-size': size + 'px',
20
18
  color: color
21
19
  };
22
- return (
23
- /*#__PURE__*/
24
- // eslint-disable-next-line react/react-in-jsx-scope
25
- jsx("i", {
26
- ref: forwardedRef,
27
- ...omit(props, ['type', 'className', 'forwardedRef']),
28
- className: cls,
29
- style: style
30
- })
31
- );
20
+ return React.createElement("i", Object.assign({}, omit(props, ['type', 'className']), {
21
+ className: cls,
22
+ style: style
23
+ }));
32
24
  };
33
- var index = createForwardRefComponent(Icon);
34
25
 
35
- export { index as default };
26
+ export { Icon as default };
36
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent, omit } from '../../utils'\n\ninterface IProps {\n type: string\n color: string\n size?: number | string\n className?: string\n forwardedRef?: React.MutableRefObject<HTMLLIElement>\n}\n\nconst Icon = (props: IProps) => {\n let { type, className = '', size = '23', color, forwardedRef } = props\n if (type) type = type.replace(/_/g, '-')\n const cls = classNames(\n {\n [`weui-icon-${type}`]: true\n },\n className\n )\n const style = { 'font-size': size + 'px', color: color }\n\n return (\n // eslint-disable-next-line react/react-in-jsx-scope\n <i ref={forwardedRef} {...omit(props, ['type', 'className', 'forwardedRef'])} className={cls} style={style} />\n )\n}\nexport default createForwardRefComponent(Icon)\n"],"names":["Icon","props","type","className","size","color","forwardedRef","replace","cls","classNames","style","_jsx","ref","omit","createForwardRefComponent"],"mappings":";;;;;AAcA,MAAMA,IAAI,GAAIC,KAAa,IAAI;EAC7B,IAAI;IAAEC,IAAI;AAAEC,IAAAA,SAAS,GAAG,EAAE;AAAEC,IAAAA,IAAI,GAAG,IAAI;IAAEC,KAAK;AAAEC,IAAAA,YAAAA;AAAc,GAAA,GAAGL,KAAK,CAAA;EACtE,IAAIC,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACK,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;EACxC,MAAMC,GAAG,GAAGC,UAAU,CACpB;IACE,CAAC,CAAA,UAAA,EAAaP,IAAI,CAAA,CAAE,GAAG,IAAA;GACxB,EACDC,SAAS,CACV,CAAA;AACD,EAAA,MAAMO,KAAK,GAAG;IAAE,WAAW,EAAEN,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;GAAO,CAAA;AAExD,EAAA;AAAA;AACE;IACAM,GAAA,CAAA,GAAA,EAAA;AAAGC,MAAAA,GAAG,EAAEN,YAAa;MAAA,GAAKO,IAAI,CAACZ,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAAEE,MAAAA,SAAS,EAAEK,GAAI;AAACE,MAAAA,KAAK,EAAEA,KAAAA;KAAM,CAAA;AAAG,IAAA;AAElH,CAAC,CAAA;AACD,YAAeI,yBAAyB,CAACd,IAAI,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { omit } from '../../utils'\n\n\ninterface IProps {\n type: string\n color: string\n size?: number | string\n className?: string\n}\n\nconst Icon = (props: IProps) => {\n let { type, className = '', size = '23', color } = props\n if (type) type = type.replace(/_/g, '-')\n const cls = classNames(\n {\n [`weui-icon-${type}`]: true\n },\n className\n )\n const style = { 'font-size': size + 'px', color: color }\n\n return (\n <i {...omit(props, ['type', 'className'])} className={cls} style={style} />\n )\n}\nexport default Icon\n"],"names":["Icon","props","type","_props$className","className","_props$size","size","color","replace","cls","classNames","_defineProperty","concat","style","React","omit"],"mappings":";;;;;;AAeA,IAAMA,IAAI,GAAG,SAAPA,IAAIA,CAAIC,KAAa,EAAI;AAC7B,EAAA,IAAMC,IAAI,GAAyCD,KAAK,CAAlDC,IAAI;IAAAC,gBAAA,GAAyCF,KAAK,CAA5CG,SAAS;AAATA,IAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,WAAA,GAAyBJ,KAAK,CAA5BK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;IAAEE,KAAK,GAAKN,KAAK,CAAfM,KAAK,CAAA;EAC9C,IAAIL,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACM,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACxC,EAAA,IAAMC,GAAG,GAAGC,UAAU,CAAAC,eAAA,CAAA,EAAA,EAAA,YAAA,CAAAC,MAAA,CAEJV,IAAI,CAAA,EAAK,IAAI,CAAA,EAE7BE,SAAS,CACV,CAAA;AACD,EAAA,IAAMS,KAAK,GAAG;IAAE,WAAW,EAAEP,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;GAAO,CAAA;EAExD,OACEO,2CAAOC,IAAI,CAACd,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE;AAAAG,IAAAA,SAAS,EAAEK,GAAG;AAAEI,IAAAA,KAAK,EAAEA,KAAAA;AAAS,GAAA,CAAA,CAAA,CAAA;AAE/E;;;;"}
@@ -1,86 +1,111 @@
1
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
+ import _createClass from '@babel/runtime/helpers/createClass';
3
+ import _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';
4
+ import _inherits from '@babel/runtime/helpers/inherits';
5
+ import _createSuper from '@babel/runtime/helpers/createSuper';
1
6
  import { __rest } from 'tslib';
2
7
  import './style/index.css.js';
3
8
  import classNames from 'classnames';
4
- import { createForwardRefComponent } from '../../utils/index.js';
5
- import { useRef, useState, useCallback, useEffect } from '../../utils/hooks.react.js';
6
- import { jsx } from 'react/jsx-runtime';
9
+ import React from 'react';
7
10
 
8
- function Image(props) {
9
- const imgRef = useRef(null);
10
- const observer = useRef({});
11
- const [, setIsLoaded] = useState(false);
12
- const {
13
- className,
14
- style = {},
15
- src,
16
- mode,
17
- onError,
18
- lazyLoad,
19
- imgProps,
20
- forwardedRef
21
- } = props,
22
- reset = __rest(props, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps", "forwardedRef"]);
23
- const cls = classNames('taro-img', {
24
- 'taro-img__widthfix': mode === 'widthFix'
25
- }, className);
26
- const imgCls = classNames('taro-img__mode-' + (mode || 'scaleToFill').toLowerCase().replace(/\s/g, ''));
27
- const imageOnLoad = useCallback(e => {
28
- const {
29
- onLoad
30
- } = props;
31
- Object.defineProperty(e, 'detail', {
32
- enumerable: true,
33
- writable: true,
34
- value: {
35
- width: e.target.width,
36
- height: e.target.height
11
+ var Image = /*#__PURE__*/function (_React$Component) {
12
+ _inherits(Image, _React$Component);
13
+ var _super = _createSuper(Image);
14
+ function Image(props) {
15
+ var _this;
16
+ _classCallCheck(this, Image);
17
+ _this = _super.call(this, props);
18
+ _this.observer = {};
19
+ _this.imgRef = null;
20
+ _this.state = {
21
+ isLoaded: false
22
+ };
23
+ _this.imageOnLoad = _this.imageOnLoad.bind(_assertThisInitialized(_this));
24
+ // this.observer = {}
25
+ return _this;
26
+ }
27
+ _createClass(Image, [{
28
+ key: "componentDidMount",
29
+ value: function componentDidMount() {
30
+ var _this2 = this;
31
+ if (this.props.lazyLoad) {
32
+ this.observer = new IntersectionObserver(function (entries) {
33
+ // 异步 api 关系
34
+ if (entries[entries.length - 1].isIntersecting) {
35
+ _this2.setState({
36
+ isLoaded: true
37
+ }, function () {
38
+ // findDOMNode(this).children[0].src = this.props.src
39
+ _this2.imgRef.src = _this2.props.src;
40
+ });
41
+ }
42
+ }, {
43
+ rootMargin: '300px 0px'
44
+ });
45
+ this.observer.observe(this.imgRef);
37
46
  }
38
- });
39
- onLoad && onLoad(e);
40
- }, [props]);
41
- useEffect(() => {
42
- var _a, _b;
43
- if (lazyLoad) {
44
- observer.current = new IntersectionObserver(entries => {
45
- // 异步 api 关系
46
- if (entries[entries.length - 1].isIntersecting) {
47
- setIsLoaded(true);
48
- // findDOMNode(this).children[0].src = src
49
- imgRef.current.src = src;
47
+ }
48
+ }, {
49
+ key: "componentWillUnmount",
50
+ value: function componentWillUnmount() {
51
+ this.observer.disconnect && this.observer.disconnect();
52
+ }
53
+ }, {
54
+ key: "imageOnLoad",
55
+ value: function imageOnLoad(e) {
56
+ var onLoad = this.props.onLoad;
57
+ Object.defineProperty(e, 'detail', {
58
+ enumerable: true,
59
+ writable: true,
60
+ value: {
61
+ width: e.target.width,
62
+ height: e.target.height
50
63
  }
51
- }, {
52
- rootMargin: '300px 0px'
53
64
  });
54
- (_b = (_a = observer.current).observe) === null || _b === void 0 ? void 0 : _b.call(_a, imgRef.current);
65
+ onLoad && onLoad(e);
55
66
  }
56
- return () => {
57
- var _a, _b;
58
- (_b = (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
59
- };
60
- }, [lazyLoad, src]);
61
- return /*#__PURE__*/jsx("div", {
62
- className: cls,
63
- style: style,
64
- ref: forwardedRef,
65
- ...reset,
66
- children: lazyLoad ? /*#__PURE__*/jsx("img", {
67
- ref: img => imgRef.current = img,
68
- className: imgCls,
69
- "data-src": src,
70
- onLoad: imageOnLoad,
71
- onError: onError,
72
- ...imgProps
73
- }) : /*#__PURE__*/jsx("img", {
74
- ref: img => imgRef.current = img,
75
- className: imgCls,
76
- src: src,
77
- onLoad: imageOnLoad,
78
- onError: onError,
79
- ...imgProps
80
- })
81
- });
82
- }
83
- var index = createForwardRefComponent(Image);
67
+ }, {
68
+ key: "render",
69
+ value: function render() {
70
+ var _this3 = this;
71
+ var _a = this.props,
72
+ className = _a.className,
73
+ _a$style = _a.style,
74
+ style = _a$style === void 0 ? {} : _a$style,
75
+ src = _a.src,
76
+ mode = _a.mode,
77
+ onError = _a.onError,
78
+ lazyLoad = _a.lazyLoad,
79
+ imgProps = _a.imgProps,
80
+ reset = __rest(_a, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps"]);
81
+ var cls = classNames('taro-img', {
82
+ 'taro-img__widthfix': mode === 'widthFix'
83
+ }, className);
84
+ var imgCls = classNames('taro-img__mode-' + (mode || 'scaleToFill').toLowerCase().replace(/\s/g, ''));
85
+ return React.createElement("div", Object.assign({
86
+ className: cls,
87
+ style: style
88
+ }, reset), lazyLoad ? React.createElement("img", Object.assign({
89
+ ref: function ref(img) {
90
+ return _this3.imgRef = img;
91
+ },
92
+ className: imgCls,
93
+ "data-src": src,
94
+ onLoad: this.imageOnLoad,
95
+ onError: onError
96
+ }, imgProps)) : React.createElement("img", Object.assign({
97
+ ref: function ref(img) {
98
+ return _this3.imgRef = img;
99
+ },
100
+ className: imgCls,
101
+ src: src,
102
+ onLoad: this.imageOnLoad,
103
+ onError: onError
104
+ }, imgProps)));
105
+ }
106
+ }]);
107
+ return Image;
108
+ }(React.Component);
84
109
 
85
- export { index as default };
110
+ export { Image as default };
86
111
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { createForwardRefComponent } from '../../utils'\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n forwardedRef?: React.MutableRefObject<HTMLDivElement>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n forwardedRef,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} ref={forwardedRef} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default createForwardRefComponent(Image)\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","forwardedRef","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_jsx","ref","children","img","createForwardRefComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nclass Image extends React.Component<IProps> {\n constructor (props) {\n super(props)\n this.state = {\n isLoaded: false\n }\n this.imageOnLoad = this.imageOnLoad.bind(this)\n // this.observer = {}\n }\n\n observer: any = {}\n imgRef: any = null\n\n componentDidMount () {\n if (this.props.lazyLoad) {\n this.observer = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n this.setState({ isLoaded: true }, () => {\n // findDOMNode(this).children[0].src = this.props.src\n this.imgRef.src = this.props.src\n })\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n this.observer.observe(this.imgRef)\n }\n }\n\n componentWillUnmount () {\n this.observer.disconnect && this.observer.disconnect()\n }\n\n imageOnLoad (e) {\n const { onLoad } = this.props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }\n\n render () {\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = this.props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n data-src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (this.imgRef = img)}\n className={imgCls}\n src={src}\n onLoad={this.imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n }\n}\n\nexport default Image\n"],"names":["Image","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","observer","imgRef","state","isLoaded","imageOnLoad","bind","_assertThisInitialized","_createClass","key","value","componentDidMount","_this2","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","componentWillUnmount","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","width","target","height","render","_this3","_a","className","_a$style","style","mode","onError","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","React","createElement","assign","ref","img","Component"],"mappings":"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"}