@foxford/ui 2.5.1-beta-9bf8d2f-20230704 → 2.6.0-beta-3b38ea8-20230704

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.
@@ -0,0 +1,2 @@
1
+ import r from'@babel/runtime/helpers/objectSpread2';import{useMemo as e}from'react';import{useTheme as o}from'styled-components';import{Close as s,WarningTriangleFill as n,CheckCircleFill as c,NotifFill as t,CloseCirlceFill as i}from'@foxford/icon-pack';import{useClassname as a}from'../../hooks/useClassname.js';import{Anchor as l}from'../Anchor/Anchor.js';import{Button as m}from'../Button/Button.js';import{Icon as p}from'../Icon/Icon.js';import'../Icon/icons.js';import{Text as d}from'../Text/Text.js';import u from'./parts/CountdownCircle.js';import{Root as h}from'./style.js';import{jsxs as f,jsx as C}from'react/jsx-runtime';function y(k){var{primaryAction:g,primaryActionProps:N,secondaryAction:b,secondaryActionProps:w,children:x,className:j,clear:z=!1,content:A,customIcon:v,image:I,isCompact:T=!1,link:W,linkProps:P,noIcon:B=!1,onClickCancelTimer:F,closeToast:H,style:L,textProps:M,timer:R,title:S,titleProps:q,type:D}=k;var E=a(y.displayName,j);var G=o();var J=e((()=>{switch(D){case'error':return G.colors['alert-bg-error-500'];case'info':default:return G.colors['content-brand-primary'];case'success':return G.colors['alert-success'];case'warning':return G.colors['alert-warning']}}),[D]);var K=e((()=>Boolean(!!S||T&&(S||W||g||b))),[T,W,g,b,S]);return f(h,{className:E,clear:z,column:K,isCompact:T,noIcon:B,style:L,type:D,withAction:!!g||!!b,withCloseIcon:!!H,withImage:!!I,withLink:!!W,withTimer:!!R,withTitle:!!S,children:[(!B||v)&&f("div",{className:"iconWrapper",children:[!B&&!R&&!v&&!I&&(()=>{var r=T?16:24;switch(D){case'error':return C(i,{color:G.colors['alert-bg-error-500'],size:r});case'info':return C(t,{color:G.colors['content-brand-primary'],size:r});case'success':return C(c,{color:G.colors['alert-success'],size:r});case'warning':return C(n,{color:G.colors['alert-warning'],size:r});default:return null}})(),v&&C(p,{name:v,size:T?16:24}),I&&I,R&&C(u,{className:"timer",color:J,isCompact:T,timer:R})]}),f("div",{className:"content",children:[S&&C(d,r({className:"title",color:G.colors['content-onmain-primary'],content:S,size:T?14:16,lineHeight:"m"},q)),C(d,r(r({className:"text",color:G.colors['content-onmain-primary'],content:'string'==typeof A?A:void 0,lineHeight:"s",size:T?14:16},M),{},{children:x||A})),W&&C(l,r(r({className:"link",onClick:W.onClick,pseudo:!0,size:T?'s':'m'},P),{},{children:W.content})),(g||b)&&f("div",{className:"actions",children:[b&&C(m,r(r({black:!0,className:"secondaryAction",fontWeight:"normal",onClick:b.onClick,outline:!0,preset:"brand",size:"xs"},w),{},{children:b.content})),g&&C(m,r(r({black:!0,className:"primaryAction",fontWeight:"normal",onClick:g.onClick,preset:"brand",size:"xs"},N),{},{children:g.content}))]})]}),F&&C(m,{black:!0,className:"cancelTimer",fontWeight:"normal",onClick:F,clear:!0,preset:"brand",size:T?'xs':'m',children:"Отменить"}),!H||R&&T?null:C("div",{className:"closeIconWrapper",children:C(s,{color:G.colors['content-onmain-primary'],size:T?18:24,onClick:H})})]})}y.displayName='Alert';export{y as Alert};
2
+ //# sourceMappingURL=Alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTheme } from 'styled-components'\nimport { CheckCircleFill, Close, CloseCirlceFill, NotifFill, WarningTriangleFill } from '@foxford/icon-pack'\nimport { useClassname } from 'hooks/useClassname'\n\nimport { ColorValue } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\n\nimport { Anchor, AnchorProps } from '../Anchor'\nimport { Button, ButtonProps } from '../Button'\nimport { Icon, IconNames } from '../Icon'\nimport { Text, TextProps } from '../Text'\n\nimport CountdownCircle from './parts/CountdownCircle'\nimport * as Styled from './style'\n\nexport type AlertType = 'warning' | 'error' | 'info' | 'success'\n\nexport interface AlertProps extends BaseProps {\n /**\n * Children react node\n */\n children?: React.ReactNode\n clear?: boolean\n closeToast?(): void\n content?: string | React.ReactNode\n /** Icon name (for inner Icon component) */\n customIcon?: keyof typeof IconNames\n image?: React.ReactNode\n isCompact?: boolean\n link?: { content: string | React.ReactNode; onClick(): void }\n linkProps?: AnchorProps\n noIcon?: boolean\n onClickCancelTimer?(): void\n primaryAction?: { content: string | React.ReactNode; onClick(): void }\n primaryActionProps?: ButtonProps\n secondaryAction?: { content: string | React.ReactNode; onClick(): void }\n secondaryActionProps?: ButtonProps\n textProps?: TextProps\n timer?: number\n title?: string\n titleProps?: TextProps\n type: AlertType\n}\n\nAlert.displayName = 'Alert'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport function Alert({\n primaryAction,\n primaryActionProps,\n secondaryAction,\n secondaryActionProps,\n children,\n className,\n clear = false,\n content,\n customIcon,\n image,\n isCompact = false,\n link,\n linkProps,\n noIcon = false,\n onClickCancelTimer,\n closeToast,\n style,\n textProps,\n timer,\n title,\n titleProps,\n type,\n}: AlertProps) {\n const _className = useClassname(Alert.displayName, className)\n const theme = useTheme()\n\n const getDefaultIcon = () => {\n const size = isCompact ? 16 : 24\n\n switch (type) {\n case 'error':\n return <CloseCirlceFill color={theme.colors['alert-bg-error-500']} size={size} />\n case 'info':\n return <NotifFill color={theme.colors['content-brand-primary']} size={size} />\n case 'success':\n return <CheckCircleFill color={theme.colors['alert-success']} size={size} />\n case 'warning':\n return <WarningTriangleFill color={theme.colors['alert-warning']} size={size} />\n default:\n return null\n }\n }\n\n const countdownColor: ColorValue = useMemo(() => {\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-500']\n case 'info':\n return theme.colors['content-brand-primary']\n case 'success':\n return theme.colors['alert-success']\n case 'warning':\n return theme.colors['alert-warning']\n default:\n return theme.colors['content-brand-primary']\n }\n }, [type])\n\n const column: boolean = useMemo(() => {\n return Boolean(!!title || (isCompact && (title || link || primaryAction || secondaryAction)))\n }, [isCompact, link, primaryAction, secondaryAction, title])\n\n return (\n <Styled.Root\n className={_className}\n clear={clear}\n column={column}\n isCompact={isCompact}\n noIcon={noIcon}\n style={style}\n type={type}\n withAction={!!primaryAction || !!secondaryAction}\n withCloseIcon={!!closeToast}\n withImage={!!image}\n withLink={!!link}\n withTimer={!!timer}\n withTitle={!!title}\n >\n {(!noIcon || customIcon) && (\n <div className='iconWrapper'>\n {!noIcon && !timer && !customIcon && !image && getDefaultIcon()}\n {customIcon && <Icon name={customIcon} size={isCompact ? 16 : 24} />}\n {image && image}\n {timer && <CountdownCircle className='timer' color={countdownColor} isCompact={isCompact} timer={timer} />}\n </div>\n )}\n\n <div className='content'>\n {title && (\n <Text\n className='title'\n color={theme.colors['content-onmain-primary']}\n content={title}\n size={isCompact ? 14 : 16}\n lineHeight='m'\n {...titleProps}\n />\n )}\n\n <Text\n className='text'\n color={theme.colors['content-onmain-primary']}\n content={typeof content === 'string' ? content : undefined}\n lineHeight='s'\n size={isCompact ? 14 : 16}\n {...textProps}\n >\n {children || content}\n </Text>\n\n {link && (\n <Anchor className='link' onClick={link.onClick} pseudo size={isCompact ? 's' : 'm'} {...linkProps}>\n {link.content}\n </Anchor>\n )}\n\n {(primaryAction || secondaryAction) && (\n <div className='actions'>\n {secondaryAction && (\n <Button\n black\n className='secondaryAction'\n fontWeight='normal'\n onClick={secondaryAction.onClick}\n outline\n preset='brand'\n size='xs'\n {...secondaryActionProps}\n >\n {secondaryAction.content}\n </Button>\n )}\n\n {primaryAction && (\n <Button\n black\n className='primaryAction'\n fontWeight='normal'\n onClick={primaryAction.onClick}\n preset='brand'\n size='xs'\n {...primaryActionProps}\n >\n {primaryAction.content}\n </Button>\n )}\n </div>\n )}\n </div>\n\n {onClickCancelTimer && (\n <Button\n black\n className='cancelTimer'\n fontWeight='normal'\n onClick={onClickCancelTimer}\n clear\n preset='brand'\n size={isCompact ? 'xs' : 'm'}\n >\n Отменить\n </Button>\n )}\n\n {!closeToast || (timer && isCompact) ? null : (\n <div className='closeIconWrapper'>\n <Close color={theme.colors['content-onmain-primary']} size={isCompact ? 18 : 24} onClick={closeToast} />\n </div>\n )}\n </Styled.Root>\n )\n}\n"],"names":["Alert","_ref","primaryAction","primaryActionProps","secondaryAction","secondaryActionProps","children","className","clear","content","customIcon","image","isCompact","link","linkProps","noIcon","onClickCancelTimer","closeToast","style","textProps","timer","title","titleProps","type","_className","useClassname","displayName","theme","useTheme","countdownColor","useMemo","colors","column","Boolean","_jsxs","Styled.Root","withAction","withCloseIcon","withImage","withLink","withTimer","withTitle","size","_jsx","CloseCirlceFill","color","NotifFill","CheckCircleFill","WarningTriangleFill","Icon","name","CountdownCircle","Text","_objectSpread","lineHeight","Anchor","onClick","pseudo","Button","black","fontWeight","outline","preset","Close"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{memo as r,useState as e,useEffect as s}from'react';import{Progress as t}from'../../Progress/Progress.js';import{jsx as a}from'react/jsx-runtime';var o=r((r=>{var{className:o,color:l,isCompact:m,timer:c}=r;var[n,i]=e(c);s((()=>{var r=setInterval((()=>{i((e=>e<=.05?(clearInterval(r),e):e-.05))}),50);return()=>{clearInterval(r)}}),[]);var p=n/c*100;return a(t.Circle,{className:o,content:Math.ceil(n),progress:p,progressStartAngle:0,resultColor:l,size:m?16:20,strokeBGColor:"transparent",strokeLineWidth:1.5})}));export{o as default};
2
+ //# sourceMappingURL=CountdownCircle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountdownCircle.js","sources":["../../../../../src/components/Alert/parts/CountdownCircle.tsx"],"sourcesContent":["import { memo, useEffect, useState } from 'react'\n\nimport { ColorValue } from '../../../mixins/color'\n\nimport { Progress } from '../../Progress'\n\nconst CountdownCircle = ({\n className,\n color,\n isCompact,\n timer,\n}: {\n className: string\n color: ColorValue\n isCompact: boolean\n timer: number\n}) => {\n const [countdown, setCountdown] = useState(timer)\n\n useEffect(() => {\n const progressRate = 0.05\n const intervalId = setInterval(() => {\n setCountdown((prevCountdown) => {\n if (prevCountdown <= progressRate) {\n clearInterval(intervalId)\n return prevCountdown\n }\n\n return prevCountdown - progressRate\n })\n }, progressRate * 1000)\n\n return () => {\n clearInterval(intervalId)\n }\n }, [])\n\n const progress = (countdown / timer) * 100\n\n return (\n <Progress.Circle\n className={className}\n content={Math.ceil(countdown)}\n progress={progress}\n progressStartAngle={0}\n resultColor={color}\n size={isCompact ? 16 : 20}\n strokeBGColor='transparent'\n strokeLineWidth={1.5}\n />\n )\n}\n\nexport default memo(CountdownCircle)\n"],"names":["CountdownCircle$1","memo","_ref","className","color","isCompact","timer","countdown","setCountdown","useState","useEffect","intervalId","setInterval","prevCountdown","clearInterval","progressRate","progress","_jsx","Progress","Circle","content","Math","ceil","progressStartAngle","resultColor","size","strokeBGColor","strokeLineWidth"],"mappings":"wJAqDA,IAAAA,EAAeC,GA/CSC,IAUlB,IAVmBC,UACvBA,EADuBC,MAEvBA,EAFuBC,UAGvBA,EAHuBC,MAIvBA,GAMIJ,EACJ,IAAOK,EAAWC,GAAgBC,EAASH,GAE3CI,GAAU,KAER,IAAMC,EAAaC,kBACjBJ,GAAcK,GACRA,GAHa,KAIfC,cAAcH,GACPE,GAGFA,EARU,QAUlBE,IAEH,MAAO,KACLD,cAAcH,MAEf,IAEH,IAAMK,EAAYT,EAAYD,EAAS,IAEvC,OACEW,EAACC,EAASC,OAAV,CACEhB,UAAWA,EACXiB,QAASC,KAAKC,KAAKf,GACnBS,SAAUA,EACVO,mBAAoB,EACpBC,YAAapB,EACbqB,KAAMpB,EAAY,GAAK,GACvBqB,cAAc,cACdC,gBAAiB"}
@@ -0,0 +1,2 @@
1
+ import o from'@babel/runtime/helpers/taggedTemplateLiteral';import t,{css as r}from'styled-components';import{screenS as i,screenXs as e}from'../../mixins/screen.js';var n,a;var p=t.div.withConfig({shouldForwardProp:o=>['children','className','style'].includes(o)}).withConfig({componentId:"fox-ui__sc-1v79u95-0"})(["--padding-y:",";display:flex;align-items:",";justify-content:",";padding-top:var(--padding-y);padding-bottom:var(--padding-y);padding-left:",";padding-right:",";height:",";max-width:100%;width:",";border-radius:",";background-color:",";box-shadow:",";box-sizing:border-box;"," "," .iconWrapper{display:flex;margin-right:",";","}.title{display:inline-block;margin-top:",";margin-bottom:8px;max-width:100%;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden;}.content{display:flex;margin-right:auto;flex-direction:",";align-items:",";max-width:",";white-space:",";overflow:hidden;}.text{line-height:",";text-overflow:",";white-space:",";overflow:hidden;}.link{display:flex;margin-top:",";margin-left:",";color:",";}.actions{margin-top:",";margin-left:",";}.primaryAction{margin-left:0;background-color:",";color:",";}.secondaryAction{margin-right:",";}.timer{line-height:",";font-weight:",";font-size:",";color:",";svg{transform:rotateY(180deg);}}.cancelTimer{margin-left:",";padding-right:",";padding-left:",";}.closeIconWrapper{display:flex;margin-left:",";cursor:pointer;}"],(o=>o.isCompact?o.column?'16px':o.withTimer?'5px':'12px':o.column?'16px':o.withImage?'8px':o.withTimer?'2px':'12px'),(o=>o.column||o.isCompact&&!o.withTimer?'flex-start':'center'),(o=>o.withTimer?'space-between':'flex-start'),(o=>o.isCompact?o.withTitle?o.withImage||!o.noIcon?'16px':'20px':o.withImage?'12px':o.withAction&&o.noIcon?'20px':'16px':o.withTitle?o.withImage||!o.noIcon?'16px':'24px':o.withImage?'16px':'20px'),(o=>o.withCloseIcon?o.isCompact?'12px':'16px':o.withTimer?'8px':'20px'),(o=>o.isCompact||o.column?'auto':'48px'),(o=>"".concat(o.isCompact?'351px':'fit-content')),(o=>o.column?o.isCompact?'20px':'12px':'30px'),(o=>((o,t,r)=>{if(r)return'dark'===t.mode?t.colors['bg-onmain-primary']:t.colors['bg-oncolor-primary'];switch(o){case'error':return t.colors['alert-bg-error-200'];case'info':return t.colors['bg-brand-primary-200'];case'success':return t.colors['alert-bg-success-200'];case'warning':return t.colors['alert-bg-warning-200'];default:return t.colors['bg-oncolor-primary']}})(o.type,o.theme,!!o.clear)),(o=>o.clear?'0 6px 20px 0 rgba(0, 0, 0, 0.1)':'none'),i()(n||(n=o(["\n width: 351px;\n "]))),e()(a||(a=o(["\n width: 304px;\n "]))),(o=>o.isCompact?'8px':o.column?o.withImage?'8px':'12px':'8px'),(o=>o.withImage&&r(["img,svg{height:",";width:",";}"],(o=>o.isCompact?'20px':o.column?'28px':'32px'),(o=>o.isCompact?'20px':o.column?'28px':'32px'))),(o=>o.isCompact?'0':'2px'),(o=>o.column?'column':'row'),(o=>o.column?'flex-start':'center'),(o=>o.column?'260px':'initial'),(o=>o.column||o.isCompact?'normal':'nowrap'),(o=>o.isCompact?'18px':'20px'),(o=>o.column||o.isCompact?'clip':'ellipsis'),(o=>o.column||o.isCompact?'pre-wrap':'inherit'),(o=>o.column?o.isCompact&&!o.withTitle?'4px':'12px':0),(o=>o.column?0:'60px'),(o=>o.clear?o.theme.colors['content-link']:o.theme.colors['content-onmain-primary']),(o=>o.column?o.isCompact?o.withTitle?'16px':'8px':'16px':0),(o=>o.column?0:'60px'),(o=>{return'dark'===(t=o.theme).mode?t.colors['bg-onmain-inverse']:t.colors['bg-onmain-contrast'];var t}),(o=>{return'dark'===(t=o.theme).mode?t.colors['content-oncolor-constant']:t.colors['content-oncolor-primary'];var t}),(o=>o.column?'4px':'8px'),(o=>o.isCompact?'12px':'18px'),(o=>o.isCompact?'700':'400'),(o=>o.isCompact?'11px':'14px'),(o=>((o,t)=>{switch(o){case'error':return t.colors['alert-bg-error-500'];case'info':default:return t.colors['content-brand-primary'];case'success':return t.colors['alert-success'];case'warning':return t.colors['alert-warning']}})(o.type,o.theme)),(o=>o.isCompact?'28px':'60px'),(o=>o.isCompact?'16px':'28px'),(o=>o.isCompact?'16px':'28px'),(o=>o.withTimer?'0':'16px'));export{p as Root};
2
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Alert/style.ts"],"sourcesContent":["import styled, { css, DefaultTheme } from 'styled-components'\n\nimport { screenS, screenXs } from '../../mixins/screen'\n\nimport { AlertProps, AlertType } from './Alert'\n\nconst bgColor = (type: AlertType, theme: DefaultTheme, clear: boolean) => {\n if (clear) {\n return theme.mode === 'dark' ? theme.colors['bg-onmain-primary'] : theme.colors['bg-oncolor-primary']\n }\n\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-200']\n case 'info':\n return theme.colors['bg-brand-primary-200']\n case 'success':\n return theme.colors['alert-bg-success-200']\n case 'warning':\n return theme.colors['alert-bg-warning-200']\n default:\n return theme.colors['bg-oncolor-primary']\n }\n}\n\nconst countdownColor = (type: AlertType, theme: DefaultTheme) => {\n switch (type) {\n case 'error':\n return theme.colors['alert-bg-error-500']\n case 'info':\n return theme.colors['content-brand-primary']\n case 'success':\n return theme.colors['alert-success']\n case 'warning':\n return theme.colors['alert-warning']\n default:\n return theme.colors['content-brand-primary']\n }\n}\n\nconst buttonBgColor = (theme: DefaultTheme) => {\n return theme.mode === 'dark' ? theme.colors['bg-onmain-inverse'] : theme.colors['bg-onmain-contrast']\n}\n\nconst buttonColor = (theme: DefaultTheme) => {\n return theme.mode === 'dark' ? theme.colors['content-oncolor-constant'] : theme.colors['content-oncolor-primary']\n}\n\ntype AdditionalAlertTypes = {\n column: boolean\n isCompact: boolean\n withAction: boolean\n withCloseIcon: boolean\n withImage: boolean\n withLink: boolean\n withTimer: boolean\n withTitle: boolean\n}\n\ntype ExtendedAlertProps = AlertProps & AdditionalAlertTypes\n\nexport const Root = styled.div.withConfig<ExtendedAlertProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n --padding-y: ${(props) =>\n // prettier-ignore\n props.isCompact\n ? props.column\n ? '16px'\n : props.withTimer ? '5px' : '12px'\n : props.column\n ? '16px'\n : props.withImage\n ? '8px'\n : props.withTimer ? '2px' : '12px'};\n\n display: flex;\n align-items: ${(props) => (props.column || (props.isCompact && !props.withTimer) ? 'flex-start' : 'center')};\n justify-content: ${(props) => (props.withTimer ? 'space-between' : 'flex-start')};\n padding-top: var(--padding-y);\n padding-bottom: var(--padding-y);\n padding-left: ${(props) =>\n // prettier-ignore\n props.isCompact\n ? props.withTitle\n ? (props.withImage || !props.noIcon) ? '16px' : '20px'\n : props.withImage\n ? '12px'\n : props.withAction && props.noIcon\n ? '20px'\n : '16px'\n : props.withTitle\n ? (props.withImage || !props.noIcon) ? '16px' : '24px'\n : props.withImage ? '16px' : '20px'};\n padding-right: ${(props) =>\n // prettier-ignore\n props.withCloseIcon\n ? props.isCompact ? '12px' : '16px'\n : props.withTimer ? '8px' : '20px'};\n height: ${(props) =>\n // prettier-ignore\n props.isCompact\n ? 'auto'\n : props.column ? 'auto' : '48px'};\n max-width: 100%;\n width: ${(props) => `${props.isCompact ? '351px' : 'fit-content'}`};\n border-radius: ${(props) => (props.column ? (props.isCompact ? '20px' : '12px') : '30px')};\n background-color: ${(props) => bgColor(props.type, props.theme, !!props.clear)};\n box-shadow: ${(props) => (props.clear ? '0 6px 20px 0 rgba(0, 0, 0, 0.1)' : 'none')};\n box-sizing: border-box;\n\n ${screenS()`\n width: 351px;\n `}\n ${screenXs()`\n width: 304px;\n `}\n\n .iconWrapper {\n display: flex;\n margin-right: ${(props) =>\n // prettier-ignore\n props.isCompact\n ? '8px'\n : props.column\n ? props.withImage ? '8px' : '12px'\n : '8px'};\n\n ${(props) =>\n props.withImage &&\n css`\n img,\n svg {\n height: ${(props: ExtendedAlertProps) =>\n // prettier-ignore\n props.isCompact\n ? '20px'\n : props.column ? '28px' : '32px'};\n width: ${(props) =>\n // prettier-ignore\n props.isCompact\n ? '20px'\n : props.column ? '28px' : '32px'};\n }\n `}\n }\n\n .title {\n display: inline-block;\n margin-top: ${(props) => (props.isCompact ? '0' : '2px')};\n margin-bottom: 8px;\n max-width: 100%;\n vertical-align: middle;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-weight: 700;\n overflow: hidden;\n }\n\n .content {\n display: flex;\n margin-right: auto;\n flex-direction: ${(props) => (props.column ? 'column' : 'row')};\n align-items: ${(props) => (props.column ? 'flex-start' : 'center')};\n max-width: ${(props) => (props.column ? '260px' : 'initial')};\n white-space: ${(props) => (props.column || props.isCompact ? 'normal' : 'nowrap')};\n overflow: hidden;\n }\n\n .text {\n line-height: ${(props) => (props.isCompact ? '18px' : '20px')};\n text-overflow: ${(props) => (props.column || props.isCompact ? 'clip' : 'ellipsis')};\n white-space: ${(props) => (props.column || props.isCompact ? 'pre-wrap' : 'inherit')};\n overflow: hidden;\n }\n\n .link {\n display: flex;\n margin-top: ${(props) => (props.column ? (props.isCompact && !props.withTitle ? '4px' : '12px') : 0)};\n margin-left: ${(props) => (props.column ? 0 : '60px')};\n color: ${(props) =>\n props.clear ? props.theme.colors['content-link'] : props.theme.colors['content-onmain-primary']};\n }\n\n .actions {\n margin-top: ${(props) =>\n // prettier-ignore\n props.column\n ? props.isCompact\n ? props.withTitle ? '16px' : '8px'\n : '16px'\n : 0};\n margin-left: ${(props) => (props.column ? 0 : '60px')};\n }\n\n .primaryAction {\n margin-left: 0;\n background-color: ${(props) => buttonBgColor(props.theme)};\n color: ${(props) => buttonColor(props.theme)};\n }\n\n .secondaryAction {\n margin-right: ${(props) => (props.column ? '4px' : '8px')};\n }\n\n .timer {\n line-height: ${(props) => (props.isCompact ? '12px' : '18px')};\n font-weight: ${(props) => (props.isCompact ? '700' : '400')};\n font-size: ${(props) => (props.isCompact ? '11px' : '14px')};\n color: ${(props) => countdownColor(props.type, props.theme)};\n\n svg {\n transform: rotateY(180deg);\n }\n }\n\n .cancelTimer {\n margin-left: ${(props) => (props.isCompact ? '28px' : '60px')};\n padding-right: ${(props) => (props.isCompact ? '16px' : '28px')};\n padding-left: ${(props) => (props.isCompact ? '16px' : '28px')};\n }\n\n .closeIconWrapper {\n display: flex;\n margin-left: ${(props) => (props.withTimer ? '0' : '16px')};\n cursor: pointer;\n }\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","componentId","props","isCompact","column","withTimer","withImage","withTitle","noIcon","withAction","withCloseIcon","concat","type","theme","clear","mode","colors","screenS","screenXs","_templateObject2","_taggedTemplateLiteral","css","buttonBgColor","buttonColor"],"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{injectDefaultTheme as t}from'../../shared/utils/inject-theme.js';import{property as a,responsiveNamedProperty as c,responsiveProperty as i}from'../../mixins/responsive-property.js';import{color as s}from'../../mixins/color.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'),s(o.color,n)}),(o=>{var n='color';return(o.inverted||o.basic||o.outline)&&(n='background-color'),s(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(t).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)?'':i('size','font-size')),(o=>o.round?l.includes(o.size)?o.brandPresetUsed?"font-size: ".concat(b[o.size],"px;\n padding: 1em;"):a(h[o.size],S):'padding: 1em;':''),(o=>o.padding?a(o.padding,'padding'):null),(o=>o.paddingTop?a(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?a(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?a(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?a(o.paddingLeft,'padding-left'):null),(o=>o.margin?a(o.margin,'margin'):null),(o=>o.marginTop?a(o.marginTop,'margin-top'):null),(o=>o.marginRight?a(o.marginRight,'margin-right'):null),(o=>o.marginBottom?a(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?a(o.marginLeft,'margin-left'):null),(o=>o.fontSize?a(o.fontSize,'font-size'):null),(o=>o.height?a(o.height,'height'):null),(o=>{var n=o.fluid&&'auto'!==o.width?'max-width':'width';return o.width?a(L(o.width),n):null}),(o=>{var{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:a}=o;return c({sizes:{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:a},cssProperty:'padding'})}),(o=>{var{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:a}=o;return c({sizes:{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:a},cssProperty:'padding-top'})}),(o=>{var{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:a}=o;return c({sizes:{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:a},cssProperty:'padding-right'})}),(o=>{var{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:a}=o;return c({sizes:{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:a},cssProperty:'padding-bottom'})}),(o=>{var{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:a}=o;return c({sizes:{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:a},cssProperty:'padding-left'})}),(o=>{var{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:a}=o;return c({sizes:{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:a},cssProperty:'margin'})}),(o=>{var{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:a}=o;return c({sizes:{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:a},cssProperty:'margin-top'})}),(o=>{var{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:a}=o;return c({sizes:{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:a},cssProperty:'margin-right'})}),(o=>{var{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:a}=o;return c({sizes:{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:a},cssProperty:'margin-bottom'})}),(o=>{var{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:a}=o;return c({sizes:{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:a},cssProperty:'margin-left'})}),(o=>{var{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:a}=o;return c({sizes:{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:a},cssProperty:'font-size'})}),(o=>{var{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:a}=o;return c({sizes:{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:a},cssProperty:'height'})}),(o=>{var{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:a,fluid:i,width:s}=o;return c({sizes:{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:a},cssProperty:i&&'auto'!==s?'max-width':'width',customSizeHandler:L})}),(o=>o.fluid?a(o.fluid,x):null),(o=>{var{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:a}=o;return c({sizes:{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:a},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{injectDefaultTheme as t}from'../../shared/utils/inject-theme.js';import{property as a,responsiveNamedProperty as c,responsiveProperty as i}from'../../mixins/responsive-property.js';import{color as s}from'../../mixins/color.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'),s(o.color,n)}),(o=>{var n='color';return(o.inverted||o.basic||o.outline)&&(n='background-color'),s(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(t).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)?'':i('size','font-size')),(o=>o.round?l.includes(o.size)?o.brandPresetUsed?"font-size: ".concat(b[o.size],"px;\n padding: 1em;"):a(h[o.size],S):'padding: 1em;':''),(o=>o.padding?a(o.padding,'padding'):null),(o=>o.paddingTop?a(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?a(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?a(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?a(o.paddingLeft,'padding-left'):null),(o=>o.margin?a(o.margin,'margin'):null),(o=>o.marginTop?a(o.marginTop,'margin-top'):null),(o=>o.marginRight?a(o.marginRight,'margin-right'):null),(o=>o.marginBottom?a(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?a(o.marginLeft,'margin-left'):null),(o=>o.fontSize?a(o.fontSize,'font-size'):null),(o=>o.height?a(o.height,'height'):null),(o=>{var n=o.fluid&&'auto'!==o.width?'max-width':'width';return o.width?a(L(o.width),n):null}),(o=>{var{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:a}=o;return c({sizes:{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:a},cssProperty:'padding'})}),(o=>{var{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:a}=o;return c({sizes:{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:a},cssProperty:'padding-top'})}),(o=>{var{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:a}=o;return c({sizes:{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:a},cssProperty:'padding-right'})}),(o=>{var{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:a}=o;return c({sizes:{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:a},cssProperty:'padding-bottom'})}),(o=>{var{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:a}=o;return c({sizes:{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:a},cssProperty:'padding-left'})}),(o=>{var{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:a}=o;return c({sizes:{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:a},cssProperty:'margin'})}),(o=>{var{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:a}=o;return c({sizes:{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:a},cssProperty:'margin-top'})}),(o=>{var{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:a}=o;return c({sizes:{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:a},cssProperty:'margin-right'})}),(o=>{var{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:a}=o;return c({sizes:{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:a},cssProperty:'margin-bottom'})}),(o=>{var{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:a}=o;return c({sizes:{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:a},cssProperty:'margin-left'})}),(o=>{var{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:a}=o;return c({sizes:{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:a},cssProperty:'font-size'})}),(o=>{var{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:a}=o;return c({sizes:{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:a},cssProperty:'height'})}),(o=>{var{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:a,fluid:i,width:s}=o;return c({sizes:{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:a},cssProperty:i&&'auto'!==s?'max-width':'width',customSizeHandler:L})}),(o=>o.fluid?a(o.fluid,x):null),(o=>{var{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:a}=o;return c({sizes:{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:a},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};
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 { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { CalcProperty, property, responsiveNamedProperty, responsiveProperty } from 'mixins/responsive-property'\nimport { color as colorFn } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { FORWARD_PROPS, STATIC_SIZES } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { ButtonStaticSize, ButtonRootProps, 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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\n ${(props) => {\n let background = '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: string = 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<ButtonRootProps>`\n ${(props) => {\n let background = '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: string = 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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps, 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<ButtonRootProps, DefaultTheme>) => {\n if (STATIC_SIZES.includes(<ButtonStaticSize>props.size)) return ''\n return responsiveProperty('size', 'font-size')\n}\n\nconst extractRoundStyles = (props: ThemedStyledProps<ButtonRootProps, 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)<ButtonRootProps>`\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 { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { CalcProperty, property, responsiveNamedProperty, responsiveProperty } from 'mixins/responsive-property'\nimport { color as colorFn } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { FORWARD_PROPS, STATIC_SIZES } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { ButtonStaticSize, ButtonRootProps, 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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\n ${(props) => {\n let background = '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: string = 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<ButtonRootProps>`\n ${(props) => {\n let background = '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: string = 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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps>`\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<ButtonRootProps, 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<ButtonRootProps, DefaultTheme>) => {\n if (STATIC_SIZES.includes(<ButtonStaticSize>props.size)) return ''\n return responsiveProperty('size', 'font-size')\n}\n\nconst extractRoundStyles = (props: ThemedStyledProps<ButtonRootProps, 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)<ButtonRootProps>`\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":"ydAYA,IAAMA,EAA2C,CAC/CC,GAAI,IACJC,EAAG,IACHC,EAAG,IACHC,EAAG,IACHC,GAAI,KAGN,IAAMC,EAAwD,CAC5DL,GAAI,GACJC,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,IAGN,IAAME,EAAsD,CAC1DN,GAAI,GACJC,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,IAGN,IAAMG,EAAaC,EAAH,CAAA,GAAA,KACXC,GACUA,kBAAAA,OAAAA,EAAMC,uCACFD,EAAME,WAFrB,0BAAAC,OAGiBH,EAAMI,aACRJ,wBAAAA,OAAAA,EAAMK,WACVL,oBAAAA,OAAAA,EAAMM,YALjB,mmBAAAH,OA+BiBH,EAAMO,UAAY,OAAS,wBAKhD,IAAMC,EAAUC,EAAhB,CAAA,qEASA,IAAMC,EAAOD,EAAb,CAAA,oCAMA,IAAME,EAAuBZ,EAAH,CAAA,4NAAA,wCAYXS,GAIf,IAAMI,EAAYC,GACF,SAAVA,EAAyB,OACR,iBAAVA,GACU,kBAAVA,EAD2BA,EAGlCA,GAASvB,EAAOuB,GAAevB,EAAOuB,GAEnC,OAGT,IAAMC,EAAqC,SAACC,EAADC,GAAA,IAAOC,+BAAPD,EAAAA,EAAgB,KAAhB,OAAyBjB,qFACzDgB,EAAiBE,EAChBF,EAAiBE,EACd,IAAQF,EAAkBE,EACxB,IAAQF,EAAkBE,EAC9B,IAAQF,EAAkBE,IAGvC,IAAMC,EAA4B,IAAMnB,EAAxC,CAAA,kCAKA,IAAMoB,EAAN,oFAOA,IAAMC,EAAS,CACbC,OAAQ,CACNC,QAASvB,EACJC,CAAAA,GAAAA,KAAAA,IACD,IAAIuB,EAAavB,EAAMwB,MAAMC,OAAO,0BAChCzB,EAAM0B,QAAOH,EAAavB,EAAMwB,MAAMC,OAAO,uBAC7CzB,EAAM2B,SAAQJ,EAAavB,EAAMwB,MAAMC,OAAO,uBAC9CzB,EAAM4B,UAASL,EAAavB,EAAMwB,MAAMC,OAAO,yBAC/CzB,EAAM6B,WAAUN,EAAavB,EAAMwB,MAAMC,OAAO,sBAEpD,IAAIK,EAAQ9B,EAAMwB,MAAMC,OAAO,2BAC3BzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,qBAE/C,IAAIM,EAAmB/B,EAAMwB,MAAMC,OAAO,oBAG1C,OAFIzB,EAAM0B,QAAU1B,EAAM2B,SAAQI,EAAmB/B,EAAMwB,MAAMC,OAAO,wBAExE,iCAAAtB,OACsBoB,EADtB,wBAAApB,OAEW2B,EAFX,4CAAA3B,OAKMgB,EACkBY,oCAAAA,OAAAA,EAIlBZ,+EAAAA,OAAAA,yDAC8BnB,EAAMwB,MAAMC,OAAO,oBAXvD,yDAAAtB,OAgBKH,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QASxC,8NAzBR,iBA8BJwB,UAAWjC,EACNC,CAAAA,GAAAA,KAAAA,IACD,IAAIuB,EAAavB,EAAMwB,MAAMC,OAAO,sBAChCzB,EAAM6B,WAAUN,EAAavB,EAAMwB,MAAMC,OAAO,wBAEpD,IAAIK,EAAQ9B,EAAMwB,MAAMC,OAAO,4BAI/B,OAHIzB,EAAM4B,UAASE,EAAQ9B,EAAMwB,MAAMC,OAAO,kBAC1CzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,6BAE/C,iCAAAtB,OACsBoB,EACXO,wBAAAA,OAAAA,qDAGLX,EALN,oCAAAhB,OAMwBH,EAAMwB,MAAMC,OAAO,0GAIrCN,EAVN,gDAAAhB,OAWoCH,EAAMwB,MAAMC,OAAO,oFAKlDzB,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QASxC,8NAzBR,kBA+BNyB,QAAS,CACPX,QAASvB,EACJC,CAAAA,GAAAA,KAAAA,IACD,IAAIuB,EAAa,eACbvB,EAAMQ,SAAYR,EAAM4B,SAAY5B,EAAM0B,OAAU1B,EAAM2B,SAC5DJ,EAAavB,EAAMwB,MAAMC,OAAO,2BAC9BzB,EAAMQ,UAAYR,EAAM4B,SAAW5B,EAAM0B,QAAOH,EAAavB,EAAMwB,MAAMC,OAAO,uBAChFzB,EAAMQ,UAAYR,EAAM4B,SAAW5B,EAAM2B,SAAQJ,EAAavB,EAAMwB,MAAMC,OAAO,uBACjFzB,EAAM4B,UAASL,EAAavB,EAAMwB,MAAMC,OAAO,yBAC/CzB,EAAM6B,WAAUN,EAAavB,EAAMwB,MAAMC,OAAO,sBAEpD,IAAIK,EAAQ9B,EAAMwB,MAAMC,OAAO,yBAC3BzB,EAAM0B,QAAOI,EAAQ9B,EAAMwB,MAAMC,OAAO,4BACxCzB,EAAM2B,SAAQG,EAAQ9B,EAAMwB,MAAMC,OAAO,iBACzCzB,EAAM4B,SAAW5B,EAAMQ,WAASsB,EAAQ9B,EAAMwB,MAAMC,OAAO,4BAC3DzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,qBAE/C,IAAIS,EAAoBlC,EAAMwB,MAAMC,OAAO,wBACvCzB,EAAM0B,QAAOQ,EAAYlC,EAAMwB,MAAMC,OAAO,2BAC5CzB,EAAM2B,SAAQO,EAAYlC,EAAMwB,MAAMC,OAAO,uBAC7CzB,EAAMQ,UAAYR,EAAM4B,UAASM,EAAY,eAC7ClC,EAAM4B,UAASM,EAAYlC,EAAMwB,MAAMC,OAAO,yBAC9CzB,EAAM6B,WAAUK,EAAYlC,EAAMwB,MAAMC,OAAO,sBAEnD,IAAIM,EAAmB/B,EAAMwB,MAAMC,OAAO,0BACtCzB,EAAM0B,QAAOK,EAAmB/B,EAAMwB,MAAMC,OAAO,uBACnDzB,EAAM2B,SAAQI,EAAmB/B,EAAMwB,MAAMC,OAAO,uBAExD,IAAIU,EAAkBnC,EAAMwB,MAAMC,OAAO,oBAGzC,OAFIzB,EAAM0B,QAAU1B,EAAM2B,SAAQQ,EAAkBnC,EAAMwB,MAAMC,OAAO,wBAGjDF,iCAAAA,OAAAA,EACXO,wBAAAA,OAAAA,EACiB9B,yCAAAA,OAAAA,EAAMoC,SAAW,EAAI,EAHjD,OAAAjC,OAGwD+B,EAGlDf,4CAAAA,OAAAA,EACkBY,oCAAAA,OAAAA,EAIlBZ,+EAAAA,OAAAA,EACkBgB,oCAAAA,OAAAA,EACYnC,iDAAAA,OAAAA,EAAMwB,MAAMC,OAAO,oBAKjD,2DAAAtB,OAACH,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QAaxC,mBAVWR,6DAAAA,OAAAA,EAAMwB,MAAMC,OAAO,2BAHlC,yQAlBN,iBAoCJO,UAAWjC,EACNC,CAAAA,GAAAA,KAAAA,IACD,IAAIuB,EAAa,eACbvB,EAAM4B,SAAW5B,EAAMQ,WAASe,EAAavB,EAAMwB,MAAMC,OAAO,uBAChEzB,EAAM6B,WAAUN,EAAavB,EAAMwB,MAAMC,OAAO,wBAEpD,IAAIK,EAAQ9B,EAAMwB,MAAMC,OAAO,2BAC3BzB,EAAMQ,UAAYR,EAAM4B,UAASE,EAAQ9B,EAAMwB,MAAMC,OAAO,6BAC5DzB,EAAM4B,UAASE,EAAQ9B,EAAMwB,MAAMC,OAAO,kBAC1CzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,6BAE/C,IAAIS,EAAoBlC,EAAMwB,MAAMC,OAAO,0BAG3C,OAFIzB,EAAM6B,WAAUK,EAAY,eAEhC,iCAAA/B,OACsBoB,EADtB,wBAAApB,OAEW2B,EAFX,yCAAA3B,OAG4BH,EAAMoC,SAAW,EAAI,EAHjD,OAAAjC,OAGwD+B,EAHxD,4CAAA/B,OAMMgB,EANN,oCAAAhB,OAOwBH,EAAMwB,MAAMC,OAAO,sBAIrCN,+EAAAA,OAAAA,EAC8BnB,gDAAAA,OAAAA,EAAMwB,MAAMC,OAAO,oBAZvD,yDAAAtB,OAiBKH,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QAaxC,mBAVWR,yDAAAA,OAAAA,EAAMwB,MAAMC,OAAO,4BAHlC,uPAjBJ,kBAoCNY,KAAM,CACJf,QAASvB,EACJC,CAAAA,GAAAA,KAAAA,IACD,IAAIuB,EAAavB,EAAMwB,MAAMC,OAAO,sBAChCzB,EAAM4B,UAASL,EAAavB,EAAMwB,MAAMC,OAAO,yBAC/CzB,EAAM6B,WAAUN,EAAavB,EAAMwB,MAAMC,OAAO,sBAEpD,IAAIK,EAAQ9B,EAAMwB,MAAMC,OAAO,yBAM/B,OALIzB,EAAM0B,QAAOI,EAAQ9B,EAAMwB,MAAMC,OAAO,4BACxCzB,EAAM2B,SAAQG,EAAQ9B,EAAMwB,MAAMC,OAAO,gBACzCzB,EAAM4B,UAASE,EAAQ9B,EAAMwB,MAAMC,OAAO,4BAC1CzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,qBAE/C,iCAAAtB,OACsBoB,EACXO,wBAAAA,OAAAA,qDAGLX,EALN,oCAAAhB,OAMwBH,EAAMwB,MAAMC,OAAO,0GAIrCN,EAVN,gDAAAhB,OAWoCH,EAAMwB,MAAMC,OAAO,oFAKlDzB,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QASxC,gNAzBR,iBA8BJwB,UAAWjC,EACNC,CAAAA,GAAAA,KAAAA,IACD,IAAIuB,EAAavB,EAAMwB,MAAMC,OAAO,wBAChCzB,EAAM4B,UAASL,EAAavB,EAAMwB,MAAMC,OAAO,uBAC/CzB,EAAM6B,WAAUN,EAAavB,EAAMwB,MAAMC,OAAO,wBAEpD,IAAIK,EAAQ9B,EAAMwB,MAAMC,OAAO,2BAI/B,OAHIzB,EAAM4B,UAASE,EAAQ9B,EAAMwB,MAAMC,OAAO,kBAC1CzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,6BAE/C,iCAAAtB,OACsBoB,EACXO,wBAAAA,OAAAA,qDAGLX,EALN,oCAAAhB,OAMwBH,EAAMwB,MAAMC,OAAO,0GAIrCN,EAVN,gDAAAhB,OAWoCH,EAAMwB,MAAMC,OAAO,oFAKlDzB,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QASxC,gNAzBR,kBA+BN8B,MAAO,CACLhB,QAASvB,EACJC,CAAAA,GAAAA,KAAAA,IACD,IAAI8B,EAAQ9B,EAAMwB,MAAMC,OAAO,yBAM/B,OALIzB,EAAM0B,QAAOI,EAAQ9B,EAAMwB,MAAMC,OAAO,4BACxCzB,EAAM2B,SAAQG,EAAQ9B,EAAMwB,MAAMC,OAAO,gBACzCzB,EAAM4B,UAASE,EAAQ9B,EAAMwB,MAAMC,OAAO,kBAC1CzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,qBAE/C,gEAAAtB,OAEW2B,EAGLX,4CAAAA,OAAAA,EACkBnB,oCAAAA,OAAAA,EAAMwB,MAAMC,OAAO,oBAN3C,+EAAAtB,OAUMgB,EAC8BnB,gDAAAA,OAAAA,EAAMwB,MAAMC,OAAO,oBAXvD,yDAAAtB,OAgBKH,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QASxC,gNAzBR,iBA8BJwB,UAAWjC,EACNC,CAAAA,GAAAA,KAAAA,IACD,IAAI8B,EAAQ9B,EAAMwB,MAAMC,OAAO,2BAG/B,OAFIzB,EAAM6B,WAAUC,EAAQ9B,EAAMwB,MAAMC,OAAO,6BAE/C,gEAAAtB,OAEW2B,EAGLX,4CAAAA,OAAAA,EACkBnB,oCAAAA,OAAAA,EAAMwB,MAAMC,OAAO,uBAN3C,+EAAAtB,OAUMgB,EAC8BnB,gDAAAA,OAAAA,EAAMwB,MAAMC,OAAO,uBAXvD,yDAAAtB,OAgBKH,EAAM6B,UAAa7B,EAAM4B,SAAY5B,EAAMQ,QASxC,gNAzBR,mBAiCR,IAAM+B,EAAiB,CACrBjB,QAASvB,EACJC,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,KAAAA,GACGA,EAAM6B,UAAY7B,EAAMQ,QAAgB,GAE5C,wIAAAL,OAKaH,EAAMwC,UALnB,mCAAArC,OAMwBsC,EAAKzC,EAAMwB,MAAMC,OAAOzB,EAAM8B,QAAQY,UAAU,GAAGC,SAAS,GAAGC,WAGnF5C,0BAAAA,OAAAA,EAAM6C,UAAY7C,EAAM8C,OAAS9C,EAAMiC,QAGXjC,0EAAAA,OAAAA,EAAMwB,MAAMC,OAAOzB,EAAM8B,OAGzB9B,yFAAAA,OAAAA,EAAMwB,MAAMC,OAAOzB,EAAM8B,+CAGjD,GAlBR,cAuBC9B,GAAWA,EAAMQ,QAAUG,EAAuB,KAElDX,IACD,IAAI+C,EAAc,mBAGlB,OAFI/C,EAAM6C,UAAY7C,EAAM8C,OAAS9C,EAAMiC,WAASc,EAAc,SAE3DC,EAAQhD,EAAM8B,MAAOiB,MAG3B/C,IACD,IAAI+C,EAAc,QAGlB,OAFI/C,EAAM6C,UAAY7C,EAAM8C,OAAS9C,EAAMiC,WAASc,EAAc,oBAE3DC,EAAQhD,EAAMwC,UAAWO,MAG/B/C,GACIA,EAAM6B,SAEX,6DAAA1B,OAEsBH,EAAMwB,MAAMC,OAAOwB,QAC9BjD,sBAAAA,OAAAA,EAAMwB,MAAMC,OAAOyB,OAH9B,aAF4B,KAS3BlD,GAAWA,EAAM8C,OAAS9C,EAAMiC,QAAU,iCAAmC,MAuC7E,IAAMkB,EAAOC,EAAOC,OACxBC,WAAW,CACVC,kBAAoBC,GACXC,EAAcC,SAA4BF,IAASA,EAAKE,SAAS,UAG3EC,MAAMC,GANQN,WAAA,CAAAO,YAAA,wBAAGT,CAOhBtD,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,IAAAA,GA1CmBE,GACjBA,EAAM8D,iBACJ9D,EAAMsC,OAAUtC,EAAMqC,MAASrC,EAAMiC,SAAYjC,EAAMgC,UACvDhC,EAAMsC,QAAUtC,EAAMqC,OAASrC,EAAMiC,SAAWjC,EAAMgC,UAAkBZ,EAAOkB,MAAMN,WAErFhC,EAAMqC,MAASrC,EAAMsC,OAAUtC,EAAMiC,SAAYjC,EAAMgC,UACvDhC,EAAMqC,OAASrC,EAAMsC,QAAUtC,EAAMiC,SAAWjC,EAAMgC,UAAkBZ,EAAOiB,KAAKL,WAEpFhC,EAAMiC,SAAYjC,EAAMsC,OAAUtC,EAAMqC,MAASrC,EAAMgC,UACvDhC,EAAMiC,UAAYjC,EAAMsC,QAAUtC,EAAMqC,MAAQrC,EAAMgC,UAAkBZ,EAAOa,QAAQD,UAEpFhC,EAAMgC,UAAYZ,EAAOC,OAAOW,UAAYZ,EAAOC,OAAOC,QAHYF,EAAOa,QAAQX,QAHfF,EAAOiB,KAAKf,QAHZF,EAAOkB,MAAMhB,QAYrFiB,EAAejB,UAGCtB,GACnB+D,EAAaL,SAA2B1D,EAAMe,MAAc,GACzDiD,EAAmB,OAAQ,eAGRhE,GACrBA,EAAMiE,MAEPF,EAAaL,SAA2B1D,EAAMe,MACzCf,EAAM8D,gBAAN,cAAA3D,OACWN,EAAoCG,EAAMe,oCAExDmD,EAAStE,EAAsCI,EAAMe,MAAOD,GAG3D,gBATkB,KAwBtBd,GAAWA,EAAMmE,QAAUD,EAASlE,EAAMmE,QAAS,WAAa,OAChEnE,GAAWA,EAAMoE,WAAaF,EAASlE,EAAMoE,WAAY,eAAiB,OAC1EpE,GAAWA,EAAMqE,aAAeH,EAASlE,EAAMqE,aAAc,iBAAmB,OAChFrE,GAAWA,EAAMsE,cAAgBJ,EAASlE,EAAMsE,cAAe,kBAAoB,OACnFtE,GAAWA,EAAMuE,YAAcL,EAASlE,EAAMuE,YAAa,gBAAkB,OAE7EvE,GAAWA,EAAMwE,OAASN,EAASlE,EAAMwE,OAAQ,UAAY,OAC7DxE,GAAWA,EAAMyE,UAAYP,EAASlE,EAAMyE,UAAW,cAAgB,OACvEzE,GAAWA,EAAM0E,YAAcR,EAASlE,EAAM0E,YAAa,gBAAkB,OAC7E1E,GAAWA,EAAM2E,aAAeT,EAASlE,EAAM2E,aAAc,iBAAmB,OAChF3E,GAAWA,EAAM4E,WAAaV,EAASlE,EAAM4E,WAAY,eAAiB,OAE1E5E,GAAWA,EAAM6E,SAAWX,EAASlE,EAAM6E,SAAU,aAAe,OAEpE7E,GAAWA,EAAM8E,OAASZ,EAASlE,EAAM8E,OAAQ,UAAY,OAE7D9E,IACD,IAAM+C,EAAc/C,EAAM+E,OAAyB,SAAhB/E,EAAMa,MAAmB,YAAc,QAC1E,OAAOb,EAAMa,MAAQqD,EAAStD,EAASZ,EAAMa,OAAQkC,GAAe,QAGpEiC,IAA4D,IAA3DC,UAAEA,EAAFC,SAAaA,EAAbC,SAAuBA,EAAvBC,SAAiCA,EAAjCC,UAA2CA,GAAgBL,EAC5D,OAAOM,EAAwB,CAC7BC,MAAO,CAAEN,UAAAA,EAAWC,SAAAA,EAAUC,SAAAA,EAAUC,SAAAA,EAAUC,UAAAA,GAClDtC,YAAa,eAGfyC,IAA2E,IAA1EC,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAmBL,EAC3E,OAAOF,EAAwB,CAC7BC,MAAO,CAAEE,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9D9C,YAAa,mBAGf+C,IAAqF,IAApFC,eAAEA,EAAFC,cAAkBA,EAAlBC,cAAiCA,EAAjCC,cAAgDA,EAAhDC,eAA+DA,GAAqBL,EACrF,OAAOR,EAAwB,CAC7BC,MAAO,CAAEQ,eAAAA,EAAgBC,cAAAA,EAAeC,cAAAA,EAAeC,cAAAA,EAAeC,eAAAA,GACtEpD,YAAa,qBAGfqD,IAA0F,IAAzFC,gBAAEA,EAAFC,eAAmBA,EAAnBC,eAAmCA,EAAnCC,eAAmDA,EAAnDC,gBAAmEA,GAAsBL,EAC1F,OAAOd,EAAwB,CAC7BC,MAAO,CAAEc,gBAAAA,EAAiBC,eAAAA,EAAgBC,eAAAA,EAAgBC,eAAAA,EAAgBC,gBAAAA,GAC1E1D,YAAa,sBAGf2D,IAAgF,IAA/EC,cAAEA,EAAFC,aAAiBA,EAAjBC,aAA+BA,EAA/BC,aAA6CA,EAA7CC,cAA2DA,GAAoBL,EAChF,OAAOpB,EAAwB,CAC7BC,MAAO,CAAEoB,cAAAA,EAAeC,aAAAA,EAAcC,aAAAA,EAAcC,aAAAA,EAAcC,cAAAA,GAClEhE,YAAa,oBAIfiE,IAAuD,IAAtDC,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAeL,EACvD,OAAO1B,EAAwB,CAAEC,MAAO,CAAE0B,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAAYtE,YAAa,cAExGuE,IAAsE,IAArEC,YAAEA,EAAFC,WAAeA,EAAfC,WAA2BA,EAA3BC,WAAuCA,EAAvCC,YAAmDA,GAAkBL,EACtE,OAAOhC,EAAwB,CAC7BC,MAAO,CAAEgC,YAAAA,EAAaC,WAAAA,EAAYC,WAAAA,EAAYC,WAAAA,EAAYC,YAAAA,GAC1D5E,YAAa,kBAGf6E,IAAgF,IAA/EC,cAAEA,EAAFC,aAAiBA,EAAjBC,aAA+BA,EAA/BC,aAA6CA,EAA7CC,cAA2DA,GAAoBL,EAChF,OAAOtC,EAAwB,CAC7BC,MAAO,CAAEsC,cAAAA,EAAeC,aAAAA,EAAcC,aAAAA,EAAcC,aAAAA,EAAcC,cAAAA,GAClElF,YAAa,oBAGfmF,IAAqF,IAApFC,eAAEA,EAAFC,cAAkBA,EAAlBC,cAAiCA,EAAjCC,cAAgDA,EAAhDC,eAA+DA,GAAqBL,EACrF,OAAO5C,EAAwB,CAC7BC,MAAO,CAAE4C,eAAAA,EAAgBC,cAAAA,EAAeC,cAAAA,EAAeC,cAAAA,EAAeC,eAAAA,GACtExF,YAAa,qBAGfyF,IAA2E,IAA1EC,aAAEA,EAAFC,YAAgBA,EAAhBC,YAA6BA,EAA7BC,YAA0CA,EAA1CC,aAAuDA,GAAmBL,EAC3E,OAAOlD,EAAwB,CAC7BC,MAAO,CAAEkD,aAAAA,EAAcC,YAAAA,EAAaC,YAAAA,EAAaC,YAAAA,EAAaC,aAAAA,GAC9D9F,YAAa,mBAIf+F,IAAiE,IAAhEC,WAAEA,EAAFC,UAAcA,EAAdC,UAAyBA,EAAzBC,UAAoCA,EAApCC,WAA+CA,GAAiBL,EACjE,OAAOxD,EAAwB,CAC7BC,MAAO,CAAEwD,WAAAA,EAAYC,UAAAA,EAAWC,UAAAA,EAAWC,UAAAA,EAAWC,WAAAA,GACtDpG,YAAa,iBAIfqG,IAAuD,IAAtDC,SAAEA,EAAFC,QAAYA,EAAZC,QAAqBA,EAArBC,QAA8BA,EAA9BC,SAAuCA,GAAeL,EACvD,OAAO9D,EAAwB,CAC7BC,MAAO,CAAE8D,SAAAA,EAAUC,QAAAA,EAASC,QAAAA,EAASC,QAAAA,EAASC,SAAAA,GAC9C1G,YAAa,cAIf2G,IAAgE,IAA/DC,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,EAAnChF,MAA4CA,EAA5ClE,MAAmDA,GAAY6I,EAChE,OAAOpE,EAAwB,CAC7BC,MAAO,CAAEoE,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAC1ChH,YAAagC,GAAmB,SAAVlE,EAAmB,YAAc,QACvDmJ,kBAAmBpJ,OAIpBZ,GAAWA,EAAM+E,MAAQb,EAASlE,EAAM+E,MAAO7D,GAAe,OAC/D+I,IAAkD,IAAjDC,QAAEA,EAAFC,OAAWA,EAAXC,OAAmBA,EAAnBC,OAA2BA,EAA3BC,QAAmCA,GAAcL,EAClD,OAAO3E,EAAwB,CAC7BC,MAAO,CAAE2E,QAAAA,EAASC,OAAAA,EAAQC,OAAAA,EAAQC,OAAAA,EAAQC,QAAAA,GAC1CvH,YAAa7B,OAKNqJ,IAAAA,EAAWnH,EAAOoH,KAAVlH,WAAA,CAAAO,YAAA,wBAAGT,CAAH,CAAA,GAAA,KAKhBpD,GAOcA,4IAAAA,OAAAA,EAAM4E,WAAa,QAAU,EAC5B5E,yBAAAA,OAAAA,EAAM0E,YAAc,QAAU,aAIrC+F,IAAAA,EAAUrH,EAAOoH,KAAVlH,WAAA,CAAAO,YAAA,wBAAGT,CAAhB,CAAA,qCAKMsH,EAActH,EAAOuH,GAAVrH,WAAA,CAAAO,YAAA,wBAAGT,CAEZ1C,CAAAA,wBAAAA,2BAAAA,IAAAA,GACVV,GAAD,uCAAAG,OAEkBH,EAAM4K,kCAKfC,EAAYzH,EAAO0H,GAAVxH,WAAA,CAAAO,YAAA,wBAAGT,CAAH,CAAA,cAAA,KAEjBpD,GAEiBA,uCAAAA,OAAAA,EAAM4K"}