@aws-amplify/ui 6.2.0 → 6.4.0

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.
@@ -84,6 +84,35 @@
84
84
  --amplify-components-autocomplete-menu-loading-gap: var(--amplify-space-xxxs);
85
85
  --amplify-components-autocomplete-menu-space-shared-padding-block: var(--amplify-space-xs);
86
86
  --amplify-components-autocomplete-menu-space-shared-padding-inline: var(--amplify-space-small);
87
+ --amplify-components-avatar-color: var(--amplify-colors-font-tertiary);
88
+ --amplify-components-avatar-line-height: 1;
89
+ --amplify-components-avatar-font-weight: var(--amplify-font-weights-semibold);
90
+ --amplify-components-avatar-font-size: var(--amplify-font-sizes-small);
91
+ --amplify-components-avatar-text-align: center;
92
+ --amplify-components-avatar-width: var(--amplify-font-sizes-xxl);
93
+ --amplify-components-avatar-height: var(--amplify-font-sizes-xxl);
94
+ --amplify-components-avatar-background-color: var(--amplify-colors-background-tertiary);
95
+ --amplify-components-avatar-border-radius: 100%;
96
+ --amplify-components-avatar-border-color: var(--amplify-colors-border-primary);
97
+ --amplify-components-avatar-border-width: var(--amplify-border-widths-medium);
98
+ --amplify-components-avatar-info-color: var(--amplify-colors-font-info);
99
+ --amplify-components-avatar-info-background-color: var(--amplify-colors-background-info);
100
+ --amplify-components-avatar-info-border-color: var(--amplify-colors-border-info);
101
+ --amplify-components-avatar-warning-color: var(--amplify-colors-font-warning);
102
+ --amplify-components-avatar-warning-background-color: var(--amplify-colors-background-warning);
103
+ --amplify-components-avatar-warning-border-color: var(--amplify-colors-border-warning);
104
+ --amplify-components-avatar-success-color: var(--amplify-colors-font-success);
105
+ --amplify-components-avatar-success-background-color: var(--amplify-colors-background-success);
106
+ --amplify-components-avatar-success-border-color: var(--amplify-colors-border-success);
107
+ --amplify-components-avatar-error-color: var(--amplify-colors-font-error);
108
+ --amplify-components-avatar-error-background-color: var(--amplify-colors-background-error);
109
+ --amplify-components-avatar-error-border-color: var(--amplify-colors-border-error);
110
+ --amplify-components-avatar-small-font-size: var(--amplify-font-sizes-xs);
111
+ --amplify-components-avatar-small-width: var(--amplify-font-sizes-xl);
112
+ --amplify-components-avatar-small-height: var(--amplify-font-sizes-xl);
113
+ --amplify-components-avatar-large-font-size: var(--amplify-font-sizes-medium);
114
+ --amplify-components-avatar-large-width: var(--amplify-font-sizes-xxxl);
115
+ --amplify-components-avatar-large-height: var(--amplify-font-sizes-xxxl);
87
116
  --amplify-components-badge-color: var(--amplify-colors-font-primary);
88
117
  --amplify-components-badge-line-height: 1;
89
118
  --amplify-components-badge-font-weight: var(--amplify-font-weights-semibold);
@@ -3422,6 +3451,118 @@ strong.amplify-text {
3422
3451
  gap: var(--amplify-space-medium);
3423
3452
  }
3424
3453
 
3454
+ .amplify-avatar {
3455
+ --avatar-color: var(--amplify-components-avatar-color);
3456
+ --avatar-background-color: var(--amplify-components-avatar-background-color);
3457
+ --avatar-filled-background-color: var(--amplify-components-avatar-color);
3458
+ --avatar-filled-color: var(--amplify-components-avatar-background-color);
3459
+ --avatar-border-color: var(--amplify-components-avatar-border-color);
3460
+ --avatar-size: var(--amplify-components-avatar-width);
3461
+ --amplify-components-icon-height: 100%;
3462
+ display: inline-flex;
3463
+ align-items: center;
3464
+ justify-content: center;
3465
+ color: var(--avatar-color);
3466
+ background-color: var(--avatar-background-color);
3467
+ font-weight: var(--amplify-components-avatar-font-weight);
3468
+ font-size: var(--amplify-components-avatar-font-size);
3469
+ width: var(--amplify-components-avatar-width);
3470
+ height: var(--amplify-components-avatar-height);
3471
+ overflow: hidden;
3472
+ border-radius: var(--amplify-components-avatar-border-radius);
3473
+ }
3474
+ .amplify-avatar--filled {
3475
+ background-color: var(--avatar-filled-background-color);
3476
+ color: var(--avatar-filled-color);
3477
+ }
3478
+ .amplify-avatar--outlined {
3479
+ border-width: var(--amplify-components-avatar-border-width);
3480
+ border-style: solid;
3481
+ padding: var(--amplify-components-avatar-border-width);
3482
+ border-color: var(--avatar-border-color);
3483
+ background-color: transparent;
3484
+ color: var(--avatar-color);
3485
+ }
3486
+ .amplify-avatar--small {
3487
+ --avatar-size: var(--amplify-components-avatar-small-width);
3488
+ width: var(--amplify-components-avatar-small-width);
3489
+ height: var(--amplify-components-avatar-small-height);
3490
+ font-size: var(--amplify-components-avatar-small-font-size);
3491
+ }
3492
+ .amplify-avatar--large {
3493
+ --avatar-size: var(--amplify-components-avatar-large-width);
3494
+ width: var(--amplify-components-avatar-large-width);
3495
+ height: var(--amplify-components-avatar-large-height);
3496
+ font-size: var(--amplify-components-avatar-large-font-size);
3497
+ }
3498
+ .amplify-avatar--warning {
3499
+ --avatar-border-color: var(
3500
+ --amplify-components-avatar-warning-border-color
3501
+ );
3502
+ --avatar-background-color: var(
3503
+ --amplify-components-avatar-warning-background-color
3504
+ );
3505
+ --avatar-color: var(--amplify-components-avatar-warning-color);
3506
+ --avatar-filled-background-color: var(
3507
+ --amplify-components-avatar-warning-color
3508
+ );
3509
+ --avatar-filled-color: var(
3510
+ --amplify-components-avatar-warning-background-color
3511
+ );
3512
+ }
3513
+ .amplify-avatar--error {
3514
+ --avatar-border-color: var(--amplify-components-avatar-error-border-color);
3515
+ --avatar-background-color: var(
3516
+ --amplify-components-avatar-error-background-color
3517
+ );
3518
+ --avatar-color: var(--amplify-components-avatar-error-color);
3519
+ --avatar-filled-background-color: var(
3520
+ --amplify-components-avatar-error-color
3521
+ );
3522
+ --avatar-filled-color: var(
3523
+ --amplify-components-avatar-error-background-color
3524
+ );
3525
+ }
3526
+ .amplify-avatar--info {
3527
+ --avatar-border-color: var(--amplify-components-avatar-info-border-color);
3528
+ --avatar-background-color: var(
3529
+ --amplify-components-avatar-info-background-color
3530
+ );
3531
+ --avatar-color: var(--amplify-components-avatar-info-color);
3532
+ --avatar-filled-background-color: var(
3533
+ --amplify-components-avatar-info-color
3534
+ );
3535
+ --avatar-filled-color: var(
3536
+ --amplify-components-avatar-info-background-color
3537
+ );
3538
+ }
3539
+ .amplify-avatar--success {
3540
+ --avatar-border-color: var(
3541
+ --amplify-components-avatar-success-border-color
3542
+ );
3543
+ --avatar-background-color: var(
3544
+ --amplify-components-avatar-success-background-color
3545
+ );
3546
+ --avatar-color: var(--amplify-components-avatar-success-color);
3547
+ --avatar-filled-background-color: var(
3548
+ --amplify-components-avatar-success-color
3549
+ );
3550
+ --avatar-filled-color: var(
3551
+ --amplify-components-avatar-success-background-color
3552
+ );
3553
+ }
3554
+ .amplify-avatar__icon {
3555
+ display: flex;
3556
+ font-size: calc(var(--avatar-size) * 0.6);
3557
+ }
3558
+ .amplify-avatar__image {
3559
+ width: 100%;
3560
+ height: 100%;
3561
+ -o-object-fit: cover;
3562
+ object-fit: cover;
3563
+ display: block;
3564
+ }
3565
+
3425
3566
  .amplify-breadcrumbs__list {
3426
3567
  display: flex;
3427
3568
  flex-wrap: var(--amplify-components-breadcrumbs-flex-wrap);
@@ -6185,6 +6326,115 @@ html[dir=rtl] .amplify-field-group__inner-start {
6185
6326
  gap: var(--amplify-space-small);
6186
6327
  }
6187
6328
 
6329
+ .amplify-ai-conversation {
6330
+ display: flex;
6331
+ flex-direction: column;
6332
+ height: 100%;
6333
+ }
6334
+ .amplify-ai-conversation__message {
6335
+ --content-bg: transparent;
6336
+ display: flex;
6337
+ flex-direction: var(--flex-direction);
6338
+ gap: var(--amplify-space-small);
6339
+ padding: var(--amplify-space-small);
6340
+ }
6341
+ .amplify-ai-conversation__message__list {
6342
+ display: flex;
6343
+ flex-direction: column;
6344
+ }
6345
+ .amplify-ai-conversation__message__avatar {
6346
+ flex-shrink: 0;
6347
+ }
6348
+ .amplify-ai-conversation__message__sender {
6349
+ display: flex;
6350
+ flex-direction: var(--flex-direction);
6351
+ align-items: center;
6352
+ height: var(--amplify-components-avatar-height);
6353
+ gap: var(--amplify-space-small);
6354
+ }
6355
+ .amplify-ai-conversation__message__sender__username {
6356
+ font-weight: bold;
6357
+ }
6358
+ .amplify-ai-conversation__message__sender__timestamp {
6359
+ color: var(--amplify-colors-font-tertiary);
6360
+ font-size: var(--amplify-font-sizes-small);
6361
+ }
6362
+ .amplify-ai-conversation__message__body {
6363
+ display: flex;
6364
+ flex-direction: column;
6365
+ align-items: var(--body-align-items);
6366
+ gap: var(--amplify-space-xs);
6367
+ }
6368
+ .amplify-ai-conversation__message__content {
6369
+ background-color: var(--content-bg);
6370
+ border-radius: var(--amplify-radii-medium);
6371
+ padding: var(--content-padding);
6372
+ }
6373
+ .amplify-ai-conversation__message__actions {
6374
+ display: flex;
6375
+ flex-direction: row;
6376
+ }
6377
+ .amplify-ai-conversation__message--bubble {
6378
+ --content-bg: var(--bg-color);
6379
+ --content-padding: var(--amplify-space-xxs) var(--amplify-space-xs);
6380
+ --flex-direction: row-reverse;
6381
+ --body-align-items: flex-end;
6382
+ }
6383
+ .amplify-ai-conversation__message--user {
6384
+ --bg-color: var(--amplify-colors-background-secondary);
6385
+ }
6386
+ .amplify-ai-conversation__message--assistant {
6387
+ --bg-color: var(--amplify-colors-primary-10);
6388
+ --flex-direction: row;
6389
+ --body-align-items: flex-start;
6390
+ }
6391
+ .amplify-ai-conversation__form {
6392
+ display: flex;
6393
+ flex-direction: row;
6394
+ align-items: flex-start;
6395
+ gap: var(--amplify-space-small);
6396
+ }
6397
+ .amplify-ai-conversation__form__dropzone {
6398
+ text-align: initial;
6399
+ border: none;
6400
+ padding: var(--amplify-space-xs);
6401
+ }
6402
+ .amplify-ai-conversation__attachment {
6403
+ display: flex;
6404
+ flex-direction: row;
6405
+ padding-block: var(--amplify-space-xxxs);
6406
+ padding-inline: var(--amplify-space-xs);
6407
+ border-width: var(--amplify-border-widths-small);
6408
+ border-style: solid;
6409
+ border-color: var(--amplify-colors-border-secondary);
6410
+ border-radius: var(--amplify-radii-small);
6411
+ align-items: center;
6412
+ gap: var(--amplify-space-xs);
6413
+ font-size: var(--amplify-font-sizes-small);
6414
+ }
6415
+ .amplify-ai-conversation__attachment__list {
6416
+ display: flex;
6417
+ flex-direction: row;
6418
+ flex-wrap: wrap;
6419
+ gap: var(--amplify-space-small);
6420
+ padding-block-start: var(--amplify-space-small);
6421
+ }
6422
+ .amplify-ai-conversation__attachment__image {
6423
+ width: 1rem;
6424
+ height: 1rem;
6425
+ -o-object-fit: cover;
6426
+ object-fit: cover;
6427
+ }
6428
+ .amplify-ai-conversation__attachment__size {
6429
+ color: var(--amplify-colors-font-tertiary);
6430
+ }
6431
+ .amplify-ai-conversation__attachment__remove {
6432
+ padding: var(--amplify-space-xxs);
6433
+ }
6434
+ .amplify-ai-conversation__prompt {
6435
+ font-weight: normal;
6436
+ }
6437
+
6188
6438
  .amplify-label-start {
6189
6439
  flex-direction: row;
6190
6440
  }
package/dist/theme.css CHANGED
@@ -80,6 +80,35 @@
80
80
  --amplify-components-autocomplete-menu-loading-gap: var(--amplify-space-xxxs);
81
81
  --amplify-components-autocomplete-menu-space-shared-padding-block: var(--amplify-space-xs);
82
82
  --amplify-components-autocomplete-menu-space-shared-padding-inline: var(--amplify-space-small);
83
+ --amplify-components-avatar-color: var(--amplify-colors-font-tertiary);
84
+ --amplify-components-avatar-line-height: 1;
85
+ --amplify-components-avatar-font-weight: var(--amplify-font-weights-semibold);
86
+ --amplify-components-avatar-font-size: var(--amplify-font-sizes-small);
87
+ --amplify-components-avatar-text-align: center;
88
+ --amplify-components-avatar-width: var(--amplify-font-sizes-xxl);
89
+ --amplify-components-avatar-height: var(--amplify-font-sizes-xxl);
90
+ --amplify-components-avatar-background-color: var(--amplify-colors-background-tertiary);
91
+ --amplify-components-avatar-border-radius: 100%;
92
+ --amplify-components-avatar-border-color: var(--amplify-colors-border-primary);
93
+ --amplify-components-avatar-border-width: var(--amplify-border-widths-medium);
94
+ --amplify-components-avatar-info-color: var(--amplify-colors-font-info);
95
+ --amplify-components-avatar-info-background-color: var(--amplify-colors-background-info);
96
+ --amplify-components-avatar-info-border-color: var(--amplify-colors-border-info);
97
+ --amplify-components-avatar-warning-color: var(--amplify-colors-font-warning);
98
+ --amplify-components-avatar-warning-background-color: var(--amplify-colors-background-warning);
99
+ --amplify-components-avatar-warning-border-color: var(--amplify-colors-border-warning);
100
+ --amplify-components-avatar-success-color: var(--amplify-colors-font-success);
101
+ --amplify-components-avatar-success-background-color: var(--amplify-colors-background-success);
102
+ --amplify-components-avatar-success-border-color: var(--amplify-colors-border-success);
103
+ --amplify-components-avatar-error-color: var(--amplify-colors-font-error);
104
+ --amplify-components-avatar-error-background-color: var(--amplify-colors-background-error);
105
+ --amplify-components-avatar-error-border-color: var(--amplify-colors-border-error);
106
+ --amplify-components-avatar-small-font-size: var(--amplify-font-sizes-xs);
107
+ --amplify-components-avatar-small-width: var(--amplify-font-sizes-xl);
108
+ --amplify-components-avatar-small-height: var(--amplify-font-sizes-xl);
109
+ --amplify-components-avatar-large-font-size: var(--amplify-font-sizes-medium);
110
+ --amplify-components-avatar-large-width: var(--amplify-font-sizes-xxxl);
111
+ --amplify-components-avatar-large-height: var(--amplify-font-sizes-xxxl);
83
112
  --amplify-components-badge-color: var(--amplify-colors-font-primary);
84
113
  --amplify-components-badge-line-height: 1;
85
114
  --amplify-components-badge-font-weight: var(--amplify-font-weights-semibold);
@@ -0,0 +1,5 @@
1
+ import { Modifiers, ComponentStyles, Elements, ColorTheme, Size } from './utils';
2
+ export type AvatarTheme<Required extends boolean = false> = ComponentStyles & Modifiers<Size | ColorTheme | 'filled' | 'outlined', Required> & Elements<{
3
+ icon?: ComponentStyles;
4
+ image?: ComponentStyles;
5
+ }, Required>;
@@ -0,0 +1,20 @@
1
+ import { Modifiers, ComponentStyles, Elements, ColorTheme } from './utils';
2
+ export type FileUploaderTheme<Required extends boolean = false> = ComponentStyles & Modifiers<ColorTheme, Required> & Elements<{
3
+ dropzone?: ComponentStyles & Modifiers<'active' | 'small', Required>;
4
+ dropzone__icon?: ComponentStyles;
5
+ dropzone__text?: ComponentStyles;
6
+ file?: ComponentStyles;
7
+ file__picker?: ComponentStyles;
8
+ file__wrapper?: ComponentStyles;
9
+ file__name?: ComponentStyles;
10
+ file__size?: ComponentStyles;
11
+ file__list?: ComponentStyles;
12
+ file__main?: ComponentStyles;
13
+ file__image?: ComponentStyles;
14
+ file__status?: ComponentStyles & Modifiers<'error' | 'success', Required>;
15
+ loader?: ComponentStyles;
16
+ previewer?: ComponentStyles;
17
+ previewer__text?: ComponentStyles;
18
+ previewer__footer?: ComponentStyles;
19
+ previewer__actions?: ComponentStyles;
20
+ }, Required>;
@@ -2,6 +2,7 @@ import { WebTokens } from '../tokens';
2
2
  import { AccordionTheme } from './accordion';
3
3
  import { AlertTheme } from './alert';
4
4
  import { AutoCompleteTheme } from './autocomplete';
5
+ import { AvatarTheme } from './avatar';
5
6
  import { BadgeTheme } from './badge';
6
7
  import { BreadcrumbsTheme } from './breadcrumbs';
7
8
  import { ButtonTheme } from './button';
@@ -43,11 +44,12 @@ import { ToggleButtonTheme, ToggleButtonGroupTheme } from './toggleButton';
43
44
  import { ComponentTheme, BaseComponentTheme, BaseTheme } from './utils';
44
45
  export { ClassNameFunction } from '../createTheme/createComponentClasses';
45
46
  export type { ComponentTheme, BaseComponentTheme, BaseTheme };
46
- export type ComponentsTheme<TokensType extends WebTokens = WebTokens> = BaseComponentTheme<BaseTheme, string, TokensType> | BaseComponentTheme<AccordionTheme, 'accordion', TokensType> | BaseComponentTheme<AlertTheme, 'alert', TokensType> | BaseComponentTheme<AutoCompleteTheme, 'autocomplete', TokensType> | BaseComponentTheme<BadgeTheme, 'badge', TokensType> | BaseComponentTheme<BreadcrumbsTheme, 'breadcrumbs', TokensType> | BaseComponentTheme<ButtonTheme, 'button', TokensType> | BaseComponentTheme<ButtonGroupTheme, 'buttongroup', TokensType> | BaseComponentTheme<CardTheme, 'card', TokensType> | BaseComponentTheme<CheckboxTheme, 'checkbox', TokensType> | BaseComponentTheme<CheckboxFieldTheme, 'checkboxfield', TokensType> | BaseComponentTheme<CollectionTheme, 'collection', TokensType> | BaseComponentTheme<DividerTheme, 'divider', TokensType> | BaseComponentTheme<DropZoneTheme, 'dropzone', TokensType> | BaseComponentTheme<FieldTheme, 'field', TokensType> | BaseComponentTheme<FieldGroupTheme, 'field-group', TokensType> | BaseComponentTheme<FieldsetTheme, 'fieldset', TokensType> | BaseComponentTheme<HeadingTheme, 'heading', TokensType> | BaseComponentTheme<HighlightMatchTheme, 'highlightmatch', TokensType> | BaseComponentTheme<InputTheme, 'input', TokensType> | BaseComponentTheme<LoaderTheme, 'loader', TokensType> | BaseComponentTheme<MenuTheme, 'menu', TokensType> | BaseComponentTheme<MessageTheme, 'message', TokensType> | BaseComponentTheme<PaginationTheme, 'pagination', TokensType> | BaseComponentTheme<PlaceholderTheme, 'placeholder', TokensType> | BaseComponentTheme<RatingTheme, 'rating', TokensType> | BaseComponentTheme<RadioTheme, 'radio', TokensType> | BaseComponentTheme<ScrollViewTheme, 'scrollview', TokensType> | BaseComponentTheme<SearchFieldTheme, 'searchfield', TokensType> | BaseComponentTheme<SelectTheme, 'select', TokensType> | BaseComponentTheme<SelectFieldTheme, 'selectfield', TokensType> | BaseComponentTheme<SliderFieldTheme, 'sliderfield', TokensType> | BaseComponentTheme<StepperFieldTheme, 'stepperfield', TokensType> | BaseComponentTheme<StorageManagerTheme, 'storagemanager', TokensType> | BaseComponentTheme<SwitchTheme, 'switch', TokensType> | BaseComponentTheme<SwitchFieldTheme, 'switchfield', TokensType> | BaseComponentTheme<TabsTheme, 'tabs', TokensType> | BaseComponentTheme<TableTheme, 'table', TokensType> | BaseComponentTheme<TextTheme, 'text', TokensType> | BaseComponentTheme<TextareaTheme, 'textarea', TokensType> | BaseComponentTheme<TextareaFieldTheme, 'textareafield', TokensType> | BaseComponentTheme<TextFieldTheme, 'textfield', TokensType> | BaseComponentTheme<ToggleButtonTheme, 'togglebutton', TokensType> | BaseComponentTheme<ToggleButtonGroupTheme, 'togglebuttongroup', TokensType>;
47
+ export type ComponentsTheme<TokensType extends WebTokens = WebTokens> = BaseComponentTheme<BaseTheme, string, TokensType> | BaseComponentTheme<AccordionTheme, 'accordion', TokensType> | BaseComponentTheme<AlertTheme, 'alert', TokensType> | BaseComponentTheme<AutoCompleteTheme, 'autocomplete', TokensType> | BaseComponentTheme<AvatarTheme, 'avatar', TokensType> | BaseComponentTheme<BadgeTheme, 'badge', TokensType> | BaseComponentTheme<BreadcrumbsTheme, 'breadcrumbs', TokensType> | BaseComponentTheme<ButtonTheme, 'button', TokensType> | BaseComponentTheme<ButtonGroupTheme, 'buttongroup', TokensType> | BaseComponentTheme<CardTheme, 'card', TokensType> | BaseComponentTheme<CheckboxTheme, 'checkbox', TokensType> | BaseComponentTheme<CheckboxFieldTheme, 'checkboxfield', TokensType> | BaseComponentTheme<CollectionTheme, 'collection', TokensType> | BaseComponentTheme<DividerTheme, 'divider', TokensType> | BaseComponentTheme<DropZoneTheme, 'dropzone', TokensType> | BaseComponentTheme<FieldTheme, 'field', TokensType> | BaseComponentTheme<FieldGroupTheme, 'field-group', TokensType> | BaseComponentTheme<FieldsetTheme, 'fieldset', TokensType> | BaseComponentTheme<HeadingTheme, 'heading', TokensType> | BaseComponentTheme<HighlightMatchTheme, 'highlightmatch', TokensType> | BaseComponentTheme<InputTheme, 'input', TokensType> | BaseComponentTheme<LoaderTheme, 'loader', TokensType> | BaseComponentTheme<MenuTheme, 'menu', TokensType> | BaseComponentTheme<MessageTheme, 'message', TokensType> | BaseComponentTheme<PaginationTheme, 'pagination', TokensType> | BaseComponentTheme<PlaceholderTheme, 'placeholder', TokensType> | BaseComponentTheme<RatingTheme, 'rating', TokensType> | BaseComponentTheme<RadioTheme, 'radio', TokensType> | BaseComponentTheme<ScrollViewTheme, 'scrollview', TokensType> | BaseComponentTheme<SearchFieldTheme, 'searchfield', TokensType> | BaseComponentTheme<SelectTheme, 'select', TokensType> | BaseComponentTheme<SelectFieldTheme, 'selectfield', TokensType> | BaseComponentTheme<SliderFieldTheme, 'sliderfield', TokensType> | BaseComponentTheme<StepperFieldTheme, 'stepperfield', TokensType> | BaseComponentTheme<StorageManagerTheme, 'storagemanager', TokensType> | BaseComponentTheme<SwitchTheme, 'switch', TokensType> | BaseComponentTheme<SwitchFieldTheme, 'switchfield', TokensType> | BaseComponentTheme<TabsTheme, 'tabs', TokensType> | BaseComponentTheme<TableTheme, 'table', TokensType> | BaseComponentTheme<TextTheme, 'text', TokensType> | BaseComponentTheme<TextareaTheme, 'textarea', TokensType> | BaseComponentTheme<TextareaFieldTheme, 'textareafield', TokensType> | BaseComponentTheme<TextFieldTheme, 'textfield', TokensType> | BaseComponentTheme<ToggleButtonTheme, 'togglebutton', TokensType> | BaseComponentTheme<ToggleButtonGroupTheme, 'togglebuttongroup', TokensType>;
47
48
  export type AllComponentThemes = {
48
49
  accordion: AccordionTheme;
49
50
  alert: AlertTheme;
50
51
  autocomplete: AutoCompleteTheme;
52
+ avatar: AvatarTheme;
51
53
  badge: BadgeTheme;
52
54
  breadcrumbs: BreadcrumbsTheme;
53
55
  button: ButtonTheme;
@@ -0,0 +1,14 @@
1
+ import { DesignTokenProperties, OutputVariantKey } from '../types/designToken';
2
+ type AvatarVariationTokens<OutputType> = DesignTokenProperties<'backgroundColor' | 'color' | 'borderColor', OutputType>;
3
+ type AvatarSizeTokens<OutputType> = DesignTokenProperties<'fontSize' | 'width' | 'height', OutputType>;
4
+ type AvatarKey = 'backgroundColor' | 'borderRadius' | 'borderWidth' | 'borderColor' | 'color' | 'fontSize' | 'fontWeight' | 'lineHeight' | 'height' | 'textAlign' | 'width';
5
+ export type AvatarTokens<OutputType extends OutputVariantKey> = DesignTokenProperties<AvatarKey, OutputType> & {
6
+ large?: AvatarSizeTokens<OutputType>;
7
+ small?: AvatarSizeTokens<OutputType>;
8
+ error?: AvatarVariationTokens<OutputType>;
9
+ info?: AvatarVariationTokens<OutputType>;
10
+ success?: AvatarVariationTokens<OutputType>;
11
+ warning?: AvatarVariationTokens<OutputType>;
12
+ };
13
+ export declare const avatar: Required<AvatarTokens<'default'>>;
14
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { AlertTokens } from './alert';
2
2
  import { AutocompleteTokens } from './autocomplete';
3
3
  import { AuthenticatorTokens } from './authenticator';
4
+ import { AvatarTokens } from './avatar';
4
5
  import { BadgeTokens } from './badge';
5
6
  import { BreadcrumbsTokens } from './breadcrumbs';
6
7
  import { ButtonTokens } from './button';
@@ -57,6 +58,7 @@ type BaseComponentTokens<Output extends OutputVariantKey> = {
57
58
  alert?: AlertTokens<Output>;
58
59
  authenticator?: AuthenticatorTokens<Output>;
59
60
  autocomplete?: AutocompleteTokens<Output>;
61
+ avatar?: AvatarTokens<Output>;
60
62
  badge?: BadgeTokens<Output>;
61
63
  breadcrumbs?: BreadcrumbsTokens<Output>;
62
64
  button?: ButtonTokens<Output>;
@@ -17,6 +17,31 @@ export declare const ComponentClassName: {
17
17
  readonly AutocompleteMenuLoading: "amplify-autocomplete__menu--loading";
18
18
  readonly AutocompleteMenuOption: "amplify-autocomplete__menu__option";
19
19
  readonly AutocompleteMenuOptions: "amplify-autocomplete__menu__options";
20
+ readonly Avatar: "amplify-avatar";
21
+ readonly AvatarIcon: "amplify-avatar__icon";
22
+ readonly AvatarImage: "amplify-avatar__image";
23
+ readonly AIConversation: "amplify-ai-conversation";
24
+ readonly AIConversationAttachment: "amplify-ai-conversation__attachment";
25
+ readonly AIConversationAttachmentList: "amplify-ai-conversation__attachment__list";
26
+ readonly AIConversationAttachmentImage: "amplify-ai-conversation__attachment__image";
27
+ readonly AIConversationAttachmentName: "amplify-ai-conversation__attachment__name";
28
+ readonly AIConversationAttachmentSize: "amplify-ai-conversation__attachment__size";
29
+ readonly AIConversationAttachmentRemove: "amplify-ai-conversation__attachment__remove";
30
+ readonly AIConversationForm: "amplify-ai-conversation__form";
31
+ readonly AIConversationFormAttach: "amplify-ai-conversation__form__attach";
32
+ readonly AIConversationFormSend: "amplify-ai-conversation__form__send";
33
+ readonly AIConversationFormField: "amplify-ai-conversation__form__field";
34
+ readonly AIConversationFormDropzone: "amplify-ai-conversation__form__dropzone";
35
+ readonly AIConversationMessage: "amplify-ai-conversation__message";
36
+ readonly AIConversationMessageAvatar: "amplify-ai-conversation__message__avatar";
37
+ readonly AIConversationMessageSender: "amplify-ai-conversation__message__sender";
38
+ readonly AIConversationMessageSenderUsername: "amplify-ai-conversation__message__sender__username";
39
+ readonly AIConversationMessageSenderTimestamp: "amplify-ai-conversation__message__sender__timestamp";
40
+ readonly AIConversationMessageBody: "amplify-ai-conversation__message__body";
41
+ readonly AIConversationMessageContent: "amplify-ai-conversation__message__content";
42
+ readonly AIConversationMessageActions: "amplify-ai-conversation__message__actions";
43
+ readonly AIConversationMessageList: "amplify-ai-conversation__message__list";
44
+ readonly AIConversationPrompt: "amplify-ai-conversation__prompt";
20
45
  readonly Badge: "amplify-badge";
21
46
  readonly Breadcrumbs: "amplify-breadcrumbs";
22
47
  readonly BreadcrumbsList: "amplify-breadcrumbs__list";
@@ -59,6 +84,25 @@ export declare const ComponentClassName: {
59
84
  readonly FieldGroupFieldWrapper: "amplify-field-group__field-wrapper";
60
85
  readonly Fieldset: "amplify-fieldset";
61
86
  readonly FieldsetLegend: "amplify-fieldset__legend";
87
+ readonly FileUploader: "amplify-fileuploader";
88
+ readonly FileUploaderDropZone: "amplify-fileuploader__dropzone";
89
+ readonly FileUploaderDropZoneIcon: "amplify-fileuploader__dropzone__icon";
90
+ readonly FileUploaderDropZoneText: "amplify-fileuploader__dropzone__text";
91
+ readonly FileUploaderFilePicker: "amplify-fileuploader__file__picker";
92
+ readonly FileUploaderFile: "amplify-fileuploader__file";
93
+ readonly FileUploaderFileWrapper: "amplify-fileuploader__file__wrapper";
94
+ readonly FileUploaderFileList: "amplify-fileuploader__file__list";
95
+ readonly FileUploaderFileName: "amplify-fileuploader__file__name";
96
+ readonly FileUploaderFileSize: "amplify-fileuploader__file__size";
97
+ readonly FileUploaderFileInfo: "amplify-fileuploader__file__info";
98
+ readonly FileUploaderFileImage: "amplify-fileuploader__file__image";
99
+ readonly FileUploaderFileMain: "amplify-fileuploader__file__main";
100
+ readonly FileUploaderFileStatus: "amplify-fileuploader__file__status";
101
+ readonly FileUploaderLoader: "amplify-fileuploader__loader";
102
+ readonly FileUploaderPreviewer: "amplify-fileuploader__previewer";
103
+ readonly FileUploaderPreviewerText: "amplify-fileuploader__previewer__text";
104
+ readonly FileUploaderPreviewerActions: "amplify-fileuploader__previewer__actions";
105
+ readonly FileUploaderPreviewerFooter: "amplify-fileuploader__previewer__footer";
62
106
  readonly Flex: "amplify-flex";
63
107
  readonly Grid: "amplify-grid";
64
108
  readonly Heading: "amplify-heading";
@@ -1,6 +1,7 @@
1
1
  import { AuthUserAgentInput, GeoUserAgentInput, InAppMessagingUserAgentInput, StorageUserAgentInput } from '@aws-amplify/core/internals/utils';
2
2
  export declare const ACCOUNT_SETTINGS_INPUT_BASE: Omit<AuthUserAgentInput, 'additionalDetails'>;
3
3
  export declare const AUTHENTICATOR_INPUT_BASE: Omit<AuthUserAgentInput, 'additionalDetails'>;
4
+ export declare const FILE_UPLOADER_BASE_INPUT: Omit<StorageUserAgentInput, 'additionalDetails'>;
4
5
  export declare const IN_APP_MESSAGING_INPUT_BASE: Omit<InAppMessagingUserAgentInput, 'additionalDetails'>;
5
6
  export declare const LOCATION_SEARCH_INPUT_BASE: Omit<GeoUserAgentInput, 'additionalDetails'>;
6
7
  export declare const MAP_VIEW_INPUT_BASE: Omit<GeoUserAgentInput, 'additionalDetails'>;
@@ -1,5 +1,5 @@
1
1
  export type PackageName = 'angular' | 'react' | 'react-auth' | 'react-geo' | 'react-liveness' | 'react-native' | 'react-native-auth' | 'react-notifications' | 'react-storage' | 'vue';
2
- export type ComponentName = 'Authenticator' | 'ChangePassword' | 'DeleteUser' | 'FaceLivenessDetector' | 'InAppMessaging' | 'LocationSearch' | 'MapView' | 'StorageManager' | 'StorageImage';
2
+ export type ComponentName = 'Authenticator' | 'ChangePassword' | 'DeleteUser' | 'FaceLivenessDetector' | 'FileUploader' | 'InAppMessaging' | 'LocationSearch' | 'MapView' | 'StorageManager' | 'StorageImage';
3
3
  export type Version = `${string}.${string}.${string}`;
4
4
  export interface SetUserAgentOptions {
5
5
  componentName: ComponentName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui",
3
- "version": "6.2.0",
3
+ "version": "6.4.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {