@nutui/nutui-react 1.3.0-beta.5 → 1.3.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/esm/Audio/style/index.js +4 -0
- package/dist/esm/Audio.js +293 -0
- package/dist/esm/Calendar/style/index.js +1 -2
- package/dist/esm/Calendar.js +80 -33
- package/dist/esm/CalendarItem.js +429 -231
- package/dist/esm/Cascader/style/index.js +2 -0
- package/dist/esm/Cascader.js +788 -0
- package/dist/esm/ConfigProvider.js +16 -0
- package/dist/esm/DatePicker.js +37 -6
- package/dist/esm/Dialog.js +9 -16
- package/dist/esm/Elevator.js +16 -5
- package/dist/esm/Grid/style/index.js +2 -0
- package/dist/esm/Grid.js +91 -0
- package/dist/esm/GridItem/style/index.js +2 -0
- package/dist/esm/GridItem.js +99 -0
- package/dist/esm/ImagePreview/style/index.js +2 -0
- package/dist/esm/ImagePreview.js +257 -0
- package/dist/esm/Menu/style/index.js +3 -0
- package/dist/esm/Menu.js +153 -0
- package/dist/esm/MenuItem/style/index.js +3 -0
- package/dist/esm/MenuItem.js +197 -0
- package/dist/esm/NoticeBar.js +3 -2
- package/dist/esm/Notify.js +2 -1
- package/dist/esm/Popover.js +4 -11
- package/dist/esm/Range.js +2 -45
- package/dist/esm/Swipe/style/index.js +2 -0
- package/dist/esm/Swipe.js +265 -0
- package/dist/esm/Swiper.js +2 -1
- package/dist/esm/TabPane.js +5 -33
- package/dist/esm/Tabs.js +6 -196
- package/dist/esm/TextArea.js +45 -4
- package/dist/esm/Toast.js +2 -1
- package/dist/esm/nutui-react.es.js +8 -0
- package/dist/esm/render-4a3856cb.js +32 -0
- package/dist/esm/tabpane-c957ab14.js +33 -0
- package/dist/esm/tabs-a48583e9.js +196 -0
- package/dist/esm/useClientRect-839d18c5.js +44 -0
- package/dist/locales/base.d.ts +16 -0
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +17 -1
- package/dist/locales/id-ID.js +17 -1
- package/dist/locales/zh-CN.js +17 -1
- package/dist/locales/zh-TW.js +17 -1
- package/dist/nutui.react.es.js +2338 -530
- package/dist/nutui.react.umd.js +2345 -529
- package/dist/packages/audio/audio.scss +80 -0
- package/dist/packages/calendar/calendar.scss +57 -36
- package/dist/packages/calendaritem/calendaritem.scss +0 -191
- package/dist/packages/cascader/cascader.scss +69 -0
- package/dist/packages/grid/grid.scss +10 -0
- package/dist/packages/griditem/griditem.scss +103 -0
- package/dist/packages/imagepreview/imagepreview.scss +51 -0
- package/dist/packages/menu/menu.scss +72 -0
- package/dist/packages/menuitem/menuitem.scss +90 -0
- package/dist/packages/popup/popup.scss +1 -1
- package/dist/packages/searchbar/searchbar.scss +1 -0
- package/dist/packages/shortpassword/shortpassword.scss +6 -1
- package/dist/packages/swipe/swipe.scss +33 -0
- package/dist/packages/textarea/textarea.scss +16 -1
- package/dist/style.css +1 -1
- package/dist/style.es.js +1 -1
- package/dist/styles/font/iconfont.js +20 -18
- package/dist/styles/themes/default.scss +8 -0
- package/dist/styles/variables.scss +59 -8
- package/dist/types/audio/__test__/audio.spec.d.ts +1 -0
- package/dist/types/audio/audio.d.ts +18 -0
- package/dist/types/audio/audio.taro.d.ts +18 -0
- package/dist/types/audio/demo.d.ts +4 -0
- package/dist/types/audio/index.d.ts +2 -0
- package/dist/types/audio/index.taro.d.ts +2 -0
- package/dist/types/backtop/__test__/backtop.spec.d.ts +1 -0
- package/dist/types/calendar/__tests__/calendar.spec.d.ts +1 -0
- package/dist/types/calendar/calendar.d.ts +22 -2
- package/dist/types/calendar/demo.d.ts +1 -0
- package/dist/types/calendaritem/calendaritem.d.ts +21 -3
- package/dist/types/cascader/__tests__/cascader.spec.d.ts +1 -0
- package/dist/types/cascader/cascader.d.ts +25 -0
- package/dist/types/cascader/cascader.taro.d.ts +25 -0
- package/dist/types/cascader/cascaderItem.d.ts +25 -0
- package/dist/types/cascader/cascaderItem.taro.d.ts +25 -0
- package/dist/types/cascader/demo.d.ts +3 -0
- package/dist/types/cascader/helper.d.ts +4 -0
- package/dist/types/cascader/index.d.ts +2 -0
- package/dist/types/cascader/index.taro.d.ts +2 -0
- package/dist/types/cascader/tree.d.ts +12 -0
- package/dist/types/cascader/types.d.ts +28 -0
- package/dist/types/checkbox/checkbox.d.ts +2 -2
- package/dist/types/checkbox/checkbox.taro.d.ts +2 -2
- package/dist/types/checkboxgroup/checkboxgroup.d.ts +2 -2
- package/dist/types/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
- package/dist/types/dialog/__test__/dialog.spec.d.ts +1 -0
- package/dist/types/dialog/config.d.ts +3 -3
- package/dist/types/dialog/dialog.d.ts +2 -1
- package/dist/types/dialog/dialog.taro.d.ts +2 -1
- package/dist/types/fixednav/fixednav.d.ts +2 -2
- package/dist/types/grid/__test__/grid.spec.d.ts +1 -0
- package/dist/types/grid/demo.d.ts +3 -0
- package/dist/types/grid/grid.d.ts +16 -0
- package/dist/types/grid/grid.taro.d.ts +16 -0
- package/dist/types/grid/index.d.ts +2 -0
- package/dist/types/grid/index.taro.d.ts +2 -0
- package/dist/types/griditem/griditem.d.ts +20 -0
- package/dist/types/griditem/griditem.taro.d.ts +20 -0
- package/dist/types/griditem/index.d.ts +2 -0
- package/dist/types/griditem/index.taro.d.ts +2 -0
- package/dist/types/icon/icon.d.ts +1 -2
- package/dist/types/icon/icon.taro.d.ts +1 -2
- package/dist/types/imagepreview/__test__/imagepreview.spec.d.ts +1 -0
- package/dist/types/imagepreview/demo.d.ts +3 -0
- package/dist/types/imagepreview/imagepreview.d.ts +26 -0
- package/dist/types/imagepreview/imagepreview.taro.d.ts +26 -0
- package/dist/types/imagepreview/index.d.ts +2 -0
- package/dist/types/imagepreview/index.taro.d.ts +2 -0
- package/dist/types/input/__test__/input.spec.d.ts +1 -0
- package/dist/types/menu/__test__/menu.spec.d.ts +1 -0
- package/dist/types/menu/demo.d.ts +4 -0
- package/dist/types/menu/index.d.ts +2 -0
- package/dist/types/menu/index.taro.d.ts +2 -0
- package/dist/types/menu/menu.d.ts +12 -0
- package/dist/types/menu/menu.taro.d.ts +12 -0
- package/dist/types/menuitem/index.d.ts +2 -0
- package/dist/types/menuitem/index.taro.d.ts +2 -0
- package/dist/types/menuitem/menuitem.d.ts +23 -0
- package/dist/types/menuitem/menuitem.taro.d.ts +23 -0
- package/dist/types/notify/__test__/notify.spec.d.ts +1 -0
- package/dist/types/notify/notify.d.ts +13 -0
- package/dist/types/notify/notify.taro.d.ts +13 -0
- package/dist/types/nutui.react.d.ts +95 -1
- package/dist/types/picker/doc.en.d.ts +142 -0
- package/dist/types/picker/picker.d.ts +2 -2
- package/dist/types/picker/picker.taro.d.ts +2 -2
- package/dist/types/popup/popup.d.ts +1 -1
- package/dist/types/popup/popup.taro.d.ts +1 -1
- package/dist/types/shortpassword/shortpassword.taro.d.ts +3 -3
- package/dist/types/sidenavbar/sidenavbar.d.ts +14 -2
- package/dist/types/sidenavbar/sidenavbar.taro.d.ts +14 -2
- package/dist/types/sidenavbaritem/sidenavbaritem.d.ts +10 -2
- package/dist/types/sidenavbaritem/sidenavbaritem.taro.d.ts +10 -2
- package/dist/types/subsidenavbar/subsidenavbar.d.ts +13 -3
- package/dist/types/subsidenavbar/subsidenavbar.taro.d.ts +13 -3
- package/dist/types/swipe/__tests__/swipe.spec.d.ts +1 -0
- package/dist/types/swipe/demo.d.ts +3 -0
- package/dist/types/swipe/index.d.ts +2 -0
- package/dist/types/swipe/index.taro.d.ts +2 -0
- package/dist/types/swipe/swipe.d.ts +41 -0
- package/dist/types/swipe/swipe.taro.d.ts +41 -0
- package/dist/types/swiper/swiper.d.ts +1 -2
- package/dist/types/swiperitem/swiperitem.d.ts +1 -2
- package/dist/types/table/table.d.ts +2 -1
- package/dist/types/table/table.taro.d.ts +2 -1
- package/dist/types/table/types.d.ts +1 -1
- package/dist/types/textarea/__test__/textarea.spec.d.ts +1 -0
- package/dist/types/toast/toast.d.ts +21 -0
- package/dist/types/toast/toast.taro.d.ts +18 -0
- package/dist/types/virtuallist/type.d.ts +1 -1
- package/dist/types/virtuallist/virtuallist.d.ts +2 -1
- package/dist/types/virtuallist/virtuallist.taro.d.ts +2 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
## v1.3.0
|
|
2
|
+
`2022-08-24`
|
|
3
|
+
|
|
4
|
+
* :sparkles: chore: Taro support (#240) @xiaoyatong
|
|
5
|
+
* :sparkles: chore: support react18 (#224) @oasis-cloud
|
|
6
|
+
* :sparkles: chore: noticebar (#233) @vickyYe
|
|
7
|
+
* :sparkles: feat: add SideNavBar (#198) @mangov587
|
|
8
|
+
* :sparkles: feat: add Table (#185) @yangjinjun3
|
|
9
|
+
* :sparkles: feat: popover 功能补齐与单元测试 (#219) @yangxiaolu1993
|
|
10
|
+
* :sparkles: feat: notify 增加props+国际化文档 (#221) @vickyYe
|
|
11
|
+
* :sparkles: feat: icon 组件增加自定义字体新方案,增加 fontClassName 属性 (#232) @oasis-cloud
|
|
12
|
+
* :sparkles: feat: toast 组件props补齐+国际化,input组件issue问题修改 (#214) @vickyYe
|
|
13
|
+
* :sparkles: feat: shortpassword 优化demo,增加单元测试,增加国际化 (#222) @Drjingfubo
|
|
14
|
+
* :sparkles: feat: fixednav 单元测试 (#217) @Ymm0008
|
|
15
|
+
* :sparkles: feat: timeselect (#216) @shadow-Fiend
|
|
16
|
+
* :sparkles: feat: layout props补齐,单元测试 (#208) @Ymm0008
|
|
17
|
+
* :sparkles: feat: Address 组件功能补齐-添加默认选中项;单元测试添加 (#207) @yangxiaolu1993
|
|
18
|
+
* :sparkles: feat: popup 增加指定节点挂载与多层堆叠功能 (#197) @love_forever
|
|
19
|
+
* :sparkles: feat: Swiper 组件能力补齐,新增demo,添加国际化文档 (#196) @lkjh3214
|
|
20
|
+
* :bug: fix: checkbox 组件的全选 demo 无法高亮全选按钮 (#239) @oasis-cloud
|
|
21
|
+
* :bug: fix: 解决Picker滚动结束延迟触发事件问题 (#218) @yangxiaolu1993
|
|
22
|
+
* :bug: fix: radio 组件 demo 中自定义尺寸文案错误 (#231) @oasis-cloud
|
|
23
|
+
* :bug: fix: radio 组件 demo 中自定义图标展示错误 (#230) @oasis-cloud
|
|
24
|
+
* :bug: fix: checkbox 全选 demo 中的错误 (#229) @oasis-cloud
|
|
25
|
+
* :bug: fix: vite 构建 umd 文件时 banner 插入错误 @oasis-cloud
|
|
26
|
+
* :bug: fix: 修复Infiniteloading 组件 pullTxt、loadTxt 和 loadMoreTxt 参数无效 (#227) @junjun666
|
|
27
|
+
* :bug: fix: radio 组件选中后可以取消的问题 (#211) @oasis-cloud
|
|
28
|
+
|
|
1
29
|
## v1.2.2
|
|
2
30
|
`2022-08-10`
|
|
3
31
|
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["className", "url", "style", "muted", "autoplay", "loop", "preload", "type", "onFastBack", "onForward", "onPause", "onPlayEnd", "onMute", "onCanPlay", "children"];
|
|
5
|
+
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
+
|
|
10
|
+
import React__default, { useState, useRef, useEffect } from 'react';
|
|
11
|
+
import Icon from './Icon.js';
|
|
12
|
+
import Range from './Range.js';
|
|
13
|
+
import { c as cn } from './bem-893ad28d.js';
|
|
14
|
+
import Button from './Button.js';
|
|
15
|
+
import { useConfig } from './ConfigProvider.js';
|
|
16
|
+
import '@bem-react/classname';
|
|
17
|
+
var defaultProps = {
|
|
18
|
+
className: '',
|
|
19
|
+
url: '',
|
|
20
|
+
style: {},
|
|
21
|
+
muted: false,
|
|
22
|
+
autoplay: false,
|
|
23
|
+
loop: false,
|
|
24
|
+
preload: 'auto',
|
|
25
|
+
type: 'progress',
|
|
26
|
+
onFastBack: function onFastBack(e) {},
|
|
27
|
+
onForward: function onForward(e) {},
|
|
28
|
+
onPause: function onPause(e) {},
|
|
29
|
+
onPlayEnd: function onPlayEnd(e) {},
|
|
30
|
+
onMute: function onMute(e) {},
|
|
31
|
+
onCanPlay: function onCanPlay(e) {}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var Audio = function Audio(props) {
|
|
35
|
+
var _useConfig = useConfig(),
|
|
36
|
+
locale = _useConfig.locale;
|
|
37
|
+
|
|
38
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
39
|
+
className = _defaultProps$props.className,
|
|
40
|
+
url = _defaultProps$props.url,
|
|
41
|
+
style = _defaultProps$props.style,
|
|
42
|
+
muted = _defaultProps$props.muted,
|
|
43
|
+
autoplay = _defaultProps$props.autoplay,
|
|
44
|
+
loop = _defaultProps$props.loop,
|
|
45
|
+
preload = _defaultProps$props.preload,
|
|
46
|
+
type = _defaultProps$props.type,
|
|
47
|
+
onFastBack = _defaultProps$props.onFastBack,
|
|
48
|
+
onForward = _defaultProps$props.onForward,
|
|
49
|
+
onPause = _defaultProps$props.onPause,
|
|
50
|
+
onPlayEnd = _defaultProps$props.onPlayEnd,
|
|
51
|
+
onMute = _defaultProps$props.onMute,
|
|
52
|
+
onCanPlay = _defaultProps$props.onCanPlay,
|
|
53
|
+
children = _defaultProps$props.children,
|
|
54
|
+
rest = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
55
|
+
|
|
56
|
+
var _useState = useState(false),
|
|
57
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
58
|
+
playing = _useState2[0],
|
|
59
|
+
setPlaying = _useState2[1];
|
|
60
|
+
|
|
61
|
+
var _useState3 = useState(0),
|
|
62
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
63
|
+
percent = _useState4[0],
|
|
64
|
+
setPercent = _useState4[1];
|
|
65
|
+
|
|
66
|
+
var _useState5 = useState(false),
|
|
67
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
68
|
+
isCanPlay = _useState6[0],
|
|
69
|
+
setIsCanPlay = _useState6[1];
|
|
70
|
+
|
|
71
|
+
var _useState7 = useState('00:00:00'),
|
|
72
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
73
|
+
currentDuration = _useState8[0],
|
|
74
|
+
setCurrentDuration = _useState8[1];
|
|
75
|
+
|
|
76
|
+
var AudioRef = useRef(null);
|
|
77
|
+
var statusRef = useRef({
|
|
78
|
+
currentTime: 0,
|
|
79
|
+
currentDuration: '00:00:00',
|
|
80
|
+
percent: 0,
|
|
81
|
+
duration: '00:00:00',
|
|
82
|
+
second: 0,
|
|
83
|
+
hanMuted: props.muted,
|
|
84
|
+
playing: props.autoplay,
|
|
85
|
+
handPlaying: false
|
|
86
|
+
});
|
|
87
|
+
var b = cn('audio');
|
|
88
|
+
var warn = console.warn;
|
|
89
|
+
|
|
90
|
+
var handleEnded = function handleEnded(e) {
|
|
91
|
+
if (props.loop) {
|
|
92
|
+
warn(locale.audio.tips || 'onPlayEnd事件在loop=false时才会触发');
|
|
93
|
+
} else {
|
|
94
|
+
props.onPlayEnd && props.onPlayEnd(e);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
function watch() {
|
|
99
|
+
if (AudioRef && AudioRef.current) {
|
|
100
|
+
var current = AudioRef.current;
|
|
101
|
+
current.addEventListener('play', function () {
|
|
102
|
+
setPlaying(true);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
useEffect(function () {
|
|
108
|
+
watch();
|
|
109
|
+
}, []);
|
|
110
|
+
useEffect(function () {}, [currentDuration]);
|
|
111
|
+
|
|
112
|
+
var handleStatusChange = function handleStatusChange() {
|
|
113
|
+
setPlaying(!playing);
|
|
114
|
+
|
|
115
|
+
if (playing) {
|
|
116
|
+
AudioRef && AudioRef.current && AudioRef.current.pause();
|
|
117
|
+
} else {
|
|
118
|
+
AudioRef && AudioRef.current && AudioRef.current.play();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
var renderIcon = function renderIcon() {
|
|
123
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
124
|
+
className: b('icon')
|
|
125
|
+
}, React__default.createElement("div", {
|
|
126
|
+
className: "".concat(b('icon-box'), " ").concat(playing ? b('icon-play') : b('icon-stop')),
|
|
127
|
+
onClick: handleStatusChange
|
|
128
|
+
}, playing ? React__default.createElement(Icon, {
|
|
129
|
+
name: "service",
|
|
130
|
+
className: "nut-icon-loading"
|
|
131
|
+
}) : React__default.createElement(Icon, {
|
|
132
|
+
name: "service"
|
|
133
|
+
}))));
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var handleBack = function handleBack() {
|
|
137
|
+
if (statusRef.current.currentTime > 0 && AudioRef.current) {
|
|
138
|
+
statusRef.current.currentTime--;
|
|
139
|
+
AudioRef.current.currentTime = statusRef.current.currentTime;
|
|
140
|
+
props.onFastBack && props.onFastBack(AudioRef.current);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
var handleForward = function handleForward() {
|
|
145
|
+
if (AudioRef.current) {
|
|
146
|
+
statusRef.current.currentTime++;
|
|
147
|
+
AudioRef.current.currentTime = statusRef.current.currentTime;
|
|
148
|
+
props.onForward && props.onForward(AudioRef.current);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
var handleMute = function handleMute() {
|
|
153
|
+
if (AudioRef.current) {
|
|
154
|
+
AudioRef.current.muted = !AudioRef.current.muted;
|
|
155
|
+
props.onMute && props.onMute(AudioRef.current);
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
var handlePause = function handlePause(e) {
|
|
160
|
+
setPlaying(false);
|
|
161
|
+
props.onPause && props.onPause(e);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
var formatSeconds = function formatSeconds(value) {
|
|
165
|
+
if (!value) {
|
|
166
|
+
return '00:00:00';
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
var time = parseInt(value);
|
|
170
|
+
var hours = Math.floor(time / 3600);
|
|
171
|
+
var minutes = Math.floor((time - hours * 3600) / 60);
|
|
172
|
+
var seconds = time - hours * 3600 - minutes * 60;
|
|
173
|
+
var result = '';
|
|
174
|
+
result += "".concat("0".concat(hours.toString()).slice(-2), ":");
|
|
175
|
+
result += "".concat("0".concat(minutes.toString()).slice(-2), ":");
|
|
176
|
+
result += "0".concat(seconds.toString()).slice(-2);
|
|
177
|
+
return result;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
var renderProgerss = function renderProgerss() {
|
|
181
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
182
|
+
className: b('progress')
|
|
183
|
+
}, React__default.createElement("div", {
|
|
184
|
+
className: "time"
|
|
185
|
+
}, currentDuration), React__default.createElement("div", {
|
|
186
|
+
className: b('progress-bar-wrapper')
|
|
187
|
+
}, React__default.createElement(Range, {
|
|
188
|
+
modelValue: percent,
|
|
189
|
+
hiddenTag: true,
|
|
190
|
+
hiddenRange: true,
|
|
191
|
+
"inactive-color": "#cccccc",
|
|
192
|
+
"active-color": "#fa2c19"
|
|
193
|
+
})), React__default.createElement("div", {
|
|
194
|
+
className: "time"
|
|
195
|
+
}, AudioRef.current ? formatSeconds("".concat(statusRef.current.second)) : '00:00:00')), React__default.createElement("div", {
|
|
196
|
+
className: isCanPlay ? 'custom-button-group' : 'custom-button-group-disable'
|
|
197
|
+
}, React__default.createElement(Button, {
|
|
198
|
+
type: "primary",
|
|
199
|
+
size: "small",
|
|
200
|
+
className: "back",
|
|
201
|
+
onClick: handleBack
|
|
202
|
+
}, locale.audio.back || '快退'), React__default.createElement(Button, {
|
|
203
|
+
type: "primary",
|
|
204
|
+
size: "small",
|
|
205
|
+
className: "start",
|
|
206
|
+
onClick: handleStatusChange
|
|
207
|
+
}, playing ? "".concat(locale.audio.pause || '暂停') : "".concat(locale.audio.start || '开始')), React__default.createElement(Button, {
|
|
208
|
+
type: "primary",
|
|
209
|
+
size: "small",
|
|
210
|
+
onClick: handleForward
|
|
211
|
+
}, locale.audio.forward || '快进'), React__default.createElement(Button, {
|
|
212
|
+
type: AudioRef.current && AudioRef.current.muted ? 'default' : 'primary',
|
|
213
|
+
size: "small",
|
|
214
|
+
onClick: handleMute
|
|
215
|
+
}, locale.audio.mute || '静音')));
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
var renderNone = function renderNone() {
|
|
219
|
+
return React__default.createElement("div", {
|
|
220
|
+
className: b('none-container'),
|
|
221
|
+
onClick: handleStatusChange
|
|
222
|
+
}, children);
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
var renderAudio = function renderAudio() {
|
|
226
|
+
switch (type) {
|
|
227
|
+
case 'icon':
|
|
228
|
+
return renderIcon();
|
|
229
|
+
|
|
230
|
+
case 'progress':
|
|
231
|
+
return renderProgerss();
|
|
232
|
+
|
|
233
|
+
case 'none':
|
|
234
|
+
return renderNone();
|
|
235
|
+
|
|
236
|
+
default:
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
var handleCanplay = function handleCanplay(e) {
|
|
242
|
+
setIsCanPlay(true);
|
|
243
|
+
|
|
244
|
+
if (props.autoplay && !playing) {
|
|
245
|
+
AudioRef && AudioRef.current && AudioRef.current.play();
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (AudioRef.current) {
|
|
249
|
+
statusRef.current.second = AudioRef.current.duration || 0;
|
|
250
|
+
props.onCanPlay && props.onCanPlay(e);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
var onTimeupdate = function onTimeupdate(e) {
|
|
255
|
+
var time = parseInt(e.target.currentTime);
|
|
256
|
+
var formated = formatSeconds("".concat(time));
|
|
257
|
+
statusRef.current.currentDuration = formated;
|
|
258
|
+
setPercent(time / statusRef.current.second * 100);
|
|
259
|
+
setCurrentDuration(formated);
|
|
260
|
+
statusRef.current.currentTime = time;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
return React__default.createElement("div", _objectSpread({
|
|
264
|
+
className: "".concat(b(), " ").concat(className),
|
|
265
|
+
style: style
|
|
266
|
+
}, rest), renderAudio(), React__default.createElement("audio", {
|
|
267
|
+
className: "audioMain",
|
|
268
|
+
controls: type === 'controls',
|
|
269
|
+
ref: AudioRef,
|
|
270
|
+
src: url,
|
|
271
|
+
muted: muted,
|
|
272
|
+
preload: preload,
|
|
273
|
+
loop: loop,
|
|
274
|
+
onPause: function onPause(e) {
|
|
275
|
+
return handlePause(e);
|
|
276
|
+
},
|
|
277
|
+
onEnded: function onEnded(e) {
|
|
278
|
+
return handleEnded(e);
|
|
279
|
+
},
|
|
280
|
+
onCanPlay: function onCanPlay(e) {
|
|
281
|
+
return handleCanplay(e);
|
|
282
|
+
},
|
|
283
|
+
onTimeUpdate: function onTimeUpdate(e) {
|
|
284
|
+
return onTimeupdate(e);
|
|
285
|
+
}
|
|
286
|
+
}, React__default.createElement("track", {
|
|
287
|
+
kind: "captions"
|
|
288
|
+
})));
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
Audio.defaultProps = defaultProps;
|
|
292
|
+
Audio.displayName = 'NutAudio';
|
|
293
|
+
export { Audio as default };
|
package/dist/esm/Calendar.js
CHANGED
|
@@ -4,7 +4,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
|
|
7
|
-
import React__default from 'react';
|
|
7
|
+
import React__default, { useRef } from 'react';
|
|
8
8
|
import Popup from './Popup.js';
|
|
9
9
|
import CalendarItem from './CalendarItem.js';
|
|
10
10
|
import { U as Utils } from './date-710f8c7c.js';
|
|
@@ -18,16 +18,26 @@ var defaultProps = {
|
|
|
18
18
|
defaultValue: '',
|
|
19
19
|
startDate: Utils.getDay(0),
|
|
20
20
|
endDate: Utils.getDay(365),
|
|
21
|
+
showToday: true,
|
|
22
|
+
startText: '开始',
|
|
23
|
+
endText: '结束',
|
|
24
|
+
confirmText: '确认',
|
|
25
|
+
showTitle: true,
|
|
26
|
+
showSubTitle: true,
|
|
27
|
+
toDateAnimation: true,
|
|
28
|
+
onBtn: undefined,
|
|
29
|
+
onDay: undefined,
|
|
30
|
+
onTopInfo: undefined,
|
|
31
|
+
onBottomInfo: undefined,
|
|
21
32
|
onClose: function onClose() {},
|
|
22
|
-
onChoose: function onChoose(param) {}
|
|
33
|
+
onChoose: function onChoose(param) {},
|
|
34
|
+
onSelected: function onSelected(data) {}
|
|
23
35
|
};
|
|
24
|
-
|
|
25
|
-
var Calendar = function Calendar(props) {
|
|
36
|
+
var Calendar = React__default.forwardRef(function (props, ref) {
|
|
26
37
|
var _useConfig = useConfig(),
|
|
27
38
|
locale = _useConfig.locale;
|
|
28
39
|
|
|
29
40
|
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
30
|
-
children = _defaultProps$props.children,
|
|
31
41
|
poppable = _defaultProps$props.poppable,
|
|
32
42
|
visible = _defaultProps$props.visible,
|
|
33
43
|
type = _defaultProps$props.type,
|
|
@@ -36,15 +46,27 @@ var Calendar = function Calendar(props) {
|
|
|
36
46
|
defaultValue = _defaultProps$props.defaultValue,
|
|
37
47
|
startDate = _defaultProps$props.startDate,
|
|
38
48
|
endDate = _defaultProps$props.endDate,
|
|
49
|
+
showToday = _defaultProps$props.showToday,
|
|
50
|
+
startText = _defaultProps$props.startText,
|
|
51
|
+
endText = _defaultProps$props.endText,
|
|
52
|
+
confirmText = _defaultProps$props.confirmText,
|
|
53
|
+
showTitle = _defaultProps$props.showTitle,
|
|
54
|
+
showSubTitle = _defaultProps$props.showSubTitle,
|
|
55
|
+
toDateAnimation = _defaultProps$props.toDateAnimation,
|
|
56
|
+
onBtn = _defaultProps$props.onBtn,
|
|
57
|
+
onDay = _defaultProps$props.onDay,
|
|
58
|
+
onTopInfo = _defaultProps$props.onTopInfo,
|
|
59
|
+
onBottomInfo = _defaultProps$props.onBottomInfo,
|
|
39
60
|
onClose = _defaultProps$props.onClose,
|
|
40
|
-
onChoose = _defaultProps$props.onChoose
|
|
61
|
+
onChoose = _defaultProps$props.onChoose,
|
|
62
|
+
onSelected = _defaultProps$props.onSelected;
|
|
63
|
+
|
|
64
|
+
var calendarRef = useRef(null);
|
|
41
65
|
|
|
42
66
|
var close = function close() {
|
|
43
67
|
onClose && onClose();
|
|
44
68
|
};
|
|
45
69
|
|
|
46
|
-
var update = function update() {};
|
|
47
|
-
|
|
48
70
|
var choose = function choose(param) {
|
|
49
71
|
close();
|
|
50
72
|
onChoose && onChoose(param);
|
|
@@ -54,37 +76,62 @@ var Calendar = function Calendar(props) {
|
|
|
54
76
|
close();
|
|
55
77
|
};
|
|
56
78
|
|
|
79
|
+
var select = function select(param) {
|
|
80
|
+
onSelected && onSelected(param);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
var scrollToDate = function scrollToDate(date) {
|
|
84
|
+
var _calendarRef$current;
|
|
85
|
+
|
|
86
|
+
(_calendarRef$current = calendarRef.current) === null || _calendarRef$current === void 0 ? void 0 : _calendarRef$current.scrollToDate(date);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
React__default.useImperativeHandle(ref, function () {
|
|
90
|
+
return {
|
|
91
|
+
scrollToDate: scrollToDate
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
var renderItem = function renderItem() {
|
|
96
|
+
return React__default.createElement(CalendarItem, {
|
|
97
|
+
ref: calendarRef,
|
|
98
|
+
type: type,
|
|
99
|
+
isAutoBackFill: isAutoBackFill,
|
|
100
|
+
poppable: poppable,
|
|
101
|
+
title: locale.calendaritem.title || title,
|
|
102
|
+
defaultValue: defaultValue,
|
|
103
|
+
startDate: startDate,
|
|
104
|
+
endDate: endDate,
|
|
105
|
+
showToday: showToday,
|
|
106
|
+
startText: startText,
|
|
107
|
+
endText: endText,
|
|
108
|
+
confirmText: confirmText,
|
|
109
|
+
showTitle: showTitle,
|
|
110
|
+
showSubTitle: showSubTitle,
|
|
111
|
+
toDateAnimation: toDateAnimation,
|
|
112
|
+
onBtn: onBtn,
|
|
113
|
+
onDay: onDay,
|
|
114
|
+
onTopInfo: onTopInfo,
|
|
115
|
+
onBottomInfo: onBottomInfo,
|
|
116
|
+
onChoose: choose,
|
|
117
|
+
onSelected: select
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
|
|
57
121
|
return React__default.createElement(React__default.Fragment, null, poppable ? React__default.createElement(Popup, {
|
|
58
122
|
visible: visible,
|
|
59
123
|
position: "bottom",
|
|
60
124
|
round: true,
|
|
125
|
+
duration: 0.5,
|
|
61
126
|
closeable: true,
|
|
127
|
+
destroyOnClose: true,
|
|
62
128
|
onClickOverlay: closePopup,
|
|
63
|
-
onClickCloseIcon: closePopup
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
defaultValue: defaultValue,
|
|
70
|
-
startDate: startDate,
|
|
71
|
-
endDate: endDate,
|
|
72
|
-
onUpdate: update,
|
|
73
|
-
onClose: close,
|
|
74
|
-
onChoose: choose
|
|
75
|
-
})) : React__default.createElement(CalendarItem, {
|
|
76
|
-
type: type,
|
|
77
|
-
isAutoBackFill: isAutoBackFill,
|
|
78
|
-
poppable: poppable,
|
|
79
|
-
title: locale.calendaritem.title,
|
|
80
|
-
defaultValue: defaultValue,
|
|
81
|
-
startDate: startDate,
|
|
82
|
-
endDate: endDate,
|
|
83
|
-
onClose: close,
|
|
84
|
-
onChoose: choose
|
|
85
|
-
}));
|
|
86
|
-
};
|
|
87
|
-
|
|
129
|
+
onClickCloseIcon: closePopup,
|
|
130
|
+
style: {
|
|
131
|
+
height: '85vh'
|
|
132
|
+
}
|
|
133
|
+
}, renderItem()) : renderItem());
|
|
134
|
+
});
|
|
88
135
|
Calendar.defaultProps = defaultProps;
|
|
89
136
|
Calendar.displayName = 'NutCalendar';
|
|
90
137
|
export { Calendar as default };
|