@cloudbase/weda-ui 0.2.11 → 0.2.12
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.
- package/CHANGELOG.md +240 -0
- package/package.json +61 -40
- package/src/.DS_Store +0 -0
- package/src/configs/.DS_Store +0 -0
- package/src/configs/components/button.json +7 -3
- package/src/configs/components/form/richText.json +1 -1
- package/src/configs/components/form/uploader.json +29 -1
- package/src/configs/components/form/uploaderFile.json +158 -0
- package/src/configs/components/image.json +12 -3
- package/src/configs/components/link.json +3 -3
- package/src/configs/components/richtextview.json +2 -2
- package/src/configs/components/scrollVeiw.json +5 -5
- package/src/configs/components/swiper.json +6 -6
- package/src/configs/components/tabs.json +3 -3
- package/src/configs/components/text.json +39 -4
- package/src/configs/index.js +5 -3
- package/src/mp/.gitignore +10 -0
- package/src/mp/components/button/index.js +1 -0
- package/src/mp/components/button/index.wxss +8 -0
- package/src/mp/components/form/select/index.js +18 -0
- package/src/mp/components/form/uploader/index.js +26 -29
- package/src/mp/components/form/uploaderFile/index.js +247 -0
- package/src/mp/components/form/uploaderFile/index.json +9 -0
- package/src/mp/components/form/uploaderFile/index.wxml +46 -0
- package/src/mp/components/form/uploaderFile/index.wxss +104 -0
- package/src/mp/components/text/index.js +33 -0
- package/src/mp/components/text/index.wxml +1 -1
- package/src/mp/components/text/index.wxss +18 -0
- package/src/mp/index.json +1 -0
- package/src/mp/utils/platform.js +20 -0
- package/src/mp/utils/tcb.js +11 -0
- package/src/web/.DS_Store +0 -0
- package/src/web/actions/showModal/{index.jsx → index.tsx} +53 -3
- package/src/web/components/auth/index.js +2 -2
- package/src/web/components/button/index.css +9 -0
- package/src/web/components/button/{index.jsx → index.tsx} +27 -41
- package/src/web/components/container/{index.jsx → index.tsx} +6 -10
- package/src/web/components/drawer/index.tsx +57 -0
- package/src/web/components/form/checkbox/{index.jsx → index.tsx} +24 -48
- package/src/web/components/form/enumSelect/{NormalSelect.jsx → NormalSelect.tsx} +2 -9
- package/src/web/components/form/form/index.tsx +48 -0
- package/src/web/components/form/formcell/{index.jsx → index.tsx} +6 -13
- package/src/web/components/form/input/index.css +4 -0
- package/src/web/components/form/input/{index.jsx → index.tsx} +33 -67
- package/src/web/components/form/radio/{index.jsx → index.tsx} +19 -42
- package/src/web/components/form/{renderDecorator.jsx → renderDecorator.tsx} +1 -3
- package/src/web/components/form/select/{h5.jsx → h5.tsx} +18 -62
- package/src/web/components/form/select/{index.jsx → index.tsx} +51 -94
- package/src/web/components/form/select/region/{cities.js → cities.ts} +1 -1
- package/src/web/components/form/select/region/{index.js → index.ts} +3 -3
- package/src/web/components/form/select/region/{provinces.js → provinces.ts} +1 -1
- package/src/web/components/form/select/region/{regions.js → regions.ts} +1 -1
- package/src/web/components/form/select/time.jsx +2 -2
- package/src/web/components/form/switch/{index.jsx → index.tsx} +30 -47
- package/src/web/components/form/textarea/{index.jsx → index.tsx} +22 -55
- package/src/web/components/form/tips/{index.jsx → index.tsx} +8 -22
- package/src/web/components/form/types.d.ts +12 -0
- package/src/web/components/form/uploader/{index.jsx → index.tsx} +16 -14
- package/src/web/components/form/uploader/{uploader.h5.jsx → uploader.h5.tsx} +67 -57
- package/src/web/components/form/uploader/{uploader.pc.jsx → uploader.pc.tsx} +26 -43
- package/src/web/components/form/uploaderFile/fail.svg +12 -0
- package/src/web/components/form/uploaderFile/index.css +423 -0
- package/src/web/components/form/uploaderFile/index.jsx +30 -0
- package/src/web/components/form/uploaderFile/pending.svg +18 -0
- package/src/web/components/form/uploaderFile/success.svg +12 -0
- package/src/web/components/form/uploaderFile/uploadFile.h5.jsx +562 -0
- package/src/web/components/form/uploaderFile/uploadFile.pc.jsx +487 -0
- package/src/web/components/image/{image.jsx → image.tsx} +8 -21
- package/src/web/components/image/{index.jsx → index.tsx} +22 -37
- package/src/web/components/index.js +35 -1
- package/src/web/components/link/{index.jsx → index.tsx} +19 -36
- package/src/web/components/modal/{index.jsx → index.tsx} +22 -9
- package/src/web/components/picker/{datePicker.jsx → datePicker.tsx} +11 -12
- package/src/web/components/picker/{picker.jsx → picker.tsx} +7 -10
- package/src/web/components/picker/{timePicker.jsx → timePicker.tsx} +8 -16
- package/src/web/components/richText/{const.js → const.ts} +0 -0
- package/src/web/components/richText/index.jsx +5 -2
- package/src/web/components/richTextView/index.tsx +67 -0
- package/src/web/components/scrollView/{index.jsx → index.tsx} +18 -33
- package/src/web/components/slot/{index.jsx → index.tsx} +8 -9
- package/src/web/components/swiper/index.css +1 -1
- package/src/web/components/swiper/{index.jsx → index.tsx} +66 -73
- package/src/web/components/tabs/index.tsx +33 -0
- package/src/web/components/tabs/{tabs.h5.jsx → tabs.h5.tsx} +4 -33
- package/src/web/components/tabs/{tabs.pc.jsx → tabs.pc.tsx} +5 -39
- package/src/web/components/text/index.css +18 -0
- package/src/web/components/text/index.tsx +69 -0
- package/src/web/components/uploaderFileView/index.css +11 -0
- package/src/web/components/uploaderFileView/index.jsx +75 -0
- package/src/web/components/uploaderView/{index.jsx → index.tsx} +12 -15
- package/src/web/types.d.ts +20 -0
- package/src/web/utils/constant.js +2 -0
- package/src/web/utils/loading-fallback.tsx +2 -0
- package/src/web/utils/platform.js +77 -6
- package/src/web/utils/useSetState.ts +14 -0
- package/src/web/utils/useSyncValue.ts +17 -0
- package/src/web/wedatheme/.git +1 -0
- package/src/web/wedatheme/.gitignore +5 -0
- package/src/web/wedatheme/.npmrc +1 -0
- package/src/web/wedatheme/package-lock.json +14335 -0
- package/src/configs/components/button.svg +0 -18
- package/src/web/components/drawer/index.jsx +0 -64
- package/src/web/components/form/form/index.jsx +0 -76
- package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +0 -754
- package/src/web/components/richTextView/index.jsx +0 -89
- package/src/web/components/tabs/index.jsx +0 -10
- package/src/web/components/text/index.jsx +0 -71
- package/src/web/utils/useSyncValue.js +0 -14
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import * as PropTypes from 'prop-types';
|
|
3
|
-
import classNames from '../../utils/classnames';
|
|
4
|
-
import { getTempFileURL } from '../../utils/tcb';
|
|
5
|
-
import './index.css';
|
|
6
|
-
|
|
7
|
-
export default function RichTextView({
|
|
8
|
-
value = '',
|
|
9
|
-
className,
|
|
10
|
-
style,
|
|
11
|
-
...props
|
|
12
|
-
}) {
|
|
13
|
-
let parseValue = value;
|
|
14
|
-
try {
|
|
15
|
-
parseValue = JSON.parse(value);
|
|
16
|
-
} catch (e) {}
|
|
17
|
-
const cls = classNames({
|
|
18
|
-
'weda-ui': true,
|
|
19
|
-
'weda-RichTextView': true,
|
|
20
|
-
[className]: className,
|
|
21
|
-
});
|
|
22
|
-
const [displayValue, setDisplayValue] = useState('');
|
|
23
|
-
const regex = new RegExp(/<img [^>]*src=\\*"([^"]*?)\\*"/g);
|
|
24
|
-
|
|
25
|
-
const defaultBase64 =
|
|
26
|
-
'data:image/png;base64,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';
|
|
27
|
-
const iferror = `javascript:this.width='80';this.src='${defaultBase64}';this.onerror=null`;
|
|
28
|
-
|
|
29
|
-
let tempValue = parseValue
|
|
30
|
-
.toString()
|
|
31
|
-
.replace(/<img /g, `<img onerror=${iferror} style="max-width:100%" `);
|
|
32
|
-
|
|
33
|
-
const getSrc = async (img) => {
|
|
34
|
-
const url = img.replace(regex, '$1');
|
|
35
|
-
if (img.includes('cloud://')) {
|
|
36
|
-
const newURL = await getTempFileURL(url);
|
|
37
|
-
if (newURL) {
|
|
38
|
-
tempValue = tempValue.replace(new RegExp(url, 'g'), newURL);
|
|
39
|
-
setDisplayValue(tempValue);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
setDisplayValue(tempValue);
|
|
46
|
-
try {
|
|
47
|
-
const imgs = parseValue.match(regex);
|
|
48
|
-
if (imgs && imgs.length > 0) {
|
|
49
|
-
imgs.forEach((img) => {
|
|
50
|
-
getSrc(img);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
} catch (e) {}
|
|
54
|
-
}, [value]);
|
|
55
|
-
|
|
56
|
-
const {id} = props;
|
|
57
|
-
return (
|
|
58
|
-
displayValue && (
|
|
59
|
-
<div className={cls} style={style}
|
|
60
|
-
id={id}
|
|
61
|
-
>
|
|
62
|
-
<div dangerouslySetInnerHTML={{ __html: displayValue }}></div>
|
|
63
|
-
</div>
|
|
64
|
-
)
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
RichTextView.propTypes = {
|
|
69
|
-
/**
|
|
70
|
-
* 内容
|
|
71
|
-
*/
|
|
72
|
-
value: PropTypes.string,
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* 组件事件
|
|
76
|
-
*/
|
|
77
|
-
events: PropTypes.objectOf(PropTypes.func),
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* 自定义类
|
|
81
|
-
*/
|
|
82
|
-
className: PropTypes.string,
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* 自定义样式
|
|
86
|
-
*/
|
|
87
|
-
style: PropTypes.object,
|
|
88
|
-
id: PropTypes.string
|
|
89
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { usePlatform } from '../../utils/platform';
|
|
3
|
-
import TabsH5 from './tabs.h5';
|
|
4
|
-
import TabsPc from './tabs.pc';
|
|
5
|
-
|
|
6
|
-
export default function Tabs(props) {
|
|
7
|
-
const platform = usePlatform();
|
|
8
|
-
|
|
9
|
-
return platform === 'h5' ? <TabsH5 {...props} /> : <TabsPc {...props} />;
|
|
10
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './index.css';
|
|
3
|
-
|
|
4
|
-
import * as PropTypes from 'prop-types';
|
|
5
|
-
|
|
6
|
-
import classNames from '../../utils/classnames';
|
|
7
|
-
|
|
8
|
-
export default function Text({
|
|
9
|
-
text,
|
|
10
|
-
maxLines = 2,
|
|
11
|
-
space,
|
|
12
|
-
userSelect = true,
|
|
13
|
-
style = {},
|
|
14
|
-
className,
|
|
15
|
-
events,
|
|
16
|
-
id,
|
|
17
|
-
...props
|
|
18
|
-
}) {
|
|
19
|
-
const textStyle = {
|
|
20
|
-
WebkitLineClamp: maxLines,
|
|
21
|
-
whiteSpace: space ? 'pre-wrap' : 'pre-line',
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
if (!userSelect) {
|
|
25
|
-
textStyle.userSelect = 'none';
|
|
26
|
-
}
|
|
27
|
-
const { contenteditable, onInput, onBlur } = props;
|
|
28
|
-
return (
|
|
29
|
-
<p
|
|
30
|
-
contentEditable={contenteditable}
|
|
31
|
-
onInput={onInput}
|
|
32
|
-
onBlur={onBlur}
|
|
33
|
-
style={{ ...textStyle, ...style }}
|
|
34
|
-
className={classNames('weda-text', 'weda-ui', className)}
|
|
35
|
-
id={id}
|
|
36
|
-
onClick={(e) => events.tap({}, { originEvent: e })}
|
|
37
|
-
>
|
|
38
|
-
{text}
|
|
39
|
-
</p>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
Text.propTypes = {
|
|
44
|
-
/**
|
|
45
|
-
* 文本内容
|
|
46
|
-
*/
|
|
47
|
-
text: PropTypes.string,
|
|
48
|
-
/**
|
|
49
|
-
* 最大显示行数。0 表示无限制
|
|
50
|
-
*/
|
|
51
|
-
maxLines: PropTypes.number,
|
|
52
|
-
/**
|
|
53
|
-
* 是否显示连续空格
|
|
54
|
-
*/
|
|
55
|
-
space: PropTypes.bool,
|
|
56
|
-
userSelect: PropTypes.bool,
|
|
57
|
-
events: PropTypes.objectOf(PropTypes.func),
|
|
58
|
-
style: PropTypes.object,
|
|
59
|
-
className: PropTypes.string,
|
|
60
|
-
id: PropTypes.string,
|
|
61
|
-
contenteditable: PropTypes.oneOf([PropTypes.string, PropTypes.bool]),
|
|
62
|
-
onInput: PropTypes.func,
|
|
63
|
-
onBlur: PropTypes.func,
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
Text.defaultProps = {
|
|
67
|
-
maxLines: 2,
|
|
68
|
-
text: '文本内容',
|
|
69
|
-
space: false,
|
|
70
|
-
userSelect: true,
|
|
71
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from "react";
|
|
2
|
-
import { usePrevious } from "react-use";
|
|
3
|
-
|
|
4
|
-
export function useSyncValue(defaultValue, comparotor = Object.is) {
|
|
5
|
-
const [stateValue, setStateValue] = useState(defaultValue);
|
|
6
|
-
const prevValue = usePrevious(defaultValue);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
if (!comparotor(prevValue, defaultValue)) {
|
|
9
|
-
setStateValue(defaultValue);
|
|
10
|
-
}
|
|
11
|
-
}, [defaultValue]);
|
|
12
|
-
return [stateValue, setStateValue];
|
|
13
|
-
}
|
|
14
|
-
|