@workday/canvas-kit-react 15.0.0-alpha.0075-next.0 → 15.0.0-alpha.0077-next.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.
Files changed (57) hide show
  1. package/avatar/index.ts +4 -0
  2. package/avatar/lib/Avatar.tsx +85 -243
  3. package/avatar/lib/AvatarImage.tsx +20 -0
  4. package/avatar/lib/AvatarName.tsx +32 -0
  5. package/avatar/lib/BaseAvatar.tsx +127 -0
  6. package/avatar/lib/getInitialsFromName.ts +11 -0
  7. package/dist/commonjs/avatar/index.d.ts +4 -0
  8. package/dist/commonjs/avatar/index.d.ts.map +1 -1
  9. package/dist/commonjs/avatar/index.js +4 -0
  10. package/dist/commonjs/avatar/lib/Avatar.d.ts +183 -185
  11. package/dist/commonjs/avatar/lib/Avatar.d.ts.map +1 -1
  12. package/dist/commonjs/avatar/lib/Avatar.js +29 -113
  13. package/dist/commonjs/avatar/lib/AvatarImage.d.ts +6 -0
  14. package/dist/commonjs/avatar/lib/AvatarImage.d.ts.map +1 -0
  15. package/dist/commonjs/avatar/lib/AvatarImage.js +15 -0
  16. package/dist/commonjs/avatar/lib/AvatarName.d.ts +14 -0
  17. package/dist/commonjs/avatar/lib/AvatarName.d.ts.map +1 -0
  18. package/dist/commonjs/avatar/lib/AvatarName.js +16 -0
  19. package/dist/commonjs/avatar/lib/BaseAvatar.d.ts +148 -0
  20. package/dist/commonjs/avatar/lib/BaseAvatar.d.ts.map +1 -0
  21. package/dist/commonjs/avatar/lib/BaseAvatar.js +47 -0
  22. package/dist/commonjs/avatar/lib/getInitialsFromName.d.ts +2 -0
  23. package/dist/commonjs/avatar/lib/getInitialsFromName.d.ts.map +1 -0
  24. package/dist/commonjs/avatar/lib/getInitialsFromName.js +13 -0
  25. package/dist/commonjs/expandable/lib/ExpandableAvatar.d.ts +1 -1
  26. package/dist/commonjs/expandable/lib/ExpandableAvatar.d.ts.map +1 -1
  27. package/dist/commonjs/expandable/lib/ExpandableAvatar.js +3 -3
  28. package/dist/commonjs/pill/lib/PillAvatar.d.ts +1 -1
  29. package/dist/commonjs/pill/lib/PillAvatar.d.ts.map +1 -1
  30. package/dist/commonjs/pill/lib/PillAvatar.js +3 -3
  31. package/dist/es6/avatar/index.d.ts +4 -0
  32. package/dist/es6/avatar/index.d.ts.map +1 -1
  33. package/dist/es6/avatar/index.js +4 -0
  34. package/dist/es6/avatar/lib/Avatar.d.ts +183 -185
  35. package/dist/es6/avatar/lib/Avatar.d.ts.map +1 -1
  36. package/dist/es6/avatar/lib/Avatar.js +29 -93
  37. package/dist/es6/avatar/lib/AvatarImage.d.ts +6 -0
  38. package/dist/es6/avatar/lib/AvatarImage.d.ts.map +1 -0
  39. package/dist/es6/avatar/lib/AvatarImage.js +12 -0
  40. package/dist/es6/avatar/lib/AvatarName.d.ts +14 -0
  41. package/dist/es6/avatar/lib/AvatarName.d.ts.map +1 -0
  42. package/dist/es6/avatar/lib/AvatarName.js +13 -0
  43. package/dist/es6/avatar/lib/BaseAvatar.d.ts +148 -0
  44. package/dist/es6/avatar/lib/BaseAvatar.d.ts.map +1 -0
  45. package/dist/es6/avatar/lib/BaseAvatar.js +44 -0
  46. package/dist/es6/avatar/lib/getInitialsFromName.d.ts +2 -0
  47. package/dist/es6/avatar/lib/getInitialsFromName.d.ts.map +1 -0
  48. package/dist/es6/avatar/lib/getInitialsFromName.js +9 -0
  49. package/dist/es6/expandable/lib/ExpandableAvatar.d.ts +1 -1
  50. package/dist/es6/expandable/lib/ExpandableAvatar.d.ts.map +1 -1
  51. package/dist/es6/expandable/lib/ExpandableAvatar.js +3 -3
  52. package/dist/es6/pill/lib/PillAvatar.d.ts +1 -1
  53. package/dist/es6/pill/lib/PillAvatar.d.ts.map +1 -1
  54. package/dist/es6/pill/lib/PillAvatar.js +3 -3
  55. package/expandable/lib/ExpandableAvatar.tsx +1 -1
  56. package/package.json +5 -5
  57. package/pill/lib/PillAvatar.tsx +1 -1
@@ -1,37 +1,7 @@
1
1
  import { Property } from 'csstype';
2
- import { CSProps } from '@workday/canvas-kit-styling';
3
- import { SystemIconCircleSize } from '@workday/canvas-kit-react/icon';
4
- /**
5
- * @deprecated ⚠️ `AvatarVariant` is deprecated and will be removed in a future major version. Update your types and values to use the string literal of either `light` or `dark`.
6
- */
7
- export declare enum AvatarVariant {
8
- Light = 0,
9
- Dark = 1
10
- }
11
- /**
12
- * @deprecated ⚠️ `AvatarProps` is deprecated and will be removed in a future major version. Please use the `Avatar` component from the Preview package instead (@workday/canvas-kit-preview-react/avatar).
13
- */
14
- export interface AvatarProps extends CSProps {
15
- /**
16
- * The variant of the avatar. Use `light` on dark backgrounds and `dark` on light backgrounds.
17
- * @default "light"
18
- */
19
- variant?: 'light' | 'dark' | AvatarVariant;
20
- /**
21
- * The size of the Avatar.
22
- * - `extraExtraLarge`: 7.5rem x 7.5rem (120px x 120px)
23
- * - `extraLarge`: 4.5rem x 4.5rem (64px x 64px)
24
- * - `large`: 2.5rem x 2.5rem (40px x 40px)
25
- * - `medium`: 2rem x 2rem (32px x 32px)
26
- * - `small`: 1.5rem x 1.5rem (24px x 24px)
27
- * - `small`: 1rem x 1rem (16px x 16px)
28
- * @default "medium"
29
- */
30
- size?: 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge' | 'extraExtraLarge' | (string & {}) | SystemIconCircleSize | number;
31
- /**
32
- * The alt text of the Avatar image. This prop is also used for the aria-label.
33
- */
34
- altText?: string;
2
+ import { BaseAvatarProps } from './BaseAvatar';
3
+ import { AvatarNameProps } from './AvatarName';
4
+ export interface AvatarProps extends BaseAvatarProps, AvatarNameProps {
35
5
  /**
36
6
  * The URL of the user's photo. For best fit, use square images.
37
7
  */
@@ -41,243 +11,271 @@ export interface AvatarProps extends CSProps {
41
11
  * @default "contain"
42
12
  */
43
13
  objectFit?: Property.ObjectFit;
14
+ /**
15
+ * If true, the Avatar won't forward the `name` prop to the `alt` attribute of the image. This is useful when the Avatar is purely decorative and is rendered next to a name or text.
16
+ */
17
+ isDecorative?: boolean;
44
18
  }
45
- /**
46
- * @deprecated `avatarStencil` is deprecated and will be removed in a future major version. Please use `Avatar` from the Preview package instead (@workday/canvas-kit-preview-react/avatar).
47
- */
48
19
  export declare const avatarStencil: import("@workday/canvas-kit-styling").Stencil<{
49
- variant: {
50
- light: ({ iconPart }: {
51
- size: `--${string}`;
52
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
53
- readonly icon: "avatar-icon";
54
- readonly image: "avatar-image";
55
- }>) => {
56
- backgroundColor: "--cnvs-sys-color-bg-alt-default";
57
- "[data-part=\"avatar-icon\"]": {
58
- [x: string]: "--cnvs-sys-color-fg-default";
59
- };
60
- };
61
- dark: ({ iconPart }: {
62
- size: `--${string}`;
63
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
64
- readonly icon: "avatar-icon";
65
- readonly image: "avatar-image";
66
- }>) => {
67
- backgroundColor: "--cnvs-sys-color-bg-primary-default";
68
- "[data-part=\"avatar-icon\"]": {
69
- [x: string]: "--cnvs-sys-color-fg-inverse";
70
- };
71
- };
72
- };
73
- size: {
74
- extraSmall: ({ iconPart }: {
75
- size: `--${string}`;
76
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
77
- readonly icon: "avatar-icon";
78
- readonly image: "avatar-image";
79
- }>) => {
80
- width: "--cnvs-sys-space-x4";
81
- height: "--cnvs-sys-space-x4";
82
- "[data-part=\"avatar-icon\"]": {
83
- [x: string]: string;
84
- };
85
- };
86
- small: ({ iconPart }: {
87
- size: `--${string}`;
88
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
89
- readonly icon: "avatar-icon";
90
- readonly image: "avatar-image";
91
- }>) => {
92
- width: "--cnvs-sys-space-x6";
93
- height: "--cnvs-sys-space-x6";
94
- "[data-part=\"avatar-icon\"]": {
95
- [x: string]: string;
96
- };
97
- };
98
- medium: ({ iconPart }: {
99
- size: `--${string}`;
100
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
101
- readonly icon: "avatar-icon";
102
- readonly image: "avatar-image";
103
- }>) => {
104
- width: "--cnvs-sys-space-x8";
105
- height: "--cnvs-sys-space-x8";
106
- "[data-part=\"avatar-icon\"]": {
107
- [x: string]: string;
108
- };
109
- };
110
- large: ({ iconPart }: {
111
- size: `--${string}`;
112
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
113
- readonly icon: "avatar-icon";
114
- readonly image: "avatar-image";
115
- }>) => {
116
- width: "--cnvs-sys-space-x10";
117
- height: "--cnvs-sys-space-x10";
118
- "[data-part=\"avatar-icon\"]": {
119
- [x: string]: string;
120
- };
121
- };
122
- extraLarge: ({ iconPart }: {
20
+ imageLoaded: {
21
+ false: ({ avatarImagePart }: {
22
+ backgroundColor: `--${string}`;
23
+ color: `--${string}`;
123
24
  size: `--${string}`;
124
25
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
125
- readonly icon: "avatar-icon";
126
- readonly image: "avatar-image";
26
+ readonly avatarImage: "avatar-image";
27
+ readonly avatarName: "avatar-name";
127
28
  }>) => {
128
- width: "--cnvs-sys-space-x16";
129
- height: "--cnvs-sys-space-x16";
130
- "[data-part=\"avatar-icon\"]": {
131
- [x: string]: string;
29
+ "[data-part=\"avatar-image\"]": {
30
+ display: string;
132
31
  };
133
32
  };
134
- extraExtraLarge: ({ iconPart }: {
135
- size: `--${string}`;
136
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
137
- readonly icon: "avatar-icon";
138
- readonly image: "avatar-image";
139
- }>) => {
140
- width: string;
141
- height: string;
142
- "[data-part=\"avatar-icon\"]": {
143
- [x: string]: string;
144
- };
33
+ true: {
34
+ backgroundColor: "--cnvs-sys-color-bg-default";
145
35
  };
146
36
  };
147
37
  objectFit: {
148
- contain: ({ imagePart }: {
38
+ contain: ({ avatarImagePart }: {
39
+ backgroundColor: `--${string}`;
40
+ color: `--${string}`;
149
41
  size: `--${string}`;
150
42
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
151
- readonly icon: "avatar-icon";
152
- readonly image: "avatar-image";
43
+ readonly avatarImage: "avatar-image";
44
+ readonly avatarName: "avatar-name";
153
45
  }>) => {
154
46
  "[data-part=\"avatar-image\"]": {
155
47
  objectFit: string;
156
48
  };
157
49
  };
158
- fill: ({ imagePart }: {
50
+ cover: ({ avatarImagePart }: {
51
+ backgroundColor: `--${string}`;
52
+ color: `--${string}`;
159
53
  size: `--${string}`;
160
54
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
161
- readonly icon: "avatar-icon";
162
- readonly image: "avatar-image";
55
+ readonly avatarImage: "avatar-image";
56
+ readonly avatarName: "avatar-name";
163
57
  }>) => {
164
58
  "[data-part=\"avatar-image\"]": {
165
59
  objectFit: string;
166
60
  };
167
61
  };
168
- cover: ({ imagePart }: {
62
+ fill: ({ avatarImagePart }: {
63
+ backgroundColor: `--${string}`;
64
+ color: `--${string}`;
169
65
  size: `--${string}`;
170
66
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
171
- readonly icon: "avatar-icon";
172
- readonly image: "avatar-image";
67
+ readonly avatarImage: "avatar-image";
68
+ readonly avatarName: "avatar-name";
173
69
  }>) => {
174
70
  "[data-part=\"avatar-image\"]": {
175
71
  objectFit: string;
176
72
  };
177
73
  };
178
- "scale-down": ({ imagePart }: {
74
+ none: ({ avatarImagePart }: {
75
+ backgroundColor: `--${string}`;
76
+ color: `--${string}`;
179
77
  size: `--${string}`;
180
78
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
181
- readonly icon: "avatar-icon";
182
- readonly image: "avatar-image";
79
+ readonly avatarImage: "avatar-image";
80
+ readonly avatarName: "avatar-name";
183
81
  }>) => {
184
82
  "[data-part=\"avatar-image\"]": {
185
83
  objectFit: string;
186
84
  };
187
85
  };
188
- none: ({ imagePart }: {
86
+ "scale-down": ({ avatarImagePart }: {
87
+ backgroundColor: `--${string}`;
88
+ color: `--${string}`;
189
89
  size: `--${string}`;
190
90
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
191
- readonly icon: "avatar-icon";
192
- readonly image: "avatar-image";
91
+ readonly avatarImage: "avatar-image";
92
+ readonly avatarName: "avatar-name";
193
93
  }>) => {
194
94
  "[data-part=\"avatar-image\"]": {
195
95
  objectFit: string;
196
96
  };
197
97
  };
198
- "-moz-initial": ({ imagePart }: {
98
+ initial: ({ avatarImagePart }: {
99
+ backgroundColor: `--${string}`;
100
+ color: `--${string}`;
199
101
  size: `--${string}`;
200
102
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
201
- readonly icon: "avatar-icon";
202
- readonly image: "avatar-image";
103
+ readonly avatarImage: "avatar-image";
104
+ readonly avatarName: "avatar-name";
203
105
  }>) => {
204
106
  "[data-part=\"avatar-image\"]": {
205
107
  objectFit: string;
206
108
  };
207
109
  };
208
- initial: ({ imagePart }: {
110
+ inherit: ({ avatarImagePart }: {
111
+ backgroundColor: `--${string}`;
112
+ color: `--${string}`;
209
113
  size: `--${string}`;
210
114
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
211
- readonly icon: "avatar-icon";
212
- readonly image: "avatar-image";
115
+ readonly avatarImage: "avatar-image";
116
+ readonly avatarName: "avatar-name";
213
117
  }>) => {
214
118
  "[data-part=\"avatar-image\"]": {
215
119
  objectFit: string;
216
120
  };
217
121
  };
218
- inherit: ({ imagePart }: {
122
+ unset: ({ avatarImagePart }: {
123
+ backgroundColor: `--${string}`;
124
+ color: `--${string}`;
219
125
  size: `--${string}`;
220
126
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
221
- readonly icon: "avatar-icon";
222
- readonly image: "avatar-image";
127
+ readonly avatarImage: "avatar-image";
128
+ readonly avatarName: "avatar-name";
223
129
  }>) => {
224
130
  "[data-part=\"avatar-image\"]": {
225
131
  objectFit: string;
226
132
  };
227
133
  };
228
- revert: ({ imagePart }: {
134
+ "-moz-initial": ({ avatarImagePart }: {
135
+ backgroundColor: `--${string}`;
136
+ color: `--${string}`;
229
137
  size: `--${string}`;
230
138
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
231
- readonly icon: "avatar-icon";
232
- readonly image: "avatar-image";
139
+ readonly avatarImage: "avatar-image";
140
+ readonly avatarName: "avatar-name";
233
141
  }>) => {
234
142
  "[data-part=\"avatar-image\"]": {
235
143
  objectFit: string;
236
144
  };
237
145
  };
238
- unset: ({ imagePart }: {
146
+ revert: ({ avatarImagePart }: {
147
+ backgroundColor: `--${string}`;
148
+ color: `--${string}`;
239
149
  size: `--${string}`;
240
150
  } & import("@workday/canvas-kit-styling").StencilVarsParts<{
241
- readonly icon: "avatar-icon";
242
- readonly image: "avatar-image";
151
+ readonly avatarImage: "avatar-image";
152
+ readonly avatarName: "avatar-name";
243
153
  }>) => {
244
154
  "[data-part=\"avatar-image\"]": {
245
155
  objectFit: string;
246
156
  };
247
157
  };
248
158
  };
249
- isImageLoaded: {
250
- true: ({ iconPart, imagePart }: {
159
+ }, {
160
+ readonly avatarImage: "avatar-image";
161
+ readonly avatarName: "avatar-name";
162
+ }, {}, import("@workday/canvas-kit-styling").Stencil<{
163
+ variant: {
164
+ blue: ({ backgroundColor, color }: {
165
+ backgroundColor: `--${string}`;
166
+ color: `--${string}`;
251
167
  size: `--${string}`;
252
- } & import("@workday/canvas-kit-styling").StencilVarsParts<{
253
- readonly icon: "avatar-icon";
254
- readonly image: "avatar-image";
255
- }>) => {
256
- "[data-part=\"avatar-icon\"]": {
257
- opacity: number;
258
- };
259
- "[data-part=\"avatar-image\"]": {
260
- opacity: number;
261
- };
168
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
169
+ backgroundColor: `var(--${string}, var(--cnvs-base-palette-blue-300))`;
170
+ color: `var(--${string}, var(--cnvs-base-palette-blue-800))`;
171
+ };
172
+ amber: ({ backgroundColor, color }: {
173
+ backgroundColor: `--${string}`;
174
+ color: `--${string}`;
175
+ size: `--${string}`;
176
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
177
+ backgroundColor: `var(--${string}, var(--cnvs-base-palette-amber-200))`;
178
+ color: `var(--${string}, var(--cnvs-base-palette-amber-700))`;
179
+ };
180
+ teal: ({ backgroundColor, color }: {
181
+ backgroundColor: `--${string}`;
182
+ color: `--${string}`;
183
+ size: `--${string}`;
184
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
185
+ backgroundColor: `var(--${string}, var(--cnvs-base-palette-teal-300))`;
186
+ color: `var(--${string}, var(--cnvs-base-palette-teal-800))`;
187
+ };
188
+ purple: ({ backgroundColor, color }: {
189
+ backgroundColor: `--${string}`;
190
+ color: `--${string}`;
191
+ size: `--${string}`;
192
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
193
+ backgroundColor: `var(--${string}, var(--cnvs-base-palette-purple-300))`;
194
+ color: `var(--${string}, var(--cnvs-base-palette-purple-800))`;
262
195
  };
263
196
  };
264
- }, {
265
- readonly icon: "avatar-icon";
266
- readonly image: "avatar-image";
267
- }, {
197
+ size: {
198
+ extraExtraSmall: ({ size }: {
199
+ backgroundColor: `--${string}`;
200
+ color: `--${string}`;
201
+ size: `--${string}`;
202
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
203
+ fontFamily: "--cnvs-sys-font-family-default";
204
+ fontWeight: "--cnvs-sys-font-weight-normal";
205
+ lineHeight: "--cnvs-sys-line-height-subtext-small";
206
+ fontSize: "--cnvs-sys-font-size-subtext-small";
207
+ letterSpacing: "--cnvs-base-letter-spacing-50";
208
+ };
209
+ extraSmall: ({ size }: {
210
+ backgroundColor: `--${string}`;
211
+ color: `--${string}`;
212
+ size: `--${string}`;
213
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
214
+ fontFamily: "--cnvs-sys-font-family-default";
215
+ fontWeight: "--cnvs-sys-font-weight-normal";
216
+ lineHeight: "--cnvs-sys-line-height-subtext-medium";
217
+ fontSize: "--cnvs-sys-font-size-subtext-medium";
218
+ letterSpacing: "--cnvs-base-letter-spacing-100";
219
+ };
220
+ small: ({ size }: {
221
+ backgroundColor: `--${string}`;
222
+ color: `--${string}`;
223
+ size: `--${string}`;
224
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
225
+ fontFamily: "--cnvs-sys-font-family-default";
226
+ fontWeight: "--cnvs-sys-font-weight-normal";
227
+ lineHeight: "--cnvs-sys-line-height-body-small";
228
+ fontSize: "--cnvs-sys-font-size-body-small";
229
+ letterSpacing: "--cnvs-base-letter-spacing-200";
230
+ };
231
+ medium: ({ size }: {
232
+ backgroundColor: `--${string}`;
233
+ color: `--${string}`;
234
+ size: `--${string}`;
235
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
236
+ fontFamily: "--cnvs-sys-font-family-default";
237
+ fontWeight: "--cnvs-sys-font-weight-normal";
238
+ lineHeight: "--cnvs-sys-line-height-body-medium";
239
+ fontSize: "--cnvs-sys-font-size-body-medium";
240
+ };
241
+ large: ({ size }: {
242
+ backgroundColor: `--${string}`;
243
+ color: `--${string}`;
244
+ size: `--${string}`;
245
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
246
+ fontFamily: "--cnvs-sys-font-family-default";
247
+ fontWeight: "--cnvs-sys-font-weight-bold";
248
+ lineHeight: "--cnvs-sys-line-height-heading-medium";
249
+ fontSize: "--cnvs-sys-font-size-heading-medium";
250
+ };
251
+ extraLarge: ({ size }: {
252
+ backgroundColor: `--${string}`;
253
+ color: `--${string}`;
254
+ size: `--${string}`;
255
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
256
+ fontFamily: "--cnvs-sys-font-family-default";
257
+ fontWeight: "--cnvs-sys-font-weight-bold";
258
+ lineHeight: "--cnvs-sys-line-height-title-small";
259
+ fontSize: "--cnvs-sys-font-size-title-small";
260
+ };
261
+ extraExtraLarge: ({ size }: {
262
+ backgroundColor: `--${string}`;
263
+ color: `--${string}`;
264
+ size: `--${string}`;
265
+ } & import("@workday/canvas-kit-styling").StencilVarsParts<{}>) => {
266
+ fontFamily: "--cnvs-sys-font-family-default";
267
+ fontWeight: "--cnvs-sys-font-weight-bold";
268
+ lineHeight: "--cnvs-sys-line-height-title-medium";
269
+ fontSize: "--cnvs-sys-font-size-title-medium";
270
+ };
271
+ };
272
+ }, {}, {
273
+ backgroundColor: string;
274
+ color: string;
268
275
  size: string;
269
- }, never, never>;
276
+ }, never, never>, never>;
270
277
  /**
271
- * @deprecated ⚠️ `Avatar` is deprecated and will be removed in a future major version. Please use `Avatar` from the Preview package instead (@workday/canvas-kit-preview-react/avatar).
278
+ * JSDoc for Avatar. Will be part of the Component API docs
272
279
  */
273
- export declare const Avatar: import("@workday/canvas-kit-react/common").ElementComponent<"button", AvatarProps> & {
274
- /**
275
- * @deprecated ⚠️ `Avatar.Variant` is deprecated and will be removed in a future major version. Use the string literal of `light` or `dark`.
276
- */
277
- Variant: typeof AvatarVariant;
278
- /**
279
- * @deprecated ⚠️ `Avatar.Size` is deprecated and will be removed in a future major version. Use the string literal values for size: 'extraSmall' | 'small | 'medium' | 'large' | 'extraLarge | 'extraExtraLarge' | (string & {})
280
- */
281
- Size: typeof SystemIconCircleSize;
282
- };
280
+ export declare const Avatar: import("@workday/canvas-kit-react/common").ElementComponent<"div", AvatarProps>;
283
281
  //# sourceMappingURL=Avatar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../avatar/lib/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAsB,OAAO,EAAS,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAAa,oBAAoB,EAAoB,MAAM,gCAAgC,CAAC;AAKnG;;GAEG;AACH,oBAAY,aAAa;IACvB,KAAK,IAAA;IACL,IAAI,IAAA;CACL;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;IAC3C;;;;;;;;;OASG;IACH,IAAI,CAAC,EACH,YAAY,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,CAAC,MAAM,GAAG,EAAE,CAAC,GACb,oBAAoB,GACpB,MAAM,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgLxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM;IAyDf;;OAEG;;IAEH;;OAEG;;CAGL,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../avatar/lib/Avatar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAC,eAAe,EAAgC,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,WAAY,SAAQ,eAAe,EAAE,eAAe;IACnE;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAwExB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,iFAoDjB,CAAC"}
@@ -1,111 +1,47 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState } from 'react';
3
- import { createComponent, focusRing } from '@workday/canvas-kit-react/common';
4
- import { createStencil, calc, px2rem } from '@workday/canvas-kit-styling';
5
- import { mergeStyles } from '@workday/canvas-kit-react/layout';
6
- import { borderRadius } from '@workday/canvas-kit-react/tokens';
7
- import { SystemIcon, SystemIconCircleSize, systemIconStencil } from '@workday/canvas-kit-react/icon';
8
- import { userIcon } from '@workday/canvas-system-icons-web';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { createComponent } from '@workday/canvas-kit-react/common';
4
+ import { createStencil, handleCsProp } from '@workday/canvas-kit-styling';
9
5
  import { system } from '@workday/canvas-tokens-web';
10
- /**
11
- * @deprecated ⚠️ `AvatarVariant` is deprecated and will be removed in a future major version. Update your types and values to use the string literal of either `light` or `dark`.
12
- */
13
- export var AvatarVariant;
14
- (function (AvatarVariant) {
15
- AvatarVariant[AvatarVariant["Light"] = 0] = "Light";
16
- AvatarVariant[AvatarVariant["Dark"] = 1] = "Dark";
17
- })(AvatarVariant || (AvatarVariant = {}));
18
- /**
19
- * @deprecated `avatarStencil` is deprecated and will be removed in a future major version. Please use `Avatar` from the Preview package instead (@workday/canvas-kit-preview-react/avatar).
20
- */
6
+ import { BaseAvatar, baseAvatarStencil } from './BaseAvatar';
21
7
  export const avatarStencil = createStencil({
22
- vars: {
23
- size: '',
24
- },
8
+ extends: baseAvatarStencil,
25
9
  parts: {
26
- icon: 'avatar-icon',
27
- image: 'avatar-image',
10
+ avatarImage: 'avatar-image',
11
+ avatarName: 'avatar-name',
28
12
  },
29
- base: { name: "chaek", styles: "box-sizing:border-box;background:var(--cnvs-sys-color-bg-caution-default);position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:0;overflow:hidden;cursor:default;pointer-events:none;border-radius:var(--cnvs-sys-shape-round);width:var(--size-avatar-a7d274);height:var(--size-avatar-a7d274);&:focus-visible, &.focus{outline:none;box-shadow:0 0 0 2px var(--cnvs-sys-color-border-inverse, rgba(255,255,255,1)), 0 0 0 4px var(--cnvs-brand-common-focus-outline, rgba(8,117,225,1));}:is(button){cursor:pointer;pointer-events:auto;}&:disabled, &.disabled{opacity:var(--cnvs-sys-opacity-disabled);}[data-part=\"avatar-icon\"]{transition:opacity 150ms linear;display:flex;align-items:center;justify-content:center;--size-svg-8fcab8:calc(var(--size-avatar-a7d274) * 0.625);opacity:1;}[data-part=\"avatar-image\"]{position:absolute;width:100%;height:100%;border-radius:999px;transition:opacity 150ms linear;opacity:0;}" },
13
+ base: { name: "11iq0a", styles: "box-sizing:border-box;" },
30
14
  modifiers: {
31
- variant: {
32
- light: { name: "2f85z8", styles: "background-color:var(--cnvs-sys-color-bg-alt-default);[data-part=\"avatar-icon\"]{--color-system-icon-3a4847:var(--cnvs-sys-color-fg-default);}" },
33
- dark: { name: "1c26fv", styles: "background-color:var(--cnvs-sys-color-bg-primary-default);[data-part=\"avatar-icon\"]{--color-system-icon-3a4847:var(--cnvs-sys-color-fg-inverse);}" }
34
- },
35
- size: {
36
- extraSmall: { name: "21a6yo", styles: "width:var(--cnvs-sys-space-x4);height:var(--cnvs-sys-space-x4);[data-part=\"avatar-icon\"]{--size-svg-8fcab8:calc(var(--cnvs-sys-space-x4) * 0.625);}" },
37
- small: { name: "19cias", styles: "width:var(--cnvs-sys-space-x6);height:var(--cnvs-sys-space-x6);[data-part=\"avatar-icon\"]{--size-svg-8fcab8:calc(var(--cnvs-sys-space-x6) * 0.625);}" },
38
- medium: { name: "4a5ysu", styles: "width:var(--cnvs-sys-space-x8);height:var(--cnvs-sys-space-x8);[data-part=\"avatar-icon\"]{--size-svg-8fcab8:calc(var(--cnvs-sys-space-x8) * 0.625);}" },
39
- large: { name: "3vmicl", styles: "width:var(--cnvs-sys-space-x10);height:var(--cnvs-sys-space-x10);[data-part=\"avatar-icon\"]{--size-svg-8fcab8:calc(var(--cnvs-sys-space-x10) * 0.625);}" },
40
- extraLarge: { name: "2zt095", styles: "width:var(--cnvs-sys-space-x16);height:var(--cnvs-sys-space-x16);[data-part=\"avatar-icon\"]{--size-svg-8fcab8:calc(var(--cnvs-sys-space-x16) * 0.625);}" },
41
- extraExtraLarge: { name: "1rg78q", styles: "width:calc(var(--cnvs-sys-space-x10) * 3);height:calc(var(--cnvs-sys-space-x10) * 3);[data-part=\"avatar-icon\"]{--size-svg-8fcab8:calc(calc(var(--cnvs-sys-space-x10) * 3) * 0.625);}" }
15
+ imageLoaded: {
16
+ false: { name: "1cr95k", styles: "[data-part=\"avatar-image\"]{display:none;}" },
17
+ true: { name: "21awd2", styles: "background-color:var(--cnvs-sys-color-bg-default);" }
42
18
  },
43
19
  objectFit: {
44
- contain: { name: "2nl5qn", styles: "[data-part=\"avatar-image\"]{object-fit:contain;}" },
45
- fill: { name: "38am1v", styles: "[data-part=\"avatar-image\"]{object-fit:fill;}" },
46
- cover: { name: "wfw7t", styles: "[data-part=\"avatar-image\"]{object-fit:cover;}" },
47
- ['scale-down']: { name: "2kbvtj", styles: "[data-part=\"avatar-image\"]{object-fit:scale-down;}" },
48
- none: { name: "4bl6d9", styles: "[data-part=\"avatar-image\"]{object-fit:none;}" },
49
- ['-moz-initial']: { name: "52ea0", styles: "[data-part=\"avatar-image\"]{object-fit:-moz-initial;}" },
50
- ['initial']: { name: "25z0t3", styles: "[data-part=\"avatar-image\"]{object-fit:initial;}" },
51
- ['inherit']: { name: "38zr6q", styles: "[data-part=\"avatar-image\"]{object-fit:inherit;}" },
52
- ['revert']: { name: "3ev0cn", styles: "[data-part=\"avatar-image\"]{object-fit:revert;}" },
53
- ['unset']: { name: "2q2xaj", styles: "[data-part=\"avatar-image\"]{object-fit:unset;}" }
54
- },
55
- isImageLoaded: {
56
- true: { name: "3f2fox", styles: "[data-part=\"avatar-icon\"]{opacity:0;}[data-part=\"avatar-image\"]{opacity:1;}" }
20
+ contain: { name: "43qbeo", styles: "[data-part=\"avatar-image\"]{object-fit:contain;}" },
21
+ cover: { name: "omtaa", styles: "[data-part=\"avatar-image\"]{object-fit:cover;}" },
22
+ fill: { name: "1og5lu", styles: "[data-part=\"avatar-image\"]{object-fit:fill;}" },
23
+ none: { name: "38xksi", styles: "[data-part=\"avatar-image\"]{object-fit:none;}" },
24
+ ['scale-down']: { name: "1mjstm", styles: "[data-part=\"avatar-image\"]{object-fit:scale-down;}" },
25
+ initial: { name: "sfrv", styles: "[data-part=\"avatar-image\"]{object-fit:initial;}" },
26
+ inherit: { name: "1c6pkc", styles: "[data-part=\"avatar-image\"]{object-fit:inherit;}" },
27
+ unset: { name: "87qd7", styles: "[data-part=\"avatar-image\"]{object-fit:unset;}" },
28
+ ['-moz-initial']: { name: "373nc2", styles: "[data-part=\"avatar-image\"]{object-fit:-moz-initial;}" },
29
+ ['revert']: { name: "31qeat", styles: "[data-part=\"avatar-image\"]{object-fit:revert;}" }
57
30
  }
58
- },
59
- defaultModifiers: {
60
- variant: 'light',
61
- objectFit: 'contain',
62
31
  }
63
- }, "avatar-a7d274");
32
+ }, "avatar-620ed0");
64
33
  /**
65
- * @deprecated ⚠️ `Avatar` is deprecated and will be removed in a future major version. Please use `Avatar` from the Preview package instead (@workday/canvas-kit-preview-react/avatar).
34
+ * JSDoc for Avatar. Will be part of the Component API docs
66
35
  */
67
- export const Avatar = createComponent('button')({
36
+ export const Avatar = createComponent('div')({
68
37
  displayName: 'Avatar',
69
- Component: ({ variant, size = 'medium', altText, url, objectFit, ...elemProps }, ref, Element) => {
70
- const [imageLoaded, setImageLoaded] = useState(false);
71
- const loadImage = () => {
38
+ Component: ({ url, name, variant, objectFit = 'contain', preferredInitials, isDecorative, size, ...elemProps }, ref, Element) => {
39
+ const [imageLoaded, setImageLoaded] = React.useState(false);
40
+ const handleImageLoad = () => {
72
41
  if (!imageLoaded) {
73
42
  setImageLoaded(true);
74
43
  }
75
44
  };
76
- React.useLayoutEffect(() => {
77
- setImageLoaded(false);
78
- }, [url]);
79
- // TODO: Remove this warning for a hard breaking change in v13
80
- if (process.env.NODE_ENV === 'development') {
81
- if (typeof variant === 'number') {
82
- console.warn('Avatar: Avatar.Variant is deprecated and will be removed in v13. Please use a string literal of "light" or "dark"');
83
- }
84
- if (typeof size === 'number') {
85
- console.warn("Avatar: Avatar.Size is deprecated and will be removed in v13. Use the string literal values for size: 'extraSmall' | 'small | 'medium' | 'large' | 'extraLarge | 'extraExtraLarge' | (string & {})");
86
- }
87
- }
88
- return (_jsxs(Element, { ref: ref, "aria-label": Element === 'button' ? altText : undefined, ...mergeStyles(elemProps, [
89
- avatarStencil({
90
- variant: variant === AvatarVariant.Light
91
- ? 'light'
92
- : variant === AvatarVariant.Dark
93
- ? 'dark'
94
- : variant,
95
- size: typeof size === 'number' ? px2rem(size) : size,
96
- objectFit,
97
- isImageLoaded: imageLoaded,
98
- }),
99
- ]), children: [_jsx(SystemIcon, { ...avatarStencil.parts.icon, icon: userIcon }), url && _jsx("img", { ...avatarStencil.parts.image, src: url, alt: altText, onLoad: loadImage })] }));
100
- },
101
- subComponents: {
102
- /**
103
- * @deprecated ⚠️ `Avatar.Variant` is deprecated and will be removed in a future major version. Use the string literal of `light` or `dark`.
104
- */
105
- Variant: AvatarVariant,
106
- /**
107
- * @deprecated ⚠️ `Avatar.Size` is deprecated and will be removed in a future major version. Use the string literal values for size: 'extraSmall' | 'small | 'medium' | 'large' | 'extraLarge | 'extraExtraLarge' | (string & {})
108
- */
109
- Size: SystemIconCircleSize,
45
+ return (_jsxs(BaseAvatar, { as: Element, ref: ref, ...handleCsProp(elemProps, avatarStencil({ variant, size, imageLoaded, objectFit })), children: [url && (_jsx(_Fragment, { children: _jsx(BaseAvatar.Image, { onLoad: handleImageLoad, src: url, alt: isDecorative ? undefined : name, "aria-hidden": isDecorative, ...avatarStencil.parts.avatarImage }) })), name && (!url || !imageLoaded) && (_jsx(BaseAvatar.Name, { name: name, preferredInitials: preferredInitials, ...avatarStencil.parts.avatarName }))] }));
110
46
  },
111
47
  });
@@ -0,0 +1,6 @@
1
+ import { CSProps } from '@workday/canvas-kit-styling';
2
+ export interface AvatarImageProps extends CSProps {
3
+ }
4
+ export declare const avatarImageStencil: import("@workday/canvas-kit-styling").Stencil<import("@workday/canvas-kit-styling").StencilModifierConfig<{}, {}, never>, {}, {}, never, never>;
5
+ export declare const AvatarImage: import("@workday/canvas-kit-react/common").ElementComponent<"img", AvatarImageProps>;
6
+ //# sourceMappingURL=AvatarImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarImage.d.ts","sourceRoot":"","sources":["../../../../avatar/lib/AvatarImage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA8B,OAAO,EAAC,MAAM,6BAA6B,CAAC;AAEjF,MAAM,WAAW,gBAAiB,SAAQ,OAAO;CAAG;AAEpD,eAAO,MAAM,kBAAkB,iJAM7B,CAAC;AAEH,eAAO,MAAM,WAAW,sFAKtB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createComponent } from '@workday/canvas-kit-react/common';
3
+ import { handleCsProp, createStencil } from '@workday/canvas-kit-styling';
4
+ export const avatarImageStencil = createStencil({
5
+ base: { name: "3g853f", styles: "box-sizing:border-box;height:100%;width:100%;object-fit:cover;" }
6
+ }, "avatar-image-4ccccb");
7
+ export const AvatarImage = createComponent('img')({
8
+ displayName: 'AvatarImage',
9
+ Component: ({ ...elemProps }, ref, Element) => {
10
+ return _jsx(Element, { ref: ref, ...handleCsProp(elemProps, avatarImageStencil()) });
11
+ },
12
+ });