@foxford/ui 2.96.0-beta-56d1654-20260216 → 2.96.0
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/components/Button/Button.js +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Button/Button.mjs +1 -1
- package/components/Button/Button.mjs.map +1 -1
- package/components/Button/style.js +1 -1
- package/components/Button/style.js.map +1 -1
- package/components/Button/style.mjs +1 -1
- package/components/Button/style.mjs.map +1 -1
- package/components/Notification/Notification.js +1 -1
- package/components/Notification/Notification.js.map +1 -1
- package/components/Notification/Notification.mjs +1 -1
- package/components/Notification/Notification.mjs.map +1 -1
- package/components/Notification/constants.js +2 -0
- package/components/Notification/constants.js.map +1 -0
- package/components/Notification/constants.mjs +2 -0
- package/components/Notification/constants.mjs.map +1 -0
- package/components/Notification/style.js +1 -1
- package/components/Notification/style.js.map +1 -1
- package/components/Notification/style.mjs +1 -1
- package/components/Notification/style.mjs.map +1 -1
- package/dts/index.d.ts +218 -377
- package/icon-pack/src/icons/CheckCircle/index.js +2 -0
- package/icon-pack/src/icons/CheckCircle/index.js.map +1 -0
- package/icon-pack/src/icons/CheckCircle/index.mjs +2 -0
- package/icon-pack/src/icons/CheckCircle/index.mjs.map +1 -0
- package/icon-pack/src/icons/CloseCirlce/index.js +2 -0
- package/icon-pack/src/icons/CloseCirlce/index.js.map +1 -0
- package/icon-pack/src/icons/CloseCirlce/index.mjs +2 -0
- package/icon-pack/src/icons/CloseCirlce/index.mjs.map +1 -0
- package/icon-pack/src/icons/WarningTriangle/index.js +2 -0
- package/icon-pack/src/icons/WarningTriangle/index.js.map +1 -0
- package/icon-pack/src/icons/WarningTriangle/index.mjs +2 -0
- package/icon-pack/src/icons/WarningTriangle/index.mjs.map +1 -0
- package/package.json +2 -2
- package/components/Notification/layouts.js +0 -2
- package/components/Notification/layouts.js.map +0 -1
- package/components/Notification/layouts.mjs +0 -2
- package/components/Notification/layouts.mjs.map +0 -1
- package/components/Notification/sizes.js +0 -2
- package/components/Notification/sizes.js.map +0 -1
- package/components/Notification/sizes.mjs +0 -2
- package/components/Notification/sizes.mjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var styled=require('styled-components');var useClassname=require('../../hooks/useClassname.js');var withMergedProps=require('../../hocs/withMergedProps.js');var hooks=require('./hooks.js');var sizes=require('./sizes.js');var sizesDefault=require('./sizes-default.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');var index=require('../../icon-pack/src/icons/CheckFill/index.js');var index$1=require('../../icon-pack/src/icons/LoaderFill/index.js');
|
|
1
|
+
'use strict';var React=require('react');var styled=require('styled-components');var useClassname=require('../../hooks/useClassname.js');var withMergedProps=require('../../hocs/withMergedProps.js');var hooks=require('./hooks.js');var sizes=require('./sizes.js');var sizesDefault=require('./sizes-default.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Text=require('../Text/Text.js');var Icon=require('../Icon/Icon.js');var index=require('../../icon-pack/src/icons/CheckFill/index.js');var index$1=require('../../icon-pack/src/icons/LoaderFill/index.js');const Button=withMergedProps.withMergedProps(React.forwardRef(((e,s)=>{let{size:t="m",inline:n=!0,rounded:i=!0,color:r="accent",fontColor:o="white",showContentOnStatus:a,textProps:c={},iconProps:l={},as:u,sizeXXS:d,sizeXS:x,sizeS:p,sizeM:m,sizeL:j,sizeXL:S,className:z,children:h,content:I,fontWeight:R,icon:f,innerRef:y,...E}=e;const v=styled.useTheme();E.preset!=='default'||typeof t!='string'||E.round||(E={...sizesDefault.PROPS_BY_SIZE[t]??{},...E}),E.href&&(u='a'),E.to&&(u=v.link),E.disabled&&(u='button'),E.primary&&(r='primary'),E.secondary&&(r='atlantis');const C=useClassname.useClassname("Button",z);const _=useClassname.useClassname("Button");const g=hooks.useComputedRel(v,E);const N=hooks.useComputedLinkProps(u,E);let[T,q]=Array.isArray(f)?f:[f];const D={size:t,sizeXXS:d,sizeXS:x,sizeS:p,sizeM:m,sizeL:j,sizeXL:S};const P={...D,as:'span',color:'inherit',weight:R??(E.preset==='brand'?800:600),lineHeight:E.preset==='brand'?1.2:1,sizes:E.preset==='brand'?sizes.SIZES_TEXT:sizesDefault.SIZES_TEXT_DEFAULT};const Z={...D,color:'inherit',preset:E.preset,sizes:sizes.SIZES_ICON};const k=E.preset==='brand'&&E.success;const L=E.preset==='brand'&&E.loading;const X=typeof h!='function'&&(h||I)?jsxRuntime.jsx(Text.Text,{className:`${_}__content`,...P,...c,children:h||I}):null;return jsxRuntime.jsx(style.Root,{...E,...N,...D,inline:n,color:r,fontColor:o,rounded:i,rel:g,as:u,className:C,ref:s??y,children:typeof h=='function'?h({textProps:P,iconProps:Z}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[k||L?jsxRuntime.jsxs(style.ContentWithStatus,{children:[k?jsxRuntime.jsx(Icon.Icon,{...Z,...l,icon:jsxRuntime.jsx(index.CheckFill,{})}):jsxRuntime.jsx(style.IconAnimation,{children:jsxRuntime.jsx(Icon.Icon,{...Z,...l,icon:jsxRuntime.jsx(index$1.LoaderFill,{})})}),a?X:null]}):null,jsxRuntime.jsxs(style.Content,{"aria-hidden":k||L,children:[T?jsxRuntime.jsx(Icon.Icon,{className:"icon",name:typeof T=='string'?T:void 0,icon:typeof T!='string'?T:void 0,...Z,...l}):null,X,q?jsxRuntime.jsx(Icon.Icon,{className:"icon",name:typeof q=='string'?q:void 0,icon:typeof q!='string'?q:void 0,...Z,...l}):null]})]})})})),{displayName:"Button",sizes:e=>{let s=e.preset==='brand'?sizes.SIZES:sizesDefault.SIZES_DEFAULT;return e.round&&(s=e.preset==='brand'?sizes.SIZES_ROUND:sizesDefault.SIZES_ROUND_DEFAULT),s}});exports.SIZES=sizes.SIZES,exports.SIZES_ROUND=sizes.SIZES_ROUND,exports.Button=Button,exports.COMPONENT_NAME="Button";
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { CheckFill, LoaderFill } from '@foxford/icon-pack'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND, SIZES_ICON, SIZES_TEXT } from './sizes'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE, SIZES_TEXT_DEFAULT } from './sizes-default'\nimport type { ButtonProps, Size } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n textProps: textPropsProp = {},\n iconProps: iconPropsProp = {},\n as: _as,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n as: 'span',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n sizes: restProps.preset === 'brand' ? SIZES_TEXT : SIZES_TEXT_DEFAULT,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n color: 'inherit',\n preset: restProps.preset,\n sizes: SIZES_ICON,\n }\n\n const success = restProps.preset === 'brand' && restProps.success\n const loading = restProps.preset === 'brand' && restProps.loading\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n {...sizeProps}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({ textProps, iconProps })\n ) : (\n <>\n {success || loading ? (\n <Styled.
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { CheckFill, LoaderFill } from '@foxford/icon-pack'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND, SIZES_ICON, SIZES_TEXT } from './sizes'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE, SIZES_TEXT_DEFAULT } from './sizes-default'\nimport type { ButtonProps, Size } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n showContentOnStatus,\n textProps: textPropsProp = {},\n iconProps: iconPropsProp = {},\n as: _as,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n as: 'span',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n sizes: restProps.preset === 'brand' ? SIZES_TEXT : SIZES_TEXT_DEFAULT,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n color: 'inherit',\n preset: restProps.preset,\n sizes: SIZES_ICON,\n }\n\n const success = restProps.preset === 'brand' && restProps.success\n const loading = restProps.preset === 'brand' && restProps.loading\n\n const mainContent =\n typeof children !== 'function' && (children || content) ? (\n <Text className={`${textClassName}__content`} {...textProps} {...textPropsProp}>\n {children || content}\n </Text>\n ) : null\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n {...sizeProps}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({ textProps, iconProps })\n ) : (\n <>\n {success || loading ? (\n <Styled.ContentWithStatus>\n {success ? (\n <Icon {...iconProps} {...iconPropsProp} icon={<CheckFill />} />\n ) : (\n <Styled.IconAnimation>\n <Icon {...iconProps} {...iconPropsProp} icon={<LoaderFill />} />\n </Styled.IconAnimation>\n )}\n {showContentOnStatus ? mainContent : null}\n </Styled.ContentWithStatus>\n ) : null}\n <Styled.Content aria-hidden={success || loading}>\n {before ? (\n <Icon\n className='icon'\n name={typeof before === 'string' ? before : undefined}\n icon={typeof before !== 'string' ? before : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n {mainContent}\n {after ? (\n <Icon\n className='icon'\n name={typeof after === 'string' ? after : undefined}\n icon={typeof after !== 'string' ? after : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n </Styled.Content>\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n let sizes = props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n if (props.round) sizes = props.preset === 'brand' ? SIZES_ROUND : SIZES_ROUND_DEFAULT\n\n return sizes\n },\n }\n)\n\nexport { Button, COMPONENT_NAME, SIZES, SIZES_ROUND }\n\nexport type { ButtonProps }\n"],"names":["Button","withMergedProps","forwardRef","props","ref","size","inline","rounded","color","fontColor","showContentOnStatus","textProps","textPropsProp","iconProps","iconPropsProp","as","_as","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","className","children","content","fontWeight","icon","innerRef","restProps","theme","useTheme","preset","round","PROPS_BY_SIZE","href","to","link","disabled","primary","secondary","rootClassName","useClassname","textClassName","rel","useComputedRel","linkProps","useComputedLinkProps","before","after","Array","isArray","sizeProps","weight","lineHeight","sizes","SIZES_TEXT","SIZES_TEXT_DEFAULT","SIZES_ICON","success","loading","mainContent","_jsx","jsx","Text","Styled","_jsxs","jsxs","_Fragment","Icon","CheckFill","LoaderFill","name","undefined","displayName","SIZES","SIZES_DEFAULT","SIZES_ROUND","SIZES_ROUND_DEFAULT"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef}from'react';import{useTheme}from'styled-components';import{useClassname}from'../../hooks/useClassname.mjs';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useComputedRel,useComputedLinkProps}from'./hooks.mjs';import{SIZES,SIZES_ROUND,SIZES_TEXT,SIZES_ICON}from'./sizes.mjs';import{SIZES_DEFAULT,SIZES_ROUND_DEFAULT,SIZES_TEXT_DEFAULT,PROPS_BY_SIZE}from'./sizes-default.mjs';import{Root,
|
|
1
|
+
import{forwardRef}from'react';import{useTheme}from'styled-components';import{useClassname}from'../../hooks/useClassname.mjs';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useComputedRel,useComputedLinkProps}from'./hooks.mjs';import{SIZES,SIZES_ROUND,SIZES_TEXT,SIZES_ICON}from'./sizes.mjs';import{SIZES_DEFAULT,SIZES_ROUND_DEFAULT,SIZES_TEXT_DEFAULT,PROPS_BY_SIZE}from'./sizes-default.mjs';import{Root,ContentWithStatus,IconAnimation,Content}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Text}from'../Text/Text.mjs';import{Icon}from'../Icon/Icon.mjs';import{CheckFill}from'../../icon-pack/src/icons/CheckFill/index.mjs';import{LoaderFill}from'../../icon-pack/src/icons/LoaderFill/index.mjs';const COMPONENT_NAME='Button';const Button=withMergedProps(forwardRef(((e,s)=>{let{size:o="m",inline:t=!0,rounded:n=!0,color:r="accent",fontColor:i="white",showContentOnStatus:c,textProps:a={},iconProps:m={},as:l,sizeXXS:p,sizeXS:d,sizeS:S,sizeM:u,sizeL:f,sizeXL:E,className:h,children:I,content:j,fontWeight:_,icon:x,innerRef:C,...T}=e;const z=useTheme();T.preset!=='default'||typeof o!='string'||T.round||(T={...PROPS_BY_SIZE[o]??{},...T}),T.href&&(l='a'),T.to&&(l=z.link),T.disabled&&(l='button'),T.primary&&(r='primary'),T.secondary&&(r='atlantis');const N=useClassname("Button",h);const Z=useClassname("Button");const y=useComputedRel(z,T);const L=useComputedLinkProps(l,T);let[P,g]=Array.isArray(x)?x:[x];const F={size:o,sizeXXS:p,sizeXS:d,sizeS:S,sizeM:u,sizeL:f,sizeXL:E};const O={...F,as:'span',color:'inherit',weight:_??(T.preset==='brand'?800:600),lineHeight:T.preset==='brand'?1.2:1,sizes:T.preset==='brand'?SIZES_TEXT:SIZES_TEXT_DEFAULT};const R={...F,color:'inherit',preset:T.preset,sizes:SIZES_ICON};const A=T.preset==='brand'&&T.success;const X=T.preset==='brand'&&T.loading;const D=typeof I!='function'&&(I||j)?jsx(Text,{className:`${Z}__content`,...O,...a,children:I||j}):null;return jsx(Root,{...T,...L,...F,inline:t,color:r,fontColor:i,rounded:n,rel:y,as:l,className:N,ref:s??C,children:typeof I=='function'?I({textProps:O,iconProps:R}):jsxs(Fragment,{children:[A||X?jsxs(ContentWithStatus,{children:[A?jsx(Icon,{...R,...m,icon:jsx(CheckFill,{})}):jsx(IconAnimation,{children:jsx(Icon,{...R,...m,icon:jsx(LoaderFill,{})})}),c?D:null]}):null,jsxs(Content,{"aria-hidden":A||X,children:[P?jsx(Icon,{className:"icon",name:typeof P=='string'?P:void 0,icon:typeof P!='string'?P:void 0,...R,...m}):null,D,g?jsx(Icon,{className:"icon",name:typeof g=='string'?g:void 0,icon:typeof g!='string'?g:void 0,...R,...m}):null]})]})})})),{displayName:"Button",sizes:e=>{let s=e.preset==='brand'?SIZES:SIZES_DEFAULT;return e.round&&(s=e.preset==='brand'?SIZES_ROUND:SIZES_ROUND_DEFAULT),s}});export{Button,COMPONENT_NAME,SIZES,SIZES_ROUND};
|
|
2
2
|
//# sourceMappingURL=Button.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.mjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { CheckFill, LoaderFill } from '@foxford/icon-pack'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND, SIZES_ICON, SIZES_TEXT } from './sizes'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE, SIZES_TEXT_DEFAULT } from './sizes-default'\nimport type { ButtonProps, Size } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n textProps: textPropsProp = {},\n iconProps: iconPropsProp = {},\n as: _as,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n as: 'span',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n sizes: restProps.preset === 'brand' ? SIZES_TEXT : SIZES_TEXT_DEFAULT,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n color: 'inherit',\n preset: restProps.preset,\n sizes: SIZES_ICON,\n }\n\n const success = restProps.preset === 'brand' && restProps.success\n const loading = restProps.preset === 'brand' && restProps.loading\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n {...sizeProps}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({ textProps, iconProps })\n ) : (\n <>\n {success || loading ? (\n <Styled.
|
|
1
|
+
{"version":3,"file":"Button.mjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { CheckFill, LoaderFill } from '@foxford/icon-pack'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND, SIZES_ICON, SIZES_TEXT } from './sizes'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE, SIZES_TEXT_DEFAULT } from './sizes-default'\nimport type { ButtonProps, Size } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n showContentOnStatus,\n textProps: textPropsProp = {},\n iconProps: iconPropsProp = {},\n as: _as,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n as: 'span',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n sizes: restProps.preset === 'brand' ? SIZES_TEXT : SIZES_TEXT_DEFAULT,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n color: 'inherit',\n preset: restProps.preset,\n sizes: SIZES_ICON,\n }\n\n const success = restProps.preset === 'brand' && restProps.success\n const loading = restProps.preset === 'brand' && restProps.loading\n\n const mainContent =\n typeof children !== 'function' && (children || content) ? (\n <Text className={`${textClassName}__content`} {...textProps} {...textPropsProp}>\n {children || content}\n </Text>\n ) : null\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n {...sizeProps}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({ textProps, iconProps })\n ) : (\n <>\n {success || loading ? (\n <Styled.ContentWithStatus>\n {success ? (\n <Icon {...iconProps} {...iconPropsProp} icon={<CheckFill />} />\n ) : (\n <Styled.IconAnimation>\n <Icon {...iconProps} {...iconPropsProp} icon={<LoaderFill />} />\n </Styled.IconAnimation>\n )}\n {showContentOnStatus ? mainContent : null}\n </Styled.ContentWithStatus>\n ) : null}\n <Styled.Content aria-hidden={success || loading}>\n {before ? (\n <Icon\n className='icon'\n name={typeof before === 'string' ? before : undefined}\n icon={typeof before !== 'string' ? before : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n {mainContent}\n {after ? (\n <Icon\n className='icon'\n name={typeof after === 'string' ? after : undefined}\n icon={typeof after !== 'string' ? after : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n </Styled.Content>\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n let sizes = props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n if (props.round) sizes = props.preset === 'brand' ? SIZES_ROUND : SIZES_ROUND_DEFAULT\n\n return sizes\n },\n }\n)\n\nexport { Button, COMPONENT_NAME, SIZES, SIZES_ROUND }\n\nexport type { ButtonProps }\n"],"names":["COMPONENT_NAME","Button","withMergedProps","forwardRef","props","ref","size","inline","rounded","color","fontColor","showContentOnStatus","textProps","textPropsProp","iconProps","iconPropsProp","as","_as","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","className","children","content","fontWeight","icon","innerRef","restProps","theme","useTheme","preset","round","PROPS_BY_SIZE","href","to","link","disabled","primary","secondary","rootClassName","useClassname","textClassName","rel","useComputedRel","linkProps","useComputedLinkProps","before","after","Array","isArray","sizeProps","weight","lineHeight","sizes","SIZES_TEXT","SIZES_TEXT_DEFAULT","SIZES_ICON","success","loading","mainContent","_jsx","Text","Styled","_jsxs","_Fragment","Icon","CheckFill","LoaderFill","name","undefined","displayName","SIZES","SIZES_DEFAULT","SIZES_ROUND","SIZES_ROUND_DEFAULT"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var styled=require('styled-components');var tinycolor=require('tinycolor2');var responsiveProperty=require('../../mixins/responsive-property.js');var color=require('../../mixins/color.js');var style=require('../../shared/utils/style.js');var focus=require('../../mixins/focus.js');var responsiveSize=require('../../mixins/responsive-size.js');var responsiveMargin=require('../../mixins/responsive-margin.js');var regexp=require('../../shared/regexp.js');var hover=require('../../mixins/hover.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);var tinycolor__default=_interopDefault(tinycolor);const shouldForwardButtonProp=style.createShouldForwardProp((o=>!['fluid','width','display','padding','paddingTop','paddingRight','paddingBottom','paddingLeft','fontSize','height','inline','round','success','loading','black','danger','onColored','clear','base','outline','autoRel','noSpacing','primary','secondary','inverted','rounded','basic'].includes(o)),(o=>!(regexp.responsiveFluidPropKeyRegExp.test(o)||regexp.responsiveWidthPropKeyRegExp.test(o)||regexp.responsivePaddingPropKeyRegExp.test(o)||regexp.responsiveFontSizePropKeyRegExp.test(o)||regexp.responsiveHeightPropKeyRegExp.test(o))));const WIDTHS={xl:320,l:280,m:245,s:180,xs:140};const loadingAnimation=styled.keyframes(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);const spinAnimation=styled.keyframes(["100%{transform:rotate(360deg);}"]);const defaultLoadingStyles=styled.css(["background-image:linear-gradient( -45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:25px 25px;animation:"," 2s linear infinite;cursor:progress;"],loadingAnimation);const getWidth=o=>o==='auto'?'auto':typeof o=='number'||typeof o=='boolean'?o:o&&WIDTHS[o]?WIDTHS[o]:'auto';const fluidStyles=()=>styled.css(["min-width:initial;width:100%;"]);const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n &::before {\n box-shadow: inset 0px 4px 0px ${o.shadowColor};\n }\n ${hover.hover(`\n color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n border-color: ${o.borderColorHover};\n `)}\n &:active {\n color: ${o.colorActive};\n background-color: ${o.backgroundColorActive};\n border-color: ${o.borderColorActive};\n }\n &:disabled {\n color: ${o.colorDisabled};\n background-color: ${o.backgroundColorDisabled};\n border-color: ${o.borderColorDisabled};\n }\n`;const COLOR_SCHEMA={contrast:{clear:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors['bg-oncontrast-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncontrast-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-secondary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success||o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-oncolor-default-large'],colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColor:o.theme.colors['bg-oncolor-primary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},danger:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['alert-bg-error-500']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['alert-bg-error-500'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['alert-bg-error-500'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},black:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.loading?o.theme.colors['content-onmain-inverse']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-onmain-inverse']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():o.theme.colors['bg-onmain-inverse'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-inverse'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},default:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-brand-primary-basic']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['bg-brand-primary-basic'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-brand-primary-basic'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))}};const defaultStyles=styled.css([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':`\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n ${hover.hover(`\n color: ${o.fontColor};\n background-color: ${tinycolor__default.default(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString()};\n `)}\n ${o.inverted||o.basic||o.outline?`\n &:not(:hover) {\n border: 1px solid ${o.theme.colors[o.color]};\n }\n ${hover.hover(`\n border: 1px solid ${o.theme.colors[o.color]};\n `)}\n `:''}\n `),(o=>o.loading?defaultLoadingStyles:''),(o=>{let e='background-color';return(o.inverted||o.basic||o.outline)&&(e='color'),color.color(o.color,e)}),(o=>{let e='color';return(o.inverted||o.basic||o.outline)&&(e='background-color'),color.color(o.fontColor,e)}),(o=>o.disabled?`\n cursor: not-allowed;\n background-color: ${o.theme.colors.mercury};\n color: ${o.theme.colors.silver};\n `:''),(o=>o.basic||o.outline?'background-color: transparent;':''));const Root=styled__default.default.button.withConfig({shouldForwardProp:shouldForwardButtonProp}).attrs((o=>({dynamicSizeDeclaration:(e,r)=>({fontSize:typeof e=='string'?e:`${e}${r}`,height:'2.8em',width:o.round?'2.8em':void 0,paddingRight:o.round?void 0:'1.6em',paddingLeft:o.round?void 0:'1.6em'})}))).withConfig({displayName:"Button__Root",componentId:"ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],(o=>{let e=o.inline?'inline-flex':'flex';o.display&&(e=o.display);let r='0px';o.rounded&&(r=o.preset==='brand'?'48px':'5px'),o.round&&(r='50%');let t='pointer';return o.loading&&(t='wait'),o.success&&(t='pointer'),o.disabled&&(t='not-allowed'),`\n display: ${e};\n border-radius: ${r};\n cursor: ${t};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n font: inherit;\n ${o.preset==='brand'?"\n border: 1px solid transparent;\n transition-property: background-color; \n transition-duration: 250ms;\n &::before {\n transition-property: opacity; \n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n &::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: inherit;\n opacity: 0;\n }\n &:active:not(:disabled)::before {\n opacity: 1;\n }":"\n border: none;\n overflow: hidden;\n transition-property: background-color, color;\n transition-duration: 200ms;"}\n `}),(o=>{if(o.preset==='default')return defaultStyles;let e=COLOR_SCHEMA.default;return o.black&&(e=COLOR_SCHEMA.black),o.danger&&(e=COLOR_SCHEMA.danger),(o.contrast||o.onColored)&&(e=COLOR_SCHEMA.contrast),o.clear?e.clear:o.base?e.base:o.outline?e.outline:e.filled}),focus.focus,responsiveSize.responsiveSize,responsiveMargin.responsiveMargin,(o=>o.padding?responsiveProperty.property(o.padding,'padding'):null),(o=>o.paddingTop?responsiveProperty.property(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?responsiveProperty.property(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?responsiveProperty.property(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?responsiveProperty.property(o.paddingLeft,'padding-left'):null),(o=>o.fontSize?responsiveProperty.property(o.fontSize,'font-size'):null),(o=>o.height?responsiveProperty.property(o.height,'height'):null),(o=>{const e=o.fluid&&o.width!=='auto'?'max-width':'width';return o.width?responsiveProperty.property(getWidth(o.width),e):null}),(({paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n},cssProperty:'padding'})),(({paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n},cssProperty:'padding-top'})),(({paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n},cssProperty:'padding-right'})),(({paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n},cssProperty:'padding-bottom'})),(({paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n},cssProperty:'padding-left'})),(({fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n},cssProperty:'font-size'})),(({heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n},cssProperty:'height'})),(({widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n,fluid:s,width:l})=>responsiveProperty.responsiveNamedProperty({sizes:{widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n},cssProperty:s&&l!=='auto'?'max-width':'width',customSizeHandler:getWidth})),(o=>o.fluid?responsiveProperty.property(o.fluid,fluidStyles):null),(({fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n},cssProperty:fluidStyles})));const Content=styled__default.default.span.withConfig({displayName:"Button__Content",componentId:"ui__sc-16o31r2-1"})(["display:flex;align-items:center;justify-content:center;&[aria-hidden='true'],&[aria-hidden='true'] *{visibility:hidden !important;}& > *:not(:last-child){margin-right:var(--gap,0.25em);}"]);const IconPosition=styled__default.default.span.withConfig({displayName:"Button__IconPosition",componentId:"ui__sc-16o31r2-2"})(["box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;"]);const IconAnimation=styled__default.default.span.withConfig({displayName:"Button__IconAnimation",componentId:"ui__sc-16o31r2-3"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;transform-origin:center;animation:"," 1600ms infinite linear;@media (prefers-reduced-motion:reduce){animation-name:none;}"],spinAnimation);exports.Content=Content,exports.IconAnimation=IconAnimation,exports.IconPosition=IconPosition,exports.Root=Root;
|
|
1
|
+
'use strict';var styled=require('styled-components');var tinycolor=require('tinycolor2');var responsiveProperty=require('../../mixins/responsive-property.js');var color=require('../../mixins/color.js');var style=require('../../shared/utils/style.js');var focus=require('../../mixins/focus.js');var responsiveSize=require('../../mixins/responsive-size.js');var responsiveMargin=require('../../mixins/responsive-margin.js');var regexp=require('../../shared/regexp.js');var hover=require('../../mixins/hover.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);var tinycolor__default=_interopDefault(tinycolor);const shouldForwardButtonProp=style.createShouldForwardProp((o=>!['fluid','width','display','padding','paddingTop','paddingRight','paddingBottom','paddingLeft','fontSize','height','inline','round','success','loading','black','danger','onColored','clear','base','outline','autoRel','noSpacing','primary','secondary','inverted','rounded','basic'].includes(o)),(o=>!(regexp.responsiveFluidPropKeyRegExp.test(o)||regexp.responsiveWidthPropKeyRegExp.test(o)||regexp.responsivePaddingPropKeyRegExp.test(o)||regexp.responsiveFontSizePropKeyRegExp.test(o)||regexp.responsiveHeightPropKeyRegExp.test(o))));const WIDTHS={xl:320,l:280,m:245,s:180,xs:140};const loadingAnimation=styled.keyframes(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);const spinAnimation=styled.keyframes(["100%{transform:rotate(360deg);}"]);const defaultLoadingStyles=styled.css(["background-image:linear-gradient( -45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:25px 25px;animation:"," 2s linear infinite;cursor:progress;"],loadingAnimation);const getWidth=o=>o==='auto'?'auto':typeof o=='number'||typeof o=='boolean'?o:o&&WIDTHS[o]?WIDTHS[o]:'auto';const fluidStyles=()=>styled.css(["min-width:initial;width:100%;"]);const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n &::before {\n box-shadow: inset 0px 4px 0px ${o.shadowColor};\n }\n ${hover.hover(`\n color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n border-color: ${o.borderColorHover};\n `)}\n &:active {\n color: ${o.colorActive};\n background-color: ${o.backgroundColorActive};\n border-color: ${o.borderColorActive};\n }\n &:disabled {\n color: ${o.colorDisabled};\n background-color: ${o.backgroundColorDisabled};\n border-color: ${o.borderColorDisabled};\n }\n`;const COLOR_SCHEMA={contrast:{clear:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors['bg-oncontrast-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncontrast-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-secondary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success||o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-oncolor-default-large'],colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColor:o.theme.colors['bg-oncolor-primary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},danger:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['alert-bg-error-500']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['alert-bg-error-500'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['alert-bg-error-500'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},black:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.loading?o.theme.colors['content-onmain-inverse']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-onmain-inverse']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():o.theme.colors['bg-onmain-inverse'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-inverse'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},default:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-brand-primary-basic']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['bg-brand-primary-basic'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-brand-primary-basic'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))}};const defaultStyles=styled.css([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':`\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n ${hover.hover(`\n color: ${o.fontColor};\n background-color: ${tinycolor__default.default(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString()};\n `)}\n ${o.inverted||o.basic||o.outline?`\n &:not(:hover) {\n border: 1px solid ${o.theme.colors[o.color]};\n }\n ${hover.hover(`\n border: 1px solid ${o.theme.colors[o.color]};\n `)}\n `:''}\n `),(o=>o.loading?defaultLoadingStyles:''),(o=>{let e='background-color';return(o.inverted||o.basic||o.outline)&&(e='color'),color.color(o.color,e)}),(o=>{let e='color';return(o.inverted||o.basic||o.outline)&&(e='background-color'),color.color(o.fontColor,e)}),(o=>o.disabled?`\n cursor: not-allowed;\n background-color: ${o.theme.colors.mercury};\n color: ${o.theme.colors.silver};\n `:''),(o=>o.basic||o.outline?'background-color: transparent;':''));const Root=styled__default.default.button.withConfig({shouldForwardProp:shouldForwardButtonProp}).attrs((o=>({dynamicSizeDeclaration:(e,r)=>({fontSize:typeof e=='string'?e:`${e}${r}`,height:'2.8em',width:o.round?'2.8em':void 0,paddingRight:o.round?void 0:'1.6em',paddingLeft:o.round?void 0:'1.6em'})}))).withConfig({displayName:"Button__Root",componentId:"ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],(o=>{let e=o.inline?'inline-flex':'flex';o.display&&(e=o.display);let r='0px';o.rounded&&(r=o.preset==='brand'?'48px':'5px'),o.round&&(r='50%');let t='pointer';return o.loading&&(t='wait'),o.success&&(t='pointer'),o.disabled&&(t='not-allowed'),`\n display: ${e};\n border-radius: ${r};\n cursor: ${t};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n font: inherit;\n ${o.preset==='brand'?"\n border: 1px solid transparent;\n transition-property: background-color; \n transition-duration: 250ms;\n &::before {\n transition-property: opacity; \n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n &::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: inherit;\n opacity: 0;\n }\n &:active:not(:disabled)::before {\n opacity: 1;\n }":"\n border: none;\n overflow: hidden;\n transition-property: background-color, color;\n transition-duration: 200ms;"}\n `}),(o=>{if(o.preset==='default')return defaultStyles;let e=COLOR_SCHEMA.default;return o.black&&(e=COLOR_SCHEMA.black),o.danger&&(e=COLOR_SCHEMA.danger),(o.contrast||o.onColored)&&(e=COLOR_SCHEMA.contrast),o.clear?e.clear:o.base?e.base:o.outline?e.outline:e.filled}),focus.focus,responsiveSize.responsiveSize,responsiveMargin.responsiveMargin,(o=>o.padding?responsiveProperty.property(o.padding,'padding'):null),(o=>o.paddingTop?responsiveProperty.property(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?responsiveProperty.property(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?responsiveProperty.property(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?responsiveProperty.property(o.paddingLeft,'padding-left'):null),(o=>o.fontSize?responsiveProperty.property(o.fontSize,'font-size'):null),(o=>o.height?responsiveProperty.property(o.height,'height'):null),(o=>{const e=o.fluid&&o.width!=='auto'?'max-width':'width';return o.width?responsiveProperty.property(getWidth(o.width),e):null}),(({paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n},cssProperty:'padding'})),(({paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n},cssProperty:'padding-top'})),(({paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n},cssProperty:'padding-right'})),(({paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n},cssProperty:'padding-bottom'})),(({paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n},cssProperty:'padding-left'})),(({fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n},cssProperty:'font-size'})),(({heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n},cssProperty:'height'})),(({widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n,fluid:s,width:l})=>responsiveProperty.responsiveNamedProperty({sizes:{widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n},cssProperty:s&&l!=='auto'?'max-width':'width',customSizeHandler:getWidth})),(o=>o.fluid?responsiveProperty.property(o.fluid,fluidStyles):null),(({fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n},cssProperty:fluidStyles})));const Content=styled__default.default.span.withConfig({displayName:"Button__Content",componentId:"ui__sc-16o31r2-1"})(["display:flex;align-items:center;justify-content:center;&[aria-hidden='true'],&[aria-hidden='true'] *{visibility:hidden !important;}& > *:not(:last-child){margin-right:var(--gap,0.25em);}"]);const ContentWithStatus=styled__default.default(Content).withConfig({displayName:"Button__ContentWithStatus",componentId:"ui__sc-16o31r2-2"})(["box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);"]);const IconAnimation=styled__default.default.span.withConfig({displayName:"Button__IconAnimation",componentId:"ui__sc-16o31r2-3"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;transform-origin:center;animation:"," 1600ms infinite linear;@media (prefers-reduced-motion:reduce){animation-name:none;}"],spinAnimation);exports.Content=Content,exports.ContentWithStatus=ContentWithStatus,exports.IconAnimation=IconAnimation,exports.Root=Root;
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Button/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color } from 'mixins/color'\nimport type { PossibleValues, CalcProperty } from 'mixins/responsive-property'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { focus } from 'mixins/focus'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport {\n responsiveFluidPropKeyRegExp,\n responsiveWidthPropKeyRegExp,\n responsivePaddingPropKeyRegExp,\n responsiveFontSizePropKeyRegExp,\n responsiveHeightPropKeyRegExp,\n} from 'shared/regexp'\nimport type { CSSColor } from 'shared/types'\nimport { hover } from 'mixins/hover'\nimport type { StyledButtonProps, ButtonPalette } from './types'\n\nconst shouldForwardButtonProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'fluid',\n 'width',\n 'display',\n 'padding',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n 'fontSize',\n 'height',\n 'inline',\n 'round',\n 'success',\n 'loading',\n 'black',\n 'danger',\n 'onColored',\n 'clear',\n 'base',\n 'outline',\n 'autoRel',\n 'noSpacing',\n 'primary',\n 'secondary',\n 'inverted',\n 'rounded',\n 'basic',\n ].includes(propKey),\n (propKey) =>\n !responsiveFluidPropKeyRegExp.test(propKey) &&\n !responsiveWidthPropKeyRegExp.test(propKey) &&\n !responsivePaddingPropKeyRegExp.test(propKey) &&\n !responsiveFontSizePropKeyRegExp.test(propKey) &&\n !responsiveHeightPropKeyRegExp.test(propKey)\n)\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst loadingAnimation = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spinAnimation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loadingAnimation} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst template = (palette: ButtonPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n &::before {\n box-shadow: inset 0px 4px 0px ${palette.shadowColor};\n }\n ${hover(`\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n `)}\n &:active {\n color: ${palette.colorActive};\n background-color: ${palette.backgroundColorActive};\n border-color: ${palette.borderColorActive};\n }\n &:disabled {\n color: ${palette.colorDisabled};\n background-color: ${palette.backgroundColorDisabled};\n border-color: ${palette.borderColorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n contrast: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.theme.colors['bg-oncontrast-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.success\n ? props.theme.colors['bg-oncolor-primary']\n : props.theme.colors['bg-oncolor-secondary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-oncolor-secondary']).darken(4).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-oncolor-secondary']).darken(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['alert-success']\n : props.loading\n ? props.theme.colors['content-oncolor-constant']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColor:\n props.success || props.loading ? props.theme.colors['bg-oncolor-primary'] : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-oncolor-default-large'],\n colorHover: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : props.theme.colors['bg-oncolor-primary'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : props.theme.colors['bg-oncolor-primary'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-oncolor-constant'],\n backgroundColor: props.theme.colors['bg-oncolor-primary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor,\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorActive: tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor,\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n danger: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['alert-error'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.success ? props.theme.colors['alert-success'] : props.theme.colors['alert-error'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success ? props.theme.colors['alert-success'] : props.theme.colors['alert-error'],\n backgroundColorActive: props.theme.colors['bg-oncolor-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['content-oncolor-primary'] : props.theme.colors['alert-error'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success ? props.theme.colors['content-oncolor-primary'] : props.theme.colors['alert-error'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['alert-error'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color:\n props.success || props.loading\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['alert-error'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.loading\n ? props.theme.colors['alert-bg-error-500']\n : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : props.theme.colors['alert-bg-error-500'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['alert-bg-error-500']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['alert-bg-error-500'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['alert-bg-error-500']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['alert-bg-error-500']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n black: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-oncolor-inverse'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-inverse'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-inverse'],\n backgroundColorActive: props.theme.colors['bg-oncolor-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(4).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.loading\n ? props.theme.colors['content-onmain-inverse']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.loading\n ? props.theme.colors['bg-onmain-inverse']\n : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : props.theme.colors['bg-onmain-inverse'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-inverse']).lighten(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-inverse'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-inverse']).lighten(4).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-inverse']).lighten(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n default: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-brand-primary'],\n backgroundColorActive: props.theme.colors['bg-oncolor-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color:\n props.success || props.loading\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.loading\n ? props.theme.colors['bg-brand-primary-basic']\n : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : props.theme.colors['bg-brand-primary-basic'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-brand-primary-basic']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-brand-primary-basic'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-brand-primary-basic']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-brand-primary-basic']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n}\n\nconst defaultStyles = css<StyledButtonProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n ${hover(`\n color: ${props.fontColor};\n background-color: ${tinycolor(props.theme.colors[props.color as keyof typeof props.theme.colors])\n .saturate(-5)\n .lighten(-8)\n .toString()};\n `)}\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color as keyof typeof props.theme.colors]};\n }\n ${hover(`\n border: 1px solid ${props.theme.colors[props.color as keyof typeof props.theme.colors]};\n `)}\n `\n : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n\n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return color(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return color(props.fontColor, cssProperty)\n }}\n\n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n\n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n`\n\nexport const Root = styled.button\n .withConfig<StyledButtonProps>({\n shouldForwardProp: shouldForwardButtonProp,\n })\n .attrs<StyledButtonProps>(\n (props): Required<Pick<StyledButtonProps, 'dynamicSizeDeclaration'>> => ({\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n height: '2.8em',\n width: props.round ? '2.8em' : undefined,\n paddingRight: props.round ? undefined : '1.6em',\n paddingLeft: props.round ? undefined : '1.6em',\n }\n },\n })\n )`\n ${(props) => {\n let display = props.inline ? 'inline-flex' : 'flex'\n if (props.display) display = props.display\n\n let borderRadius = '0px'\n if (props.rounded) borderRadius = props.preset === 'brand' ? '48px' : '5px'\n if (props.round) borderRadius = '50%'\n\n let cursor = 'pointer'\n if (props.loading) cursor = 'wait'\n if (props.success) cursor = 'pointer'\n if (props.disabled) cursor = 'not-allowed'\n\n return `\n display: ${display};\n border-radius: ${borderRadius};\n cursor: ${cursor};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n font: inherit;\n ${\n props.preset === 'brand'\n ? `\n border: 1px solid transparent;\n transition-property: background-color; \n transition-duration: 250ms;\n &::before {\n transition-property: opacity; \n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n &::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: inherit;\n opacity: 0;\n }\n &:active:not(:disabled)::before {\n opacity: 1;\n }`\n : `\n border: none;\n overflow: hidden;\n transition-property: background-color, color;\n transition-duration: 200ms;`\n }\n `\n }}\n\n ${(props) => {\n if (props.preset === 'default') return defaultStyles\n\n let schema = COLOR_SCHEMA.default\n\n if (props.black) schema = COLOR_SCHEMA.black\n if (props.danger) schema = COLOR_SCHEMA.danger\n if (props.contrast || props.onColored) schema = COLOR_SCHEMA.contrast\n\n if (props.clear) return schema.clear\n if (props.base) return schema.base\n if (props.outline) return schema.outline\n\n return schema.filled\n }}\n\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n\n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const Content = styled.span`\n display: flex;\n align-items: center;\n justify-content: center;\n &[aria-hidden='true'],\n &[aria-hidden='true'] * {\n visibility: hidden !important;\n }\n & > *:not(:last-child) {\n margin-right: var(--gap, 0.25em);\n }\n`\n\nexport const IconPosition = styled.span`\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nexport const IconAnimation = styled.span`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n transform-origin: center;\n animation: ${spinAnimation} 1600ms infinite linear;\n @media (prefers-reduced-motion: reduce) {\n animation-name: none;\n }\n`\n"],"names":["shouldForwardButtonProp","createShouldForwardProp","propKey","includes","responsiveFluidPropKeyRegExp","test","responsiveWidthPropKeyRegExp","responsivePaddingPropKeyRegExp","responsiveFontSizePropKeyRegExp","responsiveHeightPropKeyRegExp","WIDTHS","xl","l","m","s","xs","loadingAnimation","keyframes","spinAnimation","defaultLoadingStyles","css","getWidth","width","fluidStyles","template","palette","color","backgroundColor","borderColor","shadowColor","hover","colorHover","backgroundColorHover","borderColorHover","colorActive","backgroundColorActive","borderColorActive","colorDisabled","backgroundColorDisabled","borderColorDisabled","COLOR_SCHEMA","contrast","clear","props","theme","colors","transparent","base","success","tinycolor","darken","toString","default","outline","loading","filled","danger","black","lighten","defaultStyles","disabled","fontColor","saturate","inverted","basic","cssProperty","mercury","silver","Root","styled","button","withConfig","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","fontSize","height","round","undefined","paddingRight","paddingLeft","displayName","componentId","display","inline","borderRadius","rounded","preset","cursor","schema","onColored","focus","responsiveSize","responsiveMargin","padding","property","paddingTop","paddingBottom","fluid","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","heightXS","heightS","heightM","heightL","heightXL","widthXS","widthS","widthM","widthL","widthXL","customSizeHandler","fluidXS","fluidS","fluidM","fluidL","fluidXL","Content","span","IconPosition","IconAnimation"],"mappings":"6pBAoBA,MAAMA,wBAA0BC,MAAAA,yBAC7BC,IACE,CACC,QACA,QACA,UACA,UACA,aACA,eACA,gBACA,cACA,WACA,SACA,SACA,QACA,UACA,UACA,QACA,SACA,YACA,QACA,OACA,UACA,UACA,YACA,UACA,YACA,WACA,UACA,SACAC,SAASD,KACZA,KACEE,OAAAA,6BAA6BC,KAAKH,IAClCI,OAA4BA,6BAACD,KAAKH,IAClCK,OAAAA,+BAA+BF,KAAKH,IACpCM,OAA+BA,gCAACH,KAAKH,IACrCO,OAAAA,8BAA8BJ,KAAKH,MAGxC,MAAMQ,OAAiC,CACrCC,GAAI,IACJC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,GAAI,KAGN,MAAMC,iBAAmBC,OAASA,UAOjC,CAAA,qEAED,MAAMC,cAAgBD,OAASA,UAI9B,CAAA,oCAED,MAAME,qBAAuBC,OAAGA,IAAA,CAAA,4NAAA,wCAYjBJ,kBAIf,MAAMK,SAAYC,GACZA,IAAU,OAAe,cAClBA,GAAU,iBACVA,GAAU,UADiBA,EAGlCA,GAASZ,OAAOY,GAAeZ,OAAOY,GAEnC,OAGT,MAAMC,YAA4BA,IAAMH,OAAAA,IAGvC,CAAA,kCAED,MAAMI,SAAYC,GAA2B,cAClCA,EAAQC,+BACGD,EAAQE,qCACZF,EAAQG,kEAEUH,EAAQI,wBAExCC,MAAKA,MAAC,gBACGL,EAAQM,sCACGN,EAAQO,4CACZP,EAAQQ,sDAGfR,EAAQS,uCACGT,EAAQU,6CACZV,EAAQW,uDAGfX,EAAQY,yCACGZ,EAAQa,+CACZb,EAAQc,8BAI5B,MAAMC,aAAe,CACnBC,SAAU,CACRC,MAAOtB,OAAGA,IAAA,CAAA,GAAA,KACLuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMC,MAAMC,OAAO,2BAC1BlB,gBAAiBgB,EAAMC,MAAMC,OAAOC,YACpClB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMC,MAAMC,OAAO,2BAC/Bb,qBAAsBW,EAAMC,MAAMC,OAAO,uBACzCZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMC,MAAMC,OAAO,2BAChCV,sBAAuBQ,EAAMC,MAAMC,OAAO,uBAC1CT,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,4BAClCP,wBAAyBK,EAAMC,MAAMC,OAAOC,YAC5CP,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,0BAC7BF,EAAMlB,YAGfsB,KAAM3B,OAAGA,IAAA,CAAA,GAAA,KACJuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,2BAChFlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,sBACnBF,EAAMC,MAAMC,OAAO,wBACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,2BACvBb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WAC9DF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WACrElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,2BACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WAC9DF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WACrEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,4BAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,uBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf4B,QAASjC,OAAGA,IAAA,CAAA,GAAA,KACPuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QACTL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMW,QACJX,EAAMC,MAAMC,OAAO,4BACnBF,EAAMC,MAAMC,OAAO,2BACzBlB,gBACEgB,EAAMK,SAAWL,EAAMW,QAAUX,EAAMC,MAAMC,OAAO,sBAAwBF,EAAMC,MAAMC,OAAOC,YACjGlB,YACEe,EAAMK,SAAWL,EAAMW,QACnBX,EAAMC,MAAMC,OAAOC,YACnBH,EAAMC,MAAMC,OAAO,gCACzBd,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,4BACvBb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WAC/DR,EAAMC,MAAMC,OAAO,sBACvBZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,4BACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WAC/DR,EAAMC,MAAMC,OAAO,sBACvBT,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,4BAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,uBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf8B,OAAQnC,OAAGA,IAAA,CAAA,GAAA,KACNuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,4BAChFlB,gBAAiBgB,EAAMC,MAAMC,OAAO,sBACpCjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,4BACvBb,qBAAsBiB,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACpFlB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,4BACvBV,sBAAuBc,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACrFf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,4BAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,uBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,aAIjB+B,OAAQ,CACNd,MAAOtB,OAAGA,IAAA,CAAA,GAAA,KACLuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,eAChFlB,gBAAiBgB,EAAMC,MAAMC,OAAOC,YACpClB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,eACrFb,qBAAsBW,EAAMC,MAAMC,OAAO,oBACzCZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,eACtFV,sBAAuBQ,EAAMC,MAAMC,OAAO,oBAC1CT,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAOC,YAC5CP,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGfsB,KAAM3B,OAAGA,IAAA,CAAA,GAAA,KACJuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,2BAA6BF,EAAMC,MAAMC,OAAO,eAC1FlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMC,MAAMC,OAAO,sBACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,2BAA6BF,EAAMC,MAAMC,OAAO,eAC/Fb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,eACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf4B,QAASjC,OAAGA,IAAA,CAAA,GAAA,KACPuB,GACDnB,SAAS,CACPE,MACEiB,EAAMK,SAAWL,EAAMW,QACnBX,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,eACzBlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMW,QACJX,EAAMC,MAAMC,OAAO,sBACnBF,EAAMC,MAAMC,OAAOC,YACzBlB,YACEe,EAAMK,SAAWL,EAAMW,QACnBX,EAAMC,MAAMC,OAAOC,YACnBH,EAAMC,MAAMC,OAAO,+BACzBd,WAAYY,EAAMC,MAAMC,OAAO,2BAC/Bb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WACjER,EAAMC,MAAMC,OAAO,sBACvBZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMC,MAAMC,OAAO,2BAChCV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf8B,OAAQnC,OAAGA,IAAA,CAAA,GAAA,KACNuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMC,MAAMC,OAAO,2BAC1BlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMC,MAAMC,OAAO,sBACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMC,MAAMC,OAAO,2BAC/Bb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMC,MAAMC,OAAO,2BAChCV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,aAIjBgC,MAAO,CACLf,MAAOtB,OAAGA,IAAA,CAAA,GAAA,KACLuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,2BAChFlB,gBAAiBgB,EAAMC,MAAMC,OAAOC,YACpClB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMC,MAAMC,OAAO,2BAC/Bb,qBAAsBW,EAAMC,MAAMC,OAAO,oBACzCZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMC,MAAMC,OAAO,2BAChCV,sBAAuBQ,EAAMC,MAAMC,OAAO,oBAC1CT,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAOC,YAC5CP,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGfsB,KAAM3B,OAAGA,IAAA,CAAA,GAAA,KACJuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QACTL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,2BACvBlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMC,MAAMC,OAAO,sBACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,2BACvBb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBa,QAAQ,GAAGP,WACjEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,2BACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBa,QAAQ,GAAGP,WACjEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf4B,QAASjC,OAAGA,IAAA,CAAA,GAAA,KACPuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QACTL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMW,QACJX,EAAMC,MAAMC,OAAO,0BACnBF,EAAMC,MAAMC,OAAO,2BACzBlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMW,QACJX,EAAMC,MAAMC,OAAO,qBACnBF,EAAMC,MAAMC,OAAOC,YACzBlB,YACEe,EAAMK,SAAWL,EAAMW,QACnBX,EAAMC,MAAMC,OAAOC,YACnBH,EAAMC,MAAMC,OAAO,+BACzBd,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,0BACvBb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBa,QAAQ,GAAGP,WAClER,EAAMC,MAAMC,OAAO,qBACvBZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,0BACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBa,QAAQ,GAAGP,WACjEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,sBAAsBa,QAAQ,GAAGP,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf8B,OAAQnC,OAAGA,IAAA,CAAA,GAAA,KACNuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QACTL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,0BACvBlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMC,MAAMC,OAAO,qBACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,0BACvBb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBa,QAAQ,GAAGP,WACjEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,sBAAsBa,QAAQ,GAAGP,WACnElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,0BACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBa,QAAQ,GAAGP,WACjEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,sBAAsBa,QAAQ,GAAGP,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,aAIjB2B,QAAS,CACPV,MAAOtB,OAAGA,IAAA,CAAA,GAAA,KACLuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,yBAChFlB,gBAAiBgB,EAAMC,MAAMC,OAAOC,YACpClB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QAAUL,EAAMC,MAAMC,OAAO,iBAAmBF,EAAMC,MAAMC,OAAO,yBACrFb,qBAAsBW,EAAMC,MAAMC,OAAO,oBACzCZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,iBACnBF,EAAMC,MAAMC,OAAO,yBACvBV,sBAAuBQ,EAAMC,MAAMC,OAAO,oBAC1CT,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAOC,YAC5CP,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGfsB,KAAM3B,OAAGA,IAAA,CAAA,GAAA,KACJuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMK,QACTL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,yBACvBlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMC,MAAMC,OAAO,sBACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMK,QACdL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,yBACvBb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMK,QACfL,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,yBACvBV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,uBAAuBK,OAAO,GAAGC,WACnEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf4B,QAASjC,OAAGA,IAAA,CAAA,GAAA,KACPuB,GACDnB,SAAS,CACPE,MACEiB,EAAMK,SAAWL,EAAMW,QACnBX,EAAMC,MAAMC,OAAO,2BACnBF,EAAMC,MAAMC,OAAO,yBACzBlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMW,QACJX,EAAMC,MAAMC,OAAO,0BACnBF,EAAMC,MAAMC,OAAOC,YACzBlB,YACEe,EAAMK,SAAWL,EAAMW,QACnBX,EAAMC,MAAMC,OAAOC,YACnBH,EAAMC,MAAMC,OAAO,+BACzBd,WAAYY,EAAMC,MAAMC,OAAO,2BAC/Bb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WACjER,EAAMC,MAAMC,OAAO,0BACvBZ,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMC,MAAMC,OAAO,2BAChCV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,2BAA2BK,OAAO,GAAGC,WACvEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,YAGf8B,OAAQnC,OAAGA,IAAA,CAAA,GAAA,KACNuB,GACDnB,SAAS,CACPE,MAAOiB,EAAMC,MAAMC,OAAO,2BAC1BlB,gBAAiBgB,EAAMK,QACnBL,EAAMC,MAAMC,OAAO,wBACnBF,EAAMC,MAAMC,OAAO,0BACvBjB,YAAae,EAAMC,MAAMC,OAAOC,YAChCf,WAAYY,EAAMC,MAAMC,OAAO,2BAC/Bb,qBAAsBW,EAAMK,QACvBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,2BAA2BK,OAAO,GAAGC,WACvElB,iBAAkBU,EAAMC,MAAMC,OAAOC,YACrCZ,YAAaS,EAAMC,MAAMC,OAAO,2BAChCV,sBAAuBQ,EAAMK,QACxBC,mBAAAA,QAAUN,EAAMC,MAAMC,OAAO,yBAAyBK,OAAO,GAAGC,WAChEF,mBAASG,QAACT,EAAMC,MAAMC,OAAO,2BAA2BK,OAAO,GAAGC,WACvEf,kBAAmBO,EAAMC,MAAMC,OAAOC,YACtCT,cAAeM,EAAMC,MAAMC,OAAO,oBAClCP,wBAAyBK,EAAMC,MAAMC,OAAO,qBAC5CN,oBAAqBI,EAAMC,MAAMC,OAAOC,YACxCjB,YAAac,EAAMC,MAAMC,OAAO,uBAC7BF,EAAMlB,cAMnB,MAAMkC,cAAgBvC,OAAGA,IAAA,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KACpBuB,GACGA,EAAMiB,UAAYjB,EAAMW,QAAgB,GAErC,oGAIHxB,MAAKA,MAAC,oBACGa,EAAMkB,yCACKZ,mBAAAA,QAAUN,EAAMC,MAAMC,OAAOF,EAAMjB,QACpDoC,UAAU,GACVJ,SAAS,GACTP,iCAGHR,EAAMoB,UAAYpB,EAAMqB,OAASrB,EAAMU,QACnC,sEAEwBV,EAAMC,MAAMC,OAAOF,EAAMjB,2CAE7CI,MAAKA,MAAC,uCACca,EAAMC,MAAMC,OAAOF,EAAMjB,2CAGjD,aAKPiB,GAAWA,EAAMW,QAAUnC,qBAAuB,KAElDwB,IACD,IAAIsB,EAAc,mBAGlB,OAFItB,EAAMoB,UAAYpB,EAAMqB,OAASrB,EAAMU,WAASY,EAAc,SAE3DvC,YAAMiB,EAAMjB,MAAOuC,EAAY,IAGrCtB,IACD,IAAIsB,EAAc,QAGlB,OAFItB,EAAMoB,UAAYpB,EAAMqB,OAASrB,EAAMU,WAASY,EAAc,oBAE3DvC,YAAMiB,EAAMkB,UAAWI,EAAY,IAGzCtB,GACIA,EAAMiB,SAEJ,yDAEejB,EAAMC,MAAMC,OAAOqB,0BAC9BvB,EAAMC,MAAMC,OAAOsB,gBALF,KAS3BxB,GAAWA,EAAMqB,OAASrB,EAAMU,QAAU,iCAAmC,KAG3E,MAAMe,KAAOC,gBAAAA,QAAOC,OACxBC,WAA8B,CAC7BC,kBAAmBxE,0BAEpByE,OACE9B,IAAwE,CACvE+B,uBAAwBA,CAACC,EAAMC,KACtB,CACLC,gBAAiBF,GAAS,SAAWA,EAAO,GAAGA,IAAOC,IACtDE,OAAQ,QACRxD,MAAOqB,EAAMoC,MAAQ,aAAUC,EAC/BC,aAActC,EAAMoC,WAAQC,EAAY,QACxCE,YAAavC,EAAMoC,WAAQC,EAAY,cAI9CT,WAAA,CAAAY,YAAA,eAAAC,YAAA,oBAhBiBf,CAgBjB,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KACE1B,IACD,IAAI0C,EAAU1C,EAAM2C,OAAS,cAAgB,OACzC3C,EAAM0C,UAASA,EAAU1C,EAAM0C,SAEnC,IAAIE,EAAe,MACf5C,EAAM6C,UAASD,EAAe5C,EAAM8C,SAAW,QAAU,OAAS,OAClE9C,EAAMoC,QAAOQ,EAAe,OAEhC,IAAIG,EAAS,UAKb,OAJI/C,EAAMW,UAASoC,EAAS,QACxB/C,EAAMK,UAAS0C,EAAS,WACxB/C,EAAMiB,WAAU8B,EAAS,eAEtB,oBACML,4BACME,qBACPG,6WAeR/C,EAAM8C,SAAW,QACb,0sBAsBA,wKAMP,IAGA9C,IACD,GAAIA,EAAM8C,SAAW,UAAW,OAAO9B,cAEvC,IAAIgC,EAASnD,aAAaY,QAM1B,OAJIT,EAAMc,QAAOkC,EAASnD,aAAaiB,OACnCd,EAAMa,SAAQmC,EAASnD,aAAagB,SACpCb,EAAMF,UAAYE,EAAMiD,aAAWD,EAASnD,aAAaC,UAEzDE,EAAMD,MAAciD,EAAOjD,MAC3BC,EAAMI,KAAa4C,EAAO5C,KAC1BJ,EAAMU,QAAgBsC,EAAOtC,QAE1BsC,EAAOpC,MAAM,GAGpBsC,MAAAA,MACAC,eAAAA,eACAC,iBAAAA,kBAECpD,GAAWA,EAAMqD,QAAUC,mBAAAA,SAAStD,EAAMqD,QAAS,WAAa,OAChErD,GAAWA,EAAMuD,WAAaD,mBAAQA,SAACtD,EAAMuD,WAAY,eAAiB,OAC1EvD,GAAWA,EAAMsC,aAAegB,mBAAAA,SAAStD,EAAMsC,aAAc,iBAAmB,OAChFtC,GAAWA,EAAMwD,cAAgBF,mBAAAA,SAAStD,EAAMwD,cAAe,kBAAoB,OACnFxD,GAAWA,EAAMuC,YAAce,mBAAQA,SAACtD,EAAMuC,YAAa,gBAAkB,OAE7EvC,GAAWA,EAAMkC,SAAWoB,mBAAQA,SAACtD,EAAMkC,SAAU,aAAe,OAEpElC,GAAWA,EAAMmC,OAASmB,mBAAAA,SAAStD,EAAMmC,OAAQ,UAAY,OAE7DnC,IACD,MAAMsB,EAActB,EAAMyD,OAASzD,EAAMrB,QAAU,OAAS,YAAc,QAC1E,OAAOqB,EAAMrB,MAAQ2E,mBAAAA,SAAS5E,SAASsB,EAAMrB,OAAQ2C,GAAe,IAAI,IAGxE,EAAGoC,YAAWC,WAAUC,WAAUC,WAAUC,eACrCC,2CAAwB,CAC7BC,MAAO,CAAEN,YAAWC,WAAUC,WAAUC,WAAUC,aAClDxC,YAAa,cAGf,EAAG2C,eAAcC,cAAaC,cAAaC,cAAaC,kBACjDN,2CAAwB,CAC7BC,MAAO,CAAEC,eAAcC,cAAaC,cAAaC,cAAaC,gBAC9D/C,YAAa,kBAGf,EAAGgD,iBAAgBC,gBAAeC,gBAAeC,gBAAeC,oBACzDX,2CAAwB,CAC7BC,MAAO,CAAEM,iBAAgBC,gBAAeC,gBAAeC,gBAAeC,kBACtEpD,YAAa,oBAGf,EAAGqD,kBAAiBC,iBAAgBC,iBAAgBC,iBAAgBC,qBAC7DhB,2CAAwB,CAC7BC,MAAO,CAAEW,kBAAiBC,iBAAgBC,iBAAgBC,iBAAgBC,mBAC1EzD,YAAa,qBAGf,EAAG0D,gBAAeC,eAAcC,eAAcC,eAAcC,mBACrDrB,2CAAwB,CAC7BC,MAAO,CAAEgB,gBAAeC,eAAcC,eAAcC,eAAcC,iBAClE9D,YAAa,mBAIf,EAAG+D,aAAYC,YAAWC,YAAWC,YAAWC,gBACzC1B,2CAAwB,CAC7BC,MAAO,CAAEqB,aAAYC,YAAWC,YAAWC,YAAWC,cACtDnE,YAAa,gBAIf,EAAGoE,WAAUC,UAASC,UAASC,UAASC,cACjC/B,2CAAwB,CAC7BC,MAAO,CAAE0B,WAAUC,UAASC,UAASC,UAASC,YAC9CxE,YAAa,aAIf,EAAGyE,UAASC,SAAQC,SAAQC,SAAQC,UAAS1C,QAAO9E,WAC7CoF,2CAAwB,CAC7BC,MAAO,CAAE+B,UAASC,SAAQC,SAAQC,SAAQC,WAC1C7E,YAAamC,GAAS9E,IAAU,OAAS,YAAc,QACvDyH,kBAAmB1H,aAIpBsB,GAAWA,EAAMyD,MAAQH,mBAAQA,SAACtD,EAAMyD,MAAO7E,aAAe,OAC/D,EAAGyH,UAASC,SAAQC,SAAQC,SAAQC,aAC7B1C,2CAAwB,CAC7BC,MAAO,CAAEqC,UAASC,SAAQC,SAAQC,SAAQC,WAC1CnF,YAAa1C,sBAKN8H,QAAUhF,gBAAAA,QAAOiF,KAAI/E,WAAA,CAAAY,YAAA,kBAAAC,YAAA,oBAAXf,CAWtB,CAAA,qMAEYkF,aAAelF,gBAAAA,QAAOiF,KAAI/E,WAAA,CAAAY,YAAA,uBAAAC,YAAA,oBAAXf,CAS3B,CAAA,0JAEYmF,cAAgBnF,gBAAAA,QAAOiF,KAAI/E,WAAA,CAAAY,YAAA,wBAAAC,YAAA,oBAAXf,CAAW,CAAA,kHAAA,wFAMzBnD"}
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Button/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color } from 'mixins/color'\nimport type { PossibleValues, CalcProperty } from 'mixins/responsive-property'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { focus } from 'mixins/focus'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport {\n responsiveFluidPropKeyRegExp,\n responsiveWidthPropKeyRegExp,\n responsivePaddingPropKeyRegExp,\n responsiveFontSizePropKeyRegExp,\n responsiveHeightPropKeyRegExp,\n} from 'shared/regexp'\nimport type { CSSColor } from 'shared/types'\nimport { hover } from 'mixins/hover'\nimport type { StyledButtonProps, ButtonPalette } from './types'\n\nconst shouldForwardButtonProp = createShouldForwardProp(\n (propKey) =>\n ![\n 'fluid',\n 'width',\n 'display',\n 'padding',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n 'fontSize',\n 'height',\n 'inline',\n 'round',\n 'success',\n 'loading',\n 'black',\n 'danger',\n 'onColored',\n 'clear',\n 'base',\n 'outline',\n 'autoRel',\n 'noSpacing',\n 'primary',\n 'secondary',\n 'inverted',\n 'rounded',\n 'basic',\n ].includes(propKey),\n (propKey) =>\n !responsiveFluidPropKeyRegExp.test(propKey) &&\n !responsiveWidthPropKeyRegExp.test(propKey) &&\n !responsivePaddingPropKeyRegExp.test(propKey) &&\n !responsiveFontSizePropKeyRegExp.test(propKey) &&\n !responsiveHeightPropKeyRegExp.test(propKey)\n)\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst loadingAnimation = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spinAnimation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loadingAnimation} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst template = (palette: ButtonPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n &::before {\n box-shadow: inset 0px 4px 0px ${palette.shadowColor};\n }\n ${hover(`\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};\n `)}\n &:active {\n color: ${palette.colorActive};\n background-color: ${palette.backgroundColorActive};\n border-color: ${palette.borderColorActive};\n }\n &:disabled {\n color: ${palette.colorDisabled};\n background-color: ${palette.backgroundColorDisabled};\n border-color: ${palette.borderColorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n contrast: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.theme.colors['bg-oncontrast-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncontrast-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.success\n ? props.theme.colors['bg-oncolor-primary']\n : props.theme.colors['bg-oncolor-secondary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-oncolor-secondary']).darken(4).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-oncolor-secondary']).darken(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['alert-success']\n : props.loading\n ? props.theme.colors['content-oncolor-constant']\n : props.theme.colors['content-oncolor-primary'],\n backgroundColor:\n props.success || props.loading ? props.theme.colors['bg-oncolor-primary'] : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-oncolor-default-large'],\n colorHover: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : props.theme.colors['bg-oncolor-primary'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor)\n : props.theme.colors['bg-oncolor-primary'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-oncolor-constant'],\n backgroundColor: props.theme.colors['bg-oncolor-primary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorHover: tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor,\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-oncolor-constant'],\n backgroundColorActive: tinycolor(props.theme.colors['bg-oncolor-primary']).darken(2).toString() as CSSColor,\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n danger: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['alert-error'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.success ? props.theme.colors['alert-success'] : props.theme.colors['alert-error'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success ? props.theme.colors['alert-success'] : props.theme.colors['alert-error'],\n backgroundColorActive: props.theme.colors['bg-oncolor-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['content-oncolor-primary'] : props.theme.colors['alert-error'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success ? props.theme.colors['content-oncolor-primary'] : props.theme.colors['alert-error'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['alert-error'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color:\n props.success || props.loading\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['alert-error'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.loading\n ? props.theme.colors['alert-bg-error-500']\n : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : props.theme.colors['alert-bg-error-500'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['alert-bg-error-500']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['alert-bg-error-500'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['alert-bg-error-500']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['alert-bg-error-500']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n black: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-oncolor-inverse'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-inverse'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-inverse'],\n backgroundColorActive: props.theme.colors['bg-oncolor-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(4).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.loading\n ? props.theme.colors['content-onmain-inverse']\n : props.theme.colors['content-oncolor-inverse'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.loading\n ? props.theme.colors['bg-onmain-inverse']\n : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : props.theme.colors['bg-onmain-inverse'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-inverse']).lighten(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-inverse'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-inverse']).lighten(4).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-onmain-inverse'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).lighten(4).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-inverse']).lighten(4).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n default: {\n clear: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-brand-primary'],\n backgroundColor: props.theme.colors.transparent,\n borderColor: props.theme.colors.transparent,\n colorHover: props.success ? props.theme.colors['alert-success'] : props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['alert-success']\n : props.theme.colors['content-brand-primary'],\n backgroundColorActive: props.theme.colors['bg-oncolor-hover'],\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n base: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-onmain-tertiary'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.success\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-onmain-tertiary']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n outline: css<StyledButtonProps>`\n ${(props) =>\n template({\n color:\n props.success || props.loading\n ? props.theme.colors['content-oncolor-primary']\n : props.theme.colors['content-brand-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.loading\n ? props.theme.colors['bg-brand-primary-basic']\n : props.theme.colors.transparent,\n borderColor:\n props.success || props.loading\n ? props.theme.colors.transparent\n : props.theme.colors['border-onmain-default-large'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : props.theme.colors['bg-brand-primary-basic'],\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-brand-primary-basic']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n filled: css<StyledButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.success\n ? props.theme.colors['alert-bg-success-500']\n : props.theme.colors['bg-brand-primary-basic'],\n borderColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-brand-primary-basic']).darken(2).toString() as CSSColor),\n borderColorHover: props.theme.colors.transparent,\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.success\n ? (tinycolor(props.theme.colors['alert-bg-success-500']).darken(2).toString() as CSSColor)\n : (tinycolor(props.theme.colors['bg-brand-primary-basic']).darken(2).toString() as CSSColor),\n borderColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n borderColorDisabled: props.theme.colors.transparent,\n shadowColor: props.theme.colors['bg-oncolor-hover'],\n ...props.palette,\n })}\n `,\n },\n}\n\nconst defaultStyles = css<StyledButtonProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n ${hover(`\n color: ${props.fontColor};\n background-color: ${tinycolor(props.theme.colors[props.color as keyof typeof props.theme.colors])\n .saturate(-5)\n .lighten(-8)\n .toString()};\n `)}\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color as keyof typeof props.theme.colors]};\n }\n ${hover(`\n border: 1px solid ${props.theme.colors[props.color as keyof typeof props.theme.colors]};\n `)}\n `\n : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n\n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return color(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return color(props.fontColor, cssProperty)\n }}\n\n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n\n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n`\n\nexport const Root = styled.button\n .withConfig<StyledButtonProps>({\n shouldForwardProp: shouldForwardButtonProp,\n })\n .attrs<StyledButtonProps>(\n (props): Required<Pick<StyledButtonProps, 'dynamicSizeDeclaration'>> => ({\n dynamicSizeDeclaration: (size, sizeUnits) => {\n return {\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n height: '2.8em',\n width: props.round ? '2.8em' : undefined,\n paddingRight: props.round ? undefined : '1.6em',\n paddingLeft: props.round ? undefined : '1.6em',\n }\n },\n })\n )`\n ${(props) => {\n let display = props.inline ? 'inline-flex' : 'flex'\n if (props.display) display = props.display\n\n let borderRadius = '0px'\n if (props.rounded) borderRadius = props.preset === 'brand' ? '48px' : '5px'\n if (props.round) borderRadius = '50%'\n\n let cursor = 'pointer'\n if (props.loading) cursor = 'wait'\n if (props.success) cursor = 'pointer'\n if (props.disabled) cursor = 'not-allowed'\n\n return `\n display: ${display};\n border-radius: ${borderRadius};\n cursor: ${cursor};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n font: inherit;\n ${\n props.preset === 'brand'\n ? `\n border: 1px solid transparent;\n transition-property: background-color; \n transition-duration: 250ms;\n &::before {\n transition-property: opacity; \n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n &::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: inherit;\n opacity: 0;\n }\n &:active:not(:disabled)::before {\n opacity: 1;\n }`\n : `\n border: none;\n overflow: hidden;\n transition-property: background-color, color;\n transition-duration: 200ms;`\n }\n `\n }}\n\n ${(props) => {\n if (props.preset === 'default') return defaultStyles\n\n let schema = COLOR_SCHEMA.default\n\n if (props.black) schema = COLOR_SCHEMA.black\n if (props.danger) schema = COLOR_SCHEMA.danger\n if (props.contrast || props.onColored) schema = COLOR_SCHEMA.contrast\n\n if (props.clear) return schema.clear\n if (props.base) return schema.base\n if (props.outline) return schema.outline\n\n return schema.filled\n }}\n\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n\n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const Content = styled.span`\n display: flex;\n align-items: center;\n justify-content: center;\n &[aria-hidden='true'],\n &[aria-hidden='true'] * {\n visibility: hidden !important;\n }\n & > *:not(:last-child) {\n margin-right: var(--gap, 0.25em);\n }\n`\n\nexport const ContentWithStatus = styled(Content)`\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`\n\nexport const IconAnimation = styled.span`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n transform-origin: center;\n animation: ${spinAnimation} 1600ms infinite linear;\n @media (prefers-reduced-motion: reduce) {\n animation-name: none;\n }\n`\n"],"names":["shouldForwardButtonProp","createShouldForwardProp","propKey","includes","responsiveFluidPropKeyRegExp","test","responsiveWidthPropKeyRegExp","responsivePaddingPropKeyRegExp","responsiveFontSizePropKeyRegExp","responsiveHeightPropKeyRegExp","WIDTHS","xl","l","m","s","xs","loadingAnimation","keyframes","spinAnimation","defaultLoadingStyles","css","getWidth","width","fluidStyles","template","palette","color","backgroundColor","borderColor","shadowColor","hover","colorHover","backgroundColorHover","borderColorHover","colorActive","backgroundColorActive","borderColorActive","colorDisabled","backgroundColorDisabled","borderColorDisabled","COLOR_SCHEMA","contrast","clear","props","theme","colors","transparent","base","success","tinycolor","darken","toString","default","outline","loading","filled","danger","black","lighten","defaultStyles","disabled","fontColor","saturate","inverted","basic","cssProperty","mercury","silver","Root","styled","button","withConfig","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","fontSize","height","round","undefined","paddingRight","paddingLeft","displayName","componentId","display","inline","borderRadius","rounded","preset","cursor","schema","onColored","focus","responsiveSize","responsiveMargin","padding","property","paddingTop","paddingBottom","fluid","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","heightXS","heightS","heightM","heightL","heightXL","widthXS","widthS","widthM","widthL","widthXL","customSizeHandler","fluidXS","fluidS","fluidM","fluidL","fluidXL","Content","span","ContentWithStatus","IconAnimation"],"mappings":"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"}
|