-
-
notifications
+
+
+
+
+
+ @for (item of notifications; track item.title) {
+
+
+ @if (item.unread) {
+
+ }
+
+ {{ item.title }}
+ {{ item.time }}
+ chevron_right
-
-
-
- @for (item of notifications; track item.title) {
-
-
- @if (item.unread) {
-
- }
-
- {{ item.title }}
- {{ item.time }}
- chevron_right
-
- }
-
-
-
-
-
-
- @for (tab of tabs; track tab.label) {
-
-
- @if (tab.icon === 'facebookMessenger') {
-
- } @else {
-
- }
- @if (tab.hasUpdates) {
-
- }
-
- {{ tab.label }}
-
- }
-
+ }
+
+
+
+
+
+
+
+ @for (tab of tabs; track tab.label) {
+
+
+
+ @if (tab.hasUpdates) {
+
+ }
+
+ {{ tab.label }}
+
+ }
diff --git a/src/app/data-display/badge/badge-dot/badge-dot.component.scss b/src/app/data-display/badge/badge-dot/badge-dot.component.scss
index ec0b144f8..db1defa58 100644
--- a/src/app/data-display/badge/badge-dot/badge-dot.component.scss
+++ b/src/app/data-display/badge/badge-dot/badge-dot.component.scss
@@ -1,134 +1,115 @@
-igx-badge {
- --ig-size: var(--ig-size-small);
-}
-
-igx-avatar {
- --size: 40px;
-}
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
-.icon-example igx-badge,
-.avatar-example igx-badge,
-.nav-icon igx-badge {
- position: absolute;
-}
+:host {
+ --sample-accent: #0057a9;
-.icon-example igx-badge {
- inset-block-start: 0;
- inset-inline-end: 2px;
+ display: grid;
+ grid-auto-flow: column;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(40px);
+ min-height: 8.5rem;
}
-.avatar-example igx-badge {
- inset-block-start: -0.25rem;
- inset-inline-end: -2px;
-}
+igx-badge {
+ --ig-size: var(--ig-size-small);
-.nav-icon igx-badge {
- inset-block-start: -2px;
- inset-inline-end: -6px;
+ position: absolute;
+ inset-block-start: anchor(14.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.badge-dot {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 40px;
- min-height: 8.5rem;
-}
+$anchors: icon, avatar;
-.dot-example {
- position: relative;
-}
+@each $anchor in $anchors {
+ $i: list.index($anchors, $anchor);
-.icon-example,
-.avatar-example,
-.icon-circle {
- display: flex;
- align-items: center;
- width: 36px;
- height: 36px;
-}
+ .#{$anchor}-anchor {
+ anchor-name: --#{$anchor};
+ }
-.icon-circle {
- justify-content: center;
- border-radius: 50%;
- background: var(--ig-gray-200);
- color: var(--ig-gray-800);
+ :host > igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$anchor};
+ }
}
.notifications-card,
.nav-card {
background: var(--ig-surface-500);
- border-radius: 4px;
- box-shadow: 0 1px 3px hsl(from var(--ig-gray-900) h s l / 0.12);
+ border-radius: rem(4px);
+ box-shadow: 0 rem(1px) rem(3px) hsl(from var(--ig-gray-900) h s l / 0.12);
}
.notifications-card {
- min-width: 272px;
- padding: 8px 0;
+ min-width: rem(270px);
+ padding-block: rem(8px);
}
.notification-row {
+ @include type-style("body-2") {
+ margin: 0;
+ }
+
display: flex;
align-items: center;
- gap: 8px;
- padding: 8px 12px;
- font-size: 14px;
+ gap: rem(8px);
+ padding: rem(8px) rem(12px);
color: var(--ig-gray-900);
}
.row-indicator {
display: inline-flex;
justify-content: center;
- width: 12px;
+ width: rem(12px);
}
.row-title {
flex: 1;
}
-.row-time {
- font-size: 13px;
- color: var(--ig-gray-900);
-}
-
-.row-time.unread {
- color: #0057A9;
+.unread {
+ color: var(--sample-accent);
font-weight: 600;
}
.row-chevron {
- --ig-size: 1rem;
color: var(--ig-gray-600);
- font-size: 18px;
+ font-size: rem(18px);
}
.nav-card {
display: flex;
align-items: center;
- gap: 8px;
- padding: 8px 12px;
+ gap: rem(8px);
+ padding: rem(8px) rem(12px);
}
.nav-item {
+ @include type-style("caption") {
+ margin: 0;
+ }
+
display: flex;
flex-direction: column;
align-items: center;
- gap: 4px;
- min-width: 56px;
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
-}
+ gap: rem(4px);
+ min-width: rem(56px);
+ color: var(--ig-gray-700);
-.nav-item.active {
- color: #0057A9;
+ &.active {
+ color: var(--sample-accent);
+ }
}
.nav-icon {
position: relative;
display: inline-flex;
+
+ igx-badge {
+ position: absolute;
+ inset-block: rem(-2px) auto;
+ inset-inline: auto rem(-6px);
+ }
}
diff --git a/src/app/data-display/badge/badge-icon/badge-icon.component.html b/src/app/data-display/badge/badge-icon/badge-icon.component.html
index b49c231b1..42124e3c6 100644
--- a/src/app/data-display/badge/badge-icon/badge-icon.component.html
+++ b/src/app/data-display/badge/badge-icon/badge-icon.component.html
@@ -1,17 +1,8 @@
-
- @for (item of badges; track item.label) {
-
-
-
-
-
{{ item.label }}
-
- }
-
-
+@for (item of badges; track item.label) {
+
+
{{ item.label }}
+}
+
+
+
+
on avatar
diff --git a/src/app/data-display/badge/badge-icon/badge-icon.component.scss b/src/app/data-display/badge/badge-icon/badge-icon.component.scss
index fd9db2634..5dccea83e 100644
--- a/src/app/data-display/badge/badge-icon/badge-icon.component.scss
+++ b/src/app/data-display/badge/badge-icon/badge-icon.component.scss
@@ -1,67 +1,44 @@
-igx-avatar {
- --size: 40px;
- --ig-avatar-background: var(--ig-gray-700);
- --ig-avatar-color: var(--ig-gray-50);
+@use "igniteui-theming/sass/typography" as *;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ grid-template-rows: auto auto;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(40px);
+ row-gap: rem(10px);
+ min-height: 8.5rem;
+ padding: rem(32px);
}
-.icon-wrapper {
- display: flex;
- align-items: flex-end;
- justify-content: center;
- width: 40px;
- height: 40px;
+igx-avatar {
+ grid-row: 1;
+ anchor-name: --avatar;
}
-.icon-wrapper > igx-badge {
+igx-badge {
--ig-size: var(--ig-size-medium);
- display: inline-flex;
- align-items: center;
- justify-content: center;
- text-align: center;
-}
-.avatar-wrapper igx-badge {
- --ig-size: var(--ig-size-small);
- position: absolute;
- inset-block-start: -4px;
- inset-inline-end: -6px;
+ grid-row: 1;
}
-.badge-icon {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 40px;
- min-height: 8.5rem;
-}
-
-.badge-icon-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 6px;
- min-width: 56px;
-}
+span {
+ @include type-style("body-2") {
+ margin: 0;
+ }
-.badge-icon-item span {
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
- transform: translateY(4px);
+ grid-row: 2;
+ text-align: center;
+ color: var(--ig-gray-700);
}
-.badge-icon-item:last-child span {
- white-space: nowrap;
-}
+igx-badge:last-of-type {
+ --ig-size: var(--ig-size-small);
-.avatar-wrapper {
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
- height: 40px;
+ position: absolute;
+ position-anchor: --avatar;
+ inset-block-start: anchor(14.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
diff --git a/src/app/data-display/badge/badge-outlined/badge-outlined.component.html b/src/app/data-display/badge/badge-outlined/badge-outlined.component.html
index c260ae562..58333b1d6 100644
--- a/src/app/data-display/badge/badge-outlined/badge-outlined.component.html
+++ b/src/app/data-display/badge/badge-outlined/badge-outlined.component.html
@@ -1,28 +1,18 @@
-
-
-
- favorite_border
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@for (step of steps; track step.label) {
- @if (!$first) {
-
- }
-
-
- {{ step.index }}
- @if (step.current) {
-
- }
-
-
{{ step.label }}
-
+
+
+ {{ step.index }}
+ {{ step.label }}
+
}
-
-
+
+
+
diff --git a/src/app/data-display/badge/badge-outlined/badge-outlined.component.scss b/src/app/data-display/badge/badge-outlined/badge-outlined.component.scss
index b0a0086c8..7f7ef7321 100644
--- a/src/app/data-display/badge/badge-outlined/badge-outlined.component.scss
+++ b/src/app/data-display/badge/badge-outlined/badge-outlined.component.scss
@@ -1,120 +1,66 @@
-igx-badge {
- --ig-size: var(--ig-size-small);
-}
-
-igx-avatar {
- --size: 40px;
- --ig-avatar-background: var(--ig-gray-700);
- --ig-avatar-color: var(--ig-gray-50);
-}
-
-:host ::ng-deep .outlined-example igx-avatar igx-icon {
- color: var(--ig-gray-50);
-}
-
-.outlined-example:nth-child(2) igx-badge {
- inset-block-start: auto;
- inset-block-end: -6px;
- inset-inline-end: -6px;
-}
-
-.step-marker igx-badge {
- position: absolute;
- inset-block-start: -1px;
- inset-inline-end: -2px;
-}
-
-.outlined-example igx-badge {
- position: absolute;
- inset-block-start: -6px;
- inset-inline-end: -10px;
-}
-
-.icon-circle igx-icon {
- font-size: 20px;
-}
+@use "sass:list";
+@use "igniteui-theming/sass" as *;
:host {
- display: block;
- padding-inline: 1rem;
-}
-
-.badge-outlined {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 60px;
+ display: grid;
+ grid-auto-flow: column;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(60px);
min-height: 7rem;
-}
+ padding-inline: rem(16px);
-.outlined-example {
- position: relative;
- display: flex;
+ ::ng-deep {
+ // NOTE! This is just for the sake of the sample, don't do this in your app.
+ // The stepper body is where the content for each step goes, and it should be visible.
+ // This sample doesn't have any content, so we hide it to avoid the empty space.
+ .igx-stepper__body {
+ display: none;
+ }
+ }
}
-.icon-circle,
-.step-circle {
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 50%;
+.icon-anchor {
+ --ig-avatar-background: #{color($color: gray, $variant: 900, $opacity: 0.08)};
}
-.icon-circle {
- width: 36px;
- height: 36px;
- background: var(--ig-gray-200);
- color: var(--ig-gray-800);
-}
+igx-badge {
+ --ig-size: var(--ig-size-small);
-.steps {
- display: flex;
- align-items: flex-start;
- gap: 8px;
-}
+ position: absolute;
+ inset-block-start: anchor(14.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
-.step {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 8px;
+ &:nth-of-type(2) {
+ inset-block-start: anchor(85.5%);
+ }
}
-.step-marker {
- position: relative;
- display: flex;
-}
+$anchors: icon, initials, flagged;
-.step-circle {
- width: 26px;
- height: 26px;
- background: var(--ig-gray-900);
- color: var(--ig-gray-50);
- font-size: 12px;
-}
+@each $anchor in $anchors {
+ $i: list.index($anchors, $anchor);
-.step-circle.pending {
- background: var(--ig-gray-200);
- color: var(--ig-gray-800);
-}
+ .#{$anchor}-anchor {
+ anchor-name: --#{$anchor};
+ }
-.step-connector {
- width: 56px;
- margin-block-start: 13px;
- border-block-start: 1px solid var(--ig-gray-900);
+ :host > igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$anchor};
+ }
}
-.step-connector.pending {
- border-block-start-style: dashed;
- border-block-start-color: var(--ig-gray-400);
+igx-stepper {
+ --ig-stepper-step-separator-style: dashed;
+ --ig-stepper-step-separator-color: var(--ig-gray-400);
+
+ max-width: rem(316px);
}
-.step-label {
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
+span[igxStepIndicator] {
+ display: grid;
+ place-items: center;
+ inline-size: 100%;
+ block-size: 100%;
}
diff --git a/src/app/data-display/badge/badge-outlined/badge-outlined.component.ts b/src/app/data-display/badge/badge-outlined/badge-outlined.component.ts
index 6b2013340..226ce9c10 100644
--- a/src/app/data-display/badge/badge-outlined/badge-outlined.component.ts
+++ b/src/app/data-display/badge/badge-outlined/badge-outlined.component.ts
@@ -1,19 +1,19 @@
import { Component } from '@angular/core';
import { IgxAvatarComponent } from 'igniteui-angular/avatar';
import { IgxBadgeComponent } from 'igniteui-angular/badge';
-import { IgxIconComponent } from 'igniteui-angular/icon';
+import { IGX_STEPPER_DIRECTIVES } from 'igniteui-angular/stepper';
@Component({
selector: 'app-badge-outlined',
styleUrls: ['./badge-outlined.component.scss'],
templateUrl: './badge-outlined.component.html',
- imports: [IgxAvatarComponent, IgxBadgeComponent, IgxIconComponent]
+ imports: [IgxAvatarComponent, IgxBadgeComponent, IGX_STEPPER_DIRECTIVES]
})
export class BadgeOutlinedComponent {
public steps = [
- { index: 1, label: 'Orders', current: false, pending: false },
- { index: 2, label: 'Payment', current: true, pending: false },
- { index: 3, label: 'Shipping', current: false, pending: true }
+ { index: 1, label: 'Orders', completed: true, active: false, flagged: false },
+ { index: 2, label: 'Payment', completed: false, active: true, flagged: true },
+ { index: 3, label: 'Shipping', completed: false, active: false, flagged: false }
];
}
diff --git a/src/app/data-display/badge/badge-overview/badge-overview.component.html b/src/app/data-display/badge/badge-overview/badge-overview.component.html
index caa914820..17daa533f 100644
--- a/src/app/data-display/badge/badge-overview/badge-overview.component.html
+++ b/src/app/data-display/badge/badge-overview/badge-overview.component.html
@@ -1,18 +1,16 @@
-
-
-
-
-
-
- mail
-
-
-
- Events
-
-
-
- notifications
-
-
-
+
+
+
+
+
mail
+
+
+
Events
+
+
+
notifications
+
diff --git a/src/app/data-display/badge/badge-overview/badge-overview.component.scss b/src/app/data-display/badge/badge-overview/badge-overview.component.scss
index 3830a130d..51d1079d5 100644
--- a/src/app/data-display/badge/badge-overview/badge-overview.component.scss
+++ b/src/app/data-display/badge/badge-overview/badge-overview.component.scss
@@ -1,67 +1,47 @@
-igx-avatar {
- --size: 40px;
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(60px);
+ min-height: 7rem;
}
igx-icon {
color: var(--ig-gray-700);
- font-size: 1.5rem;
-}
-
-igx-badge {
- --ig-size: var(--ig-size-small);
- position: absolute;
- inset-block-start: -0.15rem;
- inset-inline-end: -0.15rem;
-}
-
-.avatar-example igx-badge {
- inset-block-start: auto;
- inset-block-end: -0.15rem;
- inset-inline-end: -0.15rem;
+ font-size: rem(24px);
}
-.event-example igx-chip {
+igx-chip {
--ig-size: var(--ig-size-large);
}
-.event-example igx-badge {
- inset-block-start: 0;
- inset-inline-end: -0.8rem;
-}
+igx-badge {
+ --ig-size: var(--ig-size-small);
-.icon-example igx-badge {
- inset-block-start: 0;
- inset-inline-end: 0;
+ position: absolute;
+ inset-block-start: anchor(10%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.notification-example igx-badge {
- inset-block-start: 0.5rem;
- inset-inline-end: 0.5rem;
+igx-badge:nth-of-type(1) {
+ inset-block-start: anchor(85.5%);
}
-.event-example {
- min-width: auto;
-}
+$anchors: avatar, mail, events, notifications;
-.badge-overview {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 60px;
- min-height: 7rem;
-}
+@each $anchor in $anchors {
+ $i: list.index($anchors, $anchor);
-.badge-example {
- position: relative;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- min-width: 2.5rem;
- min-height: 2.5rem;
-}
+ .#{$anchor}-anchor {
+ anchor-name: --#{$anchor};
+ }
-.icon-example,
-.notification-example {
- width: 2.5rem;
- height: 2.5rem;
+ igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$anchor};
+ }
}
diff --git a/src/app/data-display/badge/badge-shape/badge-shape.component.html b/src/app/data-display/badge/badge-shape/badge-shape.component.html
index 181f4727e..63a34447d 100644
--- a/src/app/data-display/badge/badge-shape/badge-shape.component.html
+++ b/src/app/data-display/badge/badge-shape/badge-shape.component.html
@@ -1,14 +1,9 @@
-
-
- Rounded
-
-
-
-
-
- Square
-
-
-
-
-
+
Rounded
+
+
+
+
+
Square
+
+
+
diff --git a/src/app/data-display/badge/badge-shape/badge-shape.component.scss b/src/app/data-display/badge/badge-shape/badge-shape.component.scss
index 56754daae..8e7dfd50b 100644
--- a/src/app/data-display/badge/badge-shape/badge-shape.component.scss
+++ b/src/app/data-display/badge/badge-shape/badge-shape.component.scss
@@ -1,31 +1,31 @@
-.badge-shape {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- gap: 40px;
- min-height: 8.5rem;
-}
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
-.badge-shape-row {
+:host {
display: grid;
- grid-template-columns: 80px 40px 40px 40px;
- align-items: center;
- justify-items: center;
- gap: 8px;
+ grid-template-columns: rem(80px) rem(40px) rem(40px) rem(40px);
+ place-content: center;
+ place-items: center;
+ column-gap: rem(8px);
+ row-gap: rem(40px);
+ min-height: 8.5rem;
}
-.row-label {
+span {
justify-self: end;
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
+ color: var(--ig-gray-700);
+
+ @include type-style("body-2") {
+ margin: 0;
+ }
}
-.badge-small {
- --ig-size: var(--ig-size-small);
+$sizes: small, medium, large;
+
+@each $size in $sizes {
+ $i: list.index($sizes, $size);
+
+ igx-badge:nth-of-type(3n + #{$i}) {
+ --ig-size: var(--ig-size-#{$size});
+ }
}
diff --git a/src/app/data-display/badge/badge-size/badge-size.component.html b/src/app/data-display/badge/badge-size/badge-size.component.html
index f18e860e6..87db132a2 100644
--- a/src/app/data-display/badge/badge-size/badge-size.component.html
+++ b/src/app/data-display/badge/badge-size/badge-size.component.html
@@ -1,20 +1,14 @@
-
-
- Small
-
-
-
-
-
- Medium
-
-
-
-
-
- Large
-
-
-
-
-
+
Small
+
+
+
+
+
Medium
+
+
+
+
+
Large
+
+
+
diff --git a/src/app/data-display/badge/badge-size/badge-size.component.scss b/src/app/data-display/badge/badge-size/badge-size.component.scss
index 868040a84..bdedf7a51 100644
--- a/src/app/data-display/badge/badge-size/badge-size.component.scss
+++ b/src/app/data-display/badge/badge-size/badge-size.component.scss
@@ -1,31 +1,31 @@
-.badge-size {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- gap: 40px;
- padding: 32px;
-}
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
-.badge-size-row {
+:host {
display: grid;
- grid-template-columns: 80px 32px 40px 40px;
- align-items: center;
- justify-items: center;
- gap: 8px;
+ grid-template-columns: rem(80px) rem(32px) rem(40px) rem(40px);
+ place-content: center;
+ place-items: center;
+ column-gap: rem(8px);
+ row-gap: rem(40px);
+ padding: rem(32px);
}
-.row-label {
+span {
justify-self: end;
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
+ color: var(--ig-gray-700);
+
+ @include type-style("body-2") {
+ margin: 0;
+ }
}
-.badge-large { --ig-size: var(--ig-size-large); }
-.badge-medium { --ig-size: var(--ig-size-medium); }
-.badge-small { --ig-size: var(--ig-size-small); }
+$sizes: small, medium, large;
+
+@each $size in $sizes {
+ $i: list.index($sizes, $size);
+
+ igx-badge:nth-of-type(n + #{($i - 1) * 3 + 1}):nth-of-type(-n + #{$i * 3}) {
+ --ig-size: var(--ig-size-#{$size});
+ }
+}
diff --git a/src/app/data-display/badge/badge-styling/badge-styling.component.html b/src/app/data-display/badge/badge-styling/badge-styling.component.html
index 00bd36f85..813d59501 100644
--- a/src/app/data-display/badge/badge-styling/badge-styling.component.html
+++ b/src/app/data-display/badge/badge-styling/badge-styling.component.html
@@ -1,18 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/data-display/badge/badge-styling/badge-styling.component.scss b/src/app/data-display/badge/badge-styling/badge-styling.component.scss
index d280f593d..29d0b7169 100644
--- a/src/app/data-display/badge/badge-styling/badge-styling.component.scss
+++ b/src/app/data-display/badge/badge-styling/badge-styling.component.scss
@@ -1,50 +1,52 @@
-@use "layout.scss";
+@use "sass:list";
+@use "sass:map";
+@use "igniteui-theming/sass/typography" as *;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(60px);
+ min-height: 7rem;
+}
igx-badge {
--ig-size: var(--ig-size-small);
-}
-:host ::ng-deep .badge-teal igx-icon,
-:host ::ng-deep .badge-amber igx-icon,
-:host ::ng-deep .styling-item.pink igx-avatar igx-icon {
- color: var(--ig-gray-50);
+ position: absolute;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-:host ::ng-deep .badge-teal igx-icon {
- position: relative;
+.avatar-green {
+ --ig-avatar-background: var(--ig-success-200);
+ --ig-avatar-icon-color: var(--ig-success-700);
}
-:host ::ng-deep .badge-teal igx-icon::after {
- content: "";
- position: absolute;
- inset: 50% auto auto 50%;
- width: 4px;
- height: 4px;
- border-radius: 50%;
- background: var(--ig-success-700);
- transform: translate(-50%, -50%);
+.avatar-pink {
+ --ig-avatar-background: #da64ff;
+ --ig-avatar-icon-color: var(--ig-gray-50);
}
-.styling-item.green igx-avatar {
- --icon-color: var(--ig-success-700);
-}
+$badges: (
+ teal: var(--ig-success-700),
+ amber: #c97c00,
+ magenta: #9c27b0,
+ lime: var(--ig-success-700),
+);
-.styling-item igx-avatar {
- --size: 40px;
-}
+@each $name, $color in $badges {
+ $i: list.index(map.keys($badges), $name);
-.styling-item.green igx-avatar {
- --ig-avatar-background: var(--ig-success-200);
- --ig-avatar-color: var(--ig-gray-50);
-}
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$name};
+ }
-.styling-item.pink igx-avatar {
- --ig-avatar-background: #DA64FF;
- --ig-avatar-color: var(--ig-gray-50);
-}
+ .badge-#{$name} {
+ --ig-badge-background-color: #{$color};
-.styling-item igx-badge {
- position: absolute;
- inset-block-end: -2px;
- inset-inline-end: -2px;
+ position-anchor: --#{$name};
+ }
}
diff --git a/src/app/data-display/badge/badge-styling/layout.scss b/src/app/data-display/badge/badge-styling/layout.scss
deleted file mode 100644
index 601f78323..000000000
--- a/src/app/data-display/badge/badge-styling/layout.scss
+++ /dev/null
@@ -1,33 +0,0 @@
-.badge-teal {
- --background-color: var(--ig-success-700);
- --border-radius: 50%;
-}
-
-.badge-amber {
- --background-color: #C97C00;
- --border-radius: 50%;
-}
-
-.badge-magenta {
- --background-color: #9C27B0;
- --ig-avatar-color: var(--ig-gray-50);
- --border-radius: 50%;
-}
-
-.badge-lime {
- --background-color: var(--ig-success-700);
- --border-radius: 50%;
-}
-
-.badge-styling {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 60px;
- min-height: 7rem;
-}
-
-.styling-item {
- position: relative;
- display: flex;
-}
diff --git a/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.html b/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.html
index 4d03b9457..7e83c97fb 100644
--- a/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.html
+++ b/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.html
@@ -1,18 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.scss b/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.scss
index 50ceb5330..b44ac48cc 100644
--- a/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.scss
+++ b/src/app/data-display/badge/badge-tailwind-styling/badge-tailwind-styling.component.scss
@@ -1,15 +1,34 @@
-@use "layout.scss";
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
+
+$anchors: close, volume, remove, check;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(48px);
+ min-height: 7rem;
+}
igx-badge {
--ig-size: var(--ig-size-small);
-}
-igx-avatar {
- --size: 40px;
- --ig-avatar-background: var(--ig-gray-700);
- --ig-avatar-color: var(--ig-gray-50);
+ position: absolute;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-:host ::ng-deep igx-avatar igx-icon {
- color: var(--ig-gray-50);
+@each $anchor in $anchors {
+ $i: list.index($anchors, $anchor);
+
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$anchor};
+ }
+
+ igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$anchor};
+ }
}
diff --git a/src/app/data-display/badge/badge-tailwind-styling/layout.scss b/src/app/data-display/badge/badge-tailwind-styling/layout.scss
deleted file mode 100644
index e97d2f5aa..000000000
--- a/src/app/data-display/badge/badge-tailwind-styling/layout.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-.badge-close {
- --background-color: var(--ig-error-500);
- --border-radius: 50%;
-}
-
-.badge-volume {
- --background-color: #8B5BB1;
- --border-radius: 50%;
-}
-
-.badge-remove {
- --background-color: var(--ig-gray-900);
- --border-radius: 50%;
-}
-
-.badge-check {
- --background-color: var(--ig-success-600);
- --border-radius: 50%;
-}
-
-.badge-style {
- position: absolute;
- inset-block-end: -4px;
- inset-inline-end: -4px;
-}
-
-.badge-parent {
- min-height: 7rem;
-}
diff --git a/src/app/data-display/badge/badge-type/badge-type.component.html b/src/app/data-display/badge/badge-type/badge-type.component.html
index 4a3b93a78..3fe3053db 100644
--- a/src/app/data-display/badge/badge-type/badge-type.component.html
+++ b/src/app/data-display/badge/badge-type/badge-type.component.html
@@ -1,23 +1,11 @@
-
+
+
+
Dot
+
+
+
+
Icon
+
+
+
+
Text
diff --git a/src/app/data-display/badge/badge-type/badge-type.component.scss b/src/app/data-display/badge/badge-type/badge-type.component.scss
index ece1ac951..9b22c0114 100644
--- a/src/app/data-display/badge/badge-type/badge-type.component.scss
+++ b/src/app/data-display/badge/badge-type/badge-type.component.scss
@@ -1,48 +1,53 @@
-igx-avatar {
- --size: 40px;
-}
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
-igx-badge {
- --ig-size: var(--ig-size-small);
- position: absolute;
- inset-block-end: -6px;
- inset-inline-end: -4px;
-}
+$types: dot, icon, text;
-.badge-type {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 60px;
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ grid-template-rows: auto auto;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(60px);
+ row-gap: rem(16px);
min-height: 8.5rem;
+ padding: rem(32px);
}
-.badge-type-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- gap: 16px;
- min-width: 56px;
- min-height: 72px;
+igx-avatar {
+ --ig-avatar-size: #{rem(40px)};
+
+ grid-row: 1;
}
-.avatar-wrapper {
- position: relative;
- display: flex;
+span {
+ grid-row: 2;
+ text-align: center;
+ color: var(--ig-gray-700);
+
+ @include type-style("caption") {
+ margin: 0;
+ }
}
-.dot-badge {
- inset-block-end: 0;
- inset-inline-end: 0;
+igx-badge {
+ --ig-size: var(--ig-size-small);
+
+ position: absolute;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.badge-type-item span {
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
+@each $type in $types {
+ $i: list.index($types, $type);
+
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$type};
+ }
+
+ igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$type};
+ }
}
diff --git a/src/app/data-display/badge/badge-variants/badge-variants.component.html b/src/app/data-display/badge/badge-variants/badge-variants.component.html
index 6b03f179d..cd11945f7 100644
--- a/src/app/data-display/badge/badge-variants/badge-variants.component.html
+++ b/src/app/data-display/badge/badge-variants/badge-variants.component.html
@@ -1,37 +1,19 @@
-
+
+
+
Primary
+
+
+
+
Info
+
+
+
+
Success
+
+
+
+
Warn
+
+
+
+
Error
diff --git a/src/app/data-display/badge/badge-variants/badge-variants.component.scss b/src/app/data-display/badge/badge-variants/badge-variants.component.scss
index 8145cf26b..7cbd9ac60 100644
--- a/src/app/data-display/badge/badge-variants/badge-variants.component.scss
+++ b/src/app/data-display/badge/badge-variants/badge-variants.component.scss
@@ -1,47 +1,51 @@
-igx-badge {
- --ig-size: var(--ig-size-small);
- position: absolute;
- inset-block-end: -4px;
- inset-inline-end: -4px;
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
+
+$variants: primary, info, success, warning, error;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ grid-template-rows: auto auto;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(40px);
+ row-gap: rem(12px);
+ min-height: 8.5rem;
+ padding: rem(32px);
}
igx-avatar {
- --ig-avatar-background: var(--ig-gray-700);
- --ig-avatar-color: var(--ig-gray-50);
+ grid-row: 1;
}
-:host ::ng-deep .variant-item:first-child igx-avatar igx-icon,
-:host ::ng-deep .variant-item:nth-child(4) igx-avatar igx-icon {
- color: var(--ig-gray-50);
-}
+span {
+ grid-row: 2;
+ text-align: center;
+ color: var(--ig-gray-700);
-.badge-variants {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 40px;
- min-height: 8.5rem;
+ @include type-style("body-2") {
+ margin: 0;
+ }
}
-.variant-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 12px;
- min-width: 56px;
-}
+igx-badge {
+ --ig-size: var(--ig-size-small);
-.variant-item span {
- color: #556c86;
- font-family: "Aktiv Grotesk", sans-serif;
- font-size: 13px;
- font-weight: 400;
- font-style: normal;
- line-height: 20px;
- letter-spacing: 0.3px;
+ position: absolute;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.avatar-wrapper {
- position: relative;
- display: flex;
+@each $variant in $variants {
+ $i: list.index($variants, $variant);
+
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$variant};
+ }
+
+ igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$variant};
+ }
}
diff --git a/src/app/layouts/avatar/avatar-overview/avatar-overview.component.html b/src/app/layouts/avatar/avatar-overview/avatar-overview.component.html
index e4b1ef8ff..9f7dd3a84 100644
--- a/src/app/layouts/avatar/avatar-overview/avatar-overview.component.html
+++ b/src/app/layouts/avatar/avatar-overview/avatar-overview.component.html
@@ -1,56 +1,51 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/src/app/layouts/avatar/avatar-overview/avatar-overview.component.scss b/src/app/layouts/avatar/avatar-overview/avatar-overview.component.scss
index fbf75d273..6ee88140a 100644
--- a/src/app/layouts/avatar/avatar-overview/avatar-overview.component.scss
+++ b/src/app/layouts/avatar/avatar-overview/avatar-overview.component.scss
@@ -1,47 +1,40 @@
-.avatar-overview-sample {
+@use "igniteui-theming/sass/typography" as *;
+
+:host {
display: flex;
+ flex-wrap: wrap;
align-items: center;
justify-content: center;
- gap: 90px;
- width: 100%;
- min-height: 100vh;
+ gap: rem(100px);
+ height: 100vh;
+ padding: rem(32px);
}
-.avatar-with-badge {
- position: relative;
- display: inline-flex;
+.profile-status {
+ anchor-name: --profile-status;
}
-.avatar-status {
+.status-badge {
position: absolute;
- right: 6px;
- bottom: 6px;
+ position-anchor: --profile-status;
+ inset-block-start: anchor(85%);
+ inset-inline-start: anchor(85%);
+ translate: -50% -50%;
}
.avatar-stack {
- display: inline-flex;
- align-items: center;
-}
-
-.avatar-stack .size-large {
- margin-left: -24px;
-}
+ display: flex;
-.avatar-stack .size-large:first-child {
- margin-left: 0;
-}
+ igx-avatar {
+ box-shadow: 0 0 0 rem(6px) var(--ig-surface-500);
-.avatar-stack .igx-avatar {
- border: 4px solid #fff;
- box-sizing: border-box;
-}
-
-.avatar-stack .size-large:last-child {
- --ig-avatar-background: #e8eef6;
- --ig-avatar-color: #6f8097;
-}
+ + igx-avatar {
+ margin-inline-start: rem(-24px);
+ }
-.avatar-stack .size-large:last-child .igx-avatar__initials {
- font-size: 32px;
- font-weight: 500;
+ &:last-child {
+ --ig-avatar-background: #e8eef6;
+ --ig-avatar-color: #6f8097;
+ }
+ }
}
diff --git a/src/app/layouts/avatar/avatar-shape/avatar-shape.component.html b/src/app/layouts/avatar/avatar-shape/avatar-shape.component.html
index 88c355153..261085c24 100644
--- a/src/app/layouts/avatar/avatar-shape/avatar-shape.component.html
+++ b/src/app/layouts/avatar/avatar-shape/avatar-shape.component.html
@@ -1,56 +1,42 @@
-
-
-
-
-
-
-
-
- Circle
-
+
+
+
+
+
+
Circle
-
-
-
-
-
-
- 2
-
-
- Square
-
+
+
+
+
+
+ 2
+
+
Square
-
-
-
-
-
-
-
-
- Rounded
-
-
+
+
+
+
+
+
+
Rounded
diff --git a/src/app/layouts/avatar/avatar-shape/avatar-shape.component.scss b/src/app/layouts/avatar/avatar-shape/avatar-shape.component.scss
index 78ac1f205..a6a47666f 100644
--- a/src/app/layouts/avatar/avatar-shape/avatar-shape.component.scss
+++ b/src/app/layouts/avatar/avatar-shape/avatar-shape.component.scss
@@ -1,48 +1,52 @@
-.avatar-shape-sample {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 90px;
- min-height: 100vh;
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
+
+$avatars: circle, square, rounded;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ grid-template-rows: auto auto;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(40px);
+ row-gap: rem(8px);
+ height: 100vh;
+ padding: rem(32px);
}
-.avatar-variant {
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- gap: 8px;
+igx-avatar {
+ grid-row: 1;
}
-.avatar-label {
+span {
+ grid-row: 2;
+ text-align: center;
color: var(--ig-gray-600);
- font-size: 0.875rem;
- line-height: 1.25rem;
-}
-.avatar-with-badge {
- position: relative;
- display: inline-flex;
+ @include type-style("body-1") {
+ margin: 0;
+ };
}
-.avatar-status {
- --size: 18px;
+igx-badge {
+ --ig-size: var(--ig-size-small);
+
position: absolute;
- right: -4px;
- bottom: -4px;
- font-size: 0.75rem;
- line-height: 1;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.avatar-dot-badge {
- --size: 12px;
- right: 3px;
- bottom: 3px;
-}
+// The avatars and badges are flat siblings, so every badge needs its own anchor name to pin to.
+@each $avatar in $avatars {
+ $i: list.index($avatars, $avatar);
-.avatar-count-badge {
- --ig-badge-text-color: #ffffff;
-}
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$avatar};
+ }
-.avatar-check-badge {
- --ig-badge-icon-color: #ffffff;
+ igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$avatar};
+ }
}
diff --git a/src/app/layouts/avatar/avatar-size/avatar-size.component.html b/src/app/layouts/avatar/avatar-size/avatar-size.component.html
index 5b16e53d1..be7a2c62b 100644
--- a/src/app/layouts/avatar/avatar-size/avatar-size.component.html
+++ b/src/app/layouts/avatar/avatar-size/avatar-size.component.html
@@ -1,61 +1,41 @@
-
-
-
-
-
-
-
-
-
-
- Large
-
+
+
+
+
+
+
Large
-
-
-
-
-
-
-
-
-
- Medium
-
+
+
+
+
+
+
Medium
-
-
-
-
-
-
-
-
-
- Small
-
-
+
+
+
+
+
+
Small
diff --git a/src/app/layouts/avatar/avatar-size/avatar-size.component.scss b/src/app/layouts/avatar/avatar-size/avatar-size.component.scss
index 5d2dcdb74..79f4204bb 100644
--- a/src/app/layouts/avatar/avatar-size/avatar-size.component.scss
+++ b/src/app/layouts/avatar/avatar-size/avatar-size.component.scss
@@ -1,69 +1,51 @@
-.avatar-size-sample {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 90px;
- min-height: 100vh;
-}
-
-.avatar-size {
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- gap: 8px;
-}
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
-.avatar-frame {
- display: inline-flex;
- align-items: center;
- justify-content: center;
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ grid-template-rows: auto auto;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(48px);
+ row-gap: rem(8px);
+ height: 100vh;
+ padding: rem(32px);
}
-.avatar-frame-large {
- width: 72px;
- height: 72px;
+igx-avatar {
+ grid-row: 1;
}
-.avatar-frame-medium {
- width: 72px;
- height: 72px;
-}
-
-.avatar-frame-small {
- width: 72px;
- height: 72px;
-}
-
-.avatar-label {
+span {
+ grid-row: 2;
+ text-align: center;
color: var(--ig-gray-600);
- font-size: 0.875rem;
- line-height: 1.25rem;
-}
-.avatar-with-badge {
- position: relative;
- display: inline-flex;
+ @include type-style("body-1") {
+ margin: 0;
+ };
}
-.avatar-status {
+igx-badge {
position: absolute;
- line-height: 1;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.avatar-dot-badge-large {
- --size: 16px;
- right: 3px;
- bottom: 3px;
-}
+$avatars: large, medium, small;
-.avatar-dot-badge-medium {
- --size: 14px;
- right: 2px;
- bottom: 2px;
-}
+// The avatars and badges are flat siblings, so every badge needs its own anchor name to pin to.
+@each $avatar in $avatars {
+ $i: list.index($avatars, $avatar);
+
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$avatar};
+ }
-.avatar-dot-badge-small {
- --size: 12px;
- right: 1px;
- bottom: 1px;
+ igx-badge:nth-of-type(#{$i}) {
+ --ig-size: var(--ig-size-#{$avatar});
+ position-anchor: --#{$avatar};
+ }
}
diff --git a/src/app/layouts/avatar/avatar-styling/avatar-styling.component.html b/src/app/layouts/avatar/avatar-styling/avatar-styling.component.html
index 07510f6c3..758148130 100644
--- a/src/app/layouts/avatar/avatar-styling/avatar-styling.component.html
+++ b/src/app/layouts/avatar/avatar-styling/avatar-styling.component.html
@@ -1,71 +1,67 @@
-
-
- Chats
+
+ Chats
-
-
-
-
-
-
-
-
- Nick Evans
- Hi Samira, thanks for the ...
- 9:44 AM
-
+
+
+
+
+
+
+
+
+ Nick Evans
+ Hi Samira, thanks for the ...
+ 9:44 AM
+
-
-
-
-
-
-
-
- James Ford
- I'll send the text and im ...
- 8:30 AM
-
+
+
+
+
+
+
+
+ James Ford
+ I'll send the text and im ...
+ 8:30 AM
+
-
-
-
-
-
-
-
-
- Kate Porter
- That's great!
- Yesterday
-
+
+
+
+
+
+
+
+
+ Kate Porter
+ That's great!
+ Yesterday
+
- Meetings
+ Meetings
-
-
-
-
- Weekly Meeting
- https://www.infra.com
- Monday
-
+
+
+
+
+ Weekly Meeting
+ https://www.infra.com
+ Monday
+
-
-
-
-
- Design Discussion
- https://www.infra.com
- 11:30 AM
-
-
-
+
+
+
+
+ Design Discussion
+ https://www.infra.com
+ 11:30 AM
+
+
diff --git a/src/app/layouts/avatar/avatar-styling/avatar-styling.component.scss b/src/app/layouts/avatar/avatar-styling/avatar-styling.component.scss
index 13d20bb3f..e4e2886f9 100644
--- a/src/app/layouts/avatar/avatar-styling/avatar-styling.component.scss
+++ b/src/app/layouts/avatar/avatar-styling/avatar-styling.component.scss
@@ -1,35 +1,40 @@
-.avatar-styling-sample {
+@use "igniteui-theming/sass/typography" as *;
+
+:host {
display: flex;
align-items: center;
justify-content: center;
+ height: 100vh;
}
-.chat-list {
- width: 344px;
- max-width: 100%;
+igx-list {
+ --ig-list-border-width: #{rem(1px)};
+ --ig-list-border-color: var(--ig-gray-300);
+ --ig-list-header-text-color: var(--ig-gray-900);
+
+ max-width: rem(328px);
}
-.size-small {
- --ig-size: var(--ig-size-small);
+igx-avatar {
+ --ig-avatar-background: var(--ig-gray-300);
+ --ig-avatar-color: var(--ig-gray-300-contrast);
}
.avatar-with-badge {
position: relative;
- display: inline-flex;
+}
+
+igx-badge {
+ --ig-size: var(--ig-size-small);
}
.avatar-status {
- --ig-badge-icon-color: #ffffff;
position: absolute;
- right: -4px;
- bottom: -4px;
+ inset-inline-end: rem(-4px);
+ inset-block-end: rem(-4px);
}
.avatar-muted-badge {
--ig-badge-background-color: var(--ig-gray-300);
- --ig-badge-icon-color: var(--ig-gray-700);
-}
-
-.avatar-muted {
- --ig-avatar-background: #D2DBE8;
+ --ig-badge-icon-color: var(--ig-gray-300-contrast);
}
diff --git a/src/app/layouts/avatar/avatar-styling/layout.scss b/src/app/layouts/avatar/avatar-styling/layout.scss
deleted file mode 100644
index d3a420849..000000000
--- a/src/app/layouts/avatar/avatar-styling/layout.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-:host {
- display: inline-flex;
- gap: 32px
-}
diff --git a/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.html b/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.html
index 79cd59492..d4fff12c1 100644
--- a/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.html
+++ b/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.html
@@ -1,111 +1,105 @@
-
-
-
-
-
+
+
+
+
+
+
+
+ Kate Thompson
+ 3D Artist. Turning polygons into worlds and immersive digital realities
-
+
+
+
+ @for (stat of profileStats; track stat.label; let isLast = $last) {
+
+ {{ stat.value }}
+ {{ stat.label }}
+
+ @if (!isLast) {
+
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- Kate Thompson
-
-
-
- 3D Artist. Turning polygons into worlds and immersive digital realities
-
- @for (stat of profileStats; track stat.label; let isLast = $last) {
-
- {{ stat.value }}
- {{ stat.label }}
-
- @if (!isLast) {
-
- }
+
+
Kate Thompson
+
3D Artist. Turning polygons into worlds and immersive digital realities
+
+
+
+ @for (stat of profileStats; track stat.label; let isLast = $last) {
+
+ {{ stat.value }}
+ {{ stat.label }}
+
+ @if (!isLast) {
+
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ }
+
+
+
+
+
+
+
diff --git a/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.scss b/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.scss
index 7f26ddcb5..ea7083981 100644
--- a/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.scss
+++ b/src/app/layouts/avatar/avatar-tailwind-styling/avatar-tailwind-styling.component.scss
@@ -1,3 +1,36 @@
+@use "igniteui-theming/sass/typography" as *;
+
:host {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, rem(344px));
+ gap: rem(40px);
+ place-content: center;
+ height: 100vh;
+}
+
+igx-card:nth-of-type(2) {
+ align-self: center;
+}
+
+.card-sample-custom-subtitle {
display: block;
+ color: var(--ig-gray-700);
+
+ @include type-style("body-2") {
+ margin-block-start: rem(8px);
+ };
+}
+
+.stats-title {
+ color: var(--ig-gray-900);
+
+ @include type-style("subtitle-1") {
+ font-weight: 600;
+ };
+}
+
+.stats-subtitle {
+ color: var(--ig-gray-500);
+
+ @include type-style("body-2");
}
diff --git a/src/app/layouts/avatar/avatar-variants/avatar-variants.component.html b/src/app/layouts/avatar/avatar-variants/avatar-variants.component.html
index 438406536..6ac275898 100644
--- a/src/app/layouts/avatar/avatar-variants/avatar-variants.component.html
+++ b/src/app/layouts/avatar/avatar-variants/avatar-variants.component.html
@@ -1,56 +1,44 @@
-
-
-
-
-
-
-
-
- Image
-
+
+
+
+
+
+
Image
-
-
-
-
-
-
- 2
-
-
- Icon
-
+
+
+
+
+
+ 2
+
+
Icon
+
+
+
+
+
+
+
+
Initials
-
-
-
-
-
-
-
-
- Initials
-
-
diff --git a/src/app/layouts/avatar/avatar-variants/avatar-variants.component.scss b/src/app/layouts/avatar/avatar-variants/avatar-variants.component.scss
index 355ff7df2..a4c56b17f 100644
--- a/src/app/layouts/avatar/avatar-variants/avatar-variants.component.scss
+++ b/src/app/layouts/avatar/avatar-variants/avatar-variants.component.scss
@@ -1,48 +1,53 @@
-.avatar-variants-sample {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 90px;
- min-height: 100vh;
+@use "sass:list";
+@use "igniteui-theming/sass/typography" as *;
+
+$avatars: circle, square, rounded;
+
+:host {
+ display: grid;
+ grid-auto-flow: column;
+ grid-template-rows: auto auto;
+ place-content: center;
+ place-items: center;
+ column-gap: rem(48px);
+ row-gap: rem(8px);
+ height: 100vh;
+ padding: rem(32px);
}
-.avatar-variant {
- display: inline-flex;
- flex-direction: column;
- align-items: center;
- gap: 8px;
+// :where() keeps the sample's own rules at zero
+:where(igx-avatar) {
+ grid-row: 1;
}
-.avatar-label {
+:where(span) {
+ grid-row: 2;
+ text-align: center;
color: var(--ig-gray-600);
- font-size: 0.875rem;
- line-height: 1.25rem;
-}
-.avatar-with-badge {
- position: relative;
- display: inline-flex;
+ @include type-style("body-1") {
+ margin: 0;
+ };
}
-.avatar-status {
- --size: 18px;
+:where(igx-badge) {
+ --ig-size: var(--ig-size-small);
+
position: absolute;
- right: -4px;
- bottom: -4px;
- font-size: 0.75rem;
- line-height: 1;
+ inset-block-start: anchor(85.5%);
+ inset-inline-start: anchor(85.5%);
+ translate: -50% -50%;
}
-.avatar-dot-badge {
- --size: 12px;
- right: 3px;
- bottom: 3px;
-}
+// The avatars and badges are flat siblings, so every badge needs its own anchor name to pin to.
+@each $avatar in $avatars {
+ $i: list.index($avatars, $avatar);
-.avatar-count-badge {
- --ig-badge-text-color: #ffffff;
-}
+ igx-avatar:nth-of-type(#{$i}) {
+ anchor-name: --#{$avatar};
+ }
-.avatar-check-badge {
- --ig-badge-icon-color: #ffffff;
+ igx-badge:nth-of-type(#{$i}) {
+ position-anchor: --#{$avatar};
+ }
}