@arco-design/mobile-react 2.22.2 → 2.23.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/CHANGELOG.md +28 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/carousel/index.d.ts +6 -0
- package/cjs/carousel/index.js +6 -4
- package/cjs/image-picker/index.js +18 -12
- package/cjs/image-picker/type.d.ts +10 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +5 -1
- package/cjs/input/style/css/index.css +1 -0
- package/cjs/input/style/index.less +1 -0
- package/cjs/stepper/demo/style/css/mobile.css +4 -0
- package/cjs/stepper/demo/style/mobile.less +10 -0
- package/cjs/stepper/hooks/useButtonClick.d.ts +11 -0
- package/cjs/stepper/hooks/useButtonClick.js +74 -0
- package/cjs/stepper/hooks/useInputEvent.d.ts +9 -0
- package/cjs/stepper/hooks/useInputEvent.js +59 -0
- package/cjs/stepper/hooks/useValue.d.ts +6 -0
- package/cjs/stepper/hooks/useValue.js +44 -0
- package/cjs/stepper/index.d.ts +13 -0
- package/cjs/stepper/index.js +184 -0
- package/cjs/stepper/style/css/index.css +76 -0
- package/cjs/stepper/style/css/index.d.ts +2 -0
- package/cjs/stepper/style/css/index.js +5 -0
- package/cjs/stepper/style/index.d.ts +2 -0
- package/cjs/stepper/style/index.js +5 -0
- package/cjs/stepper/style/index.less +80 -0
- package/cjs/stepper/type.d.ts +159 -0
- package/cjs/stepper/type.js +3 -0
- package/cjs/style.d.ts +1 -0
- package/cjs/style.js +2 -0
- package/dist/index.js +439 -98
- package/dist/index.min.js +4 -4
- package/dist/style.css +64 -0
- package/dist/style.min.css +1 -1
- package/esm/carousel/index.d.ts +6 -0
- package/esm/carousel/index.js +6 -4
- package/esm/image-picker/index.js +18 -12
- package/esm/image-picker/type.d.ts +10 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/input/style/css/index.css +1 -0
- package/esm/input/style/index.less +1 -0
- package/esm/stepper/demo/style/css/mobile.css +4 -0
- package/esm/stepper/demo/style/mobile.less +10 -0
- package/esm/stepper/hooks/useButtonClick.d.ts +11 -0
- package/esm/stepper/hooks/useButtonClick.js +69 -0
- package/esm/stepper/hooks/useInputEvent.d.ts +9 -0
- package/esm/stepper/hooks/useInputEvent.js +53 -0
- package/esm/stepper/hooks/useValue.d.ts +6 -0
- package/esm/stepper/hooks/useValue.js +38 -0
- package/esm/stepper/index.d.ts +13 -0
- package/esm/stepper/index.js +157 -0
- package/esm/stepper/style/css/index.css +76 -0
- package/esm/stepper/style/css/index.d.ts +2 -0
- package/esm/stepper/style/css/index.js +2 -0
- package/esm/stepper/style/index.d.ts +2 -0
- package/esm/stepper/style/index.js +2 -0
- package/esm/stepper/style/index.less +80 -0
- package/esm/stepper/type.d.ts +159 -0
- package/esm/stepper/type.js +1 -0
- package/esm/style.d.ts +1 -0
- package/esm/style.js +1 -0
- package/package.json +3 -3
- package/tokens/app/arcodesign/default/css-variables.less +15 -0
- package/tokens/app/arcodesign/default/index.d.ts +15 -0
- package/tokens/app/arcodesign/default/index.js +16 -1
- package/tokens/app/arcodesign/default/index.json +180 -0
- package/tokens/app/arcodesign/default/index.less +15 -0
- package/tools/flexible.js +82 -63
- package/umd/carousel/index.d.ts +6 -0
- package/umd/carousel/index.js +6 -4
- package/umd/image-picker/index.js +18 -12
- package/umd/image-picker/type.d.ts +10 -0
- package/umd/index.d.ts +1 -0
- package/umd/index.js +7 -5
- package/umd/input/style/css/index.css +1 -0
- package/umd/input/style/index.less +1 -0
- package/umd/stepper/demo/style/css/mobile.css +4 -0
- package/umd/stepper/demo/style/mobile.less +10 -0
- package/umd/stepper/hooks/useButtonClick.d.ts +11 -0
- package/umd/stepper/hooks/useButtonClick.js +86 -0
- package/umd/stepper/hooks/useInputEvent.d.ts +9 -0
- package/umd/stepper/hooks/useInputEvent.js +71 -0
- package/umd/stepper/hooks/useValue.d.ts +6 -0
- package/umd/stepper/hooks/useValue.js +56 -0
- package/umd/stepper/index.d.ts +13 -0
- package/umd/stepper/index.js +185 -0
- package/umd/stepper/style/css/index.css +76 -0
- package/umd/stepper/style/css/index.d.ts +2 -0
- package/umd/stepper/style/css/index.js +15 -0
- package/umd/stepper/style/index.d.ts +2 -0
- package/umd/stepper/style/index.js +15 -0
- package/umd/stepper/style/index.less +80 -0
- package/umd/stepper/type.d.ts +159 -0
- package/umd/stepper/type.js +17 -0
- package/umd/style.d.ts +1 -0
- package/umd/style.js +4 -4
package/umd/carousel/index.d.ts
CHANGED
|
@@ -66,6 +66,12 @@ export interface CarouselProps {
|
|
|
66
66
|
* @default true
|
|
67
67
|
*/
|
|
68
68
|
autoPlay?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* 自动播放方向
|
|
71
|
+
* @en Direction when playing auto
|
|
72
|
+
* @default "normal"
|
|
73
|
+
*/
|
|
74
|
+
autoPlayDirection?: 'normal' | 'reverse';
|
|
69
75
|
/**
|
|
70
76
|
* 是否响应手势滑动
|
|
71
77
|
* @en Whether to respond to gesture swipe
|
package/umd/carousel/index.js
CHANGED
|
@@ -47,6 +47,8 @@
|
|
|
47
47
|
loop = _props$loop === void 0 ? true : _props$loop,
|
|
48
48
|
_props$autoPlay = props.autoPlay,
|
|
49
49
|
autoPlay = _props$autoPlay === void 0 ? true : _props$autoPlay,
|
|
50
|
+
_props$autoPlayDirect = props.autoPlayDirection,
|
|
51
|
+
autoPlayDirection = _props$autoPlayDirect === void 0 ? 'normal' : _props$autoPlayDirect,
|
|
50
52
|
_props$swipeable = props.swipeable,
|
|
51
53
|
swipeable = _props$swipeable === void 0 ? true : _props$swipeable,
|
|
52
54
|
_props$stayDuration = props.stayDuration,
|
|
@@ -169,7 +171,7 @@
|
|
|
169
171
|
transformsRef = _useRefState4[1],
|
|
170
172
|
setTransforms = _useRefState4[2];
|
|
171
173
|
|
|
172
|
-
var _useRefState5 = (0, _helpers.useRefState)('left'),
|
|
174
|
+
var _useRefState5 = (0, _helpers.useRefState)(autoPlayDirection === 'reverse' && autoPlay ? 'right' : 'left'),
|
|
173
175
|
direction = _useRefState5[0],
|
|
174
176
|
directionRef = _useRefState5[1],
|
|
175
177
|
setStateDirection = _useRefState5[2];
|
|
@@ -406,7 +408,7 @@
|
|
|
406
408
|
return function () {
|
|
407
409
|
clear();
|
|
408
410
|
};
|
|
409
|
-
}, [userSetBoxWidth, userSetBoxHeight, childWidth, childHeight, stayDuration, noInterval]);
|
|
411
|
+
}, [userSetBoxWidth, userSetBoxHeight, childWidth, childHeight, stayDuration, noInterval, autoPlayDirection]);
|
|
410
412
|
(0, _helpers.useUpdateEffect)(function () {
|
|
411
413
|
if (currentIndex !== void 0) {
|
|
412
414
|
jumpTo(currentIndex);
|
|
@@ -546,7 +548,7 @@
|
|
|
546
548
|
var changedIndex = newIndex !== oldIndex ? getShownIndex(newIndex) : -1;
|
|
547
549
|
|
|
548
550
|
if (autoJump) {
|
|
549
|
-
setDirection('left');
|
|
551
|
+
setDirection(autoPlayDirection === 'reverse' ? 'right' : 'left');
|
|
550
552
|
} else if (newIndex === indexRef.current) {
|
|
551
553
|
setDirection(distanceRef.current > 0 ? 'right' : 'left');
|
|
552
554
|
} else {
|
|
@@ -600,7 +602,7 @@
|
|
|
600
602
|
}
|
|
601
603
|
|
|
602
604
|
timerRef.current = delayTimeout(function () {
|
|
603
|
-
jumpTo(indexRef.current + 1);
|
|
605
|
+
jumpTo(autoPlayDirection === 'reverse' ? indexRef.current - 1 : indexRef.current + 1);
|
|
604
606
|
}, stayDuration);
|
|
605
607
|
}
|
|
606
608
|
|
|
@@ -81,7 +81,9 @@
|
|
|
81
81
|
onMaxSizeExceed = props.onMaxSizeExceed,
|
|
82
82
|
onLimitExceed = props.onLimitExceed,
|
|
83
83
|
upload = props.upload,
|
|
84
|
-
selectAdapter = props.selectAdapter
|
|
84
|
+
selectAdapter = props.selectAdapter,
|
|
85
|
+
onSelectClick = props.onSelectClick,
|
|
86
|
+
onDeleteClick = props.onDeleteClick;
|
|
85
87
|
var domRef = (0, _react.useRef)(null);
|
|
86
88
|
var fileRef = (0, _react.useRef)(null);
|
|
87
89
|
var cacheRef = (0, _react.useRef)([]);
|
|
@@ -182,6 +184,7 @@
|
|
|
182
184
|
};
|
|
183
185
|
|
|
184
186
|
var handleDelete = function handleDelete(index) {
|
|
187
|
+
onDeleteClick && onDeleteClick(index);
|
|
185
188
|
onChange(images.filter(function (_i, j) {
|
|
186
189
|
return j !== index;
|
|
187
190
|
}));
|
|
@@ -205,17 +208,20 @@
|
|
|
205
208
|
}
|
|
206
209
|
};
|
|
207
210
|
|
|
208
|
-
var handleSelect = function handleSelect() {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
211
|
+
var handleSelect = function handleSelect(e) {
|
|
212
|
+
if (e.target !== fileRef.current) {
|
|
213
|
+
var _fileRef$current;
|
|
214
|
+
|
|
215
|
+
onSelectClick && onSelectClick();
|
|
216
|
+
selectAdapter ? selectAdapter().then(function (_ref4) {
|
|
217
|
+
var files = _ref4.files;
|
|
218
|
+
return handleChange({
|
|
219
|
+
target: {
|
|
220
|
+
files: files
|
|
221
|
+
}
|
|
222
|
+
}, true);
|
|
223
|
+
}) : (_fileRef$current = fileRef.current) == null ? void 0 : _fileRef$current.click();
|
|
224
|
+
}
|
|
219
225
|
};
|
|
220
226
|
|
|
221
227
|
var getGridData = function getGridData(prefixCls, locale) {
|
|
@@ -164,6 +164,16 @@ export interface ImagePickerProps {
|
|
|
164
164
|
* @en Select Adaptor
|
|
165
165
|
*/
|
|
166
166
|
selectAdapter?: () => Promise<SelectCallback>;
|
|
167
|
+
/**
|
|
168
|
+
* 选图点击事件
|
|
169
|
+
* @en Select Icon Click Event
|
|
170
|
+
*/
|
|
171
|
+
onSelectClick?: () => void;
|
|
172
|
+
/**
|
|
173
|
+
* 删除点击事件
|
|
174
|
+
* @en Delete Icon Click Event
|
|
175
|
+
*/
|
|
176
|
+
onDeleteClick?: (index: number) => void;
|
|
167
177
|
}
|
|
168
178
|
export interface ImagePickerRef {
|
|
169
179
|
/**
|
package/umd/index.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export { default as Radio } from './radio';
|
|
|
42
42
|
export { default as Rate } from './rate';
|
|
43
43
|
export { default as Slider } from './slider';
|
|
44
44
|
export { default as SearchBar } from './search-bar';
|
|
45
|
+
export { default as Stepper } from './stepper';
|
|
45
46
|
export { default as Steps } from './steps';
|
|
46
47
|
export { default as Sticky } from './sticky';
|
|
47
48
|
export { default as SwipeAction } from './swipe-action';
|
package/umd/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "./action-sheet", "./cell", "./loading", "./badge", "./avatar", "./button", "./carousel", "./toast", "./switch", "./checkbox", "./circle-progress", "./collapse", "./tabs", "./context-provider", "./dialog", "./count-down", "./date-picker", "./dropdown", "./dropdown-menu", "./ellipsis", "./grid", "./image", "./show-monitor", "./image-picker", "./image-preview", "./input", "./load-more", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./slider", "./search-bar", "./steps", "./sticky", "./swipe-action", "./swipe-load", "./tab-bar", "./tag", "./textarea", "./transition"], factory);
|
|
3
|
+
define(["exports", "./action-sheet", "./cell", "./loading", "./badge", "./avatar", "./button", "./carousel", "./toast", "./switch", "./checkbox", "./circle-progress", "./collapse", "./tabs", "./context-provider", "./dialog", "./count-down", "./date-picker", "./dropdown", "./dropdown-menu", "./ellipsis", "./grid", "./image", "./show-monitor", "./image-picker", "./image-preview", "./input", "./load-more", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./slider", "./search-bar", "./stepper", "./steps", "./sticky", "./swipe-action", "./swipe-load", "./tab-bar", "./tag", "./textarea", "./transition"], factory);
|
|
4
4
|
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("./action-sheet"), require("./cell"), require("./loading"), require("./badge"), require("./avatar"), require("./button"), require("./carousel"), require("./toast"), require("./switch"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./tabs"), require("./context-provider"), require("./dialog"), require("./count-down"), require("./date-picker"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./grid"), require("./image"), require("./show-monitor"), require("./image-picker"), require("./image-preview"), require("./input"), require("./load-more"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./slider"), require("./search-bar"), require("./steps"), require("./sticky"), require("./swipe-action"), require("./swipe-load"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./transition"));
|
|
5
|
+
factory(exports, require("./action-sheet"), require("./cell"), require("./loading"), require("./badge"), require("./avatar"), require("./button"), require("./carousel"), require("./toast"), require("./switch"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./tabs"), require("./context-provider"), require("./dialog"), require("./count-down"), require("./date-picker"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./grid"), require("./image"), require("./show-monitor"), require("./image-picker"), require("./image-preview"), require("./input"), require("./load-more"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./slider"), require("./search-bar"), require("./stepper"), require("./steps"), require("./sticky"), require("./swipe-action"), require("./swipe-load"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./transition"));
|
|
6
6
|
} else {
|
|
7
7
|
var mod = {
|
|
8
8
|
exports: {}
|
|
9
9
|
};
|
|
10
|
-
factory(mod.exports, global.actionSheet, global.cell, global.loading, global.badge, global.avatar, global.button, global.carousel, global.toast, global._switch, global.checkbox, global.circleProgress, global.collapse, global.tabs, global.contextProvider, global.dialog, global.countDown, global.datePicker, global.dropdown, global.dropdownMenu, global.ellipsis, global.grid, global.image, global.showMonitor, global.imagePicker, global.imagePreview, global.input, global.loadMore, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.slider, global.searchBar, global.steps, global.sticky, global.swipeAction, global.swipeLoad, global.tabBar, global.tag, global.textarea, global.transition);
|
|
10
|
+
factory(mod.exports, global.actionSheet, global.cell, global.loading, global.badge, global.avatar, global.button, global.carousel, global.toast, global._switch, global.checkbox, global.circleProgress, global.collapse, global.tabs, global.contextProvider, global.dialog, global.countDown, global.datePicker, global.dropdown, global.dropdownMenu, global.ellipsis, global.grid, global.image, global.showMonitor, global.imagePicker, global.imagePreview, global.input, global.loadMore, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.slider, global.searchBar, global.stepper, global.steps, global.sticky, global.swipeAction, global.swipeLoad, global.tabBar, global.tag, global.textarea, global.transition);
|
|
11
11
|
global.index = mod.exports;
|
|
12
12
|
}
|
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _actionSheet, _cell, _loading, _badge, _avatar, _button, _carousel, _toast, _switch, _checkbox, _circleProgress, _collapse, _tabs, _contextProvider, _dialog, _countDown, _datePicker, _dropdown, _dropdownMenu, _ellipsis, _grid, _image, _showMonitor, _imagePicker, _imagePreview, _input, _loadMore, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _slider, _searchBar, _steps, _sticky, _swipeAction, _swipeLoad, _tabBar, _tag, _textarea, _transition) {
|
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _actionSheet, _cell, _loading, _badge, _avatar, _button, _carousel, _toast, _switch, _checkbox, _circleProgress, _collapse, _tabs, _contextProvider, _dialog, _countDown, _datePicker, _dropdown, _dropdownMenu, _ellipsis, _grid, _image, _showMonitor, _imagePicker, _imagePreview, _input, _loadMore, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _slider, _searchBar, _stepper, _steps, _sticky, _swipeAction, _swipeLoad, _tabBar, _tag, _textarea, _transition) {
|
|
14
14
|
"use strict";
|
|
15
15
|
|
|
16
16
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
17
17
|
|
|
18
18
|
_exports.__esModule = true;
|
|
19
|
-
_exports.Transition = _exports.Toast = _exports.Textarea = _exports.Tag = _exports.Tabs = _exports.TabBar = _exports.Switch = _exports.SwipeLoad = _exports.SwipeAction = _exports.Sticky = _exports.Steps = _exports.Slider = _exports.ShowMonitor = _exports.SearchBar = _exports.Rate = _exports.Radio = _exports.PullRefresh = _exports.Progress = _exports.Portal = _exports.PopupSwiper = _exports.Popup = _exports.Popover = _exports.PickerView = _exports.Picker = _exports.Pagination = _exports.Notify = _exports.NoticeBar = _exports.NavBar = _exports.Masking = _exports.Loading = _exports.LoadMore = _exports.Input = _exports.ImagePreview = _exports.ImagePicker = _exports.Image = _exports.Grid = _exports.Ellipsis = _exports.DropdownMenu = _exports.Dropdown = _exports.Dialog = _exports.DatePicker = _exports.CountDown = _exports.ContextProvider = _exports.Collapse = _exports.CircleProgress = _exports.Checkbox = _exports.Cell = _exports.Carousel = _exports.Button = _exports.Badge = _exports.Avatar = _exports.ActionSheet = void 0;
|
|
19
|
+
_exports.Transition = _exports.Toast = _exports.Textarea = _exports.Tag = _exports.Tabs = _exports.TabBar = _exports.Switch = _exports.SwipeLoad = _exports.SwipeAction = _exports.Sticky = _exports.Steps = _exports.Stepper = _exports.Slider = _exports.ShowMonitor = _exports.SearchBar = _exports.Rate = _exports.Radio = _exports.PullRefresh = _exports.Progress = _exports.Portal = _exports.PopupSwiper = _exports.Popup = _exports.Popover = _exports.PickerView = _exports.Picker = _exports.Pagination = _exports.Notify = _exports.NoticeBar = _exports.NavBar = _exports.Masking = _exports.Loading = _exports.LoadMore = _exports.Input = _exports.ImagePreview = _exports.ImagePicker = _exports.Image = _exports.Grid = _exports.Ellipsis = _exports.DropdownMenu = _exports.Dropdown = _exports.Dialog = _exports.DatePicker = _exports.CountDown = _exports.ContextProvider = _exports.Collapse = _exports.CircleProgress = _exports.Checkbox = _exports.Cell = _exports.Carousel = _exports.Button = _exports.Badge = _exports.Avatar = _exports.ActionSheet = void 0;
|
|
20
20
|
_actionSheet = _interopRequireDefault(_actionSheet);
|
|
21
21
|
_exports.ActionSheet = _actionSheet.default;
|
|
22
22
|
_cell = _interopRequireDefault(_cell);
|
|
@@ -105,6 +105,8 @@
|
|
|
105
105
|
_exports.Slider = _slider.default;
|
|
106
106
|
_searchBar = _interopRequireDefault(_searchBar);
|
|
107
107
|
_exports.SearchBar = _searchBar.default;
|
|
108
|
+
_stepper = _interopRequireDefault(_stepper);
|
|
109
|
+
_exports.Stepper = _stepper.default;
|
|
108
110
|
_steps = _interopRequireDefault(_steps);
|
|
109
111
|
_exports.Steps = _steps.default;
|
|
110
112
|
_sticky = _interopRequireDefault(_sticky);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StepperProps } from '../type';
|
|
3
|
+
export default function useButtonClick(params: Required<Pick<StepperProps, 'min' | 'max' | 'step' | 'disabled' | 'digits' | 'digits' | 'equalLimitDisabled'>> & Pick<StepperProps, 'onAddButtonClick' | 'onMinusButtonClick'> & {
|
|
4
|
+
actualInputValue: number;
|
|
5
|
+
updateValue: (updater: number | ((oldValue: number) => number)) => void;
|
|
6
|
+
}): {
|
|
7
|
+
minusButtonDisable: boolean;
|
|
8
|
+
addButtonDisable: boolean;
|
|
9
|
+
handleMinusButtonClick: (e: React.MouseEvent) => void;
|
|
10
|
+
handleAddButtonClick: (e: React.MouseEvent) => void;
|
|
11
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
if (typeof define === "function" && define.amd) {
|
|
3
|
+
define(["exports", "react"], factory);
|
|
4
|
+
} else if (typeof exports !== "undefined") {
|
|
5
|
+
factory(exports, require("react"));
|
|
6
|
+
} else {
|
|
7
|
+
var mod = {
|
|
8
|
+
exports: {}
|
|
9
|
+
};
|
|
10
|
+
factory(mod.exports, global.react);
|
|
11
|
+
global.useButtonClick = mod.exports;
|
|
12
|
+
}
|
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react) {
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
_exports.__esModule = true;
|
|
17
|
+
_exports.default = useButtonClick;
|
|
18
|
+
|
|
19
|
+
function correctCalculation(leftNumber, rightNumber, operator) {
|
|
20
|
+
var magnification = 1e17;
|
|
21
|
+
var left = leftNumber * magnification;
|
|
22
|
+
var right = rightNumber * magnification;
|
|
23
|
+
return operator === '-' ? (left - right) / magnification : (left + right) / magnification;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function useButtonClick(params) {
|
|
27
|
+
var actualInputValue = params.actualInputValue,
|
|
28
|
+
min = params.min,
|
|
29
|
+
max = params.max,
|
|
30
|
+
step = params.step,
|
|
31
|
+
disabled = params.disabled,
|
|
32
|
+
equalLimitDisabled = params.equalLimitDisabled,
|
|
33
|
+
updateValue = params.updateValue,
|
|
34
|
+
onAddButtonClick = params.onAddButtonClick,
|
|
35
|
+
onMinusButtonClick = params.onMinusButtonClick;
|
|
36
|
+
|
|
37
|
+
var _useState = (0, _react.useState)(function () {
|
|
38
|
+
return actualInputValue === min || disabled;
|
|
39
|
+
}),
|
|
40
|
+
minusButtonDisable = _useState[0],
|
|
41
|
+
setMinusButtonDisable = _useState[1];
|
|
42
|
+
|
|
43
|
+
var _useState2 = (0, _react.useState)(function () {
|
|
44
|
+
return actualInputValue === max || disabled;
|
|
45
|
+
}),
|
|
46
|
+
addButtonDisable = _useState2[0],
|
|
47
|
+
setAddButtonDisable = _useState2[1];
|
|
48
|
+
|
|
49
|
+
var handleMinusButtonClick = function handleMinusButtonClick(e) {
|
|
50
|
+
if (minusButtonDisable) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
updateValue(function (oldValue) {
|
|
55
|
+
var result = correctCalculation(oldValue, step, '-');
|
|
56
|
+
return result < min ? equalLimitDisabled ? oldValue : min : result;
|
|
57
|
+
});
|
|
58
|
+
onMinusButtonClick && onMinusButtonClick(e);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
var handleAddButtonClick = function handleAddButtonClick(e) {
|
|
62
|
+
if (addButtonDisable) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
updateValue(function (oldValue) {
|
|
67
|
+
var result = correctCalculation(Number(oldValue), step, '+');
|
|
68
|
+
return result > max ? equalLimitDisabled ? oldValue : max : result;
|
|
69
|
+
});
|
|
70
|
+
onAddButtonClick && onAddButtonClick(e);
|
|
71
|
+
}; // 当前值改变时,更新按钮状态
|
|
72
|
+
// Changes button status when value changed
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
(0, _react.useEffect)(function () {
|
|
76
|
+
setMinusButtonDisable(actualInputValue <= min);
|
|
77
|
+
setAddButtonDisable(actualInputValue >= max);
|
|
78
|
+
}, [actualInputValue]);
|
|
79
|
+
return {
|
|
80
|
+
minusButtonDisable: minusButtonDisable,
|
|
81
|
+
addButtonDisable: addButtonDisable,
|
|
82
|
+
handleMinusButtonClick: handleMinusButtonClick,
|
|
83
|
+
handleAddButtonClick: handleAddButtonClick
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StepperProps } from '../type';
|
|
3
|
+
export default function useInputEvent(params: Required<Pick<StepperProps, 'defaultValue' | 'min' | 'max' | 'digits' | 'allowEmpty'>> & Pick<StepperProps, 'onBlur' | 'onChange' | 'onInput'> & {
|
|
4
|
+
actualInputValue: number;
|
|
5
|
+
updateValue: (updater: number | ((oldValue: number) => number)) => void;
|
|
6
|
+
}): {
|
|
7
|
+
handleInput: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
8
|
+
handleBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
if (typeof define === "function" && define.amd) {
|
|
3
|
+
define(["exports", "../../_helpers"], factory);
|
|
4
|
+
} else if (typeof exports !== "undefined") {
|
|
5
|
+
factory(exports, require("../../_helpers"));
|
|
6
|
+
} else {
|
|
7
|
+
var mod = {
|
|
8
|
+
exports: {}
|
|
9
|
+
};
|
|
10
|
+
factory(mod.exports, global._helpers);
|
|
11
|
+
global.useInputEvent = mod.exports;
|
|
12
|
+
}
|
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _helpers) {
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
_exports.__esModule = true;
|
|
17
|
+
_exports.default = useInputEvent;
|
|
18
|
+
|
|
19
|
+
function useInputEvent(params) {
|
|
20
|
+
var defaultValue = params.defaultValue,
|
|
21
|
+
min = params.min,
|
|
22
|
+
max = params.max,
|
|
23
|
+
digits = params.digits,
|
|
24
|
+
actualInputValue = params.actualInputValue,
|
|
25
|
+
allowEmpty = params.allowEmpty,
|
|
26
|
+
updateValue = params.updateValue,
|
|
27
|
+
onBlur = params.onBlur,
|
|
28
|
+
onChange = params.onChange,
|
|
29
|
+
onInput = params.onInput;
|
|
30
|
+
|
|
31
|
+
var handleInput = function handleInput(e) {
|
|
32
|
+
var targetValue = e.target.value;
|
|
33
|
+
var numberValue = Number(targetValue);
|
|
34
|
+
var pointIndex = targetValue.indexOf('.');
|
|
35
|
+
|
|
36
|
+
if (digits > 0 && pointIndex !== -1) {
|
|
37
|
+
var decimalLength = targetValue.slice(pointIndex + 1).length;
|
|
38
|
+
updateValue(decimalLength > digits ? actualInputValue : numberValue);
|
|
39
|
+
} else if (allowEmpty && targetValue === '') {
|
|
40
|
+
updateValue(Number.MIN_VALUE);
|
|
41
|
+
} else {
|
|
42
|
+
updateValue(numberValue);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
onInput && onInput(e);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var handleBlur = function handleBlur(e) {
|
|
49
|
+
var targetValue = e.target.value;
|
|
50
|
+
var numberValue = Number(targetValue);
|
|
51
|
+
|
|
52
|
+
if (allowEmpty && targetValue === '') {
|
|
53
|
+
updateValue(Number.MIN_VALUE);
|
|
54
|
+
} else if (!allowEmpty && targetValue === '') {
|
|
55
|
+
updateValue(defaultValue);
|
|
56
|
+
} else {
|
|
57
|
+
updateValue(Math.max(min, Math.min(max, numberValue)));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
onBlur && onBlur(e);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
(0, _helpers.useUpdateEffect)(function () {
|
|
64
|
+
onChange && onChange(actualInputValue);
|
|
65
|
+
}, [actualInputValue]);
|
|
66
|
+
return {
|
|
67
|
+
handleInput: handleInput,
|
|
68
|
+
handleBlur: handleBlur
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StepperProps } from '..';
|
|
2
|
+
export default function useValue(params: Required<Pick<StepperProps, 'defaultValue' | 'min' | 'max' | 'digits'>> & Pick<StepperProps, 'formatter' | 'value'>): {
|
|
3
|
+
updateValue: (updater: number | ((oldValue: number) => number)) => void;
|
|
4
|
+
actualInputValue: number;
|
|
5
|
+
showValue: string | number;
|
|
6
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
if (typeof define === "function" && define.amd) {
|
|
3
|
+
define(["exports", "react"], factory);
|
|
4
|
+
} else if (typeof exports !== "undefined") {
|
|
5
|
+
factory(exports, require("react"));
|
|
6
|
+
} else {
|
|
7
|
+
var mod = {
|
|
8
|
+
exports: {}
|
|
9
|
+
};
|
|
10
|
+
factory(mod.exports, global.react);
|
|
11
|
+
global.useValue = mod.exports;
|
|
12
|
+
}
|
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react) {
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
_exports.__esModule = true;
|
|
17
|
+
_exports.default = useValue;
|
|
18
|
+
|
|
19
|
+
function useValue(params) {
|
|
20
|
+
var defaultValue = params.defaultValue,
|
|
21
|
+
formatter = params.formatter,
|
|
22
|
+
max = params.max,
|
|
23
|
+
min = params.min,
|
|
24
|
+
value = params.value,
|
|
25
|
+
digits = params.digits;
|
|
26
|
+
|
|
27
|
+
var _useState = (0, _react.useState)(defaultValue),
|
|
28
|
+
innerValue = _useState[0],
|
|
29
|
+
setInnerValue = _useState[1];
|
|
30
|
+
|
|
31
|
+
var updateValue = function updateValue(updater) {
|
|
32
|
+
var tempValue = typeof updater === 'function' ? updater(innerValue) : updater;
|
|
33
|
+
|
|
34
|
+
if (formatter) {
|
|
35
|
+
new Promise(function (resolve) {
|
|
36
|
+
resolve(formatter(Number(tempValue)));
|
|
37
|
+
}).then(function (result) {
|
|
38
|
+
var res = Math.max(min, Math.min(max, result));
|
|
39
|
+
setInnerValue(res);
|
|
40
|
+
});
|
|
41
|
+
} else {
|
|
42
|
+
setInnerValue(tempValue);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var actualInputValue = value !== undefined ? value : innerValue; // 将actualInputValue等于Number.MIN_VALUE的情况视为空值
|
|
47
|
+
// @en If actualInputValue equal Number.MIN_VALUE, actualInputValue equal ''
|
|
48
|
+
|
|
49
|
+
var showValue = actualInputValue === Number.MIN_VALUE ? '' : digits > 0 ? parseFloat(String(actualInputValue)).toFixed(digits) : actualInputValue;
|
|
50
|
+
return {
|
|
51
|
+
updateValue: updateValue,
|
|
52
|
+
actualInputValue: actualInputValue,
|
|
53
|
+
showValue: showValue
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StepperProps, StepperRef } from './type';
|
|
3
|
+
export * from './type';
|
|
4
|
+
/**
|
|
5
|
+
* 步进器组件,支持受控模式
|
|
6
|
+
* @en Stepper component, provide controlled mode
|
|
7
|
+
* @type 数据录入
|
|
8
|
+
* @type_en Data Entry
|
|
9
|
+
* @name 步进器
|
|
10
|
+
* @name_en Stepper
|
|
11
|
+
*/
|
|
12
|
+
declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<StepperRef>>;
|
|
13
|
+
export default Stepper;
|