@zendeskgarden/react-avatars 9.0.0-next.21 → 9.0.0-next.23

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.
@@ -59,7 +59,7 @@ const AvatarComponent = forwardRef((_ref, ref) => {
59
59
  $foregroundColor: foregroundColor,
60
60
  "aria-atomic": "true",
61
61
  "aria-live": "polite"
62
- }, props), Children.only(children), computedStatus && React__default.createElement(StyledStatusIndicator, {
62
+ }, props), Children.only(children), !!computedStatus && React__default.createElement(StyledStatusIndicator, {
63
63
  $size: size,
64
64
  $type: computedStatus,
65
65
  $surfaceColor: surfaceColor,
@@ -52,7 +52,7 @@ const StatusIndicator = forwardRef((_ref, ref) => {
52
52
  }) : null, type === 'transfers' ? React__default.createElement(ArrowLeftIcon, {
53
53
  "data-icon-status": type,
54
54
  "aria-hidden": "true"
55
- }) : null), children && React__default.createElement(StyledStandaloneStatusCaption, null, children))
55
+ }) : null), !!children && React__default.createElement(StyledStandaloneStatusCaption, null, children))
56
56
  );
57
57
  });
58
58
  StatusIndicator.displayName = 'StatusIndicator';
@@ -39,12 +39,32 @@ const colorStyles = _ref => {
39
39
  $status
40
40
  } = _ref;
41
41
  const statusColor = getStatusColor(theme, $status);
42
- const backgroundColor = $backgroundColor || 'transparent';
43
- const foregroundColor = $foregroundColor || theme.palette.white;
44
- const surfaceColor = $status ? $surfaceColor || getColor({
45
- variable: 'background.default',
46
- theme
47
- }) : 'transparent';
42
+ let backgroundColor = 'transparent';
43
+ let foregroundColor = theme.palette.white;
44
+ let surfaceColor;
45
+ if ($backgroundColor) {
46
+ backgroundColor = $backgroundColor.includes('.') ? getColor({
47
+ theme,
48
+ variable: $backgroundColor
49
+ }) : $backgroundColor;
50
+ }
51
+ if ($foregroundColor) {
52
+ foregroundColor = $foregroundColor.includes('.') ? getColor({
53
+ theme,
54
+ variable: $foregroundColor
55
+ }) : $foregroundColor;
56
+ }
57
+ if ($status) {
58
+ surfaceColor = $surfaceColor?.includes('.') ? getColor({
59
+ variable: $surfaceColor,
60
+ theme
61
+ }) : $surfaceColor || getColor({
62
+ variable: 'background.default',
63
+ theme
64
+ });
65
+ } else {
66
+ surfaceColor = $surfaceColor || 'transparent';
67
+ }
48
68
  return css(["box-shadow:", ";background-color:", ";&&{color:", ";}& > svg,& ", "{color:", ";}"], theme.shadows.sm(statusColor), backgroundColor, surfaceColor, StyledText, foregroundColor);
49
69
  };
50
70
  const sizeStyles = props => {
@@ -88,7 +108,7 @@ const sizeStyles = props => {
88
108
  };
89
109
  const StyledAvatar = styled.figure.attrs({
90
110
  'data-garden-id': COMPONENT_ID,
91
- 'data-garden-version': '9.0.0-next.21'
111
+ 'data-garden-version': '9.0.0-next.23'
92
112
  }).withConfig({
93
113
  displayName: "StyledAvatar",
94
114
  componentId: "sc-608m04-0"
@@ -11,7 +11,7 @@ import { TRANSITION_DURATION } from './utility.js';
11
11
  const COMPONENT_ID = 'avatars.status-indicator.status';
12
12
  const StyledStandaloneStatus = styled.figure.attrs({
13
13
  'data-garden-id': COMPONENT_ID,
14
- 'data-garden-version': '9.0.0-next.21'
14
+ 'data-garden-version': '9.0.0-next.23'
15
15
  }).withConfig({
16
16
  displayName: "StyledStandaloneStatus",
17
17
  componentId: "sc-1ow4nfj-0"
@@ -14,7 +14,7 @@ function sizeStyles(props) {
14
14
  }
15
15
  const StyledStandaloneStatusCaption = styled.figcaption.attrs({
16
16
  'data-garden-id': COMPONENT_ID,
17
- 'data-garden-version': '9.0.0-next.21'
17
+ 'data-garden-version': '9.0.0-next.23'
18
18
  }).withConfig({
19
19
  displayName: "StyledStandaloneStatusCaption",
20
20
  componentId: "sc-aalyk1-0"
@@ -12,7 +12,7 @@ import { StyledStatusIndicatorBase } from './StyledStatusIndicatorBase.js';
12
12
  const COMPONENT_ID = 'avatars.status-indicator.indicator';
13
13
  const StyledStandaloneStatusIndicator = styled(StyledStatusIndicatorBase).attrs({
14
14
  'data-garden-id': COMPONENT_ID,
15
- 'data-garden-version': '9.0.0-next.21'
15
+ 'data-garden-version': '9.0.0-next.23'
16
16
  }).withConfig({
17
17
  displayName: "StyledStandaloneStatusIndicator",
18
18
  componentId: "sc-1xt1heq-0"
@@ -46,7 +46,7 @@ const colorStyles = _ref => {
46
46
  };
47
47
  const StyledStatusIndicator = styled(StyledStatusIndicatorBase).attrs({
48
48
  'data-garden-id': COMPONENT_ID,
49
- 'data-garden-version': '9.0.0-next.21'
49
+ 'data-garden-version': '9.0.0-next.23'
50
50
  }).withConfig({
51
51
  displayName: "StyledStatusIndicator",
52
52
  componentId: "sc-16t9if3-0"
@@ -40,7 +40,7 @@ const colorStyles = _ref => {
40
40
  };
41
41
  const StyledStatusIndicatorBase = styled.div.attrs({
42
42
  'data-garden-id': COMPONENT_ID,
43
- 'data-garden-version': '9.0.0-next.21'
43
+ 'data-garden-version': '9.0.0-next.23'
44
44
  }).withConfig({
45
45
  displayName: "StyledStatusIndicatorBase",
46
46
  componentId: "sc-1rininy-0"
@@ -10,7 +10,7 @@ import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-the
10
10
  const COMPONENT_ID = 'avatars.text';
11
11
  const StyledText = styled.span.attrs({
12
12
  'data-garden-id': COMPONENT_ID,
13
- 'data-garden-version': '9.0.0-next.21'
13
+ 'data-garden-version': '9.0.0-next.23'
14
14
  }).withConfig({
15
15
  displayName: "StyledText",
16
16
  componentId: "sc-1a6hivh-0"
package/dist/index.cjs.js CHANGED
@@ -122,7 +122,7 @@ const STATUS = ['available', 'away', 'transfers', 'offline'];
122
122
  const COMPONENT_ID$6 = 'avatars.text';
123
123
  const StyledText = styled__default.default.span.attrs({
124
124
  'data-garden-id': COMPONENT_ID$6,
125
- 'data-garden-version': '9.0.0-next.21'
125
+ 'data-garden-version': '9.0.0-next.23'
126
126
  }).withConfig({
127
127
  displayName: "StyledText",
128
128
  componentId: "sc-1a6hivh-0"
@@ -245,7 +245,7 @@ const colorStyles$2 = _ref => {
245
245
  };
246
246
  const StyledStatusIndicatorBase = styled__default.default.div.attrs({
247
247
  'data-garden-id': COMPONENT_ID$5,
248
- 'data-garden-version': '9.0.0-next.21'
248
+ 'data-garden-version': '9.0.0-next.23'
249
249
  }).withConfig({
250
250
  displayName: "StyledStatusIndicatorBase",
251
251
  componentId: "sc-1rininy-0"
@@ -290,7 +290,7 @@ const colorStyles$1 = _ref => {
290
290
  };
291
291
  const StyledStatusIndicator = styled__default.default(StyledStatusIndicatorBase).attrs({
292
292
  'data-garden-id': COMPONENT_ID$4,
293
- 'data-garden-version': '9.0.0-next.21'
293
+ 'data-garden-version': '9.0.0-next.23'
294
294
  }).withConfig({
295
295
  displayName: "StyledStatusIndicator",
296
296
  componentId: "sc-16t9if3-0"
@@ -327,12 +327,32 @@ const colorStyles = _ref => {
327
327
  $status
328
328
  } = _ref;
329
329
  const statusColor = getStatusColor(theme, $status);
330
- const backgroundColor = $backgroundColor || 'transparent';
331
- const foregroundColor = $foregroundColor || theme.palette.white;
332
- const surfaceColor = $status ? $surfaceColor || reactTheming.getColor({
333
- variable: 'background.default',
334
- theme
335
- }) : 'transparent';
330
+ let backgroundColor = 'transparent';
331
+ let foregroundColor = theme.palette.white;
332
+ let surfaceColor;
333
+ if ($backgroundColor) {
334
+ backgroundColor = $backgroundColor.includes('.') ? reactTheming.getColor({
335
+ theme,
336
+ variable: $backgroundColor
337
+ }) : $backgroundColor;
338
+ }
339
+ if ($foregroundColor) {
340
+ foregroundColor = $foregroundColor.includes('.') ? reactTheming.getColor({
341
+ theme,
342
+ variable: $foregroundColor
343
+ }) : $foregroundColor;
344
+ }
345
+ if ($status) {
346
+ surfaceColor = $surfaceColor?.includes('.') ? reactTheming.getColor({
347
+ variable: $surfaceColor,
348
+ theme
349
+ }) : $surfaceColor || reactTheming.getColor({
350
+ variable: 'background.default',
351
+ theme
352
+ });
353
+ } else {
354
+ surfaceColor = $surfaceColor || 'transparent';
355
+ }
336
356
  return styled.css(["box-shadow:", ";background-color:", ";&&{color:", ";}& > svg,& ", "{color:", ";}"], theme.shadows.sm(statusColor), backgroundColor, surfaceColor, StyledText, foregroundColor);
337
357
  };
338
358
  const sizeStyles$1 = props => {
@@ -376,7 +396,7 @@ const sizeStyles$1 = props => {
376
396
  };
377
397
  const StyledAvatar = styled__default.default.figure.attrs({
378
398
  'data-garden-id': COMPONENT_ID$3,
379
- 'data-garden-version': '9.0.0-next.21'
399
+ 'data-garden-version': '9.0.0-next.23'
380
400
  }).withConfig({
381
401
  displayName: "StyledAvatar",
382
402
  componentId: "sc-608m04-0"
@@ -389,7 +409,7 @@ StyledAvatar.defaultProps = {
389
409
  const COMPONENT_ID$2 = 'avatars.status-indicator.status';
390
410
  const StyledStandaloneStatus = styled__default.default.figure.attrs({
391
411
  'data-garden-id': COMPONENT_ID$2,
392
- 'data-garden-version': '9.0.0-next.21'
412
+ 'data-garden-version': '9.0.0-next.23'
393
413
  }).withConfig({
394
414
  displayName: "StyledStandaloneStatus",
395
415
  componentId: "sc-1ow4nfj-0"
@@ -405,7 +425,7 @@ function sizeStyles(props) {
405
425
  }
406
426
  const StyledStandaloneStatusCaption = styled__default.default.figcaption.attrs({
407
427
  'data-garden-id': COMPONENT_ID$1,
408
- 'data-garden-version': '9.0.0-next.21'
428
+ 'data-garden-version': '9.0.0-next.23'
409
429
  }).withConfig({
410
430
  displayName: "StyledStandaloneStatusCaption",
411
431
  componentId: "sc-aalyk1-0"
@@ -417,7 +437,7 @@ StyledStandaloneStatusCaption.defaultProps = {
417
437
  const COMPONENT_ID = 'avatars.status-indicator.indicator';
418
438
  const StyledStandaloneStatusIndicator = styled__default.default(StyledStatusIndicatorBase).attrs({
419
439
  'data-garden-id': COMPONENT_ID,
420
- 'data-garden-version': '9.0.0-next.21'
440
+ 'data-garden-version': '9.0.0-next.23'
421
441
  }).withConfig({
422
442
  displayName: "StyledStandaloneStatusIndicator",
423
443
  componentId: "sc-1xt1heq-0"
@@ -472,7 +492,7 @@ const AvatarComponent = React.forwardRef((_ref, ref) => {
472
492
  $foregroundColor: foregroundColor,
473
493
  "aria-atomic": "true",
474
494
  "aria-live": "polite"
475
- }, props), React.Children.only(children), computedStatus && React__namespace.default.createElement(StyledStatusIndicator, {
495
+ }, props), React.Children.only(children), !!computedStatus && React__namespace.default.createElement(StyledStatusIndicator, {
476
496
  $size: size,
477
497
  $type: computedStatus,
478
498
  $surfaceColor: surfaceColor,
@@ -536,7 +556,7 @@ const StatusIndicator = React.forwardRef((_ref, ref) => {
536
556
  }) : null, type === 'transfers' ? React__namespace.default.createElement(ArrowLeftIcon, {
537
557
  "data-icon-status": type,
538
558
  "aria-hidden": "true"
539
- }) : null), children && React__namespace.default.createElement(StyledStandaloneStatusCaption, null, children))
559
+ }) : null), !!children && React__namespace.default.createElement(StyledStandaloneStatusCaption, null, children))
540
560
  );
541
561
  });
542
562
  StatusIndicator.displayName = 'StatusIndicator';
@@ -7,9 +7,11 @@
7
7
  import React from 'react';
8
8
  import { IAvatarProps } from '../types';
9
9
  import { Text } from './components/Text';
10
+ declare const AvatarComponent: React.ForwardRefExoticComponent<IAvatarProps & React.RefAttributes<HTMLElement>>;
10
11
  /**
11
12
  * @extends HTMLAttributes<HTMLElement>
12
13
  */
13
- export declare const Avatar: React.ForwardRefExoticComponent<IAvatarProps & React.RefAttributes<HTMLElement>> & {
14
+ export declare const Avatar: typeof AvatarComponent & {
14
15
  Text: typeof Text;
15
16
  };
17
+ export {};
@@ -8,11 +8,25 @@ import { HTMLAttributes } from 'react';
8
8
  export declare const SIZE: readonly ["extraextrasmall", "extrasmall", "small", "medium", "large"];
9
9
  export declare const STATUS: readonly ["available", "away", "transfers", "offline"];
10
10
  export interface IAvatarProps extends HTMLAttributes<HTMLElement> {
11
- /** Sets the avatar background color */
11
+ /**
12
+ * Sets the avatar background color. Accepts a [color
13
+ * variable](/components/theme-object#colors) key (i.e.
14
+ * `background.emphasis`) to render based on light/dark mode, or any hex
15
+ * value.
16
+ */
12
17
  backgroundColor?: string;
13
- /** Sets the color for child SVG or `Avatar.Text` components */
18
+ /**
19
+ * Sets the color for child SVG or `Avatar.Text` components. Accepts a [color
20
+ * variable](/components/theme-object#colors) key (i.e.
21
+ * `foreground.onEmphasis`) to render based on light/dark mode, or any hex
22
+ * value.
23
+ */
14
24
  foregroundColor?: string;
15
- /** Provides surface color for an avatar placed on a non-white background */
25
+ /**
26
+ * Provides surface color for an avatar placed on a non-default background.
27
+ * Accepts a [color variable](/components/theme-object#colors) key (i.e.
28
+ * `background.primary`) to render based on light/dark mode, or any hex value.
29
+ */
16
30
  surfaceColor?: string;
17
31
  /** Applies system styling for representing objects, brands, or products */
18
32
  isSystem?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zendeskgarden/react-avatars",
3
- "version": "9.0.0-next.21",
3
+ "version": "9.0.0-next.23",
4
4
  "description": "Components relating to avatars in the Garden Design System",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Zendesk Garden <garden@zendesk.com>",
@@ -26,14 +26,14 @@
26
26
  },
27
27
  "peerDependencies": {
28
28
  "@zendeskgarden/react-theming": ">=9.0.0-next",
29
- "react": ">=16.8.0",
30
- "react-dom": ">=16.8.0",
29
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
30
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
31
31
  "styled-components": "^5.3.1"
32
32
  },
33
33
  "devDependencies": {
34
- "@zendeskgarden/react-dropdowns": "^9.0.0-next.21",
35
- "@zendeskgarden/react-theming": "^9.0.0-next.21",
36
- "@zendeskgarden/svg-icons": "7.1.1"
34
+ "@zendeskgarden/react-dropdowns": "^9.0.0-next.23",
35
+ "@zendeskgarden/react-theming": "^9.0.0-next.23",
36
+ "@zendeskgarden/svg-icons": "7.2.0"
37
37
  },
38
38
  "keywords": [
39
39
  "components",
@@ -45,5 +45,5 @@
45
45
  "access": "public"
46
46
  },
47
47
  "zendeskgarden:src": "src/index.ts",
48
- "gitHead": "a245ce2b794ea65142174a6a1f855a111b2677a2"
48
+ "gitHead": "5e7d2ed69a1615e09406a3f9285359346bb90cc7"
49
49
  }