@wot-ui/ui 2.0.0-alpha.7 → 2.0.0-alpha.9

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.
Files changed (77) hide show
  1. package/attributes.json +1 -1
  2. package/changelog.md +21 -0
  3. package/components/wd-action-sheet/index.scss +5 -5
  4. package/components/wd-avatar/index.scss +5 -5
  5. package/components/wd-backtop/index.scss +2 -2
  6. package/components/wd-badge/index.scss +2 -2
  7. package/components/wd-button/index.scss +5 -5
  8. package/components/wd-button/types.ts +10 -1
  9. package/components/wd-button/wd-button.vue +2 -2
  10. package/components/wd-calendar/index.scss +1 -1
  11. package/components/wd-calendar-view/index.scss +3 -3
  12. package/components/wd-card/index.scss +2 -2
  13. package/components/wd-cascader/index.scss +3 -3
  14. package/components/wd-cell/index.scss +8 -8
  15. package/components/wd-checkbox/index.scss +3 -3
  16. package/components/wd-circle/index.scss +1 -1
  17. package/components/wd-collapse-item/index.scss +2 -2
  18. package/components/wd-config-provider/types.ts +1 -1
  19. package/components/wd-count-down/index.scss +1 -1
  20. package/components/wd-count-to/index.scss +2 -2
  21. package/components/wd-datetime-picker/index.scss +3 -3
  22. package/components/wd-dialog/index.scss +3 -3
  23. package/components/wd-divider/index.scss +1 -1
  24. package/components/wd-drop-menu/index.scss +1 -1
  25. package/components/wd-drop-menu-item/index.scss +2 -2
  26. package/components/wd-empty/index.scss +1 -1
  27. package/components/wd-form-item/index.scss +1 -1
  28. package/components/wd-grid-item/index.scss +1 -1
  29. package/components/wd-icon/types.ts +8 -5
  30. package/components/wd-icon/wd-icon.vue +20 -6
  31. package/components/wd-image-preview/index.scss +1 -1
  32. package/components/wd-img/index.scss +1 -1
  33. package/components/wd-index-bar/index.scss +3 -3
  34. package/components/wd-input/index.scss +1 -1
  35. package/components/wd-input-number/index.scss +1 -1
  36. package/components/wd-keyboard/key/index.scss +3 -3
  37. package/components/wd-loading/index.scss +5 -5
  38. package/components/wd-loadmore/index.scss +2 -2
  39. package/components/wd-notice-bar/index.scss +1 -1
  40. package/components/wd-notify/index.scss +1 -1
  41. package/components/wd-pagination/index.scss +2 -2
  42. package/components/wd-password-input/index.scss +2 -2
  43. package/components/wd-picker/index.scss +1 -1
  44. package/components/wd-popover/index.scss +1 -1
  45. package/components/wd-progress/index.scss +2 -2
  46. package/components/wd-radio/index.scss +3 -3
  47. package/components/wd-search/index.scss +4 -4
  48. package/components/wd-segmented/index.scss +1 -1
  49. package/components/wd-sidebar-item/index.scss +1 -1
  50. package/components/wd-skeleton/index.scss +1 -1
  51. package/components/wd-slide-verify/index.scss +1 -1
  52. package/components/wd-slider/index.scss +4 -4
  53. package/components/wd-sort-button/index.scss +1 -1
  54. package/components/wd-step/index.scss +4 -4
  55. package/components/wd-swiper-nav/index.scss +3 -3
  56. package/components/wd-switch/index.scss +2 -2
  57. package/components/wd-switch/types.ts +33 -5
  58. package/components/wd-switch/wd-switch.vue +23 -3
  59. package/components/wd-tabbar/index.scss +1 -1
  60. package/components/wd-tabbar-item/index.scss +1 -1
  61. package/components/wd-table/index.scss +1 -1
  62. package/components/wd-tabs/index.scss +4 -4
  63. package/components/wd-tag/index.scss +6 -6
  64. package/components/wd-text/index.scss +1 -1
  65. package/components/wd-textarea/index.scss +2 -2
  66. package/components/wd-toast/index.scss +1 -1
  67. package/components/wd-toast/types.ts +14 -4
  68. package/components/wd-toast/wd-toast.vue +5 -2
  69. package/components/wd-tooltip/index.scss +1 -1
  70. package/components/wd-tour/index.scss +1 -1
  71. package/components/wd-upload/index.scss +3 -3
  72. package/package.json +1 -1
  73. package/styles/theme/base/radius.scss +1 -1
  74. package/styles/theme/base/typography.scss +13 -13
  75. package/styles/variable.scss +14 -14
  76. package/tags.json +1 -1
  77. package/web-types.json +1 -1
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <view @click="handleClick" :class="rootClass" :style="rootStyle">
2
+ <view :class="rootClass" :style="rootStyle" @click="handleClick">
3
3
  <image v-if="isImage" class="wd-icon__image" :src="name"></image>
4
4
  </view>
5
5
  </template>
@@ -19,7 +19,7 @@ export default {
19
19
  </script>
20
20
 
21
21
  <script lang="ts" setup>
22
- import { computed, type CSSProperties } from 'vue'
22
+ import { computed, normalizeClass, type CSSProperties } from 'vue'
23
23
  import { addUnit, isDef, objToStyle } from '../../common/util'
24
24
  import { iconProps } from './types'
25
25
 
@@ -31,12 +31,26 @@ const isImage = computed(() => {
31
31
  })
32
32
 
33
33
  const rootClass = computed(() => {
34
+ const clazz: Record<string, boolean> = {
35
+ 'wd-icon': true
36
+ }
37
+
34
38
  if (props.cssIcon) {
35
- // CSS 图标模式:name 直接作为 class,不使用 iconfont
36
- return `wd-icon wd-icon--css ${props.name} ${props.customClass}`
39
+ clazz['wd-icon--css'] = true
40
+
41
+ if (typeof props.cssIcon === 'string') {
42
+ clazz[props.cssIcon] = true
43
+ } else {
44
+ clazz[props.name] = true
45
+ }
46
+ } else if (isImage.value) {
47
+ clazz['wd-icon--image'] = true
48
+ } else {
49
+ clazz[props.classPrefix] = true
50
+ clazz[`${props.classPrefix}-${props.name}`] = true
37
51
  }
38
- const prefix = props.classPrefix
39
- return `wd-icon ${prefix} ${props.customClass} ${isImage.value ? 'wd-icon--image' : prefix + '-' + props.name}`
52
+
53
+ return normalizeClass([clazz, props.customClass])
40
54
  })
41
55
 
42
56
  const rootStyle = computed(() => {
@@ -12,7 +12,7 @@ $image-preview-index-font-size: var(--wot-image-preview-index-font-size, $typogr
12
12
  // 页码文字字重
13
13
  $image-preview-index-font-weight: var(--wot-image-preview-index-font-weight, $typography-title-font-weight-main) !default;
14
14
  // 页码文字行高
15
- $image-preview-index-line-height: var(--wot-image-preview-index-line-height, $typography-title-line--height-size-main) !default;
15
+ $image-preview-index-line-height: var(--wot-image-preview-index-line-height, $typography-title-line-height-size-main) !default;
16
16
  // 关闭图标尺寸
17
17
  $image-preview-close-size: var(--wot-image-preview-close-size, $n-24) !default;
18
18
  // 关闭图标颜色
@@ -2,7 +2,7 @@
2
2
  @use '../../styles/variable.scss' as *;
3
3
 
4
4
  // 圆形模式圆角
5
- $img-border-radius: var(--wot-img-border-radius, $radius-radius-full) !default;
5
+ $img-border-radius: var(--wot-img-border-radius, $radius-full) !default;
6
6
  // 加载态文字颜色
7
7
  $img-loading-color: var(--wot-img-loading-color, $text-placeholder) !default;
8
8
  // 加载态背景色
@@ -3,11 +3,11 @@
3
3
 
4
4
  $index-bar-sidebar-right: var(--wot-index-bar-sidebar-right, $spacing-super-tight) !default;
5
5
  $index-bar-index-font-size: var(--wot-index-bar-index-font-size, $typography-label-size-main) !default;
6
- $index-bar-index-width: var(--wot-index-bar-index-width, $typography-label-line--height-size-main) !default;
7
- $index-bar-index-height: var(--wot-index-bar-index-height, $typography-label-line--height-size-main) !default;
6
+ $index-bar-index-width: var(--wot-index-bar-index-width, $typography-label-line-height-size-main) !default;
7
+ $index-bar-index-height: var(--wot-index-bar-index-height, $typography-label-line-height-size-main) !default;
8
8
  $index-bar-index-font-weight: var(--wot-index-bar-index-font-weight, $font-weight-medium) !default;
9
9
  $index-bar-index-color: var(--wot-index-bar-index-color, $text-auxiliary) !default;
10
- $index-bar-index-border-radius: var(--wot-index-bar-index-border-radius, $radius-radius-full) !default;
10
+ $index-bar-index-border-radius: var(--wot-index-bar-index-border-radius, $radius-full) !default;
11
11
  $index-bar-index-color-active: var(--wot-index-bar-index-color-active, $text-white) !default;
12
12
  $index-bar-index-bg-active: var(--wot-index-bar-index-bg-active, $primary-6) !default;
13
13
  $index-bar-current-index-size: var(--wot-index-bar-current-index-size, $n-56) !default;
@@ -27,7 +27,7 @@ $input-count-color: var(--wot-input-count-color, $text-auxiliary);
27
27
  // 输入框字数统计字号
28
28
  $input-count-font-size: var(--wot-input-count-font-size, $typography-body-size-main);
29
29
  // 输入框字数统计行高
30
- $input-count-line-height: var(--wot-input-count-line-height, $typography-body-line--height-size-main);
30
+ $input-count-line-height: var(--wot-input-count-line-height, $typography-body-line-height-size-main);
31
31
  // 输入框错误颜色
32
32
  $input-error-color: var(--wot-input-error-color, $danger-main);
33
33
 
@@ -10,7 +10,7 @@ $input-number-action-color: var(--wot-input-number-action-color, $icon-secondary
10
10
  // 操作按钮圆角
11
11
  $input-number-action-border-radius: var(--wot-input-number-action-border-radius, $radius-main) !default;
12
12
  // 圆角模式操作按钮圆角
13
- $input-number-action-border-radius-full: var(--wot-input-number-action-border-radius-full, $radius-radius-full) !default;
13
+ $input-number-action-border-radius-full: var(--wot-input-number-action-border-radius-full, $radius-full) !default;
14
14
  // 操作按钮禁用颜色
15
15
  $input-number-action-disabled-color: var(--wot-input-number-action-disabled-color, $icon-disabled) !default;
16
16
  // 操作按钮分割线宽度
@@ -8,11 +8,11 @@ $keyboard-key-padding: var(--wot-keyboard-key-padding, $padding-tight) !default;
8
8
  // 按键字号
9
9
  $keyboard-key-font-size: var(--wot-keyboard-key-font-size, $typography-title-size-extra-large) !default;
10
10
  // 按键行高
11
- $keyboard-key-line-height: var(--wot-keyboard-key-line-height, $typography-title-line--height-size-extra-large) !default;
11
+ $keyboard-key-line-height: var(--wot-keyboard-key-line-height, $typography-title-line-height-size-extra-large) !default;
12
12
  // 车牌按键字号
13
13
  $keyboard-key-car-font-size: var(--wot-keyboard-key-car-font-size, $typography-title-size-main) !default;
14
14
  // 车牌按键行高
15
- $keyboard-key-car-line-height: var(--wot-keyboard-key-car-line-height, $typography-title-line--height-size-main) !default;
15
+ $keyboard-key-car-line-height: var(--wot-keyboard-key-car-line-height, $typography-title-line-height-size-main) !default;
16
16
  // 按键字重
17
17
  $keyboard-key-font-weight: var(--wot-keyboard-key-font-weight, $font-weight-medium) !default;
18
18
  // 按键背景色
@@ -24,7 +24,7 @@ $keyboard-key-bg-active: var(--wot-keyboard-key-bg-active, $filled-strong) !defa
24
24
  // 删除键字号
25
25
  $keyboard-key-delete-font-size: var(--wot-keyboard-key-delete-font-size, $typography-title-size-main) !default;
26
26
  // 删除键行高
27
- $keyboard-key-delete-line-height: var(--wot-keyboard-key-delete-line-height, $typography-title-line--height-size-main) !default;
27
+ $keyboard-key-delete-line-height: var(--wot-keyboard-key-delete-line-height, $typography-title-line-height-size-main) !default;
28
28
  // 删除键字重
29
29
  $keyboard-key-delete-font-weight: var(--wot-keyboard-key-delete-font-weight, $font-weight-medium) !default;
30
30
  // 主按钮文字颜色
@@ -18,7 +18,7 @@ $loading-size-height: var(--wot-loading-size-height, 1em) !default;
18
18
  // 圆形加载器描边宽度
19
19
  $loading-spinner-circle-stroke-width: var(--wot-loading-spinner-circle-stroke-width, 15%) !default;
20
20
  // 圆形加载器圆角
21
- $loading-spinner-circle-radius: var(--wot-loading-spinner-circle-radius, $radius-radius-full) !default;
21
+ $loading-spinner-circle-radius: var(--wot-loading-spinner-circle-radius, $radius-full) !default;
22
22
  // 旋转动画时长
23
23
  $loading-spinner-animation-duration: var(--wot-loading-spinner-animation-duration, 0.8s) !default;
24
24
  // 条状点宽度
@@ -26,11 +26,11 @@ $loading-spinner-dot-width: var(--wot-loading-spinner-dot-width, 10%) !default;
26
26
  // 条状点高度
27
27
  $loading-spinner-dot-height: var(--wot-loading-spinner-dot-height, 25%) !default;
28
28
  // 条状点圆角
29
- $loading-spinner-dot-radius: var(--wot-loading-spinner-dot-radius, $radius-radius-full) !default;
29
+ $loading-spinner-dot-radius: var(--wot-loading-spinner-dot-radius, $radius-full) !default;
30
30
  // 点状加载器单点尺寸
31
31
  $loading-spinner-dots-dot-size: var(--wot-loading-spinner-dots-dot-size, 20%) !default;
32
32
  // 点状加载器单点圆角
33
- $loading-spinner-dots-dot-radius: var(--wot-loading-spinner-dots-dot-radius, $radius-radius-full) !default;
33
+ $loading-spinner-dots-dot-radius: var(--wot-loading-spinner-dots-dot-radius, $radius-full) !default;
34
34
  // 波形加载器间距
35
35
  $loading-wave-gap: var(--wot-loading-wave-gap, 6.25%) !default;
36
36
  // 波形加载器单柱宽度
@@ -38,7 +38,7 @@ $loading-wave-bar-width: var(--wot-loading-wave-bar-width, 12.5%) !default;
38
38
  // 波形加载器单柱高度
39
39
  $loading-wave-bar-height: var(--wot-loading-wave-bar-height, 83.333333%) !default;
40
40
  // 波形加载器单柱圆角
41
- $loading-wave-bar-radius: var(--wot-loading-wave-bar-radius, $radius-radius-full) !default;
41
+ $loading-wave-bar-radius: var(--wot-loading-wave-bar-radius, $radius-full) !default;
42
42
  // 波形加载器动画时长
43
43
  $loading-wave-animation-duration: var(--wot-loading-wave-animation-duration, 834ms) !default;
44
44
  // 加载器内边距
@@ -48,7 +48,7 @@ $loading-text-spacing: var(--wot-loading-text-spacing, $spacing-extra-tight) !de
48
48
  // 文本字号
49
49
  $loading-text-font-size: var(--wot-loading-text-font-size, $typography-body-size-main) !default;
50
50
  // 文本行高
51
- $loading-text-line-height: var(--wot-loading-text-line-height, $typography-body-line--height-size-main) !default;
51
+ $loading-text-line-height: var(--wot-loading-text-line-height, $typography-body-line-height-size-main) !default;
52
52
 
53
53
 
54
54
  @mixin generate($n, $i: 1) {
@@ -10,7 +10,7 @@ $loadmore-color: var(--wot-loadmore-color, $text-secondary) !default;
10
10
  // 默认文字字号
11
11
  $loadmore-font-size: var(--wot-loadmore-font-size, $typography-body-size-main) !default;
12
12
  // 默认文字行高
13
- $loadmore-line-height: var(--wot-loadmore-line-height, $typography-body-line--height-size-main) !default;
13
+ $loadmore-line-height: var(--wot-loadmore-line-height, $typography-body-line-height-size-main) !default;
14
14
  // 加载图标尺寸
15
15
  $loadmore-loading-size: var(--wot-loadmore-loading-size, $n-28) !default;
16
16
  // 加载图标与文字间距
@@ -20,7 +20,7 @@ $loadmore-refresh-color: var(--wot-loadmore-refresh-color, $primary-6) !default;
20
20
  // 刷新图标字号
21
21
  $loadmore-refresh-font-size: var(--wot-loadmore-refresh-font-size, $typography-body-size-extra-large) !default;
22
22
  // 刷新图标行高
23
- $loadmore-refresh-line-height: var(--wot-loadmore-refresh-line-height, $typography-body-line--height-size-extra-large) !default;
23
+ $loadmore-refresh-line-height: var(--wot-loadmore-refresh-line-height, $typography-body-line-height-size-extra-large) !default;
24
24
  // 重试文案与图标间距
25
25
  $loadmore-retry-spacing: var(--wot-loadmore-retry-spacing, 0 $spacing-extra-tight) !default;
26
26
 
@@ -8,7 +8,7 @@ $notice-bar-font-size: var(--wot-notice-bar-font-size, $typography-body-size-mai
8
8
  // 公告栏圆角
9
9
  $notice-bar-radius: var(--wot-notice-bar-radius, $radius-zero) !default;
10
10
  // 公告栏文字行高
11
- $notice-bar-line-height: var(--wot-notice-bar-line-height, $typography-body-line--height-size-main) !default;
11
+ $notice-bar-line-height: var(--wot-notice-bar-line-height, $typography-body-line-height-size-main) !default;
12
12
  // 警告态背景色
13
13
  $notice-bar-warning-bg: var(--wot-notice-bar-warning-bg, $warning-surface) !default;
14
14
  // 警告态文字颜色
@@ -9,7 +9,7 @@ $notify-padding: var(--wot-notify-padding, $padding-tight $padding-loose) !defau
9
9
  // 通知文字字号
10
10
  $notify-font-size: var(--wot-notify-font-size, $typography-body-size-large) !default;
11
11
  // 通知文字行高
12
- $notify-line-height: var(--wot-notify-line-height, $typography-body-line--height-size-large) !default;
12
+ $notify-line-height: var(--wot-notify-line-height, $typography-body-line-height-size-large) !default;
13
13
  // 主色态背景色
14
14
  $notify-primary-bg: var(--wot-notify-primary-bg, $primary-1) !default;
15
15
  // 主色态文字颜色
@@ -12,7 +12,7 @@ $pagination-message-color: var(--wot-pagination-message-color, $text-secondary)
12
12
  // 辅助文案字号
13
13
  $pagination-message-font-size: var(--wot-pagination-message-font-size, $typography-body-size-main) !default;
14
14
  // 辅助文案行高
15
- $pagination-message-line-height: var(--wot-pagination-message-line-height, $typography-body-line--height-size-main) !default;
15
+ $pagination-message-line-height: var(--wot-pagination-message-line-height, $typography-body-line-height-size-main) !default;
16
16
  // 辅助文案顶部间距
17
17
  $pagination-message-margin-top: var(--wot-pagination-message-margin-top, $spacing-super-tight) !default;
18
18
  // 翻页按钮最小宽度
@@ -20,7 +20,7 @@ $pagination-nav-width: var(--wot-pagination-nav-width, $n-64) !default;
20
20
  // 页码字号
21
21
  $pagination-size-font-size: var(--wot-pagination-size-font-size, $typography-title-size-main) !default;
22
22
  // 页码行高
23
- $pagination-size-line-height: var(--wot-pagination-size-line-height, $typography-title-line--height-size-main) !default;
23
+ $pagination-size-line-height: var(--wot-pagination-size-line-height, $typography-title-line-height-size-main) !default;
24
24
  // 页码颜色
25
25
  $pagination-size-color: var(--wot-pagination-size-color, $text-main) !default;
26
26
  // 当前页码颜色
@@ -8,7 +8,7 @@ $password-input-margin: var(--wot-password-input-margin, $n-16) !default;
8
8
  // 输入字号
9
9
  $password-input-font-size: var(--wot-password-input-font-size, $typography-title-size-large) !default;
10
10
  // 输入行高
11
- $password-input-line-height: var(--wot-password-input-line-height, $typography-title-line--height-size-large) !default;
11
+ $password-input-line-height: var(--wot-password-input-line-height, $typography-title-line-height-size-large) !default;
12
12
  // 输入格圆角
13
13
  $password-input-radius: var(--wot-password-input-radius, $n-6) !default;
14
14
  // 输入格背景色
@@ -28,7 +28,7 @@ $password-input-dot-size: var(--wot-password-input-dot-size, $n-10) !default;
28
28
  // 密码点颜色
29
29
  $password-input-dot-color: var(--wot-password-input-dot-color, $text-main) !default;
30
30
  // 密码点圆角
31
- $password-input-dot-radius: var(--wot-password-input-dot-radius, $radius-radius-full) !default;
31
+ $password-input-dot-radius: var(--wot-password-input-dot-radius, $radius-full) !default;
32
32
  // 输入文本颜色
33
33
  $password-input-text-color: var(--wot-password-input-text-color, $text-main) !default;
34
34
  // 光标颜色
@@ -20,7 +20,7 @@ $picker-title-font-size: var(--wot-picker-title-font-size, $typography-title-siz
20
20
  // 标题文字字重
21
21
  $picker-title-font-weight: var(--wot-picker-title-font-weight, $font-weight-medium) !default;
22
22
  // 标题文字行高
23
- $picker-title-line-height: var(--wot-picker-title-line-height, $typography-title-line--height-size-main) !default;
23
+ $picker-title-line-height: var(--wot-picker-title-line-height, $typography-title-line-height-size-main) !default;
24
24
  // 弹窗圆角
25
25
  $picker-radius: var(--wot-picker-radius, $radius-large) !default;
26
26
 
@@ -18,7 +18,7 @@ $popover-arrow-size: var(--wot-popover-arrow-size, $n-8) !default;
18
18
  // 浮层字号
19
19
  $popover-font-size: var(--wot-popover-font-size, $typography-body-size-main) !default;
20
20
  // 浮层行高
21
- $popover-line-height: var(--wot-popover-line-height, $typography-body-line--height-size-main) !default;
21
+ $popover-line-height: var(--wot-popover-line-height, $typography-body-line-height-size-main) !default;
22
22
  // 浮层内边距
23
23
  $popover-padding: var(--wot-popover-padding, $padding-loose) !default;
24
24
  // 浮层层级
@@ -32,11 +32,11 @@ $progress-inner-padding: var(--wot-progress-inner-padding, $padding-zero $paddin
32
32
  // 文案字号
33
33
  $progress-label-font-size: var(--wot-progress-label-font-size, $typography-label-size-large) !default;
34
34
  // 文案行高
35
- $progress-label-line-height: var(--wot-progress-label-line-height, $typography-label-line--height-size-large) !default;
35
+ $progress-label-line-height: var(--wot-progress-label-line-height, $typography-label-line-height-size-large) !default;
36
36
  // 图标字号
37
37
  $progress-icon-size: var(--wot-progress-icon-size, $n-18) !default;
38
38
  // 进度条圆角
39
- $progress-radius: var(--wot-progress-radius, $radius-radius-full) !default;
39
+ $progress-radius: var(--wot-progress-radius, $radius-full) !default;
40
40
 
41
41
  @include b(progress) {
42
42
  width: 100%;
@@ -14,7 +14,7 @@ $radio-label-font-size: var(--wot-radio-label-font-size, $typography-body-size-m
14
14
  // 文案颜色
15
15
  $radio-label-color: var(--wot-radio-label-color, $text-main) !default;
16
16
  // 文案行高
17
- $radio-label-line-height: var(--wot-radio-label-line-height, $typography-body-line--height-size-main) !default;
17
+ $radio-label-line-height: var(--wot-radio-label-line-height, $typography-body-line-height-size-main) !default;
18
18
  // 禁用态透明度
19
19
  $radio-disabled: var(--wot-radio-disabled, $opacity-disabled) !default;
20
20
  // 水平模式间距
@@ -24,13 +24,13 @@ $radio-button-margin: var(--wot-radio-button-margin, $spacing-zero $spacing-extr
24
24
  // 按钮模式边框宽度
25
25
  $radio-button-border-width: var(--wot-radio-button-border-width, $n-1) !default;
26
26
  // 按钮模式标记圆角
27
- $radio-button-shape-border-radius: var(--wot-radio-button-shape-border-radius, $radius-radius-full) !default;
27
+ $radio-button-shape-border-radius: var(--wot-radio-button-shape-border-radius, $radius-full) !default;
28
28
  // 按钮模式标记尺寸
29
29
  $radio-button-shape-size: var(--wot-radio-button-shape-size, $n-26) !default;
30
30
  // 按钮模式字号
31
31
  $radio-button-font-size: var(--wot-radio-button-font-size, $typography-body-size-main) !default;
32
32
  // 按钮模式行高
33
- $radio-button-line-height: var(--wot-radio-button-line-height, $typography-body-line--height-size-main) !default;
33
+ $radio-button-line-height: var(--wot-radio-button-line-height, $typography-body-line-height-size-main) !default;
34
34
  // 按钮模式背景色
35
35
  $radio-button-bg: var(--wot-radio-button-bg, $filled-bottom) !default;
36
36
  // 按钮模式选中背景色
@@ -4,7 +4,7 @@
4
4
  // 组件整体内边距
5
5
  $search-padding: var(--wot-search-padding, $padding-tight $padding-loose) !default;
6
6
  // 输入框圆角
7
- $search-input-radius: var(--wot-search-input-radius, $radius-radius-full) !default;
7
+ $search-input-radius: var(--wot-search-input-radius, $radius-full) !default;
8
8
  // 输入框高度
9
9
  $search-input-height: var(--wot-search-input-height, $n-36) !default;
10
10
  // 输入框内边距
@@ -38,7 +38,7 @@ $search-input-font-size: var(--wot-search-input-font-size, $typography-body-size
38
38
  // 输入框文字颜色
39
39
  $search-input-color: var(--wot-search-input-color, $text-main) !default;
40
40
  // 输入框文字行高
41
- $search-input-line-height: var(--wot-search-input-line-height, $typography-body-line--height-size-main) !default;
41
+ $search-input-line-height: var(--wot-search-input-line-height, $typography-body-line-height-size-main) !default;
42
42
  // 搜索图标颜色
43
43
  $search-icon-color: var(--wot-search-icon-color, $icon-secondary) !default;
44
44
  // 搜索图标大小
@@ -54,11 +54,11 @@ $search-placeholder-color: var(--wot-search-placeholder-color, $text-placeholder
54
54
  // 占位符字号
55
55
  $search-placeholder-font-size: var(--wot-search-placeholder-font-size, $typography-body-size-main) !default;
56
56
  // 占位符行高
57
- $search-placeholder-line-height: var(--wot-search-placeholder-line-height, $typography-body-line--height-size-main) !default;
57
+ $search-placeholder-line-height: var(--wot-search-placeholder-line-height, $typography-body-line-height-size-main) !default;
58
58
  // 取消按钮字号
59
59
  $search-cancel-font-size: var(--wot-search-cancel-font-size, $typography-body-size-main) !default;
60
60
  // 取消按钮行高
61
- $search-cancel-line-height: var(--wot-search-cancel-line-height, $typography-body-line--height-size-main) !default;
61
+ $search-cancel-line-height: var(--wot-search-cancel-line-height, $typography-body-line-height-size-main) !default;
62
62
  // 取消按钮颜色
63
63
  $search-cancel-color: var(--wot-search-cancel-color, $primary-6) !default;
64
64
 
@@ -14,7 +14,7 @@ $segmented-item-color: var(--wot-segmented-item-color, $text-secondary) !default
14
14
  // 选项文字字号
15
15
  $segmented-item-font-size: var(--wot-segmented-item-font-size, $typography-body-size-extra-large) !default;
16
16
  // 选项文字行高
17
- $segmented-item-line-height: var(--wot-segmented-item-line-height, $typography-body-line--height-size-extra-large) !default;
17
+ $segmented-item-line-height: var(--wot-segmented-item-line-height, $typography-body-line-height-size-extra-large) !default;
18
18
  // 选项内边距
19
19
  $segmented-item-padding: var(--wot-segmented-item-padding, $padding-ultra-tight $padding-loose) !default;
20
20
  // 选项文字字重
@@ -4,7 +4,7 @@
4
4
  // 选项字号
5
5
  $sidebar-item-font-size: var(--wot-sidebar-item-font-size, $typography-body-size-main) !default;
6
6
  // 选项行高
7
- $sidebar-item-line-height: var(--wot-sidebar-item-line-height, $typography-body-line--height-size-main) !default;
7
+ $sidebar-item-line-height: var(--wot-sidebar-item-line-height, $typography-body-line-height-size-main) !default;
8
8
  // 选项文字颜色
9
9
  $sidebar-item-color: var(--wot-sidebar-item-color, $text-main) !default;
10
10
  // 选项内边距
@@ -16,7 +16,7 @@ $skeleton-text-border-radius: var(--wot-skeleton-text-border-radius, $radius-sma
16
16
  // 矩形占位圆角
17
17
  $skeleton-rect-border-radius: var(--wot-skeleton-rect-border-radius, $radius-main) !default;
18
18
  // 圆形占位圆角
19
- $skeleton-circle-border-radius: var(--wot-skeleton-circle-border-radius, $radius-radius-full) !default;
19
+ $skeleton-circle-border-radius: var(--wot-skeleton-circle-border-radius, $radius-full) !default;
20
20
  // 渐变动画高亮色
21
21
  $skeleton-animation-gradient: var(--wot-skeleton-animation-gradient, $filled-bottom) !default;
22
22
  // 闪烁动画高亮色
@@ -18,7 +18,7 @@ $slide-verify-text-color: var(--wot-slide-verify-text-color, $text-main) !defaul
18
18
  // 提示文字字号
19
19
  $slide-verify-text-font-size: var(--wot-slide-verify-text-font-size, $typography-label-size-main) !default;
20
20
  // 提示文字行高
21
- $slide-verify-text-line-height: var(--wot-slide-verify-text-line-height, $typography-label-line--height-size-main) !default;
21
+ $slide-verify-text-line-height: var(--wot-slide-verify-text-line-height, $typography-label-line-height-size-main) !default;
22
22
  // 成功态文字颜色
23
23
  $slide-verify-success-text-color: var(--wot-slide-verify-success-text-color, $text-white) !default;
24
24
  // 滑块背景色
@@ -7,7 +7,7 @@
7
7
  $slider-bar-height: var(--wot-slider-bar-height, $n-2) !default;
8
8
  $slider-bar-height-capsule: var(--wot-slider-bar-height-capsule, $n-24) !default;
9
9
  $slider-bar-bg: var(--wot-slider-bar-bg, $filled-strong) !default;
10
- $slider-bar-radius: var(--wot-slider-bar-radius, $radius-radius-full) !default;
10
+ $slider-bar-radius: var(--wot-slider-bar-radius, $radius-full) !default;
11
11
  $slider-bar-height-vertical: var(--wot-slider-bar-height-vertical, $n-248) !default;
12
12
 
13
13
  /* 进度条 (Range) */
@@ -26,7 +26,7 @@ $slider-dot-popover-color: var(--wot-slider-dot-popover-color, $text-white) !def
26
26
  $slider-dot-popover-radius: var(--wot-slider-dot-popover-radius, $radius-main) !default;
27
27
  $slider-dot-popover-padding: var(--wot-slider-dot-popover-padding, $padding-extra-tight $padding-loose) !default;
28
28
  $slider-dot-popover-font-size: var(--wot-slider-dot-popover-font-size, $typography-body-size-main) !default;
29
- $slider-dot-popover-line-height: var(--wot-slider-dot-popover-line-height, $typography-body-line--height-size-main) !default;
29
+ $slider-dot-popover-line-height: var(--wot-slider-dot-popover-line-height, $typography-body-line-height-size-main) !default;
30
30
  $slider-dot-popover-gap: var(--wot-slider-dot-popover-gap, $n-3) !default;
31
31
  $slider-dot-popover-arrow-width: var(--wot-slider-dot-popover-arrow-width, $n-12) !default;
32
32
  $slider-dot-popover-arrow-height: var(--wot-slider-dot-popover-arrow-height, $n-6) !default;
@@ -37,14 +37,14 @@ $slider-dot-popover-easing-enter: var(--wot-slider-dot-popover-easing-enter, cub
37
37
 
38
38
  /* 刻度 (Scale) */
39
39
  $slider-scale-size: var(--wot-slider-scale-size, $n-6) !default;
40
- $slider-scale-border-radius: var(--wot-slider-scale-border-radius, $radius-radius-full) !default;
40
+ $slider-scale-border-radius: var(--wot-slider-scale-border-radius, $radius-full) !default;
41
41
  $slider-scale-bg: var(--wot-slider-scale-bg, $filled-strong) !default;
42
42
  $slider-scale-bg-active: var(--wot-slider-scale-bg-active, $primary-6) !default;
43
43
  $slider-scale-capsule-bg: var(--wot-slider-scale-capsule-bg, $filled-strong) !default;
44
44
  $slider-scale-capsule-width: var(--wot-slider-scale-capsule-width, $n-2) !default;
45
45
  $slider-scale-capsule-border-radius: var(--wot-slider-scale-capsule-border-radius, $radius-zero) !default;
46
46
  $slider-scale-desc-font-size: var(--wot-slider-scale-desc-font-size, $typography-body-size-main) !default;
47
- $slider-scale-desc-line-height: var(--wot-slider-scale-desc-line-height, $typography-body-line--height-size-main) !default;
47
+ $slider-scale-desc-line-height: var(--wot-slider-scale-desc-line-height, $typography-body-line-height-size-main) !default;
48
48
  $slider-scale-desc-color: var(--wot-slider-scale-desc-color, $text-main) !default;
49
49
  $slider-scale-desc-spacing: var(--wot-slider-scale-desc-spacing, $spacing-tight) !default;
50
50
  $slider-marks-desc-spacing: var(--wot-slider-marks-desc-spacing, calc($slider-dot-size / 2 + $spacing-tight)) !default;
@@ -6,7 +6,7 @@ $sort-button-height: var(--wot-sort-button-height, $n-48) !default;
6
6
  // 文字字号
7
7
  $sort-button-text-font-size: var(--wot-sort-button-text-font-size, $typography-body-size-main) !default;
8
8
  // 文字行高
9
- $sort-button-text-line-height: var(--wot-sort-button-text-line-height, $typography-body-line--height-size-main) !default;
9
+ $sort-button-text-line-height: var(--wot-sort-button-text-line-height, $typography-body-line-height-size-main) !default;
10
10
  // 箭头图标尺寸
11
11
  $sort-button-arrow-icon-size: var(--wot-sort-button-arrow-icon-size, $n-24) !default;
12
12
  // 右侧区域尺寸
@@ -17,7 +17,7 @@ $step-vertical-header-dot-top: var(--wot-step-vertical-header-dot-top, $n-6) !de
17
17
  // 圆形指示器的宽高尺寸
18
18
  $step-indicator-size: var(--wot-step-indicator-size, $n-18) !default;
19
19
  // 圆形指示器的圆角大小
20
- $step-circle-border-radius: var(--wot-step-circle-border-radius, $radius-radius-full) !default;
20
+ $step-circle-border-radius: var(--wot-step-circle-border-radius, $radius-full) !default;
21
21
  // 等待 (wait) 状态下圆形指示器的背景色
22
22
  $step-circle-bg: var(--wot-step-circle-bg, $filled-strong) !default;
23
23
  // 进行中 (process) 状态下圆形指示器的背景色
@@ -31,7 +31,7 @@ $step-error-bg: var(--wot-step-error-bg, $danger-main) !default;
31
31
  // 圆形指示器内部文本的字号
32
32
  $step-circle-text-font-size: var(--wot-step-circle-text-font-size, $typography-label-size-main) !default;
33
33
  // 圆形指示器内部文本的行高
34
- $step-circle-text-line-height: var(--wot-step-circle-text-line-height, $typography-label-line--height-size-main) !default;
34
+ $step-circle-text-line-height: var(--wot-step-circle-text-line-height, $typography-label-line-height-size-main) !default;
35
35
  // 圆形指示器内部文本的字重
36
36
  $step-circle-text-font-weight: var(--wot-step-circle-text-font-weight, $font-weight-medium) !default;
37
37
  // 等待状态或默认状态下圆形指示器内文本颜色
@@ -85,7 +85,7 @@ $step-dot-error-bg: var(--wot-step-dot-error-bg, $danger-main) !default;
85
85
  // 标题文本字号大小
86
86
  $step-title-font-size: var(--wot-step-title-font-size, $typography-body-size-main) !default;
87
87
  // 标题文本行高
88
- $step-title-line-height: var(--wot-step-title-line-height, $typography-body-line--height-size-main) !default;
88
+ $step-title-line-height: var(--wot-step-title-line-height, $typography-body-line-height-size-main) !default;
89
89
  // 标题文本字重
90
90
  $step-title-font-weight: var(--wot-step-title-font-weight, $font-weight-regular) !default;
91
91
  // 等待与完成状态下标题的颜色
@@ -99,7 +99,7 @@ $step-title-error-color: var(--wot-step-title-error-color, $danger-main) !defaul
99
99
  // 描述文本字号大小
100
100
  $step-description-font-size: var(--wot-step-description-font-size, $typography-label-size-main) !default;
101
101
  // 描述文本行高
102
- $step-description-line-height: var(--wot-step-description-line-height, $typography-label-line--height-size-main) !default;
102
+ $step-description-line-height: var(--wot-step-description-line-height, $typography-label-line-height-size-main) !default;
103
103
  // 描述文本字重
104
104
  $step-description-font-weight: var(--wot-step-description-font-weight, $font-weight-regular) !default;
105
105
  // 描述文本颜色
@@ -15,14 +15,14 @@ $swiper-nav-dot-margin: var(--wot-swiper-nav-dot-margin, $spacing-super-tight) !
15
15
  // dots-bar 激活宽度
16
16
  $swiper-nav-dots-bar-width-active: var(--wot-swiper-nav-dots-bar-width-active, $n-15) !default;
17
17
  // dot 圆角
18
- $swiper-nav-dot-border-radius: var(--wot-swiper-nav-dot-border-radius, $radius-radius-full) !default;
18
+ $swiper-nav-dot-border-radius: var(--wot-swiper-nav-dot-border-radius, $radius-full) !default;
19
19
  // fraction
20
20
  // 分数模式文字颜色
21
21
  $swiper-nav-fraction-color: var(--wot-swiper-nav-fraction-color, $icon-white) !default;
22
22
  // 分数模式背景色
23
23
  $swiper-nav-fraction-bg: var(--wot-swiper-nav-fraction-bg, $opacfilled-main-cover) !default;
24
24
  // 分数模式行高
25
- $swiper-nav-fraction-line-height: var(--wot-swiper-nav-fraction-line-height, $typography-label-line--height-size-large) !default;
25
+ $swiper-nav-fraction-line-height: var(--wot-swiper-nav-fraction-line-height, $typography-label-line-height-size-large) !default;
26
26
  // 分数模式字号
27
27
  $swiper-nav-fraction-font-size: var(--wot-swiper-nav-fraction-font-size, $typography-label-size-large) !default;
28
28
  // 分数模式内边距
@@ -41,7 +41,7 @@ $swiper-nav-btn-icon-size: var(--wot-swiper-nav-btn-icon-size, $n-16) !default;
41
41
  // 按钮水平间距
42
42
  $swiper-nav-btn-spacing: var(--wot-swiper-nav-btn-spacing, $spacing-loose) !default;
43
43
  // 按钮圆角
44
- $swiper-nav-btn-border-radius: var(--wot-swiper-nav-btn-border-radius, $radius-radius-full) !default;
44
+ $swiper-nav-btn-border-radius: var(--wot-swiper-nav-btn-border-radius, $radius-full) !default;
45
45
 
46
46
  @include b(swiper-nav) {
47
47
 
@@ -43,12 +43,12 @@ $switch-inner-font-size: var(--wot-switch-inner-font-size, $typography-body-size
43
43
  // 方角模式圆角
44
44
  $switch-radius: var(--wot-switch-radius, $radius-main) !default;
45
45
  // 圆角模式圆角
46
- $switch-radius-full: var(--wot-switch-radius-full, $radius-radius-full) !default;
46
+ $switch-radius-full: var(--wot-switch-radius-full, $radius-full) !default;
47
47
 
48
48
  // 方角模式操作块圆角
49
49
  $switch-radius-action: var(--wot-switch-radius-action, $radius-small) !default;
50
50
  // 圆角模式操作块圆角
51
- $switch-radius-action-full: var(--wot-switch-radius-action-full, $radius-radius-full) !default;
51
+ $switch-radius-action-full: var(--wot-switch-radius-action-full, $radius-full) !default;
52
52
 
53
53
  // 图标与文案间距
54
54
  $switch-spacing: var(--wot-switch-spacing, $spacing-super-tight) !default;
@@ -35,6 +35,38 @@ export const switchProps = {
35
35
  * 非激活状态图标,设置后将忽略 `inactiveText`
36
36
  */
37
37
  inactiveIcon: String,
38
+ /**
39
+ * 类名前缀,用于使用自定义图标,用法参考 Icon 组件
40
+ */
41
+ classPrefix: makeStringProp('wd-icon'),
42
+ /**
43
+ * 非激活状态操作按钮 CSS 图标,用法参考 Icon 组件
44
+ */
45
+ inactiveActionCssIcon: {
46
+ type: [Boolean, String],
47
+ default: false
48
+ },
49
+ /**
50
+ * 激活状态操作按钮 CSS 图标,用法参考 Icon 组件
51
+ */
52
+ activeActionCssIcon: {
53
+ type: [Boolean, String],
54
+ default: false
55
+ },
56
+ /**
57
+ * 激活状态 CSS 图标,设置后将忽略 `activeText`,用法参考 Icon 组件
58
+ */
59
+ activeCssIcon: {
60
+ type: [Boolean, String],
61
+ default: false
62
+ },
63
+ /**
64
+ * 非激活状态 CSS 图标,设置后将忽略 `inactiveText`,用法参考 Icon 组件
65
+ */
66
+ inactiveCssIcon: {
67
+ type: [Boolean, String],
68
+ default: false
69
+ },
38
70
  /**
39
71
  * 激活状态文本
40
72
  */
@@ -84,10 +116,6 @@ export const switchProps = {
84
116
  /**
85
117
  * 在改变前执行的函数
86
118
  */
87
- beforeChange: Function as PropType<SwitchBeforeChange>,
88
- /**
89
- * 自定义类名
90
- */
91
- classPrefix: makeStringProp('wd-icon')
119
+ beforeChange: Function as PropType<SwitchBeforeChange>
92
120
  }
93
121
  export type SwitchProps = ExtractPropTypes<typeof switchProps>
@@ -1,12 +1,24 @@
1
1
  <template>
2
2
  <view :class="rootClass" :style="rootStyle" @click="switchValue">
3
3
  <view class="wd-switch__inner" :style="innerStyle">
4
- <wd-icon custom-class="wd-switch__inner-icon" :name="innerIcon" v-if="innerIcon" :class-prefix="classPrefix"></wd-icon>
4
+ <wd-icon
5
+ v-if="innerIcon || innerCssIcon"
6
+ custom-class="wd-switch__inner-icon"
7
+ :name="innerIcon"
8
+ :class-prefix="classPrefix"
9
+ :css-icon="innerCssIcon"
10
+ ></wd-icon>
5
11
  <text v-else class="wd-switch__inner-text">{{ isActive ? activeText : inactiveText }}</text>
6
12
  </view>
7
13
  <view class="wd-switch__action">
8
- <wd-loading v-bind="customLoadingProps" v-if="loading"></wd-loading>
9
- <wd-icon custom-class="wd-switch__action-icon" :name="actionIcon" v-else-if="actionIcon" :class-prefix="classPrefix"></wd-icon>
14
+ <wd-loading v-if="loading" v-bind="customLoadingProps"></wd-loading>
15
+ <wd-icon
16
+ v-else-if="actionIcon || actionCssIcon"
17
+ custom-class="wd-switch__action-icon"
18
+ :name="actionIcon"
19
+ :class-prefix="classPrefix"
20
+ :css-icon="actionCssIcon"
21
+ ></wd-icon>
10
22
  </view>
11
23
  </view>
12
24
  </template>
@@ -62,10 +74,18 @@ const innerIcon = computed(() => {
62
74
  return isActive.value ? props.activeIcon : props.inactiveIcon
63
75
  })
64
76
 
77
+ const innerCssIcon = computed(() => {
78
+ return isActive.value ? props.activeCssIcon : props.inactiveCssIcon
79
+ })
80
+
65
81
  const actionIcon = computed(() => {
66
82
  return isActive.value ? props.activeActionIcon : props.inactiveActionIcon
67
83
  })
68
84
 
85
+ const actionCssIcon = computed(() => {
86
+ return isActive.value ? props.activeActionCssIcon : props.inactiveActionCssIcon
87
+ })
88
+
69
89
  const customLoadingProps = computed<Partial<LoadingProps>>(() => {
70
90
  const overrides: Partial<LoadingProps> = isDef(props.loadingProps) ? omitBy(props.loadingProps, isUndefined) : {}
71
91
  const customSpinnerClass = [isDef(overrides.customSpinnerClass) ? overrides.customSpinnerClass : '', 'wd-switch__action-loading']
@@ -10,7 +10,7 @@ $tabbar-z-index: var(--wot-tabbar-z-index, 10) !default;
10
10
  // round 变体水平外边距
11
11
  $tabbar-round-margin-horizontal: var(--wot-tabbar-round-margin-horizontal, $spacing-extra-loose) !default;
12
12
  // round 变体圆角
13
- $tabbar-round-radius: var(--wot-tabbar-round-radius, $radius-radius-full) !default;
13
+ $tabbar-round-radius: var(--wot-tabbar-round-radius, $radius-full) !default;
14
14
  // round 变体阴影
15
15
  $tabbar-round-shadow: var(
16
16
  --wot-tabbar-round-shadow,
@@ -7,7 +7,7 @@ $tabbar-item-color-inactive: var(--wot-tabbar-item-color-inactive, $text-main) !
7
7
  // 标题文字大小
8
8
  $tabbar-item-title-font-size: var(--wot-tabbar-item-title-font-size, $typography-label-size-extra-small) !default;
9
9
  // 标题文字行高
10
- $tabbar-item-title-line-height: var(--wot-tabbar-item-title-line-height, $typography-label-line--height-size-extra-small) !default;
10
+ $tabbar-item-title-line-height: var(--wot-tabbar-item-title-line-height, $typography-label-line-height-size-extra-small) !default;
11
11
  // 图标大小
12
12
  $tabbar-item-icon-size: var(--wot-tabbar-item-icon-size, $n-24) !default;
13
13