@atlaskit/avatar 25.15.1 → 26.0.1

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 (65) hide show
  1. package/Avatar/package.json +1 -8
  2. package/AvatarItem/package.json +1 -8
  3. package/CHANGELOG.md +34 -0
  4. package/Presence/package.json +1 -8
  5. package/Skeleton/package.json +1 -8
  6. package/Status/package.json +1 -8
  7. package/avatar/package.json +1 -8
  8. package/avatar-content/package.json +1 -8
  9. package/avatar-context/package.json +1 -8
  10. package/avatar-item/package.json +1 -8
  11. package/avatar.docs.tsx +217 -215
  12. package/constants/package.json +1 -8
  13. package/dist/cjs/avatar.js +2 -6
  14. package/dist/cjs/skeleton.js +1 -5
  15. package/dist/es2019/avatar.js +2 -6
  16. package/dist/es2019/skeleton.js +1 -5
  17. package/dist/esm/avatar.js +2 -6
  18. package/dist/esm/skeleton.js +1 -5
  19. package/get-appearance/package.json +1 -8
  20. package/package.json +18 -29
  21. package/presence/package.json +1 -8
  22. package/skeleton/package.json +1 -8
  23. package/status/package.json +1 -8
  24. package/types/package.json +1 -8
  25. package/use-avatar-context/package.json +1 -8
  26. package/dist/cjs/size-utils.js +0 -16
  27. package/dist/es2019/size-utils.js +0 -11
  28. package/dist/esm/size-utils.js +0 -10
  29. package/dist/types/size-utils.d.ts +0 -6
  30. package/dist/types-ts4.5/avatar-content.d.ts +0 -21
  31. package/dist/types-ts4.5/avatar-context.d.ts +0 -14
  32. package/dist/types-ts4.5/avatar-item.d.ts +0 -64
  33. package/dist/types-ts4.5/avatar-radius.d.ts +0 -2
  34. package/dist/types-ts4.5/avatar-sizes.d.ts +0 -2
  35. package/dist/types-ts4.5/avatar.d.ts +0 -126
  36. package/dist/types-ts4.5/constants.d.ts +0 -2
  37. package/dist/types-ts4.5/entry-points/avatar-content.d.ts +0 -1
  38. package/dist/types-ts4.5/entry-points/avatar-context.d.ts +0 -2
  39. package/dist/types-ts4.5/entry-points/avatar-item.d.ts +0 -2
  40. package/dist/types-ts4.5/entry-points/avatar.d.ts +0 -2
  41. package/dist/types-ts4.5/entry-points/constants.d.ts +0 -3
  42. package/dist/types-ts4.5/entry-points/get-appearance.d.ts +0 -1
  43. package/dist/types-ts4.5/entry-points/presence-old.d.ts +0 -3
  44. package/dist/types-ts4.5/entry-points/presence.d.ts +0 -2
  45. package/dist/types-ts4.5/entry-points/skeleton.d.ts +0 -2
  46. package/dist/types-ts4.5/entry-points/status-old.d.ts +0 -3
  47. package/dist/types-ts4.5/entry-points/status.d.ts +0 -2
  48. package/dist/types-ts4.5/entry-points/types.d.ts +0 -1
  49. package/dist/types-ts4.5/entry-points/use-avatar-context.d.ts +0 -1
  50. package/dist/types-ts4.5/get-appearance.d.ts +0 -3
  51. package/dist/types-ts4.5/index.d.ts +0 -19
  52. package/dist/types-ts4.5/internal/avatar-image.d.ts +0 -21
  53. package/dist/types-ts4.5/internal/content-context.d.ts +0 -29
  54. package/dist/types-ts4.5/internal/ensure-is-inside-avatar-context.d.ts +0 -5
  55. package/dist/types-ts4.5/internal/get-custom-element.d.ts +0 -3
  56. package/dist/types-ts4.5/internal/icon-wrapper.d.ts +0 -17
  57. package/dist/types-ts4.5/internal/presence-wrapper.d.ts +0 -19
  58. package/dist/types-ts4.5/internal/status-wrapper.d.ts +0 -19
  59. package/dist/types-ts4.5/internal/use-ensure-is-inside-avatar.d.ts +0 -1
  60. package/dist/types-ts4.5/presence.d.ts +0 -33
  61. package/dist/types-ts4.5/size-utils.d.ts +0 -6
  62. package/dist/types-ts4.5/skeleton.d.ts +0 -34
  63. package/dist/types-ts4.5/status.d.ts +0 -32
  64. package/dist/types-ts4.5/types.d.ts +0 -8
  65. package/dist/types-ts4.5/use-avatar-context.d.ts +0 -2
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/avatar.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/avatar.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/avatar.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/avatar-item.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/avatar-item.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/avatar-item.d.ts"
17
10
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @atlaskit/avatar
2
2
 
3
+ ## 26.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9810045072e34`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9810045072e34) -
8
+ Remove feature flag `platform_square_avatar_remove_xlarge_xxlarge_sizes`. Square avatars now
9
+ support all sizes including `xlarge` and `xxlarge`.
10
+
11
+ ## 26.0.0
12
+
13
+ ### Major Changes
14
+
15
+ - [`f2dc9097319f0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f2dc9097319f0) - ###
16
+ Dropped support for _legacy_ Typescript 4 types. **Typescript 5 is now the new minimum**.
17
+
18
+ Removes the `typesVersions` property and `dist/types-ts4.5` directory from the dist.
19
+
20
+ Types are now exclusively via the `"types": "dist/types/index.d.ts"` property.
21
+
22
+ ```diff
23
+ - "typesVersions": {
24
+ - ">=4.5 <4.9": {
25
+ - "*": [
26
+ - "dist/types-ts4.5/*",
27
+ - "dist/types-ts4.5/index.d.ts"
28
+ - ]
29
+ - }
30
+ - },
31
+ ```
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies
36
+
3
37
  ## 25.15.1
4
38
 
5
39
  ### Patch Changes
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/presence-old.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/presence-old.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/presence-old.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/skeleton.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/skeleton.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/skeleton.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/status-old.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/status-old.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/status-old.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/avatar.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/avatar.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/avatar.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/avatar-content.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/avatar-content.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/avatar-content.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/avatar-context.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/avatar-context.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/avatar-context.d.ts"
17
10
  }
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/avatar-item.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/avatar-item.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/avatar-item.d.ts"
17
10
  }
package/avatar.docs.tsx CHANGED
@@ -1,236 +1,238 @@
1
1
  import path from 'path';
2
2
 
3
- import type { ComponentStructuredContentSource } from '@atlassian/structured-docs-types';
3
+ import type { StructuredContentSource } from '@atlassian/structured-docs-types/types';
4
4
 
5
- const documentation: ComponentStructuredContentSource[] = [
6
- {
7
- name: 'Avatar',
8
- description:
9
- 'A component for displaying user avatars with support for images, initials, and status indicators.',
10
- status: 'general-availability',
11
- import: {
5
+ const documentation: StructuredContentSource = {
6
+ components: [
7
+ {
12
8
  name: 'Avatar',
13
- package: '@atlaskit/avatar',
14
- type: 'default',
15
- packagePath: path.resolve(__dirname),
16
- packageJson: require('./package.json'),
17
- },
18
- usageGuidelines: [
19
- 'Use for user or entity (repo, space). Circle = person; hexagon = agent/AI; square = project/repo/space',
20
- 'Use presence for availability; status for approval/permission states',
21
- 'Use consistent sizing within the same context',
22
- 'Place avatars in logical groupings (e.g., team members)',
23
- 'Use presence indicators sparingly for real-time status only',
24
- 'Provide fallback initials when images fail to load',
25
- 'Always provide meaningful names for accessibility',
26
- 'Use the `name` prop to include alternative text for screen readers',
27
- 'For decorative images, remove the `name` prop or leave it empty so it will be ignored by assistive technologies',
28
- "Don't use a tooltip with an avatar when it's non-interactive or disabled. The tooltip won't work for keyboard users and screen readers",
29
- ],
30
- contentGuidelines: [
31
- 'Use full names when possible for better recognition',
32
- 'For companies/projects, use descriptive names',
33
- "Avoid generic terms like 'User' or 'Admin'",
34
- 'Use consistent naming conventions across your app',
35
- 'Keep names concise but meaningful',
36
- ],
37
- examples: [
38
- {
9
+ description:
10
+ 'A component for displaying user avatars with support for images, initials, and status indicators.',
11
+ status: 'general-availability',
12
+ import: {
39
13
  name: 'Avatar',
40
- description: 'Avatar example',
41
- source: path.resolve(__dirname, './examples/ai/avatar.tsx'),
14
+ package: '@atlaskit/avatar',
15
+ type: 'default',
16
+ packagePath: path.resolve(__dirname),
17
+ packageJson: require('./package.json'),
42
18
  },
43
- ],
44
- keywords: ['avatar', 'user', 'profile', 'image', 'presence', 'status', 'representation'],
45
- categories: ['images', 'data-display'],
46
- },
47
- {
48
- name: 'AvatarItem',
49
- description:
50
- 'A component that combines an avatar with text content for displaying user information in lists. AvatarItem combines an avatar with primary and secondary text to create a rich user representation in lists and menus. It supports both interactive (clickable) and non-interactive modes, making it perfect for user lists, team members, or any context where you need to display user information with actions.',
51
- status: 'general-availability',
52
- import: {
53
- name: 'AvatarItem',
54
- package: '@atlaskit/avatar',
55
- type: 'named',
56
- packagePath: path.resolve(__dirname),
57
- packageJson: require('./package.json'),
19
+ usageGuidelines: [
20
+ 'Use for user or entity (repo, space). Circle = person; hexagon = agent/AI; square = project/repo/space',
21
+ 'Use presence for availability; status for approval/permission states',
22
+ 'Use consistent sizing within the same context',
23
+ 'Place avatars in logical groupings (e.g., team members)',
24
+ 'Use presence indicators sparingly for real-time status only',
25
+ 'Provide fallback initials when images fail to load',
26
+ 'Always provide meaningful names for accessibility',
27
+ 'Use the `name` prop to include alternative text for screen readers',
28
+ 'For decorative images, remove the `name` prop or leave it empty so it will be ignored by assistive technologies',
29
+ "Don't use a tooltip with an avatar when it's non-interactive or disabled. The tooltip won't work for keyboard users and screen readers",
30
+ ],
31
+ contentGuidelines: [
32
+ 'Use full names when possible for better recognition',
33
+ 'For companies/projects, use descriptive names',
34
+ "Avoid generic terms like 'User' or 'Admin'",
35
+ 'Use consistent naming conventions across your app',
36
+ 'Keep names concise but meaningful',
37
+ ],
38
+ examples: [
39
+ {
40
+ name: 'Avatar',
41
+ description: 'Avatar example',
42
+ source: path.resolve(__dirname, './examples/ai/avatar.tsx'),
43
+ },
44
+ ],
45
+ keywords: ['avatar', 'user', 'profile', 'image', 'presence', 'status', 'representation'],
46
+ categories: ['images', 'data-display'],
58
47
  },
59
- usageGuidelines: [
60
- 'Use for displaying user information in lists and menus',
61
- 'Choose between interactive and display-only based on context',
62
- 'Provide clear primary and secondary text hierarchy',
63
- 'Use consistent spacing and alignment within lists',
64
- 'Consider the interaction pattern before implementation',
65
- 'Use AvatarItem when you need to show user information with additional context like names, emails, or status information',
66
- 'Provide clear primary and secondary text',
67
- 'Use meaningful labels for accessibility',
68
- 'Consider the interaction pattern (clickable vs display-only) based on your use case',
69
- ],
70
- contentGuidelines: [
71
- 'Use clear, descriptive primary text (usually names)',
72
- 'Provide relevant secondary text (emails, roles, etc.)',
73
- 'Keep text concise but informative',
74
- 'Use consistent formatting across similar items',
75
- 'Avoid redundant information between primary and secondary text',
76
- ],
77
- examples: [
78
- {
79
- name: 'Avatar Item',
80
- description: 'Avatar Item example',
81
- source: path.resolve(__dirname, './examples/ai/avatar-item.tsx'),
48
+ {
49
+ name: 'AvatarItem',
50
+ description:
51
+ 'A component that combines an avatar with text content for displaying user information in lists. AvatarItem combines an avatar with primary and secondary text to create a rich user representation in lists and menus. It supports both interactive (clickable) and non-interactive modes, making it perfect for user lists, team members, or any context where you need to display user information with actions.',
52
+ status: 'general-availability',
53
+ import: {
54
+ name: 'AvatarItem',
55
+ package: '@atlaskit/avatar',
56
+ type: 'named',
57
+ packagePath: path.resolve(__dirname),
58
+ packageJson: require('./package.json'),
82
59
  },
83
- ],
84
- keywords: ['avatar', 'item', 'list', 'user', 'profile', 'interactive'],
85
- categories: ['images', 'data-display', 'interaction'],
86
- },
87
- {
88
- name: 'Presence',
89
- description:
90
- "A standalone component for displaying user presence indicators. Presence indicators show the current availability status of users. They help other users understand when someone is available for communication and are useful in collaborative applications where knowing someone's availability is important for workflow.",
91
- status: 'general-availability',
92
- import: {
93
- name: 'Presence',
94
- package: '@atlaskit/avatar',
95
- type: 'named',
96
- packagePath: path.resolve(__dirname),
97
- packageJson: require('./package.json'),
60
+ usageGuidelines: [
61
+ 'Use for displaying user information in lists and menus',
62
+ 'Choose between interactive and display-only based on context',
63
+ 'Provide clear primary and secondary text hierarchy',
64
+ 'Use consistent spacing and alignment within lists',
65
+ 'Consider the interaction pattern before implementation',
66
+ 'Use AvatarItem when you need to show user information with additional context like names, emails, or status information',
67
+ 'Provide clear primary and secondary text',
68
+ 'Use meaningful labels for accessibility',
69
+ 'Consider the interaction pattern (clickable vs display-only) based on your use case',
70
+ ],
71
+ contentGuidelines: [
72
+ 'Use clear, descriptive primary text (usually names)',
73
+ 'Provide relevant secondary text (emails, roles, etc.)',
74
+ 'Keep text concise but informative',
75
+ 'Use consistent formatting across similar items',
76
+ 'Avoid redundant information between primary and secondary text',
77
+ ],
78
+ examples: [
79
+ {
80
+ name: 'Avatar Item',
81
+ description: 'Avatar Item example',
82
+ source: path.resolve(__dirname, './examples/ai/avatar-item.tsx'),
83
+ },
84
+ ],
85
+ keywords: ['avatar', 'item', 'list', 'user', 'profile', 'interactive'],
86
+ categories: ['images', 'data-display', 'interaction'],
98
87
  },
99
- usageGuidelines: [
100
- 'Prefer using `<Avatar presence="…" />` instead of `<Presence presence="…" />`',
101
- 'Use sparingly for real-time status only',
102
- "Don't overuse as they can create visual clutter",
103
- 'Show presence only when relevant to user workflow',
104
- 'Use consistent presence states across the application',
105
- 'Consider the context and user needs before showing presence',
106
- 'Use presence indicators sparingly for real-time status',
107
- "Don't overuse them as they can create visual clutter",
108
- "Only show presence when it's relevant to the user's workflow",
109
- ],
110
- contentGuidelines: [
111
- 'Use clear, universally understood presence states',
112
- 'Be consistent with presence terminology',
113
- 'Provide clear visual distinction between states',
114
- 'Avoid ambiguous or unclear presence indicators',
115
- ],
116
- examples: [
117
- {
88
+ {
89
+ name: 'Presence',
90
+ description:
91
+ "A standalone component for displaying user presence indicators. Presence indicators show the current availability status of users. They help other users understand when someone is available for communication and are useful in collaborative applications where knowing someone's availability is important for workflow.",
92
+ status: 'general-availability',
93
+ import: {
118
94
  name: 'Presence',
119
- description: 'Presence example',
120
- source: path.resolve(__dirname, './examples/ai/presence.tsx'),
95
+ package: '@atlaskit/avatar',
96
+ type: 'named',
97
+ packagePath: path.resolve(__dirname),
98
+ packageJson: require('./package.json'),
121
99
  },
122
- ],
123
- keywords: ['presence', 'status', 'online', 'offline', 'busy', 'focus', 'indicator'],
124
- categories: ['status', 'data-display'],
125
- },
126
- {
127
- name: 'Status',
128
- description:
129
- 'A standalone component for displaying status indicators. Status indicators show the approval or permission state of users or entities. They help communicate important state information at a glance and are useful in workflow applications where approval states or permissions are important for user understanding.',
130
- status: 'general-availability',
131
- import: {
132
- name: 'Status',
133
- package: '@atlaskit/avatar',
134
- type: 'named',
135
- packagePath: path.resolve(__dirname),
136
- packageJson: require('./package.json'),
100
+ usageGuidelines: [
101
+ 'Prefer using `<Avatar presence="…" />` instead of `<Presence presence="…" />`',
102
+ 'Use sparingly for real-time status only',
103
+ "Don't overuse as they can create visual clutter",
104
+ 'Show presence only when relevant to user workflow',
105
+ 'Use consistent presence states across the application',
106
+ 'Consider the context and user needs before showing presence',
107
+ 'Use presence indicators sparingly for real-time status',
108
+ "Don't overuse them as they can create visual clutter",
109
+ "Only show presence when it's relevant to the user's workflow",
110
+ ],
111
+ contentGuidelines: [
112
+ 'Use clear, universally understood presence states',
113
+ 'Be consistent with presence terminology',
114
+ 'Provide clear visual distinction between states',
115
+ 'Avoid ambiguous or unclear presence indicators',
116
+ ],
117
+ examples: [
118
+ {
119
+ name: 'Presence',
120
+ description: 'Presence example',
121
+ source: path.resolve(__dirname, './examples/ai/presence.tsx'),
122
+ },
123
+ ],
124
+ keywords: ['presence', 'status', 'online', 'offline', 'busy', 'focus', 'indicator'],
125
+ categories: ['status', 'data-display'],
137
126
  },
138
- usageGuidelines: [
139
- 'Prefer using `<Avatar status="…" />` instead of `<Status status="…" />`',
140
- 'Use for approval states, permission levels, or important state information',
141
- 'Make sure the status is relevant and helpful to user workflow',
142
- 'Use consistent status states across the application',
143
- 'Consider the context and user needs before showing status',
144
- "Don't overuse status indicators to avoid visual clutter",
145
- 'Use status indicators to show approval states, permission levels, or other important state information that affects how users should interact with the entity',
146
- "Make sure the status is relevant and helpful to the user's workflow",
147
- ],
148
- contentGuidelines: [
149
- 'Use clear, universally understood status states',
150
- 'Be consistent with status terminology',
151
- 'Provide clear visual distinction between states',
152
- 'Avoid ambiguous or unclear status indicators',
153
- ],
154
- examples: [
155
- {
127
+ {
128
+ name: 'Status',
129
+ description:
130
+ 'A standalone component for displaying status indicators. Status indicators show the approval or permission state of users or entities. They help communicate important state information at a glance and are useful in workflow applications where approval states or permissions are important for user understanding.',
131
+ status: 'general-availability',
132
+ import: {
156
133
  name: 'Status',
157
- description: 'Status example',
158
- source: path.resolve(__dirname, './examples/ai/status.tsx'),
134
+ package: '@atlaskit/avatar',
135
+ type: 'named',
136
+ packagePath: path.resolve(__dirname),
137
+ packageJson: require('./package.json'),
159
138
  },
160
- ],
161
- keywords: ['status', 'approved', 'declined', 'locked', 'indicator', 'permission'],
162
- categories: ['status', 'data-display'],
163
- },
164
- {
165
- name: 'Skeleton',
166
- description:
167
- "A skeleton loading component for avatars that shows a placeholder while content is loading. Skeleton components provide visual feedback during loading states, helping users understand that content is being fetched. Skeleton components should match the size and shape of the actual content they're replacing to prevent layout shifts.",
168
- status: 'general-availability',
169
- import: {
170
- name: 'Skeleton',
171
- package: '@atlaskit/avatar',
172
- type: 'named',
173
- packagePath: path.resolve(__dirname),
174
- packageJson: require('./package.json'),
139
+ usageGuidelines: [
140
+ 'Prefer using `<Avatar status="…" />` instead of `<Status status="…" />`',
141
+ 'Use for approval states, permission levels, or important state information',
142
+ 'Make sure the status is relevant and helpful to user workflow',
143
+ 'Use consistent status states across the application',
144
+ 'Consider the context and user needs before showing status',
145
+ "Don't overuse status indicators to avoid visual clutter",
146
+ 'Use status indicators to show approval states, permission levels, or other important state information that affects how users should interact with the entity',
147
+ "Make sure the status is relevant and helpful to the user's workflow",
148
+ ],
149
+ contentGuidelines: [
150
+ 'Use clear, universally understood status states',
151
+ 'Be consistent with status terminology',
152
+ 'Provide clear visual distinction between states',
153
+ 'Avoid ambiguous or unclear status indicators',
154
+ ],
155
+ examples: [
156
+ {
157
+ name: 'Status',
158
+ description: 'Status example',
159
+ source: path.resolve(__dirname, './examples/ai/status.tsx'),
160
+ },
161
+ ],
162
+ keywords: ['status', 'approved', 'declined', 'locked', 'indicator', 'permission'],
163
+ categories: ['status', 'data-display'],
175
164
  },
176
- usageGuidelines: [
177
- 'Use during loading states to maintain layout stability',
178
- 'Match the size and shape of the actual avatar content',
179
- 'Prevent layout shifts by maintaining consistent dimensions',
180
- 'Use for short loading periods (under 3 seconds)',
181
- 'Consider using spinners for longer loading times',
182
- 'Use skeleton avatars when user data is loading to maintain layout stability and provide visual feedback',
183
- 'Match the size and shape of the actual avatar content to prevent layout shifts',
184
- ],
185
- contentGuidelines: [
186
- 'Keep skeleton content minimal and non-distracting',
187
- 'Use consistent skeleton patterns across similar components',
188
- 'Avoid overly detailed skeleton content',
189
- 'Ensure skeleton content is clearly distinguishable from real content',
190
- ],
191
- examples: [
192
- {
165
+ {
166
+ name: 'Skeleton',
167
+ description:
168
+ "A skeleton loading component for avatars that shows a placeholder while content is loading. Skeleton components provide visual feedback during loading states, helping users understand that content is being fetched. Skeleton components should match the size and shape of the actual content they're replacing to prevent layout shifts.",
169
+ status: 'general-availability',
170
+ import: {
193
171
  name: 'Skeleton',
194
- description: 'Skeleton example',
195
- source: path.resolve(__dirname, './examples/ai/skeleton.tsx'),
172
+ package: '@atlaskit/avatar',
173
+ type: 'named',
174
+ packagePath: path.resolve(__dirname),
175
+ packageJson: require('./package.json'),
196
176
  },
197
- ],
198
- keywords: ['skeleton', 'loading', 'placeholder', 'shimmer', 'avatar'],
199
- categories: ['loading', 'data-display'],
200
- },
201
- {
202
- name: 'AvatarContent',
203
- description:
204
- 'A wrapper component for custom avatar content that provides consistent styling and behavior.',
205
- status: 'general-availability',
206
- import: {
207
- name: 'AvatarContent',
208
- package: '@atlaskit/avatar',
209
- type: 'named',
210
- packagePath: path.resolve(__dirname),
211
- packageJson: require('./package.json'),
177
+ usageGuidelines: [
178
+ 'Use during loading states to maintain layout stability',
179
+ 'Match the size and shape of the actual avatar content',
180
+ 'Prevent layout shifts by maintaining consistent dimensions',
181
+ 'Use for short loading periods (under 3 seconds)',
182
+ 'Consider using spinners for longer loading times',
183
+ 'Use skeleton avatars when user data is loading to maintain layout stability and provide visual feedback',
184
+ 'Match the size and shape of the actual avatar content to prevent layout shifts',
185
+ ],
186
+ contentGuidelines: [
187
+ 'Keep skeleton content minimal and non-distracting',
188
+ 'Use consistent skeleton patterns across similar components',
189
+ 'Avoid overly detailed skeleton content',
190
+ 'Ensure skeleton content is clearly distinguishable from real content',
191
+ ],
192
+ examples: [
193
+ {
194
+ name: 'Skeleton',
195
+ description: 'Skeleton example',
196
+ source: path.resolve(__dirname, './examples/ai/skeleton.tsx'),
197
+ },
198
+ ],
199
+ keywords: ['skeleton', 'loading', 'placeholder', 'shimmer', 'avatar'],
200
+ categories: ['loading', 'data-display'],
212
201
  },
213
- usageGuidelines: [
214
- 'Use for custom avatar content that needs consistent styling',
215
- 'Wrap custom content to maintain avatar behavior',
216
- 'Ensure custom content follows avatar design principles',
217
- "Use when standard avatar props don't meet your needs",
218
- ],
219
- contentGuidelines: [
220
- 'Ensure custom content is appropriate for avatar context',
221
- 'Maintain consistent visual hierarchy',
222
- 'Keep custom content simple and clear',
223
- ],
224
- examples: [
225
- {
226
- name: 'Avatar Content',
227
- description: 'Avatar Content example',
228
- source: path.resolve(__dirname, './examples/ai/avatar-content.tsx'),
202
+ {
203
+ name: 'AvatarContent',
204
+ description:
205
+ 'A wrapper component for custom avatar content that provides consistent styling and behavior.',
206
+ status: 'general-availability',
207
+ import: {
208
+ name: 'AvatarContent',
209
+ package: '@atlaskit/avatar',
210
+ type: 'named',
211
+ packagePath: path.resolve(__dirname),
212
+ packageJson: require('./package.json'),
229
213
  },
230
- ],
231
- keywords: ['avatar', 'content', 'custom', 'children', 'wrapper'],
232
- categories: ['images', 'data-display'],
233
- },
234
- ];
214
+ usageGuidelines: [
215
+ 'Use for custom avatar content that needs consistent styling',
216
+ 'Wrap custom content to maintain avatar behavior',
217
+ 'Ensure custom content follows avatar design principles',
218
+ "Use when standard avatar props don't meet your needs",
219
+ ],
220
+ contentGuidelines: [
221
+ 'Ensure custom content is appropriate for avatar context',
222
+ 'Maintain consistent visual hierarchy',
223
+ 'Keep custom content simple and clear',
224
+ ],
225
+ examples: [
226
+ {
227
+ name: 'Avatar Content',
228
+ description: 'Avatar Content example',
229
+ source: path.resolve(__dirname, './examples/ai/avatar-content.tsx'),
230
+ },
231
+ ],
232
+ keywords: ['avatar', 'content', 'custom', 'children', 'wrapper'],
233
+ categories: ['images', 'data-display'],
234
+ },
235
+ ],
236
+ };
235
237
 
236
238
  export default documentation;
@@ -6,12 +6,5 @@
6
6
  "sideEffects": [
7
7
  "**/*.compiled.css"
8
8
  ],
9
- "types": "../dist/types/entry-points/constants.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../dist/types-ts4.5/entry-points/constants.d.ts"
14
- ]
15
- }
16
- }
9
+ "types": "../dist/types/entry-points/constants.d.ts"
17
10
  }