Skip to content

Commit ad2f133

Browse files
authored
Merge pull request #46 from connorabbas/develop
Feature: Menu components class property for Lucide icons
2 parents 7c1b524 + 7d87f76 commit ad2f133

File tree

5 files changed

+16
-18
lines changed

5 files changed

+16
-18
lines changed

src/components/primevue/menu/Breadcrumb.vue

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,12 @@ defineExpose({ el: childRef });
4242
>
4343
<i
4444
v-if="item.icon"
45-
:class="item.icon"
46-
class="p-breadcrumb-item-icon"
45+
:class="['p-breadcrumb-item-icon', item.icon]"
4746
/>
4847
<component
4948
:is="item.lucideIcon"
5049
v-else-if="item.lucideIcon"
51-
class="p-breadcrumb-item-icon"
50+
:class="['p-breadcrumb-item-icon', item.lucideIconClass]"
5251
/>
5352
<span class="p-breadcrumb-item-label">{{ item.label }}</span>
5453
</a>
@@ -64,13 +63,12 @@ defineExpose({ el: childRef });
6463
>
6564
<i
6665
v-if="item.icon"
67-
:class="item.icon"
68-
class="p-breadcrumb-item-icon"
66+
:class="['p-breadcrumb-item-icon', item.icon]"
6967
/>
7068
<component
7169
:is="item.lucideIcon"
7270
v-else-if="item.lucideIcon"
73-
class="p-breadcrumb-item-icon"
71+
:class="['p-breadcrumb-item-icon', item.lucideIconClass]"
7472
/>
7573
<span class="p-breadcrumb-item-label">{{ item.label }}</span>
7674
</a>

src/components/primevue/menu/Menu.vue

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,12 @@ defineExpose({
5151
>
5252
<i
5353
v-if="item.icon"
54-
:class="item.icon"
55-
class="p-menu-item-icon"
54+
:class="['p-menu-item-icon', item.icon]"
5655
/>
5756
<component
5857
:is="item.lucideIcon"
5958
v-else-if="item.lucideIcon"
60-
class="p-menu-item-icon"
59+
:class="['p-menu-item-icon', item.lucideIconClass]"
6160
/>
6261
<span class="p-menu-item-label">{{ item.label }}</span>
6362
</a>
@@ -73,13 +72,12 @@ defineExpose({
7372
>
7473
<i
7574
v-if="item.icon"
76-
:class="item.icon"
77-
class="p-menu-item-icon"
75+
:class="['p-menu-item-icon', item.icon]"
7876
/>
7977
<component
8078
:is="item.lucideIcon"
8179
v-else-if="item.lucideIcon"
82-
class="p-menu-item-icon"
80+
:class="['p-menu-item-icon', item.lucideIconClass]"
8381
/>
8482
<span class="p-menu-item-label">{{ item.label }}</span>
8583
</a>

src/components/primevue/menu/MenuBar.vue

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,12 @@ defineExpose({ el: childRef });
5252
>
5353
<i
5454
v-if="item.icon"
55-
:class="item.icon"
56-
class="p-menubar-item-icon"
55+
:class="['p-menubar-item-icon', item.icon]"
5756
/>
5857
<component
5958
:is="item.lucideIcon"
6059
v-else-if="item.lucideIcon"
61-
class="p-menubar-item-icon"
60+
:class="['p-menubar-item-icon', item.lucideIconClass]"
6261
/>
6362
<span class="p-menubar-item-label">{{ item.label }}</span>
6463
</a>
@@ -74,13 +73,12 @@ defineExpose({ el: childRef });
7473
>
7574
<i
7675
v-if="item.icon"
77-
:class="item.icon"
78-
class="p-menubar-item-icon"
76+
:class="['p-menubar-item-icon', item.icon]"
7977
/>
8078
<component
8179
:is="item.lucideIcon"
8280
v-else-if="item.lucideIcon"
83-
class="p-menubar-item-icon"
81+
:class="['p-menubar-item-icon', item.lucideIconClass]"
8482
/>
8583
<span class="p-menubar-item-label">{{ item.label }}</span>
8684
<template v-if="hasSubmenu">

src/components/primevue/menu/PanelMenu.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ defineExpose({ el: childRef });
6262
v-else-if="item.lucideIcon"
6363
:class="[
6464
root ? 'p-panelmenu-header-icon' : 'p-panelmenu-item-icon',
65+
item.lucideIconClass,
6566
]"
6667
/>
6768
<span>{{ item.label }}</span>
@@ -91,6 +92,7 @@ defineExpose({ el: childRef });
9192
v-else-if="item.lucideIcon"
9293
:class="[
9394
root ? 'p-panelmenu-header-icon' : 'p-panelmenu-item-icon',
95+
item.lucideIconClass,
9496
]"
9597
/>
9698
<span>{{ item.label }}</span>

src/types/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,6 @@ export type PrimeVueDataFilters = {
1616
export interface MenuItem extends PrimeVueMenuItem {
1717
route?: string;
1818
lucideIcon?: LucideIcon;
19+
lucideIconClass?: string;
20+
active?: boolean;
1921
}

0 commit comments

Comments
 (0)