@nutui/nutui-react 1.3.0 → 1.3.1-beta.0
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/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
|
@@ -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 };
|