File tree 2 files changed +10
-3
lines changed
2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -67,7 +67,7 @@ const iconName = computed(() => {
67
67
68
68
return resolveIconName(name)
69
69
})
70
- const iconKey = computed(() => `${ iconName.value.prefix}:${ iconName.value.name}` )
70
+ const iconKey = computed(() => [ iconName.value.provider, iconName.value. prefix, iconName.value.name].filter(Boolean).join(':') )
71
71
const icon = computed<IconifyIcon | undefined>(() => state.value?.[iconKey.value])
72
72
const component = computed(() => nuxtApp.vueApp.component(props.name))
73
73
const sSize = computed(() => {
@@ -91,7 +91,7 @@ async function loadIconComponent () {
91
91
}
92
92
if (!state.value?.[iconKey.value]) {
93
93
isFetching.value = true
94
- state.value[iconKey.value] = await loadIcon({ provider: '', ... iconName.value } ).catch(() => undefined)
94
+ state.value[iconKey.value] = await loadIcon(iconName.value).catch(() => undefined)
95
95
isFetching.value = false
96
96
}
97
97
}
Original file line number Diff line number Diff line change 1
1
// @ts -ignore
2
2
import iconCollections from '#icon-collections'
3
3
4
- export function resolveIconName ( name : string ) {
4
+ export function resolveIconName ( name : string = '' ) {
5
5
let prefix
6
+ let provider = ''
7
+
8
+ if ( name [ 0 ] === '@' && name . includes ( ':' ) ) {
9
+ provider = name . split ( ':' ) [ 0 ] . slice ( 1 )
10
+ name = name . split ( ':' ) . slice ( 1 ) . join ( ':' )
11
+ }
6
12
7
13
if ( name . startsWith ( 'i-' ) ) {
8
14
name = name . replace ( / ^ i - / , '' )
@@ -22,6 +28,7 @@ export function resolveIconName (name: string) {
22
28
}
23
29
24
30
return {
31
+ provider,
25
32
prefix : prefix || '' ,
26
33
name : name || ''
27
34
}
You can’t perform that action at this time.
0 commit comments