|
3 | 3 | <a :href="item.url" class="nav-link" @click="toggle" :target="item.attributes.target" :aria-label="ariaLabel"> |
4 | 4 | <i v-if="item.attributes.icon" class="fas nav-icon" :class="item.attributes.icon" ></i> |
5 | 5 | <i v-if="item.attributes.customicon" :class="item.attributes.customicon" ></i> |
6 | | - <img v-if="item.attributes.file" :src="item.attributes.file" class="nav-icon" id="custom_icon"> |
| 6 | + <span |
| 7 | + v-if="item.attributes.file" |
| 8 | + class="nav-icon custom-icon" |
| 9 | + :style="maskStyle(item.attributes.file)" |
| 10 | + id="custom_icon" |
| 11 | + /> |
7 | 12 | <span class="nav-text" v-show="expanded()" v-cloak > |
8 | 13 | {{item.title}} |
9 | 14 | <i v-if="item.children && item.children.length" class="float-right fas" :class="{'fa-caret-right': !isOpen, 'fa-caret-down': isOpen}"></i> |
|
19 | 24 | </span> |
20 | 25 | </a> |
21 | 26 | <a :href="item.url" class="nav-link" v-show="item.attributes.file"> |
22 | | - <img :src="item.attributes.file" class="nav-icon" id="custom_icon"><span class="nav-text" v-if="expanded()" v-cloak>{{item.title}}<span v-if="count !== null" class="nav-badge float-right">{{ count }}</span></span> |
| 27 | + <span |
| 28 | + :style="maskStyle(item.attributes.file)" |
| 29 | + class="nav-icon custom-icon" |
| 30 | + id="custom_icon" |
| 31 | + /> |
| 32 | + <span class="nav-text" v-if="expanded()" v-cloak>{{item.title}}<span v-if="count !== null" class="nav-badge float-right">{{ count }}</span></span> |
23 | 33 | <span class="nav-text" v-if="expanded()" v-cloak>{{item.title}} |
24 | 34 | <span v-if="count !== null" class="nav-badge float-right" :aria-label="ariaLabel">{{ count }}</span> |
25 | 35 | </span> |
|
73 | 83 | }, |
74 | 84 | expanded() { |
75 | 85 | return this.$parent.expanded |
76 | | - } |
| 86 | + }, |
| 87 | + maskStyle(file) { |
| 88 | + return { |
| 89 | + backgroundColor: 'currentColor', |
| 90 | + WebkitMaskImage: `url(${file})`, |
| 91 | + maskImage: `url(${file})`, |
| 92 | + WebkitMaskRepeat: 'no-repeat', |
| 93 | + maskRepeat: 'no-repeat', |
| 94 | + WebkitMaskPosition: 'center', |
| 95 | + maskPosition: 'center', |
| 96 | + WebkitMaskSize: 'contain', |
| 97 | + maskSize: 'contain', |
| 98 | + }; |
| 99 | + } |
77 | 100 | } |
78 | 101 | } |
79 | 102 | </script> |
|
0 commit comments