@primer/components 0.0.0-2021813234123 → 0.0.0-202181584433

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 (64) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/browser.esm.js +618 -618
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +255 -255
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/Avatar.d.ts +4 -0
  7. package/lib/Overlay.d.ts +0 -1
  8. package/lib/Overlay.js +5 -10
  9. package/lib/SelectMenu/SelectMenu.d.ts +11 -327
  10. package/lib/SelectMenu/SelectMenuFilter.d.ts +1 -1
  11. package/lib/TextInput.d.ts +6 -6
  12. package/lib/TextInput.js +23 -19
  13. package/lib/hooks/useOverlay.d.ts +1 -2
  14. package/lib/hooks/useOverlay.js +6 -11
  15. package/lib/theme-preval.js +1705 -1957
  16. package/lib/utils/testing.d.ts +2431 -2929
  17. package/lib-esm/Avatar.d.ts +4 -0
  18. package/lib-esm/Overlay.d.ts +0 -1
  19. package/lib-esm/Overlay.js +5 -8
  20. package/lib-esm/SelectMenu/SelectMenu.d.ts +11 -327
  21. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +1 -1
  22. package/lib-esm/TextInput.d.ts +6 -6
  23. package/lib-esm/TextInput.js +24 -18
  24. package/lib-esm/hooks/useOverlay.d.ts +1 -2
  25. package/lib-esm/hooks/useOverlay.js +6 -11
  26. package/lib-esm/theme-preval.js +1705 -1957
  27. package/lib-esm/utils/testing.d.ts +2431 -2929
  28. package/package.json +4 -6
  29. package/lib/TextInputWithTokens.d.ts +0 -41
  30. package/lib/TextInputWithTokens.js +0 -396
  31. package/lib/Token/Token.d.ts +0 -7
  32. package/lib/Token/Token.js +0 -76
  33. package/lib/Token/TokenBase.d.ts +0 -16
  34. package/lib/Token/TokenBase.js +0 -84
  35. package/lib/Token/TokenLabel.d.ts +0 -8
  36. package/lib/Token/TokenLabel.js +0 -116
  37. package/lib/Token/TokenProfile.d.ts +0 -7
  38. package/lib/Token/TokenProfile.js +0 -45
  39. package/lib/Token/TokenTopic.d.ts +0 -4
  40. package/lib/Token/TokenTopic.js +0 -53
  41. package/lib/Token/_AddTokenButton.d.ts +0 -3
  42. package/lib/Token/_AddTokenButton.js +0 -42
  43. package/lib/Token/_RemoveTokenButton.d.ts +0 -3
  44. package/lib/Token/_RemoveTokenButton.js +0 -42
  45. package/lib/Token/_tokenButtonUtils.d.ts +0 -8
  46. package/lib/Token/_tokenButtonUtils.js +0 -42
  47. package/lib-esm/TextInputWithTokens.d.ts +0 -41
  48. package/lib-esm/TextInputWithTokens.js +0 -361
  49. package/lib-esm/Token/Token.d.ts +0 -7
  50. package/lib-esm/Token/Token.js +0 -60
  51. package/lib-esm/Token/TokenBase.d.ts +0 -16
  52. package/lib-esm/Token/TokenBase.js +0 -65
  53. package/lib-esm/Token/TokenLabel.d.ts +0 -8
  54. package/lib-esm/Token/TokenLabel.js +0 -104
  55. package/lib-esm/Token/TokenProfile.d.ts +0 -7
  56. package/lib-esm/Token/TokenProfile.js +0 -28
  57. package/lib-esm/Token/TokenTopic.d.ts +0 -4
  58. package/lib-esm/Token/TokenTopic.js +0 -41
  59. package/lib-esm/Token/_AddTokenButton.d.ts +0 -3
  60. package/lib-esm/Token/_AddTokenButton.js +0 -27
  61. package/lib-esm/Token/_RemoveTokenButton.d.ts +0 -3
  62. package/lib-esm/Token/_RemoveTokenButton.js +0 -27
  63. package/lib-esm/Token/_tokenButtonUtils.d.ts +0 -8
  64. package/lib-esm/Token/_tokenButtonUtils.js +0 -26
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { TokenBaseProps } from './TokenBase';
3
- interface Props extends TokenBaseProps {
4
- leadingVisual?: React.FunctionComponent<any>;
5
- }
6
- declare const Token: React.FC<Props>;
7
- export default Token;
@@ -1,60 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import { get } from '../constants';
4
- import TokenBase from './TokenBase';
5
- import AddTokenButton from './_AddTokenButton';
6
- import RemoveTokenButton from './_RemoveTokenButton';
7
- const tokenBorderWidthPx = 1; //
8
- // Very "plain" style - just a border
9
- //
10
- // const DefaultToken = styled(TokenBase)`
11
- // background-color: ${props => props.isSelected ? get('colors.fade.fg10') : 'transparent'};
12
- // border-width: ${tokenBorderWidthPx}px;
13
- // border-style: solid;
14
- // border-color: ${props => props.isSelected ? get('colors.border.tertiary') : get('colors.border.primary')};
15
- // padding-right: ${props => props.handleRemove ? 0 : undefined};
16
- // > ._TokenButton {
17
- // transform: translate(${tokenBorderWidthPx}px, -${tokenBorderWidthPx}px);
18
- // }
19
- // `;
20
-
21
- const DefaultToken = styled(TokenBase).withConfig({
22
- displayName: "Token__DefaultToken",
23
- componentId: "sc-1dg52pw-0"
24
- })(["background-color:", ";border-color:", ";border-style:solid;border-width:", ";color:", ";padding-right:", ";&:hover{background-color:", ";}> ._TokenButton{color:", ";}"], get('colors.accent.subtle'), props => props.isSelected ? get('colors.accent.fg') : get('colors.accent.subtle'), props => props.isSelected ? '1px' : 0, get('colors.accent.fg'), props => props.handleRemove || props.handleAdd ? 0 : undefined, get('colors.accent.muted'), get('colors.accent.fg')); // TODO: make this text truncate
25
-
26
- const TokenTextContainer = styled('span').withConfig({
27
- displayName: "Token__TokenTextContainer",
28
- componentId: "sc-1dg52pw-1"
29
- })(["flex-grow:1;white-space:nowrap;"]);
30
- const LeadingVisualContainer = styled('span').withConfig({
31
- displayName: "Token__LeadingVisualContainer",
32
- componentId: "sc-1dg52pw-2"
33
- })(["flex-shrink:0;line-height:0;"]);
34
-
35
- const Token = ({
36
- leadingVisual: LeadingVisual,
37
- ...tokenBaseProps
38
- }) => {
39
- const {
40
- handleRemove,
41
- handleAdd,
42
- text,
43
- as,
44
- variant
45
- } = tokenBaseProps;
46
- return /*#__PURE__*/React.createElement(DefaultToken, tokenBaseProps, LeadingVisual ? /*#__PURE__*/React.createElement(LeadingVisualContainer, null, /*#__PURE__*/React.createElement(LeadingVisual, null)) : null, /*#__PURE__*/React.createElement(TokenTextContainer, null, text), handleRemove ? /*#__PURE__*/React.createElement(RemoveTokenButton, {
47
- parentTokenTag: as || 'span',
48
- tabIndex: -1,
49
- onClick: handleRemove,
50
- variant: variant
51
- }) : null, handleAdd ? /*#__PURE__*/React.createElement(AddTokenButton, {
52
- parentTokenTag: as || 'span',
53
- tabIndex: -1,
54
- onClick: handleAdd,
55
- variant: variant
56
- }) : null);
57
- };
58
-
59
- Token.displayName = "Token";
60
- export default Token;
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- export declare type TokenSizeKeys = 'sm' | 'md' | 'lg' | 'xl';
3
- export declare const tokenSizes: Record<TokenSizeKeys, number>;
4
- export declare const defaultTokenSize = "md";
5
- export interface TokenBaseProps extends Omit<React.HTMLProps<HTMLSpanElement | HTMLButtonElement | HTMLAnchorElement>, 'size'> {
6
- as?: 'button' | 'a' | 'span';
7
- handleAdd?: () => void;
8
- handleRemove?: () => void;
9
- isSelected?: boolean;
10
- tabIndex?: number;
11
- text: string;
12
- variant?: TokenSizeKeys;
13
- }
14
- export declare const tokenHeightPx = 32;
15
- declare const TokenBase: import("styled-components").StyledComponent<"span", any, TokenBaseProps, never>;
16
- export default TokenBase;
@@ -1,65 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
- import { variant } from 'styled-system';
3
- export const tokenSizes = {
4
- sm: 16,
5
- md: 20,
6
- lg: 24,
7
- xl: 32
8
- };
9
- export const defaultTokenSize = 'md';
10
- export const tokenHeightPx = 32;
11
- const variants = variant({
12
- variants: {
13
- sm: {
14
- fontSize: 0,
15
- gap: 1,
16
- height: `${tokenSizes.sm}px`,
17
- paddingLeft: 1,
18
- paddingRight: 1
19
- },
20
- md: {
21
- fontSize: 0,
22
- gap: 1,
23
- height: `${tokenSizes.md}px`,
24
- paddingLeft: 2,
25
- paddingRight: 2
26
- },
27
- lg: {
28
- fontSize: 0,
29
- gap: 2,
30
- height: `${tokenSizes.lg}px`,
31
- paddingLeft: 2,
32
- paddingRight: 2
33
- },
34
- xl: {
35
- fontSize: 1,
36
- gap: 2,
37
- height: `${tokenSizes.xl}px`,
38
- paddingLeft: 3,
39
- paddingRight: 3
40
- }
41
- }
42
- }); // TODO: if we don't use the props, just style this with `styled` instead of passing `tokenBaseStyles` to `TokenBase`
43
-
44
- const tokenBaseStyles = css(["align-items:center;border-radius:999px;display:inline-flex;white-space:nowrap;"]);
45
- const TokenBase = styled.span.attrs(({
46
- as,
47
- tabIndex,
48
- onClick,
49
- onFocus,
50
- onBlur
51
- }) => ({// tabIndex:
52
- // as === 'span' &&
53
- // [undefined, -1].includes(tabIndex) &&
54
- // (onClick || onFocus || onBlur)
55
- // ? 0
56
- // : tabIndex
57
- })).withConfig({
58
- displayName: "TokenBase",
59
- componentId: "opajvp-0"
60
- })(["", " ", ""], tokenBaseStyles, variants);
61
- TokenBase.defaultProps = {
62
- as: 'span',
63
- variant: defaultTokenSize
64
- };
65
- export default TokenBase;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import { TokenBaseProps } from './TokenBase';
3
- interface Props extends TokenBaseProps {
4
- fillColor?: string;
5
- isOutlined?: boolean;
6
- }
7
- declare const TokenLabel: React.FC<Props>;
8
- export default TokenLabel;
@@ -1,104 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- // TODO: handle other kinds of labels
4
- // This component is only for labels that take a custom color (e.g.: Issue labels),
5
- // but there are other kinds of labels in the Primer CSS docs:
6
- // https://primer.style/css/Label
7
- import React from 'react';
8
- import styled from 'styled-components';
9
- import TokenBase from './TokenBase';
10
- import RemoveTokenButton from './_RemoveTokenButton';
11
- import tinycolor from 'tinycolor2';
12
- import { useTheme } from '../ThemeProvider';
13
- const colorModeConfig = {
14
- dark: {
15
- bgOpacity: 0.18,
16
- borderThreshold: 0,
17
- borderOpacity: 0.3,
18
- lightnessThreshold: 0.6
19
- },
20
- light: {
21
- bgOpacity: 1,
22
- borderThreshold: 0.96,
23
- borderOpacity: 1,
24
- lightnessThreshold: 0.453
25
- }
26
- };
27
- const tokenBorderWidthPx = 1; // TODO: do a nicer `isSelected` style
28
-
29
- const StyledTokenLabel = styled(TokenBase).withConfig({
30
- displayName: "TokenLabel__StyledTokenLabel",
31
- componentId: "sc-1bdmgzv-0"
32
- })(["background-color:", ";border-width:", "px;border-style:solid;border-color:", ";box-shadow:", ";color:", ";overflow:hidden;padding-right:", ";position:relative;> ._TokenButton{color:currentColor;transform:translate(", "px,-", "px);}"], props => props.bgColor, tokenBorderWidthPx, props => props.borderColor, props => props.isSelected ? `0 0 0 2px ${props.bgColor}` : undefined, props => props.textColor, props => props.handleRemove ? 0 : undefined, tokenBorderWidthPx, tokenBorderWidthPx); // TODO: make this text truncate
33
-
34
- const TokenTextContainer = styled('span').withConfig({
35
- displayName: "TokenLabel__TokenTextContainer",
36
- componentId: "sc-1bdmgzv-1"
37
- })(["white-space:nowrap;z-index:1;"]);
38
-
39
- const TokenLabel = ({
40
- isOutlined,
41
- fillColor,
42
- isSelected,
43
- ...tokenBaseProps
44
- }) => {
45
- const {
46
- handleRemove,
47
- text,
48
- as,
49
- variant
50
- } = tokenBaseProps;
51
- const {
52
- colorScheme
53
- } = useTheme(); // const colorScheme = 'dark';
54
-
55
- const {
56
- bgOpacity,
57
- borderOpacity,
58
- borderThreshold,
59
- lightnessThreshold
60
- } = colorModeConfig[colorScheme || 'light'];
61
- let bgColor = fillColor;
62
- let borderColor = fillColor;
63
- let textColor = '#FFF';
64
- const perceivedLightness = tinycolor(fillColor).getLuminance();
65
- const isFillColorLight = perceivedLightness >= lightnessThreshold;
66
-
67
- if (colorScheme === 'dark') {
68
- const lightenBy = (perceivedLightness - lightnessThreshold) * 100 * (isFillColorLight ? 1 : 0);
69
- bgColor = isSelected ? tinycolor(fillColor).setAlpha(bgOpacity * 1.2).toRgbString() : tinycolor(fillColor).setAlpha(bgOpacity).toRgbString();
70
- textColor = isSelected ? tinycolor(fillColor).lighten(lightenBy + 8).toString() : tinycolor(fillColor).lighten(lightenBy).toString();
71
- borderColor = isSelected ? tinycolor(fillColor).lighten(lightenBy).toRgbString() : tinycolor(fillColor).lighten(lightenBy).setAlpha(borderOpacity).toRgbString();
72
- } else {
73
- const isFillColorDark = perceivedLightness < 0.1;
74
- borderColor = perceivedLightness >= borderThreshold ? tinycolor(fillColor).darken(25).toString() : 'transparent';
75
-
76
- if (isFillColorLight) {
77
- textColor = '#000';
78
- }
79
-
80
- if (isSelected) {
81
- bgColor = isFillColorDark ? tinycolor(fillColor).lighten(10).toString() : tinycolor(fillColor).darken(10).toString();
82
- }
83
- }
84
-
85
- return /*#__PURE__*/React.createElement(StyledTokenLabel, _extends({
86
- fillColor: fillColor,
87
- bgColor: bgColor,
88
- borderColor: borderColor,
89
- textColor: textColor,
90
- isSelected: isSelected
91
- }, tokenBaseProps), /*#__PURE__*/React.createElement(TokenTextContainer, null, text), handleRemove ? /*#__PURE__*/React.createElement(RemoveTokenButton, {
92
- parentTokenTag: as || 'span',
93
- tabIndex: -1,
94
- onClick: handleRemove,
95
- variant: variant
96
- }) : null);
97
- };
98
-
99
- TokenLabel.displayName = "TokenLabel";
100
- TokenLabel.defaultProps = {
101
- fillColor: '#999' // TODO: pick a real color
102
-
103
- };
104
- export default TokenLabel;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { TokenBaseProps } from './TokenBase';
3
- interface Props extends TokenBaseProps {
4
- avatarSrc: string;
5
- }
6
- declare const TokenProfile: React.FC<Props>;
7
- export default TokenProfile;
@@ -1,28 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import React from 'react';
4
- import styled from 'styled-components';
5
- import { get } from '../constants';
6
- import primitives from '@primer/primitives';
7
- import { defaultTokenSize, tokenSizes } from './TokenBase';
8
- import Token from './Token';
9
- import { Avatar } from '..';
10
- const StyledToken = styled(Token).withConfig({
11
- displayName: "TokenProfile__StyledToken",
12
- componentId: "sc-1vf9jhf-0"
13
- })(["padding-left:", ";"], get('space.1')); // ${get('space.1')}
14
-
15
- const TokenProfile = ({
16
- avatarSrc,
17
- variant,
18
- ...rest
19
- }) => /*#__PURE__*/React.createElement(StyledToken, _extends({
20
- leadingVisual: () => /*#__PURE__*/React.createElement(Avatar, {
21
- src: avatarSrc,
22
- size: tokenSizes[variant || defaultTokenSize] - parseInt(primitives.spacing.normal.spacer[1], 10) * 2
23
- }),
24
- variant: variant
25
- }, rest));
26
-
27
- TokenProfile.displayName = "TokenProfile";
28
- export default TokenProfile;
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { TokenBaseProps } from './TokenBase';
3
- declare const TokenTopic: React.FC<TokenBaseProps>;
4
- export default TokenTopic;
@@ -1,41 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- // NOTE:
4
- // I'm proposing we just get rid of this component, but I'm keeping it around just incase we
5
- // find a reason to make Topic tokens different from the default Token component.
6
- import React from 'react';
7
- import styled from 'styled-components';
8
- import { get } from '../constants';
9
- import TokenBase from './TokenBase';
10
- import RemoveTokenButton from './_RemoveTokenButton';
11
- const DefaultToken = styled(TokenBase).withConfig({
12
- displayName: "TokenTopic__DefaultToken",
13
- componentId: "sc-17xtwrd-0"
14
- })(["background-color:", ";border-color:", ";border-style:solid;border-width:", ";color:", ";padding-right:", ";&:hover{background-color:", ";}> ._TokenButton{color:", ";}"], get('colors.accent.subtle'), props => props.isSelected ? get('colors.accent.fg') : get('colors.accent.subtle'), props => props.isSelected ? '1px' : 0, get('colors.accent.fg'), props => props.handleRemove ? 0 : undefined, get('colors.accent.muted'), get('colors.accent.fg')); // TODO: make this text truncate
15
-
16
- const TokenTextContainer = styled('span').withConfig({
17
- displayName: "TokenTopic__TokenTextContainer",
18
- componentId: "sc-17xtwrd-1"
19
- })(["white-space:nowrap;"]);
20
-
21
- const TokenTopic = ({
22
- as,
23
- handleRemove,
24
- text,
25
- variant,
26
- ...rest
27
- }) => {
28
- return /*#__PURE__*/React.createElement(DefaultToken, _extends({
29
- as: as,
30
- handleRemove: handleRemove,
31
- text: text
32
- }, rest), /*#__PURE__*/React.createElement(TokenTextContainer, null, text), handleRemove ? /*#__PURE__*/React.createElement(RemoveTokenButton, {
33
- parentTokenTag: as || 'span',
34
- tabIndex: -1,
35
- onClick: handleRemove,
36
- variant: variant
37
- }) : null);
38
- };
39
-
40
- TokenTopic.displayName = "TokenTopic";
41
- export default TokenTopic;
@@ -1,3 +0,0 @@
1
- import { TokenButtonProps } from './_tokenButtonUtils';
2
- declare const AddTokenButton: import("styled-components").StyledComponent<"span", any, TokenButtonProps, never>;
3
- export default AddTokenButton;
@@ -1,27 +0,0 @@
1
- import { PlusIcon } from '@primer/octicons-react';
2
- import styled from 'styled-components';
3
- import { defaultTokenSize } from "./TokenBase";
4
- import { tokenButtonStyles, variants, getTokenButtonIconSize } from './_tokenButtonUtils';
5
- const AddTokenButton = styled.span.attrs(({
6
- parentTokenTag,
7
- variant,
8
- ...rest
9
- }) => {
10
- delete rest.children;
11
- return {
12
- as: parentTokenTag === 'span' ? 'button' : 'span',
13
- tabIndex: -1,
14
- className: '_TokenButton',
15
- children: /*#__PURE__*/React.createElement(PlusIcon, {
16
- size: getTokenButtonIconSize(variant)
17
- }) // TODO: figure out how to set `size` using `fontSizes` from Primitives
18
-
19
- };
20
- }).withConfig({
21
- displayName: "_AddTokenButton__AddTokenButton",
22
- componentId: "elcc0o-0"
23
- })(["", " ", ""], tokenButtonStyles, variants);
24
- AddTokenButton.defaultProps = {
25
- variant: defaultTokenSize
26
- };
27
- export default AddTokenButton;
@@ -1,3 +0,0 @@
1
- import { TokenButtonProps } from './_tokenButtonUtils';
2
- declare const RemoveTokenButton: import("styled-components").StyledComponent<"span", any, TokenButtonProps, never>;
3
- export default RemoveTokenButton;
@@ -1,27 +0,0 @@
1
- import { XIcon } from '@primer/octicons-react';
2
- import styled from 'styled-components';
3
- import { defaultTokenSize } from "./TokenBase";
4
- import { tokenButtonStyles, variants, getTokenButtonIconSize } from './_tokenButtonUtils';
5
- const RemoveTokenButton = styled.span.attrs(({
6
- parentTokenTag,
7
- variant,
8
- ...rest
9
- }) => {
10
- delete rest.children;
11
- return {
12
- as: parentTokenTag === 'span' ? 'button' : 'span',
13
- tabIndex: -1,
14
- className: '_TokenButton',
15
- children: /*#__PURE__*/React.createElement(XIcon, {
16
- size: getTokenButtonIconSize(variant)
17
- }) // TODO: figure out how to set `size` using `fontSizes` from Primitives
18
-
19
- };
20
- }).withConfig({
21
- displayName: "_RemoveTokenButton__RemoveTokenButton",
22
- componentId: "sc-14lvcw1-0"
23
- })(["", " ", ""], tokenButtonStyles, variants);
24
- RemoveTokenButton.defaultProps = {
25
- variant: defaultTokenSize
26
- };
27
- export default RemoveTokenButton;
@@ -1,8 +0,0 @@
1
- import { TokenSizeKeys } from "./TokenBase";
2
- export interface TokenButtonProps {
3
- parentTokenTag: 'span' | 'button' | 'a';
4
- variant?: TokenSizeKeys;
5
- }
6
- export declare const variants: (...args: any[]) => any;
7
- export declare const tokenButtonStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemeProps<any>>;
8
- export declare const getTokenButtonIconSize: (variant?: TokenSizeKeys | undefined) => number;
@@ -1,26 +0,0 @@
1
- import { css } from 'styled-components';
2
- import { variant } from 'styled-system';
3
- import { get } from '../constants';
4
- import { tokenSizes, defaultTokenSize } from "./TokenBase";
5
- export const variants = variant({
6
- variants: {
7
- sm: {
8
- height: `${tokenSizes.sm}px`,
9
- width: `${tokenSizes.sm}px`
10
- },
11
- md: {
12
- height: `${tokenSizes.md}px`,
13
- width: `${tokenSizes.md}px`
14
- },
15
- lg: {
16
- height: `${tokenSizes.lg}px`,
17
- width: `${tokenSizes.lg}px`
18
- },
19
- xl: {
20
- height: `${tokenSizes.xl}px`,
21
- width: `${tokenSizes.xl}px`
22
- }
23
- }
24
- });
25
- export const tokenButtonStyles = css(["background-color:transparent;font-family:inherit;cursor:pointer;user-select:none;appearance:none;text-decoration:none;padding:0;align-self:baseline;border:0;border-radius:999px;&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}"], get('colors.fade.fg10'), get('colors.fade.fg15'));
26
- export const getTokenButtonIconSize = variant => tokenSizes[variant || defaultTokenSize] * 0.75;