Skip to content

Commit dd419c0

Browse files
thetaPCliamdebeasi
andauthored
bug(breadcrumbs): color attribute shows on DOM for Vue (#27040)
Co-authored-by: Liam DeBeasi <[email protected]>
1 parent 7864a21 commit dd419c0

File tree

6 files changed

+71
-2
lines changed

6 files changed

+71
-2
lines changed

core/api.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ ion-breadcrumb,part,native
199199
ion-breadcrumb,part,separator
200200

201201
ion-breadcrumbs,shadow
202-
ion-breadcrumbs,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record<never, never> | undefined,undefined,false,false
202+
ion-breadcrumbs,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record<never, never> | undefined,undefined,false,true
203203
ion-breadcrumbs,prop,itemsAfterCollapse,number,1,false,false
204204
ion-breadcrumbs,prop,itemsBeforeCollapse,number,1,false,false
205205
ion-breadcrumbs,prop,maxItems,number | undefined,undefined,false,false

core/src/components/breadcrumbs/breadcrumbs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class Breadcrumbs implements ComponentInterface {
3030
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
3131
* For more information on colors, see [theming](/docs/theming/basics).
3232
*/
33-
@Prop() color?: Color;
33+
@Prop({ reflect: true }) color?: Color;
3434

3535
/**
3636
* The maximum number of breadcrumbs to show before collapsing.

packages/vue/test/base/src/router/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ const routes: Array<RouteRecordRaw> = [
7070
path: '/components',
7171
component: () => import('@/views/Components.vue'),
7272
},
73+
{
74+
path: '/components/breadcrumbs',
75+
component: () => import('@/views/Breadcrumbs.vue')
76+
},
7377
{
7478
path: '/components/select',
7579
component: () => import('@/views/Select.vue')
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<template>
2+
<ion-page>
3+
<ion-header>
4+
<ion-toolbar>
5+
<ion-title>Breadcrumbs</ion-title>
6+
</ion-toolbar>
7+
</ion-header>
8+
<ion-content>
9+
<h1>Default</h1>
10+
<ion-breadcrumbs id="default">
11+
<ion-breadcrumb href="#"> Home </ion-breadcrumb>
12+
<ion-breadcrumb href="#electronics"> Electronics </ion-breadcrumb>
13+
<ion-breadcrumb href="#photography"> Photography </ion-breadcrumb>
14+
<ion-breadcrumb href="#cameras"> Cameras </ion-breadcrumb>
15+
<ion-breadcrumb href="#film"> Film </ion-breadcrumb>
16+
<ion-breadcrumb> 35 mm </ion-breadcrumb>
17+
</ion-breadcrumbs>
18+
<hr />
19+
<h1>Color: Danger</h1>
20+
<ion-breadcrumbs id="color" color="danger">
21+
<ion-breadcrumb href="#"> Home </ion-breadcrumb>
22+
<ion-breadcrumb href="#electronics"> Electronics </ion-breadcrumb>
23+
<ion-breadcrumb href="#photography"> Photography </ion-breadcrumb>
24+
<ion-breadcrumb href="#cameras"> Cameras </ion-breadcrumb>
25+
<ion-breadcrumb href="#film"> Film </ion-breadcrumb>
26+
<ion-breadcrumb> 35 mm </ion-breadcrumb>
27+
</ion-breadcrumbs>
28+
</ion-content>
29+
</ion-page>
30+
</template>
31+
32+
<script lang="ts">
33+
import {
34+
IonPage,
35+
IonHeader,
36+
IonToolbar,
37+
IonTitle,
38+
IonContent,
39+
IonBreadcrumbs,
40+
} from "@ionic/vue";
41+
import { defineComponent } from "vue";
42+
43+
export default defineComponent({
44+
components: {
45+
IonPage,
46+
IonHeader,
47+
IonToolbar,
48+
IonTitle,
49+
IonContent,
50+
IonBreadcrumbs,
51+
},
52+
});
53+
</script>

packages/vue/test/base/src/views/Components.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
<ion-page>
33
<ion-content>
44
<ion-list>
5+
<ion-item button router-link="/components/breadcrumbs">
6+
<ion-label>Breadcrumbs</ion-label>
7+
</ion-item>
58
<ion-item button router-link="/components/select">
69
<ion-label>Select</ion-label>
710
</ion-item>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
describe("Components: Breadcrumbs", () => {
2+
beforeEach(() => {
3+
cy.visit("http://localhost:8080/components/breadcrumbs");
4+
});
5+
6+
it("should have color attribute", () => {
7+
cy.get('ion-breadcrumbs#color').should('have.prop', 'color');
8+
});
9+
});

0 commit comments

Comments
 (0)