@momentum-design/components 0.129.13 → 0.129.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js.map +2 -2
- package/dist/components/appheader/appheader.component.d.ts +16 -12
- package/dist/components/appheader/appheader.component.js +16 -12
- package/dist/components/avatar/avatar.component.d.ts +22 -15
- package/dist/components/avatar/avatar.component.js +22 -15
- package/dist/components/avatarbutton/avatarbutton.component.d.ts +13 -11
- package/dist/components/avatarbutton/avatarbutton.component.js +13 -11
- package/dist/custom-elements.json +26 -20
- package/dist/react/appheader/index.d.ts +16 -12
- package/dist/react/appheader/index.js +16 -12
- package/dist/react/avatar/index.d.ts +25 -18
- package/dist/react/avatar/index.js +25 -18
- package/dist/react/avatarbutton/index.d.ts +13 -11
- package/dist/react/avatarbutton/index.js +13 -11
- package/package.json +1 -1
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import { CSSResult } from 'lit';
|
|
2
2
|
import { Component } from '../../models';
|
|
3
3
|
/**
|
|
4
|
-
* The `mdc-appheader` component provides a structured and accessible app header layout.
|
|
5
|
-
* It consists of three primary sections: leading, center, and trailing.
|
|
4
|
+
* The `mdc-appheader` component provides a structured and accessible app header layout with three sections: leading, center, and trailing.
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
6
|
+
* ## Layout sections
|
|
7
|
+
* - **Leading** - Typically holds brand logo, brand name, or menu icon
|
|
8
|
+
* - **Center** - Can contain search bar, icons, navigation links, or action controls
|
|
9
|
+
* - **Trailing** - Generally includes profile avatar, icons, settings, or additional action controls
|
|
10
|
+
*
|
|
11
|
+
* Each section automatically handles flex alignment: leading aligns left, center aligns center, trailing aligns right.
|
|
10
12
|
*
|
|
11
13
|
* @tagname mdc-appheader
|
|
12
14
|
*
|
|
13
|
-
* @slot leading -
|
|
14
|
-
* @slot center -
|
|
15
|
-
* @slot trailing -
|
|
15
|
+
* @slot leading - Content for the leading section (left-aligned).
|
|
16
|
+
* @slot center - Content for the center section (center-aligned).
|
|
17
|
+
* @slot trailing - Content for the trailing section (right-aligned).
|
|
18
|
+
*
|
|
19
|
+
* @cssproperty --mdc-appheader-height - Height of the app header. Default is 4rem (64px).
|
|
16
20
|
*
|
|
17
|
-
* @csspart container - The main container
|
|
18
|
-
* @csspart leading-section - The leading section
|
|
19
|
-
* @csspart center-section - The center section
|
|
20
|
-
* @csspart trailing-section - The trailing section
|
|
21
|
+
* @csspart container - The main header container.
|
|
22
|
+
* @csspart leading-section - The leading section wrapper (left side).
|
|
23
|
+
* @csspart center-section - The center section wrapper (middle).
|
|
24
|
+
* @csspart trailing-section - The trailing section wrapper (right side).
|
|
21
25
|
*/
|
|
22
26
|
declare class Appheader extends Component {
|
|
23
27
|
/**
|
|
@@ -2,23 +2,27 @@ import { html } from 'lit';
|
|
|
2
2
|
import { Component } from '../../models';
|
|
3
3
|
import styles from './appheader.styles';
|
|
4
4
|
/**
|
|
5
|
-
* The `mdc-appheader` component provides a structured and accessible app header layout.
|
|
6
|
-
* It consists of three primary sections: leading, center, and trailing.
|
|
5
|
+
* The `mdc-appheader` component provides a structured and accessible app header layout with three sections: leading, center, and trailing.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
7
|
+
* ## Layout sections
|
|
8
|
+
* - **Leading** - Typically holds brand logo, brand name, or menu icon
|
|
9
|
+
* - **Center** - Can contain search bar, icons, navigation links, or action controls
|
|
10
|
+
* - **Trailing** - Generally includes profile avatar, icons, settings, or additional action controls
|
|
11
|
+
*
|
|
12
|
+
* Each section automatically handles flex alignment: leading aligns left, center aligns center, trailing aligns right.
|
|
11
13
|
*
|
|
12
14
|
* @tagname mdc-appheader
|
|
13
15
|
*
|
|
14
|
-
* @slot leading -
|
|
15
|
-
* @slot center -
|
|
16
|
-
* @slot trailing -
|
|
16
|
+
* @slot leading - Content for the leading section (left-aligned).
|
|
17
|
+
* @slot center - Content for the center section (center-aligned).
|
|
18
|
+
* @slot trailing - Content for the trailing section (right-aligned).
|
|
19
|
+
*
|
|
20
|
+
* @cssproperty --mdc-appheader-height - Height of the app header. Default is 4rem (64px).
|
|
17
21
|
*
|
|
18
|
-
* @csspart container - The main container
|
|
19
|
-
* @csspart leading-section - The leading section
|
|
20
|
-
* @csspart center-section - The center section
|
|
21
|
-
* @csspart trailing-section - The trailing section
|
|
22
|
+
* @csspart container - The main header container.
|
|
23
|
+
* @csspart leading-section - The leading section wrapper (left side).
|
|
24
|
+
* @csspart center-section - The center section wrapper (middle).
|
|
25
|
+
* @csspart trailing-section - The trailing section wrapper (right side).
|
|
22
26
|
*/
|
|
23
27
|
class Appheader extends Component {
|
|
24
28
|
/**
|
|
@@ -3,24 +3,31 @@ import { CSSResult } from 'lit';
|
|
|
3
3
|
import { Component } from '../../models';
|
|
4
4
|
declare const Avatar_base: import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/AvatarComponentMixin").AvatarComponentMixinInterface> & import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/IconNameMixin").IconNameMixinInterface> & typeof Component;
|
|
5
5
|
/**
|
|
6
|
-
* The `mdc-avatar` component
|
|
7
|
-
* An avatar can be an icon, initials, counter and photo.
|
|
6
|
+
* The `mdc-avatar` component represents a person or a space. It displays as a photo, initials, icon, or counter.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
10
|
-
* you need to set "src" attribute.
|
|
8
|
+
* ## Display Priority
|
|
11
9
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
10
|
+
* When multiple attributes are provided, the component determines what to display based on this priority:
|
|
11
|
+
* 1. **Photo** (`src`) - Takes highest priority
|
|
12
|
+
* - While loading: Shows `initials` as placeholder if provided (instant), otherwise shows icon (requires loading)
|
|
13
|
+
* - After loading: Shows the photo
|
|
14
|
+
* - On error: Placeholder remains visible (initials or icon)
|
|
15
|
+
* 2. **Icon** (`icon-name`) - Takes priority if no `src` is provided
|
|
16
|
+
* - Shows custom icon if `icon-name` is set (requires icon library to load)
|
|
17
|
+
* - **Note:** If both `icon-name` and `initials` are provided (without `src`), icon takes precedence and initials are ignored.
|
|
18
|
+
* This means users may see a delay while the icon loads, even though initials render instantly.
|
|
19
|
+
* - Defaults to `user-regular` icon if no other content is available
|
|
20
|
+
* 3. **Initials** (`initials`) - Displayed only if no `src` or `icon-name` is provided
|
|
21
|
+
* - Shows first two characters, converted to uppercase
|
|
22
|
+
* - Renders instantly (no loading required)
|
|
23
|
+
* 4. **Counter** (`counter`) - Displayed only if none of the above are provided
|
|
24
|
+
* - Shows numeric value (max 99+)
|
|
25
|
+
* - Negative values display as 0
|
|
16
26
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* If the avatar is typing, then the loading indicator will be displayed.
|
|
22
|
-
* If the counter type avatar is set to a negative number, then we will display 0.
|
|
23
|
-
* The presence indicator will be hidden when the counter property is set.
|
|
27
|
+
* ## Behavior
|
|
28
|
+
* - Non-interactive and non-focusable component (use `mdc-avatarbutton` for clickable avatars)
|
|
29
|
+
* - Shows loading indicator overlay when `is-typing` is true (displays on top of existing content)
|
|
30
|
+
* - Presence indicator hidden when counter is set or when typing
|
|
24
31
|
*
|
|
25
32
|
* @dependency mdc-icon
|
|
26
33
|
* @dependency mdc-presence
|
|
@@ -17,24 +17,31 @@ import { AVATAR_TYPE, DEFAULTS, MAX_COUNTER } from './avatar.constants';
|
|
|
17
17
|
import styles from './avatar.styles';
|
|
18
18
|
import { getAvatarIconSize, getAvatarTextFontSize, getPresenceSize } from './avatar.utils';
|
|
19
19
|
/**
|
|
20
|
-
* The `mdc-avatar` component
|
|
21
|
-
* An avatar can be an icon, initials, counter and photo.
|
|
20
|
+
* The `mdc-avatar` component represents a person or a space. It displays as a photo, initials, icon, or counter.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
24
|
-
* you need to set "src" attribute.
|
|
22
|
+
* ## Display Priority
|
|
25
23
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
24
|
+
* When multiple attributes are provided, the component determines what to display based on this priority:
|
|
25
|
+
* 1. **Photo** (`src`) - Takes highest priority
|
|
26
|
+
* - While loading: Shows `initials` as placeholder if provided (instant), otherwise shows icon (requires loading)
|
|
27
|
+
* - After loading: Shows the photo
|
|
28
|
+
* - On error: Placeholder remains visible (initials or icon)
|
|
29
|
+
* 2. **Icon** (`icon-name`) - Takes priority if no `src` is provided
|
|
30
|
+
* - Shows custom icon if `icon-name` is set (requires icon library to load)
|
|
31
|
+
* - **Note:** If both `icon-name` and `initials` are provided (without `src`), icon takes precedence and initials are ignored.
|
|
32
|
+
* This means users may see a delay while the icon loads, even though initials render instantly.
|
|
33
|
+
* - Defaults to `user-regular` icon if no other content is available
|
|
34
|
+
* 3. **Initials** (`initials`) - Displayed only if no `src` or `icon-name` is provided
|
|
35
|
+
* - Shows first two characters, converted to uppercase
|
|
36
|
+
* - Renders instantly (no loading required)
|
|
37
|
+
* 4. **Counter** (`counter`) - Displayed only if none of the above are provided
|
|
38
|
+
* - Shows numeric value (max 99+)
|
|
39
|
+
* - Negative values display as 0
|
|
30
40
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* If the avatar is typing, then the loading indicator will be displayed.
|
|
36
|
-
* If the counter type avatar is set to a negative number, then we will display 0.
|
|
37
|
-
* The presence indicator will be hidden when the counter property is set.
|
|
41
|
+
* ## Behavior
|
|
42
|
+
* - Non-interactive and non-focusable component (use `mdc-avatarbutton` for clickable avatars)
|
|
43
|
+
* - Shows loading indicator overlay when `is-typing` is true (displays on top of existing content)
|
|
44
|
+
* - Presence indicator hidden when counter is set or when typing
|
|
38
45
|
*
|
|
39
46
|
* @dependency mdc-icon
|
|
40
47
|
* @dependency mdc-presence
|
|
@@ -3,25 +3,27 @@ import { CSSResult } from 'lit';
|
|
|
3
3
|
import Buttonsimple from '../buttonsimple/buttonsimple.component';
|
|
4
4
|
declare const AvatarButton_base: import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/AvatarComponentMixin").AvatarComponentMixinInterface> & import("../../utils/mixins/index.types").Constructor<import("../../utils/mixins/IconNameMixin").IconNameMixinInterface> & typeof Buttonsimple;
|
|
5
5
|
/**
|
|
6
|
-
* The `mdc-avatarbutton` component is an
|
|
6
|
+
* The `mdc-avatarbutton` component is an interactive, clickable version of `mdc-avatar`.
|
|
7
|
+
* It wraps the avatar component in a button, making it focusable and actionable.
|
|
7
8
|
*
|
|
8
|
-
* This component
|
|
9
|
-
*
|
|
9
|
+
* This component extends `buttonsimple` and includes all avatar display features (photo, initials, icon, counter, presence).
|
|
10
|
+
* Use CSS parts to customize the avatar's appearance inside the button.
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
+
* ## Accessibility
|
|
13
|
+
* - Always provide an `aria-label` attribute to describe the button's purpose
|
|
12
14
|
*
|
|
13
15
|
* @dependency mdc-avatar
|
|
14
16
|
*
|
|
15
|
-
* @event click - (React: onClick)
|
|
16
|
-
* @event keydown - (React: onKeyDown)
|
|
17
|
-
* @event keyup - (React: onKeyUp)
|
|
18
|
-
* @event focus - (React: onFocus)
|
|
17
|
+
* @event click - (React: onClick) Dispatched when the avatar button is clicked.
|
|
18
|
+
* @event keydown - (React: onKeyDown) Dispatched when a key is pressed on the avatar button.
|
|
19
|
+
* @event keyup - (React: onKeyUp) Dispatched when a key is released on the avatar button.
|
|
20
|
+
* @event focus - (React: onFocus) Dispatched when the avatar button receives focus.
|
|
19
21
|
*
|
|
20
22
|
* @tagname mdc-avatarbutton
|
|
21
23
|
*
|
|
22
|
-
* @cssproperty --mdc-avatarbutton-overlay-background-color-rest - Background color of the overlay in rest state
|
|
23
|
-
* @cssproperty --mdc-avatarbutton-overlay-background-color-hover - Background color of the overlay in hover state
|
|
24
|
-
* @cssproperty --mdc-avatarbutton-overlay-background-color-active - Background color of the overlay in active state
|
|
24
|
+
* @cssproperty --mdc-avatarbutton-overlay-background-color-rest - Background color of the overlay in rest state.
|
|
25
|
+
* @cssproperty --mdc-avatarbutton-overlay-background-color-hover - Background color of the overlay in hover state.
|
|
26
|
+
* @cssproperty --mdc-avatarbutton-overlay-background-color-active - Background color of the overlay in active state.
|
|
25
27
|
*
|
|
26
28
|
* @csspart overlay - The overlay part of the avatar button.
|
|
27
29
|
* @csspart content - The main content of the avatar.
|
|
@@ -18,25 +18,27 @@ import { DEFAULTS as BUTTON_DEFAULTS } from '../button/button.constants';
|
|
|
18
18
|
import Buttonsimple from '../buttonsimple/buttonsimple.component';
|
|
19
19
|
import styles from './avatarbutton.styles';
|
|
20
20
|
/**
|
|
21
|
-
* The `mdc-avatarbutton` component is an
|
|
21
|
+
* The `mdc-avatarbutton` component is an interactive, clickable version of `mdc-avatar`.
|
|
22
|
+
* It wraps the avatar component in a button, making it focusable and actionable.
|
|
22
23
|
*
|
|
23
|
-
* This component
|
|
24
|
-
*
|
|
24
|
+
* This component extends `buttonsimple` and includes all avatar display features (photo, initials, icon, counter, presence).
|
|
25
|
+
* Use CSS parts to customize the avatar's appearance inside the button.
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
+
* ## Accessibility
|
|
28
|
+
* - Always provide an `aria-label` attribute to describe the button's purpose
|
|
27
29
|
*
|
|
28
30
|
* @dependency mdc-avatar
|
|
29
31
|
*
|
|
30
|
-
* @event click - (React: onClick)
|
|
31
|
-
* @event keydown - (React: onKeyDown)
|
|
32
|
-
* @event keyup - (React: onKeyUp)
|
|
33
|
-
* @event focus - (React: onFocus)
|
|
32
|
+
* @event click - (React: onClick) Dispatched when the avatar button is clicked.
|
|
33
|
+
* @event keydown - (React: onKeyDown) Dispatched when a key is pressed on the avatar button.
|
|
34
|
+
* @event keyup - (React: onKeyUp) Dispatched when a key is released on the avatar button.
|
|
35
|
+
* @event focus - (React: onFocus) Dispatched when the avatar button receives focus.
|
|
34
36
|
*
|
|
35
37
|
* @tagname mdc-avatarbutton
|
|
36
38
|
*
|
|
37
|
-
* @cssproperty --mdc-avatarbutton-overlay-background-color-rest - Background color of the overlay in rest state
|
|
38
|
-
* @cssproperty --mdc-avatarbutton-overlay-background-color-hover - Background color of the overlay in hover state
|
|
39
|
-
* @cssproperty --mdc-avatarbutton-overlay-background-color-active - Background color of the overlay in active state
|
|
39
|
+
* @cssproperty --mdc-avatarbutton-overlay-background-color-rest - Background color of the overlay in rest state.
|
|
40
|
+
* @cssproperty --mdc-avatarbutton-overlay-background-color-hover - Background color of the overlay in hover state.
|
|
41
|
+
* @cssproperty --mdc-avatarbutton-overlay-background-color-active - Background color of the overlay in active state.
|
|
40
42
|
*
|
|
41
43
|
* @csspart overlay - The overlay part of the avatar button.
|
|
42
44
|
* @csspart content - The main content of the avatar.
|
|
@@ -3267,37 +3267,43 @@
|
|
|
3267
3267
|
"declarations": [
|
|
3268
3268
|
{
|
|
3269
3269
|
"kind": "class",
|
|
3270
|
-
"description": "The `mdc-appheader` component provides a structured and accessible app header layout
|
|
3270
|
+
"description": "The `mdc-appheader` component provides a structured and accessible app header layout with three sections: leading, center, and trailing.\n\n## Layout sections\n- **Leading** - Typically holds brand logo, brand name, or menu icon\n- **Center** - Can contain search bar, icons, navigation links, or action controls\n- **Trailing** - Generally includes profile avatar, icons, settings, or additional action controls\n\nEach section automatically handles flex alignment: leading aligns left, center aligns center, trailing aligns right.",
|
|
3271
3271
|
"name": "Appheader",
|
|
3272
|
+
"cssProperties": [
|
|
3273
|
+
{
|
|
3274
|
+
"description": "Height of the app header. Default is 4rem (64px).",
|
|
3275
|
+
"name": "--mdc-appheader-height"
|
|
3276
|
+
}
|
|
3277
|
+
],
|
|
3272
3278
|
"cssParts": [
|
|
3273
3279
|
{
|
|
3274
|
-
"description": "The main container
|
|
3280
|
+
"description": "The main header container.",
|
|
3275
3281
|
"name": "container"
|
|
3276
3282
|
},
|
|
3277
3283
|
{
|
|
3278
|
-
"description": "The leading section
|
|
3284
|
+
"description": "The leading section wrapper (left side).",
|
|
3279
3285
|
"name": "leading-section"
|
|
3280
3286
|
},
|
|
3281
3287
|
{
|
|
3282
|
-
"description": "The center section
|
|
3288
|
+
"description": "The center section wrapper (middle).",
|
|
3283
3289
|
"name": "center-section"
|
|
3284
3290
|
},
|
|
3285
3291
|
{
|
|
3286
|
-
"description": "The trailing section
|
|
3292
|
+
"description": "The trailing section wrapper (right side).",
|
|
3287
3293
|
"name": "trailing-section"
|
|
3288
3294
|
}
|
|
3289
3295
|
],
|
|
3290
3296
|
"slots": [
|
|
3291
3297
|
{
|
|
3292
|
-
"description": "
|
|
3298
|
+
"description": "Content for the leading section (left-aligned).",
|
|
3293
3299
|
"name": "leading"
|
|
3294
3300
|
},
|
|
3295
3301
|
{
|
|
3296
|
-
"description": "
|
|
3302
|
+
"description": "Content for the center section (center-aligned).",
|
|
3297
3303
|
"name": "center"
|
|
3298
3304
|
},
|
|
3299
3305
|
{
|
|
3300
|
-
"description": "
|
|
3306
|
+
"description": "Content for the trailing section (right-aligned).",
|
|
3301
3307
|
"name": "trailing"
|
|
3302
3308
|
}
|
|
3303
3309
|
],
|
|
@@ -3307,7 +3313,7 @@
|
|
|
3307
3313
|
"module": "/src/models"
|
|
3308
3314
|
},
|
|
3309
3315
|
"tagName": "mdc-appheader",
|
|
3310
|
-
"jsDoc": "/**\n * The `mdc-appheader` component provides a structured and accessible app header layout
|
|
3316
|
+
"jsDoc": "/**\n * The `mdc-appheader` component provides a structured and accessible app header layout with three sections: leading, center, and trailing.\n *\n * ## Layout sections\n * - **Leading** - Typically holds brand logo, brand name, or menu icon\n * - **Center** - Can contain search bar, icons, navigation links, or action controls\n * - **Trailing** - Generally includes profile avatar, icons, settings, or additional action controls\n *\n * Each section automatically handles flex alignment: leading aligns left, center aligns center, trailing aligns right.\n *\n * @tagname mdc-appheader\n *\n * @slot leading - Content for the leading section (left-aligned).\n * @slot center - Content for the center section (center-aligned).\n * @slot trailing - Content for the trailing section (right-aligned).\n *\n * @cssproperty --mdc-appheader-height - Height of the app header. Default is 4rem (64px).\n *\n * @csspart container - The main header container.\n * @csspart leading-section - The leading section wrapper (left side).\n * @csspart center-section - The center section wrapper (middle).\n * @csspart trailing-section - The trailing section wrapper (right side).\n */",
|
|
3311
3317
|
"customElement": true
|
|
3312
3318
|
}
|
|
3313
3319
|
],
|
|
@@ -3328,7 +3334,7 @@
|
|
|
3328
3334
|
"declarations": [
|
|
3329
3335
|
{
|
|
3330
3336
|
"kind": "class",
|
|
3331
|
-
"description": "The `mdc-avatar` component
|
|
3337
|
+
"description": "The `mdc-avatar` component represents a person or a space. It displays as a photo, initials, icon, or counter.\n\n## Display Priority\n\nWhen multiple attributes are provided, the component determines what to display based on this priority:\n1. **Photo** (`src`) - Takes highest priority\n - While loading: Shows `initials` as placeholder if provided (instant), otherwise shows icon (requires loading)\n - After loading: Shows the photo\n - On error: Placeholder remains visible (initials or icon)\n2. **Icon** (`icon-name`) - Takes priority if no `src` is provided\n - Shows custom icon if `icon-name` is set (requires icon library to load)\n - **Note:** If both `icon-name` and `initials` are provided (without `src`), icon takes precedence and initials are ignored.\n This means users may see a delay while the icon loads, even though initials render instantly.\n - Defaults to `user-regular` icon if no other content is available\n3. **Initials** (`initials`) - Displayed only if no `src` or `icon-name` is provided\n - Shows first two characters, converted to uppercase\n - Renders instantly (no loading required)\n4. **Counter** (`counter`) - Displayed only if none of the above are provided\n - Shows numeric value (max 99+)\n - Negative values display as 0\n\n## Behavior\n- Non-interactive and non-focusable component (use `mdc-avatarbutton` for clickable avatars)\n- Shows loading indicator overlay when `is-typing` is true (displays on top of existing content)\n- Presence indicator hidden when counter is set or when typing",
|
|
3332
3338
|
"name": "Avatar",
|
|
3333
3339
|
"cssProperties": [
|
|
3334
3340
|
{
|
|
@@ -3481,7 +3487,7 @@
|
|
|
3481
3487
|
"module": "/src/models"
|
|
3482
3488
|
},
|
|
3483
3489
|
"tagName": "mdc-avatar",
|
|
3484
|
-
"jsDoc": "/**\n * The `mdc-avatar` component
|
|
3490
|
+
"jsDoc": "/**\n * The `mdc-avatar` component represents a person or a space. It displays as a photo, initials, icon, or counter.\n *\n * ## Display Priority\n *\n * When multiple attributes are provided, the component determines what to display based on this priority:\n * 1. **Photo** (`src`) - Takes highest priority\n * - While loading: Shows `initials` as placeholder if provided (instant), otherwise shows icon (requires loading)\n * - After loading: Shows the photo\n * - On error: Placeholder remains visible (initials or icon)\n * 2. **Icon** (`icon-name`) - Takes priority if no `src` is provided\n * - Shows custom icon if `icon-name` is set (requires icon library to load)\n * - **Note:** If both `icon-name` and `initials` are provided (without `src`), icon takes precedence and initials are ignored.\n * This means users may see a delay while the icon loads, even though initials render instantly.\n * - Defaults to `user-regular` icon if no other content is available\n * 3. **Initials** (`initials`) - Displayed only if no `src` or `icon-name` is provided\n * - Shows first two characters, converted to uppercase\n * - Renders instantly (no loading required)\n * 4. **Counter** (`counter`) - Displayed only if none of the above are provided\n * - Shows numeric value (max 99+)\n * - Negative values display as 0\n *\n * ## Behavior\n * - Non-interactive and non-focusable component (use `mdc-avatarbutton` for clickable avatars)\n * - Shows loading indicator overlay when `is-typing` is true (displays on top of existing content)\n * - Presence indicator hidden when counter is set or when typing\n *\n * @dependency mdc-icon\n * @dependency mdc-presence\n * @dependency mdc-text\n *\n * @tagname mdc-avatar\n *\n * @cssproperty --mdc-avatar-default-background-color - Allows customization of the default background color.\n * @cssproperty --mdc-avatar-default-foreground-color - Allows customization of the default foreground color.\n * @cssproperty --mdc-avatar-loading-indicator-background-color -\n * Allows customization of the loading indicator background color.\n * @cssproperty --mdc-avatar-loading-indicator-foreground-color -\n * Allows customization of the loading indicator foreground color.\n * @cssproperty --mdc-avatar-loading-overlay-background-color -\n * Allows customization of the loading overlay background color.\n *\n * @csspart photo - The photo of the avatar.\n * @csspart presence - The presence indicator of the avatar.\n * @csspart loading-wrapper - The wrapper for the loading indicator.\n * @csspart loader - The loading indicator of the avatar.\n */",
|
|
3485
3491
|
"customElement": true,
|
|
3486
3492
|
"attributes": [
|
|
3487
3493
|
{
|
|
@@ -3590,19 +3596,19 @@
|
|
|
3590
3596
|
"declarations": [
|
|
3591
3597
|
{
|
|
3592
3598
|
"kind": "class",
|
|
3593
|
-
"description": "The `mdc-avatarbutton` component is an
|
|
3599
|
+
"description": "The `mdc-avatarbutton` component is an interactive, clickable version of `mdc-avatar`.\nIt wraps the avatar component in a button, making it focusable and actionable.\n\nThis component extends `buttonsimple` and includes all avatar display features (photo, initials, icon, counter, presence).\nUse CSS parts to customize the avatar's appearance inside the button.\n\n## Accessibility\n- Always provide an `aria-label` attribute to describe the button's purpose",
|
|
3594
3600
|
"name": "AvatarButton",
|
|
3595
3601
|
"cssProperties": [
|
|
3596
3602
|
{
|
|
3597
|
-
"description": "Background color of the overlay in rest state",
|
|
3603
|
+
"description": "Background color of the overlay in rest state.",
|
|
3598
3604
|
"name": "--mdc-avatarbutton-overlay-background-color-rest"
|
|
3599
3605
|
},
|
|
3600
3606
|
{
|
|
3601
|
-
"description": "Background color of the overlay in hover state",
|
|
3607
|
+
"description": "Background color of the overlay in hover state.",
|
|
3602
3608
|
"name": "--mdc-avatarbutton-overlay-background-color-hover"
|
|
3603
3609
|
},
|
|
3604
3610
|
{
|
|
3605
|
-
"description": "Background color of the overlay in active state",
|
|
3611
|
+
"description": "Background color of the overlay in active state.",
|
|
3606
3612
|
"name": "--mdc-avatarbutton-overlay-background-color-active"
|
|
3607
3613
|
},
|
|
3608
3614
|
{
|
|
@@ -4079,7 +4085,7 @@
|
|
|
4079
4085
|
],
|
|
4080
4086
|
"events": [
|
|
4081
4087
|
{
|
|
4082
|
-
"description": "(React: onClick)
|
|
4088
|
+
"description": "(React: onClick) Dispatched when the avatar button is clicked.",
|
|
4083
4089
|
"name": "click",
|
|
4084
4090
|
"reactName": "onClick",
|
|
4085
4091
|
"inheritedFrom": {
|
|
@@ -4088,7 +4094,7 @@
|
|
|
4088
4094
|
}
|
|
4089
4095
|
},
|
|
4090
4096
|
{
|
|
4091
|
-
"description": "(React: onKeyDown)
|
|
4097
|
+
"description": "(React: onKeyDown) Dispatched when a key is pressed on the avatar button.",
|
|
4092
4098
|
"name": "keydown",
|
|
4093
4099
|
"reactName": "onKeyDown",
|
|
4094
4100
|
"inheritedFrom": {
|
|
@@ -4097,7 +4103,7 @@
|
|
|
4097
4103
|
}
|
|
4098
4104
|
},
|
|
4099
4105
|
{
|
|
4100
|
-
"description": "(React: onKeyUp)
|
|
4106
|
+
"description": "(React: onKeyUp) Dispatched when a key is released on the avatar button.",
|
|
4101
4107
|
"name": "keyup",
|
|
4102
4108
|
"reactName": "onKeyUp",
|
|
4103
4109
|
"inheritedFrom": {
|
|
@@ -4106,7 +4112,7 @@
|
|
|
4106
4112
|
}
|
|
4107
4113
|
},
|
|
4108
4114
|
{
|
|
4109
|
-
"description": "(React: onFocus)
|
|
4115
|
+
"description": "(React: onFocus) Dispatched when the avatar button receives focus.",
|
|
4110
4116
|
"name": "focus",
|
|
4111
4117
|
"reactName": "onFocus",
|
|
4112
4118
|
"inheritedFrom": {
|
|
@@ -4355,7 +4361,7 @@
|
|
|
4355
4361
|
"module": "/src/components/buttonsimple/buttonsimple.component"
|
|
4356
4362
|
},
|
|
4357
4363
|
"tagName": "mdc-avatarbutton",
|
|
4358
|
-
"jsDoc": "/**\n * The `mdc-avatarbutton` component is an
|
|
4364
|
+
"jsDoc": "/**\n * The `mdc-avatarbutton` component is an interactive, clickable version of `mdc-avatar`.\n * It wraps the avatar component in a button, making it focusable and actionable.\n *\n * This component extends `buttonsimple` and includes all avatar display features (photo, initials, icon, counter, presence).\n * Use CSS parts to customize the avatar's appearance inside the button.\n *\n * ## Accessibility\n * - Always provide an `aria-label` attribute to describe the button's purpose\n *\n * @dependency mdc-avatar\n *\n * @event click - (React: onClick) Dispatched when the avatar button is clicked.\n * @event keydown - (React: onKeyDown) Dispatched when a key is pressed on the avatar button.\n * @event keyup - (React: onKeyUp) Dispatched when a key is released on the avatar button.\n * @event focus - (React: onFocus) Dispatched when the avatar button receives focus.\n *\n * @tagname mdc-avatarbutton\n *\n * @cssproperty --mdc-avatarbutton-overlay-background-color-rest - Background color of the overlay in rest state.\n * @cssproperty --mdc-avatarbutton-overlay-background-color-hover - Background color of the overlay in hover state.\n * @cssproperty --mdc-avatarbutton-overlay-background-color-active - Background color of the overlay in active state.\n *\n * @csspart overlay - The overlay part of the avatar button.\n * @csspart content - The main content of the avatar.\n * @csspart photo - The photo part of the avatar.\n * @csspart presence - The presence indicator part of the avatar.\n * @csspart loading-wrapper - The wrapper for the loading indicator of the avatar.\n * @csspart loader - The loading indicator part of the avatar.\n */",
|
|
4359
4365
|
"customElement": true
|
|
4360
4366
|
}
|
|
4361
4367
|
],
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
import Component from '../../components/appheader';
|
|
2
2
|
/**
|
|
3
|
-
* The `mdc-appheader` component provides a structured and accessible app header layout.
|
|
4
|
-
* It consists of three primary sections: leading, center, and trailing.
|
|
3
|
+
* The `mdc-appheader` component provides a structured and accessible app header layout with three sections: leading, center, and trailing.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
5
|
+
* ## Layout sections
|
|
6
|
+
* - **Leading** - Typically holds brand logo, brand name, or menu icon
|
|
7
|
+
* - **Center** - Can contain search bar, icons, navigation links, or action controls
|
|
8
|
+
* - **Trailing** - Generally includes profile avatar, icons, settings, or additional action controls
|
|
9
|
+
*
|
|
10
|
+
* Each section automatically handles flex alignment: leading aligns left, center aligns center, trailing aligns right.
|
|
9
11
|
*
|
|
10
12
|
* @tagname mdc-appheader
|
|
11
13
|
*
|
|
12
|
-
* @slot leading -
|
|
13
|
-
* @slot center -
|
|
14
|
-
* @slot trailing -
|
|
14
|
+
* @slot leading - Content for the leading section (left-aligned).
|
|
15
|
+
* @slot center - Content for the center section (center-aligned).
|
|
16
|
+
* @slot trailing - Content for the trailing section (right-aligned).
|
|
17
|
+
*
|
|
18
|
+
* @cssproperty --mdc-appheader-height - Height of the app header. Default is 4rem (64px).
|
|
15
19
|
*
|
|
16
|
-
* @csspart container - The main container
|
|
17
|
-
* @csspart leading-section - The leading section
|
|
18
|
-
* @csspart center-section - The center section
|
|
19
|
-
* @csspart trailing-section - The trailing section
|
|
20
|
+
* @csspart container - The main header container.
|
|
21
|
+
* @csspart leading-section - The leading section wrapper (left side).
|
|
22
|
+
* @csspart center-section - The center section wrapper (middle).
|
|
23
|
+
* @csspart trailing-section - The trailing section wrapper (right side).
|
|
20
24
|
*/
|
|
21
25
|
declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {}>;
|
|
22
26
|
export default reactWrapper;
|
|
@@ -3,23 +3,27 @@ import { createComponent } from '@lit/react';
|
|
|
3
3
|
import Component from '../../components/appheader';
|
|
4
4
|
import { TAG_NAME } from '../../components/appheader/appheader.constants';
|
|
5
5
|
/**
|
|
6
|
-
* The `mdc-appheader` component provides a structured and accessible app header layout.
|
|
7
|
-
* It consists of three primary sections: leading, center, and trailing.
|
|
6
|
+
* The `mdc-appheader` component provides a structured and accessible app header layout with three sections: leading, center, and trailing.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
8
|
+
* ## Layout sections
|
|
9
|
+
* - **Leading** - Typically holds brand logo, brand name, or menu icon
|
|
10
|
+
* - **Center** - Can contain search bar, icons, navigation links, or action controls
|
|
11
|
+
* - **Trailing** - Generally includes profile avatar, icons, settings, or additional action controls
|
|
12
|
+
*
|
|
13
|
+
* Each section automatically handles flex alignment: leading aligns left, center aligns center, trailing aligns right.
|
|
12
14
|
*
|
|
13
15
|
* @tagname mdc-appheader
|
|
14
16
|
*
|
|
15
|
-
* @slot leading -
|
|
16
|
-
* @slot center -
|
|
17
|
-
* @slot trailing -
|
|
17
|
+
* @slot leading - Content for the leading section (left-aligned).
|
|
18
|
+
* @slot center - Content for the center section (center-aligned).
|
|
19
|
+
* @slot trailing - Content for the trailing section (right-aligned).
|
|
20
|
+
*
|
|
21
|
+
* @cssproperty --mdc-appheader-height - Height of the app header. Default is 4rem (64px).
|
|
18
22
|
*
|
|
19
|
-
* @csspart container - The main container
|
|
20
|
-
* @csspart leading-section - The leading section
|
|
21
|
-
* @csspart center-section - The center section
|
|
22
|
-
* @csspart trailing-section - The trailing section
|
|
23
|
+
* @csspart container - The main header container.
|
|
24
|
+
* @csspart leading-section - The leading section wrapper (left side).
|
|
25
|
+
* @csspart center-section - The center section wrapper (middle).
|
|
26
|
+
* @csspart trailing-section - The trailing section wrapper (right side).
|
|
23
27
|
*/
|
|
24
28
|
const reactWrapper = createComponent({
|
|
25
29
|
tagName: TAG_NAME,
|
|
@@ -1,23 +1,30 @@
|
|
|
1
1
|
import Component from '../../components/avatar';
|
|
2
2
|
/**
|
|
3
|
-
* The `mdc-avatar` component
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* While
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
3
|
+
* The `mdc-avatar` component represents a person or a space. It displays as a photo, initials, icon, or counter.
|
|
4
|
+
*
|
|
5
|
+
* ## Display Priority
|
|
6
|
+
*
|
|
7
|
+
* When multiple attributes are provided, the component determines what to display based on this priority:
|
|
8
|
+
* 1. **Photo** (`src`) - Takes highest priority
|
|
9
|
+
* - While loading: Shows `initials` as placeholder if provided (instant), otherwise shows icon (requires loading)
|
|
10
|
+
* - After loading: Shows the photo
|
|
11
|
+
* - On error: Placeholder remains visible (initials or icon)
|
|
12
|
+
* 2. **Icon** (`icon-name`) - Takes priority if no `src` is provided
|
|
13
|
+
* - Shows custom icon if `icon-name` is set (requires icon library to load)
|
|
14
|
+
* - **Note:** If both `icon-name` and `initials` are provided (without `src`), icon takes precedence and initials are ignored.
|
|
15
|
+
* This means users may see a delay while the icon loads, even though initials render instantly.
|
|
16
|
+
* - Defaults to `user-regular` icon if no other content is available
|
|
17
|
+
* 3. **Initials** (`initials`) - Displayed only if no `src` or `icon-name` is provided
|
|
18
|
+
* - Shows first two characters, converted to uppercase
|
|
19
|
+
* - Renders instantly (no loading required)
|
|
20
|
+
* 4. **Counter** (`counter`) - Displayed only if none of the above are provided
|
|
21
|
+
* - Shows numeric value (max 99+)
|
|
22
|
+
* - Negative values display as 0
|
|
23
|
+
*
|
|
24
|
+
* ## Behavior
|
|
25
|
+
* - Non-interactive and non-focusable component (use `mdc-avatarbutton` for clickable avatars)
|
|
26
|
+
* - Shows loading indicator overlay when `is-typing` is true (displays on top of existing content)
|
|
27
|
+
* - Presence indicator hidden when counter is set or when typing
|
|
21
28
|
*
|
|
22
29
|
* @dependency mdc-icon
|
|
23
30
|
* @dependency mdc-presence
|