@toptal/picasso-button 1.0.10-alpha-FX-5195-fix-button-css-precedence-bb0862d3c.18 → 1.0.10-alpha-feature-migrate-buttons-d11d10471.27
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-package/src/Button/Button.d.ts +1 -0
- package/dist-package/src/Button/Button.d.ts.map +1 -1
- package/dist-package/src/Button/Button.js +42 -48
- package/dist-package/src/Button/Button.js.map +1 -1
- package/dist-package/src/Button/styles.d.ts +19 -45
- package/dist-package/src/Button/styles.d.ts.map +1 -1
- package/dist-package/src/Button/styles.js +160 -178
- package/dist-package/src/Button/styles.js.map +1 -1
- package/dist-package/src/ButtonAction/ButtonAction.d.ts.map +1 -1
- package/dist-package/src/ButtonAction/ButtonAction.js +20 -28
- package/dist-package/src/ButtonAction/ButtonAction.js.map +1 -1
- package/dist-package/src/ButtonAction/styles.d.ts +11 -3
- package/dist-package/src/ButtonAction/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonAction/styles.js +36 -55
- package/dist-package/src/ButtonAction/styles.js.map +1 -1
- package/dist-package/src/ButtonBase/ButtonBase.d.ts +29 -0
- package/dist-package/src/ButtonBase/ButtonBase.d.ts.map +1 -0
- package/dist-package/src/ButtonBase/ButtonBase.js +78 -0
- package/dist-package/src/ButtonBase/ButtonBase.js.map +1 -0
- package/dist-package/src/ButtonBase/index.d.ts +5 -0
- package/dist-package/src/ButtonBase/index.d.ts.map +1 -0
- package/dist-package/src/ButtonBase/index.js +2 -0
- package/dist-package/src/ButtonBase/index.js.map +1 -0
- package/dist-package/src/ButtonBase/styles.d.ts +6 -0
- package/dist-package/src/ButtonBase/styles.d.ts.map +1 -0
- package/dist-package/src/ButtonBase/styles.js +29 -0
- package/dist-package/src/ButtonBase/styles.js.map +1 -0
- package/dist-package/src/ButtonCircular/ButtonCircular.d.ts.map +1 -1
- package/dist-package/src/ButtonCircular/ButtonCircular.js +12 -26
- package/dist-package/src/ButtonCircular/ButtonCircular.js.map +1 -1
- package/dist-package/src/ButtonCircular/styles.d.ts +15 -3
- package/dist-package/src/ButtonCircular/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonCircular/styles.js +92 -57
- package/dist-package/src/ButtonCircular/styles.js.map +1 -1
- package/dist-package/src/ButtonCompound/index.d.ts +1 -1
- package/dist-package/src/ButtonControlLabel/styles.d.ts +1 -1
- package/dist-package/src/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist-package/src/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist-package/src/ButtonGroup/ButtonGroup.js +5 -27
- package/dist-package/src/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist-package/src/ButtonGroup/styles.d.ts +1 -2
- package/dist-package/src/ButtonGroup/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonGroup/styles.js +20 -47
- package/dist-package/src/ButtonGroup/styles.js.map +1 -1
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.d.ts +1 -1
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.d.ts.map +1 -1
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.js +17 -12
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.js.map +1 -1
- package/dist-package/src/ButtonGroupItem/styles.d.ts +13 -3
- package/dist-package/src/ButtonGroupItem/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonGroupItem/styles.js +39 -17
- package/dist-package/src/ButtonGroupItem/styles.js.map +1 -1
- package/dist-package/src/ButtonSplit/ButtonSplit.d.ts.map +1 -1
- package/dist-package/src/ButtonSplit/ButtonSplit.js +28 -24
- package/dist-package/src/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist-package/src/ButtonSplit/styles.d.ts +9 -3
- package/dist-package/src/ButtonSplit/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonSplit/styles.js +13 -50
- package/dist-package/src/ButtonSplit/styles.js.map +1 -1
- package/package.json +19 -15
- package/src/Button/Button.tsx +73 -102
- package/src/Button/__snapshots__/test.tsx.snap +6 -5
- package/src/Button/styles.ts +213 -221
- package/src/Button/test.tsx +3 -1
- package/src/ButtonAction/ButtonAction.tsx +36 -48
- package/src/ButtonAction/styles.ts +57 -57
- package/src/ButtonBase/ButtonBase.tsx +182 -0
- package/src/ButtonBase/index.ts +5 -0
- package/src/ButtonBase/styles.ts +36 -0
- package/src/ButtonCheckbox/__snapshots__/test.tsx.snap +3 -3
- package/src/ButtonCircular/ButtonCircular.tsx +22 -37
- package/src/ButtonCircular/styles.ts +127 -75
- package/src/ButtonGroup/ButtonGroup.tsx +9 -44
- package/src/ButtonGroup/__snapshots__/test.tsx.snap +7 -7
- package/src/ButtonGroup/styles.ts +21 -63
- package/src/ButtonGroupItem/ButtonGroupItem.tsx +24 -15
- package/src/ButtonGroupItem/styles.ts +62 -28
- package/src/ButtonRadio/__snapshots__/test.tsx.snap +3 -3
- package/src/ButtonSplit/ButtonSplit.tsx +46 -42
- package/src/ButtonSplit/__snapshots__/test.tsx.snap +9 -9
- package/src/ButtonSplit/styles.ts +37 -56
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare const
|
|
3
|
-
|
|
1
|
+
import type { SizeType } from '@toptal/picasso-shared';
|
|
2
|
+
export declare const createActionButtonClassNames: ({ variant, }: {
|
|
3
|
+
variant?: "primary" | "secondary" | undefined;
|
|
4
|
+
}) => string;
|
|
5
|
+
export declare const createMenuButtonClassNames: ({ variant, size, disabled, }: {
|
|
6
|
+
variant?: "primary" | "secondary" | undefined;
|
|
7
|
+
size: SizeType<'small' | 'medium' | 'large'>;
|
|
8
|
+
disabled?: boolean | undefined;
|
|
9
|
+
}) => string;
|
|
4
10
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ButtonSplit/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ButtonSplit/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGtD,eAAO,MAAM,4BAA4B;;YAUxC,CAAA;AAWD,eAAO,MAAM,0BAA0B;;UAM/B,SAAS,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;;YAS7C,CAAA"}
|
|
@@ -1,51 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
primaryVariant: {
|
|
16
|
-
'&$actionButton': {
|
|
17
|
-
borderRight: `1px solid ${palette.blue.darker}`,
|
|
18
|
-
},
|
|
19
|
-
'&$menuButton': {
|
|
20
|
-
borderLeft: `1px solid ${palette.blue.darker}`,
|
|
21
|
-
'&$disabled': {
|
|
22
|
-
borderLeftColor: palette.grey.main,
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
smallSize: {
|
|
27
|
-
minWidth: '1.5em',
|
|
28
|
-
paddingLeft: '0.25em',
|
|
29
|
-
paddingRight: '0.25em',
|
|
30
|
-
},
|
|
31
|
-
mediumSize: {},
|
|
32
|
-
largeSize: {
|
|
33
|
-
minWidth: '3em',
|
|
34
|
-
paddingLeft: '0.75em',
|
|
35
|
-
paddingRight: '0.75em',
|
|
36
|
-
},
|
|
37
|
-
dropdown: {
|
|
38
|
-
display: 'block',
|
|
39
|
-
cursor: 'pointer',
|
|
40
|
-
},
|
|
41
|
-
disabled: {
|
|
42
|
-
// override dropdown anchor styles
|
|
43
|
-
'& > div': {
|
|
44
|
-
cursor: 'auto',
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
rotated: {
|
|
48
|
-
transform: 'rotate(180deg)',
|
|
49
|
-
},
|
|
50
|
-
});
|
|
1
|
+
import { twMerge } from 'tailwind-merge';
|
|
2
|
+
export const createActionButtonClassNames = ({ variant, }) => {
|
|
3
|
+
return twMerge('transition-[color,background]', variant === 'primary' &&
|
|
4
|
+
'border-r border-l-0 border-y-0 border-solid border-blue-700');
|
|
5
|
+
};
|
|
6
|
+
const menuButtonSizeClassNames = {
|
|
7
|
+
small: 'min-w-[1.5em] px-[0.25em]',
|
|
8
|
+
medium: 'min-w-[2em] px-[0.5em]',
|
|
9
|
+
large: 'min-w-[3em] px-[0.75em]',
|
|
10
|
+
};
|
|
11
|
+
export const createMenuButtonClassNames = ({ variant, size, disabled, }) => {
|
|
12
|
+
return twMerge(menuButtonSizeClassNames[size], variant === 'primary' && 'border-l border-r-0 border-y-0 border-solid', variant === 'primary' && disabled && 'border-gray-500', variant === 'primary' && !disabled && 'border-blue-700');
|
|
13
|
+
};
|
|
51
14
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/ButtonSplit/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/ButtonSplit/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,OAAO,GAGR,EAAE,EAAE;IACH,OAAO,OAAO,CACZ,+BAA+B,EAC/B,OAAO,KAAK,SAAS;QACnB,6DAA6D,CAChE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAG1B;IACF,KAAK,EAAE,2BAA2B;IAClC,MAAM,EAAE,wBAAwB;IAChC,KAAK,EAAE,yBAAyB;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,OAAO,EACP,IAAI,EACJ,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,OAAO,CACZ,wBAAwB,CAAC,IAAI,CAAC,EAC9B,OAAO,KAAK,SAAS,IAAI,6CAA6C,EACtE,OAAO,KAAK,SAAS,IAAI,QAAQ,IAAI,iBAAiB,EACtD,OAAO,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CACxD,CAAA;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso-button",
|
|
3
|
-
"version": "1.0.10-alpha-
|
|
3
|
+
"version": "1.0.10-alpha-feature-migrate-buttons-d11d10471.27+d11d10471",
|
|
4
4
|
"description": "Toptal UI components library - Button",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -22,17 +22,19 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@
|
|
26
|
-
"@toptal/picasso-
|
|
27
|
-
"@toptal/picasso-
|
|
28
|
-
"@toptal/picasso-
|
|
29
|
-
"@toptal/picasso-
|
|
30
|
-
"@toptal/picasso-
|
|
31
|
-
"@toptal/picasso-
|
|
32
|
-
"@toptal/picasso-
|
|
33
|
-
"@toptal/picasso-
|
|
25
|
+
"@mui/base": "5.0.0-beta.40",
|
|
26
|
+
"@toptal/picasso-checkbox": "1.0.7-alpha-feature-migrate-buttons-d11d10471.35+d11d10471",
|
|
27
|
+
"@toptal/picasso-container": "1.0.3-alpha-feature-migrate-buttons-d11d10471.64+d11d10471",
|
|
28
|
+
"@toptal/picasso-dropdown": "2.0.1-alpha-feature-migrate-buttons-d11d10471.38+d11d10471",
|
|
29
|
+
"@toptal/picasso-icons": "1.0.3-alpha-feature-migrate-buttons-d11d10471.64+d11d10471",
|
|
30
|
+
"@toptal/picasso-link": "1.0.3-alpha-feature-migrate-buttons-d11d10471.64+d11d10471",
|
|
31
|
+
"@toptal/picasso-loader": "1.0.3-alpha-feature-migrate-buttons-d11d10471.64+d11d10471",
|
|
32
|
+
"@toptal/picasso-radio": "1.0.7-alpha-feature-migrate-buttons-d11d10471.35+d11d10471",
|
|
33
|
+
"@toptal/picasso-shared": "14.0.2-alpha-feature-migrate-buttons-d11d10471.64+d11d10471",
|
|
34
|
+
"@toptal/picasso-utils": "1.0.3-alpha-feature-migrate-buttons-d11d10471.64+d11d10471",
|
|
34
35
|
"ap-style-title-case": "^1.1.2",
|
|
35
|
-
"classnames": "^2.5.1"
|
|
36
|
+
"classnames": "^2.5.1",
|
|
37
|
+
"tailwind-merge": "^2.2.2"
|
|
36
38
|
},
|
|
37
39
|
"sideEffects": [
|
|
38
40
|
"**/styles.ts",
|
|
@@ -41,19 +43,21 @@
|
|
|
41
43
|
"peerDependencies": {
|
|
42
44
|
"@material-ui/core": "4.12.4",
|
|
43
45
|
"@toptal/picasso-provider": "*",
|
|
44
|
-
"
|
|
46
|
+
"@toptal/picasso-tailwind": ">=2.0.1",
|
|
47
|
+
"react": ">=16.12.0 < 19.0.0",
|
|
48
|
+
"tailwindcss": ">=3"
|
|
45
49
|
},
|
|
46
50
|
"exports": {
|
|
47
51
|
".": "./dist-package/src/index.js"
|
|
48
52
|
},
|
|
49
53
|
"devDependencies": {
|
|
50
|
-
"@toptal/picasso-provider": "4.2.1-alpha-
|
|
51
|
-
"@toptal/picasso-test-utils": "1.1.1-alpha-
|
|
54
|
+
"@toptal/picasso-provider": "4.2.1-alpha-feature-migrate-buttons-d11d10471.35+d11d10471",
|
|
55
|
+
"@toptal/picasso-test-utils": "1.1.1-alpha-feature-migrate-buttons-d11d10471.56+d11d10471"
|
|
52
56
|
},
|
|
53
57
|
"files": [
|
|
54
58
|
"dist-package/**",
|
|
55
59
|
"!dist-package/tsconfig.tsbuildinfo",
|
|
56
60
|
"src"
|
|
57
61
|
],
|
|
58
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "d11d1047100fb9cfe39e7d0f98884130f8d07543"
|
|
59
63
|
}
|
package/src/Button/Button.tsx
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import type { ReactNode, ReactElement, MouseEvent, ElementType } from 'react'
|
|
2
2
|
import React, { forwardRef } from 'react'
|
|
3
3
|
import cx from 'classnames'
|
|
4
|
+
import { twMerge } from 'tailwind-merge'
|
|
4
5
|
import type {
|
|
5
6
|
StandardProps,
|
|
6
7
|
SizeType,
|
|
7
8
|
ButtonOrAnchorProps,
|
|
8
9
|
OverridableComponent,
|
|
9
10
|
TextLabelProps,
|
|
10
|
-
Classes,
|
|
11
11
|
} from '@toptal/picasso-shared'
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})
|
|
12
|
+
import { noop } from '@toptal/picasso-utils'
|
|
13
|
+
// we need to ensure the correct order of styles import
|
|
14
|
+
// @TODO: to be removed when the component is migrated in FX-4614
|
|
15
|
+
import '@toptal/picasso-link'
|
|
16
|
+
|
|
17
|
+
import { ButtonBase } from '../ButtonBase'
|
|
18
|
+
import {
|
|
19
|
+
createVariantClassNames,
|
|
20
|
+
createCoreClassNames,
|
|
21
|
+
createSizeClassNames,
|
|
22
|
+
createIconClassNames,
|
|
23
|
+
} from './styles'
|
|
25
24
|
|
|
26
25
|
export type VariantType =
|
|
27
26
|
| 'primary'
|
|
@@ -68,31 +67,28 @@ export interface Props
|
|
|
68
67
|
type?: 'button' | 'reset' | 'submit'
|
|
69
68
|
}
|
|
70
69
|
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
const getIcon = ({
|
|
71
|
+
children,
|
|
72
|
+
icon,
|
|
73
|
+
iconPosition,
|
|
74
|
+
size,
|
|
75
|
+
}: {
|
|
76
|
+
children: ReactNode
|
|
77
|
+
icon?: ReactElement
|
|
78
78
|
iconPosition?: IconPositionType
|
|
79
|
-
|
|
79
|
+
size: SizeType<'small' | 'medium' | 'large'>
|
|
80
|
+
}) => {
|
|
80
81
|
if (!icon) {
|
|
81
|
-
return
|
|
82
|
+
return undefined
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
const {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
} = classes
|
|
85
|
+
const iconClassNames = createIconClassNames({
|
|
86
|
+
size,
|
|
87
|
+
iconPosition: children && iconPosition ? iconPosition : undefined,
|
|
88
|
+
})
|
|
89
89
|
|
|
90
90
|
return React.cloneElement(icon, {
|
|
91
|
-
className:
|
|
92
|
-
[iconLeftClass]: children && iconPosition === 'left',
|
|
93
|
-
[iconRightClass]: children && iconPosition === 'right',
|
|
94
|
-
}),
|
|
95
|
-
key: 'button-icon',
|
|
91
|
+
className: twMerge(iconClassNames, icon.props.className),
|
|
96
92
|
})
|
|
97
93
|
}
|
|
98
94
|
|
|
@@ -104,9 +100,7 @@ export const Button: OverridableComponent<Props> = forwardRef<
|
|
|
104
100
|
icon,
|
|
105
101
|
iconPosition,
|
|
106
102
|
loading,
|
|
107
|
-
children,
|
|
108
103
|
className,
|
|
109
|
-
style,
|
|
110
104
|
fullWidth,
|
|
111
105
|
variant = 'primary',
|
|
112
106
|
size = 'medium',
|
|
@@ -114,86 +108,63 @@ export const Button: OverridableComponent<Props> = forwardRef<
|
|
|
114
108
|
hovered,
|
|
115
109
|
disabled,
|
|
116
110
|
active,
|
|
117
|
-
onClick,
|
|
118
|
-
title,
|
|
119
|
-
value,
|
|
120
|
-
type,
|
|
121
|
-
as = 'button',
|
|
122
|
-
titleCase: propsTitleCase,
|
|
123
111
|
...rest
|
|
124
112
|
} = props
|
|
125
|
-
const classes = useStyles(props)
|
|
126
|
-
|
|
127
|
-
const {
|
|
128
|
-
root: rootClass,
|
|
129
|
-
hidden: hiddenClass,
|
|
130
|
-
loader: loaderClass,
|
|
131
|
-
content: contentClass,
|
|
132
|
-
} = classes
|
|
133
|
-
|
|
134
|
-
const titleCase = useTitleCase(propsTitleCase)
|
|
135
|
-
|
|
136
|
-
const finalChildren = [titleCase ? toTitleCase(children) : children]
|
|
137
113
|
|
|
138
|
-
|
|
139
|
-
|
|
114
|
+
const iconComponent = getIcon({
|
|
115
|
+
children: rest.children,
|
|
116
|
+
icon,
|
|
117
|
+
iconPosition,
|
|
118
|
+
size,
|
|
119
|
+
})
|
|
120
|
+
const coreClassNames = createCoreClassNames({
|
|
121
|
+
disabled,
|
|
122
|
+
focused,
|
|
123
|
+
hovered,
|
|
124
|
+
active,
|
|
125
|
+
})
|
|
126
|
+
const variantClassNames = createVariantClassNames(variant, {
|
|
127
|
+
disabled,
|
|
128
|
+
focused,
|
|
129
|
+
hovered,
|
|
130
|
+
active,
|
|
131
|
+
})
|
|
132
|
+
const sizeClassNames = createSizeClassNames(size)
|
|
133
|
+
|
|
134
|
+
const finalClassName = twMerge(
|
|
135
|
+
coreClassNames,
|
|
136
|
+
variantClassNames,
|
|
137
|
+
sizeClassNames,
|
|
138
|
+
fullWidth ? 'w-full' : '',
|
|
139
|
+
className
|
|
140
|
+
)
|
|
140
141
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
142
|
+
const contentSizeClassNames: Record<
|
|
143
|
+
SizeType<'small' | 'medium' | 'large'>,
|
|
144
|
+
string[]
|
|
145
|
+
> = {
|
|
146
|
+
small: ['text-button-small'],
|
|
147
|
+
medium: ['text-button-medium'],
|
|
148
|
+
large: ['text-button-large'],
|
|
146
149
|
}
|
|
147
150
|
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
{
|
|
153
|
-
[classes.fullWidth]: fullWidth,
|
|
154
|
-
[classes.active]: active,
|
|
155
|
-
[classes.focused]: focused,
|
|
156
|
-
[classes.hovered]: hovered,
|
|
157
|
-
[classes.disabled]: disabled,
|
|
158
|
-
},
|
|
159
|
-
sizeClassName,
|
|
160
|
-
variantClassName,
|
|
161
|
-
rootClass
|
|
151
|
+
const contentClassName = cx(
|
|
152
|
+
'font-semibold whitespace-nowrap',
|
|
153
|
+
contentSizeClassNames[size],
|
|
154
|
+
loading ? 'opacity-0' : ''
|
|
162
155
|
)
|
|
163
156
|
|
|
164
157
|
return (
|
|
165
158
|
<ButtonBase
|
|
166
159
|
{...rest}
|
|
167
160
|
ref={ref}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
className={className}
|
|
174
|
-
style={style}
|
|
161
|
+
className={finalClassName}
|
|
162
|
+
contentClassName={contentClassName}
|
|
163
|
+
icon={iconComponent}
|
|
164
|
+
iconPosition={iconPosition}
|
|
165
|
+
loading={loading}
|
|
175
166
|
disabled={disabled}
|
|
176
|
-
|
|
177
|
-
value={value}
|
|
178
|
-
type={type}
|
|
179
|
-
component={as}
|
|
180
|
-
data-component-type='button'
|
|
181
|
-
>
|
|
182
|
-
<Container
|
|
183
|
-
as='span'
|
|
184
|
-
inline
|
|
185
|
-
flex
|
|
186
|
-
direction='row'
|
|
187
|
-
alignItems='center'
|
|
188
|
-
className={cx({ [hiddenClass]: loading }, contentClass)}
|
|
189
|
-
>
|
|
190
|
-
{finalChildren}
|
|
191
|
-
</Container>
|
|
192
|
-
|
|
193
|
-
{loading && (
|
|
194
|
-
<Loader variant='inherit' className={loaderClass} inline size='small' />
|
|
195
|
-
)}
|
|
196
|
-
</ButtonBase>
|
|
167
|
+
/>
|
|
197
168
|
)
|
|
198
169
|
})
|
|
199
170
|
|
|
@@ -7,13 +7,14 @@ exports[`Button disabled button as link renders disabled version 1`] = `
|
|
|
7
7
|
>
|
|
8
8
|
<a
|
|
9
9
|
aria-disabled="true"
|
|
10
|
-
class="MuiTypography-root MuiLink-root MuiLink-underlineHover PicassoLink-root
|
|
10
|
+
class="MuiTypography-root MuiLink-root MuiLink-underlineHover PicassoLink-root base-Button base- text-lg inline-flex items-center justify-center select-none appearance-none m-0 relative normal-case align-middle transition-colors duration-350 ease-out shrink-0 outline-none [&+&]:ml-4 cursor-default pointer-events no-underline rounded-sm shadow-none border-none text-white visited:text-white bg-gray min-w h-8 py-0 px-4 PicassoLink-blue MuiTypography-colorPrimary"
|
|
11
11
|
data-component-type="button"
|
|
12
|
-
|
|
12
|
+
href="URL"
|
|
13
13
|
tabindex="-1"
|
|
14
|
+
type="button"
|
|
14
15
|
>
|
|
15
16
|
<span
|
|
16
|
-
class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline
|
|
17
|
+
class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline font-semibold whitespace-nowrap text-button"
|
|
17
18
|
>
|
|
18
19
|
Click me!
|
|
19
20
|
</span>
|
|
@@ -28,14 +29,14 @@ exports[`Button disabled button renders disabled version 1`] = `
|
|
|
28
29
|
class="Picasso-root"
|
|
29
30
|
>
|
|
30
31
|
<button
|
|
31
|
-
class="
|
|
32
|
+
class="base-Button base- text-lg inline-flex items-center justify-center select-none appearance-none m-0 relative normal-case align-middle transition-colors duration-350 ease-out shrink-0 outline-none [&+&]:ml-4 cursor-default pointer-events no-underline rounded-sm shadow-none border-none text-white visited:text-white bg-gray min-w h-8 py-0 px-4"
|
|
32
33
|
data-component-type="button"
|
|
33
34
|
disabled=""
|
|
34
35
|
tabindex="-1"
|
|
35
36
|
type="button"
|
|
36
37
|
>
|
|
37
38
|
<span
|
|
38
|
-
class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline
|
|
39
|
+
class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline font-semibold whitespace-nowrap text-button"
|
|
39
40
|
>
|
|
40
41
|
Click me!
|
|
41
42
|
</span>
|