,
+ activeVariants
+ )
+ }
+
+ return styleValue
+ },
+ })
+ }
+
+ return resolvedStyles
+ }
+)
+
+unistyles.withUnistyles = jest.fn(
+ >(
+ Component: React.ComponentType
+ ): React.ComponentType<
+ P & { uniProps?: (theme: unknown, rt: unknown) => Partial
}
+ > => {
+ const Wrapped = (
+ props: P & {
+ readonly uniProps?: (theme: unknown, rt: unknown) => Partial
+ }
+ ) => {
+ const { uniProps, ...rest } = props
+ const themeProps = uniProps
+ ? uniProps(getTheme(runtime.themeName), runtime)
+ : {}
+
+ return createElement(Component, { ...(rest as P), ...themeProps })
+ }
+
+ return Wrapped
+ }
+)
+
+themeRef.current = require('./src/theme') as {
+ darkTheme: unknown
+ lightTheme: unknown
+}
+
generatePropsCombinations = (properties: PropertyCombinations): T[] => {
const keys = Object.keys(properties) as Array
diff --git a/package.json b/package.json
index 6016ff80..0a43382d 100644
--- a/package.json
+++ b/package.json
@@ -24,17 +24,23 @@
"files": [
"dist"
],
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
+ }
+ },
"scripts": {
"build": "rm -rf dist && tsc -p tsconfig.build.json",
"test": "jest",
- "start": "expo start --dev-client",
+ "start": "expo start --dev-client --clear",
"android": "expo run:android",
"ios": "expo run:ios --no-install",
"storybook-generate": "sb-rn-get-stories --config-path .storybook && sed -i -e 's/export const view = global.view/export const view: ReturnType = global.view/' .storybook/storybook.requires.ts && prettier .storybook --write",
"doctor": "expo-doctor",
"check": "expo install --check",
- "lint:check": "eslint .",
- "lint:fix": "eslint --fix .",
+ "lint:check": "eslint --cache .",
+ "lint:fix": "eslint --fix --cache .",
"prettier:check": "prettier . --check",
"prettier:fix": "prettier . --write",
"prettier:watch": "onchange . -- prettier --write --ignore-unknown \"{{changed}}\"",
@@ -106,10 +112,12 @@
"react-native": "0.81.5",
"react-native-advanced-input-mask": "1.4.6",
"react-native-gesture-handler": "2.29.1",
- "react-native-reanimated": "4.1.1",
+ "react-native-nitro-modules": "0.35.2",
+ "react-native-reanimated": "4.2.1",
"react-native-safe-area-context": "5.6.2",
"react-native-svg": "15.15.1",
- "react-native-worklets": "0.5.1",
+ "react-native-unistyles": "3.2.3",
+ "react-native-worklets": "0.7.1",
"release-it": "19.1.0",
"standard-version": "9.5.0",
"storybook": "10.1.10",
@@ -123,8 +131,10 @@
"expo": ">=54.x.x",
"react": ">=19.1",
"react-native": ">=0.81.5",
- "react-native-reanimated": ">=4.1.1",
- "react-native-svg": ">=15.15.1"
+ "react-native-reanimated": ">=4.2.1",
+ "react-native-svg": ">=15.15.1",
+ "react-native-unistyles": ">=3.2.3",
+ "react-native-worklets": ">=0.7.0"
},
"peerDependenciesMeta": {
"expo": {
diff --git a/src/components/Accordion/Accordion.tsx b/src/components/Accordion/Accordion.tsx
index 9af5bde7..76ffb39e 100644
--- a/src/components/Accordion/Accordion.tsx
+++ b/src/components/Accordion/Accordion.tsx
@@ -10,8 +10,9 @@ import Animated, {
import type { ViewProps } from 'react-native-svg/lib/typescript/fabric/utils'
+import { StyleSheet } from 'react-native-unistyles'
+
import { type SvgSource, SvgUniversal } from '../../utils/SvgUniversal'
-import { makeStyles } from '../../utils/makeStyles'
export interface AccordionProps extends ViewProps {
/** Иконка слева от заголовка */
@@ -50,8 +51,6 @@ export const Accordion: React.FC = ({
children,
...rest
}) => {
- const styles = useStyles()
-
const contentHeight = useSharedValue(0)
const contentOpenFraction = useSharedValue(initiallyExpanded ? 1 : 0)
const [isExpanded, setIsExpanded] = useState(initiallyExpanded)
@@ -107,13 +106,22 @@ export const Accordion: React.FC = ({
style={arrowAnimatedStyle}
testID={AccordionTestIds.arrow}
>
-
+ ({
+ color: theme.Panel.Accordion.accordionHeaderTextColor,
+ })}
+ />
{Icon ? (
({
+ color: theme.Panel.Accordion.accordionHeaderTextColor,
+ })}
/>
) : null}
{title}
@@ -151,7 +159,7 @@ export const AccordionTestIds = {
separator: 'Separator',
}
-const useStyles = makeStyles(({ theme, fonts }) => ({
+const styles = StyleSheet.create(({ theme, fonts }) => ({
component: { width: '100%' },
header: {
paddingVertical: theme.Panel.Accordion.accordionHeaderPaddingTopBottom,
@@ -160,11 +168,7 @@ const useStyles = makeStyles(({ theme, fonts }) => ({
alignItems: 'center',
backgroundColor: theme.Panel.Accordion.accordionHeaderBg,
},
- icon: {
- width: 17.5,
- height: 17.5,
- color: theme.Panel.Accordion.accordionHeaderTextColor,
- },
+ icon: { width: 17.5, height: 17.5 },
title: {
fontSize: 15.75,
includeFontPadding: false,
diff --git a/src/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap b/src/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap
index 163abe4c..88883a29 100644
--- a/src/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap
+++ b/src/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap
@@ -121,6 +121,7 @@ exports[`Accordion Header elements maximal 1`] = `
},
]
}
+ testID="SvgUniversalComponent"
vbHeight={24}
vbWidth={24}
width={17.5}
@@ -168,6 +169,7 @@ exports[`Accordion Header elements maximal 1`] = `
strokeLinecap={1}
strokeLinejoin={1}
strokeWidth={2}
+ testID="SvgUniversalComponent"
/>
@@ -344,7 +346,7 @@ exports[`Accordion Header elements maximal 1`] = `
strokeWidth={2}
>
diff --git a/src/components/Avatar/Avatar.tsx b/src/components/Avatar/Avatar.tsx
index bfae1fba..83938627 100644
--- a/src/components/Avatar/Avatar.tsx
+++ b/src/components/Avatar/Avatar.tsx
@@ -21,8 +21,9 @@ import {
type ViewStyle,
} from 'react-native'
+import { StyleSheet } from 'react-native-unistyles'
+
import { type SvgSource, SvgUniversal } from '../../utils/SvgUniversal'
-import { makeStyles } from '../../utils/makeStyles'
export type AvatarSize = 'xlarge' | 'large' | 'normal'
@@ -137,7 +138,6 @@ export const Avatar = memo(
onError,
iconColor,
}) => {
- const styles = useStyles()
const window = useWindowDimensions()
const [badgeLayout, setBadgeLayout] = useState()
@@ -185,14 +185,16 @@ export const Avatar = memo(
return (
({
+ color: iconColor ?? theme.Misc.Avatar.avatarTextColor,
+ })}
width={iconSize}
/>
)
- }, [Icon, calculatedSize, iconColor, size, styles, type])
+ }, [Icon, calculatedSize, iconColor, size, type])
useEffect(() => {
if (badge) {
@@ -255,7 +257,7 @@ export const Avatar = memo(
}
)
-const useStyles = makeStyles(({ theme, border, typography, fonts }) => ({
+const styles = StyleSheet.create(({ theme, border, typography, fonts }) => ({
container: {
justifyContent: 'center',
alignItems: 'center',
@@ -277,10 +279,7 @@ const useStyles = makeStyles(({ theme, border, typography, fonts }) => ({
},
badgeContainer: { position: 'absolute', right: 0, top: -7 },
badgeMeasureContainer: { alignSelf: 'flex-start' },
- icon: {
- width: typography.Size['text-base'],
- color: theme.Misc.Avatar.avatarTextColor,
- },
+ icon: { width: typography.Size['text-base'] },
iconXLarge: { width: typography.Size['text-2xl'] },
}))
diff --git a/src/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap b/src/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap
index 734dacdd..5aae92ff 100644
--- a/src/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap
+++ b/src/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap
@@ -1702,15 +1702,15 @@ exports[`Avatar component tests With badge, showBadge: true 1`] = `
diff --git a/src/components/Badge/Badge.tsx b/src/components/Badge/Badge.tsx
index 185b14cb..8b0e5f6a 100644
--- a/src/components/Badge/Badge.tsx
+++ b/src/components/Badge/Badge.tsx
@@ -11,7 +11,7 @@ import {
} from 'react-native'
import type { ViewProps } from 'react-native-svg/lib/typescript/fabric/utils'
-import { makeStyles } from '../../utils/makeStyles'
+import { StyleSheet } from 'react-native-unistyles'
export type BadgeSeverity = 'basic' | 'info' | 'success' | 'warning' | 'danger'
@@ -52,7 +52,7 @@ export type BadgeProps = BadgeText | BadgeDot
*/
export const Badge = memo(
({ children, dot, severity = 'basic', style, testID, ...rest }) => {
- const styles = useStyles()
+ badgeStyles.useVariants({ severity })
const [textLayout, setTextLayout] = useState()
const onTextLayout = useCallback((e: LayoutChangeEvent) => {
@@ -60,18 +60,21 @@ export const Badge = memo(
}, [])
return (
-
+
{dot ? (
-
+
) : (
<>
{children}
@@ -81,12 +84,12 @@ export const Badge = memo(
{children}
@@ -100,41 +103,53 @@ export const Badge = memo(
}
)
-const useStyles = makeStyles(({ theme, border, typography, fonts }) => ({
- container: { alignItems: 'flex-start' },
- dot: {
- width: theme.Misc.Badge.badgeDotSize,
- height: theme.Misc.Badge.badgeDotSize,
- borderRadius: border.Radius['rounded-full'],
- },
- textBadgeContainer: {
- height: theme.Misc.Badge.badgeHeight,
- paddingHorizontal: theme.Misc.Tag.tagPadding,
- justifyContent: 'center',
- borderRadius: border.Radius['rounded-full'],
- },
- textBadge: {
- color: theme.Misc.Badge.badgeTextColor,
- fontSize: typography.Size['text-xs'],
- includeFontPadding: false,
- verticalAlign: 'middle',
- fontFamily: fonts.primary,
- },
- basic: { backgroundColor: theme.Misc.Badge.badgeBg },
- info: { backgroundColor: theme.Button.Severity.Info.Basic.infoButtonBg },
- success: {
- backgroundColor: theme.Button.Severity.Success.Basic.successButtonBg,
- },
- warning: {
- backgroundColor: theme.Button.Severity.Warning.Basic.warningButtonBg,
- },
- danger: {
- backgroundColor: theme.Button.Severity.Danger.Basic.dangerButtonBg,
- },
- hiddenContainer: {
- width: Dimensions.get('window').width,
- height: 0,
- flexDirection: 'row',
- position: 'absolute',
- },
-}))
+const badgeStyles = StyleSheet.create(
+ ({ theme, border, typography, fonts }) => ({
+ container: { alignItems: 'flex-start' },
+ dot: {
+ variants: {
+ severity: {
+ basic: { backgroundColor: theme.Misc.Badge.badgeBg },
+ info: {
+ backgroundColor: theme.Button.Severity.Info.Basic.infoButtonBg,
+ },
+ success: {
+ backgroundColor:
+ theme.Button.Severity.Success.Basic.successButtonBg,
+ },
+ warning: {
+ backgroundColor:
+ theme.Button.Severity.Warning.Basic.warningButtonBg,
+ },
+ danger: {
+ backgroundColor: theme.Button.Severity.Danger.Basic.dangerButtonBg,
+ },
+ },
+ },
+ },
+ dotShape: {
+ width: theme.Misc.Badge.badgeDotSize,
+ height: theme.Misc.Badge.badgeDotSize,
+ borderRadius: border.Radius['rounded-full'],
+ },
+ textBadgeContainer: {
+ height: theme.Misc.Badge.badgeHeight,
+ paddingHorizontal: theme.Misc.Tag.tagPadding,
+ justifyContent: 'center',
+ borderRadius: border.Radius['rounded-full'],
+ },
+ textBadge: {
+ color: theme.Misc.Badge.badgeTextColor,
+ fontSize: typography.Size['text-xs'],
+ includeFontPadding: false,
+ verticalAlign: 'middle',
+ fontFamily: fonts.primary,
+ },
+ hiddenContainer: {
+ width: Dimensions.get('window').width,
+ height: 0,
+ flexDirection: 'row',
+ position: 'absolute',
+ },
+ })
+)
diff --git a/src/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap b/src/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap
index e5b425a8..e4b181ae 100644
--- a/src/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap
+++ b/src/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap
@@ -14,14 +14,14 @@ exports[`Badge component tests dot, severity: basic 1`] = `
@@ -42,14 +42,14 @@ exports[`Badge component tests dot, severity: danger 1`] = `
@@ -70,14 +70,14 @@ exports[`Badge component tests dot, severity: info 1`] = `
@@ -98,14 +98,14 @@ exports[`Badge component tests dot, severity: success 1`] = `
@@ -126,14 +126,14 @@ exports[`Badge component tests dot, severity: warning 1`] = `
@@ -154,15 +154,15 @@ exports[`Badge component tests severity: basic 1`] = `
@@ -235,15 +235,15 @@ exports[`Badge component tests severity: basic 2`] = `
@@ -316,15 +316,15 @@ exports[`Badge component tests severity: basic 3`] = `
@@ -397,15 +397,15 @@ exports[`Badge component tests severity: basic 4`] = `
@@ -478,15 +478,15 @@ exports[`Badge component tests severity: basic 5`] = `
@@ -559,15 +559,15 @@ exports[`Badge component tests severity: default 1`] = `
@@ -642,14 +642,14 @@ exports[`Badge component tests with custom style 1`] = `
diff --git a/src/components/Button/BaseButton.tsx b/src/components/Button/BaseButton.tsx
index 4b604e3b..5e752b27 100644
--- a/src/components/Button/BaseButton.tsx
+++ b/src/components/Button/BaseButton.tsx
@@ -1,21 +1,21 @@
import { useCallback, useState } from 'react'
-
import type { GestureResponderEvent } from 'react-native'
import { genericMemo } from '../../utils/genericMemo'
-import type { ButtonProps, ButtonVariant, VariantStyles } from './types'
+import type { ButtonProps, ButtonVariant } from './types'
import {
ButtonLeftArea,
ButtonRightArea,
ButtonLabel,
ButtonContainer,
} from './utils'
+import { ButtonPressedContext } from './utils/ButtonPressedContext'
export type BaseButtonComponentProps = Omit<
ButtonProps,
'variant'
-> & { readonly variant: Variant } & VariantStyles
+> & { readonly variant: Variant }
const BaseButtonComponent = ({
size = 'base',
@@ -28,15 +28,11 @@ const BaseButtonComponent = ({
Icon,
label,
style,
- containerVariantStyles,
- labelVariantStyles,
- pressedVariantStyles,
- iconVariantStyles,
- pressedLabelVariantStyles,
onPressIn: onPressInProp,
onPressOut: onPressOutProp,
...props
}: BaseButtonComponentProps) => {
+ const isDisabled = !!disabled
const [pressed, setPressed] = useState(false)
const onPressIn = useCallback(
@@ -56,62 +52,31 @@ const BaseButtonComponent = ({
)
return (
-
-
-
-
+
-
+ {...props}
+ >
+
+
+
+
+
)
}
diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx
index 1ac8c549..5e2ca5e7 100644
--- a/src/components/Button/Button.tsx
+++ b/src/components/Button/Button.tsx
@@ -1,8 +1,8 @@
-import { memo } from 'react'
+import { memo, useMemo } from 'react'
import { BaseButton } from './BaseButton'
-import { useBasicButtonStyles } from './styles'
import type { ButtonBaseVariant, ButtonProps } from './types'
+import { ButtonVariantContext } from './utils/ButtonVariantContext'
/**
* Button component
@@ -20,8 +20,12 @@ import type { ButtonBaseVariant, ButtonProps } from './types'
*/
export const Button = memo>(
({ variant = 'primary', ...props }) => {
- const buttonStyles = useBasicButtonStyles()
+ const variantContextValue = useMemo(() => ({ variant }), [variant])
- return
+ return (
+
+
+
+ )
}
)
diff --git a/src/components/Button/ButtonBadge.tsx b/src/components/Button/ButtonBadge.tsx
index 1dfad821..14e10ef6 100644
--- a/src/components/Button/ButtonBadge.tsx
+++ b/src/components/Button/ButtonBadge.tsx
@@ -6,12 +6,13 @@ import {
type ViewStyle,
} from 'react-native'
-import { makeStyles } from '../../utils/makeStyles'
+import { StyleSheet } from 'react-native-unistyles'
+
import { Badge } from '../Badge'
import { BaseButton } from './BaseButton'
-import { useBasicButtonStyles } from './styles'
import type { ButtonBadgeProps, ButtonBaseVariant, ButtonProps } from './types'
+import { ButtonVariantContext } from './utils/ButtonVariantContext'
/**
* Button component with badge
@@ -32,9 +33,8 @@ import type { ButtonBadgeProps, ButtonBaseVariant, ButtonProps } from './types'
export const ButtonBadge = memo<
ButtonProps & ButtonBadgeProps
>(({ badgeLabel, badgeSeverity, variant = 'primary', ...props }) => {
- const buttonStyles = useBasicButtonStyles()
- const styles = useStyles()
const [badgeLayout, setBadgeLayout] = useState()
+ const variantContextValue = useMemo(() => ({ variant }), [variant])
const badgeContainerStyle = useMemo(
() => ({
@@ -56,32 +56,34 @@ export const ButtonBadge = memo<
)
return (
-
-
-
+
+
+
+
- {badgeLabel ? (
-
- {badgeLabel}
-
- ) : (
-
- )}
+ {badgeLabel ? (
+
+ {badgeLabel}
+
+ ) : (
+
+ )}
+
-
+
)
})
-const useStyles = makeStyles(() => ({
+const styles = StyleSheet.create(() => ({
root: { flexDirection: 'row' },
contentContainer: { flex: 1 },
iconOnlyContainer: { flex: 0 },
diff --git a/src/components/Button/ButtonSeverity.tsx b/src/components/Button/ButtonSeverity.tsx
index 0f017a3d..978588ce 100644
--- a/src/components/Button/ButtonSeverity.tsx
+++ b/src/components/Button/ButtonSeverity.tsx
@@ -1,12 +1,12 @@
-import { memo } from 'react'
+import { memo, useMemo } from 'react'
import { BaseButton } from './BaseButton'
-import { useSeverityButtonStyles } from './styles'
import type {
ButtonProps,
ButtonSeverityProps,
ButtonSeverityVariant,
} from './types'
+import { ButtonVariantContext } from './utils/ButtonVariantContext'
/**
* Button component
@@ -26,7 +26,14 @@ import type {
export const ButtonSeverity = memo<
ButtonProps & ButtonSeverityProps
>(({ severity, variant = 'basic', ...props }) => {
- const buttonStyles = useSeverityButtonStyles(severity)
+ const variantContextValue = useMemo(
+ () => ({ variant, severity }),
+ [severity, variant]
+ )
- return
+ return (
+
+
+
+ )
})
diff --git a/src/components/Button/__tests__/Button.test.tsx b/src/components/Button/__tests__/Button.test.tsx
index 716456ad..c2abe708 100644
--- a/src/components/Button/__tests__/Button.test.tsx
+++ b/src/components/Button/__tests__/Button.test.tsx
@@ -34,7 +34,7 @@ describe('Button component tests', () => {
'Button with icon on left, size - $size, shape - $shape, variant - $variant, loading - $loading, disabled - $disabled',
(props) => {
const renderedButton = render(
-
+
)
expect(renderedButton.toJSON()).toMatchSnapshot()
@@ -45,7 +45,7 @@ describe('Button component tests', () => {
'Button with icon on right, size - $size, shape - $shape, variant - $variant, loading - $loading, disabled - $disabled',
(props) => {
const renderedButton = render(
-
+
)
expect(renderedButton.toJSON()).toMatchSnapshot()
diff --git a/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap
index 58dda768..cc40367f 100644
--- a/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap
+++ b/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap
@@ -33,21 +33,24 @@ exports[`Button component tests Button default props 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
- {
- "alignItems": "center",
- "backgroundColor": "#44e858",
- "borderColor": "rgba(255, 255, 255, 0.0001)",
- "borderRadius": 10.5,
- "borderWidth": 1,
- "flexDirection": "row",
- "gap": 7,
- "height": 35,
- "justifyContent": "center",
- "maxHeight": 35,
- "minHeight": 35,
- "paddingHorizontal": 14,
- "paddingVertical": 0,
- }
+ [
+ {
+ "alignItems": "center",
+ "backgroundColor": "#44e858",
+ "borderColor": "rgba(255, 255, 255, 0.0001)",
+ "borderRadius": 10.5,
+ "borderWidth": 1,
+ "flexDirection": "row",
+ "gap": 7,
+ "height": 35,
+ "justifyContent": "center",
+ "maxHeight": 35,
+ "minHeight": 35,
+ "paddingHorizontal": 14,
+ "paddingVertical": 0,
+ },
+ false,
+ ]
}
>
+
+
+
+
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - base, shape - circle, variant - secondary, loading - true, disabled - true 2`] = `
+
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - base, shape - circle, variant - secondary, loading - true, disabled - true 2`] = `
-
-
-
-
-
+
+
+
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - false 1`] = `
+
+
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - false 1`] = `
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - false 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - false 2`] = `
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - true 1`] = `
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - true 1`] = `
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - false, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - false 1`] = `
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - false 2`] = `
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - true 1`] = `
+
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - false 1`] = `
+exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - true 2`] = `
-
+
+
+
+
+
+
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - false 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - false 1`] = `
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - true 1`] = `
-
`;
-exports[`Button component tests Button with icon on left, size - base, shape - square, variant - text, loading - true, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - false 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - false 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - true 1`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - false 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - true 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - false 1`] = `
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - false 2`] = `
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - true 1`] = `
+
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - false, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - true 2`] = `
-
-
-
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - false 1`] = `
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - false 2`] = `
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - true 1`] = `
-
-
-
-
-
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - link, loading - true, disabled - true 2`] = `
-
-
-
-
-
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - false, disabled - true 2`] = `
-
-
-
-
-
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - false 1`] = `
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - false 2`] = `
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - true 1`] = `
-
-
-
-
-
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - true 2`] = `
-
-
-
-
-
-
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - false 1`] = `
-
-
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - false 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - false, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - true 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - false 1`] = `
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - false 2`] = `
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - true 1`] = `
+
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - primary, loading - true, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - false 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - false 1`] = `
-
+
+
+
+
+
+
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - false 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - false 2`] = `
-
+
+
+
+
+
+
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - true 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - true 1`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - false, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - false 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - false 1`] = `
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - false 2`] = `
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - true 1`] = `
+
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - false 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - secondary, loading - true, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - true 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - false 1`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - false 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - false 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - true 1`] = `
-
-
- Button
-
-
-`;
-
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - false 2`] = `
-
-
+
+
+
+
+
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - true 1`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - false, disabled - true 2`] = `
`;
-exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - true 2`] = `
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - false 1`] = `
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - false 2`] = `
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - true 1`] = `
+
+
+
+
+
+
+
+ Button
+
+
+`;
+
+exports[`Button component tests Button with icon on left, size - large, shape - circle, variant - tertiary, loading - true, disabled - true 2`] = `
+
+