@channel.io/bezier-react 2.0.6 → 2.0.8
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 +2 -2
- package/dist/cjs/components/AlphaAvatar/Avatar.js.map +1 -1
- package/dist/cjs/components/AlphaAvatar/AvatarSizeContext.js +11 -0
- package/dist/cjs/components/AlphaAvatar/AvatarSizeContext.js.map +1 -0
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js +2 -4
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/AlphaButton/Button.js +4 -12
- package/dist/cjs/components/AlphaButton/Button.js.map +1 -1
- package/dist/cjs/components/AlphaButton/Button.module.scss.js +1 -1
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js +4 -12
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.module.scss.js +1 -1
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js +4 -12
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.module.scss.js +1 -1
- package/dist/cjs/components/AlphaIconButton/IconButton.js +4 -12
- package/dist/cjs/components/AlphaIconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/AlphaIconButton/IconButton.module.scss.js +1 -1
- package/dist/cjs/components/AlphaSpinner/Spinner.js +36 -0
- package/dist/cjs/components/AlphaSpinner/Spinner.js.map +1 -0
- package/dist/cjs/components/AlphaSpinner/Spinner.module.scss.js +8 -0
- package/dist/cjs/components/AlphaSpinner/Spinner.module.scss.js.map +1 -0
- package/dist/cjs/components/AutoFocus/AutoFocus.js +2 -1
- package/dist/cjs/components/AutoFocus/AutoFocus.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseTagBadge/BaseTagBadge.js +3 -2
- package/dist/cjs/components/BaseTagBadge/BaseTagBadge.js.map +1 -1
- package/dist/cjs/components/Box/Box.js.map +1 -1
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Center/Center.js.map +1 -1
- package/dist/cjs/components/CheckableAvatar/CheckableAvatar.js.map +1 -1
- package/dist/cjs/components/Emoji/Emoji.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/FeatureProvider.js +2 -1
- package/dist/cjs/components/FeatureProvider/FeatureProvider.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.js.map +1 -1
- package/dist/cjs/components/FormControl/FormControl.js.map +1 -1
- package/dist/cjs/components/Icon/Icon.js +1 -12
- package/dist/cjs/components/Icon/Icon.js.map +1 -1
- package/dist/cjs/components/Icon/Icon.module.scss.js +1 -1
- package/dist/cjs/components/LegacyStack/LegacyStack/LegacyStack.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacyStackItem/LegacyStackItem.js.map +1 -1
- package/dist/cjs/components/LegacyTooltip/utils.js.map +1 -1
- package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/NavGroup/NavGroup.js.map +1 -1
- package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
- package/dist/cjs/components/Overlay/Overlay.js +3 -2
- package/dist/cjs/components/Overlay/Overlay.js.map +1 -1
- package/dist/cjs/components/Overlay/utils.js.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/Stack/Stack.js.map +1 -1
- package/dist/cjs/components/Status/Status.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/Text/Text.js.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.js +2 -1
- package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
- package/dist/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/cjs/components/Toast/Toast.js +3 -2
- package/dist/cjs/components/Toast/Toast.js.map +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +13 -0
- package/dist/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/cjs/hooks/useMergeRefs.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/cjs/types/props-helpers.js.map +1 -1
- package/dist/cjs/utils/react.js.map +1 -1
- package/dist/cjs/utils/string.js.map +1 -1
- package/dist/cjs/utils/style.js.map +1 -1
- package/dist/esm/components/AlphaAvatar/Avatar.mjs +2 -2
- package/dist/esm/components/AlphaAvatar/Avatar.mjs.map +1 -1
- package/dist/esm/components/AlphaAvatar/AvatarSizeContext.mjs +8 -0
- package/dist/esm/components/AlphaAvatar/AvatarSizeContext.mjs.map +1 -0
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs +3 -4
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/esm/components/AlphaButton/Button.mjs +4 -12
- package/dist/esm/components/AlphaButton/Button.mjs.map +1 -1
- package/dist/esm/components/AlphaButton/Button.module.scss.mjs +1 -1
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs +4 -12
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.module.scss.mjs +1 -1
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs +4 -12
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.module.scss.mjs +1 -1
- package/dist/esm/components/AlphaIconButton/IconButton.mjs +4 -12
- package/dist/esm/components/AlphaIconButton/IconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaIconButton/IconButton.module.scss.mjs +1 -1
- package/dist/esm/components/AlphaSpinner/Spinner.mjs +33 -0
- package/dist/esm/components/AlphaSpinner/Spinner.mjs.map +1 -0
- package/dist/esm/components/AlphaSpinner/Spinner.module.scss.mjs +4 -0
- package/dist/esm/components/AlphaSpinner/Spinner.module.scss.mjs.map +1 -0
- package/dist/esm/components/AutoFocus/AutoFocus.mjs +3 -2
- package/dist/esm/components/AutoFocus/AutoFocus.mjs.map +1 -1
- package/dist/esm/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/esm/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/esm/components/Banner/Banner.mjs.map +1 -1
- package/dist/esm/components/BaseTagBadge/BaseTagBadge.mjs +3 -2
- package/dist/esm/components/BaseTagBadge/BaseTagBadge.mjs.map +1 -1
- package/dist/esm/components/Box/Box.mjs.map +1 -1
- package/dist/esm/components/Button/Button.mjs.map +1 -1
- package/dist/esm/components/Center/Center.mjs.map +1 -1
- package/dist/esm/components/CheckableAvatar/CheckableAvatar.mjs.map +1 -1
- package/dist/esm/components/Emoji/Emoji.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/FeatureProvider.mjs +3 -2
- package/dist/esm/components/FeatureProvider/FeatureProvider.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.mjs.map +1 -1
- package/dist/esm/components/FormControl/FormControl.mjs.map +1 -1
- package/dist/esm/components/Icon/Icon.mjs +1 -12
- package/dist/esm/components/Icon/Icon.mjs.map +1 -1
- package/dist/esm/components/Icon/Icon.module.scss.mjs +1 -1
- package/dist/esm/components/LegacyStack/LegacyStack/LegacyStack.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacyStackItem/LegacyStackItem.mjs.map +1 -1
- package/dist/esm/components/LegacyTooltip/utils.mjs.map +1 -1
- package/dist/esm/components/ListItem/ListItem.mjs.map +1 -1
- package/dist/esm/components/Modal/Modal.mjs.map +1 -1
- package/dist/esm/components/NavGroup/NavGroup.mjs.map +1 -1
- package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
- package/dist/esm/components/Overlay/Overlay.mjs +4 -3
- package/dist/esm/components/Overlay/Overlay.mjs.map +1 -1
- package/dist/esm/components/Overlay/utils.mjs.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.mjs.map +1 -1
- package/dist/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/dist/esm/components/Slider/Slider.mjs.map +1 -1
- package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.mjs.map +1 -1
- package/dist/esm/components/Spinner/Spinner.mjs.map +1 -1
- package/dist/esm/components/Stack/Stack.mjs.map +1 -1
- package/dist/esm/components/Status/Status.mjs.map +1 -1
- package/dist/esm/components/Switch/Switch.mjs.map +1 -1
- package/dist/esm/components/Tabs/Tabs.mjs.map +1 -1
- package/dist/esm/components/Text/Text.mjs.map +1 -1
- package/dist/esm/components/TextArea/TextArea.mjs +3 -2
- package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/esm/components/TextField/TextField.mjs.map +1 -1
- package/dist/esm/components/Toast/Toast.mjs +3 -2
- package/dist/esm/components/Toast/Toast.mjs.map +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect.mjs +11 -0
- package/dist/esm/hooks/useIsomorphicLayoutEffect.mjs.map +1 -0
- package/dist/esm/hooks/useMergeRefs.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/styles.css +1 -1
- package/dist/esm/types/props-helpers.mjs.map +1 -1
- package/dist/esm/utils/react.mjs.map +1 -1
- package/dist/esm/utils/string.mjs.map +1 -1
- package/dist/esm/utils/style.mjs.map +1 -1
- package/dist/types/components/AlphaAvatar/AvatarSizeContext.d.ts +5 -0
- package/dist/types/components/AlphaAvatar/AvatarSizeContext.d.ts.map +1 -0
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.d.ts +1 -3
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.types.d.ts +1 -3
- package/dist/types/components/AlphaAvatarGroup/AvatarGroup.types.d.ts.map +1 -1
- package/dist/types/components/AlphaButton/Button.d.ts.map +1 -1
- package/dist/types/components/AlphaFloatingButton/FloatingButton.d.ts.map +1 -1
- package/dist/types/components/AlphaFloatingIconButton/FloatingIconButton.d.ts.map +1 -1
- package/dist/types/components/AlphaIconButton/IconButton.d.ts.map +1 -1
- package/dist/types/components/AlphaSpinner/Spinner.d.ts +5 -0
- package/dist/types/components/AlphaSpinner/Spinner.d.ts.map +1 -0
- package/dist/types/components/AlphaSpinner/Spinner.types.d.ts +13 -0
- package/dist/types/components/AlphaSpinner/Spinner.types.d.ts.map +1 -0
- package/dist/types/components/AlphaSpinner/index.d.ts +3 -0
- package/dist/types/components/AlphaSpinner/index.d.ts.map +1 -0
- package/dist/types/components/AutoFocus/AutoFocus.d.ts.map +1 -1
- package/dist/types/components/BaseTagBadge/BaseTagBadge.d.ts.map +1 -1
- package/dist/types/components/FeatureProvider/FeatureProvider.d.ts.map +1 -1
- package/dist/types/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/components/Icon/Icon.types.d.ts +1 -1
- package/dist/types/components/Overlay/Overlay.d.ts.map +1 -1
- package/dist/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/types/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts +8 -0
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/AlphaAvatar/Avatar.tsx +2 -2
- package/src/components/AlphaAvatar/AvatarSizeContext.ts +9 -0
- package/src/components/AlphaAvatarGroup/AvatarGroup.tsx +4 -13
- package/src/components/AlphaAvatarGroup/AvatarGroup.types.ts +0 -3
- package/src/components/AlphaAvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +3 -3
- package/src/components/AlphaButton/Button.module.scss +22 -8
- package/src/components/AlphaButton/Button.tsx +11 -16
- package/src/components/AlphaFloatingButton/FloatingButton.module.scss +18 -6
- package/src/components/AlphaFloatingButton/FloatingButton.tsx +11 -16
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.module.scss +14 -4
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.tsx +11 -16
- package/src/components/AlphaIconButton/IconButton.module.scss +21 -9
- package/src/components/AlphaIconButton/IconButton.tsx +11 -16
- package/src/components/AlphaSpinner/AlphaSpinner.stories.tsx +23 -0
- package/src/components/AlphaSpinner/Spinner.module.scss +75 -0
- package/src/components/AlphaSpinner/Spinner.test.tsx +34 -0
- package/src/components/AlphaSpinner/Spinner.tsx +49 -0
- package/src/components/AlphaSpinner/Spinner.types.ts +21 -0
- package/src/components/AlphaSpinner/index.ts +2 -0
- package/src/components/AutoFocus/AutoFocus.tsx +3 -2
- package/src/components/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +3 -3
- package/src/components/BaseTagBadge/BaseTagBadge.tsx +2 -1
- package/src/components/FeatureProvider/FeatureProvider.tsx +3 -2
- package/src/components/Help/__snapshots__/Help.test.tsx.snap +3 -3
- package/src/components/Icon/Icon.module.scss +18 -0
- package/src/components/Icon/Icon.tsx +7 -17
- package/src/components/Icon/Icon.types.ts +1 -1
- package/src/components/NavGroup/__snapshots__/NavGroup.test.tsx.snap +12 -12
- package/src/components/NavItem/__snapshots__/NavItem.test.tsx.snap +6 -6
- package/src/components/Overlay/Overlay.tsx +3 -3
- package/src/components/TextArea/TextArea.tsx +3 -2
- package/src/components/Toast/Toast.module.scss +1 -1
- package/src/components/Toast/Toast.tsx +1 -2
- package/src/hooks/useIsomorphicLayoutEffect.ts +9 -0
- package/src/index.ts +1 -0
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Help > Snapshot > 1`] = `
|
|
4
4
|
<svg
|
|
5
|
-
class="Icon margin Icon"
|
|
5
|
+
class="Icon size-xs margin Icon"
|
|
6
6
|
data-testid="bezier-help"
|
|
7
7
|
fill="none"
|
|
8
|
-
height="
|
|
8
|
+
height="1em"
|
|
9
9
|
style="--b-icon-color: var(--txt-black-dark);"
|
|
10
10
|
viewBox="0 0 24 24"
|
|
11
|
-
width="
|
|
11
|
+
width="1em"
|
|
12
12
|
xmlns="http://www.w3.org/2000/svg"
|
|
13
13
|
>
|
|
14
14
|
<path
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
@use '../../styles/mixins/dimension';
|
|
2
|
+
|
|
3
|
+
$size-map: (
|
|
4
|
+
xxxs: 10,
|
|
5
|
+
xxs: 12,
|
|
6
|
+
xs: 16,
|
|
7
|
+
s: 20,
|
|
8
|
+
m: 24,
|
|
9
|
+
l: 36,
|
|
10
|
+
xl: 44,
|
|
11
|
+
);
|
|
12
|
+
|
|
1
13
|
.Icon {
|
|
2
14
|
--b-icon-color: initial;
|
|
3
15
|
|
|
4
16
|
flex: 0 0 auto;
|
|
5
17
|
color: var(--b-icon-color);
|
|
6
18
|
transition: color var(--transition-s);
|
|
19
|
+
|
|
20
|
+
@each $size, $value in $size-map {
|
|
21
|
+
&:where(.size-#{$size}) {
|
|
22
|
+
@include dimension.square(#{$value}px);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
7
25
|
}
|
|
@@ -5,25 +5,12 @@ import classNames from 'classnames'
|
|
|
5
5
|
import { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'
|
|
6
6
|
import { tokenCssVar } from '~/src/utils/style'
|
|
7
7
|
|
|
8
|
-
import { type IconProps
|
|
8
|
+
import { type IconProps } from './Icon.types'
|
|
9
9
|
|
|
10
10
|
import styles from './Icon.module.scss'
|
|
11
11
|
|
|
12
12
|
export const ICON_TEST_ID = 'bezier-icon'
|
|
13
13
|
|
|
14
|
-
const getSizeValue = (size: IconSize) =>
|
|
15
|
-
(
|
|
16
|
-
({
|
|
17
|
-
xl: 44,
|
|
18
|
-
l: 36,
|
|
19
|
-
m: 24,
|
|
20
|
-
s: 20,
|
|
21
|
-
xs: 16,
|
|
22
|
-
xxs: 12,
|
|
23
|
-
xxxs: 10,
|
|
24
|
-
}) satisfies Record<IconSize, number>
|
|
25
|
-
)[size]
|
|
26
|
-
|
|
27
14
|
export const Icon = memo(
|
|
28
15
|
forwardRef<SVGSVGElement, IconProps>(function Icon(props, forwardedRef) {
|
|
29
16
|
const [marginProps, marginRest] = splitByMarginProps(props)
|
|
@@ -48,9 +35,12 @@ export const Icon = memo(
|
|
|
48
35
|
...style,
|
|
49
36
|
} as React.CSSProperties
|
|
50
37
|
}
|
|
51
|
-
className={classNames(
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
className={classNames(
|
|
39
|
+
styles.Icon,
|
|
40
|
+
styles[`size-${size}`],
|
|
41
|
+
marginStyles.className,
|
|
42
|
+
className
|
|
43
|
+
)}
|
|
54
44
|
data-testid={ICON_TEST_ID}
|
|
55
45
|
{...rest}
|
|
56
46
|
/>
|
|
@@ -12,7 +12,7 @@ export type IconSize = 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs'
|
|
|
12
12
|
interface IconOwnProps {
|
|
13
13
|
/**
|
|
14
14
|
* Controls which icon should be rendered.
|
|
15
|
-
* Inject the icon component from the
|
|
15
|
+
* Inject the icon component from the `@channel.io/bezier-icons` package into this prop.
|
|
16
16
|
* @example
|
|
17
17
|
* ```tsx
|
|
18
18
|
* import { HeartFilledIcon } from '@channel.io/bezier-icons'
|
|
@@ -13,13 +13,13 @@ exports[`NavGroup Test > Snapshot > Active 1`] = `
|
|
|
13
13
|
class="LeftIconWrapper"
|
|
14
14
|
>
|
|
15
15
|
<svg
|
|
16
|
-
class="Icon margin"
|
|
16
|
+
class="Icon size-s margin"
|
|
17
17
|
data-testid="bezier-nav-group-left-icon"
|
|
18
18
|
fill="none"
|
|
19
|
-
height="
|
|
19
|
+
height="1em"
|
|
20
20
|
style="--b-icon-color: var(--bgtxt-blue-normal);"
|
|
21
21
|
viewBox="0 0 24 24"
|
|
22
|
-
width="
|
|
22
|
+
width="1em"
|
|
23
23
|
xmlns="http://www.w3.org/2000/svg"
|
|
24
24
|
>
|
|
25
25
|
<path
|
|
@@ -40,13 +40,13 @@ exports[`NavGroup Test > Snapshot > Active 1`] = `
|
|
|
40
40
|
class="RightContentWrapper"
|
|
41
41
|
>
|
|
42
42
|
<svg
|
|
43
|
-
class="Icon margin"
|
|
43
|
+
class="Icon size-xs margin"
|
|
44
44
|
data-testid="bezier-icon"
|
|
45
45
|
fill="none"
|
|
46
|
-
height="
|
|
46
|
+
height="1em"
|
|
47
47
|
style="--b-icon-color: var(--bgtxt-orange-normal);"
|
|
48
48
|
viewBox="0 0 24 24"
|
|
49
|
-
width="
|
|
49
|
+
width="1em"
|
|
50
50
|
xmlns="http://www.w3.org/2000/svg"
|
|
51
51
|
>
|
|
52
52
|
<path
|
|
@@ -73,13 +73,13 @@ exports[`NavGroup Test > Snapshot > Not active 1`] = `
|
|
|
73
73
|
class="LeftIconWrapper"
|
|
74
74
|
>
|
|
75
75
|
<svg
|
|
76
|
-
class="Icon margin"
|
|
76
|
+
class="Icon size-s margin"
|
|
77
77
|
data-testid="bezier-nav-group-left-icon"
|
|
78
78
|
fill="none"
|
|
79
|
-
height="
|
|
79
|
+
height="1em"
|
|
80
80
|
style="--b-icon-color: var(--txt-black-dark);"
|
|
81
81
|
viewBox="0 0 24 24"
|
|
82
|
-
width="
|
|
82
|
+
width="1em"
|
|
83
83
|
xmlns="http://www.w3.org/2000/svg"
|
|
84
84
|
>
|
|
85
85
|
<path
|
|
@@ -100,13 +100,13 @@ exports[`NavGroup Test > Snapshot > Not active 1`] = `
|
|
|
100
100
|
class="RightContentWrapper"
|
|
101
101
|
>
|
|
102
102
|
<svg
|
|
103
|
-
class="Icon margin"
|
|
103
|
+
class="Icon size-xs margin"
|
|
104
104
|
data-testid="bezier-icon"
|
|
105
105
|
fill="none"
|
|
106
|
-
height="
|
|
106
|
+
height="1em"
|
|
107
107
|
style="--b-icon-color: var(--bgtxt-orange-normal);"
|
|
108
108
|
viewBox="0 0 24 24"
|
|
109
|
-
width="
|
|
109
|
+
width="1em"
|
|
110
110
|
xmlns="http://www.w3.org/2000/svg"
|
|
111
111
|
>
|
|
112
112
|
<path
|
|
@@ -11,13 +11,13 @@ exports[`NavItem Test > Snapshot > Active 1`] = `
|
|
|
11
11
|
class="LeftIconWrapper"
|
|
12
12
|
>
|
|
13
13
|
<svg
|
|
14
|
-
class="Icon margin"
|
|
14
|
+
class="Icon size-s margin"
|
|
15
15
|
data-testid="bezier-nav-item-left-icon"
|
|
16
16
|
fill="none"
|
|
17
|
-
height="
|
|
17
|
+
height="1em"
|
|
18
18
|
style="--b-icon-color: var(--bgtxt-blue-normal);"
|
|
19
19
|
viewBox="0 0 24 24"
|
|
20
|
-
width="
|
|
20
|
+
width="1em"
|
|
21
21
|
xmlns="http://www.w3.org/2000/svg"
|
|
22
22
|
>
|
|
23
23
|
<path
|
|
@@ -48,13 +48,13 @@ exports[`NavItem Test > Snapshot > Not active 1`] = `
|
|
|
48
48
|
class="LeftIconWrapper"
|
|
49
49
|
>
|
|
50
50
|
<svg
|
|
51
|
-
class="Icon margin"
|
|
51
|
+
class="Icon size-s margin"
|
|
52
52
|
data-testid="bezier-nav-item-left-icon"
|
|
53
53
|
fill="none"
|
|
54
|
-
height="
|
|
54
|
+
height="1em"
|
|
55
55
|
style="--b-icon-color: var(--txt-black-dark);"
|
|
56
56
|
viewBox="0 0 24 24"
|
|
57
|
-
width="
|
|
57
|
+
width="1em"
|
|
58
58
|
xmlns="http://www.w3.org/2000/svg"
|
|
59
59
|
>
|
|
60
60
|
<path
|
|
@@ -2,7 +2,6 @@ import React, {
|
|
|
2
2
|
forwardRef,
|
|
3
3
|
useCallback,
|
|
4
4
|
useEffect,
|
|
5
|
-
useLayoutEffect,
|
|
6
5
|
useReducer,
|
|
7
6
|
useRef,
|
|
8
7
|
useState,
|
|
@@ -12,6 +11,7 @@ import ReactDOM from 'react-dom'
|
|
|
12
11
|
import classNames from 'classnames'
|
|
13
12
|
|
|
14
13
|
import useEventHandler from '~/src/hooks/useEventHandler'
|
|
14
|
+
import { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'
|
|
15
15
|
import useMergeRefs from '~/src/hooks/useMergeRefs'
|
|
16
16
|
|
|
17
17
|
import { useModalContainerContext } from '~/src/components/Modal'
|
|
@@ -94,7 +94,7 @@ export const Overlay = forwardRef<HTMLDivElement, OverlayProps>(
|
|
|
94
94
|
}
|
|
95
95
|
}, [container, hasContainer])
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
useIsomorphicLayoutEffect(
|
|
98
98
|
function initContainerRect() {
|
|
99
99
|
if (show) {
|
|
100
100
|
handleContainerRect()
|
|
@@ -125,7 +125,7 @@ export const Overlay = forwardRef<HTMLDivElement, OverlayProps>(
|
|
|
125
125
|
}
|
|
126
126
|
}, [target])
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
useIsomorphicLayoutEffect(
|
|
129
129
|
function initTargetRect() {
|
|
130
130
|
if (show) {
|
|
131
131
|
handleTargetRect()
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React, { forwardRef,
|
|
1
|
+
import React, { forwardRef, useRef } from 'react'
|
|
2
2
|
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
import TextareaAutosize from 'react-textarea-autosize'
|
|
5
5
|
|
|
6
|
+
import { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'
|
|
6
7
|
import {
|
|
7
8
|
COMMON_IME_CONTROL_KEYS,
|
|
8
9
|
useKeyboardActionLockerWhileComposing,
|
|
@@ -43,7 +44,7 @@ export const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
|
|
|
43
44
|
onKeyUp,
|
|
44
45
|
})
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
useIsomorphicLayoutEffect(function initialAutoFocus() {
|
|
47
48
|
function setSelectionToEnd() {
|
|
48
49
|
inputRef.current?.setSelectionRange(
|
|
49
50
|
inputRef.current?.value.length,
|
|
@@ -205,9 +205,8 @@ export function ToastProvider({
|
|
|
205
205
|
|
|
206
206
|
const createContainer = useCallback(
|
|
207
207
|
(placement: ToastPlacement, toasts: ToastType[]) => (
|
|
208
|
-
<InvertedThemeProvider>
|
|
208
|
+
<InvertedThemeProvider key={placement}>
|
|
209
209
|
<div
|
|
210
|
-
key={placement}
|
|
211
210
|
style={{
|
|
212
211
|
bottom: px(offset?.bottom ?? DEFAULT_OFFSET.bottom),
|
|
213
212
|
...(placement === 'bottom-right'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useEffect, useLayoutEffect } from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @description This hook is used to handle the layout effect in a way that is compatible with SSR.
|
|
5
|
+
* In Server Environments, this hook will use `useEffect` instead of `useLayoutEffect`.
|
|
6
|
+
* @see https://react.dev/reference/react/useLayoutEffect#troubleshooting
|
|
7
|
+
*/
|
|
8
|
+
export const useIsomorphicLayoutEffect =
|
|
9
|
+
typeof window !== 'undefined' ? useLayoutEffect : useEffect
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from '~/src/components/AlphaDialogPrimitive'
|
|
|
12
12
|
export * from '~/src/components/AlphaFloatingButton'
|
|
13
13
|
export * from '~/src/components/AlphaFloatingIconButton'
|
|
14
14
|
export * from '~/src/components/AlphaIconButton'
|
|
15
|
+
export * from '~/src/components/AlphaSpinner'
|
|
15
16
|
export * from '~/src/components/AlphaTooltipPrimitive'
|
|
16
17
|
export * from '~/src/components/AppProvider'
|
|
17
18
|
export * from '~/src/components/AutoFocus'
|