From 94c8cbf440200198dcf25ce21c72c00c531929e6 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 26 Nov 2024 17:05:26 +0800 Subject: [PATCH 01/11] =?UTF-8?q?feat(rate):=20v14=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/nutui-taro-demo/config/index.js | 1 + src/packages/rate/demos/h5/demo1.tsx | 10 ++- src/packages/rate/demos/h5/demo5.tsx | 2 +- src/packages/rate/demos/taro/demo1.tsx | 10 ++- src/packages/rate/demos/taro/demo5.tsx | 2 +- src/packages/rate/doc.en-US.md | 13 +++- src/packages/rate/doc.md | 11 ++- src/packages/rate/doc.taro.md | 13 +++- src/packages/rate/doc.zh-TW.md | 13 +++- src/packages/rate/index.taro.ts | 2 +- src/packages/rate/index.ts | 2 +- src/packages/rate/rate.scss | 94 ++++++++++++++++++++++-- src/packages/rate/rate.taro.tsx | 39 +++++----- src/packages/rate/rate.tsx | 37 +++++----- src/packages/rate/types.ts | 20 +++++ src/styles/mixins/font.scss | 8 ++ src/styles/variables.scss | 14 +++- 17 files changed, 222 insertions(+), 69 deletions(-) create mode 100644 src/packages/rate/types.ts create mode 100644 src/styles/mixins/font.scss diff --git a/packages/nutui-taro-demo/config/index.js b/packages/nutui-taro-demo/config/index.js index b3968fc8e6..0a78c8d50b 100644 --- a/packages/nutui-taro-demo/config/index.js +++ b/packages/nutui-taro-demo/config/index.js @@ -102,6 +102,7 @@ const config = { '@/sites': path.resolve(__dirname, '../../../src/sites'), '@/locales': path.resolve(__dirname, '../../../src/locales'), '@/utils': path.resolve(__dirname, '../../../src/utils'), + '@/styles': path.resolve(__dirname, '../../../src/styles'), '@nutui/nutui-react-taro': path.resolve( __dirname, '../../../src/packages/nutui.react.taro.ts' diff --git a/src/packages/rate/demos/h5/demo1.tsx b/src/packages/rate/demos/h5/demo1.tsx index 871713ef3b..39107e6e86 100644 --- a/src/packages/rate/demos/h5/demo1.tsx +++ b/src/packages/rate/demos/h5/demo1.tsx @@ -1,7 +1,13 @@ import React from 'react' -import { Rate } from '@nutui/nutui-react' +import { Rate, Space } from '@nutui/nutui-react' const Demo1 = () => { - return + return ( + + + + + + ) } export default Demo1 diff --git a/src/packages/rate/demos/h5/demo5.tsx b/src/packages/rate/demos/h5/demo5.tsx index 78c747a11a..e9e25bbe35 100644 --- a/src/packages/rate/demos/h5/demo5.tsx +++ b/src/packages/rate/demos/h5/demo5.tsx @@ -2,6 +2,6 @@ import React from 'react' import { Rate } from '@nutui/nutui-react' const Demo5 = () => { - return + return } export default Demo5 diff --git a/src/packages/rate/demos/taro/demo1.tsx b/src/packages/rate/demos/taro/demo1.tsx index c8d22ffd60..d99eccf62a 100644 --- a/src/packages/rate/demos/taro/demo1.tsx +++ b/src/packages/rate/demos/taro/demo1.tsx @@ -1,7 +1,13 @@ import React from 'react' -import { Rate } from '@nutui/nutui-react-taro' +import { Rate, Space } from '@nutui/nutui-react-taro' const Demo1 = () => { - return + return ( + + + + + + ) } export default Demo1 diff --git a/src/packages/rate/demos/taro/demo5.tsx b/src/packages/rate/demos/taro/demo5.tsx index 9f0ebe2882..ee322a85ca 100644 --- a/src/packages/rate/demos/taro/demo5.tsx +++ b/src/packages/rate/demos/taro/demo5.tsx @@ -2,6 +2,6 @@ import React from 'react' import { Rate } from '@nutui/nutui-react-taro' const Demo5 = () => { - return + return } export default Demo5 diff --git a/src/packages/rate/doc.en-US.md b/src/packages/rate/doc.en-US.md index 57e94f2cdc..5148ca054f 100644 --- a/src/packages/rate/doc.en-US.md +++ b/src/packages/rate/doc.en-US.md @@ -112,6 +112,8 @@ import { Rate } from '@nutui/nutui-react' | Property | Description | Type | Default | | --- | --- | --- | --- | +| size | Score size | `large` \| `normal` \| `small` | `normal` | +| showScore | Show Score | `boolean` | `true` | | defaultValue | Uncontrolled star value | `number` | `0` | | value | Controlled star value | `number` | `0` | | count | total number of stars | `number` | `5` | @@ -121,7 +123,7 @@ import { Rate } from '@nutui/nutui-react' | allowHalf | Half star or not | `boolean` | `false` | | readOnly | Read only | `boolean` | `false` | | disabled | Disable or not | `boolean` | `false` | -| touchable | Enable touch to select | `boolean` | `false` | +| touchable | Enable touch to select | `boolean` | `false` | `-` | | onChange | Event triggered when the current score is modified | `(value: number) => void` | `-` | | onTouchEnd | Event triggered when touch end | `(event: TouchEvent, value: number) => void` | `-` | @@ -133,6 +135,9 @@ The component provides the following CSS variables, which can be used to customi | Name | Description | Default Value | | --- | --- | --- | -| \--nutui-rate-item-margin | rate item margin | `14px` | -| \--nutui-rate-icon-color | checked icon color | `$color-primary` | -| \--nutui-rate-icon-inactive-color | unchecked icon color | `$color-text-disabled` | +| \--nutui-rate-item-margin | spacing | `4px` | +| \--nutui-rate-icon-color | icon activation color | `$color-primary-icon` | +| \--nutui-rate-icon-inactive-color | icon inactive color | `$color-primary-icon-disabled` | +| \--nutui-rate-icon-size | icon size | `12px` | +| \--nutui-rate-font-color | Rating font color | `$color-primary-icon` | +| \--nutui-rate-font-size | Rating font size | `12px` | diff --git a/src/packages/rate/doc.md b/src/packages/rate/doc.md index 4ea9531b31..f2298abe84 100644 --- a/src/packages/rate/doc.md +++ b/src/packages/rate/doc.md @@ -112,6 +112,8 @@ import { Rate } from '@nutui/nutui-react' | 属性 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | +| size | star 尺寸 | `large` \| `normal` \| `small` | `normal` | +| showScore | 展示评分 | `boolean` | `true` | | defaultValue | 非受控的 star 默认值 | `number` | `0` | | value | 受控的 star 数值 | `number` | `0` | | count | star 总数 | `number` | `5` | @@ -133,6 +135,9 @@ import { Rate } from '@nutui/nutui-react' | 名称 | 说明 | 默认值 | | --- | --- | --- | -| \--nutui-rate-item-margin | 间距 | `14px` | -| \--nutui-rate-icon-color | icon 激活颜色 | `$color-primary` | -| \--nutui-rate-icon-inactive-color | icon 未激活颜色 | `$color-text-disabled` | +| \--nutui-rate-item-margin | 间距 | `4px` | +| \--nutui-rate-icon-color | icon 激活颜色 | `$color-primary-icon` | +| \--nutui-rate-icon-inactive-color | icon 未激活颜色 | `$color-primary-icon-disabled` | +| \--nutui-rate-icon-size | icon 尺寸 | `12px` | +| \--nutui-rate-font-color | 评分字体颜色 | `$color-primary-icon` | +| \--nutui-rate-font-size | 评分字体大小 | `12px` | diff --git a/src/packages/rate/doc.taro.md b/src/packages/rate/doc.taro.md index f1676e963b..00ee5ff7ef 100644 --- a/src/packages/rate/doc.taro.md +++ b/src/packages/rate/doc.taro.md @@ -112,6 +112,8 @@ import { Rate } from '@nutui/nutui-react-taro' | 属性 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | +| size | star 尺寸 | `large` \| `normal` \| `small` | `normal` | +| showScore | 展示评分 | `boolean` | `true` | | defaultValue | 非受控的 star 默认值 | `number` | `0` | | value | 受控的 star 数值 | `number` | `0` | | count | star 总数 | `number` | `5` | @@ -121,7 +123,7 @@ import { Rate } from '@nutui/nutui-react-taro' | allowHalf | 是否半星 | `boolean` | `false` | | readOnly | 是否只读 | `boolean` | `false` | | disabled | 是否禁用 | `boolean` | `false` | -| touchable | 是否允许滑动选择 | `boolean` | `false` | +| touchable | 是否允许滑动选择 | `boolean` | `false` | `-` | | onChange | 当前 star 数修改时触发 | `(value: number) => void` | `-` | | onTouchEnd | touch 滑动结束时触发 | `(event: TouchEvent, value: number) => void` | `-` | @@ -133,6 +135,9 @@ import { Rate } from '@nutui/nutui-react-taro' | 名称 | 说明 | 默认值 | | --- | --- | --- | -| \--nutui-rate-item-margin | 间距 | `14px` | -| \--nutui-rate-icon-color | icon 激活颜色 | `$color-primary` | -| \--nutui-rate-icon-inactive-color | icon 未激活颜色 | `$color-text-disabled` | +| \--nutui-rate-item-margin | 间距 | `4px` | +| \--nutui-rate-icon-color | icon 激活颜色 | `$color-primary-icon` | +| \--nutui-rate-icon-inactive-color | icon 未激活颜色 | `$color-primary-icon-disabled` | +| \--nutui-rate-icon-size | icon 尺寸 | `12px` | +| \--nutui-rate-font-color | 评分字体颜色 | `$color-primary-icon` | +| \--nutui-rate-font-size | 评分字体大小 | `12px` | diff --git a/src/packages/rate/doc.zh-TW.md b/src/packages/rate/doc.zh-TW.md index 84f4710a16..cd81f2d042 100644 --- a/src/packages/rate/doc.zh-TW.md +++ b/src/packages/rate/doc.zh-TW.md @@ -112,6 +112,8 @@ import { Rate } from '@nutui/nutui-react' | 屬性 | 說明 | 類型 | 默認值 | | --- | --- | --- | --- | +| size | star 尺寸 | `large` \| `normal` \| `small` | `normal` | +| showScore | 展示評分 | `boolean` | `true` | | defaultValue | 非受控的 star 默認值 | `number` | `0` | | value | 受控的 star 數值 | `number` | `0` | | count | star 總數 | `number` | `5` | @@ -121,7 +123,7 @@ import { Rate } from '@nutui/nutui-react' | allowHalf | 是否半星 | `boolean` | `false` | | readOnly | 是否只讀 | `boolean` | `false` | | disabled | 是否禁用 | `boolean` | `false` | -| touchable | 是否允許滑動選擇 | `boolean` | `false` | +| touchable | 是否允許滑動選擇 | `boolean` | `false` | `-` | | onChange | 當前 star 數修改時觸發 | `(value: number) => void` | `-` | | onTouchEnd | touch 滑動結束時觸發 | `(event: TouchEvent, value: number) => void` | `-` | @@ -133,6 +135,9 @@ import { Rate } from '@nutui/nutui-react' | 名稱 | 說明 | 默認值 | | --- | --- | --- | -| \--nutui-rate-item-margin | 間距 | `14px` | -| \--nutui-rate-icon-color | icon 激活顏色 | `$color-primary` | -| \--nutui-rate-icon-inactive-color | icon 未激活顏色 | `$color-text-disabled` | +| \--nutui-rate-item-margin | 間距 | `4px` | +| \--nutui-rate-icon-color | icon 激活顏色 | `$color-primary-icon` | +| \--nutui-rate-icon-inactive-color | icon 未激活顏色 | `$color-primary-icon-disabled` | +| \--nutui-rate-icon-size | icon 尺寸 | `12px` | +| \--nutui-rate-font-color | 評分字體顏色 | `$color-primary-icon` | +| \--nutui-rate-font-size | 評分字體大小 | `12px` | diff --git a/src/packages/rate/index.taro.ts b/src/packages/rate/index.taro.ts index 4722b027de..bdc6ea4d5a 100644 --- a/src/packages/rate/index.taro.ts +++ b/src/packages/rate/index.taro.ts @@ -1,4 +1,4 @@ import { Rate } from './rate.taro' -export type { RateProps } from './rate.taro' +export type { RateSize, RateProps } from './types' export default Rate diff --git a/src/packages/rate/index.ts b/src/packages/rate/index.ts index 1309ce035c..2409362ab8 100644 --- a/src/packages/rate/index.ts +++ b/src/packages/rate/index.ts @@ -1,4 +1,4 @@ import { Rate } from './rate' -export type { RateProps } from './rate' +export type { RateSize, RateProps } from './types' export default Rate diff --git a/src/packages/rate/rate.scss b/src/packages/rate/rate.scss index 48a1dd1d8d..369d4b615d 100644 --- a/src/packages/rate/rate.scss +++ b/src/packages/rate/rate.scss @@ -1,3 +1,4 @@ +@import '@/styles/mixins/font.scss'; .nut-rate { display: flex; touch-action: pan-x; @@ -16,13 +17,9 @@ &-item { display: flex; + align-items: center; flex-shrink: 0; position: relative; - margin-left: $rate-item-margin; - - &:first-child { - margin-left: 0; - } &-half { position: absolute; @@ -37,8 +34,41 @@ } } + &-normal { + margin-left: $rate-item-margin; + .nut-icon { + height: $rate-icon-size; + width: $rate-icon-size; + } + } + + &-large { + margin-left: calc($rate-item-margin * 2); + .nut-icon { + height: calc($rate-font-size + 8px); + width: calc($rate-icon-size + 8px); + } + } + + &-small { + margin-left: calc($rate-item-margin / 2); + .nut-icon { + height: calc($rate-icon-size - 4px); + width: calc($rate-icon-size - 4px); + } + } + + &-normal, + &-large, + &-small { + &:first-child { + margin-left: 0; + } + } + &-icon { display: flex; + align-items: center; cursor: pointer; .nut-icon { @@ -66,18 +96,58 @@ } } } + + &-score { + display: inline-flex; + align-items: center; + padding-left: $rate-item-margin; + color: $rate-font-color; + font-family: 'JDZhengHei-Regular'; + line-height: 1; + + &-normal { + font-size: $rate-font-size; + } + + &-large { + font-size: calc($rate-font-size + 6px); + padding-left: calc($rate-item-margin * 2); + } + + &-small { + font-size: calc($rate-font-size - 2px); + } + + &-disabled { + color: $rate-icon-inactive-color; + } + } } [dir='rtl'] .nut-rate, .nut-rtl .nut-rate { &-item { - margin-right: 0; - margin-left: $rate-item-margin; + margin-left: 0; + &:first-child { + margin-right: 0; + } + + &-normal { + margin-right: $rate-item-margin; + } + + &-large { + margin-right: calc($rate-item-margin * 2); + } + + &-small { + margin-right: calc($rate-item-margin / 2); + } &:last-child { - margin-right: 0; margin-left: 0; } + &-half { left: auto; right: 0; @@ -95,4 +165,12 @@ } } } + + &-score { + padding-right: $rate-item-margin; + padding-left: 0; + &-large { + padding-right: calc($rate-item-margin * 2); + } + } } diff --git a/src/packages/rate/rate.taro.tsx b/src/packages/rate/rate.taro.tsx index e17aee116c..385ad26909 100644 --- a/src/packages/rate/rate.taro.tsx +++ b/src/packages/rate/rate.taro.tsx @@ -8,29 +8,17 @@ import React, { import classNames from 'classnames' import { StarFill } from '@nutui/icons-react-taro' import { useReady } from '@tarojs/taro' -import { View, ITouchEvent } from '@tarojs/components' -import { BasicComponent, ComponentDefaults } from '@/utils/typings' +import { View, Text, ITouchEvent } from '@tarojs/components' +import { ComponentDefaults } from '@/utils/typings' import { usePropsValue } from '@/utils/use-props-value' import { getRectByTaro } from '@/utils/get-rect-by-taro' import useRefs from '@/utils/use-refs' - -export interface RateProps extends BasicComponent { - count: number - value: number - defaultValue: number - min: number - checkedIcon: React.ReactNode - uncheckedIcon: React.ReactNode - disabled: boolean - readOnly: boolean - allowHalf: boolean - touchable: boolean - onChange: (value: number) => void - onTouchEnd: (e: TouchEvent, value: number) => void -} +import { RateProps } from './types' const defaultProps = { ...ComponentDefaults, + size: 'normal', + showScore: true, count: 5, min: 0, checkedIcon: null, @@ -44,6 +32,8 @@ export const Rate: FunctionComponent> = (props) => { const { className, style, + size, + showScore, count, value, defaultValue, @@ -216,7 +206,7 @@ export const Rate: FunctionComponent> = (props) => { {countArray.map((n, index) => { return ( onClick(event, n)} @@ -243,6 +233,19 @@ export const Rate: FunctionComponent> = (props) => { ) })} + {showScore ? ( + + {score.toFixed(1)} + + ) : null} ) } diff --git a/src/packages/rate/rate.tsx b/src/packages/rate/rate.tsx index a461f4e99f..dae663db33 100644 --- a/src/packages/rate/rate.tsx +++ b/src/packages/rate/rate.tsx @@ -7,28 +7,16 @@ import React, { } from 'react' import classNames from 'classnames' import { StarFill } from '@nutui/icons-react' -import { BasicComponent, ComponentDefaults } from '@/utils/typings' +import { ComponentDefaults } from '@/utils/typings' import { usePropsValue } from '@/utils/use-props-value' import { getRect } from '@/utils/use-client-rect' import useRefs from '@/utils/use-refs' - -export interface RateProps extends BasicComponent { - count: number - value: number - defaultValue: number - min: number - checkedIcon: React.ReactNode - uncheckedIcon: React.ReactNode - disabled: boolean - readOnly: boolean - allowHalf: boolean - touchable: boolean - onChange: (value: number) => void - onTouchEnd: (e: TouchEvent, value: number) => void -} +import { RateProps } from './types' const defaultProps = { ...ComponentDefaults, + size: 'normal', + showScore: true, count: 5, min: 0, checkedIcon: null, @@ -42,6 +30,8 @@ export const Rate: FunctionComponent> = (props) => { const { className, style, + size, + showScore, count, value, defaultValue, @@ -219,7 +209,7 @@ export const Rate: FunctionComponent> = (props) => { {countArray.map((n, index) => { return (
onClick(event, n)} @@ -246,6 +236,19 @@ export const Rate: FunctionComponent> = (props) => {
) })} + {showScore ? ( + + {score.toFixed(1)} + + ) : null} ) } diff --git a/src/packages/rate/types.ts b/src/packages/rate/types.ts new file mode 100644 index 0000000000..5730be3a89 --- /dev/null +++ b/src/packages/rate/types.ts @@ -0,0 +1,20 @@ +import { BasicComponent } from '@/utils/typings' + +export type RateSize = 'large' | 'normal' | 'small' + +export interface RateProps extends BasicComponent { + size: RateSize + showScore: boolean + count: number + value: number + defaultValue: number + min: number + checkedIcon: React.ReactNode + uncheckedIcon: React.ReactNode + disabled: boolean + readOnly: boolean + allowHalf: boolean + touchable: boolean + onChange: (value: number) => void + onTouchEnd: (e: TouchEvent, value: number) => void +} diff --git a/src/styles/mixins/font.scss b/src/styles/mixins/font.scss new file mode 100644 index 0000000000..82143ea0f3 --- /dev/null +++ b/src/styles/mixins/font.scss @@ -0,0 +1,8 @@ +@font-face { + font-family: 'JDZhengHei-Regular'; + src: url('data:font/ttf;charset=utf-8;base64,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') + format('truetype'); + font-weight: 400; + font-style: normal; + font-display: swap; +} diff --git a/src/styles/variables.scss b/src/styles/variables.scss index d471a05575..282d38f5b9 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -18,6 +18,11 @@ $color-primary-gradient-1: linear-gradient( $color-primary-stop-1 0%, $color-primary-stop-2 100% ) !default; +$color-primary-icon: var(--nutui-color-primary-icon, #ff3333) !default; +$color-primary-icon-disabled: var( + --nutui-color-icon-disabled, + #dadce0 +) !default; // 默认色 $color-default: var(--nutui-color-default) !default; @@ -1099,12 +1104,15 @@ $notify-warning-background-color: var( ) !default; // rate(✅) -$rate-item-margin: var(--nutui-rate-item-margin, 14px) !default; -$rate-icon-color: var(--nutui-rate-icon-color, $color-primary) !default; +$rate-item-margin: var(--nutui-rate-item-margin, 4px) !default; +$rate-icon-color: var(--nutui-rate-icon-color, $color-primary-icon) !default; $rate-icon-inactive-color: var( --nutui-rate-icon-inactive-color, - $color-text-disabled + $color-primary-icon-disabled ) !default; +$rate-icon-size: var(--nutui-rate-icon-size, 12px) !default; +$rate-font-color: var(--nutui-rate-font-color, $color-primary-icon) !default; +$rate-font-size: var(--nutui-rate-font-size, 12px) !default; // tabbar(✅) $tabbar-height: var(--nutui-tabbar-height, 50px) !default; From 0e45a54fa36b7bf702c194fd2a1b88ee0f50b92f Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 26 Nov 2024 17:09:06 +0800 Subject: [PATCH 02/11] fix: amend --- src/packages/rate/demos/h5/demo1.tsx | 2 +- src/packages/rate/demos/taro/demo1.tsx | 2 +- src/packages/rate/doc.en-US.md | 2 +- src/packages/rate/doc.taro.md | 2 +- src/packages/rate/doc.zh-TW.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/packages/rate/demos/h5/demo1.tsx b/src/packages/rate/demos/h5/demo1.tsx index 39107e6e86..cdb18fbbbf 100644 --- a/src/packages/rate/demos/h5/demo1.tsx +++ b/src/packages/rate/demos/h5/demo1.tsx @@ -4,7 +4,7 @@ import { Rate, Space } from '@nutui/nutui-react' const Demo1 = () => { return ( - + diff --git a/src/packages/rate/demos/taro/demo1.tsx b/src/packages/rate/demos/taro/demo1.tsx index d99eccf62a..20f6942736 100644 --- a/src/packages/rate/demos/taro/demo1.tsx +++ b/src/packages/rate/demos/taro/demo1.tsx @@ -4,7 +4,7 @@ import { Rate, Space } from '@nutui/nutui-react-taro' const Demo1 = () => { return ( - + diff --git a/src/packages/rate/doc.en-US.md b/src/packages/rate/doc.en-US.md index 5148ca054f..89ed157fe2 100644 --- a/src/packages/rate/doc.en-US.md +++ b/src/packages/rate/doc.en-US.md @@ -123,7 +123,7 @@ import { Rate } from '@nutui/nutui-react' | allowHalf | Half star or not | `boolean` | `false` | | readOnly | Read only | `boolean` | `false` | | disabled | Disable or not | `boolean` | `false` | -| touchable | Enable touch to select | `boolean` | `false` | `-` | +| touchable | Enable touch to select | `boolean` | `false` | | onChange | Event triggered when the current score is modified | `(value: number) => void` | `-` | | onTouchEnd | Event triggered when touch end | `(event: TouchEvent, value: number) => void` | `-` | diff --git a/src/packages/rate/doc.taro.md b/src/packages/rate/doc.taro.md index 00ee5ff7ef..cdc1e0e129 100644 --- a/src/packages/rate/doc.taro.md +++ b/src/packages/rate/doc.taro.md @@ -123,7 +123,7 @@ import { Rate } from '@nutui/nutui-react-taro' | allowHalf | 是否半星 | `boolean` | `false` | | readOnly | 是否只读 | `boolean` | `false` | | disabled | 是否禁用 | `boolean` | `false` | -| touchable | 是否允许滑动选择 | `boolean` | `false` | `-` | +| touchable | 是否允许滑动选择 | `boolean` | `false` | | onChange | 当前 star 数修改时触发 | `(value: number) => void` | `-` | | onTouchEnd | touch 滑动结束时触发 | `(event: TouchEvent, value: number) => void` | `-` | diff --git a/src/packages/rate/doc.zh-TW.md b/src/packages/rate/doc.zh-TW.md index cd81f2d042..1563426765 100644 --- a/src/packages/rate/doc.zh-TW.md +++ b/src/packages/rate/doc.zh-TW.md @@ -123,7 +123,7 @@ import { Rate } from '@nutui/nutui-react' | allowHalf | 是否半星 | `boolean` | `false` | | readOnly | 是否只讀 | `boolean` | `false` | | disabled | 是否禁用 | `boolean` | `false` | -| touchable | 是否允許滑動選擇 | `boolean` | `false` | `-` | +| touchable | 是否允許滑動選擇 | `boolean` | `false` | | onChange | 當前 star 數修改時觸發 | `(value: number) => void` | `-` | | onTouchEnd | touch 滑動結束時觸發 | `(event: TouchEvent, value: number) => void` | `-` | From 985c08da438bb482cfd23c24da85da60c55f8ede Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 26 Nov 2024 17:11:48 +0800 Subject: [PATCH 03/11] fix: update marking --- src/config.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config.json b/src/config.json index 1ba789e265..5f88e67ba3 100644 --- a/src/config.json +++ b/src/config.json @@ -629,6 +629,7 @@ "sort": 1, "show": true, "taro": true, + "v14": true, "author": "dsj" }, { @@ -987,8 +988,8 @@ "sort": 17, "show": true, "taro": true, - "author": "songsong", - "v14": true + "v14": true, + "author": "songsong" }, { "version": "2.0.0", From 51140943bdcdd9b4738f1093e12189b2293b7d03 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 26 Nov 2024 17:27:21 +0800 Subject: [PATCH 04/11] fix: amend --- src/packages/rate/demos/h5/demo5.tsx | 2 +- src/packages/rate/demos/taro/demo5.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/packages/rate/demos/h5/demo5.tsx b/src/packages/rate/demos/h5/demo5.tsx index e9e25bbe35..bf39d98f5e 100644 --- a/src/packages/rate/demos/h5/demo5.tsx +++ b/src/packages/rate/demos/h5/demo5.tsx @@ -2,6 +2,6 @@ import React from 'react' import { Rate } from '@nutui/nutui-react' const Demo5 = () => { - return + return } export default Demo5 diff --git a/src/packages/rate/demos/taro/demo5.tsx b/src/packages/rate/demos/taro/demo5.tsx index ee322a85ca..6d7b0d1930 100644 --- a/src/packages/rate/demos/taro/demo5.tsx +++ b/src/packages/rate/demos/taro/demo5.tsx @@ -2,6 +2,6 @@ import React from 'react' import { Rate } from '@nutui/nutui-react-taro' const Demo5 = () => { - return + return } export default Demo5 From 2bd65c7a75a9a85308155ad9aa1b9a26d351b362 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 26 Nov 2024 17:52:50 +0800 Subject: [PATCH 05/11] fix: modify font import --- packages/nutui-taro-demo/config/index.js | 1 - src/packages/rate/rate.scss | 1 - src/styles/mixins/index.scss | 1 + 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/nutui-taro-demo/config/index.js b/packages/nutui-taro-demo/config/index.js index 0a78c8d50b..b3968fc8e6 100644 --- a/packages/nutui-taro-demo/config/index.js +++ b/packages/nutui-taro-demo/config/index.js @@ -102,7 +102,6 @@ const config = { '@/sites': path.resolve(__dirname, '../../../src/sites'), '@/locales': path.resolve(__dirname, '../../../src/locales'), '@/utils': path.resolve(__dirname, '../../../src/utils'), - '@/styles': path.resolve(__dirname, '../../../src/styles'), '@nutui/nutui-react-taro': path.resolve( __dirname, '../../../src/packages/nutui.react.taro.ts' diff --git a/src/packages/rate/rate.scss b/src/packages/rate/rate.scss index 369d4b615d..b5bb1b4eff 100644 --- a/src/packages/rate/rate.scss +++ b/src/packages/rate/rate.scss @@ -1,4 +1,3 @@ -@import '@/styles/mixins/font.scss'; .nut-rate { display: flex; touch-action: pan-x; diff --git a/src/styles/mixins/index.scss b/src/styles/mixins/index.scss index f643ead6e4..809c7a14a4 100644 --- a/src/styles/mixins/index.scss +++ b/src/styles/mixins/index.scss @@ -1,2 +1,3 @@ @import 'make-animation.scss'; @import 'text-ellipsis.scss'; +@import 'font.scss'; From 77be6a542ba6cff7329b2f53eec42988fbffc958 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 26 Nov 2024 18:08:52 +0800 Subject: [PATCH 06/11] =?UTF-8?q?fix:=20=E8=AE=BE=E8=AE=A1=E7=A8=BF?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E9=97=B4=E8=B7=9D=E8=B7=9F=E9=9A=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/rate/rate.scss | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/packages/rate/rate.scss b/src/packages/rate/rate.scss index b5bb1b4eff..8061ef0544 100644 --- a/src/packages/rate/rate.scss +++ b/src/packages/rate/rate.scss @@ -50,7 +50,7 @@ } &-small { - margin-left: calc($rate-item-margin / 2); + margin-left: calc($rate-item-margin - 2px); .nut-icon { height: calc($rate-icon-size - 4px); width: calc($rate-icon-size - 4px); @@ -99,12 +99,12 @@ &-score { display: inline-flex; align-items: center; - padding-left: $rate-item-margin; color: $rate-font-color; font-family: 'JDZhengHei-Regular'; line-height: 1; &-normal { + padding-left: $rate-item-margin; font-size: $rate-font-size; } @@ -114,6 +114,7 @@ } &-small { + padding-left: calc($rate-item-margin - 2px); font-size: calc($rate-font-size - 2px); } @@ -140,7 +141,7 @@ } &-small { - margin-right: calc($rate-item-margin / 2); + margin-right: calc($rate-item-margin - 2px); } &:last-child { @@ -166,10 +167,18 @@ } &-score { - padding-right: $rate-item-margin; padding-left: 0; + &-large { padding-right: calc($rate-item-margin * 2); } + + &-normal { + padding-right: $rate-item-margin; + } + + &-small { + padding-right: calc($rate-item-margin - 2px); + } } } From 2064c287ecc5a9539d263fdbf4e16d49d8f8caf3 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Mon, 2 Dec 2024 09:54:29 +0800 Subject: [PATCH 07/11] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/rate/rate.scss | 2 +- src/styles/mixins/font.scss | 8 -------- src/styles/mixins/index.scss | 1 - 3 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 src/styles/mixins/font.scss diff --git a/src/packages/rate/rate.scss b/src/packages/rate/rate.scss index 8061ef0544..df33d50ad9 100644 --- a/src/packages/rate/rate.scss +++ b/src/packages/rate/rate.scss @@ -100,7 +100,7 @@ display: inline-flex; align-items: center; color: $rate-font-color; - font-family: 'JDZhengHei-Regular'; + font-family: 'JD'; line-height: 1; &-normal { diff --git a/src/styles/mixins/font.scss b/src/styles/mixins/font.scss deleted file mode 100644 index 82143ea0f3..0000000000 --- a/src/styles/mixins/font.scss +++ /dev/null @@ -1,8 +0,0 @@ -@font-face { - font-family: 'JDZhengHei-Regular'; - src: url('data:font/ttf;charset=utf-8;base64,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') - format('truetype'); - font-weight: 400; - font-style: normal; - font-display: swap; -} diff --git a/src/styles/mixins/index.scss b/src/styles/mixins/index.scss index 809c7a14a4..f643ead6e4 100644 --- a/src/styles/mixins/index.scss +++ b/src/styles/mixins/index.scss @@ -1,3 +1,2 @@ @import 'make-animation.scss'; @import 'text-ellipsis.scss'; -@import 'font.scss'; From 056cb642793ac27613b32699d3309834ab79d880 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Tue, 3 Dec 2024 11:38:27 +0800 Subject: [PATCH 08/11] =?UTF-8?q?feat:=20update=20migrate-from=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- migrate-from-v2.md | 1 + 1 file changed, 1 insertion(+) diff --git a/migrate-from-v2.md b/migrate-from-v2.md index 5bd3f8ec5e..fa2b36b60f 100644 --- a/migrate-from-v2.md +++ b/migrate-from-v2.md @@ -829,6 +829,7 @@ plugins: [ - `upIconName` 重命名为 `riseIcon`,类型修改为 `React.Node` - `downIconName` 重命名为 `dropIcon`,类型修改为 `React.Node` - 移除 `iconSize`,通过`riseIcon`、`dropIcon`自定义传入icon大小 +- 新增 `size`,star 尺寸 #### Video From 49a7f24e406c4f4916cbf1a1bd7bd69916fa7b00 Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Wed, 4 Dec 2024 15:58:18 +0800 Subject: [PATCH 09/11] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9pr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- migrate-from-v2.md | 3 ++- src/packages/rate/demos/h5/demo2.tsx | 2 +- src/packages/rate/demos/taro/demo2.tsx | 2 +- src/packages/rate/doc.en-US.md | 2 +- src/packages/rate/doc.md | 2 +- src/packages/rate/doc.taro.md | 2 +- src/packages/rate/doc.zh-TW.md | 2 +- src/packages/rate/rate.scss | 2 +- src/packages/rate/rate.taro.tsx | 2 +- src/packages/rate/rate.tsx | 2 +- src/styles/theme-dark.scss | 3 +++ src/styles/theme-default.scss | 3 +++ src/styles/variables.scss | 7 ++----- 13 files changed, 19 insertions(+), 15 deletions(-) diff --git a/migrate-from-v2.md b/migrate-from-v2.md index fa2b36b60f..c990d51b27 100644 --- a/migrate-from-v2.md +++ b/migrate-from-v2.md @@ -829,7 +829,8 @@ plugins: [ - `upIconName` 重命名为 `riseIcon`,类型修改为 `React.Node` - `downIconName` 重命名为 `dropIcon`,类型修改为 `React.Node` - 移除 `iconSize`,通过`riseIcon`、`dropIcon`自定义传入icon大小 -- 新增 `size`,star 尺寸 +- 新增 `size`,star 尺寸, 默认值 `normal` 为 `12px` +- 新增 `showScore`, 展示评分 #### Video diff --git a/src/packages/rate/demos/h5/demo2.tsx b/src/packages/rate/demos/h5/demo2.tsx index ecb3036b74..fc837a45f5 100644 --- a/src/packages/rate/demos/h5/demo2.tsx +++ b/src/packages/rate/demos/h5/demo2.tsx @@ -3,6 +3,6 @@ import { Rate } from '@nutui/nutui-react' const Demo2 = () => { const [score, setScore] = useState(2) - return setScore(value)} /> + return setScore(value)} /> } export default Demo2 diff --git a/src/packages/rate/demos/taro/demo2.tsx b/src/packages/rate/demos/taro/demo2.tsx index 9081364d68..a3739f216f 100644 --- a/src/packages/rate/demos/taro/demo2.tsx +++ b/src/packages/rate/demos/taro/demo2.tsx @@ -3,6 +3,6 @@ import { Rate } from '@nutui/nutui-react-taro' const Demo2 = () => { const [score, setScore] = useState(2) - return setScore(value)} /> + return setScore(value)} /> } export default Demo2 diff --git a/src/packages/rate/doc.en-US.md b/src/packages/rate/doc.en-US.md index 89ed157fe2..fa90b6072d 100644 --- a/src/packages/rate/doc.en-US.md +++ b/src/packages/rate/doc.en-US.md @@ -113,7 +113,7 @@ import { Rate } from '@nutui/nutui-react' | Property | Description | Type | Default | | --- | --- | --- | --- | | size | Score size | `large` \| `normal` \| `small` | `normal` | -| showScore | Show Score | `boolean` | `true` | +| showScore | Show Score | `boolean` | `false` | | defaultValue | Uncontrolled star value | `number` | `0` | | value | Controlled star value | `number` | `0` | | count | total number of stars | `number` | `5` | diff --git a/src/packages/rate/doc.md b/src/packages/rate/doc.md index f2298abe84..d9d1c69c8f 100644 --- a/src/packages/rate/doc.md +++ b/src/packages/rate/doc.md @@ -113,7 +113,7 @@ import { Rate } from '@nutui/nutui-react' | 属性 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | | size | star 尺寸 | `large` \| `normal` \| `small` | `normal` | -| showScore | 展示评分 | `boolean` | `true` | +| showScore | 展示评分 | `boolean` | `false` | | defaultValue | 非受控的 star 默认值 | `number` | `0` | | value | 受控的 star 数值 | `number` | `0` | | count | star 总数 | `number` | `5` | diff --git a/src/packages/rate/doc.taro.md b/src/packages/rate/doc.taro.md index cdc1e0e129..1709373b14 100644 --- a/src/packages/rate/doc.taro.md +++ b/src/packages/rate/doc.taro.md @@ -113,7 +113,7 @@ import { Rate } from '@nutui/nutui-react-taro' | 属性 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | | size | star 尺寸 | `large` \| `normal` \| `small` | `normal` | -| showScore | 展示评分 | `boolean` | `true` | +| showScore | 展示评分 | `boolean` | `false` | | defaultValue | 非受控的 star 默认值 | `number` | `0` | | value | 受控的 star 数值 | `number` | `0` | | count | star 总数 | `number` | `5` | diff --git a/src/packages/rate/doc.zh-TW.md b/src/packages/rate/doc.zh-TW.md index 1563426765..e64b1ee237 100644 --- a/src/packages/rate/doc.zh-TW.md +++ b/src/packages/rate/doc.zh-TW.md @@ -113,7 +113,7 @@ import { Rate } from '@nutui/nutui-react' | 屬性 | 說明 | 類型 | 默認值 | | --- | --- | --- | --- | | size | star 尺寸 | `large` \| `normal` \| `small` | `normal` | -| showScore | 展示評分 | `boolean` | `true` | +| showScore | 展示評分 | `boolean` | `false` | | defaultValue | 非受控的 star 默認值 | `number` | `0` | | value | 受控的 star 數值 | `number` | `0` | | count | star 總數 | `number` | `5` | diff --git a/src/packages/rate/rate.scss b/src/packages/rate/rate.scss index df33d50ad9..0d03d782f8 100644 --- a/src/packages/rate/rate.scss +++ b/src/packages/rate/rate.scss @@ -44,7 +44,7 @@ &-large { margin-left: calc($rate-item-margin * 2); .nut-icon { - height: calc($rate-font-size + 8px); + height: calc($rate-icon-size + 8px); width: calc($rate-icon-size + 8px); } } diff --git a/src/packages/rate/rate.taro.tsx b/src/packages/rate/rate.taro.tsx index 385ad26909..6511c7ac77 100644 --- a/src/packages/rate/rate.taro.tsx +++ b/src/packages/rate/rate.taro.tsx @@ -18,7 +18,7 @@ import { RateProps } from './types' const defaultProps = { ...ComponentDefaults, size: 'normal', - showScore: true, + showScore: false, count: 5, min: 0, checkedIcon: null, diff --git a/src/packages/rate/rate.tsx b/src/packages/rate/rate.tsx index dae663db33..17a382fab9 100644 --- a/src/packages/rate/rate.tsx +++ b/src/packages/rate/rate.tsx @@ -16,7 +16,7 @@ import { RateProps } from './types' const defaultProps = { ...ComponentDefaults, size: 'normal', - showScore: true, + showScore: false, count: 5, min: 0, checkedIcon: null, diff --git a/src/styles/theme-dark.scss b/src/styles/theme-dark.scss index 8fa047a669..49bbb0da78 100644 --- a/src/styles/theme-dark.scss +++ b/src/styles/theme-dark.scss @@ -68,6 +68,7 @@ page { // danger color --nutui-red-1: #ffebef; --nutui-red-2: #ff0f23; + --nutui-red-6: #ff3b3b; // danger color 语义化 --nutui-color-danger: var(--nutui-red-2); // 背景或文字 @@ -110,6 +111,8 @@ page { --nutui-gray-6: #999999; // 一级文字色(重要)主要内容用色,常用语常规标题内容、细文浏览、常规按钮文字以及图表引导。 --nutui-gray-7: #e6e6e6; + // icon 禁用颜色 + --nutui-gray-8: #dadce0; --nutui-black-1: rgba(255, 255, 255, 0); // 蒙层色 diff --git a/src/styles/theme-default.scss b/src/styles/theme-default.scss index 48e7f23a14..e7d5cd31be 100644 --- a/src/styles/theme-default.scss +++ b/src/styles/theme-default.scss @@ -68,6 +68,7 @@ page { // danger color --nutui-red-1: #ffebef; --nutui-red-2: #ff0f23; + --nutui-red-6: #ff3333; // danger color 语义化 --nutui-color-danger: var(--nutui-red-2); // 背景或文字 @@ -110,6 +111,8 @@ page { --nutui-gray-6: #505259; // 一级文字色(重要)主要内容用色,常用语常规标题内容、细文浏览、常规按钮文字以及图表引导。 --nutui-gray-7: #1a1a1a; + // icon 未选中颜色 + --nutui-gray-8: #dadce0; --nutui-black-1: rgba(0, 0, 0, 0); // 蒙层色 diff --git a/src/styles/variables.scss b/src/styles/variables.scss index 40742ba7f8..4184f5ecde 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -18,11 +18,8 @@ $color-primary-gradient-1: linear-gradient( $color-primary-stop-1 0%, $color-primary-stop-2 100% ) !default; -$color-primary-icon: var(--nutui-color-primary-icon, #ff3333) !default; -$color-primary-icon-disabled: var( - --nutui-color-icon-disabled, - #dadce0 -) !default; +$color-primary-icon: var(--nutui-red-6, #ff3333) !default; +$color-primary-icon-disabled: var(--nutui-gray-8, #dadce0) !default; // 默认色 $color-default: var(--nutui-color-default) !default; From 9dcafdbd29b74c594717d8a077a9948314b6ea4d Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Wed, 4 Dec 2024 16:47:49 +0800 Subject: [PATCH 10/11] fix: update test --- .../__test__/__snapshots__/rate.spec.tsx.snap | 31 +++++++++++++++++++ src/packages/rate/__test__/rate.spec.tsx | 16 ++++++++++ 2 files changed, 47 insertions(+) create mode 100644 src/packages/rate/__test__/__snapshots__/rate.spec.tsx.snap diff --git a/src/packages/rate/__test__/__snapshots__/rate.spec.tsx.snap b/src/packages/rate/__test__/__snapshots__/rate.spec.tsx.snap new file mode 100644 index 0000000000..439759097b --- /dev/null +++ b/src/packages/rate/__test__/__snapshots__/rate.spec.tsx.snap @@ -0,0 +1,31 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`size test 1`] = ` +
+
+
+
+ + + +
+
+
+
+`; diff --git a/src/packages/rate/__test__/rate.spec.tsx b/src/packages/rate/__test__/rate.spec.tsx index c51fbd06c6..7fecf8af7c 100644 --- a/src/packages/rate/__test__/rate.spec.tsx +++ b/src/packages/rate/__test__/rate.spec.tsx @@ -74,6 +74,22 @@ test('allowHalf test', () => { ) } }) +test('size test', () => { + const { container } = render() + const el = container.querySelector('.nut-rate-item') + if (el) { + expect(el).toHaveClass('nut-rate-item-large') + } + expect(container).toMatchSnapshot() +}) + +test('showScore test', () => { + const { container } = render() + const el = container.querySelector('.nut-rate-score') + if (el) { + expect(el?.innerHTML).toBe('0.5') + } +}) test('touchable', () => { const state = { From 87a5190d8d496a70a14732ec460532e1703cd65b Mon Sep 17 00:00:00 2001 From: songchenglin3 <353833373@qq.com> Date: Wed, 4 Dec 2024 18:50:23 +0800 Subject: [PATCH 11/11] fix: update calc --- src/packages/rate/rate.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/packages/rate/rate.scss b/src/packages/rate/rate.scss index 0d03d782f8..d72fd26e63 100644 --- a/src/packages/rate/rate.scss +++ b/src/packages/rate/rate.scss @@ -50,7 +50,7 @@ } &-small { - margin-left: calc($rate-item-margin - 2px); + margin-left: calc($rate-item-margin / 2); .nut-icon { height: calc($rate-icon-size - 4px); width: calc($rate-icon-size - 4px); @@ -114,8 +114,8 @@ } &-small { - padding-left: calc($rate-item-margin - 2px); font-size: calc($rate-font-size - 2px); + padding-left: calc($rate-item-margin / 2); } &-disabled {