@tdesign/uniapp 0.7.3 → 0.8.1

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 (258) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +44 -35
  3. package/dist/action-sheet/README.md +9 -4
  4. package/dist/action-sheet/action-sheet.vue +158 -150
  5. package/dist/action-sheet/props.ts +2 -2
  6. package/dist/action-sheet/type.ts +1 -1
  7. package/dist/avatar/README.md +3 -1
  8. package/dist/avatar/avatar.vue +89 -87
  9. package/dist/avatar-group/avatar-group.vue +69 -67
  10. package/dist/back-top/README.md +3 -1
  11. package/dist/back-top/back-top.vue +60 -58
  12. package/dist/badge/README.md +3 -1
  13. package/dist/badge/badge.vue +69 -59
  14. package/dist/button/README.md +3 -1
  15. package/dist/button/button.vue +121 -116
  16. package/dist/button/props.ts +2 -2
  17. package/dist/button/type.ts +1 -1
  18. package/dist/calendar/README.md +3 -1
  19. package/dist/calendar/calendar-header.vue +4 -4
  20. package/dist/calendar/calendar.vue +308 -297
  21. package/dist/calendar/template.vue +1 -1
  22. package/dist/cascader/README.en-US.md +2 -1
  23. package/dist/cascader/README.md +5 -2
  24. package/dist/cascader/cascader.vue +340 -328
  25. package/dist/cascader/props.ts +6 -1
  26. package/dist/cascader/type.ts +6 -0
  27. package/dist/cell/README.md +3 -1
  28. package/dist/cell/cell.vue +127 -121
  29. package/dist/cell-group/cell-group.vue +32 -30
  30. package/dist/check-tag/check-tag.vue +73 -71
  31. package/dist/checkbox/README.md +3 -1
  32. package/dist/checkbox/checkbox.vue +127 -127
  33. package/dist/checkbox/props.ts +6 -6
  34. package/dist/checkbox/type.ts +3 -3
  35. package/dist/checkbox-group/checkbox-group.vue +175 -173
  36. package/dist/checkbox-group/props.ts +6 -6
  37. package/dist/checkbox-group/type.ts +4 -4
  38. package/dist/col/README.md +3 -1
  39. package/dist/col/col.vue +26 -24
  40. package/dist/collapse/README.md +3 -1
  41. package/dist/collapse/collapse.vue +83 -81
  42. package/dist/collapse-panel/collapse-panel.vue +121 -119
  43. package/dist/collapse-panel/props.ts +4 -4
  44. package/dist/collapse-panel/type.ts +2 -2
  45. package/dist/color-picker/README.md +4 -2
  46. package/dist/color-picker/color-picker.vue +324 -322
  47. package/dist/color-picker/props.ts +2 -2
  48. package/dist/color-picker/template.vue +14 -10
  49. package/dist/common/common.ts +122 -5
  50. package/dist/common/src/index.js +0 -1
  51. package/dist/common/style/theme/index.css +5 -5
  52. package/dist/common/utils.js +7 -2
  53. package/dist/common/validator.ts +496 -0
  54. package/dist/config-provider/README.en-US.md +184 -0
  55. package/dist/config-provider/README.md +236 -0
  56. package/dist/config-provider/config-provider.vue +105 -0
  57. package/dist/config-provider/config-store.js +70 -0
  58. package/dist/config-provider/props.ts +16 -0
  59. package/dist/config-provider/reactive-state.js +39 -0
  60. package/dist/config-provider/type.ts +401 -0
  61. package/dist/config-provider/use-config.js +29 -0
  62. package/dist/config-provider/utils.js +29 -0
  63. package/dist/count-down/README.md +3 -1
  64. package/dist/count-down/count-down.vue +98 -97
  65. package/dist/date-time-picker/README.md +3 -1
  66. package/dist/date-time-picker/date-time-picker.vue +410 -395
  67. package/dist/demo/demo.vue +1 -0
  68. package/dist/dialog/README.md +3 -1
  69. package/dist/dialog/dialog.vue +175 -173
  70. package/dist/divider/README.md +3 -1
  71. package/dist/divider/divider.vue +38 -36
  72. package/dist/draggable/draggable.vue +60 -58
  73. package/dist/drawer/README.md +4 -2
  74. package/dist/drawer/drawer.vue +48 -46
  75. package/dist/dropdown-item/dropdown-item.vue +209 -207
  76. package/dist/dropdown-item/props.ts +4 -4
  77. package/dist/dropdown-item/type.ts +3 -3
  78. package/dist/dropdown-menu/README.md +2 -2
  79. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  80. package/dist/empty/README.md +3 -1
  81. package/dist/empty/empty.vue +43 -42
  82. package/dist/fab/README.md +3 -1
  83. package/dist/fab/fab.vue +88 -86
  84. package/dist/footer/README.md +3 -1
  85. package/dist/footer/footer.vue +36 -34
  86. package/dist/form/README.en-US.md +17 -24
  87. package/dist/form/README.md +21 -26
  88. package/dist/form/form.css +1 -166
  89. package/dist/form/form.vue +251 -236
  90. package/dist/form/props.ts +2 -21
  91. package/dist/form/type.ts +6 -69
  92. package/dist/form-item/README.en-US.md +4 -5
  93. package/dist/form-item/README.md +4 -5
  94. package/dist/form-item/form-item.css +72 -95
  95. package/dist/form-item/form-item.vue +315 -337
  96. package/dist/form-item/form-model.ts +125 -173
  97. package/dist/form-item/props.ts +4 -17
  98. package/dist/form-item/type.ts +43 -1
  99. package/dist/grid/README.md +3 -1
  100. package/dist/grid/grid.vue +53 -51
  101. package/dist/grid-item/grid-item.vue +121 -119
  102. package/dist/guide/README.md +4 -2
  103. package/dist/guide/guide.vue +281 -277
  104. package/dist/icon/README.md +12 -11
  105. package/dist/icon/icon.css +1633 -1624
  106. package/dist/icon/icon.vue +78 -76
  107. package/dist/image/README.md +4 -2
  108. package/dist/image/image.vue +103 -101
  109. package/dist/image-viewer/README.md +3 -1
  110. package/dist/image-viewer/image-viewer.vue +160 -158
  111. package/dist/image-viewer/props.ts +2 -2
  112. package/dist/image-viewer/type.ts +1 -1
  113. package/dist/index.js +16 -0
  114. package/dist/indexes/README.md +3 -1
  115. package/dist/indexes/indexes.vue +264 -267
  116. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  117. package/dist/input/README.md +3 -1
  118. package/dist/input/input.vue +172 -198
  119. package/dist/input/props.ts +6 -6
  120. package/dist/input/type.ts +3 -3
  121. package/dist/link/README.md +3 -1
  122. package/dist/link/link.vue +73 -71
  123. package/dist/loading/README.md +3 -1
  124. package/dist/loading/loading.vue +59 -59
  125. package/dist/locale/ar_KW.ts +157 -0
  126. package/dist/locale/en_US.ts +146 -0
  127. package/dist/locale/it_IT.ts +145 -0
  128. package/dist/locale/ja_JP.ts +132 -0
  129. package/dist/locale/ko_KR.ts +132 -0
  130. package/dist/locale/ru_RU.ts +157 -0
  131. package/dist/locale/zh_CN.ts +133 -0
  132. package/dist/locale/zh_TW.ts +132 -0
  133. package/dist/message/README.md +8 -3
  134. package/dist/message/message.vue +181 -173
  135. package/dist/message/props.ts +2 -2
  136. package/dist/message/type.ts +1 -1
  137. package/dist/message-item/message-item.vue +192 -184
  138. package/dist/mixins/page-scroll.d.ts +19 -0
  139. package/dist/mixins/skyline.js +1 -1
  140. package/dist/mixins/using-config.js +39 -0
  141. package/dist/navbar/README.md +3 -1
  142. package/dist/navbar/navbar.vue +201 -199
  143. package/dist/notice-bar/README.md +3 -1
  144. package/dist/notice-bar/notice-bar.vue +175 -171
  145. package/dist/notice-bar/props.ts +2 -2
  146. package/dist/notice-bar/type.ts +1 -1
  147. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  148. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  149. package/dist/overlay/README.md +3 -1
  150. package/dist/overlay/overlay.vue +50 -48
  151. package/dist/picker/README.md +3 -1
  152. package/dist/picker/picker.vue +168 -161
  153. package/dist/picker-item/picker-item.vue +269 -269
  154. package/dist/popover/README.md +4 -2
  155. package/dist/popover/popover.vue +262 -261
  156. package/dist/popover/props.ts +4 -4
  157. package/dist/popover/type.ts +2 -2
  158. package/dist/popup/README.md +3 -1
  159. package/dist/popup/popup.vue +46 -45
  160. package/dist/progress/README.md +3 -3
  161. package/dist/progress/progress.vue +76 -76
  162. package/dist/pull-down-refresh/README.md +3 -1
  163. package/dist/pull-down-refresh/props.ts +2 -2
  164. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  165. package/dist/pull-down-refresh/type.ts +1 -1
  166. package/dist/qrcode/README.md +4 -2
  167. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  168. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  169. package/dist/qrcode/qrcode.vue +93 -87
  170. package/dist/radio/README.md +3 -1
  171. package/dist/radio/props.ts +6 -6
  172. package/dist/radio/radio.vue +118 -120
  173. package/dist/radio/type.ts +3 -3
  174. package/dist/radio-group/props.ts +4 -4
  175. package/dist/radio-group/radio-group.vue +136 -134
  176. package/dist/radio-group/type.ts +4 -4
  177. package/dist/rate/README.md +3 -1
  178. package/dist/rate/computed.js +2 -2
  179. package/dist/rate/props.ts +4 -4
  180. package/dist/rate/rate.css +1 -0
  181. package/dist/rate/rate.vue +155 -154
  182. package/dist/rate/type.ts +2 -2
  183. package/dist/result/README.md +3 -1
  184. package/dist/result/result.vue +41 -39
  185. package/dist/row/row.vue +38 -36
  186. package/dist/script/postinstall.js +49 -24
  187. package/dist/scroll-view/scroll-view.vue +24 -22
  188. package/dist/search/README.md +3 -1
  189. package/dist/search/props.ts +2 -2
  190. package/dist/search/search.vue +127 -125
  191. package/dist/search/type.ts +1 -1
  192. package/dist/side-bar/README.md +3 -1
  193. package/dist/side-bar/side-bar.vue +57 -55
  194. package/dist/side-bar-item/side-bar-item.vue +86 -86
  195. package/dist/skeleton/README.md +3 -1
  196. package/dist/skeleton/skeleton.vue +126 -124
  197. package/dist/slider/README.md +4 -2
  198. package/dist/slider/props.ts +2 -2
  199. package/dist/slider/slider.vue +457 -457
  200. package/dist/slider/type.ts +1 -1
  201. package/dist/step-item/step-item.vue +77 -75
  202. package/dist/stepper/README.md +3 -1
  203. package/dist/stepper/props.ts +2 -2
  204. package/dist/stepper/stepper.vue +168 -149
  205. package/dist/stepper/type.ts +1 -1
  206. package/dist/steps/README.md +3 -1
  207. package/dist/steps/props.ts +2 -2
  208. package/dist/steps/steps.vue +83 -81
  209. package/dist/steps/type.ts +1 -1
  210. package/dist/sticky/README.md +3 -1
  211. package/dist/sticky/sticky.vue +104 -102
  212. package/dist/swipe-cell/README.md +3 -1
  213. package/dist/swipe-cell/swipe-cell.vue +91 -89
  214. package/dist/swiper/README.md +4 -2
  215. package/dist/swiper/swiper.vue +91 -89
  216. package/dist/swiper-nav/swiper-nav.vue +38 -36
  217. package/dist/switch/README.md +3 -1
  218. package/dist/switch/props.ts +2 -2
  219. package/dist/switch/switch.vue +62 -62
  220. package/dist/switch/type.ts +1 -1
  221. package/dist/tab-bar/README.md +3 -1
  222. package/dist/tab-bar/tab-bar.vue +88 -86
  223. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  224. package/dist/tab-panel/tab-panel.vue +66 -64
  225. package/dist/tabs/README.md +3 -1
  226. package/dist/tabs/tabs.vue +294 -287
  227. package/dist/tag/README.md +3 -1
  228. package/dist/tag/tag.vue +79 -77
  229. package/dist/textarea/README.md +3 -1
  230. package/dist/textarea/props.ts +6 -6
  231. package/dist/textarea/textarea.vue +128 -151
  232. package/dist/textarea/type.ts +3 -3
  233. package/dist/theme.css +467 -0
  234. package/dist/theme.css.d.ts +2 -0
  235. package/dist/theme.less +1 -0
  236. package/dist/theme.less.d.ts +2 -0
  237. package/dist/toast/README.md +3 -1
  238. package/dist/toast/toast.vue +107 -106
  239. package/dist/transition/README.md +4 -6
  240. package/dist/transition/transition.vue +30 -28
  241. package/dist/tree-select/README.md +3 -1
  242. package/dist/tree-select/tree-select.vue +151 -151
  243. package/dist/types/config-provider.d.ts +7 -0
  244. package/dist/types/index.d.ts +17 -0
  245. package/dist/types/popover.d.ts +7 -0
  246. package/dist/upload/README.en-US.md +13 -14
  247. package/dist/upload/README.md +14 -13
  248. package/dist/upload/props.ts +2 -4
  249. package/dist/upload/type.ts +12 -11
  250. package/dist/upload/upload.css +1 -1
  251. package/dist/upload/upload.vue +672 -512
  252. package/dist/watermark/README.md +3 -1
  253. package/dist/watermark/watermark.vue +151 -149
  254. package/global.d.ts +2 -0
  255. package/package.json +51 -5
  256. package/dist/common/src/superComponent.js +0 -5
  257. package/dist/common/validator.js +0 -38
  258. package/dist/form/form-item-props.ts +0 -56
@@ -31,8 +31,8 @@ export default {
31
31
  },
32
32
  /** 系统预设的颜色样例,值为 `null` 或 `[]` 则不显示系统色,值为 `undefined` 会显示组件内置的系统默认色 */
33
33
  swatchColors: {
34
- type: Array,
35
- default: undefined as TdColorPickerProps['swatchColors'],
34
+ type: [Array, null],
35
+ default: null as TdColorPickerProps['swatchColors'],
36
36
  },
37
37
  /** 颜色选择器类型。(base 表示仅展示系统预设内容; multiple 表示展示色板和系统预设内容 */
38
38
  type: {
@@ -16,7 +16,7 @@
16
16
  v-if="isMultiple"
17
17
  :class="classPrefix + '__saturation'"
18
18
  data-type="saturation"
19
- :style="'background: hsl(' + sliderInfo.value + ', 100%, 50%)'"
19
+ :style="'' + `background: hsl(${sliderInfo.value}, 100%, 50%)`"
20
20
  @touchstart.stop.prevent="onTouchStart"
21
21
  @touchmove.stop.prevent="onTouchMove"
22
22
  @touchend.stop.prevent="onTouchEnd"
@@ -24,7 +24,7 @@
24
24
  <view
25
25
  :class="classPrefix + '__thumb'"
26
26
  :tab-index="0"
27
- :style="utils._style(saturationThumbStyle)"
27
+ :style="'' + utils._style(saturationThumbStyle)"
28
28
  />
29
29
  </view>
30
30
  <!-- #ifdef MP-ALIPAY -->
@@ -53,7 +53,7 @@
53
53
  <view :class="classPrefix + '__rail'" />
54
54
  <view
55
55
  :class="classPrefix + '__thumb'"
56
- :style="utils._style(hueSliderStyle)"
56
+ :style="'' + utils._style(hueSliderStyle)"
57
57
  />
58
58
  </view>
59
59
  </view>
@@ -64,9 +64,7 @@
64
64
  >
65
65
  <view
66
66
  :class="classPrefix + '__slider-padding'"
67
- :style="
68
- 'background: linear-gradient(90deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.0) 93%, ' + alphaSliderStyle.color + ' 93%, ' + alphaSliderStyle.color + ' 100%)'
69
- "
67
+ :style="'' + `background: linear-gradient(90deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.0) 93%, ${alphaSliderStyle.color} 93%, ${alphaSliderStyle.color} 100%)`"
70
68
  :disable-scroll="false"
71
69
  />
72
70
  <view
@@ -78,11 +76,11 @@
78
76
  >
79
77
  <view
80
78
  :class="classPrefix + '__rail'"
81
- :style="'background: linear-gradient(to right, rgba(0, 0, 0, 0), ' + alphaSliderStyle.color + ')'"
79
+ :style="'' + `background: linear-gradient(to right, rgba(0, 0, 0, 0), ${alphaSliderStyle.color})`"
82
80
  />
83
81
  <view
84
82
  :class="classPrefix + '__thumb'"
85
- :style="utils._style(alphaSliderStyle)"
83
+ :style="'' + utils._style(alphaSliderStyle)"
86
84
  />
87
85
  </view>
88
86
  </view>
@@ -129,7 +127,13 @@
129
127
  >
130
128
  系统预设色彩
131
129
  </view>
132
- <view :class="classPrefix + '__swatches-items'">
130
+ <scroll-view
131
+ :class="classPrefix + '__swatches-items'"
132
+ scroll-x
133
+ enable-flex
134
+ scroll-anchoring
135
+ type="list"
136
+ >
133
137
  <view
134
138
  v-for="(swatch, index) in innerSwatchList"
135
139
  :key="index"
@@ -142,7 +146,7 @@
142
146
  :style="'background-color: ' + swatch + ';'"
143
147
  />
144
148
  </view>
145
- </view>
149
+ </scroll-view>
146
150
  </view>
147
151
  </view>
148
152
  </view>
@@ -70,32 +70,149 @@ export type ExtractNonOnProps<T> = {
70
70
  [K in keyof T as K extends `on${string}` ? never : K]: T[K]
71
71
  };
72
72
 
73
+ /**
74
+ * 邮箱校验选项
75
+ */
73
76
  export interface IsEmailOptions {
77
+ /**
78
+ * 是否允许显示名称格式,如 `Display Name <email>`
79
+ * @default false
80
+ */
74
81
  allow_display_name?: boolean;
82
+ /**
83
+ * 是否要求必须包含显示名称格式
84
+ * @default false
85
+ */
75
86
  require_display_name?: boolean;
87
+ /**
88
+ * 是否允许本地部分使用 UTF8 字符
89
+ * @default true
90
+ */
76
91
  allow_utf8_local_part?: boolean;
92
+ /**
93
+ * 是否要求域名包含顶级域名
94
+ * @default true
95
+ */
77
96
  require_tld?: boolean;
78
- allow_ip_dot?: boolean;
79
- domain_specific_validation?: boolean;
80
- host_blacklist?: string[];
97
+ /**
98
+ * 是否忽略邮箱最大长度限制
99
+ * @default false
100
+ */
81
101
  ignore_max_length?: boolean;
102
+ /**
103
+ * 是否允许 IP 地址作为域名部分
104
+ * @default false
105
+ */
106
+ allow_ip_domain?: boolean;
107
+ /**
108
+ * 是否启用特定域名的额外校验(如 GMail 规则)
109
+ * @default false
110
+ */
111
+ domain_specific_validation?: boolean;
112
+ /**
113
+ * 是否允许下划线
114
+ * @default false
115
+ */
116
+ allow_underscores?: boolean;
117
+ /**
118
+ * 域名黑名单
119
+ */
120
+ host_blacklist?: Array<string | RegExp>;
121
+ /**
122
+ * 域名白名单
123
+ */
124
+ host_whitelist?: Array<string | RegExp>;
125
+ /**
126
+ * 拒绝包含指定字符的邮箱名
127
+ */
128
+ blacklisted_chars?: string;
82
129
  }
83
130
 
131
+ /**
132
+ * URL 校验选项
133
+ */
84
134
  export interface IsURLOptions {
135
+ /**
136
+ * 允许的协议
137
+ * @default ['http','https','ftp']
138
+ */
85
139
  protocols?: string[];
140
+ /**
141
+ * 是否要求顶级域名
142
+ * @default true
143
+ */
86
144
  require_tld?: boolean;
145
+ /**
146
+ * 是否要求协议
147
+ * @default false
148
+ */
87
149
  require_protocol?: boolean;
150
+ /**
151
+ * 是否要求主机名
152
+ * @default true
153
+ */
88
154
  require_host?: boolean;
155
+ /**
156
+ * 是否要求端口
157
+ * @default false
158
+ */
89
159
  require_port?: boolean;
160
+ /**
161
+ * 是否要求有效协议
162
+ * @default true
163
+ */
90
164
  require_valid_protocol?: boolean;
165
+ /**
166
+ * 是否允许下划线
167
+ * @default false
168
+ */
91
169
  allow_underscores?: boolean;
92
- host_whitelist?: (string | RegExp)[];
93
- host_blacklist?: (string | RegExp)[];
170
+ /**
171
+ * 主机名白名单
172
+ */
173
+ host_whitelist?: Array<string | RegExp>;
174
+ /**
175
+ * 主机名黑名单
176
+ */
177
+ host_blacklist?: Array<string | RegExp>;
178
+ /**
179
+ * 是否允许末尾的点
180
+ * @default false
181
+ */
94
182
  allow_trailing_dot?: boolean;
183
+ /**
184
+ * 是否允许协议相对 URL
185
+ * @default false
186
+ */
95
187
  allow_protocol_relative_urls?: boolean;
188
+ /**
189
+ * 是否禁止认证信息
190
+ * @default false
191
+ */
96
192
  disallow_auth?: boolean;
193
+ /**
194
+ * 是否允许片段(hash)
195
+ * @default true
196
+ */
197
+ allow_fragments?: boolean;
198
+ /**
199
+ * 是否允许查询参数
200
+ * @default true
201
+ */
202
+ allow_query_components?: boolean;
203
+ /**
204
+ * 是否校验长度
205
+ * @default true
206
+ */
97
207
  validate_length?: boolean;
208
+ /**
209
+ * 最大允许长度
210
+ * @default 2084
211
+ */
212
+ max_allowed_length?: number | false;
98
213
  }
214
+
215
+
99
216
  /**
100
217
  * 通用全局类型
101
218
  * */
@@ -1,4 +1,3 @@
1
- export * from './superComponent';
2
1
  export * from './flatTool';
3
2
  export * from './instantiationDecorator';
4
3
  export * from './control';
@@ -327,10 +327,10 @@
327
327
  /* ./raw/_radius.less */
328
328
  page,
329
329
  .page {
330
- --td-radius-small: 12px;
331
- --td-radius-default: 24px;
332
- --td-radius-large: 36px;
333
- --td-radius-extraLarge: 48px;
330
+ --td-radius-small: 3px;
331
+ --td-radius-default: 6px;
332
+ --td-radius-large: 9px;
333
+ --td-radius-extraLarge: 12px;
334
334
  --td-radius-round: 999px;
335
335
  --td-radius-circle: 50%;
336
336
  }
@@ -413,7 +413,7 @@ page,
413
413
  --td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large)
414
414
  var(--td-font-family);
415
415
 
416
- --td-font-size: 40px;
416
+ --td-font-size: 10px;
417
417
  --td-font-size-xs: var(--td-font-size-body-extraSmall);
418
418
  --td-font-size-s: var(--td-font-size-body-small);
419
419
  --td-font-size-base: var(--td-font-size-title-small);
@@ -236,7 +236,7 @@ export const chunk = (arr, size) => Array.from({ length: Math.ceil(arr.length /
236
236
  const getPageContext = () => {
237
237
  const pages = getCurrentPages();
238
238
  const page = pages[pages.length - 1];
239
- return (page).$$basePage || page;
239
+ return page?.$vm || page;
240
240
  };
241
241
 
242
242
 
@@ -244,9 +244,14 @@ const findInstance = (context, pageContext, pureSelector) => {
244
244
  if (context && context.$refs[pureSelector]) {
245
245
  return context.$refs[pureSelector];
246
246
  }
247
- if (pageContext && pageContext.$refs[pureSelector]) {
247
+
248
+ if (pageContext
249
+ && pageContext.$refs
250
+ && pageContext.$refs[pureSelector]
251
+ ) {
248
252
  return pageContext.$refs[pureSelector];
249
253
  }
254
+
250
255
  return null;
251
256
  };
252
257