@synerise/ds-avatar 1.3.18 → 1.3.19

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/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.3.19](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@1.3.18...@synerise/ds-avatar@1.3.19) (2026-07-23)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-avatar
9
+
6
10
  ## [1.3.18](https://github.com/synerise/synerise-design/compare/@synerise/ds-avatar@1.3.17...@synerise/ds-avatar@1.3.18) (2026-06-17)
7
11
 
8
12
  **Note:** Version bump only for package @synerise/ds-avatar
package/CLAUDE.md ADDED
@@ -0,0 +1,191 @@
1
+ # Avatar (`@synerise/ds-avatar`)
2
+
3
+ > Three avatar variants — generic `Avatar`, `UserAvatar`, and `ObjectAvatar` — each a DS-native (styled-components) avatar with auto-tooltip, badge status, deterministic color/icon selection, and a library of 100 default SVG avatars.
4
+
5
+ ## Package structure
6
+
7
+ ```
8
+ src/
9
+ Avatar.tsx — base component (DS-native, styled-components)
10
+ Avatar.types.ts — all shared types (AvatarProps, UserAvatarProps, ObjectAvatarProps, …)
11
+ Avatar.styles.tsx — AvatarBase (DOM) + StyledAvatar (size/shape/bg/font); AvatarString/AvatarImg
12
+ Avatar.spec.tsx — base component tests
13
+ utils.ts — getUserText, getObjectName, getColorByText, getTooltipProps, …
14
+ DefaultAvatarIcon.tsx — renders one of 100 default SVGs by index
15
+ defaultAvatars/ — auto-generated SVG components (build:svgr) + index.ts
16
+ UserAvatar/
17
+ UserAvatar.tsx — user-specific avatar with auto-initials, default SVGs, badge
18
+ UserAvatar.spec.tsx
19
+ index.ts
20
+ ObjectAvatar/
21
+ ObjectAvatar.tsx — object/entity avatar, square shape, mail fallback icon
22
+ ObjectAvatar.spec.tsx
23
+ index.ts
24
+ index.ts — public exports
25
+ ```
26
+
27
+ ## Public exports
28
+
29
+ ### `Avatar` (default export)
30
+
31
+ Base component. DS-native; props are explicitly declared (no antd inheritance). `data-*` attributes pass through.
32
+
33
+ | Prop | Type | Default | Description |
34
+ |------|------|---------|-------------|
35
+ | `size` | `'small' \| 'medium' \| 'large' \| 'extraLarge'` | `'medium'` | Avatar size |
36
+ | `backgroundColor` | `Color \| string` | `undefined` | Named color or hex string; combined with `backgroundColorHue` for theme token lookup |
37
+ | `backgroundColorHue` | `'050'–'900'` | `'500'` | Hue suffix for the background color token |
38
+ | `iconComponent` | `ReactNode` | `undefined` | Icon to render; auto-scaled per size unless `iconScale={false}` |
39
+ | `iconScale` | `boolean` | `true` | Auto-scales `iconComponent` to the ICON_SIZES map for the active size |
40
+ | `hasStatus` | `boolean` | `false` | Shows a `Badge` dot positioned on the avatar corner (requires a `Badge` wrapper in the parent) |
41
+ | `disabled` | `boolean` | `false` | Applies `opacity: 0.4; pointer-events: none` |
42
+ | `tooltip` | `TooltipObject \| boolean` | `false` | Tooltip config; `false` disables it; object keys map to ds-tooltip props |
43
+ | `src` | `string` | `undefined` | Image URL; empty string `""` is treated as `undefined` |
44
+ | `children` | `ReactNode` | `undefined` | Text initials or other content |
45
+ | `shape` | `'circle' \| 'square'` | `'circle'` | Avatar shape |
46
+
47
+ Sizes in px: `small` = 24, `medium` = 40, `large` = 84, `extraLarge` = 120.
48
+
49
+ Icon sizes auto-scaled: `small` → 16px, `medium` → 24px, `large` → 30px, `extraLarge` → 42px. Exception: if the icon component name ends with `S` (small variant), `small` size is scaled to 24px instead.
50
+
51
+ ### `UserAvatar`
52
+
53
+ High-level avatar for a user/client. Circle shape, auto-tooltip from user data.
54
+
55
+ | Prop | Type | Default | Description |
56
+ |------|------|---------|-------------|
57
+ | `user` | `UserAvatar` | `{}` | `{ firstName?, lastName?, email?, avatar?, avatarId? }` |
58
+ | `backgroundColor` | `'auto' \| Color \| string` | `undefined` | `'auto'` picks color from first initial; dash-separated `'grey-800'` sets both color and hue |
59
+ | `badgeStatus` | `BadgeStatus` | `undefined` | Wraps in `<Badge status>` when set; disables when `disabled=true` |
60
+ | `iconComponent` | `ReactNode` | `undefined` | Replaces the default `UserM`/`UserS` fallback icon |
61
+ | `size` | `Size` | `undefined` | Passed through to base Avatar |
62
+ | `tooltip` | `TooltipObject \| boolean` | auto from `user` | `undefined`/`true` → auto-builds tooltip from `firstName`+`lastName`+`email`; `false` disables it |
63
+ | `text` | `string` | `undefined` | Override initials text |
64
+ | `src` | `string` | `undefined` | Overrides `user.avatar` URL |
65
+ | `disabled` | `boolean` | `undefined` | Passed through |
66
+ | `style` | `CSSProperties` | `undefined` | Applied to outer wrapper if `badgeStatus` is set, or to the avatar directly |
67
+
68
+ **Render priority:** `avatar`/`src` photo → text initials (name or `text`) → default SVG (when `avatarId` is set) → fallback `UserM`/`UserS` icon.
69
+
70
+ `user.avatarId` is hashed deterministically to select one of 100 default SVGs. If `avatarId` is set and there are no initials or photo, the SVG is used and background is transparent.
71
+
72
+ Tooltip is auto-generated from user data when `tooltip` is `undefined` or `true` — no need to pass tooltip props manually.
73
+
74
+ ### `ObjectAvatar`
75
+
76
+ High-level avatar for objects/entities (products, campaigns, etc.). Square shape, mail icon fallback.
77
+
78
+ | Prop | Type | Default | Description |
79
+ |------|------|---------|-------------|
80
+ | `object` | `ObjectAvatar` | `{}` | `{ name?, description?, status?, avatar? }` |
81
+ | `color` | `Color` | `'grey'` | Color for the fallback icon (when no text/image) |
82
+ | `backgroundColor` | `'auto' \| Color \| string` | `undefined` | Background color; overrides auto-color from `object.name` |
83
+ | `badgeStatus` | `BadgeStatus` | `undefined` | Same as `UserAvatar` |
84
+ | `iconComponent` | `ReactNode` | `undefined` | Replaces default `MailM` fallback icon |
85
+ | `tooltip` | `TooltipObject \| boolean` | auto from `object` | `undefined` → auto-builds from `object.name`/`description`/`status`; `false` disables it |
86
+ | `text` | `string` | `undefined` | Override initials (uppercased) |
87
+ | `size` | `Size` | `undefined` | Passed through |
88
+ | `disabled` | `boolean` | `undefined` | Passed through |
89
+
90
+ Unlike `UserAvatar`, ObjectAvatar tooltip auto-generates only when `tooltip === undefined` (not when `true`).
91
+
92
+ ### `DefaultAvatarIcon`
93
+
94
+ Renders one of the 100 built-in SVG avatars by index.
95
+
96
+ | Prop | Type | Default | Description |
97
+ |------|------|---------|-------------|
98
+ | `index` | `number` | **required** | Index 0–99; wraps via modulo so any integer is safe |
99
+
100
+ ### `TOTAL_DEFAULT_AVATARS`
101
+
102
+ Exported constant — `100`. The actual number of built-in SVGs in `defaultAvatars/`.
103
+
104
+ ### Exported types
105
+
106
+ - `AvatarProps` — base Avatar props
107
+ - `UserAvatarProps` — UserAvatar props
108
+ - `ObjectAvatarProps` — ObjectAvatar props
109
+ - `UserAvatarType` — the `UserAvatar` data shape (`firstName`, `lastName`, `email`, `avatar`, `avatarId`)
110
+ - `ObjectAvatarType` — the `ObjectAvatar` data shape (`name`, `description`, `status`, `avatar`)
111
+ - `TooltipObject` — `Omit<TooltipProps, 'children'> & { name?, email? }` (backwards-compat aliases)
112
+ - `AvatarSize` — `'small' | 'medium' | 'large' | 'extraLarge' | undefined`
113
+
114
+ ## Usage patterns
115
+
116
+ ```tsx
117
+ import Avatar, { UserAvatar, ObjectAvatar } from '@synerise/ds-avatar';
118
+ import Icon, { FileM } from '@synerise/ds-icon';
119
+
120
+ // Basic with initials
121
+ <Avatar backgroundColor="blue" backgroundColorHue="600" size="medium">JD</Avatar>
122
+
123
+ // With photo
124
+ <Avatar src="https://example.com/photo.jpg" size="medium" />
125
+
126
+ // With icon
127
+ <Avatar backgroundColor="fern" size="large" iconComponent={<Icon component={<FileM />} />} />
128
+
129
+ // With tooltip (backwards-compat name/email keys)
130
+ <Avatar backgroundColor="blue" tooltip={{ name: 'John Doe', email: 'jd@example.com' }}>JD</Avatar>
131
+
132
+ // UserAvatar — auto-initials and auto-tooltip
133
+ <UserAvatar
134
+ user={{ firstName: 'John', lastName: 'Doe', email: 'jd@example.com' }}
135
+ size="medium"
136
+ />
137
+
138
+ // UserAvatar with default SVG avatar
139
+ <UserAvatar user={{ avatarId: 42 }} size="medium" />
140
+
141
+ // UserAvatar with badge
142
+ import Badge from '@synerise/ds-badge';
143
+ <UserAvatar user={{ firstName: 'Jane' }} badgeStatus="active" />
144
+
145
+ // ObjectAvatar
146
+ <ObjectAvatar
147
+ object={{ name: 'Campaign', description: 'Email campaign', status: 'Active' }}
148
+ size="medium"
149
+ />
150
+
151
+ // Disabled
152
+ <Avatar disabled backgroundColor="grey">AB</Avatar>
153
+ ```
154
+
155
+ ## Tooltip API
156
+
157
+ `tooltip` accepts `boolean | TooltipObject`. `TooltipObject` extends `TooltipProps` with backwards-compatible aliases:
158
+ - `name` → aliased to `title`
159
+ - `email` → aliased to `description`
160
+
161
+ Tooltip type is auto-determined: if exactly one of `title`, `description`, `status` is set → `'default'`; multiple → `'largeSimple'`.
162
+
163
+ `UserAvatar` and `ObjectAvatar` build the tooltip automatically from their data props when `tooltip` is not explicitly set.
164
+
165
+ ## Styling
166
+
167
+ Styles in `Avatar.styles.tsx`. A DS-native `AvatarBase` renders the `ant-avatar` root + `ant-avatar-string`/`<img>` child (with `ds-avatar-*` class hooks added alongside the `ant-*` ones during the antd-removal interim); the `StyledAvatar` styled-component applies all visual styling via props and styled sub-component references (`${AvatarString}`) — no `.ant-*` class selectors, except the cross-component `& ~ .ant-badge-dot` sibling (the dot is owned by ds-badge). Key styles:
168
+
169
+ - Dimensions per size set directly in CSS: `small` 24, `medium` 40, `large` 84, `extraLarge` 120 px
170
+ - Background applied via `theme.palette[${backgroundColor}-${backgroundColorHue}]` — requires both to be valid token fragments
171
+ - Badge dot (`ds-badge-dot`) is hidden by default; shown when `hasStatus=true` with size/shape-specific positioning from `BADGE_POSITION` map
172
+ - Hover/active darken overlay via `::before` pseudo-element — only applied when `onClick` or `hasTooltip` is truthy
173
+ - Font sizes per size via `MACRO_MAPPING` (xsAvatar, small, xlAvatar macros from ds-typography)
174
+
175
+ ## Key dependencies
176
+
177
+ - `@synerise/ds-badge` — wraps avatar when `badgeStatus` is set in UserAvatar / ObjectAvatar
178
+ - `@synerise/ds-tooltip` — always rendered as wrapper; skipped visually when no tooltip content
179
+ - `@synerise/ds-status` — used in ObjectAvatar default tooltip for `object.status`
180
+ - `@synerise/ds-utils` (`useOnClickOutside`, `selectColorByLetter`) — `selectColorByLetter` drives auto-color from initials
181
+ - `@svgr/core` (devDep) — SVGs in `build/svg/` are compiled to React components via `build:svgr`
182
+
183
+ ## Implementation notes
184
+
185
+ - `src=""` (empty string) is explicitly converted to `undefined` to prevent showing a broken image.
186
+ - `backgroundColor` is a string passed directly into `theme.palette[…]` key lookup — invalid color+hue combos silently produce `undefined` background.
187
+ - The 100 default SVG components in `defaultAvatars/` are **auto-generated** by `build:svgr` — do not edit them manually; regenerate via `pnpm run build:svgr`.
188
+ - `getDefaultAvatarIndex` uses a simple djb2-style hash on the string form of `avatarId` — the same `avatarId` always maps to the same avatar across all environments.
189
+ - `getColorByText` supports a `'color-hue'` dash-separated string shorthand for `backgroundColor` (e.g. `'grey-800'`) — this bypasses the separate `backgroundColorHue` prop entirely.
190
+ - When `badgeStatus` is used in `UserAvatar`/`ObjectAvatar`, the `style` prop is applied to a wrapping `<span>` instead of the avatar, to avoid breaking the badge positioning.
191
+ - `hasStatus` on the base `Avatar` only controls CSS visibility of the `ds-badge-dot` — the actual `Badge` component must be provided by the parent (UserAvatar/ObjectAvatar handle this internally).
@@ -1,103 +1,103 @@
1
1
  import { ComponentType } from 'react';
2
- export { default as Icon0001 } from './Icon0001';
3
- export { default as Icon0003 } from './Icon0003';
4
2
  export { default as Icon0004 } from './Icon0004';
5
3
  export { default as Icon0007 } from './Icon0007';
6
4
  export { default as Icon0011 } from './Icon0011';
7
5
  export { default as Icon0012 } from './Icon0012';
8
- export { default as Icon0015 } from './Icon0015';
6
+ export { default as Icon0014 } from './Icon0014';
9
7
  export { default as Icon0022 } from './Icon0022';
8
+ export { default as Icon0024 } from './Icon0024';
9
+ export { default as Icon0001 } from './Icon0001';
10
+ export { default as Icon0003 } from './Icon0003';
10
11
  export { default as Icon0025 } from './Icon0025';
11
- export { default as Icon0014 } from './Icon0014';
12
- export { default as Icon0029 } from './Icon0029';
13
12
  export { default as Icon0027 } from './Icon0027';
13
+ export { default as Icon0029 } from './Icon0029';
14
14
  export { default as Icon0030 } from './Icon0030';
15
- export { default as Icon0024 } from './Icon0024';
16
- export { default as Icon0039 } from './Icon0039';
17
- export { default as Icon0031 } from './Icon0031';
18
- export { default as Icon0032 } from './Icon0032';
15
+ export { default as Icon0033 } from './Icon0033';
19
16
  export { default as Icon0038 } from './Icon0038';
20
- export { default as Icon0042 } from './Icon0042';
17
+ export { default as Icon0031 } from './Icon0031';
21
18
  export { default as Icon0040 } from './Icon0040';
22
19
  export { default as Icon0041 } from './Icon0041';
23
- export { default as Icon0044 } from './Icon0044';
24
- export { default as Icon0049 } from './Icon0049';
25
- export { default as Icon0051 } from './Icon0051';
26
20
  export { default as Icon0043 } from './Icon0043';
21
+ export { default as Icon0048 } from './Icon0048';
22
+ export { default as Icon0049 } from './Icon0049';
23
+ export { default as Icon0044 } from './Icon0044';
27
24
  export { default as Icon0050 } from './Icon0050';
25
+ export { default as Icon0051 } from './Icon0051';
28
26
  export { default as Icon0053 } from './Icon0053';
29
- export { default as Icon0056 } from './Icon0056';
30
- export { default as Icon0048 } from './Icon0048';
27
+ export { default as Icon0032 } from './Icon0032';
31
28
  export { default as Icon0054 } from './Icon0054';
32
29
  export { default as Icon0055 } from './Icon0055';
33
- export { default as Icon0058 } from './Icon0058';
34
- export { default as Icon0060 } from './Icon0060';
35
30
  export { default as Icon0061 } from './Icon0061';
31
+ export { default as Icon0060 } from './Icon0060';
36
32
  export { default as Icon0066 } from './Icon0066';
33
+ export { default as Icon0056 } from './Icon0056';
34
+ export { default as Icon0058 } from './Icon0058';
37
35
  export { default as Icon0067 } from './Icon0067';
38
36
  export { default as Icon0070 } from './Icon0070';
39
- export { default as Icon0073 } from './Icon0073';
40
37
  export { default as Icon0071 } from './Icon0071';
38
+ export { default as Icon0073 } from './Icon0073';
41
39
  export { default as Icon0074 } from './Icon0074';
42
40
  export { default as Icon0075 } from './Icon0075';
43
41
  export { default as Icon0076 } from './Icon0076';
42
+ export { default as Icon0077 } from './Icon0077';
44
43
  export { default as Icon0082 } from './Icon0082';
45
44
  export { default as Icon0083 } from './Icon0083';
46
45
  export { default as Icon0084 } from './Icon0084';
47
46
  export { default as Icon0088 } from './Icon0088';
48
47
  export { default as Icon0089 } from './Icon0089';
49
- export { default as Icon0091 } from './Icon0091';
50
48
  export { default as Icon0090 } from './Icon0090';
49
+ export { default as Icon0091 } from './Icon0091';
51
50
  export { default as Icon0092 } from './Icon0092';
52
51
  export { default as Icon0095 } from './Icon0095';
53
52
  export { default as Icon0098 } from './Icon0098';
54
53
  export { default as Icon0100 } from './Icon0100';
55
54
  export { default as Icon0101 } from './Icon0101';
56
- export { default as Icon0103 } from './Icon0103';
57
55
  export { default as Icon0102 } from './Icon0102';
58
56
  export { default as Icon0105 } from './Icon0105';
57
+ export { default as Icon0103 } from './Icon0103';
59
58
  export { default as Icon0106 } from './Icon0106';
60
59
  export { default as Icon0107 } from './Icon0107';
61
- export { default as Icon0079 } from './Icon0079';
62
60
  export { default as Icon0108 } from './Icon0108';
63
61
  export { default as Icon0109 } from './Icon0109';
64
62
  export { default as Icon0110 } from './Icon0110';
65
- export { default as Icon0112 } from './Icon0112';
66
63
  export { default as Icon0111 } from './Icon0111';
64
+ export { default as Icon0112 } from './Icon0112';
67
65
  export { default as Icon0114 } from './Icon0114';
68
66
  export { default as Icon0115 } from './Icon0115';
69
67
  export { default as Icon0116 } from './Icon0116';
70
- export { default as Icon0119 } from './Icon0119';
71
68
  export { default as Icon0118 } from './Icon0118';
72
- export { default as Icon0124 } from './Icon0124';
73
69
  export { default as Icon0120 } from './Icon0120';
70
+ export { default as Icon0122 } from './Icon0122';
74
71
  export { default as Icon0123 } from './Icon0123';
72
+ export { default as Icon0124 } from './Icon0124';
75
73
  export { default as Icon0125 } from './Icon0125';
76
- export { default as Icon0128 } from './Icon0128';
77
74
  export { default as Icon0126 } from './Icon0126';
78
- export { default as Icon0122 } from './Icon0122';
75
+ export { default as Icon0127 } from './Icon0127';
76
+ export { default as Icon0128 } from './Icon0128';
79
77
  export { default as Icon0129 } from './Icon0129';
80
78
  export { default as Icon0130 } from './Icon0130';
81
79
  export { default as Icon0132 } from './Icon0132';
82
- export { default as Icon0127 } from './Icon0127';
83
80
  export { default as Icon0133 } from './Icon0133';
81
+ export { default as Icon0137 } from './Icon0137';
84
82
  export { default as Icon0134 } from './Icon0134';
85
83
  export { default as Icon0138 } from './Icon0138';
86
84
  export { default as Icon0139 } from './Icon0139';
87
85
  export { default as Icon0140 } from './Icon0140';
88
86
  export { default as Icon0141 } from './Icon0141';
89
87
  export { default as Icon0142 } from './Icon0142';
90
- export { default as Icon0144 } from './Icon0144';
91
88
  export { default as Icon0143 } from './Icon0143';
89
+ export { default as Icon0144 } from './Icon0144';
92
90
  export { default as Icon0145 } from './Icon0145';
93
- export { default as Icon0137 } from './Icon0137';
94
91
  export { default as Icon0146 } from './Icon0146';
95
92
  export { default as Icon0147 } from './Icon0147';
96
93
  export { default as Icon0148 } from './Icon0148';
97
- export { default as Icon015 } from './Icon015';
98
94
  export { default as Icon0149 } from './Icon0149';
99
- export { default as Icon0077 } from './Icon0077';
95
+ export { default as Icon015 } from './Icon015';
96
+ export { default as Icon0015 } from './Icon0015';
97
+ export { default as Icon0039 } from './Icon0039';
98
+ export { default as Icon0042 } from './Icon0042';
99
+ export { default as Icon0119 } from './Icon0119';
100
100
  export { default as Icon0078 } from './Icon0078';
101
- export { default as Icon0033 } from './Icon0033';
101
+ export { default as Icon0079 } from './Icon0079';
102
102
  export declare const DEFAULT_AVATARS: ComponentType<React.SVGProps<SVGSVGElement>>[];
103
103
  export declare const TOTAL_DEFAULT_AVATARS = 100;
@@ -1,102 +1,102 @@
1
- import Icon0003 from "./Icon0003.js";
2
1
  import Icon0001 from "./Icon0001.js";
2
+ import Icon0003 from "./Icon0003.js";
3
3
  import Icon0011 from "./Icon0011.js";
4
4
  import Icon0007 from "./Icon0007.js";
5
- import Icon0004 from "./Icon0004.js";
6
5
  import Icon0012 from "./Icon0012.js";
7
- import Icon0015 from "./Icon0015.js";
8
6
  import Icon0014 from "./Icon0014.js";
7
+ import Icon0004 from "./Icon0004.js";
8
+ import Icon0015 from "./Icon0015.js";
9
9
  import Icon0024 from "./Icon0024.js";
10
- import Icon0022 from "./Icon0022.js";
11
- import Icon0025 from "./Icon0025.js";
12
- import Icon0029 from "./Icon0029.js";
13
10
  import Icon0027 from "./Icon0027.js";
14
- import Icon0030 from "./Icon0030.js";
15
11
  import Icon0031 from "./Icon0031.js";
16
- import Icon0032 from "./Icon0032.js";
17
12
  import Icon0033 from "./Icon0033.js";
13
+ import Icon0029 from "./Icon0029.js";
14
+ import Icon0032 from "./Icon0032.js";
15
+ import Icon0038 from "./Icon0038.js";
18
16
  import Icon0039 from "./Icon0039.js";
17
+ import Icon0025 from "./Icon0025.js";
18
+ import Icon0042 from "./Icon0042.js";
19
19
  import Icon0040 from "./Icon0040.js";
20
- import Icon0038 from "./Icon0038.js";
21
- import Icon0041 from "./Icon0041.js";
20
+ import Icon0048 from "./Icon0048.js";
22
21
  import Icon0043 from "./Icon0043.js";
23
- import Icon0042 from "./Icon0042.js";
24
22
  import Icon0044 from "./Icon0044.js";
25
- import Icon0048 from "./Icon0048.js";
26
- import Icon0051 from "./Icon0051.js";
23
+ import Icon0041 from "./Icon0041.js";
24
+ import Icon0050 from "./Icon0050.js";
27
25
  import Icon0049 from "./Icon0049.js";
26
+ import Icon0051 from "./Icon0051.js";
27
+ import Icon0022 from "./Icon0022.js";
28
28
  import Icon0053 from "./Icon0053.js";
29
- import Icon0050 from "./Icon0050.js";
30
- import Icon0056 from "./Icon0056.js";
31
- import Icon0055 from "./Icon0055.js";
32
- import Icon0058 from "./Icon0058.js";
33
29
  import Icon0054 from "./Icon0054.js";
30
+ import Icon0055 from "./Icon0055.js";
34
31
  import Icon0060 from "./Icon0060.js";
35
- import Icon0066 from "./Icon0066.js";
36
- import Icon0067 from "./Icon0067.js";
37
- import Icon0071 from "./Icon0071.js";
38
32
  import Icon0061 from "./Icon0061.js";
33
+ import Icon0056 from "./Icon0056.js";
34
+ import Icon0058 from "./Icon0058.js";
35
+ import Icon0067 from "./Icon0067.js";
39
36
  import Icon0070 from "./Icon0070.js";
40
- import Icon0074 from "./Icon0074.js";
37
+ import Icon0071 from "./Icon0071.js";
38
+ import Icon0066 from "./Icon0066.js";
41
39
  import Icon0073 from "./Icon0073.js";
42
- import Icon0075 from "./Icon0075.js";
43
- import Icon0082 from "./Icon0082.js";
40
+ import Icon0030 from "./Icon0030.js";
44
41
  import Icon0077 from "./Icon0077.js";
45
- import Icon0083 from "./Icon0083.js";
42
+ import Icon0074 from "./Icon0074.js";
43
+ import Icon0075 from "./Icon0075.js";
44
+ import Icon0078 from "./Icon0078.js";
46
45
  import Icon0076 from "./Icon0076.js";
46
+ import Icon0083 from "./Icon0083.js";
47
47
  import Icon0084 from "./Icon0084.js";
48
- import Icon0079 from "./Icon0079.js";
49
- import Icon0089 from "./Icon0089.js";
50
- import Icon0091 from "./Icon0091.js";
51
- import Icon0090 from "./Icon0090.js";
52
48
  import Icon0088 from "./Icon0088.js";
53
- import Icon0078 from "./Icon0078.js";
54
- import Icon0095 from "./Icon0095.js";
49
+ import Icon0090 from "./Icon0090.js";
50
+ import Icon0089 from "./Icon0089.js";
51
+ import Icon0082 from "./Icon0082.js";
55
52
  import Icon0092 from "./Icon0092.js";
56
- import Icon0100 from "./Icon0100.js";
53
+ import Icon0095 from "./Icon0095.js";
54
+ import Icon0079 from "./Icon0079.js";
57
55
  import Icon0098 from "./Icon0098.js";
56
+ import Icon0100 from "./Icon0100.js";
57
+ import Icon0091 from "./Icon0091.js";
58
58
  import Icon0103 from "./Icon0103.js";
59
- import Icon0101 from "./Icon0101.js";
60
59
  import Icon0105 from "./Icon0105.js";
60
+ import Icon0101 from "./Icon0101.js";
61
61
  import Icon0102 from "./Icon0102.js";
62
62
  import Icon0106 from "./Icon0106.js";
63
+ import Icon0108 from "./Icon0108.js";
64
+ import Icon0110 from "./Icon0110.js";
63
65
  import Icon0107 from "./Icon0107.js";
64
66
  import Icon0109 from "./Icon0109.js";
65
- import Icon0110 from "./Icon0110.js";
66
- import Icon0108 from "./Icon0108.js";
67
- import Icon0111 from "./Icon0111.js";
68
67
  import Icon0112 from "./Icon0112.js";
69
68
  import Icon0114 from "./Icon0114.js";
70
- import Icon0118 from "./Icon0118.js";
69
+ import Icon0111 from "./Icon0111.js";
71
70
  import Icon0115 from "./Icon0115.js";
72
71
  import Icon0116 from "./Icon0116.js";
73
72
  import Icon0119 from "./Icon0119.js";
74
- import Icon0122 from "./Icon0122.js";
75
73
  import Icon0120 from "./Icon0120.js";
74
+ import Icon0118 from "./Icon0118.js";
76
75
  import Icon0123 from "./Icon0123.js";
77
- import Icon0125 from "./Icon0125.js";
78
- import Icon0124 from "./Icon0124.js";
79
76
  import Icon0126 from "./Icon0126.js";
77
+ import Icon0122 from "./Icon0122.js";
80
78
  import Icon0128 from "./Icon0128.js";
81
- import Icon0130 from "./Icon0130.js";
79
+ import Icon0124 from "./Icon0124.js";
82
80
  import Icon0127 from "./Icon0127.js";
81
+ import Icon0130 from "./Icon0130.js";
83
82
  import Icon0129 from "./Icon0129.js";
83
+ import Icon0125 from "./Icon0125.js";
84
84
  import Icon0133 from "./Icon0133.js";
85
+ import Icon0138 from "./Icon0138.js";
86
+ import Icon0137 from "./Icon0137.js";
85
87
  import Icon0132 from "./Icon0132.js";
88
+ import Icon0140 from "./Icon0140.js";
86
89
  import Icon0134 from "./Icon0134.js";
87
- import Icon0137 from "./Icon0137.js";
88
90
  import Icon0139 from "./Icon0139.js";
89
- import Icon0138 from "./Icon0138.js";
90
- import Icon0140 from "./Icon0140.js";
91
91
  import Icon0141 from "./Icon0141.js";
92
- import Icon0142 from "./Icon0142.js";
93
92
  import Icon0144 from "./Icon0144.js";
94
- import Icon0143 from "./Icon0143.js";
93
+ import Icon0142 from "./Icon0142.js";
95
94
  import Icon0145 from "./Icon0145.js";
96
95
  import Icon0146 from "./Icon0146.js";
96
+ import Icon0149 from "./Icon0149.js";
97
97
  import Icon0147 from "./Icon0147.js";
98
+ import Icon0143 from "./Icon0143.js";
98
99
  import Icon0148 from "./Icon0148.js";
99
- import Icon0149 from "./Icon0149.js";
100
100
  import Icon015 from "./Icon015.js";
101
101
  const DEFAULT_AVATARS = [Icon0001, Icon0003, Icon0004, Icon0007, Icon0011, Icon0012, Icon0014, Icon0015, Icon0022, Icon0024, Icon0025, Icon0027, Icon0029, Icon0030, Icon0031, Icon0032, Icon0033, Icon0038, Icon0039, Icon0040, Icon0041, Icon0042, Icon0043, Icon0044, Icon0048, Icon0049, Icon0050, Icon0051, Icon0053, Icon0054, Icon0055, Icon0056, Icon0058, Icon0060, Icon0061, Icon0066, Icon0067, Icon0070, Icon0071, Icon0073, Icon0074, Icon0075, Icon0076, Icon0077, Icon0078, Icon0079, Icon0082, Icon0083, Icon0084, Icon0088, Icon0089, Icon0090, Icon0091, Icon0092, Icon0095, Icon0098, Icon0100, Icon0101, Icon0102, Icon0103, Icon0105, Icon0106, Icon0107, Icon0108, Icon0109, Icon0110, Icon0111, Icon0112, Icon0114, Icon0115, Icon0116, Icon0118, Icon0119, Icon0120, Icon0122, Icon0123, Icon0124, Icon0125, Icon0126, Icon0127, Icon0128, Icon0129, Icon0130, Icon0132, Icon0133, Icon0134, Icon0137, Icon0138, Icon0139, Icon0140, Icon0141, Icon0142, Icon0143, Icon0144, Icon0145, Icon0146, Icon0147, Icon0148, Icon0149, Icon015];
102
102
  const TOTAL_DEFAULT_AVATARS = 100;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-avatar",
3
- "version": "1.3.18",
3
+ "version": "1.3.19",
4
4
  "description": "Avatar UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "synerise/synerise-design",
@@ -17,6 +17,7 @@
17
17
  "files": [
18
18
  "/dist",
19
19
  "CHANGELOG.md",
20
+ "CLAUDE.md",
20
21
  "README.md",
21
22
  "package.json",
22
23
  "LICENSE.md"
@@ -42,12 +43,12 @@
42
43
  ],
43
44
  "types": "dist/index.d.ts",
44
45
  "dependencies": {
45
- "@synerise/ds-badge": "^1.0.57",
46
- "@synerise/ds-icon": "^1.18.4",
47
- "@synerise/ds-status": "^1.3.31",
48
- "@synerise/ds-tooltip": "^1.5.3",
49
- "@synerise/ds-typography": "^1.1.26",
50
- "@synerise/ds-utils": "^1.10.1"
46
+ "@synerise/ds-badge": "^1.0.58",
47
+ "@synerise/ds-icon": "^1.18.5",
48
+ "@synerise/ds-status": "^1.3.32",
49
+ "@synerise/ds-tooltip": "^1.5.4",
50
+ "@synerise/ds-typography": "^1.1.27",
51
+ "@synerise/ds-utils": "^1.10.2"
51
52
  },
52
53
  "devDependencies": {
53
54
  "@svgr/core": "^8.1.0",
@@ -62,5 +63,5 @@
62
63
  "styled-components": "^5.3.3",
63
64
  "vitest": "4"
64
65
  },
65
- "gitHead": "d8c64070f58f14e3fb1bfbcbf00d1e3b8fd51eb8"
66
+ "gitHead": "d0a43cc43d8528a36f105aceea52ab470edb71d9"
66
67
  }