@@ -115,6 +115,7 @@ function renderIcon(h, locale, context) {
115
115
) ;
116
116
innerNode = (
117
117
< VueIcon
118
+ focusable = "false"
118
119
class = { svgClassString }
119
120
type = { computedType }
120
121
primaryColor = { twoToneColor }
@@ -163,84 +164,6 @@ const Icon = {
163
164
scopedSlots = { { default : locale => renderIcon ( h , locale , context ) } }
164
165
/>
165
166
) ;
166
-
167
- const classString = classNames ( {
168
- ...getClass ( context ) ,
169
- [ `anticon` ] : true ,
170
- [ `anticon-${ type } ` ] : ! ! type ,
171
- } ) ;
172
-
173
- const svgClassString = classNames ( {
174
- [ `anticon-spin` ] : ! ! spin || type === 'loading' ,
175
- } ) ;
176
-
177
- let innerNode ;
178
-
179
- // component > children > type
180
- if ( Component ) {
181
- const innerSvgProps = {
182
- attrs : {
183
- ...svgBaseProps ,
184
- viewBox,
185
- } ,
186
- class : svgClassString ,
187
- } ;
188
- if ( ! viewBox ) {
189
- delete innerSvgProps . attrs . viewBox ;
190
- }
191
-
192
- innerNode = < Component { ...innerSvgProps } > { children } </ Component > ;
193
- }
194
- if ( children ) {
195
- warning (
196
- Boolean ( viewBox ) || ( children . length === 1 && children [ 0 ] . tag === 'use' ) ,
197
- 'Make sure that you provide correct `viewBox`' +
198
- ' prop (default `0 0 1024 1024`) to the icon.' ,
199
- ) ;
200
- const innerSvgProps = {
201
- attrs : {
202
- ...svgBaseProps ,
203
- } ,
204
- class : svgClassString ,
205
- } ;
206
- innerNode = (
207
- < svg { ...innerSvgProps } viewBox = { viewBox } >
208
- { children }
209
- </ svg >
210
- ) ;
211
- }
212
-
213
- if ( typeof type === 'string' ) {
214
- let computedType = type ;
215
- if ( theme ) {
216
- const themeInName = getThemeFromTypeName ( type ) ;
217
- warning (
218
- ! themeInName || theme === themeInName ,
219
- `The icon name '${ type } ' already specify a theme '${ themeInName } ',` +
220
- ` the 'theme' prop '${ theme } ' will be ignored.` ,
221
- ) ;
222
- }
223
- computedType = withThemeSuffix (
224
- removeTypeTheme ( alias ( computedType ) ) ,
225
- dangerousTheme || theme || defaultTheme ,
226
- ) ;
227
- innerNode = (
228
- < VueIcon
229
- focusable = "false"
230
- class = { svgClassString }
231
- type = { computedType }
232
- primaryColor = { twoToneColor }
233
- />
234
- ) ;
235
- }
236
- // functional component not support nativeOn,https://github.com/vuejs/vue/issues/7526
237
- const iProps = {
238
- ...data ,
239
- on : { ...listeners , ...data . nativeOn } ,
240
- class : classString ,
241
- staticClass : '' ,
242
- } ;
243
- return < i { ...iProps } > { innerNode } </ i > ;
244
167
} ,
245
168
} ;
246
169
0 commit comments