@tarojs/components-react 4.0.0-beta.9 → 4.0.0-beta.90

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 (69) hide show
  1. package/dist/components/button/index.js +66 -66
  2. package/dist/components/button/index.js.map +1 -1
  3. package/dist/components/icon/index.js +10 -5
  4. package/dist/components/icon/index.js.map +1 -1
  5. package/dist/components/image/index.js +59 -66
  6. package/dist/components/image/index.js.map +1 -1
  7. package/dist/components/input/index.js +7 -6
  8. package/dist/components/input/index.js.map +1 -1
  9. package/dist/components/pull-down-refresh/index.js +21 -15
  10. package/dist/components/pull-down-refresh/index.js.map +1 -1
  11. package/dist/components/scroll-view/index.js +98 -102
  12. package/dist/components/scroll-view/index.js.map +1 -1
  13. package/dist/components/swiper/index.js +31 -25
  14. package/dist/components/swiper/index.js.map +1 -1
  15. package/dist/components/text/index.js +16 -16
  16. package/dist/components/text/index.js.map +1 -1
  17. package/dist/components/view/index.js +69 -76
  18. package/dist/components/view/index.js.map +1 -1
  19. package/dist/index.css +1 -1
  20. package/dist/shared/dist/shared.esm.js +1210 -0
  21. package/dist/shared/dist/shared.esm.js.map +1 -0
  22. package/dist/solid/components/button/index.js +92 -0
  23. package/dist/solid/components/button/index.js.map +1 -0
  24. package/dist/solid/components/button/style/index.scss.js +4 -0
  25. package/dist/solid/components/button/style/index.scss.js.map +1 -0
  26. package/dist/solid/components/icon/index.js +35 -0
  27. package/dist/solid/components/icon/index.js.map +1 -0
  28. package/dist/solid/components/icon/style/index.scss.js +4 -0
  29. package/dist/solid/components/icon/style/index.scss.js.map +1 -0
  30. package/dist/solid/components/image/index.js +90 -0
  31. package/dist/solid/components/image/index.js.map +1 -0
  32. package/dist/solid/components/image/style/index.css.js +4 -0
  33. package/dist/solid/components/image/style/index.css.js.map +1 -0
  34. package/dist/solid/components/input/index.js +252 -0
  35. package/dist/solid/components/input/index.js.map +1 -0
  36. package/dist/solid/components/input/style/index.scss.js +4 -0
  37. package/dist/solid/components/input/style/index.scss.js.map +1 -0
  38. package/dist/solid/components/pull-down-refresh/index.js +328 -0
  39. package/dist/solid/components/pull-down-refresh/index.js.map +1 -0
  40. package/dist/solid/components/pull-down-refresh/style/index.css.js +4 -0
  41. package/dist/solid/components/pull-down-refresh/style/index.css.js.map +1 -0
  42. package/dist/solid/components/scroll-view/index.js +186 -0
  43. package/dist/solid/components/scroll-view/index.js.map +1 -0
  44. package/dist/solid/components/scroll-view/style/index.css.js +4 -0
  45. package/dist/solid/components/scroll-view/style/index.css.js.map +1 -0
  46. package/dist/solid/components/swiper/index.js +295 -0
  47. package/dist/solid/components/swiper/index.js.map +1 -0
  48. package/dist/solid/components/swiper/style/index.css.js +4 -0
  49. package/dist/solid/components/swiper/style/index.css.js.map +1 -0
  50. package/dist/solid/components/text/index.js +28 -0
  51. package/dist/solid/components/text/index.js.map +1 -0
  52. package/dist/solid/components/text/style/index.css.js +4 -0
  53. package/dist/solid/components/text/style/index.css.js.map +1 -0
  54. package/dist/solid/components/view/index.js +84 -0
  55. package/dist/solid/components/view/index.js.map +1 -0
  56. package/dist/solid/components/view/style/index.css.js +4 -0
  57. package/dist/solid/components/view/style/index.css.js.map +1 -0
  58. package/dist/solid/index.css +1 -0
  59. package/dist/solid/index.js +13 -0
  60. package/dist/solid/index.js.map +1 -0
  61. package/dist/solid/shared/dist/shared.esm.js +1210 -0
  62. package/dist/solid/shared/dist/shared.esm.js.map +1 -0
  63. package/dist/solid/utils/hooks.js +55 -0
  64. package/dist/solid/utils/hooks.js.map +1 -0
  65. package/dist/solid/utils/index.js +49 -0
  66. package/dist/solid/utils/index.js.map +1 -0
  67. package/dist/utils/hooks.js +55 -0
  68. package/dist/utils/hooks.js.map +1 -0
  69. package/package.json +13 -3
@@ -1,83 +1,83 @@
1
+ import { __rest } from 'tslib';
1
2
  import './style/index.scss.js';
2
3
  import classNames from 'classnames';
3
- import React from 'react';
4
4
  import { omit } from '../../utils/index.js';
5
+ import { useRef, useState, useEffect } from '../../utils/hooks.js';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
7
 
6
- class Button extends React.Component {
7
- constructor(props) {
8
- super(props);
9
- this.state = {
10
- hover: false,
11
- touch: false
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);
12
19
  };
13
- }
14
- componentWillUnmount() {
15
- this.startTimer && clearTimeout(this.startTimer);
16
- this.endTimer && clearTimeout(this.endTimer);
17
- }
18
- render() {
19
- const {
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);
33
+ }
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
+ }));
46
+ }
47
+ }, props.hoverStayTime || 70);
48
+ }
49
+ props.onTouchEnd && props.onTouchEnd(e);
50
+ };
51
+ const {
20
52
  plain = false,
21
53
  children,
22
54
  disabled = false,
23
55
  className,
24
56
  style,
25
57
  onClick,
26
- onTouchStart,
27
- onTouchEnd,
28
58
  hoverClass = 'button-hover',
29
- hoverStartTime = 20,
30
- hoverStayTime = 70,
31
59
  loading = false,
32
60
  type
33
- } = this.props;
34
- const cls = classNames(className, 'taro-button-core', {
35
- [`${hoverClass}`]: this.state.hover && !disabled
36
- });
37
- const _onTouchStart = e => {
38
- this.setState(() => ({
39
- touch: true
40
- }));
41
- if (hoverClass && hoverClass !== 'none' && !disabled) {
42
- this.startTimer = setTimeout(() => {
43
- if (this.state.touch) {
44
- this.setState(() => ({
45
- hover: true
46
- }));
47
- }
48
- }, hoverStartTime);
49
- }
50
- onTouchStart && onTouchStart(e);
51
- };
52
- const _onTouchEnd = e => {
53
- this.setState(() => ({
54
- touch: false
55
- }));
56
- if (hoverClass && hoverClass !== 'none' && !disabled) {
57
- this.endTimer = setTimeout(() => {
58
- if (!this.state.touch) {
59
- this.setState(() => ({
60
- hover: false
61
- }));
62
- }
63
- }, hoverStayTime);
64
- }
65
- onTouchEnd && onTouchEnd(e);
66
- };
67
- return React.createElement("button", Object.assign({}, omit(this.props, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading']), {
68
- type: type,
69
- className: cls,
70
- style: style,
71
- onClick: onClick,
72
- disabled: disabled,
73
- onTouchStart: _onTouchStart,
74
- onTouchEnd: _onTouchEnd,
75
- loading: loading.toString(),
76
- plain: plain.toString()
77
- }), !!loading && React.createElement("i", {
78
- className: 'weui-loading'
79
- }), children);
80
- }
61
+ } = props,
62
+ restProps = __rest(props, ["plain", "children", "disabled", "className", "style", "onClick", "hoverClass", "loading", "type"]);
63
+ const cls = classNames(className, 'taro-button-core', {
64
+ [`${hoverClass}`]: state.hover && !disabled
65
+ });
66
+ return /*#__PURE__*/jsxs("button", {
67
+ ...omit(restProps, ['hoverClass', 'onTouchStart', 'onTouchEnd', 'type', 'loading']),
68
+ type: type,
69
+ className: cls,
70
+ style: style,
71
+ onClick: onClick,
72
+ disabled: disabled,
73
+ onTouchStart: _onTouchStart,
74
+ onTouchEnd: _onTouchEnd,
75
+ loading: loading.toString(),
76
+ plain: plain.toString(),
77
+ children: [!!loading && /*#__PURE__*/jsx("i", {
78
+ className: "weui-loading"
79
+ }), children]
80
+ });
81
81
  }
82
82
 
83
83
  export { Button as default };
@@ -1 +1 @@
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","constructor","props","state","hover","touch","componentWillUnmount","startTimer","clearTimeout","endTimer","render","plain","children","disabled","className","style","onClick","onTouchStart","onTouchEnd","hoverClass","hoverStartTime","hoverStayTime","loading","type","cls","classNames","_onTouchStart","e","setState","setTimeout","_onTouchEnd","createElement","Object","assign","omit","toString"],"mappings":";;;;;AAwBA,MAAMA,MAAO,SAAQC,KAAK,CAACC,SAAyB,CAAA;EAClDC,WAAAA,CAAaC,KAAK,EAAA;IAChB,KAAK,CAACA,KAAK,CAAC,CAAA;IACZ,IAAI,CAACC,KAAK,GAAG;AACXC,MAAAA,KAAK,EAAE,KAAK;AACZC,MAAAA,KAAK,EAAE,KAAA;KACR,CAAA;AACH,GAAA;AAKAC,EAAAA,oBAAoBA,GAAA;IAClB,IAAI,CAACC,UAAU,IAAIC,YAAY,CAAC,IAAI,CAACD,UAAU,CAAC,CAAA;IAChD,IAAI,CAACE,QAAQ,IAAID,YAAY,CAAC,IAAI,CAACC,QAAQ,CAAC,CAAA;AAC9C,GAAA;AAEAC,EAAAA,MAAMA,GAAA;IACJ,MAAM;AACJC,MAAAA,KAAK,GAAG,KAAK;MACbC,QAAQ;AACRC,MAAAA,QAAQ,GAAG,KAAK;MAChBC,SAAS;MACTC,KAAK;MACLC,OAAO;MACPC,YAAY;MACZC,UAAU;AACVC,MAAAA,UAAU,GAAG,cAAc;AAC3BC,MAAAA,cAAc,GAAG,EAAE;AACnBC,MAAAA,aAAa,GAAG,EAAE;AAClBC,MAAAA,OAAO,GAAG,KAAK;AACfC,MAAAA,IAAAA;KACD,GAAG,IAAI,CAACrB,KAAK,CAAA;AACd,IAAA,MAAMsB,GAAG,GAAGC,UAAU,CACpBX,SAAS,EACT,kBAAkB,EAClB;MACE,CAAI,CAAA,EAAAK,UAAY,CAAA,CAAA,GAAG,IAAI,CAAChB,KAAK,CAACC,KAAK,IAAI,CAACS,QAAAA;AACzC,KAAA,CACF,CAAA;IAED,MAAMa,aAAa,GAAGC,CAAC,IAAG;MACxB,IAAI,CAACC,QAAQ,CAAC,OAAO;AACnBvB,QAAAA,KAAK,EAAE,IAAA;AACR,OAAA,CAAC,CAAC,CAAA;MACH,IAAIc,UAAU,IAAIA,UAAU,KAAK,MAAM,IAAI,CAACN,QAAQ,EAAE;AACpD,QAAA,IAAI,CAACN,UAAU,GAAGsB,UAAU,CAAC,MAAK;AAChC,UAAA,IAAI,IAAI,CAAC1B,KAAK,CAACE,KAAK,EAAE;YACpB,IAAI,CAACuB,QAAQ,CAAC,OAAO;AACnBxB,cAAAA,KAAK,EAAE,IAAA;AACR,aAAA,CAAC,CAAC,CAAA;AACJ,WAAA;SACF,EAAEgB,cAAc,CAAC,CAAA;AACnB,OAAA;AACDH,MAAAA,YAAY,IAAIA,YAAY,CAACU,CAAC,CAAC,CAAA;KAChC,CAAA;IACD,MAAMG,WAAW,GAAGH,CAAC,IAAG;MACtB,IAAI,CAACC,QAAQ,CAAC,OAAO;AACnBvB,QAAAA,KAAK,EAAE,KAAA;AACR,OAAA,CAAC,CAAC,CAAA;MACH,IAAIc,UAAU,IAAIA,UAAU,KAAK,MAAM,IAAI,CAACN,QAAQ,EAAE;AACpD,QAAA,IAAI,CAACJ,QAAQ,GAAGoB,UAAU,CAAC,MAAK;AAC9B,UAAA,IAAI,CAAC,IAAI,CAAC1B,KAAK,CAACE,KAAK,EAAE;YACrB,IAAI,CAACuB,QAAQ,CAAC,OAAO;AACnBxB,cAAAA,KAAK,EAAE,KAAA;AACR,aAAA,CAAC,CAAC,CAAA;AACJ,WAAA;SACF,EAAEiB,aAAa,CAAC,CAAA;AAClB,OAAA;AACDH,MAAAA,UAAU,IAAIA,UAAU,CAACS,CAAC,CAAC,CAAA;KAC5B,CAAA;AAED,IAAA,OACE5B,KAAA,CAAAgC,aAAA,CAAA,QAAA,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACMC,IAAI,CAAC,IAAI,CAAChC,KAAK,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EACrF;AAAAqB,MAAAA,IAAI,EAAEA,IAAI;AACVT,MAAAA,SAAS,EAAEU,GAAG;AACdT,MAAAA,KAAK,EAAEA,KAAK;AACZC,MAAAA,OAAO,EAAEA,OAAO;AAChBH,MAAAA,QAAQ,EAAEA,QAAQ;AAClBI,MAAAA,YAAY,EAAES,aAAa;AAC3BR,MAAAA,UAAU,EAAEY,WAAW;AACvBR,MAAAA,OAAO,EAAEA,OAAO,CAACa,QAAQ,EAAE;AAC3BxB,MAAAA,KAAK,EAAEA,KAAK,CAACwB,QAAQ,EAAE;KAAA,CAAA,EAEtB,CAAC,CAACb,OAAO,IAAIvB;AAAGe,MAAAA,SAAS,EAAC,cAAA;KAAiB,CAAA,EAC3CF,QAAQ,CACF,CAAA;AAEb,GAAA;AACD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { 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}\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 { 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'])}\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\nexport default 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","plain","children","className","style","onClick","loading","type","restProps","__rest","cls","classNames","_jsxs","omit","toString","_jsx"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import './style/index.scss.js';
2
2
  import classNames from 'classnames';
3
- import React from 'react';
4
3
  import { omit } from '../../utils/index.js';
4
+ import { jsx } from 'react/jsx-runtime';
5
5
 
6
6
  const Icon = props => {
7
7
  let {
@@ -18,10 +18,15 @@ const Icon = props => {
18
18
  'font-size': size + 'px',
19
19
  color: color
20
20
  };
21
- return React.createElement("i", Object.assign({}, omit(props, ['type', 'className']), {
22
- className: cls,
23
- style: style
24
- }));
21
+ return (
22
+ /*#__PURE__*/
23
+ // eslint-disable-next-line react/react-in-jsx-scope
24
+ jsx("i", {
25
+ ...omit(props, ['type', 'className']),
26
+ className: cls,
27
+ style: style
28
+ })
29
+ );
25
30
  };
26
31
 
27
32
  export { Icon as default };
@@ -1 +1 @@
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","className","size","color","replace","cls","classNames","style","React","omit"],"mappings":";;;;;AAeMA,MAAAA,IAAI,GAAIC,KAAa,IAAI;EAC7B,IAAI;IAAEC,IAAI;AAAEC,IAAAA,SAAS,GAAG,EAAE;AAAEC,IAAAA,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAAA;AAAO,GAAA,GAAGJ,KAAK,CAAA;EACxD,IAAIC,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACI,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;EACxC,MAAMC,GAAG,GAAGC,UAAU,CACpB;IACE,CAAc,CAAA,UAAA,EAAAN,IAAM,CAAA,CAAA,GAAG,IAAA;GACxB,EACDC,SAAS,CACV,CAAA;AACD,EAAA,MAAMM,KAAK,GAAG;IAAE,WAAW,EAAEL,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;GAAO,CAAA;EAExD,OACEK,2CAAOC,IAAI,CAACV,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE;AAAAE,IAAAA,SAAS,EAAEI,GAAG;AAAEE,IAAAA,KAAK,EAAEA,KAAAA;AAAS,GAAA,CAAA,CAAA,CAAA;AAE/E;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\n\nimport { omit } from '../../utils'\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 // eslint-disable-next-line react/react-in-jsx-scope\n <i {...omit(props, ['type', 'className'])} className={cls} style={style} />\n )\n}\nexport default Icon\n"],"names":["Icon","props","type","className","size","color","replace","cls","classNames","style","_jsx","omit"],"mappings":";;;;;AAaMA,MAAAA,IAAI,GAAIC,KAAa,IAAI;EAC7B,IAAI;IAAEC,IAAI;AAAEC,IAAAA,SAAS,GAAG,EAAE;AAAEC,IAAAA,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAAA;AAAO,GAAA,GAAGJ,KAAK,CAAA;EACxD,IAAIC,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACI,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;EACxC,MAAMC,GAAG,GAAGC,UAAU,CACpB;IACE,CAAc,CAAA,UAAA,EAAAN,IAAM,CAAA,CAAA,GAAG,IAAA;GACxB,EACDC,SAAS,CACV,CAAA;AACD,EAAA,MAAMM,KAAK,GAAG;IAAE,WAAW,EAAEL,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;GAAO,CAAA;AAExD,EAAA;AAAA;AACE;IACAK,GAAA,CAAA,GAAA,EAAA;MAAA,GAAOC,IAAI,CAACV,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAAEE,MAAAA,SAAS,EAAEI,GAAI;AAACE,MAAAA,KAAK,EAAEA,KAAAA;KAAS,CAAA;AAAA,IAAA;AAE/E;;;;"}
@@ -1,45 +1,31 @@
1
1
  import { __rest } from 'tslib';
2
2
  import './style/index.css.js';
3
3
  import classNames from 'classnames';
4
- import React from 'react';
4
+ import { useRef, useState, useCallback, useEffect } from '../../utils/hooks.js';
5
+ import { jsx } from 'react/jsx-runtime';
5
6
 
6
- class Image extends React.Component {
7
- constructor(props) {
8
- super(props);
9
- this.observer = {};
10
- this.imgRef = null;
11
- this.state = {
12
- isLoaded: false
13
- };
14
- this.imageOnLoad = this.imageOnLoad.bind(this);
15
- // this.observer = {}
16
- }
17
-
18
- componentDidMount() {
19
- if (this.props.lazyLoad) {
20
- this.observer = new IntersectionObserver(entries => {
21
- // 异步 api 关系
22
- if (entries[entries.length - 1].isIntersecting) {
23
- this.setState({
24
- isLoaded: true
25
- }, () => {
26
- // findDOMNode(this).children[0].src = this.props.src
27
- this.imgRef.src = this.props.src;
28
- });
29
- }
30
- }, {
31
- rootMargin: '300px 0px'
32
- });
33
- this.observer.observe(this.imgRef);
34
- }
35
- }
36
- componentWillUnmount() {
37
- this.observer.disconnect && this.observer.disconnect();
38
- }
39
- imageOnLoad(e) {
7
+ function Image(props) {
8
+ const imgRef = useRef(null);
9
+ const observer = useRef({});
10
+ const [, setIsLoaded] = useState(false);
11
+ const {
12
+ className,
13
+ style = {},
14
+ src,
15
+ mode,
16
+ onError,
17
+ lazyLoad,
18
+ imgProps
19
+ } = props,
20
+ reset = __rest(props, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps"]);
21
+ const cls = classNames('taro-img', {
22
+ 'taro-img__widthfix': mode === 'widthFix'
23
+ }, className);
24
+ const imgCls = classNames('taro-img__mode-' + (mode || 'scaleToFill').toLowerCase().replace(/\s/g, ''));
25
+ const imageOnLoad = useCallback(e => {
40
26
  const {
41
27
  onLoad
42
- } = this.props;
28
+ } = props;
43
29
  Object.defineProperty(e, 'detail', {
44
30
  enumerable: true,
45
31
  writable: true,
@@ -49,40 +35,47 @@ class Image extends React.Component {
49
35
  }
50
36
  });
51
37
  onLoad && onLoad(e);
52
- }
53
- render() {
54
- const _a = this.props,
55
- {
56
- className,
57
- style = {},
58
- src,
59
- mode,
60
- onError,
61
- lazyLoad,
62
- imgProps
63
- } = _a,
64
- reset = __rest(_a, ["className", "style", "src", "mode", "onError", "lazyLoad", "imgProps"]);
65
- const cls = classNames('taro-img', {
66
- 'taro-img__widthfix': mode === 'widthFix'
67
- }, className);
68
- const imgCls = classNames('taro-img__mode-' + (mode || 'scaleToFill').toLowerCase().replace(/\s/g, ''));
69
- return React.createElement("div", Object.assign({
70
- className: cls,
71
- style: style
72
- }, reset), lazyLoad ? React.createElement("img", Object.assign({
73
- ref: img => this.imgRef = img,
38
+ }, [props]);
39
+ useEffect(() => {
40
+ var _a, _b;
41
+ if (lazyLoad) {
42
+ observer.current = new IntersectionObserver(entries => {
43
+ // 异步 api 关系
44
+ if (entries[entries.length - 1].isIntersecting) {
45
+ setIsLoaded(true);
46
+ // findDOMNode(this).children[0].src = src
47
+ imgRef.current.src = src;
48
+ }
49
+ }, {
50
+ rootMargin: '300px 0px'
51
+ });
52
+ (_b = (_a = observer.current).observe) === null || _b === void 0 ? void 0 : _b.call(_a, imgRef.current);
53
+ }
54
+ return () => {
55
+ var _a, _b;
56
+ (_b = (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
57
+ };
58
+ }, [lazyLoad, src]);
59
+ return /*#__PURE__*/jsx("div", {
60
+ className: cls,
61
+ style: style,
62
+ ...reset,
63
+ children: lazyLoad ? /*#__PURE__*/jsx("img", {
64
+ ref: img => imgRef.current = img,
74
65
  className: imgCls,
75
66
  "data-src": src,
76
- onLoad: this.imageOnLoad,
77
- onError: onError
78
- }, imgProps)) : React.createElement("img", Object.assign({
79
- ref: img => this.imgRef = img,
67
+ onLoad: imageOnLoad,
68
+ onError: onError,
69
+ ...imgProps
70
+ }) : /*#__PURE__*/jsx("img", {
71
+ ref: img => imgRef.current = img,
80
72
  className: imgCls,
81
73
  src: src,
82
- onLoad: this.imageOnLoad,
83
- onError: onError
84
- }, imgProps)));
85
- }
74
+ onLoad: imageOnLoad,
75
+ onError: onError,
76
+ ...imgProps
77
+ })
78
+ });
86
79
  }
87
80
 
88
81
  export { Image as default };
@@ -1 +1 @@
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","constructor","props","observer","imgRef","state","isLoaded","imageOnLoad","bind","componentDidMount","lazyLoad","IntersectionObserver","entries","length","isIntersecting","setState","src","rootMargin","observe","componentWillUnmount","disconnect","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","render","_a","className","style","mode","onError","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","createElement","assign","ref","img"],"mappings":";;;;;AAcA,MAAMA,KAAM,SAAQC,KAAK,CAACC,SAAiB,CAAA;EACzCC,WAAAA,CAAaC,KAAK,EAAA;IAChB,KAAK,CAACA,KAAK,CAAC,CAAA;AAQd,IAAA,IAAQ,CAAAC,QAAA,GAAQ,EAAE,CAAA;IAClB,IAAM,CAAAC,MAAA,GAAQ,IAAI,CAAA;IARhB,IAAI,CAACC,KAAK,GAAG;AACXC,MAAAA,QAAQ,EAAE,KAAA;KACX,CAAA;IACD,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9C;AACF,GAAA;;AAKAC,EAAAA,iBAAiBA,GAAA;AACf,IAAA,IAAI,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAE;AACvB,MAAA,IAAI,CAACP,QAAQ,GAAG,IAAIQ,oBAAoB,CACtCC,OAAO,IAAG;AACR;QACA,IAAIA,OAAO,CAACA,OAAO,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,cAAc,EAAE;UAC9C,IAAI,CAACC,QAAQ,CAAC;AAAET,YAAAA,QAAQ,EAAE,IAAA;AAAI,WAAE,EAAE,MAAK;AACrC;YACA,IAAI,CAACF,MAAM,CAACY,GAAG,GAAG,IAAI,CAACd,KAAK,CAACc,GAAG,CAAA;AAClC,WAAC,CAAC,CAAA;AACH,SAAA;AACH,OAAC,EACD;AACEC,QAAAA,UAAU,EAAE,WAAA;AACb,OAAA,CACF,CAAA;MACD,IAAI,CAACd,QAAQ,CAACe,OAAO,CAAC,IAAI,CAACd,MAAM,CAAC,CAAA;AACnC,KAAA;AACH,GAAA;AAEAe,EAAAA,oBAAoBA,GAAA;IAClB,IAAI,CAAChB,QAAQ,CAACiB,UAAU,IAAI,IAAI,CAACjB,QAAQ,CAACiB,UAAU,EAAE,CAAA;AACxD,GAAA;EAEAb,WAAWA,CAAEc,CAAC,EAAA;IACZ,MAAM;AAAEC,MAAAA,MAAAA;KAAQ,GAAG,IAAI,CAACpB,KAAK,CAAA;AAC7BqB,IAAAA,MAAM,CAACC,cAAc,CAACH,CAAC,EAAE,QAAQ,EAAE;AACjCI,MAAAA,UAAU,EAAE,IAAI;AAChBC,MAAAA,QAAQ,EAAE,IAAI;AACdC,MAAAA,KAAK,EAAE;AACLC,QAAAA,KAAK,EAAEP,CAAC,CAACQ,MAAM,CAACD,KAAK;AACrBE,QAAAA,MAAM,EAAET,CAAC,CAACQ,MAAM,CAACC,MAAAA;AAClB,OAAA;AACF,KAAA,CAAC,CAAA;AAEFR,IAAAA,MAAM,IAAIA,MAAM,CAACD,CAAC,CAAC,CAAA;AACrB,GAAA;AAEAU,EAAAA,MAAMA,GAAA;AACJ,IAAA,MAAMC,EAAA,GASF,IAAI,CAAC9B,KAAK;AATR,MAAA;QACJ+B,SAAS;QACTC,KAAK,GAAG,EAAE;QACVlB,GAAG;QACHmB,IAAI;QACJC,OAAO;QACP1B,QAAQ;AACR2B,QAAAA,QAAAA;AAEY,OAAA,GAAAL,EAAA;MADTM,KAAK,GAAAC,MAAA,CAAAP,EAAA,EARJ,CASL,WAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,CAAa,CAAA;AACd,IAAA,MAAMQ,GAAG,GAAGC,UAAU,CACpB,UAAU,EACV;MACE,oBAAoB,EAAEN,IAAI,KAAK,UAAA;KAChC,EACDF,SAAS,CACV,CAAA;IACD,MAAMS,MAAM,GAAGD,UAAU,CACvB,iBAAiB,GACf,CAACN,IAAI,IAAI,aAAa,EAAEQ,WAAW,EAAE,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3D,CAAA;IAED,OACE7C;AAAKkC,MAAAA,SAAS,EAAEO,GAAG;AAAEN,MAAAA,KAAK,EAAEA,KAAAA;AAAK,KAAA,EAAMI,KAAK,CACzC,EAAA5B,QAAQ,GACPX,KACE,CAAA8C,aAAA,CAAA,KAAA,EAAAtB,MAAA,CAAAuB,MAAA,CAAA;AAAAC,MAAAA,GAAG,EAAEC,GAAG,IAAK,IAAI,CAAC5C,MAAM,GAAG4C,GAAI;AAC/Bf,MAAAA,SAAS,EAAES,MAAM;AACP,MAAA,UAAA,EAAA1B,GAAG;MACbM,MAAM,EAAE,IAAI,CAACf,WAAW;AACxB6B,MAAAA,OAAO,EAAEA,OAAAA;AACL,KAAA,EAAAC,QAAQ,EACZ,GAEFtC;AACEgD,MAAAA,GAAG,EAAEC,GAAG,IAAK,IAAI,CAAC5C,MAAM,GAAG4C,GAAI;AAC/Bf,MAAAA,SAAS,EAAES,MAAM;AACjB1B,MAAAA,GAAG,EAAEA,GAAG;MACRM,MAAM,EAAE,IAAI,CAACf,WAAW;AACxB6B,MAAAA,OAAO,EAAEA,OAAAA;AAAO,KAAA,EACZC,QAAQ,CACZ,CACH,CACG,CAAA;AAEV,GAAA;AACD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\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}\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 ...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} {...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 Image\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","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","children","ref","img"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import './style/index.scss.js';
2
2
  import classNames from 'classnames';
3
- import React from 'react';
3
+ import React__default from 'react';
4
4
  import { omit } from '../../utils/index.js';
5
+ import { jsx } from 'react/jsx-runtime';
5
6
 
6
7
  function getTrueType(type, confirmType, password) {
7
8
  if (confirmType === 'search') type = 'search';
@@ -18,7 +19,7 @@ function getTrueType(type, confirmType, password) {
18
19
  function fixControlledValue(value) {
19
20
  return value !== null && value !== void 0 ? value : '';
20
21
  }
21
- class Input extends React.Component {
22
+ class Input extends React__default.Component {
22
23
  constructor(props) {
23
24
  super(props);
24
25
  this.handleBeforeInput = e => {
@@ -201,11 +202,11 @@ class Input extends React.Component {
201
202
  if ('value' in this.props) {
202
203
  otherProps.value = fixControlledValue(value);
203
204
  }
204
- return React.createElement("input", Object.assign({
205
+ return /*#__PURE__*/jsx("input", {
205
206
  ref: input => {
206
207
  this.inputRef = input;
207
- }
208
- }, otherProps, {
208
+ },
209
+ ...otherProps,
209
210
  className: cls,
210
211
  type: getTrueType(type, confirmType, password),
211
212
  placeholder: placeholder,
@@ -220,7 +221,7 @@ class Input extends React.Component {
220
221
  onCompositionStart: this.handleComposition,
221
222
  onCompositionEnd: this.handleComposition,
222
223
  onBeforeInput: this.handleBeforeInput
223
- }));
224
+ });
224
225
  }
225
226
  }
226
227
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { omit } from '../../utils'\n\nfunction getTrueType (type: string | undefined, confirmType: string, password: boolean) {\n if (confirmType === 'search') type = 'search'\n if (password) type = 'password'\n if (typeof type === 'undefined') {\n return 'text'\n }\n if (!type) {\n throw new Error('unexpected type')\n }\n if (type === 'digit') type = 'number'\n\n return type\n}\n\nfunction fixControlledValue (value) {\n return value ?? ''\n}\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n password?: boolean\n disabled?: boolean\n maxlength?: number\n placeholder?: string\n value?: string\n focus?: boolean\n confirmType?: string\n name?: string\n type?: string\n onConfirm?: (e) => void\n}\n\nclass Input extends React.Component<IProps, null> {\n constructor (props) {\n super(props)\n this.handleInput = this.handleInput.bind(this)\n this.handlePaste = this.handlePaste.bind(this)\n this.handleFocus = this.handleFocus.bind(this)\n this.handleBlur = this.handleBlur.bind(this)\n this.handleKeyDown = this.handleKeyDown.bind(this)\n this.handleComposition = this.handleComposition.bind(this)\n this.handleBeforeInput = this.handleBeforeInput.bind(this)\n this.isOnComposition = false\n this.onInputExcuted = false\n }\n\n inputRef: HTMLInputElement\n isOnComposition: boolean\n onInputExcuted: boolean\n\n componentDidMount () {\n // 修复无法选择文件\n if (this.props.type === 'file') {\n this.inputRef?.addEventListener('change', this.handleInput)\n } else {\n this.inputRef?.addEventListener('textInput', this.handleBeforeInput)\n }\n\n // 处理初始化是否 focus\n if (this.props.focus && this.inputRef) this.inputRef.focus()\n }\n\n\n componentWillUnmount () {\n // 修复无法选择文件\n if (this.props.type === 'file') {\n this.inputRef.removeEventListener('change', this.handleInput)\n } else {\n this.inputRef?.removeEventListener('textInput', this.handleBeforeInput)\n }\n }\n\n UNSAFE_componentWillReceiveProps (nextProps: Readonly<IProps>) {\n if (!this.props.focus && nextProps.focus && this.inputRef) this.inputRef.focus()\n }\n\n\n handleInput (e) {\n e.stopPropagation()\n const {\n type,\n maxlength = 140,\n confirmType = 'done',\n password = false,\n onInput\n } = this.props\n\n if (!this.isOnComposition && !this.onInputExcuted) {\n let { value } = e.target\n const inputType = getTrueType(type, confirmType, password)\n this.onInputExcuted = true\n /* 修复 number 类型 maxLength 无效 */\n if (inputType === 'number' && value && maxlength <= value.length) {\n value = value.substring(0, maxlength)\n e.target.value = value\n }\n\n Object.defineProperty(e, 'detail', {\n value: { value, cursor: value.length }\n })\n // // 修复 IOS 光标跳转问题\n // if (!(['number', 'file'].indexOf(inputType) >= 0)) {\n // const pos = e.target.selectionEnd\n // setTimeout(\n // () => {\n // e.target.selectionStart = pos\n // e.target.selectionEnd = pos\n // }\n // )\n // }\n\n typeof onInput === 'function' && onInput(e)\n this.onInputExcuted = false\n }\n }\n\n\n handlePaste (e) {\n e.stopPropagation()\n const { onPaste } = this.props\n this.onInputExcuted = false\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n typeof onPaste === 'function' && onPaste(e)\n }\n\n handleFocus (e) {\n e.stopPropagation()\n const { onFocus } = this.props\n this.onInputExcuted = false\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n onFocus && onFocus(e)\n }\n\n handleBlur (e) {\n e.stopPropagation()\n const { onBlur } = this.props\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n onBlur && onBlur(e)\n }\n\n handleKeyDown (e) {\n e.stopPropagation()\n const { onConfirm, onKeyDown } = this.props\n const { value } = e.target\n const keyCode = e.keyCode || e.code\n this.onInputExcuted = false\n\n if (typeof onKeyDown === 'function') {\n Object.defineProperty(e, 'detail', {\n value: {\n value,\n cursor: value.length,\n keyCode\n }\n })\n onKeyDown(e)\n }\n\n if (e.keyCode === 13 && typeof onConfirm === 'function') {\n Object.defineProperty(e, 'detail', {\n value: {\n value\n }\n })\n onConfirm(e)\n }\n }\n\n handleComposition (e) {\n e.stopPropagation()\n if (!(e.target instanceof HTMLInputElement)) return\n\n if (e.type === 'compositionend') {\n this.isOnComposition = false\n this.handleInput(e)\n } else {\n this.isOnComposition = true\n }\n }\n\n handleBeforeInput = (e) => {\n if (!e.data) return\n const isNumber = e.data && /[0-9]/.test(e.data)\n if (this.props.type === 'number' && !isNumber) {\n e.preventDefault()\n }\n if (this.props.type === 'digit' && !isNumber) {\n if (e.data !== '.' || (e.data === '.' && e.target.value.indexOf('.') > -1)) {\n e.preventDefault()\n }\n }\n }\n\n render () {\n const {\n className = '',\n placeholder,\n type,\n password = false,\n disabled = false,\n maxlength = 140,\n confirmType = 'done',\n name,\n value\n } = this.props\n const cls = classNames('taro-input-core', 'weui-input', className)\n\n const otherProps = omit(this.props, [\n 'className',\n 'placeholder',\n 'disabled',\n 'password',\n 'type',\n 'maxlength',\n 'confirmType',\n 'focus',\n 'name'\n ])\n\n if ('value' in this.props) {\n otherProps.value = fixControlledValue(value)\n }\n\n return (\n <input\n ref={(input: HTMLInputElement) => {\n this.inputRef = input\n }}\n {...otherProps}\n className={cls}\n type={getTrueType(type, confirmType, password)}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxlength}\n name={name}\n onInput={this.handleInput}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n onCompositionStart={this.handleComposition}\n onCompositionEnd={this.handleComposition}\n onBeforeInput={this.handleBeforeInput}\n />\n )\n }\n}\n\nexport default Input\n"],"names":["getTrueType","type","confirmType","password","Error","fixControlledValue","value","Input","React","Component","constructor","props","handleBeforeInput","e","data","isNumber","test","preventDefault","target","indexOf","handleInput","bind","handlePaste","handleFocus","handleBlur","handleKeyDown","handleComposition","isOnComposition","onInputExcuted","componentDidMount","_a","inputRef","addEventListener","_b","focus","componentWillUnmount","removeEventListener","UNSAFE_componentWillReceiveProps","nextProps","stopPropagation","maxlength","onInput","inputType","length","substring","Object","defineProperty","cursor","onPaste","onFocus","onBlur","onConfirm","onKeyDown","keyCode","code","HTMLInputElement","render","className","placeholder","disabled","name","cls","classNames","otherProps","omit","createElement","assign","ref","input","maxLength","onCompositionStart","onCompositionEnd","onBeforeInput"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import './style/index.scss'\n\nimport classNames from 'classnames'\nimport React from 'react'\n\nimport { omit } from '../../utils'\n\nfunction getTrueType (type: string | undefined, confirmType: string, password: boolean) {\n if (confirmType === 'search') type = 'search'\n if (password) type = 'password'\n if (typeof type === 'undefined') {\n return 'text'\n }\n if (!type) {\n throw new Error('unexpected type')\n }\n if (type === 'digit') type = 'number'\n\n return type\n}\n\nfunction fixControlledValue (value) {\n return value ?? ''\n}\n\ninterface IProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {\n password?: boolean\n disabled?: boolean\n maxlength?: number\n placeholder?: string\n value?: string\n focus?: boolean\n confirmType?: string\n name?: string\n type?: string\n onConfirm?: (e) => void\n}\n\nclass Input extends React.Component<IProps, null> {\n constructor (props) {\n super(props)\n this.handleInput = this.handleInput.bind(this)\n this.handlePaste = this.handlePaste.bind(this)\n this.handleFocus = this.handleFocus.bind(this)\n this.handleBlur = this.handleBlur.bind(this)\n this.handleKeyDown = this.handleKeyDown.bind(this)\n this.handleComposition = this.handleComposition.bind(this)\n this.handleBeforeInput = this.handleBeforeInput.bind(this)\n this.isOnComposition = false\n this.onInputExcuted = false\n }\n\n inputRef: HTMLInputElement\n isOnComposition: boolean\n onInputExcuted: boolean\n\n componentDidMount () {\n // 修复无法选择文件\n if (this.props.type === 'file') {\n this.inputRef?.addEventListener('change', this.handleInput)\n } else {\n this.inputRef?.addEventListener('textInput', this.handleBeforeInput)\n }\n\n // 处理初始化是否 focus\n if (this.props.focus && this.inputRef) this.inputRef.focus()\n }\n\n componentWillUnmount () {\n // 修复无法选择文件\n if (this.props.type === 'file') {\n this.inputRef.removeEventListener('change', this.handleInput)\n } else {\n this.inputRef?.removeEventListener('textInput', this.handleBeforeInput)\n }\n }\n\n UNSAFE_componentWillReceiveProps (nextProps: Readonly<IProps>) {\n if (!this.props.focus && nextProps.focus && this.inputRef) this.inputRef.focus()\n }\n\n handleInput (e) {\n e.stopPropagation()\n const {\n type,\n maxlength = 140,\n confirmType = 'done',\n password = false,\n onInput\n } = this.props\n\n if (!this.isOnComposition && !this.onInputExcuted) {\n let { value } = e.target\n const inputType = getTrueType(type, confirmType, password)\n this.onInputExcuted = true\n /* 修复 number 类型 maxLength 无效 */\n if (inputType === 'number' && value && maxlength <= value.length) {\n value = value.substring(0, maxlength)\n e.target.value = value\n }\n\n Object.defineProperty(e, 'detail', {\n value: { value, cursor: value.length }\n })\n // // 修复 IOS 光标跳转问题\n // if (!(['number', 'file'].indexOf(inputType) >= 0)) {\n // const pos = e.target.selectionEnd\n // setTimeout(\n // () => {\n // e.target.selectionStart = pos\n // e.target.selectionEnd = pos\n // }\n // )\n // }\n\n typeof onInput === 'function' && onInput(e)\n this.onInputExcuted = false\n }\n }\n\n handlePaste (e) {\n e.stopPropagation()\n const { onPaste } = this.props\n this.onInputExcuted = false\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n typeof onPaste === 'function' && onPaste(e)\n }\n\n handleFocus (e) {\n e.stopPropagation()\n const { onFocus } = this.props\n this.onInputExcuted = false\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n onFocus && onFocus(e)\n }\n\n handleBlur (e) {\n e.stopPropagation()\n const { onBlur } = this.props\n Object.defineProperty(e, 'detail', {\n value: {\n value: e.target.value\n }\n })\n onBlur && onBlur(e)\n }\n\n handleKeyDown (e) {\n e.stopPropagation()\n const { onConfirm, onKeyDown } = this.props\n const { value } = e.target\n const keyCode = e.keyCode || e.code\n this.onInputExcuted = false\n\n if (typeof onKeyDown === 'function') {\n Object.defineProperty(e, 'detail', {\n value: {\n value,\n cursor: value.length,\n keyCode\n }\n })\n onKeyDown(e)\n }\n\n if (e.keyCode === 13 && typeof onConfirm === 'function') {\n Object.defineProperty(e, 'detail', {\n value: {\n value\n }\n })\n onConfirm(e)\n }\n }\n\n handleComposition (e) {\n e.stopPropagation()\n if (!(e.target instanceof HTMLInputElement)) return\n\n if (e.type === 'compositionend') {\n this.isOnComposition = false\n this.handleInput(e)\n } else {\n this.isOnComposition = true\n }\n }\n\n handleBeforeInput = (e) => {\n if (!e.data) return\n const isNumber = e.data && /[0-9]/.test(e.data)\n if (this.props.type === 'number' && !isNumber) {\n e.preventDefault()\n }\n if (this.props.type === 'digit' && !isNumber) {\n if (e.data !== '.' || (e.data === '.' && e.target.value.indexOf('.') > -1)) {\n e.preventDefault()\n }\n }\n }\n\n render () {\n const {\n className = '',\n placeholder,\n type,\n password = false,\n disabled = false,\n maxlength = 140,\n confirmType = 'done',\n name,\n value\n } = this.props\n const cls = classNames('taro-input-core', 'weui-input', className)\n\n const otherProps = omit(this.props, [\n 'className',\n 'placeholder',\n 'disabled',\n 'password',\n 'type',\n 'maxlength',\n 'confirmType',\n 'focus',\n 'name'\n ])\n\n if ('value' in this.props) {\n otherProps.value = fixControlledValue(value)\n }\n\n return (\n <input\n ref={(input: HTMLInputElement) => {\n this.inputRef = input\n }}\n {...otherProps}\n className={cls}\n type={getTrueType(type, confirmType, password)}\n placeholder={placeholder}\n disabled={disabled}\n maxLength={maxlength}\n name={name}\n onInput={this.handleInput}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n onCompositionStart={this.handleComposition}\n onCompositionEnd={this.handleComposition}\n onBeforeInput={this.handleBeforeInput}\n />\n )\n }\n}\n\nexport default Input\n"],"names":["getTrueType","type","confirmType","password","Error","fixControlledValue","value","Input","React","Component","constructor","props","handleBeforeInput","e","data","isNumber","test","preventDefault","target","indexOf","handleInput","bind","handlePaste","handleFocus","handleBlur","handleKeyDown","handleComposition","isOnComposition","onInputExcuted","componentDidMount","_a","inputRef","addEventListener","_b","focus","componentWillUnmount","removeEventListener","UNSAFE_componentWillReceiveProps","nextProps","stopPropagation","maxlength","onInput","inputType","length","substring","Object","defineProperty","cursor","onPaste","onFocus","onBlur","onConfirm","onKeyDown","keyCode","code","HTMLInputElement","render","className","placeholder","disabled","name","cls","classNames","otherProps","omit","_jsx","ref","input","maxLength","onCompositionStart","onCompositionEnd","onBeforeInput"],"mappings":"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"}
@@ -2,7 +2,8 @@ import { __rest } from 'tslib';
2
2
  import './style/index.css.js';
3
3
  import Taro from '@tarojs/taro';
4
4
  import classNames from 'classnames';
5
- import React from 'react';
5
+ import React__default from 'react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
7
 
7
8
  function setTransform(nodeStyle, value) {
8
9
  nodeStyle.transform = value;
@@ -36,7 +37,7 @@ try {
36
37
  const willPreventDefault = supportsPassive ? {
37
38
  passive: false
38
39
  } : false;
39
- class PullDownRefresh extends React.Component {
40
+ class PullDownRefresh extends React__default.Component {
40
41
  constructor() {
41
42
  super(...arguments);
42
43
  // https://github.com/yiminghe/zscroller/blob/2d97973287135745818a0537712235a39a6a62a1/src/Scroller.js#L355
@@ -275,26 +276,31 @@ class PullDownRefresh extends React.Component {
275
276
  } = this.state;
276
277
  const cla = classNames(cls, !dragOnEdge && `${prefixCls}-transition`);
277
278
  const showIndicator = currSt === 'activate' || currSt === 'release';
278
- return React.createElement("div", {
279
- className: `${prefixCls}-content-wrapper`
280
- }, React.createElement("div", {
281
- className: cla,
282
- ref: el => {
283
- this.contentRef = el;
284
- }
285
- }, showIndicator && React.createElement("div", {
286
- className: `${prefixCls}-indicator`
287
- }, React.createElement("div", null), React.createElement("div", null), React.createElement("div", null)), children));
279
+ return /*#__PURE__*/jsx("div", {
280
+ className: `${prefixCls}-content-wrapper`,
281
+ children: /*#__PURE__*/jsxs("div", {
282
+ className: cla,
283
+ ref: el => {
284
+ this.contentRef = el;
285
+ },
286
+ children: [showIndicator && /*#__PURE__*/jsxs("div", {
287
+ className: `${prefixCls}-indicator`,
288
+ children: [/*#__PURE__*/jsx("div", {}), /*#__PURE__*/jsx("div", {}), /*#__PURE__*/jsx("div", {})]
289
+ }), children]
290
+ })
291
+ });
288
292
  };
289
293
  if (this.scrollContainer) {
290
294
  return renderRefresh(`${prefixCls}-content ${prefixCls}-down`);
291
295
  }
292
- return React.createElement("pull-down-refresh", Object.assign({
296
+ return /*#__PURE__*/jsx("pull-down-refresh", {
293
297
  ref: el => {
294
298
  this.containerRef = el;
295
299
  },
296
- className: classNames(className, prefixCls, `${prefixCls}-down`)
297
- }, restProps), renderRefresh(`${prefixCls}-content`));
300
+ className: classNames(className, prefixCls, `${prefixCls}-down`),
301
+ ...restProps,
302
+ children: renderRefresh(`${prefixCls}-content`)
303
+ });
298
304
  }
299
305
  }
300
306
  PullDownRefresh.defaultProps = {