Skip to content

Commit 95377a7

Browse files
Artur-claude
andcommitted
feat: make breadcrumb component experimental behind feature flag
Add experimental feature flag to breadcrumb components following the established pattern used by other experimental Vaadin components. Components are now hidden behind the breadcrumbComponent feature flag and must be explicitly enabled. - Add static experimental() getter to both breadcrumb classes - Update JSDoc and TypeScript documentation with experimental warning - Update dev example and tests to enable feature flag - Follow same pattern as vaadin-master-detail-layout Users must enable with: window.Vaadin.featureFlags.breadcrumbComponent = true 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 7fba847 commit 95377a7

File tree

6 files changed

+27
-0
lines changed

6 files changed

+27
-0
lines changed

dev/breadcrumb.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
<title>vaadin-breadcrumb</title>
77
<script type="module" src="./common.js"></script>
88
<script type="module">
9+
// Enable experimental breadcrumb component
10+
window.Vaadin ||= {};
11+
window.Vaadin.featureFlags ||= {};
12+
window.Vaadin.featureFlags.breadcrumbComponent = true;
13+
914
import '@vaadin/breadcrumb/vaadin-breadcrumb.js';
1015
import '@vaadin/breadcrumb/vaadin-breadcrumb-item.js';
1116
</script>

packages/breadcrumb/src/vaadin-breadcrumb-item.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix
1111
/**
1212
* `<vaadin-breadcrumb-item>` is a Web Component for displaying a single item in a breadcrumb trail.
1313
*
14+
* ⚠️ **This component is experimental** and the API may change. In order to use it, enable the feature flag by setting `window.Vaadin.featureFlags.breadcrumbComponent = true`.
15+
*
1416
* ```html
1517
* <vaadin-breadcrumb-item href="/products">Products</vaadin-breadcrumb-item>
1618
* ```

packages/breadcrumb/src/vaadin-breadcrumb-item.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import { breadcrumbItemStyles } from './styles/vaadin-breadcrumb-item-styles.js'
1818
/**
1919
* `<vaadin-breadcrumb-item>` is a Web Component for displaying a single item in a breadcrumb trail.
2020
*
21+
* ⚠️ **This component is experimental** and the API may change. In order to use it, enable the feature flag by setting `window.Vaadin.featureFlags.breadcrumbComponent = true`.
22+
*
2123
* ```html
2224
* <vaadin-breadcrumb-item href="/products">Products</vaadin-breadcrumb-item>
2325
* ```
@@ -55,6 +57,10 @@ class BreadcrumbItem extends DisabledMixin(
5557
return 'vaadin-breadcrumb-item';
5658
}
5759

60+
static get experimental() {
61+
return true;
62+
}
63+
5864
static get styles() {
5965
return breadcrumbItemStyles;
6066
}

packages/breadcrumb/src/vaadin-breadcrumb.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mix
99
/**
1010
* `<vaadin-breadcrumb>` is a Web Component for displaying hierarchical navigation.
1111
*
12+
* ⚠️ **This component is experimental** and the API may change. In order to use it, enable the feature flag by setting `window.Vaadin.featureFlags.breadcrumbComponent = true`.
13+
*
1214
* ```html
1315
* <vaadin-breadcrumb>
1416
* <vaadin-breadcrumb-item href="/">Home</vaadin-breadcrumb-item>

packages/breadcrumb/src/vaadin-breadcrumb.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import { breadcrumbStyles } from './styles/vaadin-breadcrumb-styles.js';
1515
/**
1616
* `<vaadin-breadcrumb>` is a Web Component for displaying hierarchical navigation.
1717
*
18+
* ⚠️ **This component is experimental** and the API may change. In order to use it, enable the feature flag by setting `window.Vaadin.featureFlags.breadcrumbComponent = true`.
19+
*
1820
* ```html
1921
* <vaadin-breadcrumb>
2022
* <vaadin-breadcrumb-item href="/">Home</vaadin-breadcrumb-item>
@@ -43,6 +45,10 @@ class Breadcrumb extends ElementMixin(ThemableMixin(PolylitMixin(LumoInjectionMi
4345
return 'vaadin-breadcrumb';
4446
}
4547

48+
static get experimental() {
49+
return true;
50+
}
51+
4652
static get styles() {
4753
return breadcrumbStyles;
4854
}

packages/breadcrumb/test/breadcrumb.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import { expect } from '@vaadin/chai-plugins';
22
import { fixtureSync, nextFrame } from '@vaadin/testing-helpers';
3+
4+
// Enable experimental breadcrumb component
5+
window.Vaadin ||= {};
6+
window.Vaadin.featureFlags ||= {};
7+
window.Vaadin.featureFlags.breadcrumbComponent = true;
8+
39
import '../vaadin-breadcrumb.js';
410
import '../vaadin-breadcrumb-item.js';
511

0 commit comments

Comments
 (0)