+
+
+ {
+ !!this.icon &&
+
+
+
+
+ }
+ {this.label}
+
+
+
+ {
+ this.isExpandableItem &&
+ this.onCollapsedElementClick()}>
+
+ …
+
+
+ }
+
+ {
+ showSeparator &&
+
+ |
+
+ }
+
+ );
+ }
+}
diff --git a/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/public-api.ts b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/public-api.ts
new file mode 100644
index 0000000000..c4c75f224a
--- /dev/null
+++ b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/public-api.ts
@@ -0,0 +1 @@
+export { OsdsBreadcrumbItem } from './osds-breadcrumb-item'
diff --git a/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.color.scss b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.color.scss
new file mode 100644
index 0000000000..a702558217
--- /dev/null
+++ b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.color.scss
@@ -0,0 +1,27 @@
+@import '~@ovhcloud/ods-theming/color/ods-component-color';
+@import './osds-breadcrumb-item.mixins';
+
+@mixin osds-breadcrumb-item-theme-color-variant-default() {
+ @include ods-and-all-hue-foreach-theme-color((
+ color: '800',
+ background-color: '100'
+ )) using($colors) {
+ @include osds-breadcrumb-item-on-selected-host() {
+ //color: map_get($colors, color);
+ //background-color: map_get($colors, background-color);
+ }
+ }
+}
+
+// Main CSS color theme mixin
+@mixin osds-breadcrumb-item-theme-color() {
+ /** base colors */
+ :host {
+ border-color: transparent;
+ }
+
+ /** no variant specified: default variant colors */
+ :not([variant]) {
+ @include osds-breadcrumb-item-theme-color-variant-default();
+ }
+}
diff --git a/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.mixins.scss b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.mixins.scss
new file mode 100644
index 0000000000..786e168852
--- /dev/null
+++ b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.mixins.scss
@@ -0,0 +1,13 @@
+// general mixins and functions for the component
+
+@mixin osds-breadcrumb-item-on-selected-host() {
+ :host(&) {
+ @content;
+ }
+}
+
+@mixin osds-breadcrumb-item-on-main-element() {
+ .breadcrumb-item__wrapper {
+ @content;
+ }
+}
diff --git a/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.size.scss b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.size.scss
new file mode 100644
index 0000000000..8b626e9913
--- /dev/null
+++ b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.size.scss
@@ -0,0 +1,16 @@
+@import './osds-breadcrumb-item.mixins';
+@import '~@ovhcloud/ods-theming/size/ods-component-size';
+
+// Main CSS mixin for sizes
+@mixin osds-breadcrumb-item-theme-size() {
+ $size-definitions: ods-get-size-definitions();
+ $component-size-definition: ods-get-component-size-definition($size-definitions, breadcrumb);
+ $size-properties: ods-get-size-properties($component-size-definition, md);
+
+ :host {
+ .expandable,
+ .item {
+ padding: ods-get-size-property($size-properties, padding);
+ }
+ }
+}
diff --git a/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.typography.scss b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.typography.scss
new file mode 100644
index 0000000000..8aa4486cf6
--- /dev/null
+++ b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb-item/styles/osds-breadcrumb-item.typography.scss
@@ -0,0 +1,16 @@
+@import '~@ovhcloud/ods-theming/typography/ods-theming-typography';
+@import '~@ovhcloud/ods-theming/typography/ods-component-typography';
+@import './osds-breadcrumb-item.mixins';
+
+// Main CSS mixin for typography
+@mixin osds-breadcrumb-item-theme-typography() {
+ :host([size='md']) .breadcrumb-item__wrapper {
+ //$typography-properties: ods-get-typography-properties(body, '400');
+ //font-family: ods-get-typography-property($typography-properties, font-family);
+ //font-size: ods-get-typography-property($typography-properties, font-size);
+ //font-style: ods-get-typography-property($typography-properties, font-style);
+ //font-weight: ods-get-typography-property($typography-properties, font-weight);
+ //letter-spacing: ods-get-typography-property($typography-properties, letter-spacing);
+ //line-height: ods-get-typography-property($typography-properties, line-height);
+ }
+}
diff --git a/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb/osds-breadcrumb.e2e.screenshot.ts b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb/osds-breadcrumb.e2e.screenshot.ts
new file mode 100644
index 0000000000..0018962197
--- /dev/null
+++ b/packages/stencil/components/breadcrumb/src/components/osds-breadcrumb/osds-breadcrumb.e2e.screenshot.ts
@@ -0,0 +1,76 @@
+import { E2EPage, newE2EPage } from '@stencil/core/testing';
+import {
+ OdsBreadcrumbAttributes,
+ odsBreadcrumbDefaultAttributes,
+ OdsComponentAttributes2StringAttributes,
+ OdsIconName
+} from '@ovhcloud/ods-core';
+import { OdsStringAttributes2Str } from '@ovhcloud/ods-testing';
+
+describe('e2e:osds-breadcrumb', () => {
+ let page: E2EPage;
+
+ async function setup({ attributes }: { attributes: OdsBreadcrumbAttributes }) {
+ const stringAttributes = OdsComponentAttributes2StringAttributes