'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import {
  getLen
} from 'uni-shared'
import getRealPath from 'uni-platform/helpers/get-real-path'
 
const indexValidator = {
  type: Number,
  required: true
}
 
export const setTabBarItem = {
  index: indexValidator,
  text: {
    type: String
  },
  iconPath: {
    type: String
  },
  selectedIconPath: {
    type: String
  },
  pagePath: {
    type: String
  }
}
 
export const setTabBarStyle = {
  color: {
    type: String
  },
  selectedColor: {
    type: String
  },
  backgroundColor: {
    type: String
  },
  backgroundImage: {
    type: String,
    validator (backgroundImage, params) {
      if (backgroundImage && !(/^(linear|radial)-gradient\(.+?\);?$/.test(backgroundImage))) {
        params.backgroundImage = getRealPath(backgroundImage)
      }
    }
  },
  backgroundRepeat: {
    type: String
  },
  borderStyle: {
    type: String,
    validator (borderStyle, params) {
      if (borderStyle) {
        params.borderStyle = borderStyle === 'black' ? 'black' : 'white'
      }
    }
  }
}
 
export const hideTabBar = {
  animation: {
    type: Boolean,
    default: false
  }
}
 
export const showTabBar = {
  animation: {
    type: Boolean,
    default: false
  }
}
 
export const hideTabBarRedDot = {
  index: indexValidator
}
 
export const showTabBarRedDot = {
  index: indexValidator
}
 
export const removeTabBarBadge = {
  index: indexValidator
}
 
export const setTabBarBadge = {
  index: indexValidator,
  text: {
    type: String,
    required: true,
    validator (text, params) {
      if (getLen(text) >= 4) {
        params.text = '...'
      }
    }
  }
}