@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;
|