@nutui/nutui-react 4.0.0-beta.3 → 4.0.0-beta.5
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 +21 -6
- package/dist/cjs/hooks/use-props-value.js +1 -1
- package/dist/cjs/hooks/use-touch.js +4 -4
- package/dist/cjs/packages/address/cascaderRender.js +1 -1
- package/dist/cjs/packages/address/existRender.js +1 -1
- package/dist/cjs/packages/animate/animate.js +1 -1
- package/dist/cjs/packages/audio/audio.js +1 -1
- package/dist/cjs/packages/avatar/avatar.js +1 -1
- package/dist/cjs/packages/avatarcropper/avatarcropper.js +1 -1
- package/dist/cjs/packages/barrage/barrage.js +1 -1
- package/dist/cjs/packages/button/button.js +1 -1
- package/dist/cjs/packages/card/card.js +1 -1
- package/dist/cjs/packages/cascader/utils.js +4 -4
- package/dist/cjs/packages/cell/cell.js +1 -1
- package/dist/cjs/packages/cellgroup/cellgroup.js +1 -1
- package/dist/cjs/packages/checkboxgroup/checkboxgroup.js +3 -3
- package/dist/cjs/packages/circleprogress/circleprogress.js +1 -1
- package/dist/cjs/packages/collapseitem/collapseitem.js +1 -1
- package/dist/cjs/packages/configprovider/types.d.ts +1 -1
- package/dist/cjs/packages/countdown/countdown.js +1 -1
- package/dist/cjs/packages/datepicker/datepicker.js +1 -1
- package/dist/cjs/packages/dialog/dialog.js +2 -2
- package/dist/cjs/packages/divider/divider.js +1 -1
- package/dist/cjs/packages/drag/drag.js +1 -1
- package/dist/cjs/packages/elevator/elevator.js +1 -1
- package/dist/cjs/packages/ellipsis/ellipsis.js +1 -1
- package/dist/cjs/packages/empty/empty.d.ts +4 -11
- package/dist/cjs/packages/empty/empty.js +22 -18
- package/dist/cjs/packages/empty/index.d.ts +1 -1
- package/dist/cjs/packages/empty/style/empty.scss +97 -31
- package/dist/cjs/packages/empty/style/style.css +77 -32
- package/dist/cjs/packages/empty/style-jmapp/empty.scss +97 -31
- package/dist/cjs/packages/empty/style-jmapp/style.css +77 -32
- package/dist/cjs/packages/empty/style-jrkf/empty.scss +97 -31
- package/dist/cjs/packages/empty/style-jrkf/style.css +77 -32
- package/dist/cjs/packages/fixednav/fixednav.js +1 -1
- package/dist/cjs/packages/grid/grid.js +1 -1
- package/dist/cjs/packages/griditem/griditem.js +1 -1
- package/dist/cjs/packages/indicator/indicator.js +1 -1
- package/dist/cjs/packages/infiniteloading/infiniteloading.js +1 -1
- package/dist/cjs/packages/input/input.js +1 -1
- package/dist/cjs/packages/inputnumber/inputnumber.js +1 -1
- package/dist/cjs/packages/loading/loading.js +1 -1
- package/dist/cjs/packages/menu/menu.js +1 -1
- package/dist/cjs/packages/numberkeyboard/numberkeyboard.js +1 -1
- package/dist/cjs/packages/overlay/overlay.js +1 -1
- package/dist/cjs/packages/pagination/pagination.js +1 -1
- package/dist/cjs/packages/picker/picker.js +1 -1
- package/dist/cjs/packages/pickerview/pickerroller.js +1 -1
- package/dist/cjs/packages/popover/popover.js +1 -1
- package/dist/cjs/packages/price/price.js +1 -1
- package/dist/cjs/packages/progress/progress.js +1 -1
- package/dist/cjs/packages/quickenter/quickenter.js +2 -2
- package/dist/cjs/packages/radio/radio.js +1 -1
- package/dist/cjs/packages/radiogroup/radiogroup.js +3 -3
- package/dist/cjs/packages/rate/index.d.ts +1 -1
- package/dist/cjs/packages/rate/rate.js +54 -8
- package/dist/cjs/packages/rate/style/rate.scss +244 -76
- package/dist/cjs/packages/rate/style/style.css +198 -68
- package/dist/cjs/packages/rate/style-jmapp/rate.scss +244 -76
- package/dist/cjs/packages/rate/style-jmapp/style.css +198 -68
- package/dist/cjs/packages/rate/style-jrkf/rate.scss +244 -76
- package/dist/cjs/packages/rate/style-jrkf/style.css +198 -68
- package/dist/cjs/packages/shortpassword/shortpassword.js +1 -1
- package/dist/cjs/packages/signature/signature.js +1 -1
- package/dist/cjs/packages/skeleton/skeleton.js +1 -1
- package/dist/cjs/packages/step/step.js +1 -1
- package/dist/cjs/packages/steps/style/style.css +1 -1
- package/dist/cjs/packages/sticky/sticky.js +1 -1
- package/dist/cjs/packages/switch/switch.js +1 -1
- package/dist/cjs/packages/tabbaritem/tabbaritem.js +1 -1
- package/dist/cjs/packages/table/table.js +1 -1
- package/dist/cjs/packages/tabs/tabs.js +1 -1
- package/dist/cjs/packages/textarea/textarea.js +1 -1
- package/dist/cjs/packages/timeselect/timeselect.js +1 -1
- package/dist/cjs/packages/tour/tour.js +1 -1
- package/dist/cjs/packages/trendarrow/trendarrow.js +1 -1
- package/dist/cjs/packages/video/video.js +1 -1
- package/dist/cjs/packages/virtuallist/utils.js +1 -1
- package/dist/cjs/packages/virtuallist/virtuallist.js +1 -1
- package/dist/cjs/types/spec/empty/base.d.ts +12 -8
- package/dist/cjs/types/spec/empty/base.js +28 -1
- package/dist/cjs/types/spec/rate/base.d.ts +3 -0
- package/dist/cjs/utils/scale-f.js +1 -3
- package/dist/es/hooks/taro/use-custom-event.js +3 -3
- package/dist/es/hooks/taro/use-lock-scoll.js +1 -1
- package/dist/es/hooks/use-click-away.js +2 -2
- package/dist/es/hooks/use-lock-scroll.js +3 -3
- package/dist/es/hooks/use-pagination.js +1 -1
- package/dist/es/hooks/use-ref-state.js +3 -3
- package/dist/es/hooks/use-touch.js +13 -13
- package/dist/es/hooks/use-watch.js +1 -1
- package/dist/es/locales/en-US.js +4 -4
- package/dist/es/locales/id-ID.js +4 -4
- package/dist/es/locales/ja-JP.js +4 -4
- package/dist/es/locales/tr-TR.js +4 -4
- package/dist/es/locales/vi-VN.js +4 -4
- package/dist/es/locales/zh-CN.js +4 -4
- package/dist/es/locales/zh-TW.js +4 -4
- package/dist/es/locales/zh-UG.js +4 -4
- package/dist/es/packages/actionsheet/actionsheet.js +8 -8
- package/dist/es/packages/address/address.js +10 -10
- package/dist/es/packages/address/cascaderRender.js +4 -4
- package/dist/es/packages/address/elevatorRender.js +17 -17
- package/dist/es/packages/address/existRender.js +5 -5
- package/dist/es/packages/address/utils.js +5 -5
- package/dist/es/packages/animate/animate.js +4 -4
- package/dist/es/packages/animatingnumbers/countup.js +2 -2
- package/dist/es/packages/audio/audio.js +26 -26
- package/dist/es/packages/avatar/avatar.js +4 -4
- package/dist/es/packages/avatarcropper/avatarcropper.js +20 -20
- package/dist/es/packages/avatargroup/avatargroup.js +1 -1
- package/dist/es/packages/backtop/backtop.js +3 -3
- package/dist/es/packages/badge/badge.js +3 -3
- package/dist/es/packages/barrage/barrage.js +5 -5
- package/dist/es/packages/button/button.js +2 -2
- package/dist/es/packages/calendar/calendar.js +12 -12
- package/dist/es/packages/calendar/utils.js +7 -7
- package/dist/es/packages/calendarcard/calendarcard.js +22 -22
- package/dist/es/packages/calendarcard/icon.js +4 -4
- package/dist/es/packages/calendarcard/utils.js +5 -5
- package/dist/es/packages/calendaritem/calendaritem.js +32 -32
- package/dist/es/packages/card/card.js +2 -2
- package/dist/es/packages/cascader/cascader.js +15 -15
- package/dist/es/packages/cascader/utils.js +6 -6
- package/dist/es/packages/cell/cell.js +5 -5
- package/dist/es/packages/cellgroup/cellgroup.js +2 -2
- package/dist/es/packages/checkbox/checkbox.js +10 -10
- package/dist/es/packages/checkboxgroup/checkboxgroup.js +7 -7
- package/dist/es/packages/circleprogress/circleprogress.js +5 -5
- package/dist/es/packages/col/col.js +2 -2
- package/dist/es/packages/collapse/collapse.js +3 -3
- package/dist/es/packages/collapse/context.js +2 -2
- package/dist/es/packages/collapseitem/collapseitem.js +5 -5
- package/dist/es/packages/configprovider/configprovider.js +5 -5
- package/dist/es/packages/configprovider/types.d.ts +1 -1
- package/dist/es/packages/countdown/countdown.js +12 -12
- package/dist/es/packages/datepicker/datepicker.js +12 -12
- package/dist/es/packages/datepicker/utils.js +7 -7
- package/dist/es/packages/datepickerview/datepickerview.js +5 -5
- package/dist/es/packages/dialog/confirm.js +8 -8
- package/dist/es/packages/dialog/content.js +5 -5
- package/dist/es/packages/dialog/dialog.js +23 -23
- package/dist/es/packages/divider/divider.js +3 -3
- package/dist/es/packages/drag/drag.js +4 -4
- package/dist/es/packages/elevator/elevator.js +14 -14
- package/dist/es/packages/ellipsis/ellipsis.js +11 -11
- package/dist/es/packages/empty/empty.d.ts +4 -11
- package/dist/es/packages/empty/empty.js +23 -19
- package/dist/es/packages/empty/index.d.ts +1 -1
- package/dist/es/packages/empty/style/empty.scss +97 -31
- package/dist/es/packages/empty/style/style.css +77 -32
- package/dist/es/packages/empty/style-jmapp/empty.scss +97 -31
- package/dist/es/packages/empty/style-jmapp/style.css +77 -32
- package/dist/es/packages/empty/style-jrkf/empty.scss +97 -31
- package/dist/es/packages/empty/style-jrkf/style.css +77 -32
- package/dist/es/packages/fixednav/fixednav.js +8 -8
- package/dist/es/packages/form/form.js +6 -6
- package/dist/es/packages/form/useform.js +4 -4
- package/dist/es/packages/formitem/formitem.js +1 -1
- package/dist/es/packages/grid/context.js +1 -1
- package/dist/es/packages/grid/grid.js +4 -4
- package/dist/es/packages/griditem/griditem.js +6 -6
- package/dist/es/packages/hoverbutton/hoverbutton.js +1 -1
- package/dist/es/packages/hoverbuttonitem/hoverbuttonitem.js +4 -4
- package/dist/es/packages/hoverbuttonitem/utils.js +1 -1
- package/dist/es/packages/image/image.js +8 -8
- package/dist/es/packages/imagepreview/imagepreview.js +13 -13
- package/dist/es/packages/indicator/indicator.js +5 -5
- package/dist/es/packages/infiniteloading/infiniteloading.js +13 -13
- package/dist/es/packages/input/input.js +13 -13
- package/dist/es/packages/inputnumber/inputnumber.js +12 -12
- package/dist/es/packages/layout/layout.js +1 -1
- package/dist/es/packages/loading/loading.js +3 -3
- package/dist/es/packages/menu/menu.js +13 -13
- package/dist/es/packages/menuitem/menuitem.js +10 -10
- package/dist/es/packages/navbar/navbar.js +7 -7
- package/dist/es/packages/noticebar/noticebar.js +25 -25
- package/dist/es/packages/notify/Notification.js +1 -1
- package/dist/es/packages/notify/notify.js +3 -3
- package/dist/es/packages/numberkeyboard/numberkeyboard.js +13 -13
- package/dist/es/packages/overlay/overlay.js +6 -6
- package/dist/es/packages/pagination/pagination.js +8 -8
- package/dist/es/packages/picker/picker.js +15 -15
- package/dist/es/packages/pickerview/pickerroller.js +10 -10
- package/dist/es/packages/pickerview/pickerview.js +3 -3
- package/dist/es/packages/pickerview/utils.js +6 -6
- package/dist/es/packages/popover/popover.js +13 -13
- package/dist/es/packages/popup/popup.js +22 -22
- package/dist/es/packages/price/price.js +8 -8
- package/dist/es/packages/progress/progress.js +5 -5
- package/dist/es/packages/pulltorefresh/pulltorefresh.js +7 -7
- package/dist/es/packages/quickenter/quickenter.js +14 -14
- package/dist/es/packages/radio/radio.js +11 -11
- package/dist/es/packages/radiogroup/radiogroup.js +6 -6
- package/dist/es/packages/range/range.js +7 -7
- package/dist/es/packages/range/utils.js +2 -2
- package/dist/es/packages/rate/index.d.ts +1 -1
- package/dist/es/packages/rate/rate.js +65 -19
- package/dist/es/packages/rate/style/rate.scss +244 -76
- package/dist/es/packages/rate/style/style.css +198 -68
- package/dist/es/packages/rate/style-jmapp/rate.scss +244 -76
- package/dist/es/packages/rate/style-jmapp/style.css +198 -68
- package/dist/es/packages/rate/style-jrkf/rate.scss +244 -76
- package/dist/es/packages/rate/style-jrkf/style.css +198 -68
- package/dist/es/packages/resultpage/resultpage.js +1 -1
- package/dist/es/packages/row/row.js +4 -4
- package/dist/es/packages/safearea/safearea.js +1 -1
- package/dist/es/packages/searchbar/searchbar.js +3 -3
- package/dist/es/packages/segmented/segmented.js +4 -4
- package/dist/es/packages/shortpassword/shortpassword.js +7 -7
- package/dist/es/packages/sidebar/sidebar.js +8 -8
- package/dist/es/packages/sidebar/utils.js +1 -1
- package/dist/es/packages/sidebaritem/sidebaritem.js +1 -1
- package/dist/es/packages/signature/signature.js +12 -12
- package/dist/es/packages/skeleton/skeleton.js +4 -4
- package/dist/es/packages/space/space.js +1 -1
- package/dist/es/packages/step/step.js +2 -2
- package/dist/es/packages/steps/steps.js +1 -1
- package/dist/es/packages/steps/style/style.css +1 -1
- package/dist/es/packages/sticky/sticky.js +4 -4
- package/dist/es/packages/swipe/swipe.js +16 -16
- package/dist/es/packages/swiper/effects/default.js +2 -2
- package/dist/es/packages/swiper/effects/focus.js +4 -4
- package/dist/es/packages/swiper/swiper.js +14 -14
- package/dist/es/packages/swiperitem/swiperitem.js +2 -2
- package/dist/es/packages/switch/switch.js +6 -6
- package/dist/es/packages/tabbar/tabbar.js +2 -2
- package/dist/es/packages/tabbaritem/tabbaritem.js +10 -10
- package/dist/es/packages/table/table.js +10 -10
- package/dist/es/packages/tabpane/tabpane.js +1 -1
- package/dist/es/packages/tabs/tabs.js +10 -10
- package/dist/es/packages/tag/tag.js +10 -10
- package/dist/es/packages/textarea/textarea.js +12 -12
- package/dist/es/packages/timedetail/timedetail.js +3 -3
- package/dist/es/packages/timeselect/timeselect.js +6 -6
- package/dist/es/packages/toast/Notification.js +1 -1
- package/dist/es/packages/toast/toast.js +2 -2
- package/dist/es/packages/tour/tour.js +11 -11
- package/dist/es/packages/trendarrow/trendarrow.js +4 -4
- package/dist/es/packages/uploader/preview.js +8 -8
- package/dist/es/packages/uploader/uploader.js +15 -15
- package/dist/es/packages/video/video.js +4 -4
- package/dist/es/packages/virtuallist/utils.js +5 -5
- package/dist/es/packages/virtuallist/virtuallist.js +2 -2
- package/dist/es/packages/watermark/watermark.js +2 -2
- package/dist/es/types/spec/empty/base.d.ts +15 -11
- package/dist/es/types/spec/empty/base.js +13 -1
- package/dist/es/types/spec/rate/base.d.ts +9 -0
- package/dist/es/utils/clamp.js +1 -1
- package/dist/es/utils/date.js +3 -3
- package/dist/es/utils/get-rect.js +1 -1
- package/dist/es/utils/interceptor.js +1 -1
- package/dist/es/utils/is-date.js +1 -1
- package/dist/es/utils/is-empty.js +1 -1
- package/dist/es/utils/is-function.js +1 -1
- package/dist/es/utils/is-object.js +1 -1
- package/dist/es/utils/is-promise.js +1 -1
- package/dist/es/utils/pad-zero.js +1 -1
- package/dist/es/utils/px-check.js +1 -1
- package/dist/es/utils/scale-f.js +2 -4
- package/dist/es/utils/sleep.js +1 -1
- package/dist/es/utils/taro/ConfigurableCSSTransition.js +1 -1
- package/dist/es/utils/taro/get-rect-by-id.js +1 -1
- package/dist/es/utils/taro/get-rect.js +3 -3
- package/dist/es/utils/taro/get-system-info.js +2 -2
- package/dist/es/utils/taro/platform.js +4 -4
- package/dist/es/utils/upper-case-first.js +1 -1
- package/dist/nutui.react.umd.js +1146 -1080
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +41 -41
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +42 -42
- package/dist/style.css +1 -1
- package/dist/style.scss +35 -35
- package/dist/styles/variables-daojia.scss +25 -12
- package/dist/styles/variables-jmapp.scss +42 -17
- package/dist/styles/variables-jrkf.scss +24 -20
- package/dist/styles/variables.scss +32 -24
- package/package.json +1 -1
|
@@ -23,6 +23,7 @@ var _getrect = require("../../utils/get-rect");
|
|
|
23
23
|
var _userefs = require("../../hooks/use-refs");
|
|
24
24
|
var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
|
|
25
25
|
size: 'normal',
|
|
26
|
+
direction: 'horizontal',
|
|
26
27
|
showScore: false,
|
|
27
28
|
count: 5,
|
|
28
29
|
min: 0,
|
|
@@ -34,15 +35,29 @@ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typing
|
|
|
34
35
|
touchable: false
|
|
35
36
|
});
|
|
36
37
|
var Rate = function Rate(props) {
|
|
37
|
-
var _$_object_spread = (0, _object_spread._)({}, defaultProps, props), className = _$_object_spread.className, style = _$_object_spread.style, size = _$_object_spread.size, showScore = _$_object_spread.showScore, count = _$_object_spread.count, value = _$_object_spread.value, defaultValue = _$_object_spread.defaultValue, min = _$_object_spread.min, checkedIcon = _$_object_spread.checkedIcon, uncheckedIcon = _$_object_spread.uncheckedIcon, disabled = _$_object_spread.disabled, readOnly = _$_object_spread.readOnly, allowHalf = _$_object_spread.allowHalf, touchable = _$_object_spread.touchable, onChange = _$_object_spread.onChange, onTouchEnd = _$_object_spread.onTouchEnd;
|
|
38
|
+
var _$_object_spread = (0, _object_spread._)({}, defaultProps, props), className = _$_object_spread.className, style = _$_object_spread.style, size = _$_object_spread.size, direction = _$_object_spread.direction, label = _$_object_spread.label, showScore = _$_object_spread.showScore, count = _$_object_spread.count, value = _$_object_spread.value, defaultValue = _$_object_spread.defaultValue, min = _$_object_spread.min, checkedIcon = _$_object_spread.checkedIcon, uncheckedIcon = _$_object_spread.uncheckedIcon, disabled = _$_object_spread.disabled, readOnly = _$_object_spread.readOnly, allowHalf = _$_object_spread.allowHalf, touchable = _$_object_spread.touchable, onChange = _$_object_spread.onChange, onTouchEnd = _$_object_spread.onTouchEnd;
|
|
38
39
|
var classPrefix = 'nut-rate';
|
|
39
|
-
var
|
|
40
|
+
var shouldAnimate = direction === 'vertical' || size === 'large';
|
|
41
|
+
var _useState = (0, _sliced_to_array._)((0, _react.useState)(-1), 2), animatingIndex = _useState[0], setAnimatingIndex = _useState[1];
|
|
42
|
+
(0, _react.useEffect)(function() {
|
|
43
|
+
if (animatingIndex >= 0) {
|
|
44
|
+
var timer = setTimeout(function() {
|
|
45
|
+
return setAnimatingIndex(-1);
|
|
46
|
+
}, 300);
|
|
47
|
+
return function() {
|
|
48
|
+
return clearTimeout(timer);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}, [
|
|
52
|
+
animatingIndex
|
|
53
|
+
]);
|
|
54
|
+
var _useState1 = (0, _sliced_to_array._)((0, _react.useState)([
|
|
40
55
|
1,
|
|
41
56
|
2,
|
|
42
57
|
3,
|
|
43
58
|
4,
|
|
44
59
|
5
|
|
45
|
-
]), 2), countArray =
|
|
60
|
+
]), 2), countArray = _useState1[0], setCountArray = _useState1[1];
|
|
46
61
|
var _useRefs = (0, _sliced_to_array._)((0, _userefs.useRefs)(), 2), refs = _useRefs[0], setRefs = _useRefs[1];
|
|
47
62
|
var rateRects = (0, _react.useRef)([]);
|
|
48
63
|
var _usePropsValue = (0, _sliced_to_array._)((0, _usepropsvalue.usePropsValue)({
|
|
@@ -74,12 +89,18 @@ var Rate = function Rate(props) {
|
|
|
74
89
|
value = index;
|
|
75
90
|
}
|
|
76
91
|
value = Math.max(value, min);
|
|
92
|
+
if (shouldAnimate && value > score) {
|
|
93
|
+
setAnimatingIndex(index - 1);
|
|
94
|
+
}
|
|
77
95
|
setScore(value);
|
|
78
96
|
};
|
|
79
97
|
var onHalfClick = function onHalfClick(event, n) {
|
|
80
98
|
event.preventDefault();
|
|
81
99
|
event.stopPropagation();
|
|
82
100
|
var value = Math.max(min, n - 0.5);
|
|
101
|
+
if (shouldAnimate && value > score) {
|
|
102
|
+
setAnimatingIndex(n - 1);
|
|
103
|
+
}
|
|
83
104
|
setScore(value);
|
|
84
105
|
};
|
|
85
106
|
var getScoreByPosition = function getScoreByPosition(x) {
|
|
@@ -161,14 +182,41 @@ var Rate = function Rate(props) {
|
|
|
161
182
|
}
|
|
162
183
|
};
|
|
163
184
|
}, []);
|
|
185
|
+
var isArrayLabel = Array.isArray(label);
|
|
186
|
+
var renderSingleLabel = function renderSingleLabel() {
|
|
187
|
+
if (label == null || isArrayLabel) return null;
|
|
188
|
+
return /*#__PURE__*/ _react.default.createElement("span", {
|
|
189
|
+
className: (0, _classnames.default)("".concat(classPrefix, "-label"), "".concat(classPrefix, "-label-").concat(size))
|
|
190
|
+
}, label);
|
|
191
|
+
};
|
|
192
|
+
var renderArrayLabels = function renderArrayLabels() {
|
|
193
|
+
if (!isArrayLabel) return null;
|
|
194
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
195
|
+
className: (0, _classnames.default)("".concat(classPrefix, "-labels"), "".concat(classPrefix, "-labels-").concat(size))
|
|
196
|
+
}, label.map(function(item, index) {
|
|
197
|
+
return /*#__PURE__*/ _react.default.createElement("span", {
|
|
198
|
+
className: "".concat(classPrefix, "-labels-item"),
|
|
199
|
+
key: index
|
|
200
|
+
}, item);
|
|
201
|
+
}));
|
|
202
|
+
};
|
|
203
|
+
var renderScore = function renderScore() {
|
|
204
|
+
if (!showScore) return null;
|
|
205
|
+
return /*#__PURE__*/ _react.default.createElement("span", {
|
|
206
|
+
className: (0, _classnames.default)("".concat(classPrefix, "-score"), "".concat(classPrefix, "-score-").concat(size), (0, _define_property._)({}, "".concat(classPrefix, "-score-disabled"), disabled))
|
|
207
|
+
}, score.toFixed(1));
|
|
208
|
+
};
|
|
164
209
|
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
165
|
-
className: (0, _classnames.default)(classPrefix, {
|
|
210
|
+
className: (0, _classnames.default)(classPrefix, "".concat(classPrefix, "-").concat(direction), {
|
|
166
211
|
disabled: disabled,
|
|
167
212
|
readonly: readOnly
|
|
168
213
|
}, className),
|
|
169
214
|
ref: rateRef,
|
|
170
215
|
style: style
|
|
216
|
+
}, direction === 'horizontal' && renderSingleLabel(), /*#__PURE__*/ _react.default.createElement("div", {
|
|
217
|
+
className: "".concat(classPrefix, "-list")
|
|
171
218
|
}, countArray.map(function(n, index) {
|
|
219
|
+
var _obj;
|
|
172
220
|
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
173
221
|
className: "".concat(classPrefix, "-item ").concat(classPrefix, "-item-").concat(size),
|
|
174
222
|
key: n,
|
|
@@ -177,15 +225,13 @@ var Rate = function Rate(props) {
|
|
|
177
225
|
return onClick(event, n);
|
|
178
226
|
}
|
|
179
227
|
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
180
|
-
className: (0, _classnames.default)("".concat(classPrefix, "-item-icon"), (0, _define_property._)(
|
|
228
|
+
className: (0, _classnames.default)("".concat(classPrefix, "-item-icon"), (_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-item-icon-disabled"), disabled || n > score), (0, _define_property._)(_obj, "".concat(classPrefix, "-item-icon-animate"), animatingIndex === index), _obj))
|
|
181
229
|
}, renderIcon(n)), allowHalf && score > n - 1 && /*#__PURE__*/ _react.default.createElement("div", {
|
|
182
230
|
className: (0, _classnames.default)("".concat(classPrefix, "-item-half"), "".concat(classPrefix, "-item-icon"), "".concat(classPrefix, "-item-icon-half")),
|
|
183
231
|
onClick: function onClick(event) {
|
|
184
232
|
return onHalfClick(event, n);
|
|
185
233
|
}
|
|
186
234
|
}, renderIcon(n)));
|
|
187
|
-
}),
|
|
188
|
-
className: (0, _classnames.default)("".concat(classPrefix, "-score"), "".concat(classPrefix, "-score-").concat(size), (0, _define_property._)({}, "".concat(classPrefix, "-score-disabled"), disabled))
|
|
189
|
-
}, score.toFixed(1)) : null);
|
|
235
|
+
})), direction === 'horizontal' && renderScore(), direction === 'vertical' && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, renderScore(), isArrayLabel ? renderArrayLabels() : renderSingleLabel()));
|
|
190
236
|
};
|
|
191
237
|
Rate.displayName = 'NutRate';
|
|
@@ -14,6 +14,37 @@
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
&-horizontal {
|
|
18
|
+
flex-direction: row;
|
|
19
|
+
align-items: center;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&-vertical {
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
align-items: center;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&-list {
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&-label {
|
|
33
|
+
color: $rate-label-color;
|
|
34
|
+
white-space: nowrap;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&-labels {
|
|
38
|
+
display: flex;
|
|
39
|
+
width: 100%;
|
|
40
|
+
|
|
41
|
+
&-item {
|
|
42
|
+
flex: 1;
|
|
43
|
+
text-align: center;
|
|
44
|
+
color: $rate-label-color;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
17
48
|
&-item {
|
|
18
49
|
display: flex;
|
|
19
50
|
align-items: center;
|
|
@@ -33,38 +64,6 @@
|
|
|
33
64
|
}
|
|
34
65
|
}
|
|
35
66
|
|
|
36
|
-
&-normal {
|
|
37
|
-
margin-left: $rate-item-margin;
|
|
38
|
-
.nut-icon {
|
|
39
|
-
height: $rate-icon-size;
|
|
40
|
-
width: $rate-icon-size;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
&-large {
|
|
45
|
-
margin-left: calc($rate-item-margin * 2);
|
|
46
|
-
.nut-icon {
|
|
47
|
-
height: calc($rate-icon-size + scale-px(8px));
|
|
48
|
-
width: calc($rate-icon-size + scale-px(8px));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
&-small {
|
|
53
|
-
margin-left: calc($rate-item-margin / 2);
|
|
54
|
-
.nut-icon {
|
|
55
|
-
height: calc($rate-icon-size - scale-px(4px));
|
|
56
|
-
width: calc($rate-icon-size - scale-px(4px));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
&-normal,
|
|
61
|
-
&-large,
|
|
62
|
-
&-small {
|
|
63
|
-
&:first-child {
|
|
64
|
-
margin-left: 0;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
67
|
&-icon {
|
|
69
68
|
display: flex;
|
|
70
69
|
align-items: center;
|
|
@@ -93,6 +92,10 @@
|
|
|
93
92
|
left: auto;
|
|
94
93
|
transform: none;
|
|
95
94
|
}
|
|
95
|
+
|
|
96
|
+
&-animate {
|
|
97
|
+
animation: nut-rate-bounce 0.3s ease-in-out;
|
|
98
|
+
}
|
|
96
99
|
}
|
|
97
100
|
}
|
|
98
101
|
|
|
@@ -107,85 +110,250 @@
|
|
|
107
110
|
color: $rate-font-color;
|
|
108
111
|
font-family: 'JDZH-Regular';
|
|
109
112
|
|
|
110
|
-
&-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
+
&-disabled {
|
|
114
|
+
color: $rate-icon-inactive-color;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// horizontal layout
|
|
119
|
+
&-horizontal {
|
|
120
|
+
.nut-rate-item {
|
|
121
|
+
margin-left: $rate-item-margin;
|
|
122
|
+
&:first-child {
|
|
123
|
+
margin-left: 0;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// 12DP - star gap 2px
|
|
128
|
+
.nut-rate-item-small {
|
|
129
|
+
margin-left: scale-px(2px);
|
|
130
|
+
&:first-child {
|
|
131
|
+
margin-left: 0;
|
|
132
|
+
}
|
|
133
|
+
.nut-icon {
|
|
134
|
+
height: scale-font-px(12px);
|
|
135
|
+
width: scale-font-px(12px);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.nut-rate-item-normal {
|
|
140
|
+
.nut-icon {
|
|
141
|
+
height: scale-font-px(16px);
|
|
142
|
+
width: scale-font-px(16px);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.nut-rate-item-large {
|
|
147
|
+
.nut-icon {
|
|
148
|
+
height: scale-font-px(20px);
|
|
149
|
+
width: scale-font-px(20px);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.nut-rate-label-small {
|
|
154
|
+
font-size: $font-size-s;
|
|
155
|
+
margin-right: scale-px(4px);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.nut-rate-label-normal {
|
|
159
|
+
font-size: $font-size-s;
|
|
160
|
+
margin-right: scale-px(12px);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.nut-rate-label-large {
|
|
164
|
+
font-size: $font-size-base;
|
|
165
|
+
margin-right: scale-px(12px);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.nut-rate-score-small {
|
|
169
|
+
padding-left: scale-px(4px);
|
|
170
|
+
font-size: $font-size-s;
|
|
113
171
|
line-height: $line-height-s;
|
|
114
172
|
}
|
|
115
173
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
174
|
+
.nut-rate-score-normal {
|
|
175
|
+
padding-left: scale-px(12px);
|
|
176
|
+
font-size: $font-size-s;
|
|
177
|
+
line-height: $line-height-s;
|
|
120
178
|
}
|
|
121
179
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
180
|
+
.nut-rate-score-large {
|
|
181
|
+
padding-left: scale-px(12px);
|
|
182
|
+
font-size: $font-size-base;
|
|
183
|
+
line-height: $line-height-base;
|
|
126
184
|
}
|
|
185
|
+
}
|
|
127
186
|
|
|
128
|
-
|
|
129
|
-
|
|
187
|
+
// vertical layout
|
|
188
|
+
&-vertical {
|
|
189
|
+
.nut-rate-list {
|
|
190
|
+
justify-content: center;
|
|
191
|
+
width: 100%;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.nut-rate-item {
|
|
195
|
+
margin-left: $rate-item-margin;
|
|
196
|
+
&:first-child {
|
|
197
|
+
margin-left: 0;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.nut-rate-item-small,
|
|
202
|
+
.nut-rate-item-normal {
|
|
203
|
+
.nut-icon {
|
|
204
|
+
height: scale-font-px(20px);
|
|
205
|
+
width: scale-font-px(20px);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.nut-rate-item-large {
|
|
210
|
+
flex: 1;
|
|
211
|
+
justify-content: center;
|
|
212
|
+
|
|
213
|
+
.nut-icon {
|
|
214
|
+
height: scale-font-px(28px);
|
|
215
|
+
width: scale-font-px(28px);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.nut-rate-label-small,
|
|
220
|
+
.nut-rate-label-normal {
|
|
221
|
+
font-size: $font-size-xs;
|
|
222
|
+
margin-top: scale-px(6px);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.nut-rate-label-large {
|
|
226
|
+
font-size: $font-size-s;
|
|
227
|
+
margin-top: scale-px(8px);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.nut-rate-labels {
|
|
231
|
+
width: 100%;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.nut-rate-labels-small,
|
|
235
|
+
.nut-rate-labels-normal {
|
|
236
|
+
margin-top: scale-px(6px);
|
|
237
|
+
|
|
238
|
+
.nut-rate-labels-item {
|
|
239
|
+
font-size: $font-size-xs;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.nut-rate-labels-large {
|
|
244
|
+
margin-top: scale-px(8px);
|
|
245
|
+
|
|
246
|
+
.nut-rate-labels-item {
|
|
247
|
+
font-size: $font-size-s;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.nut-rate-score-small,
|
|
252
|
+
.nut-rate-score-normal {
|
|
253
|
+
font-size: $font-size-xs;
|
|
254
|
+
line-height: $line-height-xs;
|
|
255
|
+
margin-top: scale-px(6px);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.nut-rate-score-large {
|
|
259
|
+
font-size: $font-size-s;
|
|
260
|
+
line-height: $line-height-s;
|
|
261
|
+
margin-top: scale-px(8px);
|
|
130
262
|
}
|
|
131
263
|
}
|
|
132
264
|
}
|
|
133
265
|
|
|
266
|
+
@keyframes nut-rate-bounce {
|
|
267
|
+
0% {
|
|
268
|
+
transform: scale(1);
|
|
269
|
+
}
|
|
270
|
+
50% {
|
|
271
|
+
transform: scale(1.25);
|
|
272
|
+
}
|
|
273
|
+
100% {
|
|
274
|
+
transform: scale(1);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
134
278
|
[dir='rtl'] .nut-rate,
|
|
135
279
|
.nut-rtl .nut-rate {
|
|
136
|
-
&-
|
|
137
|
-
|
|
138
|
-
|
|
280
|
+
&-horizontal {
|
|
281
|
+
.nut-rate-item {
|
|
282
|
+
margin-left: 0;
|
|
283
|
+
margin-right: $rate-item-margin;
|
|
284
|
+
|
|
285
|
+
&:first-child {
|
|
286
|
+
margin-right: 0;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.nut-rate-item-small {
|
|
291
|
+
margin-left: 0;
|
|
292
|
+
margin-right: scale-px(2px);
|
|
293
|
+
|
|
294
|
+
&:first-child {
|
|
295
|
+
margin-right: 0;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.nut-rate-label {
|
|
139
300
|
margin-right: 0;
|
|
140
301
|
}
|
|
141
302
|
|
|
142
|
-
|
|
143
|
-
margin-
|
|
303
|
+
.nut-rate-label-small {
|
|
304
|
+
margin-left: scale-px(4px);
|
|
144
305
|
}
|
|
145
306
|
|
|
146
|
-
|
|
147
|
-
margin-
|
|
307
|
+
.nut-rate-label-normal {
|
|
308
|
+
margin-left: scale-px(12px);
|
|
148
309
|
}
|
|
149
310
|
|
|
150
|
-
|
|
151
|
-
margin-
|
|
311
|
+
.nut-rate-label-large {
|
|
312
|
+
margin-left: scale-px(12px);
|
|
152
313
|
}
|
|
153
314
|
|
|
154
|
-
|
|
155
|
-
|
|
315
|
+
.nut-rate-score {
|
|
316
|
+
padding-left: 0;
|
|
156
317
|
}
|
|
157
318
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
right: 0;
|
|
319
|
+
.nut-rate-score-small {
|
|
320
|
+
padding-right: scale-px(4px);
|
|
161
321
|
}
|
|
162
322
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
right: 0;
|
|
167
|
-
}
|
|
323
|
+
.nut-rate-score-normal {
|
|
324
|
+
padding-right: scale-px(12px);
|
|
325
|
+
}
|
|
168
326
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
right: auto;
|
|
172
|
-
}
|
|
327
|
+
.nut-rate-score-large {
|
|
328
|
+
padding-right: scale-px(12px);
|
|
173
329
|
}
|
|
174
330
|
}
|
|
175
331
|
|
|
176
|
-
&-
|
|
177
|
-
|
|
332
|
+
&-vertical {
|
|
333
|
+
.nut-rate-item {
|
|
334
|
+
margin-left: 0;
|
|
335
|
+
margin-right: $rate-item-margin;
|
|
178
336
|
|
|
179
|
-
|
|
180
|
-
|
|
337
|
+
&:first-child {
|
|
338
|
+
margin-right: 0;
|
|
339
|
+
}
|
|
181
340
|
}
|
|
341
|
+
}
|
|
182
342
|
|
|
183
|
-
|
|
184
|
-
|
|
343
|
+
&-item-half {
|
|
344
|
+
left: auto;
|
|
345
|
+
right: 0;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
&-item-icon {
|
|
349
|
+
&.nut-rate-item-icon.nut-rate-item-icon-half {
|
|
350
|
+
left: auto;
|
|
351
|
+
right: 0;
|
|
185
352
|
}
|
|
186
353
|
|
|
187
|
-
|
|
188
|
-
|
|
354
|
+
&.nut-rate-item-icon::before {
|
|
355
|
+
left: auto;
|
|
356
|
+
right: auto;
|
|
189
357
|
}
|
|
190
358
|
}
|
|
191
359
|
}
|