@channel.io/bezier-react 2.0.1 → 2.0.3
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/dist/cjs/components/AlphaAvatar/Avatar.js +121 -0
- package/dist/cjs/components/AlphaAvatar/Avatar.js.map +1 -0
- package/dist/cjs/components/AlphaAvatar/Avatar.module.scss.js +8 -0
- package/dist/cjs/components/AlphaAvatar/Avatar.module.scss.js.map +1 -0
- package/dist/cjs/components/AlphaAvatar/assets/default-avatar.svg.js +8 -0
- package/dist/cjs/components/AlphaAvatar/assets/default-avatar.svg.js.map +1 -0
- package/dist/cjs/components/AlphaAvatar/useProgressiveImage.js +48 -0
- package/dist/cjs/components/AlphaAvatar/useProgressiveImage.js.map +1 -0
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js +153 -0
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js.map +1 -0
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.module.scss.js +8 -0
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.module.scss.js.map +1 -0
- package/dist/cjs/components/FormHelperText/FormHelperText.js +2 -1
- package/dist/cjs/components/FormHelperText/FormHelperText.js.map +1 -1
- package/dist/cjs/components/FormLabel/FormLabel.js +3 -2
- package/dist/cjs/components/FormLabel/FormLabel.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/index.js +10 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/esm/components/AlphaAvatar/Avatar.mjs +115 -0
- package/dist/esm/components/AlphaAvatar/Avatar.mjs.map +1 -0
- package/dist/esm/components/AlphaAvatar/Avatar.module.scss.mjs +4 -0
- package/dist/esm/components/AlphaAvatar/Avatar.module.scss.mjs.map +1 -0
- package/dist/esm/components/AlphaAvatar/assets/default-avatar.svg.mjs +4 -0
- package/dist/esm/components/AlphaAvatar/assets/default-avatar.svg.mjs.map +1 -0
- package/dist/esm/components/AlphaAvatar/useProgressiveImage.mjs +44 -0
- package/dist/esm/components/AlphaAvatar/useProgressiveImage.mjs.map +1 -0
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs +149 -0
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs.map +1 -0
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.module.scss.mjs +4 -0
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.module.scss.mjs.map +1 -0
- package/dist/esm/components/FormHelperText/FormHelperText.mjs +2 -1
- package/dist/esm/components/FormHelperText/FormHelperText.mjs.map +1 -1
- package/dist/esm/components/FormLabel/FormLabel.mjs +3 -2
- package/dist/esm/components/FormLabel/FormLabel.mjs.map +1 -1
- package/dist/esm/components/Modal/Modal.mjs.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/styles.css +1 -1
- package/dist/types/components/AlphaAvatar/Avatar.d.ts +22 -0
- package/dist/types/components/AlphaAvatar/Avatar.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatar/Avatar.types.d.ts +42 -0
- package/dist/types/components/AlphaAvatar/Avatar.types.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatar/index.d.ts +3 -0
- package/dist/types/components/AlphaAvatar/index.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatar/useProgressiveImage.d.ts +2 -0
- package/dist/types/components/AlphaAvatar/useProgressiveImage.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.d.ts +24 -0
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.types.d.ts +28 -0
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.types.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatarGroup/index.d.ts +3 -0
- package/dist/types/components/AlphaAvatarGroup/index.d.ts.map +1 -0
- package/dist/types/components/FormHelperText/FormHelperText.d.ts.map +1 -1
- package/dist/types/components/FormLabel/FormLabel.d.ts.map +1 -1
- package/dist/types/components/Modal/Modal.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/AlphaAvatar/AlphaAvatar.stories.tsx +63 -0
- package/src/components/AlphaAvatar/Avatar.module.scss +54 -0
- package/src/components/AlphaAvatar/Avatar.test.tsx +111 -0
- package/src/components/AlphaAvatar/Avatar.tsx +159 -0
- package/src/components/AlphaAvatar/Avatar.types.ts +64 -0
- package/src/components/AlphaAvatar/__snapshots__/Avatar.test.tsx.snap +93 -0
- package/src/components/AlphaAvatar/assets/default-avatar.svg +11 -0
- package/src/components/AlphaAvatar/index.ts +8 -0
- package/src/components/AlphaAvatar/useProgressiveImage.test.ts +96 -0
- package/src/components/AlphaAvatar/useProgressiveImage.ts +60 -0
- package/src/components/AlphaAvatarGroup/AlphaAvatarGroup.stories.tsx +55 -0
- package/src/components/AlphaAvatarGroup/AvatarGroup.module.scss +53 -0
- package/src/components/AlphaAvatarGroup/AvatarGroup.test.tsx +93 -0
- package/src/components/AlphaAvatarGroup/AvatarGroup.tsx +229 -0
- package/src/components/AlphaAvatarGroup/AvatarGroup.types.ts +43 -0
- package/src/components/AlphaAvatarGroup/__mocks__/avatarList.ts +39 -0
- package/src/components/AlphaAvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +215 -0
- package/src/components/AlphaAvatarGroup/index.ts +2 -0
- package/src/components/FormHelperText/FormHelperText.tsx +6 -2
- package/src/components/FormLabel/FormLabel.tsx +4 -2
- package/src/components/Modal/Modal.tsx +8 -2
- package/src/components/Tooltip/Tooltip.tsx +3 -1
- package/src/index.ts +2 -0
- package/src/stories/alpha-color.mdx +7 -7
- package/src/stories/alpha-shadow.mdx +7 -7
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
BezierComponentProps,
|
|
3
|
+
ChildrenProps,
|
|
4
|
+
SizeProps,
|
|
5
|
+
} from '~/src/types/props'
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
type AlphaAvatarProps,
|
|
9
|
+
type AlphaAvatarSize,
|
|
10
|
+
} from '~/src/components/AlphaAvatar'
|
|
11
|
+
|
|
12
|
+
type AvatarGroupEllipsisType = 'icon' | 'count'
|
|
13
|
+
|
|
14
|
+
interface AvatarGroupOwnProps {
|
|
15
|
+
/**
|
|
16
|
+
* Maximum number of avatars to display.
|
|
17
|
+
* If the number of avatars exceeds this number, ellipsis will be displayed.
|
|
18
|
+
* @default 5
|
|
19
|
+
*/
|
|
20
|
+
max: number
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Spacing between the avatars.
|
|
24
|
+
* Spacing could be negative, which will make the avatars overlap each other.
|
|
25
|
+
* @default 4
|
|
26
|
+
*/
|
|
27
|
+
spacing?: number
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Controls how the ellipsis is displayed.
|
|
31
|
+
* @default 'icon'
|
|
32
|
+
*/
|
|
33
|
+
ellipsisType?: AvatarGroupEllipsisType
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface AvatarGroupContextValue
|
|
37
|
+
extends Pick<AlphaAvatarProps, 'size'> {}
|
|
38
|
+
|
|
39
|
+
export interface AvatarGroupProps
|
|
40
|
+
extends BezierComponentProps<'div'>,
|
|
41
|
+
ChildrenProps,
|
|
42
|
+
SizeProps<AlphaAvatarSize>,
|
|
43
|
+
AvatarGroupOwnProps {}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const MOCK_AVATAR_LIST = [
|
|
2
|
+
{
|
|
3
|
+
id: 1,
|
|
4
|
+
avatarUrl: 'https://bit.ly/code-beast',
|
|
5
|
+
name: 'Christian Nwamba',
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
id: 2,
|
|
9
|
+
avatarUrl: 'https://bit.ly/tioluwani-kolawole',
|
|
10
|
+
name: 'Kola Tioluwani',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: 3,
|
|
14
|
+
avatarUrl: 'https://bit.ly/kent-c-dodds',
|
|
15
|
+
name: 'Kent Dodds',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 4,
|
|
19
|
+
avatarUrl: 'https://bit.ly/ryan-florence',
|
|
20
|
+
name: 'Ryan Florence',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 5,
|
|
24
|
+
avatarUrl: 'https://bit.ly/dan-abramov',
|
|
25
|
+
name: 'Dan Abrahmov',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 6,
|
|
29
|
+
avatarUrl: 'https://bit.ly/prosper-baba',
|
|
30
|
+
name: 'Prosper Otemuyiwa',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 7,
|
|
34
|
+
avatarUrl: 'https://bit.ly/sage-adebayo',
|
|
35
|
+
name: 'Segun Adebayo',
|
|
36
|
+
},
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
export default MOCK_AVATAR_LIST
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`AvatarGroup Ellipsis type - Count Snapshot 1`] = `
|
|
4
|
+
<div
|
|
5
|
+
class="AvatarGroup size-24"
|
|
6
|
+
role="group"
|
|
7
|
+
style="--b-avatar-group-spacing: 4px;"
|
|
8
|
+
>
|
|
9
|
+
<div
|
|
10
|
+
class="Avatar size-24"
|
|
11
|
+
data-disabled="false"
|
|
12
|
+
data-testid="bezier-avatar-wrapper"
|
|
13
|
+
>
|
|
14
|
+
<div
|
|
15
|
+
aria-label="Christian Nwamba"
|
|
16
|
+
class="SmoothCornersBox AvatarImage"
|
|
17
|
+
data-state="disabled"
|
|
18
|
+
data-testid="bezier-avatar"
|
|
19
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
<div
|
|
23
|
+
class="Avatar size-24"
|
|
24
|
+
data-disabled="false"
|
|
25
|
+
data-testid="bezier-avatar-wrapper"
|
|
26
|
+
>
|
|
27
|
+
<div
|
|
28
|
+
aria-label="Kola Tioluwani"
|
|
29
|
+
class="SmoothCornersBox AvatarImage"
|
|
30
|
+
data-state="disabled"
|
|
31
|
+
data-testid="bezier-avatar"
|
|
32
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
33
|
+
/>
|
|
34
|
+
</div>
|
|
35
|
+
<div
|
|
36
|
+
class="Avatar size-24"
|
|
37
|
+
data-disabled="false"
|
|
38
|
+
data-testid="bezier-avatar-wrapper"
|
|
39
|
+
>
|
|
40
|
+
<div
|
|
41
|
+
aria-label="Kent Dodds"
|
|
42
|
+
class="SmoothCornersBox AvatarImage"
|
|
43
|
+
data-state="disabled"
|
|
44
|
+
data-testid="bezier-avatar"
|
|
45
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
<div
|
|
49
|
+
class="Avatar size-24"
|
|
50
|
+
data-disabled="false"
|
|
51
|
+
data-testid="bezier-avatar-wrapper"
|
|
52
|
+
>
|
|
53
|
+
<div
|
|
54
|
+
aria-label="Ryan Florence"
|
|
55
|
+
class="SmoothCornersBox AvatarImage"
|
|
56
|
+
data-state="disabled"
|
|
57
|
+
data-testid="bezier-avatar"
|
|
58
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
59
|
+
/>
|
|
60
|
+
</div>
|
|
61
|
+
<div
|
|
62
|
+
class="Avatar size-24"
|
|
63
|
+
data-disabled="false"
|
|
64
|
+
data-testid="bezier-avatar-wrapper"
|
|
65
|
+
>
|
|
66
|
+
<div
|
|
67
|
+
aria-label="Dan Abrahmov"
|
|
68
|
+
class="SmoothCornersBox AvatarImage"
|
|
69
|
+
data-state="disabled"
|
|
70
|
+
data-testid="bezier-avatar"
|
|
71
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
72
|
+
/>
|
|
73
|
+
</div>
|
|
74
|
+
<div
|
|
75
|
+
class="Avatar size-24"
|
|
76
|
+
data-disabled="false"
|
|
77
|
+
data-testid="bezier-avatar-wrapper"
|
|
78
|
+
>
|
|
79
|
+
<div
|
|
80
|
+
aria-label="Prosper Otemuyiwa"
|
|
81
|
+
class="SmoothCornersBox AvatarImage"
|
|
82
|
+
data-state="disabled"
|
|
83
|
+
data-testid="bezier-avatar"
|
|
84
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
85
|
+
/>
|
|
86
|
+
</div>
|
|
87
|
+
<div
|
|
88
|
+
class="AvatarEllipsisCountWrapper"
|
|
89
|
+
style="--b-avatar-group-ellipsis-ml: 4px;"
|
|
90
|
+
>
|
|
91
|
+
<span
|
|
92
|
+
class="Text typo-13 margin AvatarEllipsisCount"
|
|
93
|
+
data-testid="bezier-text"
|
|
94
|
+
style="--b-text-color: var(--txt-black-dark);"
|
|
95
|
+
>
|
|
96
|
+
+1
|
|
97
|
+
</span>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
`;
|
|
101
|
+
|
|
102
|
+
exports[`AvatarGroup Ellipsis type - Icon Snapshot 1`] = `
|
|
103
|
+
<div
|
|
104
|
+
class="AvatarGroup size-24"
|
|
105
|
+
role="group"
|
|
106
|
+
style="--b-avatar-group-spacing: 4px;"
|
|
107
|
+
>
|
|
108
|
+
<div
|
|
109
|
+
class="Avatar size-24"
|
|
110
|
+
data-disabled="false"
|
|
111
|
+
data-testid="bezier-avatar-wrapper"
|
|
112
|
+
>
|
|
113
|
+
<div
|
|
114
|
+
aria-label="Christian Nwamba"
|
|
115
|
+
class="SmoothCornersBox AvatarImage"
|
|
116
|
+
data-state="disabled"
|
|
117
|
+
data-testid="bezier-avatar"
|
|
118
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
119
|
+
/>
|
|
120
|
+
</div>
|
|
121
|
+
<div
|
|
122
|
+
class="Avatar size-24"
|
|
123
|
+
data-disabled="false"
|
|
124
|
+
data-testid="bezier-avatar-wrapper"
|
|
125
|
+
>
|
|
126
|
+
<div
|
|
127
|
+
aria-label="Kola Tioluwani"
|
|
128
|
+
class="SmoothCornersBox AvatarImage"
|
|
129
|
+
data-state="disabled"
|
|
130
|
+
data-testid="bezier-avatar"
|
|
131
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
132
|
+
/>
|
|
133
|
+
</div>
|
|
134
|
+
<div
|
|
135
|
+
class="Avatar size-24"
|
|
136
|
+
data-disabled="false"
|
|
137
|
+
data-testid="bezier-avatar-wrapper"
|
|
138
|
+
>
|
|
139
|
+
<div
|
|
140
|
+
aria-label="Kent Dodds"
|
|
141
|
+
class="SmoothCornersBox AvatarImage"
|
|
142
|
+
data-state="disabled"
|
|
143
|
+
data-testid="bezier-avatar"
|
|
144
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
145
|
+
/>
|
|
146
|
+
</div>
|
|
147
|
+
<div
|
|
148
|
+
class="Avatar size-24"
|
|
149
|
+
data-disabled="false"
|
|
150
|
+
data-testid="bezier-avatar-wrapper"
|
|
151
|
+
>
|
|
152
|
+
<div
|
|
153
|
+
aria-label="Ryan Florence"
|
|
154
|
+
class="SmoothCornersBox AvatarImage"
|
|
155
|
+
data-state="disabled"
|
|
156
|
+
data-testid="bezier-avatar"
|
|
157
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
158
|
+
/>
|
|
159
|
+
</div>
|
|
160
|
+
<div
|
|
161
|
+
class="Avatar size-24"
|
|
162
|
+
data-disabled="false"
|
|
163
|
+
data-testid="bezier-avatar-wrapper"
|
|
164
|
+
>
|
|
165
|
+
<div
|
|
166
|
+
aria-label="Dan Abrahmov"
|
|
167
|
+
class="SmoothCornersBox AvatarImage"
|
|
168
|
+
data-state="disabled"
|
|
169
|
+
data-testid="bezier-avatar"
|
|
170
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
171
|
+
/>
|
|
172
|
+
</div>
|
|
173
|
+
<div
|
|
174
|
+
class="AvatarEllipsisIconWrapper"
|
|
175
|
+
data-testid="bezier-avatar-group-ellipsis-icon"
|
|
176
|
+
>
|
|
177
|
+
<div
|
|
178
|
+
class="SmoothCornersBox AvatarEllipsisIcon"
|
|
179
|
+
data-state="disabled"
|
|
180
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bgtxt-absolute-black-lightest);"
|
|
181
|
+
>
|
|
182
|
+
<svg
|
|
183
|
+
class="Icon margin"
|
|
184
|
+
data-testid="bezier-icon"
|
|
185
|
+
fill="none"
|
|
186
|
+
height="16"
|
|
187
|
+
style="--b-icon-color: var(--bgtxt-absolute-white-dark);"
|
|
188
|
+
viewBox="0 0 24 24"
|
|
189
|
+
width="16"
|
|
190
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
191
|
+
>
|
|
192
|
+
<path
|
|
193
|
+
clip-rule="evenodd"
|
|
194
|
+
d="M2.5 12a2.257 2.257 0 0 0 2.25 2.25A2.257 2.257 0 0 0 7 12a2.257 2.257 0 0 0-2.25-2.25A2.257 2.257 0 0 0 2.5 12m9.5 2.25A2.257 2.257 0 0 1 9.75 12 2.257 2.257 0 0 1 12 9.75 2.257 2.257 0 0 1 14.25 12 2.257 2.257 0 0 1 12 14.25m7.25 0A2.257 2.257 0 0 1 17 12a2.257 2.257 0 0 1 2.25-2.25A2.257 2.257 0 0 1 21.5 12a2.257 2.257 0 0 1-2.25 2.25"
|
|
195
|
+
fill="currentColor"
|
|
196
|
+
fill-rule="evenodd"
|
|
197
|
+
/>
|
|
198
|
+
</svg>
|
|
199
|
+
</div>
|
|
200
|
+
<div
|
|
201
|
+
class="Avatar size-24"
|
|
202
|
+
data-disabled="false"
|
|
203
|
+
data-testid="bezier-avatar-wrapper"
|
|
204
|
+
>
|
|
205
|
+
<div
|
|
206
|
+
aria-label="Prosper Otemuyiwa"
|
|
207
|
+
class="SmoothCornersBox AvatarImage"
|
|
208
|
+
data-state="disabled"
|
|
209
|
+
data-testid="bezier-avatar"
|
|
210
|
+
style="--b-smooth-corners-box-border-radius: 42%; --b-smooth-corners-box-shadow-blur-radius: 0px; --b-smooth-corners-box-shadow-spread-radius: 0px; --b-smooth-corners-box-padding: 0px; --b-smooth-corners-box-margin: 0px; --b-smooth-corners-box-background-color: var(--bg-white-normal); --b-smooth-corners-box-background-image: url(https://www.google.com);"
|
|
211
|
+
/>
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
`;
|
|
@@ -22,7 +22,7 @@ export const FORM_ERROR_MESSAGE_TEST_ID = 'bezier-form-error-message'
|
|
|
22
22
|
|
|
23
23
|
const BaseHelperText = forwardRef<HTMLSpanElement, BaseHelperTextProps>(
|
|
24
24
|
function BaseHelperText(props, forwardedRef) {
|
|
25
|
-
const { type, typo = '13', children, ...rest } = props
|
|
25
|
+
const { type, typo = '13', children, className, ...rest } = props
|
|
26
26
|
|
|
27
27
|
const contextValue = useFormControlContext()
|
|
28
28
|
const getProps =
|
|
@@ -52,7 +52,11 @@ const BaseHelperText = forwardRef<HTMLSpanElement, BaseHelperTextProps>(
|
|
|
52
52
|
<Text
|
|
53
53
|
ref={mergedRef}
|
|
54
54
|
as="p"
|
|
55
|
-
className={classNames(
|
|
55
|
+
className={classNames(
|
|
56
|
+
styles.FormHelperText,
|
|
57
|
+
formControlClassName,
|
|
58
|
+
className
|
|
59
|
+
)}
|
|
56
60
|
typo={typo}
|
|
57
61
|
align="left"
|
|
58
62
|
{...ownProps}
|
|
@@ -35,6 +35,7 @@ export const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(
|
|
|
35
35
|
help,
|
|
36
36
|
bold = true,
|
|
37
37
|
color = 'txt-black-darkest',
|
|
38
|
+
className,
|
|
38
39
|
children,
|
|
39
40
|
...rest
|
|
40
41
|
} = props
|
|
@@ -67,7 +68,8 @@ export const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(
|
|
|
67
68
|
<Text
|
|
68
69
|
className={classNames(
|
|
69
70
|
styles.LabelText,
|
|
70
|
-
!HelpComponent && formControlClassName
|
|
71
|
+
!HelpComponent && formControlClassName,
|
|
72
|
+
className
|
|
71
73
|
)}
|
|
72
74
|
ref={forwardedRef}
|
|
73
75
|
as="label"
|
|
@@ -91,7 +93,7 @@ export const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(
|
|
|
91
93
|
<LegacyHStack
|
|
92
94
|
align="center"
|
|
93
95
|
spacing={6}
|
|
94
|
-
className={
|
|
96
|
+
className={formControlClassName}
|
|
95
97
|
>
|
|
96
98
|
<LegacyStackItem
|
|
97
99
|
shrink
|
|
@@ -407,7 +407,11 @@ export const ModalFooter = forwardRef<HTMLElement, ModalFooterProps>(
|
|
|
407
407
|
* It **must** be placed outside of the `ModalContent`.
|
|
408
408
|
*/
|
|
409
409
|
export function ModalTrigger({ children }: ModalTriggerProps) {
|
|
410
|
-
return
|
|
410
|
+
return (
|
|
411
|
+
<AlphaDialogPrimitiveTrigger asChild>
|
|
412
|
+
{children}
|
|
413
|
+
</AlphaDialogPrimitiveTrigger>
|
|
414
|
+
)
|
|
411
415
|
}
|
|
412
416
|
|
|
413
417
|
/**
|
|
@@ -415,5 +419,7 @@ export function ModalTrigger({ children }: ModalTriggerProps) {
|
|
|
415
419
|
* It passes the handler that closes the modal to the children.
|
|
416
420
|
*/
|
|
417
421
|
export function ModalClose({ children }: ModalCloseProps) {
|
|
418
|
-
return
|
|
422
|
+
return (
|
|
423
|
+
<AlphaDialogPrimitiveClose asChild>{children}</AlphaDialogPrimitiveClose>
|
|
424
|
+
)
|
|
419
425
|
}
|
|
@@ -215,7 +215,9 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
|
|
|
215
215
|
disableHoverableContent={!allowHover}
|
|
216
216
|
onOpenChange={onOpenChange}
|
|
217
217
|
>
|
|
218
|
-
<AlphaTooltipPrimitiveTrigger asChild>
|
|
218
|
+
<AlphaTooltipPrimitiveTrigger asChild>
|
|
219
|
+
{children}
|
|
220
|
+
</AlphaTooltipPrimitiveTrigger>
|
|
219
221
|
|
|
220
222
|
<AlphaTooltipPrimitivePortal container={container}>
|
|
221
223
|
<InvertedThemeProvider>
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,8 @@ import '~/src/styles/index.scss'
|
|
|
5
5
|
export { tokens } from '@channel.io/bezier-tokens'
|
|
6
6
|
|
|
7
7
|
/* ------------------------------- COMPONENTS ------------------------------- */
|
|
8
|
+
export * from '~/src/components/AlphaAvatar'
|
|
9
|
+
export * from '~/src/components/AlphaAvatarGroup'
|
|
8
10
|
export * from '~/src/components/AlphaDialogPrimitive'
|
|
9
11
|
export * from '~/src/components/AlphaTooltipPrimitive'
|
|
10
12
|
export * from '~/src/components/AppProvider'
|
|
@@ -23,7 +23,7 @@ export const Color = ({ name, value, reference }) => {
|
|
|
23
23
|
<VStack
|
|
24
24
|
style={{
|
|
25
25
|
flex: 1,
|
|
26
|
-
color: 'var(--alpha-fg-black-darkest)',
|
|
26
|
+
color: 'var(--alpha-color-fg-black-darkest)',
|
|
27
27
|
}}
|
|
28
28
|
spacing={4}
|
|
29
29
|
justify="center"
|
|
@@ -36,7 +36,7 @@ export const Color = ({ name, value, reference }) => {
|
|
|
36
36
|
gap: 3,
|
|
37
37
|
fontSize: 9,
|
|
38
38
|
lineHeight: 1,
|
|
39
|
-
color: 'var(--alpha-fg-black-dark)',
|
|
39
|
+
color: 'var(--alpha-color-fg-black-dark)',
|
|
40
40
|
}}
|
|
41
41
|
>
|
|
42
42
|
{reference ? 'var' : ''}
|
|
@@ -46,9 +46,9 @@ export const Color = ({ name, value, reference }) => {
|
|
|
46
46
|
fontSize: 'inherit',
|
|
47
47
|
lineHeight: 'inherit',
|
|
48
48
|
padding: '1px 2px',
|
|
49
|
-
backgroundColor: 'var(--alpha-bg-grey-lighter)',
|
|
49
|
+
backgroundColor: 'var(--alpha-color-bg-grey-lighter)',
|
|
50
50
|
borderRadius: 3,
|
|
51
|
-
border: '1px solid var(--alpha-bg-black-lightest)',
|
|
51
|
+
border: '1px solid var(--alpha-color-bg-black-lightest)',
|
|
52
52
|
}}
|
|
53
53
|
>
|
|
54
54
|
{reference ? reference : value}
|
|
@@ -62,7 +62,7 @@ export const Color = ({ name, value, reference }) => {
|
|
|
62
62
|
export const Primary = () => (
|
|
63
63
|
<HStack>
|
|
64
64
|
|
|
65
|
-
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-surface-normal)' }} padding={20}>
|
|
65
|
+
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-color-surface-normal)' }} padding={20}>
|
|
66
66
|
{Object.entries(tokens.global.color).map(([key, { value, ref }]) => (
|
|
67
67
|
<Color
|
|
68
68
|
key={key}
|
|
@@ -74,7 +74,7 @@ export const Primary = () => (
|
|
|
74
74
|
</VStack>
|
|
75
75
|
|
|
76
76
|
<LightThemeProvider>
|
|
77
|
-
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-surface-normal)' }} padding={20}>
|
|
77
|
+
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-color-surface-normal)' }} padding={20}>
|
|
78
78
|
{Object.entries(tokens.lightTheme.color).map(([key, { value, ref }]) => (
|
|
79
79
|
<Color
|
|
80
80
|
key={key}
|
|
@@ -87,7 +87,7 @@ export const Primary = () => (
|
|
|
87
87
|
</LightThemeProvider>
|
|
88
88
|
|
|
89
89
|
<DarkThemeProvider>
|
|
90
|
-
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-surface-normal)' }} padding={20}>
|
|
90
|
+
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-color-surface-normal)' }} padding={20}>
|
|
91
91
|
{Object.entries(tokens.darkTheme.color).map(([key, { value, ref }]) => (
|
|
92
92
|
<Color
|
|
93
93
|
key={key}
|
|
@@ -16,14 +16,14 @@ export const Shadow = ({ name, value, reference }) => {
|
|
|
16
16
|
style={{
|
|
17
17
|
flex: 1,
|
|
18
18
|
boxShadow: value,
|
|
19
|
-
backgroundColor: 'var(--alpha-surface-normal)',
|
|
19
|
+
backgroundColor: 'var(--alpha-color-surface-normal)',
|
|
20
20
|
height: 60,
|
|
21
21
|
}}
|
|
22
22
|
/>
|
|
23
23
|
<VStack
|
|
24
24
|
style={{
|
|
25
25
|
flex: 1,
|
|
26
|
-
color: 'var(--alpha-fg-black-darkest)',
|
|
26
|
+
color: 'var(--alpha-color-fg-black-darkest)',
|
|
27
27
|
}}
|
|
28
28
|
spacing={4}
|
|
29
29
|
justify="center"
|
|
@@ -36,7 +36,7 @@ export const Shadow = ({ name, value, reference }) => {
|
|
|
36
36
|
gap: 3,
|
|
37
37
|
fontSize: 9,
|
|
38
38
|
lineHeight: 1,
|
|
39
|
-
color: 'var(--alpha-fg-black-dark)',
|
|
39
|
+
color: 'var(--alpha-color-fg-black-dark)',
|
|
40
40
|
}}
|
|
41
41
|
>
|
|
42
42
|
{reference ? 'var' : ''}
|
|
@@ -46,9 +46,9 @@ export const Shadow = ({ name, value, reference }) => {
|
|
|
46
46
|
fontSize: 'inherit',
|
|
47
47
|
lineHeight: 'inherit',
|
|
48
48
|
padding: '1px 2px',
|
|
49
|
-
backgroundColor: 'var(--alpha-bg-grey-lighter)',
|
|
49
|
+
backgroundColor: 'var(--alpha-color-bg-grey-lighter)',
|
|
50
50
|
borderRadius: 3,
|
|
51
|
-
border: '1px solid var(--alpha-bg-black-lightest)',
|
|
51
|
+
border: '1px solid var(--alpha-color-bg-black-lightest)',
|
|
52
52
|
}}
|
|
53
53
|
>
|
|
54
54
|
{reference ? reference : value}
|
|
@@ -63,7 +63,7 @@ export const Primary = () => (
|
|
|
63
63
|
<HStack>
|
|
64
64
|
|
|
65
65
|
<LightThemeProvider>
|
|
66
|
-
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-surface-normal)' }} padding={40}>
|
|
66
|
+
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-color-surface-normal)' }} padding={40}>
|
|
67
67
|
<VStack spacing={40}>
|
|
68
68
|
{Object.entries(tokens.lightTheme.shadow).map(([key, { value, ref }]) => (
|
|
69
69
|
<Shadow
|
|
@@ -78,7 +78,7 @@ export const Primary = () => (
|
|
|
78
78
|
</LightThemeProvider>
|
|
79
79
|
|
|
80
80
|
<DarkThemeProvider>
|
|
81
|
-
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-surface-normal)' }} padding={40}>
|
|
81
|
+
<VStack style={{ flex: 1, backgroundColor: 'var(--alpha-color-surface-normal)' }} padding={40}>
|
|
82
82
|
<VStack spacing={40}>
|
|
83
83
|
{Object.entries(tokens.darkTheme.shadow).map(([key, { value, ref }]) => (
|
|
84
84
|
<Shadow
|