diff --git a/samples/layouts/avatar/overview/src/index.css b/samples/layouts/avatar/overview/src/index.css index e5faf87285..9407c4b19a 100644 --- a/samples/layouts/avatar/overview/src/index.css +++ b/samples/layouts/avatar/overview/src/index.css @@ -1,49 +1,43 @@ .avatar-overview-sample { display: flex; + flex-wrap: wrap; align-items: center; justify-content: center; - gap: 90px; + gap: 2rem; + height: 100vh; + padding: 2rem; } -.size-large { +.avatar-overview-sample igc-avatar { --ig-size: var(--ig-size-large); } -.avatar-with-badge { - position: relative; - display: inline-flex; +.profile-status { + anchor-name: --profile-status; } -.avatar-status { +.status-badge { + --ig-size: var(--ig-size-large); 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; +.avatar-stack igc-avatar + igc-avatar { + margin-inline-start: -1.5rem; } -.avatar-stack .size-large::part(base) { - border: 4px solid #fff; - box-sizing: border-box; +.avatar-stack igc-avatar::part(base) { + box-shadow: 0 0 0 0.375rem var(--ig-surface-500); } -.avatar-stack .size-large:last-child { +.avatar-stack igc-avatar:last-child { --ig-avatar-background: #e8eef6; --ig-avatar-color: #6f8097; } - -.avatar-stack .size-large:last-child::part(initials) { - font-size: 32px; - font-weight: 500; -} diff --git a/samples/layouts/avatar/overview/src/index.tsx b/samples/layouts/avatar/overview/src/index.tsx index 2892a11193..5eabef55cd 100644 --- a/samples/layouts/avatar/overview/src/index.tsx +++ b/samples/layouts/avatar/overview/src/index.tsx @@ -8,49 +8,37 @@ export default function AvatarOverview() { return (
- - - - + +
diff --git a/samples/layouts/avatar/shape/src/index.css b/samples/layouts/avatar/shape/src/index.css index a477d54e9d..83e4431ea2 100644 --- a/samples/layouts/avatar/shape/src/index.css +++ b/samples/layouts/avatar/shape/src/index.css @@ -1,52 +1,59 @@ -.avatar-overview-sample { - display: flex; - align-items: center; - justify-content: center; - gap: 90px; - min-height: 100vh; -} - -.size-small { +.avatar-shape-sample { + display: grid; + grid-auto-flow: column; + grid-template-rows: auto auto; + place-content: center; + place-items: center; + column-gap: 2.5rem; + row-gap: 0.5rem; + height: 100vh; + padding: 2rem; +} + +:where(igc-avatar) { --ig-size: var(--ig-size-small); + grid-row: 1; } -.avatar-variant { - display: inline-flex; - flex-direction: column; - align-items: center; - gap: 8px; -} - -.avatar-label { +:where(span) { + grid-row: 2; + text-align: center; color: var(--ig-gray-600); + font-family: "Aktiv Grotesk", Arial, sans-serif; font-size: 0.875rem; line-height: 1.25rem; + margin: 0; } -.avatar-with-badge { - position: relative; - display: inline-flex; -} +:where(igc-badge) { + --ig-size: var(--ig-size-small); -.avatar-status { - --size: 18px; 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-shape-sample igc-avatar:nth-of-type(1) { + anchor-name: --circle; +} + +.avatar-shape-sample igc-avatar:nth-of-type(2) { + anchor-name: --square; +} + +.avatar-shape-sample igc-avatar:nth-of-type(3) { + anchor-name: --rounded; } -.avatar-dot-badge { - --size: 12px; - right: 3px; - bottom: 3px; +.avatar-shape-sample igc-badge:nth-of-type(1) { + position-anchor: --circle; } -.avatar-count-badge { - --ig-badge-text-color: #ffffff; +.avatar-shape-sample igc-badge:nth-of-type(2) { + position-anchor: --square; } -.avatar-check-badge { - --ig-badge-icon-color: #ffffff; +.avatar-shape-sample igc-badge:nth-of-type(3) { + position-anchor: --rounded; } diff --git a/samples/layouts/avatar/shape/src/index.tsx b/samples/layouts/avatar/shape/src/index.tsx index adaaac1538..6dcd8b5677 100644 --- a/samples/layouts/avatar/shape/src/index.tsx +++ b/samples/layouts/avatar/shape/src/index.tsx @@ -22,61 +22,32 @@ export default function AvatarShape() { }, []); return ( -
-
- - - - - Circle -
+
+ + + Circle -
- - - - - - 2 - - - Square -
+ + + + + 2 + + Square -
- - - - - - - Rounded -
+ + + + + Rounded
); } diff --git a/samples/layouts/avatar/size/src/index.css b/samples/layouts/avatar/size/src/index.css index 00002afa14..1b1f7fe7d5 100644 --- a/samples/layouts/avatar/size/src/index.css +++ b/samples/layouts/avatar/size/src/index.css @@ -1,60 +1,62 @@ -.avatar-overview-sample { - display: flex; - align-items: center; - justify-content: center; - gap: 90px; - min-height: 100vh; +.avatar-size-sample { + display: grid; + grid-auto-flow: column; + grid-template-rows: auto auto; + place-content: center; + place-items: center; + column-gap: 3rem; + row-gap: 0.5rem; + height: 100vh; + padding: 2rem; } -.size-large { - --ig-size: var(--ig-size-large); -} -.size-medium { - --ig-size: var(--ig-size-medium); +:where(igc-avatar) { + grid-row: 1; } -.size-small { - --ig-size: var(--ig-size-small); + +:where(span) { + grid-row: 2; + text-align: center; + color: var(--ig-gray-600); + font-family: "Aktiv Grotesk", Arial, sans-serif; + font-size: 0.875rem; + line-height: 1.25rem; + margin: 0; } -.avatar-variant { - display: inline-flex; - flex-direction: column; - align-items: center; - gap: 8px; +:where(igc-badge) { + position: absolute; + inset-block-start: anchor(85.5%); + inset-inline-start: anchor(85.5%); + translate: -50% -50%; } -.avatar-with-badge { - width: 88px; - height: 88px; - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; +.avatar-size-sample igc-avatar:nth-of-type(1) { + --ig-size: var(--ig-size-large); + anchor-name: --large; } -.avatar-label { - color: var(--ig-gray-600); - font-size: 0.875rem; - line-height: 1.25rem; +.avatar-size-sample igc-avatar:nth-of-type(2) { + --ig-size: var(--ig-size-medium); + anchor-name: --medium; } -.avatar-status { - --size: 18px; - position: absolute; - right: var(--badge-offset); - bottom: var(--badge-offset); - font-size: 0.75rem; - line-height: 1; +.avatar-size-sample igc-avatar:nth-of-type(3) { + --ig-size: var(--ig-size-small); + anchor-name: --small; } -.avatar-with-badge:has(.size-large) { - --badge-offset: 7px; +.avatar-size-sample igc-badge:nth-of-type(1) { + --ig-size: var(--ig-size-large); + position-anchor: --large; } -.avatar-with-badge:has(.size-medium) { - --badge-offset: 15px; +.avatar-size-sample igc-badge:nth-of-type(2) { + --ig-size: var(--ig-size-medium); + position-anchor: --medium; } -.avatar-with-badge:has(.size-small) { - --badge-offset: 24px; +.avatar-size-sample igc-badge:nth-of-type(3) { + --ig-size: var(--ig-size-small); + position-anchor: --small; } diff --git a/samples/layouts/avatar/size/src/index.tsx b/samples/layouts/avatar/size/src/index.tsx index e2cff6bac6..b33665945e 100644 --- a/samples/layouts/avatar/size/src/index.tsx +++ b/samples/layouts/avatar/size/src/index.tsx @@ -6,60 +6,30 @@ import "igniteui-webcomponents/themes/light/material.css"; export default function AvatarSize() { return ( -
-
- - - - - Large -
+
+ + + Large -
- - - - - Medium -
+ + + Medium -
- - - - - Small -
+ + + Small
); } diff --git a/samples/layouts/avatar/styling/src/icons.ts b/samples/layouts/avatar/styling/src/icons.ts new file mode 100644 index 0000000000..c593c1717f --- /dev/null +++ b/samples/layouts/avatar/styling/src/icons.ts @@ -0,0 +1,14 @@ +export const checkIcon = + ''; + +export const calendarTodayIcon = + ''; + +export const xIcon = + ''; + +export const horizontalRuleIcon = + ''; + +export const peopleIcon = + ''; diff --git a/samples/layouts/avatar/styling/src/index.css b/samples/layouts/avatar/styling/src/index.css index 4f5edce1c6..321875f4d5 100644 --- a/samples/layouts/avatar/styling/src/index.css +++ b/samples/layouts/avatar/styling/src/index.css @@ -2,42 +2,59 @@ display: flex; align-items: center; justify-content: center; + height: 100vh; } .chat-list { - width: 344px; - max-width: 100%; + --ig-list-header-text-color: var(--ig-gray-900); + max-width: 20.5rem; } -.size-small { - --ig-size: var(--ig-size-small); +.chat-list * { + font-family: "Aktiv Grotesk", Arial, sans-serif; +} + +.chat-list [slot="title"] { + font-weight: 600; +} + +.chat-list [slot="end"] { + color: var(--ig-gray-600); + font-size: 0.875rem; + line-height: 1.25rem; } -.size-medium { - --ig-size: var(--ig-size-medium); +.chat-list-item--split { + --border-width: 0.0625rem; + --border-color: var(--ig-gray-300); } -.size-large { - --ig-size: var(--ig-size-large); +:where(igc-avatar) { + --ig-size: var(--ig-size-small); + --ig-avatar-background: var(--ig-gray-300); + --ig-avatar-color: var(--ig-gray-300-contrast); + --ig-avatar-icon-color: var(--ig-gray-300-contrast); +} + +.avatar-icon { + --ig-size: var(--ig-size-small); } .avatar-with-badge { position: relative; - display: inline-flex; +} + +:where(igc-badge) { + --ig-size: var(--ig-size-small); } .avatar-status { - --ig-badge-icon-color: #ffffff; + --ig-size: var(--ig-size-small); position: absolute; - right: -4px; - bottom: -4px; + inset-inline-end: -0.25rem; + inset-block-end: -0.25rem; } .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-background-color: var(--ig-gray-500); } diff --git a/samples/layouts/avatar/styling/src/index.tsx b/samples/layouts/avatar/styling/src/index.tsx index 0d427044c9..394c0f21e2 100644 --- a/samples/layouts/avatar/styling/src/index.tsx +++ b/samples/layouts/avatar/styling/src/index.tsx @@ -11,21 +11,13 @@ import { registerIconFromText, } from "igniteui-react"; import "igniteui-webcomponents/themes/light/material.css"; - -const checkIcon = - ''; - -const calendarIcon = - ''; - -const xIcon = - ''; - -const horizontalRuleIcon = - ''; - -const groupIcon = - ''; +import { + calendarTodayIcon, + checkIcon, + horizontalRuleIcon, + peopleIcon, + xIcon, +} from "./icons"; type AvatarListItem = { title: string; @@ -107,6 +99,7 @@ const sections: AvatarListSection[] = [ avatar: { icon: "calendar", alt: "Calendar Icon.", + className: "avatar-meeting", }, }, { @@ -114,8 +107,9 @@ const sections: AvatarListSection[] = [ subtitle: "https://www.infra.com", end: "11:30 AM", avatar: { - icon: "group", + icon: "people", alt: "Group Icon.", + className: "avatar-meeting", }, }, ], @@ -125,14 +119,14 @@ const sections: AvatarListSection[] = [ function renderAvatar(item: AvatarListItem) { return ( {item.avatar.icon && ( - + )} ); @@ -140,11 +134,11 @@ function renderAvatar(item: AvatarListItem) { export default function AvatarStyling() { useEffect(() => { - registerIconFromText("calendar", calendarIcon, "material"); + registerIconFromText("calendar", calendarTodayIcon, "material"); registerIconFromText("check", checkIcon, "material"); registerIconFromText("x", xIcon, "material"); registerIconFromText("horizontalRule", horizontalRuleIcon, "material"); - registerIconFromText("group", groupIcon, "material"); + registerIconFromText("people", peopleIcon, "material"); }, []); return ( @@ -154,12 +148,15 @@ export default function AvatarStyling() { {section.header} {section.items.map((item) => ( - +
{renderAvatar(item)} {item.badge && ( - - +
+ + Cafe interior @@ -51,21 +51,17 @@ export default function AvatarTailwindStyling() { /> Kate Thompson +

+ 3D Artist. Turning polygons into worlds and immersive digital + realities +

-

- 3D Artist. Turning polygons into worlds and immersive digital - realities -

-
+
{profileStats.map((stat, index) => (
- - {stat.value} - - - {stat.label} - + {stat.value} + {stat.label}
{index < profileStats.length - 1 && ( @@ -77,11 +73,11 @@ export default function AvatarTailwindStyling() { - FOLLOW - + FOLLOW + -
+
- + Kate Thompson - -

- 3D Artist. Turning polygons into worlds and immersive digital - realities -

-
+

+ 3D Artist. Turning polygons into worlds and immersive digital + realities +

+ +
{profileStats.map((stat, index) => (
- - {stat.value} - - - {stat.label} - + {stat.value} + {stat.label}
{index < profileStats.length - 1 && ( @@ -145,8 +137,8 @@ export default function AvatarTailwindStyling() { - FOLLOW - + FOLLOW +
diff --git a/samples/layouts/avatar/variants/src/index.css b/samples/layouts/avatar/variants/src/index.css index a477d54e9d..966ff37249 100644 --- a/samples/layouts/avatar/variants/src/index.css +++ b/samples/layouts/avatar/variants/src/index.css @@ -1,52 +1,59 @@ -.avatar-overview-sample { - display: flex; - align-items: center; - justify-content: center; - gap: 90px; - min-height: 100vh; -} - -.size-small { +.avatar-variants-sample { + display: grid; + grid-auto-flow: column; + grid-template-rows: auto auto; + place-content: center; + place-items: center; + column-gap: 3rem; + row-gap: 0.5rem; + height: 100vh; + padding: 2rem; +} + +:where(igc-avatar) { --ig-size: var(--ig-size-small); + grid-row: 1; } -.avatar-variant { - display: inline-flex; - flex-direction: column; - align-items: center; - gap: 8px; -} - -.avatar-label { +:where(span) { + grid-row: 2; + text-align: center; color: var(--ig-gray-600); + font-family: "Aktiv Grotesk", Arial, sans-serif; font-size: 0.875rem; line-height: 1.25rem; + margin: 0; } -.avatar-with-badge { - position: relative; - display: inline-flex; -} +:where(igc-badge) { + --ig-size: var(--ig-size-small); -.avatar-status { - --size: 18px; 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-variants-sample igc-avatar:nth-of-type(1) { + anchor-name: --image; +} + +.avatar-variants-sample igc-avatar:nth-of-type(2) { + anchor-name: --icon; +} + +.avatar-variants-sample igc-avatar:nth-of-type(3) { + anchor-name: --initials; } -.avatar-dot-badge { - --size: 12px; - right: 3px; - bottom: 3px; +.avatar-variants-sample igc-badge:nth-of-type(1) { + position-anchor: --image; } -.avatar-count-badge { - --ig-badge-text-color: #ffffff; +.avatar-variants-sample igc-badge:nth-of-type(2) { + position-anchor: --icon; } -.avatar-check-badge { - --ig-badge-icon-color: #ffffff; +.avatar-variants-sample igc-badge:nth-of-type(3) { + position-anchor: --initials; } diff --git a/samples/layouts/avatar/variants/src/index.tsx b/samples/layouts/avatar/variants/src/index.tsx index 45146dccea..ff0c70b370 100644 --- a/samples/layouts/avatar/variants/src/index.tsx +++ b/samples/layouts/avatar/variants/src/index.tsx @@ -22,61 +22,28 @@ export default function AvatarVariants() { }, []); return ( -
-
- - - - - Image -
+
+ + + Image -
- - - - - - 2 - - - Icon -
+ + + + + 2 + + Icon -
- - - - - - - Initials -
+ + + + + Initials
); }