@foxford/ui 2.12.1 → 2.13.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/constants.js +1 -1
- package/components/Button/constants.js.map +1 -1
- package/components/Button/style.js +1 -1
- package/components/Button/style.js.map +1 -1
- package/dts/index.d.ts +33 -43
- package/index.cjs.js +1 -1
- package/index.cjs.js.map +1 -1
- package/index.js +1 -1
- package/mixins/color.js.map +1 -1
- package/mixins/responsive-property.js +1 -1
- package/mixins/responsive-property.js.map +1 -1
- package/mixins/screen.js.map +1 -1
- package/mixins/shared.js +1 -1
- package/mixins/shared.js.map +1 -1
- package/mixins/sizing.js +2 -0
- package/mixins/sizing.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as r}from'react';import{Link as
|
|
1
|
+
import o from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as r}from'react';import{Link as n}from'react-router-dom';import{mergeDeepLeft as a}from'ramda';import{useClassname as s}from'../../hooks/useClassname.js';import{useFallbackTheme as t}from'../../hooks/use-theme.js';import{useConfigPriority as i}from'../../hooks/use-config-priority.js';import{useComputedRel as l,useComputedLinkProps as d}from'./hooks.js';import{PROPS_BY_SIZE as c,SIZES_BRAND as u,SIZES as m,SIZES_ROUND_BRAND as p,SIZES_ROUND as f}from'./constants.js';import{Root as h,IconSlot as v,Content as C,SpinnerIcon as y,CheckIcon as b}from'./style.js';import{jsxs as g,jsx as k}from'react/jsx-runtime';var N=["display","size","sizes","fontColor","color","disabled","rounded","width","as","type","className","children","content","onClick","onClickCapture","onMouseEnter","onMouseLeave"];var S='Button';var j=r(((r,S)=>{var j;var R=t();var B=i(null===(j=R.components)||void 0===j?void 0:j.Button,r),{display:E="inline-flex",size:_="m",sizes:x,fontColor:I="white",color:M="accent",disabled:z=!1,rounded:L=!0,width:P="auto",as:D="button",type:W,className:w,children:A,content:O,onClick:Z,onClickCapture:U,onMouseEnter:T,onMouseLeave:F}=B,H=e(B,N);var Y='brand'===R.preset;if('string'==typeof H.preset&&(Y='brand'===H.preset),!Y&&'string'==typeof _&&!H.round){var q;var G=null!==(q=c[_])&&void 0!==q?q:{};H=o(o({},G),H)}var J=Y?u:m;H.round&&(J=Y?p:f),x&&(J=a(x,J));var K=s("Button",w);var Q=s("Button");var V=l(R,H);var X=d(D,z,H);H.href&&(D='a'),H.to&&(D=n),H.primary&&(M='primary'),H.secondary&&(M='atlantis');var $=Y?800:600;H.fontWeight&&($=H.fontWeight);var oo='number'==typeof $&&$>=800||'bold'===$;var eo='0px';L&&(eo=Y?'48px':'5px'),H.round&&(eo='50%');var[ro,no]=Array.isArray(H.icon)?H.icon:[H.icon];return Y&&H.loading&&!H.success&&!z&&(ro=k(y,{strokeWidth:oo?2.5:1.5}),no=null),H.success&&(ro=k(b,{strokeWidth:oo?3:1.5}),no=null),g(h,o(o(o({},H),X),{},{className:K,as:D,color:M,fontColor:I,disabled:z,rel:V,display:E,rounded:L,size:_,sizes:J,dynamicSizeDeclaration:(o,e,r)=>({[e]:"".concat(o).concat(r),padding:H.round?'1em':'1em 1.6em'}),fontWeight:$,borderRadius:eo,fontBold:oo,brandPresetUsed:Y,ref:null!=S?S:H.innerRef,type:'button'===D?W:void 0,lineHeight:Y?1.2:1,width:H.round?void 0:P,onClick:o=>{z||H.loading||null==Z||Z(o)},onClickCapture:o=>{z||H.loading||null==U||U(o)},onMouseEnter:o=>{z||H.loading||null==T||T(o)},onMouseLeave:o=>{z||H.loading||null==F||F(o)},children:[ro&&k(v,{className:"icon",marginRight:!H.round,children:ro}),(O||A)&&k(C,{className:"".concat(Q,"__content"),children:O||A}),no&&!H.round&&k(v,{className:"icon",marginLeft:!0,children:no})]}))}));j.displayName="Button";export{j as Button,S as COMPONENT_NAME};
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport {
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/interfaces'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_BRAND, SIZES_ROUND, SIZES_ROUND_BRAND, PROPS_BY_SIZE } from './constants'\nimport type { ButtonProps, StyledButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n sizes,\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n if (!brandPresetUsed && typeof size === 'string' && !configProps.round) {\n const propsBySize = PROPS_BY_SIZE[size] ?? {}\n configProps = { ...propsBySize, ...configProps }\n }\n\n let componentSizes = brandPresetUsed ? SIZES_BRAND : SIZES\n if (configProps.round) componentSizes = brandPresetUsed ? SIZES_ROUND_BRAND : SIZES_ROUND\n if (sizes) componentSizes = mergeDeepLeft(sizes, componentSizes) as Sizes\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleDynamicSizeDeclaration: StyledButtonProps['dynamicSizeDeclaration'] = (size, cssProperty, cssUnit) => {\n return {\n [cssProperty]: `${size}${cssUnit}`,\n padding: configProps.round ? '1em' : '1em 1.6em',\n }\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n sizes={componentSizes}\n dynamicSizeDeclaration={handleDynamicSizeDeclaration}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n fontBold={fontBold}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n"],"names":["COMPONENT_NAME","Button","forwardRef","props","ref","_theme$components","theme","useFallbackTheme","useConfigPriority","components","display","size","sizes","fontColor","color","disabled","rounded","width","as","_as","type","_type","className","_className","children","content","onClick","onClickCapture","onMouseEnter","onMouseLeave","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","brandPresetUsed","preset","round","_PROPS_BY_SIZE$size","propsBySize","PROPS_BY_SIZE","componentSizes","SIZES_BRAND","SIZES","SIZES_ROUND_BRAND","SIZES_ROUND","mergeDeepLeft","useClassname","classNameContent","rel","useComputedRel","linkProps","useComputedLinkProps","href","to","Link","primary","secondary","fontWeight","fontBold","borderRadius","leftIcon","rightIcon","Array","isArray","icon","loading","success","_jsx","Styled.SpinnerIcon","strokeWidth","Styled.CheckIcon","_jsxs","Styled.Root","dynamicSizeDeclaration","cssProperty","cssUnit","concat","padding","innerRef","undefined","lineHeight","evt","Styled.IconSlot","marginRight","Styled.Content","marginLeft","displayName"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var i=['id','to','target','ref','rel','href','type','disabled','className','style','form','onClick','onClickCapture','onMouseLeave','onMouseEnter','children'];var d=
|
|
1
|
+
var i=['id','to','target','ref','rel','href','type','disabled','className','style','form','onClick','onClickCapture','onMouseLeave','onMouseEnter','children'];var d={xxxl:{fontSize:24,height:78,paddingLeft:44,paddingRight:44},xxl:{fontSize:22,height:72,paddingLeft:40,paddingRight:40},xl:{fontSize:20,height:68,paddingLeft:40,paddingRight:40},l:{fontSize:18,height:60,paddingLeft:36,paddingRight:36},m:{fontSize:16,height:52,paddingLeft:32,paddingRight:32},s:{fontSize:14,height:40,paddingLeft:28,paddingRight:28},xs:{fontSize:14,height:40,paddingLeft:28,paddingRight:28},xxs:{fontSize:12,height:32,paddingLeft:18,paddingRight:18},xxxs:{fontSize:10,height:28,paddingLeft:12,paddingRight:12}};var t={xxxl:{fontSize:22,height:64,paddingLeft:36,paddingRight:36},xxl:{fontSize:20,height:60,paddingLeft:34,paddingRight:34},xl:{fontSize:18,height:56,paddingLeft:32,paddingRight:32},l:{fontSize:16,height:48,paddingLeft:26,paddingRight:26},m:{fontSize:16,height:44,paddingLeft:28,paddingRight:28},s:{fontSize:14,height:40,paddingLeft:24,paddingRight:24},xs:{fontSize:14,height:32,paddingLeft:16,paddingRight:16},xxs:{fontSize:12,height:28,paddingLeft:14,paddingRight:14},xxxs:{fontSize:10,height:24,paddingLeft:12,paddingRight:12}};var e={xxxl:{fontSize:32,lineHeight:1,padding:'0.28em',width:72,height:72},xxl:{fontSize:30,lineHeight:1,padding:'0.28em',width:68,height:68},xl:{fontSize:26,lineHeight:1,padding:'0.28em',width:60,height:60},l:{fontSize:23,lineHeight:1,padding:'0.28em',width:52,height:52},m:{fontSize:21,lineHeight:1,padding:'0.28em',width:48,height:48},s:{fontSize:18,lineHeight:1,padding:'0.28em',width:40,height:40},xs:{fontSize:14,lineHeight:1,padding:'0.28em',width:32,height:32},xxs:{fontSize:12,lineHeight:1,padding:'0.28em',width:24,height:24},xxxs:{fontSize:8,lineHeight:1,padding:'0.28em',width:18,height:18}};var g={xxxl:{fontSize:22,padding:'1em'},xxl:{fontSize:20,padding:'1em'},xl:{fontSize:18,padding:'1em'},l:{fontSize:16,padding:'1em'},m:{fontSize:16,padding:'1em'},s:{fontSize:14,padding:'1em'},xs:{fontSize:14,padding:'1em'},xxs:{fontSize:12,padding:'1em'},xxxs:{fontSize:10,padding:'1em'}};var n={xl:{paddingLeftM:36,paddingRightM:36,paddingLeftS:32,paddingRightS:32},l:{fontSizeM:'m',heightM:56,heightS:52,paddingLeftM:28,paddingRightM:28,paddingLeftS:24,paddingRightS:24},m:{paddingLeftM:24,paddingRightM:24,paddingLeftS:20,paddingRightS:20},s:{paddingLeftM:20,paddingRightM:20,paddingLeftS:16,paddingRightS:16},xs:{paddingLeftM:20,paddingRightM:20,paddingLeftS:16,paddingRightS:16}};export{i as FORWARD_PROPS,n as PROPS_BY_SIZE,d as SIZES,t as SIZES_BRAND,e as SIZES_ROUND,g as SIZES_ROUND_BRAND};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/components/Button/constants.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/Button/constants.ts"],"sourcesContent":["import type { Sizes, Size } from 'shared/interfaces'\nimport type { ButtonProps } from './types'\n\nexport const FORWARD_PROPS = [\n 'id',\n 'to',\n 'target',\n 'ref',\n 'rel',\n 'href',\n 'type',\n 'disabled',\n 'className',\n 'style',\n 'form',\n 'onClick',\n 'onClickCapture',\n 'onMouseLeave',\n 'onMouseEnter',\n 'children',\n]\n\nexport const SIZES: Sizes = {\n xxxl: {\n fontSize: 24,\n height: 78,\n paddingLeft: 44,\n paddingRight: 44,\n },\n xxl: {\n fontSize: 22,\n height: 72,\n paddingLeft: 40,\n paddingRight: 40,\n },\n xl: {\n fontSize: 20,\n height: 68,\n paddingLeft: 40,\n paddingRight: 40,\n },\n l: {\n fontSize: 18,\n height: 60,\n paddingLeft: 36,\n paddingRight: 36,\n },\n m: {\n fontSize: 16,\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n },\n xs: {\n fontSize: 14,\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n },\n xxs: {\n fontSize: 12,\n height: 32,\n paddingLeft: 18,\n paddingRight: 18,\n },\n xxxs: {\n fontSize: 10,\n height: 28,\n paddingLeft: 12,\n paddingRight: 12,\n },\n}\n\nexport const SIZES_BRAND: Sizes = {\n xxxl: {\n fontSize: 22,\n height: 64,\n paddingLeft: 36,\n paddingRight: 36,\n },\n xxl: {\n fontSize: 20,\n height: 60,\n paddingLeft: 34,\n paddingRight: 34,\n },\n xl: {\n fontSize: 18,\n height: 56,\n paddingLeft: 32,\n paddingRight: 32,\n },\n l: {\n fontSize: 16,\n height: 48,\n paddingLeft: 26,\n paddingRight: 26,\n },\n m: {\n fontSize: 16,\n height: 44,\n paddingLeft: 28,\n paddingRight: 28,\n },\n s: {\n fontSize: 14,\n height: 40,\n paddingLeft: 24,\n paddingRight: 24,\n },\n xs: {\n fontSize: 14,\n height: 32,\n paddingLeft: 16,\n paddingRight: 16,\n },\n xxs: {\n fontSize: 12,\n height: 28,\n paddingLeft: 14,\n paddingRight: 14,\n },\n xxxs: {\n fontSize: 10,\n height: 24,\n paddingLeft: 12,\n paddingRight: 12,\n },\n}\n\nexport const SIZES_ROUND: Sizes = {\n xxxl: {\n fontSize: 32,\n lineHeight: 1,\n padding: '0.28em',\n width: 72,\n height: 72,\n },\n xxl: {\n fontSize: 30,\n lineHeight: 1,\n padding: '0.28em',\n width: 68,\n height: 68,\n },\n xl: {\n fontSize: 26,\n lineHeight: 1,\n padding: '0.28em',\n width: 60,\n height: 60,\n },\n l: {\n fontSize: 23,\n lineHeight: 1,\n padding: '0.28em',\n width: 52,\n height: 52,\n },\n m: {\n fontSize: 21,\n lineHeight: 1,\n padding: '0.28em',\n width: 48,\n height: 48,\n },\n s: {\n fontSize: 18,\n lineHeight: 1,\n padding: '0.28em',\n width: 40,\n height: 40,\n },\n xs: {\n fontSize: 14,\n lineHeight: 1,\n padding: '0.28em',\n width: 32,\n height: 32,\n },\n xxs: {\n fontSize: 12,\n lineHeight: 1,\n padding: '0.28em',\n width: 24,\n height: 24,\n },\n xxxs: {\n fontSize: 8,\n lineHeight: 1,\n padding: '0.28em',\n width: 18,\n height: 18,\n },\n}\n\nexport const SIZES_ROUND_BRAND: Sizes = {\n xxxl: {\n fontSize: 22,\n padding: '1em',\n },\n xxl: {\n fontSize: 20,\n padding: '1em',\n },\n xl: {\n fontSize: 18,\n padding: '1em',\n },\n l: {\n fontSize: 16,\n padding: '1em',\n },\n m: {\n fontSize: 16,\n padding: '1em',\n },\n s: {\n fontSize: 14,\n padding: '1em',\n },\n xs: {\n fontSize: 14,\n padding: '1em',\n },\n xxs: {\n fontSize: 12,\n padding: '1em',\n },\n xxxs: {\n fontSize: 10,\n padding: '1em',\n },\n}\n\n// delete in next major version bump\nexport const PROPS_BY_SIZE: Partial<Record<Size, ButtonProps>> = {\n xl: {\n paddingLeftM: 36,\n paddingRightM: 36,\n paddingLeftS: 32,\n paddingRightS: 32,\n },\n l: {\n fontSizeM: 'm',\n heightM: 56,\n heightS: 52,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n"],"names":["FORWARD_PROPS","SIZES","xxxl","fontSize","height","paddingLeft","paddingRight","xxl","xl","l","m","s","xs","xxs","xxxs","SIZES_BRAND","SIZES_ROUND","lineHeight","padding","width","SIZES_ROUND_BRAND","PROPS_BY_SIZE","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","fontSizeM","heightM","heightS"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o,{css as n,keyframes as r}from'styled-components';import e from'tinycolor2';import{property as t,responsiveNamedProperty as a,responsiveProperty as c}from'../../mixins/responsive-property.js';import{color as i}from'../../mixins/color.js';import{injectDefaultTheme as s}from'../../shared/utils/inject-theme.js';import{FORWARD_PROPS as d,STATIC_SIZES as l}from'./constants.js';import g from'./images/check.module.svg.js';import p from'./images/spinner.module.svg.js';var m={xl:320,l:280,m:245,s:180,xs:140};var h={xl:60,l:52,m:48,s:40,xs:32};var b={xl:18,l:16,m:16,s:14,xs:14};var u=n(["",""],(o=>"\n display: ".concat(o.display,";\n font-weight: ").concat(o.fontWeight,";\n border-radius: ").concat(o.borderRadius,";\n line-height: ").concat(o.lineHeight,";\n padding: ").concat(o.basePadding,";\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\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 transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ").concat(o.noSpacing?'auto':'1em',";\n }\n ")));var f=r(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);var v=r(["100%{transform:rotate(360deg);}"]);var y=n(["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;"],f);var L=o=>'auto'===o?'auto':'number'==typeof o||'boolean'==typeof o?o:o&&m[o]?m[o]:'auto';var S=function(o,r){var e=arguments.length>1&&void 0!==r?r:'px';return n(["width:","",";height:","",";font-size:","",";line-height:","",";padding:","",";"],o,e,o,e,.44*o,e,.44*o,e,.28*o,e)};var x=()=>n(["min-width:initial;width:100%;"]);var X="\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n";var w={filled:{default:n(["",""],(o=>{var n=o.theme.colors['bg-brand-primary-basic'];o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-oncolor-primary'];o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(e=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(e,";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-primary'];o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-constant'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},outline:{default:n(["",""],(o=>{var n='transparent';!o.loading||o.success||o.black||o.danger||(n=o.theme.colors['bg-brand-primary-basic']),o.loading&&!o.success&&o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.loading&&!o.success&&o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),(o.success||o.loading)&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['border-brand-primary'];o.black&&(e=o.theme.colors['border-onmain-contrast']),o.danger&&(e=o.theme.colors['alert-bg-error-500']),o.loading&&!o.success&&(e='transparent'),o.success&&(e=o.theme.colors['alert-bg-success-500']),o.disabled&&(e=o.theme.colors['bg-disabled-large']);var t=o.theme.colors['bg-brand-primary-basic'];o.black&&(t=o.theme.colors['bg-onmain-contrast']),o.danger&&(t=o.theme.colors['alert-bg-error-500']);var a=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(a=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 ").concat(o.fontBold?2:1,"px ").concat(e,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(t,";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n background-color: ").concat(a,";\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-primary'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")})),onColored:n(["",""],(o=>{var n='transparent';(o.success||o.loading)&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];o.loading&&!o.success&&(r=o.theme.colors['content-oncolor-constant']),o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']);var e=o.theme.colors['border-oncolor-default'];return o.disabled&&(e='transparent'),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 ").concat(o.fontBold?2:1,"px ").concat(e,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(o.theme.colors['bg-oncolor-primary'],";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-constant'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")}))},base:{default:n(["",""],(o=>{var n=o.theme.colors['bg-onmain-tertiary'];o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];return o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),o.success&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-secondary'];o.success&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},clear:{default:n(["",""],(o=>{var n=o.theme.colors['content-brand-primary'];return o.black&&(n=o.theme.colors['content-oncolor-inverse']),o.danger&&(n=o.theme.colors['alert-error']),o.success&&(n=o.theme.colors['alert-success']),o.disabled&&(n=o.theme.colors['content-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['content-oncolor-primary'];return o.disabled&&(n=o.theme.colors['content-oncolor-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(X,"\n background-color: ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(X,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))}};var k={default:n([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':"\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ".concat(o.fontColor,";\n background-color: ").concat(e(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString(),";\n }\n ").concat(o.inverted||o.basic||o.outline?"\n &:not(:hover) {\n border: 1px solid ".concat(o.theme.colors[o.color],";\n }\n &:hover {\n border: 1px solid ").concat(o.theme.colors[o.color],";\n }\n "):'',"\n ")),(o=>o.loading?y:''),(o=>{var n='background-color';return(o.inverted||o.basic||o.outline)&&(n='color'),i(o.color,n)}),(o=>{var n='color';return(o.inverted||o.basic||o.outline)&&(n='background-color'),i(o.fontColor,n)}),(o=>o.disabled?"\n cursor: not-allowed;\n background-color: ".concat(o.theme.colors.mercury,";\n color: ").concat(o.theme.colors.silver,";\n "):''),(o=>o.basic||o.outline?'background-color: transparent;':''))};var z=o.button.withConfig({shouldForwardProp:o=>d.includes(o)||o.includes('data')}).attrs(s).withConfig({componentId:"fox-ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],u,(o=>o.brandPresetUsed?!o.clear||o.base||o.outline||o.onColored?o.clear&&!o.base&&!o.outline&&o.onColored?w.clear.onColored:!o.base||o.clear||o.outline||o.onColored?o.base&&!o.clear&&!o.outline&&o.onColored?w.base.onColored:!o.outline||o.clear||o.base||o.onColored?o.outline&&!o.clear&&!o.base&&o.onColored?w.outline.onColored:o.onColored?w.filled.onColored:w.filled.default:w.outline.default:w.base.default:w.clear.default:k.default),(o=>l.includes(o.size)?'':c('size','font-size')),(o=>o.round?l.includes(o.size)?o.brandPresetUsed?"font-size: ".concat(b[o.size],"px;\n padding: 1em;"):t(h[o.size],S):'padding: 1em;':''),(o=>o.padding?t(o.padding,'padding'):null),(o=>o.paddingTop?t(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?t(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?t(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?t(o.paddingLeft,'padding-left'):null),(o=>o.margin?t(o.margin,'margin'):null),(o=>o.marginTop?t(o.marginTop,'margin-top'):null),(o=>o.marginRight?t(o.marginRight,'margin-right'):null),(o=>o.marginBottom?t(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?t(o.marginLeft,'margin-left'):null),(o=>o.fontSize?t(o.fontSize,'font-size'):null),(o=>o.height?t(o.height,'height'):null),(o=>{var n=o.fluid&&'auto'!==o.width?'max-width':'width';return o.width?t(L(o.width),n):null}),(o=>{var{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c}=o;return a({sizes:{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c},cssProperty:'padding'})}),(o=>{var{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c}=o;return a({sizes:{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c},cssProperty:'padding-top'})}),(o=>{var{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c}=o;return a({sizes:{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c},cssProperty:'padding-right'})}),(o=>{var{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c}=o;return a({sizes:{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c},cssProperty:'padding-bottom'})}),(o=>{var{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c}=o;return a({sizes:{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c},cssProperty:'padding-left'})}),(o=>{var{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c}=o;return a({sizes:{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c},cssProperty:'margin'})}),(o=>{var{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c}=o;return a({sizes:{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c},cssProperty:'margin-top'})}),(o=>{var{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c}=o;return a({sizes:{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c},cssProperty:'margin-right'})}),(o=>{var{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c}=o;return a({sizes:{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c},cssProperty:'margin-bottom'})}),(o=>{var{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c}=o;return a({sizes:{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c},cssProperty:'margin-left'})}),(o=>{var{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c}=o;return a({sizes:{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c},cssProperty:'font-size'})}),(o=>{var{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c}=o;return a({sizes:{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c},cssProperty:'height'})}),(o=>{var{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c,fluid:i,width:s}=o;return a({sizes:{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c},cssProperty:i&&'auto'!==s?'max-width':'width',customSizeHandler:L})}),(o=>o.fluid?t(o.fluid,x):null),(o=>{var{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c}=o;return a({sizes:{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c},cssProperty:x})}));var R=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-1"})(["",""],(o=>"\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ".concat(o.marginLeft?'0.4em':0,";\n margin-right: ").concat(o.marginRight?'0.4em':0,";\n ")));var M=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-2"})(["position:relative;z-index:1;"]);var T=o(p).withConfig({componentId:"fox-ui__sc-16o31r2-3"})(["width:100%;animation:"," 2000ms linear infinite;",""],v,(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));var B=o(g).withConfig({componentId:"fox-ui__sc-16o31r2-4"})(["width:100%;",""],(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));export{B as CheckIcon,M as Content,R as IconSlot,z as Root,T as SpinnerIcon};
|
|
1
|
+
import o,{css as n,keyframes as r}from'styled-components';import e from'tinycolor2';import{property as t,responsiveNamedProperty as a}from'../../mixins/responsive-property.js';import{color as c}from'../../mixins/color.js';import{responsiveSizing as i}from'../../mixins/sizing.js';import{injectDefaultTheme as s}from'../../shared/utils/inject-theme.js';import{FORWARD_PROPS as d}from'./constants.js';import l from'./images/check.module.svg.js';import g from'./images/spinner.module.svg.js';var m={xl:320,l:280,m:245,s:180,xs:140};var p=n(["",""],(o=>"\n display: ".concat(o.display,";\n font-weight: ").concat(o.fontWeight,";\n border-radius: ").concat(o.borderRadius,";\n line-height: ").concat(o.lineHeight,";\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\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 transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ").concat(o.noSpacing?'auto':'1em',";\n }\n ")));var h=r(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);var b=r(["100%{transform:rotate(360deg);}"]);var u=n(["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;"],h);var f=o=>'auto'===o?'auto':'number'==typeof o||'boolean'==typeof o?o:o&&m[o]?m[o]:'auto';var v=()=>n(["min-width:initial;width:100%;"]);var y="\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n";var L={filled:{default:n(["",""],(o=>{var n=o.theme.colors['bg-brand-primary-basic'];o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-oncolor-primary'];o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(e=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(e,";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-primary'];o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-constant'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},outline:{default:n(["",""],(o=>{var n='transparent';!o.loading||o.success||o.black||o.danger||(n=o.theme.colors['bg-brand-primary-basic']),o.loading&&!o.success&&o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.loading&&!o.success&&o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),(o.success||o.loading)&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['border-brand-primary'];o.black&&(e=o.theme.colors['border-onmain-contrast']),o.danger&&(e=o.theme.colors['alert-bg-error-500']),o.loading&&!o.success&&(e='transparent'),o.success&&(e=o.theme.colors['alert-bg-success-500']),o.disabled&&(e=o.theme.colors['bg-disabled-large']);var t=o.theme.colors['bg-brand-primary-basic'];o.black&&(t=o.theme.colors['bg-onmain-contrast']),o.danger&&(t=o.theme.colors['alert-bg-error-500']);var a=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(a=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 ").concat(o.fontBold?2:1,"px ").concat(e,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(t,";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n background-color: ").concat(a,";\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-primary'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")})),onColored:n(["",""],(o=>{var n='transparent';(o.success||o.loading)&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];o.loading&&!o.success&&(r=o.theme.colors['content-oncolor-constant']),o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']);var e=o.theme.colors['border-oncolor-default'];return o.disabled&&(e='transparent'),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 ").concat(o.fontBold?2:1,"px ").concat(e,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-primary'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-constant'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")}))},base:{default:n(["",""],(o=>{var n=o.theme.colors['bg-onmain-tertiary'];o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];return o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),o.success&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-secondary'];o.success&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},clear:{default:n(["",""],(o=>{var n=o.theme.colors['content-brand-primary'];return o.black&&(n=o.theme.colors['content-oncolor-inverse']),o.danger&&(n=o.theme.colors['alert-error']),o.success&&(n=o.theme.colors['alert-success']),o.disabled&&(n=o.theme.colors['content-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['content-oncolor-primary'];return o.disabled&&(n=o.theme.colors['content-oncolor-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))}};var S={default:n([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':"\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ".concat(o.fontColor,";\n background-color: ").concat(e(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString(),";\n }\n ").concat(o.inverted||o.basic||o.outline?"\n &:not(:hover) {\n border: 1px solid ".concat(o.theme.colors[o.color],";\n }\n &:hover {\n border: 1px solid ").concat(o.theme.colors[o.color],";\n }\n "):'',"\n ")),(o=>o.loading?u:''),(o=>{var n='background-color';return(o.inverted||o.basic||o.outline)&&(n='color'),c(o.color,n)}),(o=>{var n='color';return(o.inverted||o.basic||o.outline)&&(n='background-color'),c(o.fontColor,n)}),(o=>o.disabled?"\n cursor: not-allowed;\n background-color: ".concat(o.theme.colors.mercury,";\n color: ").concat(o.theme.colors.silver,";\n "):''),(o=>o.basic||o.outline?'background-color: transparent;':''))};var x=o.button.withConfig({shouldForwardProp:o=>d.includes(o)||o.includes('data')}).attrs(s).withConfig({componentId:"fox-ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],p,(o=>o.brandPresetUsed?!o.clear||o.base||o.outline||o.onColored?o.clear&&!o.base&&!o.outline&&o.onColored?L.clear.onColored:!o.base||o.clear||o.outline||o.onColored?o.base&&!o.clear&&!o.outline&&o.onColored?L.base.onColored:!o.outline||o.clear||o.base||o.onColored?o.outline&&!o.clear&&!o.base&&o.onColored?L.outline.onColored:o.onColored?L.filled.onColored:L.filled.default:L.outline.default:L.base.default:L.clear.default:S.default),i,(o=>o.padding?t(o.padding,'padding'):null),(o=>o.paddingTop?t(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?t(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?t(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?t(o.paddingLeft,'padding-left'):null),(o=>o.margin?t(o.margin,'margin'):null),(o=>o.marginTop?t(o.marginTop,'margin-top'):null),(o=>o.marginRight?t(o.marginRight,'margin-right'):null),(o=>o.marginBottom?t(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?t(o.marginLeft,'margin-left'):null),(o=>o.fontSize?t(o.fontSize,'font-size'):null),(o=>o.height?t(o.height,'height'):null),(o=>{var n=o.fluid&&'auto'!==o.width?'max-width':'width';return o.width?t(f(o.width),n):null}),(o=>{var{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c}=o;return a({sizes:{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c},cssProperty:'padding'})}),(o=>{var{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c}=o;return a({sizes:{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c},cssProperty:'padding-top'})}),(o=>{var{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c}=o;return a({sizes:{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c},cssProperty:'padding-right'})}),(o=>{var{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c}=o;return a({sizes:{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c},cssProperty:'padding-bottom'})}),(o=>{var{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c}=o;return a({sizes:{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c},cssProperty:'padding-left'})}),(o=>{var{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c}=o;return a({sizes:{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c},cssProperty:'margin'})}),(o=>{var{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c}=o;return a({sizes:{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c},cssProperty:'margin-top'})}),(o=>{var{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c}=o;return a({sizes:{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c},cssProperty:'margin-right'})}),(o=>{var{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c}=o;return a({sizes:{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c},cssProperty:'margin-bottom'})}),(o=>{var{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c}=o;return a({sizes:{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c},cssProperty:'margin-left'})}),(o=>{var{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c}=o;return a({sizes:{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c},cssProperty:'font-size'})}),(o=>{var{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c}=o;return a({sizes:{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c},cssProperty:'height'})}),(o=>{var{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c,fluid:i,width:s}=o;return a({sizes:{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c},cssProperty:i&&'auto'!==s?'max-width':'width',customSizeHandler:f})}),(o=>o.fluid?t(o.fluid,v):null),(o=>{var{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c}=o;return a({sizes:{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c},cssProperty:v})}));var X=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-1"})(["",""],(o=>"\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ".concat(o.marginLeft?'0.4em':0,";\n margin-right: ").concat(o.marginRight?'0.4em':0,";\n ")));var w=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-2"})(["position:relative;z-index:1;"]);var k=o(g).withConfig({componentId:"fox-ui__sc-16o31r2-3"})(["width:100%;animation:"," 2000ms linear infinite;",""],b,(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));var z=o(l).withConfig({componentId:"fox-ui__sc-16o31r2-4"})(["width:100%;",""],(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));export{z as CheckIcon,w as Content,X as IconSlot,x as Root,k as SpinnerIcon};
|
|
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 tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { CalcProperty, property, responsiveNamedProperty, responsiveProperty } from 'mixins/responsive-property'\nimport { color as colorFn, ColorValue } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { FORWARD_PROPS, STATIC_SIZES } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { ButtonStaticSize, StyledButtonProps, ButtonForwardProp } from './types'\n\nconst WIDTHS: Record<ButtonStaticSize, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst DEFAULT_ROUND_SIZES: Record<ButtonStaticSize, number> = {\n xl: 60,\n l: 52,\n m: 48,\n s: 40,\n xs: 32,\n}\n\nconst BRAND_ROUND_SIZES: Record<ButtonStaticSize, number> = {\n xl: 18,\n l: 16,\n m: 16,\n s: 14,\n xs: 14,\n}\n\nconst baseStyles = css<StyledButtonProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n padding: ${props.basePadding};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\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 transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = 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: ${loading} 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 getDefaultRoundSizes: CalcProperty = (size, sizing = 'px') => css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n font-size: ${0.44 * (size as number)}${sizing};\n line-height: ${0.44 * (size as number)}${sizing};\n padding: ${0.28 * (size as number)}${sizing};\n`\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: 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: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\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 colorFn(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 colorFn(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}\n\nconst extractStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nconst extractFontSize = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (STATIC_SIZES.includes(<ButtonStaticSize>props.size)) return ''\n return responsiveProperty('size', 'font-size')\n}\n\nconst extractRoundStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (!props.round) return ''\n\n if (STATIC_SIZES.includes(<ButtonStaticSize>props.size)) {\n return props.brandPresetUsed\n ? `font-size: ${BRAND_ROUND_SIZES[<ButtonStaticSize>props.size]}px;\n padding: 1em;`\n : property(DEFAULT_ROUND_SIZES[<ButtonStaticSize>props.size], getDefaultRoundSizes)\n }\n\n return 'padding: 1em;'\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(<ButtonForwardProp>prop) || prop.includes('data')\n },\n })\n .attrs(injectDefaultTheme)<StyledButtonProps>`\n\n ${baseStyles}\n ${extractStyles}\n ${extractFontSize}\n ${extractRoundStyles}\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.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-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 ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-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 IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n"],"names":["WIDTHS","xl","l","m","s","xs","DEFAULT_ROUND_SIZES","BRAND_ROUND_SIZES","baseStyles","css","props","display","fontWeight","concat","borderRadius","lineHeight","basePadding","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","width","getDefaultRoundSizes","size","r","sizing","fluidStyles","pseudoBaseStyles","PRESET","filled","default","background","theme","colors","black","danger","success","disabled","color","backgroundBefore","onColored","outline","boxShadow","backgroundAfter","fontBold","base","clear","PRESET_DEFAULT","fontColor","tiny","saturate","lighten","toString","inverted","basic","cssProperty","colorFn","mercury","silver","Root","styled","button","withConfig","shouldForwardProp","prop","FORWARD_PROPS","includes","attrs","injectDefaultTheme","componentId","brandPresetUsed","STATIC_SIZES","responsiveProperty","round","property","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","fontSize","height","fluid","_ref","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","_ref12","heightXS","heightS","heightM","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","customSizeHandler","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","Spinner","strokeWidth","CheckIcon","Check"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Button/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { CalcProperty, property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color as colorFn, ColorValue } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSizing } from 'mixins/sizing'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { FORWARD_PROPS } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { StyledButtonProps } from './types'\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst baseStyles = css<StyledButtonProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\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 transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = 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: ${loading} 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 pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 ${props.fontBold ? 2 : 1}px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: 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: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\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 colorFn(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 colorFn(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}\n\nconst dynamicStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n })\n .attrs<StyledButtonProps>(injectDefaultTheme)`\n ${baseStyles}\n ${dynamicStyles}\n ${responsiveSizing}\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.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-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 ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-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 IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n"],"names":["WIDTHS","xl","l","m","s","xs","baseStyles","css","props","concat","display","fontWeight","borderRadius","lineHeight","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","width","fluidStyles","pseudoBaseStyles","PRESET","filled","default","background","theme","colors","black","danger","success","disabled","color","backgroundBefore","onColored","outline","boxShadow","backgroundAfter","fontBold","base","clear","PRESET_DEFAULT","fontColor","tiny","saturate","lighten","toString","inverted","basic","cssProperty","colorFn","mercury","silver","Root","styled","button","withConfig","shouldForwardProp","prop","FORWARD_PROPS","includes","attrs","injectDefaultTheme","componentId","brandPresetUsed","responsiveSizing","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","fontSize","height","fluid","_ref","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","_ref12","heightXS","heightS","heightM","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","customSizeHandler","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","Spinner","strokeWidth","CheckIcon","Check"],"mappings":"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"}
|