@tarojs/components-react 4.1.4-beta.10 → 4.1.4-beta.13

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 (80) hide show
  1. package/README.md +25 -0
  2. package/dist/components/picker/index.js +732 -0
  3. package/dist/components/picker/index.js.map +1 -0
  4. package/dist/components/picker/picker-group.js +469 -0
  5. package/dist/components/picker/picker-group.js.map +1 -0
  6. package/dist/index.css +1 -1
  7. package/dist/index.js +79 -11
  8. package/dist/index.js.map +1 -1
  9. package/dist/solid/components/picker/index.js +775 -0
  10. package/dist/solid/components/picker/index.js.map +1 -0
  11. package/dist/solid/components/picker/picker-group.js +482 -0
  12. package/dist/solid/components/picker/picker-group.js.map +1 -0
  13. package/dist/solid/index.css +1 -1
  14. package/dist/solid/index.js +79 -8
  15. package/dist/solid/index.js.map +1 -1
  16. package/dist/solid/utils/index.js +116 -1
  17. package/dist/solid/utils/index.js.map +1 -1
  18. package/dist/styles/picker-styles.css +2 -0
  19. package/dist/styles/picker-styles.css.map +1 -0
  20. package/dist/styles/picker-styles.js +7 -0
  21. package/dist/styles/picker-styles.js.map +1 -0
  22. package/dist/utils/index.js +116 -1
  23. package/dist/utils/index.js.map +1 -1
  24. package/package.json +6 -6
  25. package/dist/components/button/index.js +0 -87
  26. package/dist/components/button/index.js.map +0 -1
  27. package/dist/components/icon/index.js +0 -36
  28. package/dist/components/icon/index.js.map +0 -1
  29. package/dist/components/image/index.js +0 -86
  30. package/dist/components/image/index.js.map +0 -1
  31. package/dist/components/image/style/index.css.js +0 -4
  32. package/dist/components/image/style/index.css.js.map +0 -1
  33. package/dist/components/input/index.js +0 -233
  34. package/dist/components/input/index.js.map +0 -1
  35. package/dist/components/input/style/index.scss.js +0 -4
  36. package/dist/components/input/style/index.scss.js.map +0 -1
  37. package/dist/components/pull-down-refresh/index.js +0 -320
  38. package/dist/components/pull-down-refresh/index.js.map +0 -1
  39. package/dist/components/pull-down-refresh/style/index.css.js +0 -4
  40. package/dist/components/pull-down-refresh/style/index.css.js.map +0 -1
  41. package/dist/components/scroll-view/index.js +0 -184
  42. package/dist/components/scroll-view/index.js.map +0 -1
  43. package/dist/components/scroll-view/style/index.css.js +0 -4
  44. package/dist/components/scroll-view/style/index.css.js.map +0 -1
  45. package/dist/components/swiper/index.js +0 -461
  46. package/dist/components/swiper/index.js.map +0 -1
  47. package/dist/components/swiper/style/index.css.js +0 -4
  48. package/dist/components/swiper/style/index.css.js.map +0 -1
  49. package/dist/components/text/index.js +0 -28
  50. package/dist/components/text/index.js.map +0 -1
  51. package/dist/components/text/style/index.css.js +0 -4
  52. package/dist/components/text/style/index.css.js.map +0 -1
  53. package/dist/components/view/index.js +0 -80
  54. package/dist/components/view/index.js.map +0 -1
  55. package/dist/solid/components/button/index.js +0 -95
  56. package/dist/solid/components/button/index.js.map +0 -1
  57. package/dist/solid/components/button/style/index.scss.js +0 -4
  58. package/dist/solid/components/button/style/index.scss.js.map +0 -1
  59. package/dist/solid/components/icon/index.js +0 -39
  60. package/dist/solid/components/icon/index.js.map +0 -1
  61. package/dist/solid/components/icon/style/index.scss.js +0 -4
  62. package/dist/solid/components/icon/style/index.scss.js.map +0 -1
  63. package/dist/solid/components/image/index.js +0 -94
  64. package/dist/solid/components/image/index.js.map +0 -1
  65. package/dist/solid/components/image/style/index.css.js +0 -4
  66. package/dist/solid/components/image/style/index.css.js.map +0 -1
  67. package/dist/solid/components/scroll-view/index.js +0 -188
  68. package/dist/solid/components/scroll-view/index.js.map +0 -1
  69. package/dist/solid/components/scroll-view/style/index.css.js +0 -4
  70. package/dist/solid/components/scroll-view/style/index.css.js.map +0 -1
  71. package/dist/solid/components/text/index.js +0 -32
  72. package/dist/solid/components/text/index.js.map +0 -1
  73. package/dist/solid/components/text/style/index.css.js +0 -4
  74. package/dist/solid/components/text/style/index.css.js.map +0 -1
  75. package/dist/solid/components/view/index.js +0 -88
  76. package/dist/solid/components/view/index.js.map +0 -1
  77. /package/dist/components/{button → picker}/style/index.scss.js +0 -0
  78. /package/dist/components/{button → picker}/style/index.scss.js.map +0 -0
  79. /package/dist/{components/icon → solid/components/picker}/style/index.scss.js +0 -0
  80. /package/dist/{components/icon → solid/components/picker}/style/index.scss.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/index.tsx"],"sourcesContent":["/* eslint-disable react/react-in-jsx-scope */\nimport { forwardRef } from './hooks'\n\nexport function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n\nexport function omit (obj, fields) {\n const shallowCopy = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\n\nexport const createForwardRefComponent = (ReactComponent: any) => {\n const forwardRefComponent = (\n props,\n ref\n ) => <ReactComponent {...props} forwardedRef={ref} />\n\n return forwardRef(forwardRefComponent)\n}\n\n"],"names":["throttle","fn","threshold","arguments","length","undefined","scope","lastTime","deferTimer","_len","args","Array","_key","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer","_len2","_key2","omit","obj","fields","shallowCopy","Object","assign","i","key","createForwardRefComponent","ReactComponent","forwardRefComponent","props","ref","_jsx","forwardedRef","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.tsx"],"sourcesContent":["/* eslint-disable react/react-in-jsx-scope */\nimport { forwardRef } from './hooks'\n\nexport function throttle (fn, threshold = 250, scope?) {\n let lastTime = 0\n let deferTimer: ReturnType<typeof setTimeout>\n return function (...args) {\n const context = scope || this\n const now = Date.now()\n if (now - lastTime > threshold) {\n fn.apply(this, args)\n lastTime = now\n } else {\n clearTimeout(deferTimer)\n deferTimer = setTimeout(() => {\n lastTime = now\n fn.apply(context, args)\n }, threshold)\n }\n }\n}\n\nexport function debounce (fn, ms = 250, scope?) {\n let timer: ReturnType<typeof setTimeout>\n\n return function (...args) {\n const context = scope || this\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, ms)\n }\n}\n\nexport function omit (obj, fields) {\n const shallowCopy = Object.assign({}, obj)\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i]\n delete shallowCopy[key]\n }\n return shallowCopy\n}\n\nexport const createForwardRefComponent = (ReactComponent: any) => {\n const forwardRefComponent = (\n props,\n ref\n ) => <ReactComponent {...props} forwardedRef={ref} />\n\n return forwardRef(forwardRefComponent)\n}\n\n// Picker 相关常量\nexport const PICKER_TOP = 102\nexport const PICKER_LINE_HEIGHT = 34\nexport const PICKER_MASK_HEIGHT = PICKER_LINE_HEIGHT * 7\n\n// Picker 工具函数\nfunction getTimeRange (begin: number, end: number) {\n const range: string[] = []\n for (let i = begin; i <= end; i++) {\n range.push(`${i < 10 ? '0' : ''}${i}`)\n }\n return range\n}\n\nexport const hoursRange = getTimeRange(0, 23)\n\nexport const minutesRange = getTimeRange(0, 59)\n\n/**\n * 校验传入的 value 是否合法\n */\nexport function verifyValue (value: number, range: any[]) {\n if (!isNaN(+value) && value >= 0 && value < range.length) return true\n return false\n}\n\n/**\n * 检验传入的 time value 是否合法\n */\nexport function verifyTime (value: string) {\n if (!/^\\d{1,2}:\\d{1,2}$/.test(value)) return false\n\n const time = value.split(':').map(num => +num)\n\n if (time[0] < 0 || time[0] > 23) return false\n if (time[1] < 0 || time[1] > 59) return false\n\n return true\n}\n\n/**\n * 比较时间\n * return t1 <= t2\n */\nexport function compareTime (t1: string, t2: string) {\n const t1List = t1.split(':').map(i => +i)\n const t2List = t2.split(':').map(i => +i)\n\n if (t1List[0] < t2List[0]) return true\n if (t1List[0] === t2List[0] && t1List[1] <= t2List[1]) return true\n\n return false\n}\n\n/**\n * 校验日期合法性,返回合法性和日期数组\n */\nexport function verifyDate (dateStr: string) {\n if (!dateStr) return false\n const date = new Date(dateStr.replace(/-/g, '/'))\n return isNaN(date.getMonth()) ? false : date\n}\n\n/**\n * 获取当月最大天数\n */\nfunction getMaxDay (year: number, month: number) {\n if (month === 4 || month === 6 || month === 9 || month === 11) return 30\n if (month === 2) {\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) return 29\n else return 28\n }\n return 31\n}\n\nexport function formatValue (value: number | number[] | string) {\n let res: number | string | string[]\n if (Array.isArray(value)) {\n res = value.map(item => String(item))\n } else {\n res = value\n }\n return res\n}\n\n/**\n * 获取时间数组\n */\nfunction getDateRange (start: number, end: number) {\n const range: number[] = []\n for (let i = start; i <= end; i++) {\n range.push(i)\n }\n return range\n}\n\n/**\n * 获取年份区间数组\n */\nexport function getYearRange (start: number, end: number) {\n return getDateRange(start, end)\n}\n\n/**\n * 获取月份区间数组\n */\nexport function getMonthRange (start: Date, end: Date, year: number) {\n let rangeStart = 1\n let rangeEnd = 12\n\n // 当前年份等于开始年份,由开始对应的月份约束开始值\n if (start.getFullYear() === year) {\n rangeStart = start.getMonth() + 1\n }\n\n // 当前年份等于结束年份,由结束对应的月份约束结束值\n if (end.getFullYear() === year) {\n rangeEnd = end.getMonth() + 1\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n\n/**\n * 获取日期区间数组\n */\nexport function getDayRange (start: Date, end: Date, year: number, month: number) {\n let rangeStart = 1\n let rangeEnd = getMaxDay(year, month)\n\n if (start.getFullYear() === year && start.getMonth() + 1 === month) {\n rangeStart = start.getDate()\n }\n\n if (end.getFullYear() === year && end.getMonth() + 1 === month) {\n rangeEnd = end.getDate()\n }\n\n return getDateRange(rangeStart, rangeEnd)\n}\n\n"],"names":["throttle","fn","threshold","arguments","length","undefined","scope","lastTime","deferTimer","_len","args","Array","_key","context","now","Date","apply","clearTimeout","setTimeout","debounce","ms","timer","_len2","_key2","omit","obj","fields","shallowCopy","Object","assign","i","key","createForwardRefComponent","ReactComponent","forwardRefComponent","props","ref","_jsx","forwardedRef","forwardRef","PICKER_TOP","PICKER_LINE_HEIGHT","PICKER_MASK_HEIGHT","getTimeRange","begin","end","range","push","hoursRange","minutesRange","verifyValue","value","isNaN","verifyTime","test","time","split","map","num","compareTime","t1","t2","t1List","t2List","verifyDate","dateStr","date","replace","getMonth","getMaxDay","year","month","formatValue","res","isArray","item","String","getDateRange","start","getYearRange","getMonthRange","rangeStart","rangeEnd","getFullYear","getDayRange","getDate"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/components-react",
3
- "version": "4.1.4-beta.10",
3
+ "version": "4.1.4-beta.13",
4
4
  "description": "",
5
5
  "main:h5": "dist/index.js",
6
6
  "main": "dist/index.js",
@@ -28,16 +28,16 @@
28
28
  "classnames": "^2.2.5",
29
29
  "swiper": "11.1.15",
30
30
  "tslib": "^2.6.2",
31
- "@tarojs/taro": "4.1.4-beta.10",
32
- "@tarojs/shared": "4.1.4-beta.10",
33
- "@tarojs/components": "4.1.4-beta.10"
31
+ "@tarojs/taro": "4.1.4-beta.13",
32
+ "@tarojs/shared": "4.1.4-beta.13",
33
+ "@tarojs/components": "4.1.4-beta.13"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@babel/preset-react": "^7.24.1",
37
37
  "babel-preset-solid": "^1.8.15",
38
38
  "solid-js": "^1.8.16",
39
- "@tarojs/runtime": "4.1.4-beta.10",
40
- "@tarojs/helper": "4.1.4-beta.10"
39
+ "@tarojs/runtime": "4.1.4-beta.13",
40
+ "@tarojs/helper": "4.1.4-beta.13"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "*",
@@ -1,87 +0,0 @@
1
- import { __rest } from 'tslib';
2
- import './style/index.scss.js';
3
- 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';
7
-
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);
19
- };
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 {
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);
85
-
86
- export { index as default };
87
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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":"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"}
@@ -1,36 +0,0 @@
1
- import './style/index.scss.js';
2
- import classNames from 'classnames';
3
- import { omit, createForwardRefComponent } from '../../utils/index.js';
4
- import { jsx } from 'react/jsx-runtime';
5
-
6
- const Icon = props => {
7
- let {
8
- type,
9
- className = '',
10
- size = '23',
11
- color,
12
- forwardedRef
13
- } = props;
14
- if (type) type = type.replace(/_/g, '-');
15
- const cls = classNames({
16
- [`weui-icon-${type}`]: true
17
- }, className);
18
- const style = {
19
- 'font-size': size + 'px',
20
- color: color
21
- };
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
- );
32
- };
33
- var index = createForwardRefComponent(Icon);
34
-
35
- export { index as default };
36
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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;AAAc,GAAA,GAAGL,KAAK;EACtE,IAAIC,IAAI,EAAEA,IAAI,GAAGA,IAAI,CAACK,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACxC,MAAMC,GAAG,GAAGC,UAAU,CACpB;IACE,CAAC,CAAA,UAAA,EAAaP,IAAI,CAAA,CAAE,GAAG;GACxB,EACDC,SAAS,CACV;AACD,EAAA,MAAMO,KAAK,GAAG;IAAE,WAAW,EAAEN,IAAI,GAAG,IAAI;AAAEC,IAAAA,KAAK,EAAEA;GAAO;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;KAAM;AAAG;AAElH,CAAC;AACD,YAAeI,yBAAyB,CAACd,IAAI,CAAC;;;;"}
@@ -1,86 +0,0 @@
1
- import { __rest } from 'tslib';
2
- import './style/index.css.js';
3
- 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';
7
-
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
37
- }
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;
50
- }
51
- }, {
52
- rootMargin: '300px 0px'
53
- });
54
- (_b = (_a = observer.current).observe) === null || _b === void 0 ? void 0 : _b.call(_a, imgRef.current);
55
- }
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);
84
-
85
- export { index as default };
86
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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":";;;;;;;AAmBA,SAASA,KAAKA,CAAEC,KAAa,EAAA;AAC3B,EAAA,MAAMC,MAAM,GAAGC,MAAM,CAA0B,IAAI,CAAC;AACpD,EAAA,MAAMC,QAAQ,GAAGD,MAAM,CAAgC,EAAE,CAAC;AAC1D,EAAA,MAAM,GAAGE,WAAW,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;EACvC,MAAM;MACJC,SAAS;MACTC,KAAK,GAAG,EAAE;MACVC,GAAG;MACHC,IAAI;MACJC,OAAO;MACPC,QAAQ;MACRC,QAAQ;AACRC,MAAAA;AAAY,KAAA,GAEVb,KAAK;IADJc,KAAK,GAAAC,MAAA,CACNf,KAAK,EAVH,CAUL,WAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,CAAA,CAAQ;AACT,EAAA,MAAMgB,GAAG,GAAGC,UAAU,CACpB,UAAU,EACV;IACE,oBAAoB,EAAER,IAAI,KAAK;GAChC,EACDH,SAAS,CACV;EACD,MAAMY,MAAM,GAAGD,UAAU,CACvB,iBAAiB,GACf,CAACR,IAAI,IAAI,aAAa,EAAEU,WAAW,EAAE,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3D;AAED,EAAA,MAAMC,WAAW,GAAGC,WAAW,CAAEC,CAAC,IAAI;IACpC,MAAM;AAAEC,MAAAA;AAAQ,KAAA,GAAGxB,KAAK;AACxByB,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;AAClB;AACF,KAAA,CAAC;AAEFR,IAAAA,MAAM,IAAIA,MAAM,CAACD,CAAC,CAAC;AACrB,GAAC,EAAE,CAACvB,KAAK,CAAC,CAAC;AAEXiC,EAAAA,SAAS,CAAC,MAAK;;AACb,IAAA,IAAItB,QAAQ,EAAE;AACZR,MAAAA,QAAQ,CAAC+B,OAAO,GAAG,IAAIC,oBAAoB,CACzCC,OAAO,IAAG;AACR;QACA,IAAIA,OAAO,CAACA,OAAO,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,cAAc,EAAE;UAC9ClC,WAAW,CAAC,IAAI,CAAC;AACjB;AACAH,UAAAA,MAAM,CAACiC,OAAQ,CAAC1B,GAAG,GAAGA,GAAG;AAC3B;AACF,OAAC,EACD;AACE+B,QAAAA,UAAU,EAAE;AACb,OAAA,CACF;AACD,MAAA,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAtC,QAAQ,CAAC+B,OAAO,EAACQ,OAAO,MAAA,IAAA,IAAAF,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAG,IAAA,CAAAF,EAAA,EAAGxC,MAAM,CAACiC,OAAQ,CAAC;AAC7C;AAEA,IAAA,OAAO,MAAK;;AACV,MAAA,CAAAM,EAAA,GAAA,MAAArC,QAAQ,CAAC+B,OAAO,MAAE,IAAA,IAAAO,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAG,UAAU,kDAAI;KACjC;AACH,GAAC,EAAE,CAACjC,QAAQ,EAAEH,GAAG,CAAC,CAAC;AAEnB,EAAA,oBACEqC,GAAA,CAAA,KAAA,EAAA;AAAKvC,IAAAA,SAAS,EAAEU,GAAI;AAACT,IAAAA,KAAK,EAAEA,KAAM;AAACuC,IAAAA,GAAG,EAAEjC,YAAa;AAAA,IAAA,GAAKC,KAAK;IAAAiC,QAAA,EAC5DpC,QAAQ,gBACPkC,GAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,GAAG,EAAEE,GAAG,IAAK/C,MAAM,CAACiC,OAAO,GAAGc,GAAK;AACnC1C,MAAAA,SAAS,EAAEY,MAAO;AAClB,MAAA,UAAA,EAAUV,GAAI;AACdgB,MAAAA,MAAM,EAAEH,WAAY;AACpBX,MAAAA,OAAO,EAAEA,OAAQ;MAAA,GACbE;KAAS,CACb,gBAEFiC,GAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,GAAG,EAAEE,GAAG,IAAK/C,MAAM,CAACiC,OAAO,GAAGc,GAAK;AACnC1C,MAAAA,SAAS,EAAEY,MAAO;AAClBV,MAAAA,GAAG,EAAEA,GAAI;AACTgB,MAAAA,MAAM,EAAEH,WAAY;AACpBX,MAAAA,OAAO,EAAEA,OAAQ;MAAA,GACbE;KACJ;AACH,GACE,CAAC;AAEV;AAEA,YAAeqC,yBAAyB,CAAClD,KAAK,CAAC;;;;"}
@@ -1,4 +0,0 @@
1
- var undefined$1 = undefined;
2
-
3
- export { undefined$1 as default };
4
- //# sourceMappingURL=index.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,233 +0,0 @@
1
- import './style/index.scss.js';
2
- import classNames from 'classnames';
3
- import React__default from 'react';
4
- import { omit, createForwardRefComponent } from '../../utils/index.js';
5
- import { jsx } from 'react/jsx-runtime';
6
-
7
- function getTrueType(type, confirmType, password) {
8
- if (confirmType === 'search') type = 'search';
9
- if (password) type = 'password';
10
- if (typeof type === 'undefined') {
11
- return 'text';
12
- }
13
- if (!type) {
14
- throw new Error('unexpected type');
15
- }
16
- if (type === 'digit') type = 'number';
17
- return type;
18
- }
19
- function fixControlledValue(value) {
20
- return value !== null && value !== void 0 ? value : '';
21
- }
22
- class Input extends React__default.Component {
23
- constructor(props) {
24
- super(props);
25
- this.handleBeforeInput = e => {
26
- if (!e.data) return;
27
- const isNumber = e.data && /[0-9]/.test(e.data);
28
- if (this.props.type === 'number' && !isNumber) {
29
- e.preventDefault();
30
- }
31
- if (this.props.type === 'digit' && !isNumber) {
32
- if (e.data !== '.' || e.data === '.' && e.target.value.indexOf('.') > -1) {
33
- e.preventDefault();
34
- }
35
- }
36
- };
37
- this.handleInput = this.handleInput.bind(this);
38
- this.handlePaste = this.handlePaste.bind(this);
39
- this.handleFocus = this.handleFocus.bind(this);
40
- this.handleBlur = this.handleBlur.bind(this);
41
- this.handleKeyDown = this.handleKeyDown.bind(this);
42
- this.handleComposition = this.handleComposition.bind(this);
43
- this.handleBeforeInput = this.handleBeforeInput.bind(this);
44
- this.isOnComposition = false;
45
- this.onInputExcuted = false;
46
- }
47
- componentDidMount() {
48
- var _a, _b;
49
- // 修复无法选择文件
50
- if (this.props.type === 'file') {
51
- (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.addEventListener('change', this.handleInput);
52
- } else {
53
- (_b = this.inputRef) === null || _b === void 0 ? void 0 : _b.addEventListener('textInput', this.handleBeforeInput);
54
- }
55
- // 处理初始化是否 focus
56
- if (this.props.focus && this.inputRef) this.inputRef.focus();
57
- }
58
- componentWillUnmount() {
59
- var _a;
60
- // 修复无法选择文件
61
- if (this.props.type === 'file') {
62
- this.inputRef.removeEventListener('change', this.handleInput);
63
- } else {
64
- (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('textInput', this.handleBeforeInput);
65
- }
66
- }
67
- UNSAFE_componentWillReceiveProps(nextProps) {
68
- if (!this.props.focus && nextProps.focus && this.inputRef) this.inputRef.focus();
69
- }
70
- handleInput(e) {
71
- e.stopPropagation();
72
- const {
73
- type,
74
- maxlength = 140,
75
- confirmType = 'done',
76
- password = false,
77
- onInput
78
- } = this.props;
79
- if (!this.isOnComposition && !this.onInputExcuted) {
80
- let {
81
- value
82
- } = e.target;
83
- const inputType = getTrueType(type, confirmType, password);
84
- this.onInputExcuted = true;
85
- /* 修复 number 类型 maxLength 无效 */
86
- if (inputType === 'number' && value && maxlength <= value.length) {
87
- value = value.substring(0, maxlength);
88
- e.target.value = value;
89
- }
90
- Object.defineProperty(e, 'detail', {
91
- value: {
92
- value,
93
- cursor: value.length
94
- }
95
- });
96
- // // 修复 IOS 光标跳转问题
97
- // if (!(['number', 'file'].indexOf(inputType) >= 0)) {
98
- // const pos = e.target.selectionEnd
99
- // setTimeout(
100
- // () => {
101
- // e.target.selectionStart = pos
102
- // e.target.selectionEnd = pos
103
- // }
104
- // )
105
- // }
106
- typeof onInput === 'function' && onInput(e);
107
- this.onInputExcuted = false;
108
- }
109
- }
110
- handlePaste(e) {
111
- e.stopPropagation();
112
- const {
113
- onPaste
114
- } = this.props;
115
- this.onInputExcuted = false;
116
- Object.defineProperty(e, 'detail', {
117
- value: {
118
- value: e.target.value
119
- }
120
- });
121
- typeof onPaste === 'function' && onPaste(e);
122
- }
123
- handleFocus(e) {
124
- e.stopPropagation();
125
- const {
126
- onFocus
127
- } = this.props;
128
- this.onInputExcuted = false;
129
- Object.defineProperty(e, 'detail', {
130
- value: {
131
- value: e.target.value
132
- }
133
- });
134
- onFocus && onFocus(e);
135
- }
136
- handleBlur(e) {
137
- e.stopPropagation();
138
- const {
139
- onBlur
140
- } = this.props;
141
- Object.defineProperty(e, 'detail', {
142
- value: {
143
- value: e.target.value
144
- }
145
- });
146
- onBlur && onBlur(e);
147
- }
148
- handleKeyDown(e) {
149
- e.stopPropagation();
150
- const {
151
- onConfirm,
152
- onKeyDown
153
- } = this.props;
154
- const {
155
- value
156
- } = e.target;
157
- const keyCode = e.keyCode || e.code;
158
- this.onInputExcuted = false;
159
- if (typeof onKeyDown === 'function') {
160
- Object.defineProperty(e, 'detail', {
161
- value: {
162
- value,
163
- cursor: value.length,
164
- keyCode
165
- }
166
- });
167
- onKeyDown(e);
168
- }
169
- if (e.keyCode === 13 && typeof onConfirm === 'function') {
170
- Object.defineProperty(e, 'detail', {
171
- value: {
172
- value
173
- }
174
- });
175
- onConfirm(e);
176
- }
177
- }
178
- handleComposition(e) {
179
- e.stopPropagation();
180
- if (!(e.target instanceof HTMLInputElement)) return;
181
- if (e.type === 'compositionend') {
182
- this.isOnComposition = false;
183
- this.handleInput(e);
184
- } else {
185
- this.isOnComposition = true;
186
- }
187
- }
188
- render() {
189
- const {
190
- className = '',
191
- placeholder,
192
- type,
193
- password = false,
194
- disabled = false,
195
- maxlength = 140,
196
- confirmType = 'done',
197
- name,
198
- value
199
- } = this.props;
200
- const cls = classNames('taro-input-core', 'weui-input', className);
201
- const otherProps = omit(this.props, ['forwardedRef', 'className', 'placeholder', 'disabled', 'password', 'type', 'maxlength', 'confirmType', 'focus', 'name']);
202
- if ('value' in this.props) {
203
- otherProps.value = fixControlledValue(value);
204
- }
205
- return /*#__PURE__*/jsx("input", {
206
- ref: input => {
207
- if (this.props.forwardedRef) {
208
- this.props.forwardedRef.current = input;
209
- }
210
- this.inputRef = input;
211
- },
212
- ...otherProps,
213
- className: cls,
214
- type: getTrueType(type, confirmType, password),
215
- placeholder: placeholder,
216
- disabled: disabled,
217
- maxLength: maxlength,
218
- name: name,
219
- onInput: this.handleInput,
220
- onPaste: this.handlePaste,
221
- onFocus: this.handleFocus,
222
- onBlur: this.handleBlur,
223
- onKeyDown: this.handleKeyDown,
224
- onCompositionStart: this.handleComposition,
225
- onCompositionEnd: this.handleComposition,
226
- onBeforeInput: this.handleBeforeInput
227
- });
228
- }
229
- }
230
- var index = createForwardRefComponent(Input);
231
-
232
- export { index as default };
233
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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 { createForwardRefComponent, 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 forwardedRef?: React.MutableRefObject<HTMLInputElement>\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 'forwardedRef',\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 if (this.props.forwardedRef) {\n this.props.forwardedRef.current = input\n }\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 createForwardRefComponent(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","forwardedRef","current","maxLength","onCompositionStart","onCompositionEnd","onBeforeInput","createForwardRefComponent"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- var undefined$1 = undefined;
2
-
3
- export { undefined$1 as default };
4
- //# sourceMappingURL=index.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}