@channel.io/bezier-react 2.2.2 → 2.2.4

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 (48) hide show
  1. package/dist/cjs/components/Emoji/Emoji.js +6 -2
  2. package/dist/cjs/components/Emoji/Emoji.js.map +1 -1
  3. package/dist/cjs/components/OutlineItem/OutlineItem.js +1 -1
  4. package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
  5. package/dist/cjs/components/Toast/Toast.js.map +1 -1
  6. package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  7. package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  8. package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  9. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +2 -2
  10. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  11. package/dist/cjs/styles.css +1 -1
  12. package/dist/esm/components/Emoji/Emoji.mjs +6 -2
  13. package/dist/esm/components/Emoji/Emoji.mjs.map +1 -1
  14. package/dist/esm/components/OutlineItem/OutlineItem.mjs +1 -1
  15. package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
  16. package/dist/esm/components/Toast/Toast.mjs.map +1 -1
  17. package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.map +1 -1
  18. package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.map +1 -1
  19. package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.map +1 -1
  20. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs +2 -2
  21. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs.map +1 -1
  22. package/dist/esm/styles.css +1 -1
  23. package/dist/types/components/Emoji/Emoji.d.ts +0 -1
  24. package/dist/types/components/Emoji/Emoji.d.ts.map +1 -1
  25. package/dist/types/components/Emoji/Emoji.types.d.ts +8 -1
  26. package/dist/types/components/Emoji/Emoji.types.d.ts.map +1 -1
  27. package/dist/types/components/TokenProvider/TokenProvider.d.ts +1 -1
  28. package/dist/types/components/TokenProvider/TokenProvider.d.ts.map +1 -1
  29. package/package.json +3 -2
  30. package/src/components/AlphaAvatar/AlphaAvatar.stories.tsx +12 -1
  31. package/src/components/AlphaAvatarGroup/AlphaAvatarGroup.stories.tsx +6 -0
  32. package/src/components/AlphaButton/AlphaButton.stories.tsx +6 -0
  33. package/src/components/AlphaFloatingButton/AlphaFloatingButton.stories.tsx +6 -0
  34. package/src/components/AlphaFloatingIconButton/AlphaFloatingIconButton.stories.tsx +6 -0
  35. package/src/components/AlphaFloatingIconButton/FloatingIconButton.module.scss +4 -0
  36. package/src/components/AlphaLoader/AlphaLoader.stories.tsx +6 -0
  37. package/src/components/AlphaToggleButton/AlphaToggleButton.stories.tsx +6 -0
  38. package/src/components/AlphaToggleButtonGroup/AlphaToggleButtonGroup.stories.tsx +6 -0
  39. package/src/components/Button/Button.module.scss +0 -1
  40. package/src/components/Checkbox/Checkbox.module.scss +10 -10
  41. package/src/components/Emoji/Emoji.stories.tsx +5 -15
  42. package/src/components/Emoji/Emoji.test.tsx +1 -3
  43. package/src/components/Emoji/Emoji.tsx +10 -2
  44. package/src/components/Emoji/Emoji.types.ts +8 -1
  45. package/src/components/OutlineItem/OutlineItem.module.scss +1 -3
  46. package/src/components/OutlineItem/OutlineItem.tsx +1 -1
  47. package/src/components/RadioGroup/RadioGroup.module.scss +6 -5
  48. package/src/components/TextField/TextField.module.scss +1 -0
@@ -7,7 +7,6 @@ export declare const EMOJI_TEST_ID = "bezier-emoji";
7
7
  * ```tsx
8
8
  * <Emoji
9
9
  * name="A"
10
- * imageUrl="https://cf.exp.channel.io/asset/emoji/images/80/a.png"
11
10
  * size="20"
12
11
  * />
13
12
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"Emoji.d.ts","sourceRoot":"","sources":["../../../../src/components/Emoji/Emoji.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAM7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,eAAO,MAAM,aAAa,iBAAiB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,mFAoBhB,CAAA"}
1
+ {"version":3,"file":"Emoji.d.ts","sourceRoot":"","sources":["../../../../src/components/Emoji/Emoji.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAO7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,eAAO,MAAM,aAAa,iBAAiB,CAAA;AAM3C;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,mFAwBhB,CAAA"}
@@ -1,8 +1,15 @@
1
1
  import type { BezierComponentProps, SizeProps } from "../../types/props";
2
2
  export type EmojiSize = '16' | '20' | '24' | '30' | '36' | '42' | '48' | '60' | '72' | '90' | '120';
3
3
  interface EmojiOwnProps {
4
+ /**
5
+ * Name of the emoji. e.g. 'grinning', 'smiley', etc.
6
+ */
4
7
  name: string;
5
- imageUrl: string;
8
+ /**
9
+ * @deprecated
10
+ * `imageUrl` is created in the component and will be removed in the next major version.
11
+ */
12
+ imageUrl?: string;
6
13
  }
7
14
  export interface EmojiProps extends BezierComponentProps<'div'>, SizeProps<EmojiSize>, EmojiOwnProps {
8
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Emoji.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Emoji/Emoji.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,0BAAyB;AAExE,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,CAAA;AAET,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UACf,SAAQ,oBAAoB,CAAC,KAAK,CAAC,EACjC,SAAS,CAAC,SAAS,CAAC,EACpB,aAAa;CAAG"}
1
+ {"version":3,"file":"Emoji.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Emoji/Emoji.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,0BAAyB;AAExE,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,CAAA;AAET,UAAU,aAAa;IACrB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UACf,SAAQ,oBAAoB,CAAC,KAAK,CAAC,EACjC,SAAS,CAAC,SAAS,CAAC,EACpB,aAAa;CAAG"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type TokenContextValue, type TokenProviderProps } from './TokenProvider.types';
3
- declare const useTokenContext: (consumerName: string) => NonNullable<TokenContextValue | null>;
3
+ declare const useTokenContext: (consumerName: string) => TokenContextValue;
4
4
  export { useTokenContext };
5
5
  /**
6
6
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"TokenProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/TokenProvider/TokenProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAOtC,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,QAAA,MAA6B,eAAe,iEACoB,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,CAAA;AAa1B;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBAcxE"}
1
+ {"version":3,"file":"TokenProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/TokenProvider/TokenProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAOtC,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,QAAA,MAA6B,eAAe,6CACoB,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,CAAA;AAa1B;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBAcxE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@channel.io/bezier-react",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "description": "React components library that implements Bezier design system.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,7 +63,7 @@
63
63
  "@babel/preset-env": "^7.23.9",
64
64
  "@babel/preset-react": "^7.23.3",
65
65
  "@babel/preset-typescript": "^7.23.3",
66
- "@channel.io/bezier-icons": "0.31.1",
66
+ "@channel.io/bezier-icons": "0.32.0",
67
67
  "@chromatic-com/storybook": "^1",
68
68
  "@rollup/plugin-alias": "^5.1.0",
69
69
  "@rollup/plugin-babel": "^6.0.4",
@@ -73,6 +73,7 @@
73
73
  "@storybook/addon-a11y": "^8.1.10",
74
74
  "@storybook/addon-actions": "^8.1.10",
75
75
  "@storybook/addon-controls": "^8.1.10",
76
+ "@storybook/addon-designs": "^8.0.3",
76
77
  "@storybook/addon-docs": "^8.1.10",
77
78
  "@storybook/addon-measure": "^8.1.10",
78
79
  "@storybook/addon-outline": "^8.1.10",
@@ -28,7 +28,6 @@ const Template: StoryFn<AvatarProps> = (args) => <Avatar {...args} />
28
28
 
29
29
  export const Primary: StoryObj<AvatarProps> = {
30
30
  render: Template,
31
-
32
31
  args: {
33
32
  avatarUrl: MOCK_AVATAR_URL,
34
33
  name: 'Channel',
@@ -37,6 +36,12 @@ export const Primary: StoryObj<AvatarProps> = {
37
36
  disabled: false,
38
37
  smoothCorners: true,
39
38
  },
39
+ parameters: {
40
+ design: {
41
+ type: 'link',
42
+ url: 'https://www.figma.com/design/aJJF4bU82uR0jAsmWp5wlE/Navigation?node-id=0-1&t=9HAqBVHxkd1tUwxF-1',
43
+ },
44
+ },
40
45
  }
41
46
 
42
47
  const TemplateWithCustomStatus: StoryFn<AvatarProps> = (args) => (
@@ -60,4 +65,10 @@ export const WithCustomStatus: StoryObj<AvatarProps> = {
60
65
  showBorder: false,
61
66
  disabled: false,
62
67
  },
68
+ parameters: {
69
+ design: {
70
+ type: 'link',
71
+ url: 'https://www.figma.com/design/aJJF4bU82uR0jAsmWp5wlE/Navigation?node-id=0-1&t=9HAqBVHxkd1tUwxF-1',
72
+ },
73
+ },
63
74
  }
@@ -52,4 +52,10 @@ export const Primary: StoryObj<AvatarGroupProps> = {
52
52
  size: '30',
53
53
  spacing: 4,
54
54
  },
55
+ parameters: {
56
+ design: {
57
+ type: 'link',
58
+ url: 'https://www.figma.com/design/aJJF4bU82uR0jAsmWp5wlE/Navigation?node-id=1-1389&t=63YtY9eXtdx4ujrv-0',
59
+ },
60
+ },
55
61
  }
@@ -26,4 +26,10 @@ export const Primary: StoryObj<AlphaButtonProps> = {
26
26
  variant: 'primary',
27
27
  color: 'blue',
28
28
  },
29
+ parameters: {
30
+ design: {
31
+ type: 'link',
32
+ url: 'https://www.figma.com/design/8J76noM3T1Sp5cNPhnYQiG/Action?node-id=0-1&t=WwfuBAWI872yYPf8-1',
33
+ },
34
+ },
29
35
  }
@@ -26,4 +26,10 @@ export const Primary: StoryObj<AlphaFloatingButtonProps> = {
26
26
  variant: 'primary',
27
27
  color: 'blue',
28
28
  },
29
+ parameters: {
30
+ design: {
31
+ type: 'link',
32
+ url: 'https://www.figma.com/design/8J76noM3T1Sp5cNPhnYQiG/Action?node-id=112-2766&t=7KmMal05dj8QL5kK-1',
33
+ },
34
+ },
29
35
  }
@@ -25,4 +25,10 @@ export const Primary: StoryObj<AlphaFloatingIconButtonProps> = {
25
25
  variant: 'primary',
26
26
  color: 'blue',
27
27
  },
28
+ parameters: {
29
+ design: {
30
+ type: 'link',
31
+ url: 'https://www.figma.com/design/8J76noM3T1Sp5cNPhnYQiG/Action?node-id=112-2766&t=7KmMal05dj8QL5kK-1',
32
+ },
33
+ },
28
34
  }
@@ -161,6 +161,10 @@ $chromatic-colors: 'blue', 'red', 'green', 'cobalt', 'orange', 'pink', 'purple';
161
161
 
162
162
  /* internal components */
163
163
  & :where(.ButtonContent) {
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+
164
168
  &:where(.loading) {
165
169
  visibility: hidden;
166
170
  }
@@ -20,4 +20,10 @@ export const Primary = {
20
20
  size: 'm',
21
21
  variant: 'secondary',
22
22
  },
23
+ parameters: {
24
+ design: {
25
+ type: 'link',
26
+ url: 'https://www.figma.com/design/KyhPPZeeC0JBmTclJGe3nn/Status?node-id=6-69&t=aiOXLQegb05Jiqqg-1',
27
+ },
28
+ },
23
29
  }
@@ -24,4 +24,10 @@ export const Primary = {
24
24
  value: 'invite',
25
25
  variant: 'primary',
26
26
  },
27
+ parameters: {
28
+ design: {
29
+ type: 'link',
30
+ url: 'https://www.figma.com/design/fPXP9zfjZU9NyARnhTWL6o/Input?node-id=426-1255&t=tGbZuTTPrTF5lobw-0',
31
+ },
32
+ },
27
33
  } satisfies StoryObj<typeof meta>
@@ -68,6 +68,12 @@ export const Primary = {
68
68
  shape: 'rectangle',
69
69
  fullWidth: false,
70
70
  },
71
+ parameters: {
72
+ design: {
73
+ type: 'link',
74
+ url: 'https://www.figma.com/design/fPXP9zfjZU9NyARnhTWL6o/Input?node-id=426-1255&t=tGbZuTTPrTF5lobw-0',
75
+ },
76
+ },
71
77
  } satisfies StoryObj<typeof meta>
72
78
 
73
79
  export default meta
@@ -157,7 +157,6 @@ $active-selector: ':where(.active, :hover):where(:not(:disabled))';
157
157
  color: var(--bgtxt-#{$color-variant}-normal);
158
158
 
159
159
  &#{$active-selector} {
160
- color: var(--bgtxt-#{$color-variant}-dark);
161
160
  background-color: var(--bgtxt-#{$color-variant}-lightest);
162
161
  }
163
162
  }
@@ -12,6 +12,16 @@
12
12
  .Checkbox {
13
13
  cursor: inherit;
14
14
 
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+
19
+ margin: 1px;
20
+
21
+ background-color: var(--bg-white-normal);
22
+ border-radius: 7px;
23
+ box-shadow: inset 0 0 0 2px var(--bdr-black-dark);
24
+
15
25
  /* stylelint-disable-next-line order/order */
16
26
  @include dimension.square(18px);
17
27
 
@@ -25,16 +35,6 @@
25
35
  }
26
36
  }
27
37
 
28
- display: flex;
29
- align-items: center;
30
- justify-content: center;
31
-
32
- margin: 1px;
33
-
34
- background-color: var(--bg-white-normal);
35
- border-radius: 7px;
36
- box-shadow: inset 0 0 0 2px var(--bdr-black-dark);
37
-
38
38
  &:where([data-disabled]) {
39
39
  background-color: var(--bg-black-dark);
40
40
  box-shadow: none;
@@ -3,25 +3,15 @@ import { type Meta, type StoryObj } from '@storybook/react'
3
3
  import { Emoji } from './Emoji'
4
4
  import { type EmojiProps } from './Emoji.types'
5
5
 
6
- const MOCK_EMOJI_URL =
7
- 'https://cf.exp.channel.io/asset/emoji/images/80/blush.png'
8
-
9
- const meta: Meta<typeof Emoji> = {
6
+ const meta = {
10
7
  component: Emoji,
11
- argTypes: {
12
- imageUrl: {
13
- control: {
14
- type: 'text',
15
- },
16
- },
17
- },
18
- }
8
+ } satisfies Meta<EmojiProps>
19
9
 
20
10
  export default meta
21
11
 
22
- export const Primary: StoryObj<EmojiProps> = {
12
+ export const Primary = {
23
13
  args: {
24
14
  size: '24',
25
- imageUrl: MOCK_EMOJI_URL,
15
+ name: 'blush',
26
16
  },
27
- }
17
+ } satisfies StoryObj<typeof meta>
@@ -5,10 +5,8 @@ import { render } from '~/src/utils/test'
5
5
  import { EMOJI_TEST_ID, Emoji } from './Emoji'
6
6
  import { type EmojiProps } from './Emoji.types'
7
7
 
8
- const MOCK_EMOJI_URL = 'https://cf.exp.channel.io/asset/emoji/images/80/a.png'
9
-
10
8
  describe('Emoji Test >', () => {
11
- const defaultProps: EmojiProps = { imageUrl: MOCK_EMOJI_URL, name: 'a' }
9
+ const defaultProps: EmojiProps = { size: '24', name: 'a' }
12
10
 
13
11
  const renderComponent = (props?: Partial<EmojiProps>) =>
14
12
  render(
@@ -2,6 +2,7 @@ import React, { type CSSProperties, forwardRef } from 'react'
2
2
 
3
3
  import classNames from 'classnames'
4
4
 
5
+ import { isDev } from '~/src/utils/assert'
5
6
  import { cssUrl } from '~/src/utils/style'
6
7
 
7
8
  import { type EmojiProps } from './Emoji.types'
@@ -10,13 +11,16 @@ import styles from './Emoji.module.scss'
10
11
 
11
12
  export const EMOJI_TEST_ID = 'bezier-emoji'
12
13
 
14
+ const getEmojiUrl = (name: EmojiProps['name'], size: '160' | '80' | '44') => {
15
+ return `https://cf${isDev() ? '.exp' : ''}.channel.io/asset/emoji/images/${size}/${name}.png`
16
+ }
17
+
13
18
  /**
14
19
  * `Emoji` is a component for representing emoji with variant size.
15
20
  * @example
16
21
  * ```tsx
17
22
  * <Emoji
18
23
  * name="A"
19
- * imageUrl="https://cf.exp.channel.io/asset/emoji/images/80/a.png"
20
24
  * size="20"
21
25
  * />
22
26
  * ```
@@ -25,6 +29,8 @@ export const Emoji = forwardRef<HTMLDivElement, EmojiProps>(function Emoji(
25
29
  { style, imageUrl, className, name, size = '24', ...rest },
26
30
  forwardedRef
27
31
  ) {
32
+ const assetSize = Number(size) >= 60 ? '160' : '80'
33
+
28
34
  return (
29
35
  <div
30
36
  ref={forwardedRef}
@@ -32,7 +38,9 @@ export const Emoji = forwardRef<HTMLDivElement, EmojiProps>(function Emoji(
32
38
  aria-description={name}
33
39
  style={
34
40
  {
35
- '--b-emoji-background-image': cssUrl(imageUrl),
41
+ '--b-emoji-background-image': cssUrl(
42
+ imageUrl ?? getEmojiUrl(name, assetSize)
43
+ ),
36
44
  ...style,
37
45
  } as CSSProperties
38
46
  }
@@ -14,8 +14,15 @@ export type EmojiSize =
14
14
  | '120'
15
15
 
16
16
  interface EmojiOwnProps {
17
+ /**
18
+ * Name of the emoji. e.g. 'grinning', 'smiley', etc.
19
+ */
17
20
  name: string
18
- imageUrl: string
21
+ /**
22
+ * @deprecated
23
+ * `imageUrl` is created in the component and will be removed in the next major version.
24
+ */
25
+ imageUrl?: string
19
26
  }
20
27
 
21
28
  export interface EmojiProps
@@ -35,9 +35,7 @@
35
35
  display: flex;
36
36
  align-items: center;
37
37
  justify-content: center;
38
-
39
- width: 16px;
40
- height: 100%;
38
+ margin-right: 6px;
41
39
  }
42
40
 
43
41
  .LeftContent {
@@ -86,7 +86,7 @@ export const OutlineItem = forwardRef<
86
86
  <Icon
87
87
  className={styles.Icon}
88
88
  source={open ? ChevronSmallDownIcon : ChevronSmallRightIcon}
89
- size="xs"
89
+ size="s"
90
90
  color="txt-black-dark"
91
91
  />
92
92
  )}
@@ -19,11 +19,6 @@ $inner-indicator-size: 8px;
19
19
  }
20
20
 
21
21
  .RadioGroupItem {
22
- @include interaction.touchable-hover {
23
- @include outer-indicator-focus-styles;
24
- @include inner-indicator-focus-styles;
25
- }
26
-
27
22
  position: relative;
28
23
 
29
24
  display: flex;
@@ -33,6 +28,12 @@ $inner-indicator-size: 8px;
33
28
 
34
29
  outline: none;
35
30
 
31
+ /* stylelint-disable-next-line order/order */
32
+ @include interaction.touchable-hover {
33
+ @include outer-indicator-focus-styles;
34
+ @include inner-indicator-focus-styles;
35
+ }
36
+
36
37
  /* Outer Indicator */
37
38
  &::before {
38
39
  @include dimension.square($outer-indicator-size);
@@ -104,6 +104,7 @@
104
104
 
105
105
  .RightContentWrapper {
106
106
  display: flex;
107
+ flex-shrink: 0;
107
108
  align-items: center;
108
109
  padding-right: 2px;
109
110
  }