@foxford/ui 2.14.1 → 2.15.0-beta-4a3c333-20231116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Alert/utils.js.map +1 -1
- package/components/ArrowBadge/ArrowBadge.js +1 -1
- package/components/ArrowBadge/ArrowBadge.js.map +1 -1
- package/components/ArrowBadge/style.js +1 -1
- package/components/ArrowBadge/style.js.map +1 -1
- package/components/Badge/Badge.js.map +1 -1
- package/components/Button/Button.js +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Button/style.js +1 -1
- package/components/Button/style.js.map +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
- package/components/Tab/Tab.js +2 -0
- package/components/Tab/Tab.js.map +1 -0
- package/components/Tab/constants.js +2 -0
- package/components/Tab/constants.js.map +1 -0
- package/components/Tab/images/arrow.module.svg.js +2 -0
- package/components/Tab/images/arrow.module.svg.js.map +1 -0
- package/components/Tab/style.js +2 -0
- package/components/Tab/style.js.map +1 -0
- package/components/Tabs/Tabs.js +1 -1
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/style.js +1 -1
- package/components/Tabs/style.js.map +1 -1
- package/components/Tag/Tag.js.map +1 -1
- package/components/Tag/style.js.map +1 -1
- package/components/Text/Text.js.map +1 -1
- package/components/Text/constants.js.map +1 -1
- package/components/Text/style.js.map +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
- package/dts/index.d.ts +241 -198
- package/hocs/withMergedProps.js +1 -1
- package/hocs/withMergedProps.js.map +1 -1
- package/index.cjs.js +1 -1
- package/index.cjs.js.map +1 -1
- package/index.js +1 -1
- package/mixins/color.js.map +1 -1
- package/mixins/focus.js +1 -1
- package/mixins/focus.js.map +1 -1
- package/mixins/size.js.map +1 -1
- package/package.json +2 -1
- package/shared/regexp.js +1 -1
- package/shared/regexp.js.map +1 -1
- package/theme/colors-dark.js.map +1 -1
- package/theme/colors-light.js.map +1 -1
- package/theme/colors.js.map +1 -1
- package/components/Tabs/TabsTab.js +0 -2
- package/components/Tabs/TabsTab.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/components/Alert/utils.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components'\n\nimport type {
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/Alert/utils.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components'\n\nimport type { CSSColor } from 'shared/interfaces'\n\nimport type { AlertProps } from './types'\n\nexport const countdownColor = ({ theme, type }: Pick<AlertProps, 'type'> & { theme: DefaultTheme }): CSSColor => {\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"],"names":["countdownColor","_ref","theme","type","colors"],"mappings":"AAMO,IAAMA,EAAiBC,IAAmF,IAAlFC,MAAEA,EAAFC,KAASA,GAAyEF,EAC/G,OAAQE,GACN,IAAK,QACH,OAAOD,EAAME,OAAO,sBACtB,IAAK,OAML,QACE,OAAOF,EAAME,OAAO,yBALtB,IAAK,UACH,OAAOF,EAAME,OAAO,iBACtB,IAAK,UACH,OAAOF,EAAME,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as t}from'react';import{withMergedProps as s}from'../../hocs/withMergedProps.js';import{Root as
|
|
1
|
+
import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as t}from'react';import{withMergedProps as s}from'../../hocs/withMergedProps.js';import{Text as o}from'../Text/Text.js';import{Root as i,Edge as a,Content as f}from'./style.js';import{SIZES as m}from'./constants.js';import{jsxs as n,jsx as p}from'react/jsx-runtime';var c=["size","textProps","children","left","right","fancy"];var h='ArrowBadge';var l=s(t(((t,s)=>{var{size:m="m",textProps:h={},children:l,left:d,right:x,fancy:g}=t,j=e(t,c);var P={as:'div',size:'inherit',color:'inherit'};return n(i,r(r({},j),{},{size:m,ref:s,children:[p(a,{left:d,right:x,fancy:g}),p(f,{children:'function'==typeof l?l({baseTextProps:P,textProps:h}):p(o,r(r(r({},P),h),{},{children:l}))}),p(a,{left:d,right:x,fancy:g,after:!0})]}))})),{displayName:"ArrowBadge",sizes:m});export{l as ArrowBadge,h as COMPONENT_NAME};
|
|
2
2
|
//# sourceMappingURL=ArrowBadge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowBadge.js","sources":["../../../../src/components/ArrowBadge/ArrowBadge.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport * as Styled from './style'\nimport type { ArrowBadgeProps } from './types'\nimport { SIZES } from './constants'\n\nconst COMPONENT_NAME = 'ArrowBadge'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorSchemaProps`](#/Interfaces)\n * - [`
|
|
1
|
+
{"version":3,"file":"ArrowBadge.js","sources":["../../../../src/components/ArrowBadge/ArrowBadge.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'shared/interfaces'\nimport * as Styled from './style'\nimport type { ArrowBadgeProps } from './types'\nimport { SIZES } from './constants'\n\nconst COMPONENT_NAME = 'ArrowBadge'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorSchemaProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof ArrowBadgePalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'div'>`](#/Interfaces)\n */\nconst ArrowBadge: React.ForwardRefExoticComponent<ArrowBadgeProps> = withMergedProps<ArrowBadgeProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const { size = 'm', textProps = {}, children, left, right, fancy, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'div', size: 'inherit', color: 'inherit' }\n\n return (\n <Styled.Root {...restProps} size={size} ref={ref}>\n <Styled.Edge left={left} right={right} fancy={fancy} />\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Content>\n <Styled.Edge left={left} right={right} fancy={fancy} after />\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { ArrowBadge, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","ArrowBadge","withMergedProps","forwardRef","props","ref","size","textProps","children","left","right","fancy","restProps","_excluded","baseTextProps","as","color","_jsxs","Styled.Root","_jsx","Styled.Edge","Styled.Content","Text","after","displayName","sizes","SIZES"],"mappings":"2cAQMA,IAAAA,EAAiB,aAajBC,IAAAA,EAA+DC,EACnEC,GAAW,CAACC,EAAOC,KACjB,IAAMC,KAAEA,EAAO,IAATC,UAAcA,EAAY,GAA1BC,SAA8BA,EAA9BC,KAAwCA,EAAxCC,MAA8CA,EAA9CC,MAAqDA,GAAwBP,EAAdQ,IAAcR,EAAnFS,GAEA,IAAMC,EAA2B,CAAEC,GAAI,MAAOT,KAAM,UAAWU,MAAO,WAEtE,OACEC,EAACC,SAAgBN,GAAjB,GAAA,CAA4BN,KAAMA,EAAMD,IAAKA,EAA7CG,SACE,CAAAW,EAACC,EAAD,CAAaX,KAAMA,EAAMC,MAAOA,EAAOC,MAAOA,IAC9CQ,EAACE,EAAD,CAAAb,SACuB,mBAAbA,EACNA,EAAS,CAAEM,cAAAA,EAAeP,UAAAA,IAE1BY,EAACG,EAASR,EAAAA,EAAAA,EAAAA,GAAAA,GAAmBP,GAA7B,GAAA,CAAAC,SACGA,OAIPW,EAACC,EAAD,CAAaX,KAAMA,EAAMC,MAAOA,EAAOC,MAAOA,EAAOY,OAAK,WAIhE,CACEC,YApCmB,aAqCnBC,MAAOC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o,{css as
|
|
1
|
+
import o from'@babel/runtime/helpers/objectSpread2';import r,{css as n}from'styled-components';import{responsiveSize as a}from'../../mixins/size.js';import{responsiveMargin as t}from'../../mixins/margin.js';import{createShouldForwardProp as e}from'../../shared/utils/style.js';import{getColor as c}from'../../mixins/color.js';import{focus as i}from'../../mixins/focus.js';import s from'./images/arrow.module.svg.js';import l from'./images/rectangle.module.svg.js';import m from'./images/fancy.module.svg.js';var d=e();var g=r.div.withConfig({componentId:"fox-ui__sc-gzccd8-0"})(["flex-shrink:0;display:flex;align-items:center;height:100%;padding:0 1px;margin:0 -1px;"]);var p=r.svg.withConfig({shouldForwardProp:()=>!1}).attrs((o=>{var r=l;return o.fancy&&(r=m),(o.right&&o.after||o.left&&!o.after)&&(r=s),{as:r}})).withConfig({componentId:"fox-ui__sc-gzccd8-1"})(["flex-shrink:0;height:100%;",""],(o=>o.after&&'transform: rotate(180deg);'));var f=o=>"\n & > ".concat(g," {\n color: ").concat(o.color,";\n background-color: ").concat(o.backgroundColor,";\n }\n & > ").concat(p," {\n color: ").concat(o.backgroundColor,";\n }\n");var u={primary:n(["",""],(r=>f(o({color:r.theme.colors['content-onmain-primary'],backgroundColor:r.theme.colors['bg-brand-primary-200']},r.palette)))),secondary:n(["",""],(r=>f(o({color:r.theme.colors['content-onmain-primary'],backgroundColor:r.theme.colors['bg-brand-secondary-200']},r.palette)))),tertiary:n(["",""],(r=>f(o({color:r.theme.colors['content-onmain-primary'],backgroundColor:r.theme.colors['bg-brand-tertiary-200']},r.palette)))),quaternary:n(["",""],(r=>f(o({color:r.theme.colors['content-onmain-primary'],backgroundColor:r.theme.colors['bg-brand-quaternary-200']},r.palette))))};var h=r.div.withConfig({shouldForwardProp:d}).attrs({dynamicSizeDeclaration:function(o,r,n){return{height:'1.8em',fontSize:"".concat(arguments.length<=0?void 0:o).concat(arguments.length<=2?void 0:n)}}}).withConfig({componentId:"fox-ui__sc-gzccd8-2"})(["box-sizing:border-box;isolation:isolate;display:inline-flex;width:max-content;flex-shrink:0;"," "," "," "," "," "," ",""],(o=>o.quaternary?u.quaternary:o.tertiary?u.tertiary:o.secondary?u.secondary:u.primary),i,a,t,(o=>o.cursor&&"cursor: ".concat(o.cursor,";")),(o=>o.color&&"& > ".concat(g," {\n color: ").concat(c(o.color,o),";\n }")),(o=>o.backgroundColor&&"& > ".concat(g," {\n background-color: ").concat(c(o.backgroundColor,o),";\n }\n & > ").concat(p," {\n color: ").concat(c(o.backgroundColor,o),";\n }")));export{g as Content,p as Edge,h as Root};
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/ArrowBadge/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { responsiveSize } from 'mixins/size'\nimport { responsiveMargin } from 'mixins/margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { DynamicSizeDeclaration } from 'shared/interfaces'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport type { StyledArrowBadgeProps, StyledArrowBadgeEdgeProps,
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/ArrowBadge/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme } from 'styled-components'\nimport { responsiveSize } from 'mixins/size'\nimport { responsiveMargin } from 'mixins/margin'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport type { DynamicSizeDeclaration } from 'shared/interfaces'\nimport { getColor } from 'mixins/color'\nimport { focus } from 'mixins/focus'\nimport type { StyledArrowBadgeProps, StyledArrowBadgeEdgeProps, ArrowBadgePalette } from './types'\nimport Arrow from './images/arrow.module.svg'\nimport Rectangle from './images/rectangle.module.svg'\nimport Fancy from './images/fancy.module.svg'\n\nconst shouldForwardArrowBadgeProp = createShouldForwardProp()\n\nexport const Content = styled.div`\n flex-shrink: 0;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 1px;\n margin: 0 -1px;\n`\n\nexport const Edge = styled.svg\n .withConfig({ shouldForwardProp: () => false })\n .attrs((props: StyledArrowBadgeEdgeProps) => {\n let Shape = Rectangle\n\n if (props.fancy) Shape = Fancy\n if ((props.right && props.after) || (props.left && !props.after)) Shape = Arrow\n\n return { as: Shape }\n })<StyledArrowBadgeEdgeProps>`\n flex-shrink: 0;\n height: 100%;\n ${(props) => props.after && 'transform: rotate(180deg);'}\n`\n\nconst template = (palette: ArrowBadgePalette) => `\n & > ${Content} {\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n }\n & > ${Edge} {\n color: ${palette.backgroundColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n primary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-200'],\n ...props.palette,\n })}\n `,\n secondary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-secondary-200'],\n ...props.palette,\n })}\n `,\n tertiary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-tertiary-200'],\n ...props.palette,\n })}\n `,\n quaternary: css<StyledArrowBadgeProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-quaternary-200'],\n ...props.palette,\n })}\n `,\n}\n\nconst colorSchema = (props: ThemedStyledProps<StyledArrowBadgeProps, DefaultTheme>) => {\n if (props.quaternary) return COLOR_SCHEMA.quaternary\n if (props.tertiary) return COLOR_SCHEMA.tertiary\n if (props.secondary) return COLOR_SCHEMA.secondary\n\n return COLOR_SCHEMA.primary\n}\n\nexport const Root = styled.div\n .withConfig<StyledArrowBadgeProps>({\n shouldForwardProp: shouldForwardArrowBadgeProp,\n })\n .attrs({\n dynamicSizeDeclaration: (...args: Parameters<DynamicSizeDeclaration>) => {\n return {\n height: '1.8em',\n fontSize: `${args[0]}${args[2]}`,\n }\n },\n })`\n box-sizing: border-box;\n isolation: isolate;\n display: inline-flex;\n width: max-content;\n flex-shrink: 0;\n\n ${colorSchema}\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n\n ${(props) => props.cursor && `cursor: ${props.cursor};`}\n ${(props) =>\n props.color &&\n `& > ${Content} {\n color: ${getColor(props.color, props)};\n }`}\n ${(props) =>\n props.backgroundColor &&\n `& > ${Content} {\n background-color: ${getColor(props.backgroundColor, props)};\n }\n & > ${Edge} {\n color: ${getColor(props.backgroundColor, props)};\n }`}\n`\n"],"names":["shouldForwardArrowBadgeProp","createShouldForwardProp","Content","styled","div","withConfig","componentId","Edge","svg","shouldForwardProp","attrs","props","Shape","Rectangle","fancy","Fancy","right","after","left","Arrow","as","template","palette","concat","color","backgroundColor","COLOR_SCHEMA","primary","css","_objectSpread","theme","colors","secondary","tertiary","quaternary","Root","dynamicSizeDeclaration","o","r","n","height","fontSize","arguments","length","undefined","focus","responsiveSize","responsiveMargin","cursor","getColor"],"mappings":"4fAaA,IAAMA,EAA8BC,IAEvBC,IAAAA,EAAUC,EAAOC,IAAVC,WAAA,CAAAC,YAAA,uBAAGH,CAAhB,CAAA,2FASA,IAAMI,EAAOJ,EAAOK,IACxBH,WAAW,CAAEI,kBAAmB,SAChCC,OAAOC,IACN,IAAIC,EAAQC,EAKZ,OAHIF,EAAMG,QAAOF,EAAQG,IACpBJ,EAAMK,OAASL,EAAMM,OAAWN,EAAMO,OAASP,EAAMM,SAAQL,EAAQO,GAEnE,CAAEC,GAAIR,MARAP,WAAA,CAAAC,YAAA,uBAAGH,CAAH,CAAA,6BAAA,KAYZQ,GAAUA,EAAMM,OAAS,+BAG9B,IAAMI,EAAYC,qBACVpB,EADS,mBAAAqB,OAEJD,EAAQE,0CACGF,EAAQG,gBAExBlB,kBAAAA,OAAAA,4BACKe,EAAQG,gBANrB,YAUA,IAAMC,EAAe,CACnBC,QAASC,EACJjB,CAAAA,GAAAA,KAAAA,GACDU,EAAQQ,EAAA,CACNL,MAAOb,EAAMmB,MAAMC,OAAO,0BAC1BN,gBAAiBd,EAAMmB,MAAMC,OAAO,yBACjCpB,EAAMW,YAGfU,UAAWJ,EACNjB,CAAAA,GAAAA,KAAAA,GACDU,EAAQQ,EAAA,CACNL,MAAOb,EAAMmB,MAAMC,OAAO,0BAC1BN,gBAAiBd,EAAMmB,MAAMC,OAAO,2BACjCpB,EAAMW,YAGfW,SAAUL,EACLjB,CAAAA,GAAAA,KAAAA,GACDU,EAAQQ,EAAA,CACNL,MAAOb,EAAMmB,MAAMC,OAAO,0BAC1BN,gBAAiBd,EAAMmB,MAAMC,OAAO,0BACjCpB,EAAMW,YAGfY,WAAYN,EACPjB,CAAAA,GAAAA,KAAAA,GACDU,EAAQQ,EAAA,CACNL,MAAOb,EAAMmB,MAAMC,OAAO,0BAC1BN,gBAAiBd,EAAMmB,MAAMC,OAAO,4BACjCpB,EAAMW,aAaV,IAAMa,EAAOhC,EAAOC,IACxBC,WAAkC,CACjCI,kBAAmBT,IAEpBU,MAAM,CACL0B,uBAAwB,SAAAC,EAAAC,EAAAC,GACtB,MAAO,CACLC,OAAQ,QACRC,SAAQ,GAAAlB,OAAAmB,UAAAC,QAAA,OAAAC,EAHYP,GAGZd,OAAAmB,UAAAC,QAAA,OAAA,EAHYJ,OALXlC,WAAA,CAAAC,YAAA,uBAAGH,CAAH,CAAA,+FAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KARIQ,GACfA,EAAMuB,WAAmBR,EAAaQ,WACtCvB,EAAMsB,SAAiBP,EAAaO,SACpCtB,EAAMqB,UAAkBN,EAAaM,UAElCN,EAAaC,SAsBlBkB,EACAC,EACAC,GAECpC,GAAUA,EAAMqC,QAAqBrC,WAAAA,OAAAA,EAAMqC,OAvB/B,OAwBZrC,GACDA,EAAMa,OAAN,OAAAD,OACOrB,EADP,sBAAAqB,OAEY0B,EAAStC,EAAMa,MAAOb,GAFlC,eAICA,GACDA,EAAMc,iBACCvB,OAAAA,OAAAA,EACgB+C,iCAAAA,OAAAA,EAAStC,EAAMc,gBAAiBd,GAEhDJ,wBAAAA,OAAAA,+BACK0C,EAAStC,EAAMc,gBAAiBd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport { Text
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import { ColorProperty } from 'mixins/color'\nimport { DisplayProperty } from 'mixins/display'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps, TextProps } from 'shared/interfaces'\nimport { Text } from '../Text'\nimport * as Styled from './style'\n\nexport interface BadgeProps extends BaseProps, ColorProperty, DisplayProperty {\n /**\n * Children react node\n */\n children?: React.ReactNode\n content?: string | React.ReactNode\n textProps?: TextProps\n /** Make badge round */\n round?: string\n}\n\nBadge.displayName = 'Badge'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n */\nexport function Badge({\n children,\n content,\n className,\n textProps,\n round,\n display = 'inline-block',\n ...restProps\n}: BadgeProps) {\n const _className = useClassname(Badge.displayName, className)\n return (\n <Styled.Root round={round} display={display} className={_className} {...restProps}>\n <Text\n className='text'\n size={round ? 10 : 12}\n weight={round ? 'bolder' : 'normal'}\n lineHeight='s'\n content={typeof content === 'string' ? content : undefined}\n {...textProps}\n >\n {children || content}\n </Text>\n </Styled.Root>\n )\n}\n"],"names":["Badge","_ref","children","content","className","textProps","round","display","restProps","_objectWithoutProperties","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","_objectSpread","Text","size","weight","lineHeight","undefined"],"mappings":"qWA0BO,SAASA,EAQDC,GAAA,IAROC,SACpBA,EADoBC,QAEpBA,EAFoBC,UAGpBA,EAHoBC,UAIpBA,EAJoBC,MAKpBA,EALoBC,QAMpBA,EAAU,gBAEGN,EADVO,EACUC,EAAAR,EAAAS,GACb,IAAMC,EAAaC,EAAaZ,EAAMa,YAAaT,GACnD,OACEU,EAACC,EAADC,EAAAA,EAAA,CAAaV,MAAOA,EAAOC,QAASA,EAASH,UAAWO,GAAgBH,GAAxE,GAAA,CAAAN,SACEY,EAACG,EAADD,EAAAA,EAAA,CACEZ,UAAU,OACVc,KAAMZ,EAAQ,GAAK,GACnBa,OAAQb,EAAQ,SAAW,SAC3Bc,WAAW,IACXjB,QAA4B,iBAAZA,EAAuBA,OAAUkB,GAC7ChB,GANN,GAAA,CAAAH,SAQGA,GAAYC,QA5BrBH,EAAMa,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as r}from'react';import{Link as a}from'react-router-dom';import{mergeDeepLeft as n}from'ramda';import{useClassname as s}from'../../hooks/useClassname.js';import{useFallbackTheme as t}from'../../hooks/use-theme.js';import{useConfigPriority as i}from'../../hooks/use-config-priority.js';import{useComputedRel as l,useComputedLinkProps as d}from'./hooks.js';import{PROPS_BY_SIZE as c,SIZES_BRAND as u,SIZES as m,SIZES_ROUND_BRAND as p,SIZES_ROUND as f}from'./constants.js';import{Root as h,IconSlot as v,Content as C,SpinnerIcon as y,CheckIcon as b}from'./style.js';import{jsxs as g,jsx as k}from'react/jsx-runtime';var N=["display","size","sizes","fontColor","color","disabled","rounded","width","as","type","className","children","content","onClick","onClickCapture","onMouseEnter","onMouseLeave"];var S='Button';var j=r(((r,S)=>{var j;var R=t();var E=i(null===(j=R.components)||void 0===j?void 0:j.Button,r),{display:B="inline-flex",size:_="m",sizes:x,fontColor:I="white",color:M="accent",disabled:z=!1,rounded:L=!0,width:P="auto",as:D="button",type:W,className:w,children:A,content:O,onClick:Z,onClickCapture:U,onMouseEnter:T,onMouseLeave:F}=E,H=e(E,N);var Y='brand'===R.preset;if('string'==typeof H.preset&&(Y='brand'===H.preset),!Y&&'string'==typeof _&&!H.round){var q;var G=null!==(q=c[_])&&void 0!==q?q:{};H=o(o({},G),H)}var J=Y?u:m;H.round&&(J=Y?p:f),x&&(J=n(x,J));var K=s("Button",w);var Q=s("Button");var V=l(R,H);var X=d(D,z,H);H.href&&(D='a'),H.to&&(D=a),H.primary&&(M='primary'),H.secondary&&(M='atlantis');var $=Y?800:600;H.fontWeight&&($=H.fontWeight);var oo='number'==typeof $&&$>=800||'bold'===$;var eo='0px';L&&(eo=Y?'48px':'5px'),H.round&&(eo='50%');var[ro,ao]=Array.isArray(H.icon)?H.icon:[H.icon];return Y&&H.loading&&!H.success&&!z&&(ro=k(y,{strokeWidth:oo?2.5:1.5}),ao=null),H.success&&(ro=k(b,{strokeWidth:oo?3:1.5}),ao=null),g(h,o(o(o({},H),X),{},{className:K,as:D,color:M,fontColor:I,disabled:z,rel:V,display:B,rounded:L,size:_,sizes:J,dynamicSizeDeclaration:(o,e,r)=>({[e]:"".concat(o).concat(r),padding:H.round?'1em':'1em 1.6em'}),fontWeight:$,borderRadius:eo,brandPresetUsed:Y,ref:null!=S?S:H.innerRef,type:'button'===D?W:void 0,lineHeight:Y?1.2:1,width:H.round?void 0:P,onClick:o=>{z||H.loading||null==Z||Z(o)},onClickCapture:o=>{z||H.loading||null==U||U(o)},onMouseEnter:o=>{z||H.loading||null==T||T(o)},onMouseLeave:o=>{z||H.loading||null==F||F(o)},children:[ro&&k(v,{className:"icon",marginRight:!H.round,children:ro}),(O||A)&&k(C,{className:"".concat(Q,"__content"),children:O||A}),ao&&!H.round&&k(v,{className:"icon",marginLeft:!0,children:ao})]}))}));j.displayName="Button";export{j as Button,S as COMPONENT_NAME};
|
|
1
|
+
import o from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as r}from'react';import{Link as a}from'react-router-dom';import{mergeDeepLeft as n}from'ramda';import{useClassname as s}from'../../hooks/useClassname.js';import{useFallbackTheme as t}from'../../hooks/use-theme.js';import{useConfigPriority as i}from'../../hooks/use-config-priority.js';import{useComputedRel as l,useComputedLinkProps as d}from'./hooks.js';import{PROPS_BY_SIZE as c,SIZES_BRAND as u,SIZES as m,SIZES_ROUND_BRAND as p,SIZES_ROUND as f}from'./constants.js';import{Root as h,IconSlot as v,Content as C,SpinnerIcon as y,CheckIcon as b}from'./style.js';import{jsxs as g,jsx as k}from'react/jsx-runtime';var N=["display","size","sizes","fontColor","color","disabled","rounded","width","as","type","className","children","content","onClick","onClickCapture","onMouseEnter","onMouseLeave"];var S='Button';var j=r(((r,S)=>{var j;var R=t();var E=i(null===(j=R.components)||void 0===j?void 0:j.Button,r),{display:B="inline-flex",size:_="m",sizes:x,fontColor:I="white",color:M="accent",disabled:z=!1,rounded:L=!0,width:P="auto",as:D="button",type:W,className:w,children:A,content:O,onClick:Z,onClickCapture:U,onMouseEnter:T,onMouseLeave:F}=E,H=e(E,N);var Y='brand'===R.preset;if('string'==typeof H.preset&&(Y='brand'===H.preset),!Y&&'string'==typeof _&&!H.round){var q;var G=null!==(q=c[_])&&void 0!==q?q:{};H=o(o({},G),H)}var J=Y?u:m;H.round&&(J=Y?p:f),x&&(J=n(x,J));var K=s("Button",w);var Q=s("Button");var V=l(R,H);var X=d(D,z,H);H.href&&(D='a'),H.to&&(D=a),H.primary&&(M='primary'),H.secondary&&(M='atlantis');var $=Y?800:600;H.fontWeight&&($=H.fontWeight);var oo='number'==typeof $&&$>=800||'bold'===$;var eo='0px';L&&(eo=Y?'48px':'5px'),H.round&&(eo='50%');var[ro,ao]=Array.isArray(H.icon)?H.icon:[H.icon];return Y&&H.loading&&!H.success&&!z&&(ro=k(y,{strokeWidth:oo?2.5:1.5}),ao=null),H.success&&(ro=k(b,{strokeWidth:oo?3:1.5}),ao=null),g(h,o(o(o({},H),X),{},{className:K,as:D,color:M,fontColor:I,disabled:z,rel:V,display:B,rounded:L,size:_,sizes:J,dynamicSizeDeclaration:(o,e,r)=>({[e]:"".concat(o).concat(r),padding:H.round?'1em':'1em 1.6em'}),fontWeight:$,borderRadius:eo,brandPresetUsed:Y,ref:null!=S?S:H.innerRef,type:'button'===D?W:void 0,lineHeight:Y?1.2:1,width:H.round?void 0:P,palette:{},onClick:o=>{z||H.loading||null==Z||Z(o)},onClickCapture:o=>{z||H.loading||null==U||U(o)},onMouseEnter:o=>{z||H.loading||null==T||T(o)},onMouseLeave:o=>{z||H.loading||null==F||F(o)},children:[ro&&k(v,{className:"icon",marginRight:!H.round,children:ro}),(O||A)&&k(C,{className:"".concat(Q,"__content"),children:O||A}),ao&&!H.round&&k(v,{className:"icon",marginLeft:!0,children:ao})]}))}));j.displayName="Button";export{j as Button,S as COMPONENT_NAME};
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/interfaces'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_BRAND, SIZES_ROUND, SIZES_ROUND_BRAND, PROPS_BY_SIZE } from './constants'\nimport type { ButtonProps, StyledButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n sizes,\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n if (!brandPresetUsed && typeof size === 'string' && !configProps.round) {\n const propsBySize = PROPS_BY_SIZE[size] ?? {}\n configProps = { ...propsBySize, ...configProps }\n }\n\n let componentSizes = brandPresetUsed ? SIZES_BRAND : SIZES\n if (configProps.round) componentSizes = brandPresetUsed ? SIZES_ROUND_BRAND : SIZES_ROUND\n if (sizes) componentSizes = mergeDeepLeft(sizes, componentSizes) as Sizes\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleDynamicSizeDeclaration: StyledButtonProps['dynamicSizeDeclaration'] = (size, cssProperty, cssUnit) => {\n return {\n [cssProperty]: `${size}${cssUnit}`,\n padding: configProps.round ? '1em' : '1em 1.6em',\n }\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n sizes={componentSizes}\n dynamicSizeDeclaration={handleDynamicSizeDeclaration}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n"],"names":["COMPONENT_NAME","Button","forwardRef","props","ref","_theme$components","theme","useFallbackTheme","useConfigPriority","components","display","size","sizes","fontColor","color","disabled","rounded","width","as","_as","type","_type","className","_className","children","content","onClick","onClickCapture","onMouseEnter","onMouseLeave","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","brandPresetUsed","preset","round","_PROPS_BY_SIZE$size","propsBySize","PROPS_BY_SIZE","componentSizes","SIZES_BRAND","SIZES","SIZES_ROUND_BRAND","SIZES_ROUND","mergeDeepLeft","useClassname","classNameContent","rel","useComputedRel","linkProps","useComputedLinkProps","href","to","Link","primary","secondary","fontWeight","fontBold","borderRadius","leftIcon","rightIcon","Array","isArray","icon","loading","success","_jsx","Styled.SpinnerIcon","strokeWidth","Styled.CheckIcon","_jsxs","Styled.Root","dynamicSizeDeclaration","cssProperty","cssUnit","concat","padding","innerRef","
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Link } from 'react-router-dom'\nimport { mergeDeepLeft } from 'ramda'\nimport { useClassname } from 'hooks/useClassname'\nimport { useFallbackTheme } from 'hooks/use-theme'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport type { Sizes } from 'shared/interfaces'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_BRAND, SIZES_ROUND, SIZES_ROUND_BRAND, PROPS_BY_SIZE } from './constants'\nimport type { ButtonProps, StyledButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n * Main button\n */\nconst Button = forwardRef<HTMLElement, ButtonProps>((props, ref) => {\n const theme = useFallbackTheme()\n\n let {\n display = 'inline-flex',\n size = 'm',\n sizes,\n fontColor = 'white',\n color = 'accent',\n disabled = false,\n rounded = true,\n width = 'auto',\n as: _as = 'button',\n type: _type,\n className: _className,\n children,\n content,\n onClick,\n onClickCapture,\n onMouseEnter,\n onMouseLeave,\n ...configProps\n } = useConfigPriority<ButtonProps>(theme.components?.Button, props)\n\n let brandPresetUsed = theme.preset === 'brand'\n if (typeof configProps.preset === 'string') brandPresetUsed = configProps.preset === 'brand'\n\n if (!brandPresetUsed && typeof size === 'string' && !configProps.round) {\n const propsBySize = PROPS_BY_SIZE[size] ?? {}\n configProps = { ...propsBySize, ...configProps }\n }\n\n let componentSizes = brandPresetUsed ? SIZES_BRAND : SIZES\n if (configProps.round) componentSizes = brandPresetUsed ? SIZES_ROUND_BRAND : SIZES_ROUND\n if (sizes) componentSizes = mergeDeepLeft(sizes, componentSizes) as Sizes\n\n const className = useClassname(COMPONENT_NAME, _className)\n const classNameContent = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, configProps)\n const linkProps = useComputedLinkProps(_as, disabled, configProps)\n\n if (configProps.href) _as = 'a'\n if (configProps.to) _as = Link\n\n if (configProps.primary) color = 'primary'\n if (configProps.secondary) color = 'atlantis'\n\n let fontWeight: ButtonProps['fontWeight'] = brandPresetUsed ? 800 : 600\n if (configProps.fontWeight) fontWeight = configProps.fontWeight\n\n const fontBold = (typeof fontWeight === 'number' && fontWeight >= 800) || fontWeight === 'bold'\n\n let borderRadius = '0px'\n if (rounded) borderRadius = brandPresetUsed ? '48px' : '5px'\n if (configProps.round) borderRadius = '50%'\n\n let [leftIcon, rightIcon] = Array.isArray(configProps.icon) ? configProps.icon : [configProps.icon]\n\n if (brandPresetUsed && configProps.loading && !configProps.success && !disabled) {\n leftIcon = <Styled.SpinnerIcon strokeWidth={fontBold ? 2.5 : 1.5} />\n rightIcon = null\n }\n if (configProps.success) {\n leftIcon = <Styled.CheckIcon strokeWidth={fontBold ? 3 : 1.5} />\n rightIcon = null\n }\n\n const handleDynamicSizeDeclaration: StyledButtonProps['dynamicSizeDeclaration'] = (size, cssProperty, cssUnit) => {\n return {\n [cssProperty]: `${size}${cssUnit}`,\n padding: configProps.round ? '1em' : '1em 1.6em',\n }\n }\n\n const handleClick: ButtonProps['onClick'] = (evt) => {\n if (!disabled && !configProps.loading) onClick?.(evt)\n }\n const handleClickCapture: ButtonProps['onClickCapture'] = (evt) => {\n if (!disabled && !configProps.loading) onClickCapture?.(evt)\n }\n const handleMouseEnter: ButtonProps['onMouseEnter'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseEnter?.(evt)\n }\n const handleMouseLeave: ButtonProps['onMouseLeave'] = (evt) => {\n if (!disabled && !configProps.loading) onMouseLeave?.(evt)\n }\n\n return (\n <Styled.Root\n {...configProps}\n {...linkProps}\n className={className}\n as={_as}\n color={color}\n fontColor={fontColor}\n disabled={disabled}\n rel={rel}\n display={display}\n rounded={rounded}\n size={size}\n sizes={componentSizes}\n dynamicSizeDeclaration={handleDynamicSizeDeclaration}\n fontWeight={fontWeight}\n borderRadius={borderRadius}\n brandPresetUsed={brandPresetUsed}\n ref={ref ?? configProps.innerRef}\n type={_as === 'button' ? _type : undefined}\n lineHeight={brandPresetUsed ? 1.2 : 1}\n width={configProps.round ? undefined : width}\n palette={{}}\n onClick={handleClick}\n onClickCapture={handleClickCapture}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {leftIcon && (\n <Styled.IconSlot className='icon' marginRight={!configProps.round}>\n {leftIcon}\n </Styled.IconSlot>\n )}\n {(content || children) && (\n <Styled.Content className={`${classNameContent}__content`}>{content || children}</Styled.Content>\n )}\n {rightIcon && !configProps.round && (\n <Styled.IconSlot className='icon' marginLeft>\n {rightIcon}\n </Styled.IconSlot>\n )}\n </Styled.Root>\n )\n})\n\nButton.displayName = COMPONENT_NAME\n\nexport { Button, COMPONENT_NAME }\n\nexport type { ButtonProps }\n"],"names":["COMPONENT_NAME","Button","forwardRef","props","ref","_theme$components","theme","useFallbackTheme","useConfigPriority","components","display","size","sizes","fontColor","color","disabled","rounded","width","as","_as","type","_type","className","_className","children","content","onClick","onClickCapture","onMouseEnter","onMouseLeave","_useConfigPriority","configProps","_objectWithoutProperties","_excluded","brandPresetUsed","preset","round","_PROPS_BY_SIZE$size","propsBySize","PROPS_BY_SIZE","componentSizes","SIZES_BRAND","SIZES","SIZES_ROUND_BRAND","SIZES_ROUND","mergeDeepLeft","useClassname","classNameContent","rel","useComputedRel","linkProps","useComputedLinkProps","href","to","Link","primary","secondary","fontWeight","fontBold","borderRadius","leftIcon","rightIcon","Array","isArray","icon","loading","success","_jsx","Styled.SpinnerIcon","strokeWidth","Styled.CheckIcon","_jsxs","Styled.Root","dynamicSizeDeclaration","cssProperty","cssUnit","concat","padding","innerRef","lineHeight","palette","evt","Styled.IconSlot","marginRight","Styled.Content","marginLeft","displayName"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o,{css as n,keyframes as r}from'styled-components';import e from'tinycolor2';import{property as t,responsiveNamedProperty as a}from'../../mixins/responsive-property.js';import{color as c}from'../../mixins/color.js';import{responsiveSize as i}from'../../mixins/size.js';import{injectDefaultTheme as s}from'../../shared/utils/inject-theme.js';import{FORWARD_PROPS as d}from'./constants.js';import l from'./images/check.module.svg.js';import g from'./images/spinner.module.svg.js';var m={xl:320,l:280,m:245,s:180,xs:140};var p=n(["",""],(o=>"\n display: ".concat(o.display,";\n font-weight: ").concat(o.fontWeight,";\n border-radius: ").concat(o.borderRadius,";\n line-height: ").concat(o.lineHeight,";\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ").concat(o.noSpacing?'auto':'1em',";\n }\n ")));var h=r(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);var b=r(["100%{transform:rotate(360deg);}"]);var u=n(["background-image:linear-gradient( -45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:25px 25px;animation:"," 2s linear infinite;cursor:progress;"],h);var f=o=>'auto'===o?'auto':'number'==typeof o||'boolean'==typeof o?o:o&&m[o]?m[o]:'auto';var v=()=>n(["min-width:initial;width:100%;"]);var y="\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n";var L={filled:{default:n(["",""],(o=>{var n=o.theme.colors['bg-brand-primary-basic'];o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-oncolor-primary'];o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(e=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(e,";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-primary'];o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-constant'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},outline:{default:n(["",""],(o=>{var n='transparent';!o.loading||o.success||o.black||o.danger||(n=o.theme.colors['bg-brand-primary-basic']),o.loading&&!o.success&&o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.loading&&!o.success&&o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),(o.success||o.loading)&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['border-brand-primary'];o.black&&(e=o.theme.colors['border-onmain-contrast']),o.danger&&(e=o.theme.colors['alert-bg-error-500']),o.loading&&!o.success&&(e='transparent'),o.success&&(e=o.theme.colors['alert-bg-success-500']),o.disabled&&(e=o.theme.colors['bg-disabled-large']);var t=o.theme.colors['bg-brand-primary-basic'];o.black&&(t=o.theme.colors['bg-onmain-contrast']),o.danger&&(t=o.theme.colors['alert-bg-error-500']);var a=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(a=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 1px ").concat(e,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(t,";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n background-color: ").concat(a,";\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-primary'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")})),onColored:n(["",""],(o=>{var n='transparent';(o.success||o.loading)&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];o.loading&&!o.success&&(r=o.theme.colors['content-oncolor-constant']),o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']);var e=o.theme.colors['border-oncolor-default'];return o.disabled&&(e='transparent'),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 1px ").concat(e,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-primary'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-constant'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")}))},base:{default:n(["",""],(o=>{var n=o.theme.colors['bg-onmain-tertiary'];o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];return o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),o.success&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-secondary'];o.success&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},clear:{default:n(["",""],(o=>{var n=o.theme.colors['content-brand-primary'];return o.black&&(n=o.theme.colors['content-oncolor-inverse']),o.danger&&(n=o.theme.colors['alert-error']),o.success&&(n=o.theme.colors['alert-success']),o.disabled&&(n=o.theme.colors['content-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['content-oncolor-primary'];return o.disabled&&(n=o.theme.colors['content-oncolor-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))}};var S={default:n([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':"\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ".concat(o.fontColor,";\n background-color: ").concat(e(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString(),";\n }\n ").concat(o.inverted||o.basic||o.outline?"\n &:not(:hover) {\n border: 1px solid ".concat(o.theme.colors[o.color],";\n }\n &:hover {\n border: 1px solid ").concat(o.theme.colors[o.color],";\n }\n "):'',"\n ")),(o=>o.loading?u:''),(o=>{var n='background-color';return(o.inverted||o.basic||o.outline)&&(n='color'),c(o.color,n)}),(o=>{var n='color';return(o.inverted||o.basic||o.outline)&&(n='background-color'),c(o.fontColor,n)}),(o=>o.disabled?"\n cursor: not-allowed;\n background-color: ".concat(o.theme.colors.mercury,";\n color: ").concat(o.theme.colors.silver,";\n "):''),(o=>o.basic||o.outline?'background-color: transparent;':''))};var x=o.button.withConfig({shouldForwardProp:o=>d.includes(o)||o.includes('data')}).attrs(s).withConfig({componentId:"fox-ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],p,(o=>o.brandPresetUsed?!o.clear||o.base||o.outline||o.onColored?o.clear&&!o.base&&!o.outline&&o.onColored?L.clear.onColored:!o.base||o.clear||o.outline||o.onColored?o.base&&!o.clear&&!o.outline&&o.onColored?L.base.onColored:!o.outline||o.clear||o.base||o.onColored?o.outline&&!o.clear&&!o.base&&o.onColored?L.outline.onColored:o.onColored?L.filled.onColored:L.filled.default:L.outline.default:L.base.default:L.clear.default:S.default),i,(o=>o.padding?t(o.padding,'padding'):null),(o=>o.paddingTop?t(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?t(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?t(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?t(o.paddingLeft,'padding-left'):null),(o=>o.margin?t(o.margin,'margin'):null),(o=>o.marginTop?t(o.marginTop,'margin-top'):null),(o=>o.marginRight?t(o.marginRight,'margin-right'):null),(o=>o.marginBottom?t(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?t(o.marginLeft,'margin-left'):null),(o=>o.fontSize?t(o.fontSize,'font-size'):null),(o=>o.height?t(o.height,'height'):null),(o=>{var n=o.fluid&&'auto'!==o.width?'max-width':'width';return o.width?t(f(o.width),n):null}),(o=>{var{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c}=o;return a({sizes:{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c},cssProperty:'padding'})}),(o=>{var{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c}=o;return a({sizes:{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c},cssProperty:'padding-top'})}),(o=>{var{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c}=o;return a({sizes:{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c},cssProperty:'padding-right'})}),(o=>{var{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c}=o;return a({sizes:{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c},cssProperty:'padding-bottom'})}),(o=>{var{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c}=o;return a({sizes:{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c},cssProperty:'padding-left'})}),(o=>{var{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c}=o;return a({sizes:{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c},cssProperty:'margin'})}),(o=>{var{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c}=o;return a({sizes:{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c},cssProperty:'margin-top'})}),(o=>{var{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c}=o;return a({sizes:{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c},cssProperty:'margin-right'})}),(o=>{var{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c}=o;return a({sizes:{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c},cssProperty:'margin-bottom'})}),(o=>{var{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c}=o;return a({sizes:{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c},cssProperty:'margin-left'})}),(o=>{var{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c}=o;return a({sizes:{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c},cssProperty:'font-size'})}),(o=>{var{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c}=o;return a({sizes:{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c},cssProperty:'height'})}),(o=>{var{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c,fluid:i,width:s}=o;return a({sizes:{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c},cssProperty:i&&'auto'!==s?'max-width':'width',customSizeHandler:f})}),(o=>o.fluid?t(o.fluid,v):null),(o=>{var{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c}=o;return a({sizes:{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c},cssProperty:v})}));var X=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-1"})(["",""],(o=>"\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ".concat(o.marginLeft?'0.4em':0,";\n margin-right: ").concat(o.marginRight?'0.4em':0,";\n ")));var w=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-2"})(["position:relative;z-index:1;"]);var k=o(g).withConfig({componentId:"fox-ui__sc-16o31r2-3"})(["width:100%;animation:"," 2000ms linear infinite;",""],b,(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));var z=o(l).withConfig({componentId:"fox-ui__sc-16o31r2-4"})(["width:100%;",""],(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));export{z as CheckIcon,w as Content,X as IconSlot,x as Root,k as SpinnerIcon};
|
|
1
|
+
import o,{css as n,keyframes as r}from'styled-components';import e from'tinycolor2';import{property as t,responsiveNamedProperty as a}from'../../mixins/responsive-property.js';import{color as c}from'../../mixins/color.js';import{responsiveSize as i}from'../../mixins/size.js';import{injectDefaultTheme as s}from'../../shared/utils/inject-theme.js';import{FORWARD_PROPS as d}from'./constants.js';import l from'./images/check.module.svg.js';import g from'./images/spinner.module.svg.js';var m={xl:320,l:280,m:245,s:180,xs:140};var p=n(["",""],(o=>"\n display: ".concat(o.display,";\n font-weight: ").concat(o.fontWeight,";\n border-radius: ").concat(o.borderRadius,";\n line-height: ").concat(o.lineHeight,";\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ").concat(o.noSpacing?'auto':'1em',";\n }\n ")));var h=r(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);var b=r(["100%{transform:rotate(360deg);}"]);var u=n(["background-image:linear-gradient( -45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:25px 25px;animation:"," 2s linear infinite;cursor:progress;"],h);var f=o=>'auto'===o?'auto':'number'==typeof o||'boolean'==typeof o?o:o&&m[o]?m[o]:'auto';var v=()=>n(["min-width:initial;width:100%;"]);var y="\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n";var L={filled:{default:n(["",""],(o=>{var n=o.theme.colors['bg-brand-primary-basic'];o.black&&(n=o.theme.colors['bg-onmain-contrast']),o.danger&&(n=o.theme.colors['alert-bg-error-500']),o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-oncolor-primary'];o.disabled&&(r=o.theme.colors['content-disabled']);var e=o.theme.colors['bg-oncolor-hover'];return o.black&&!o.danger&&(e=o.theme.colors['bg-oncontrast-hover']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(e,";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-primary'];o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-constant'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},outline:{default:n(["",""],(o=>{var n=o.theme.colors.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=o.theme.colors.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 1px ").concat(e,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(t,";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n background-color: ").concat(a,";\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-primary'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors.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=o.theme.colors.transparent),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n box-shadow: inset 0 0 0 1px ").concat(e,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-primary'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover {\n color: ".concat(o.theme.colors['content-oncolor-constant'],";\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n "),"\n ")}))},base:{default:n(["",""],(o=>{var n=o.theme.colors['bg-onmain-tertiary'];o.success&&(n=o.theme.colors['alert-bg-success-500']),o.disabled&&(n=o.theme.colors['bg-disabled-large']);var r=o.theme.colors['content-brand-primary'];return o.black&&(r=o.theme.colors['content-oncolor-inverse']),o.danger&&(r=o.theme.colors['alert-error']),o.success&&(r=o.theme.colors['content-oncolor-primary']),o.disabled&&(r=o.theme.colors['content-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['bg-oncolor-secondary'];o.success&&(n=o.theme.colors['bg-oncolor-primary']),o.disabled&&(n=o.theme.colors['bg-oncolor-disabled']);var r=o.theme.colors['content-oncolor-primary'];return o.success&&(r=o.theme.colors['alert-success']),o.disabled&&(r=o.theme.colors['content-oncolor-disabled']),"\n background-color: ".concat(n,";\n color: ").concat(r,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))},clear:{default:n(["",""],(o=>{var n=o.theme.colors['content-brand-primary'];return o.black&&(n=o.theme.colors['content-oncolor-inverse']),o.danger&&(n=o.theme.colors['alert-error']),o.success&&(n=o.theme.colors['alert-success']),o.disabled&&(n=o.theme.colors['content-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncolor-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")})),onColored:n(["",""],(o=>{var n=o.theme.colors['content-oncolor-primary'];return o.disabled&&(n=o.theme.colors['content-oncolor-disabled']),"\n background-color: transparent;\n color: ".concat(n,";\n\n &::before {\n ").concat(y,"\n background-color: ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n &::after {\n ").concat(y,"\n box-shadow: inset 0px 4px 0px ").concat(o.theme.colors['bg-oncontrast-hover'],";\n opacity: 0;\n }\n\n ").concat(o.disabled||o.success||o.loading?'cursor: default;':"\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n ","\n ")}))}};var S={default:n([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':"\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ".concat(o.fontColor,";\n background-color: ").concat(e(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString(),";\n }\n ").concat(o.inverted||o.basic||o.outline?"\n &:not(:hover) {\n border: 1px solid ".concat(o.theme.colors[o.color],";\n }\n &:hover {\n border: 1px solid ").concat(o.theme.colors[o.color],";\n }\n "):'',"\n ")),(o=>o.loading?u:''),(o=>{var n='background-color';return(o.inverted||o.basic||o.outline)&&(n='color'),c(o.color,n)}),(o=>{var n='color';return(o.inverted||o.basic||o.outline)&&(n='background-color'),c(o.fontColor,n)}),(o=>o.disabled?"\n cursor: not-allowed;\n background-color: ".concat(o.theme.colors.mercury,";\n color: ").concat(o.theme.colors.silver,";\n "):''),(o=>o.basic||o.outline?'background-color: transparent;':''))};var x=o.button.withConfig({shouldForwardProp:o=>d.includes(o)||o.includes('data')}).attrs(s).withConfig({componentId:"fox-ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],p,(o=>o.brandPresetUsed?!o.clear||o.base||o.outline||o.onColored?o.clear&&!o.base&&!o.outline&&o.onColored?L.clear.onColored:!o.base||o.clear||o.outline||o.onColored?o.base&&!o.clear&&!o.outline&&o.onColored?L.base.onColored:!o.outline||o.clear||o.base||o.onColored?o.outline&&!o.clear&&!o.base&&o.onColored?L.outline.onColored:o.onColored?L.filled.onColored:L.filled.default:L.outline.default:L.base.default:L.clear.default:S.default),i,(o=>o.padding?t(o.padding,'padding'):null),(o=>o.paddingTop?t(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?t(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?t(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?t(o.paddingLeft,'padding-left'):null),(o=>o.margin?t(o.margin,'margin'):null),(o=>o.marginTop?t(o.marginTop,'margin-top'):null),(o=>o.marginRight?t(o.marginRight,'margin-right'):null),(o=>o.marginBottom?t(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?t(o.marginLeft,'margin-left'):null),(o=>o.fontSize?t(o.fontSize,'font-size'):null),(o=>o.height?t(o.height,'height'):null),(o=>{var n=o.fluid&&'auto'!==o.width?'max-width':'width';return o.width?t(f(o.width),n):null}),(o=>{var{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c}=o;return a({sizes:{paddingXS:n,paddingS:r,paddingM:e,paddingL:t,paddingXL:c},cssProperty:'padding'})}),(o=>{var{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c}=o;return a({sizes:{paddingTopXS:n,paddingTopS:r,paddingTopM:e,paddingTopL:t,paddingTopXL:c},cssProperty:'padding-top'})}),(o=>{var{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c}=o;return a({sizes:{paddingRightXS:n,paddingRightS:r,paddingRightM:e,paddingRightL:t,paddingRightXL:c},cssProperty:'padding-right'})}),(o=>{var{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c}=o;return a({sizes:{paddingBottomXS:n,paddingBottomS:r,paddingBottomM:e,paddingBottomL:t,paddingBottomXL:c},cssProperty:'padding-bottom'})}),(o=>{var{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c}=o;return a({sizes:{paddingLeftXS:n,paddingLeftS:r,paddingLeftM:e,paddingLeftL:t,paddingLeftXL:c},cssProperty:'padding-left'})}),(o=>{var{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c}=o;return a({sizes:{marginXS:n,marginS:r,marginM:e,marginL:t,marginXL:c},cssProperty:'margin'})}),(o=>{var{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c}=o;return a({sizes:{marginTopXS:n,marginTopS:r,marginTopM:e,marginTopL:t,marginTopXL:c},cssProperty:'margin-top'})}),(o=>{var{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c}=o;return a({sizes:{marginRightXS:n,marginRightS:r,marginRightM:e,marginRightL:t,marginRightXL:c},cssProperty:'margin-right'})}),(o=>{var{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c}=o;return a({sizes:{marginBottomXS:n,marginBottomS:r,marginBottomM:e,marginBottomL:t,marginBottomXL:c},cssProperty:'margin-bottom'})}),(o=>{var{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c}=o;return a({sizes:{marginLeftXS:n,marginLeftS:r,marginLeftM:e,marginLeftL:t,marginLeftXL:c},cssProperty:'margin-left'})}),(o=>{var{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c}=o;return a({sizes:{fontSizeXS:n,fontSizeS:r,fontSizeM:e,fontSizeL:t,fontSizeXL:c},cssProperty:'font-size'})}),(o=>{var{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c}=o;return a({sizes:{heightXS:n,heightS:r,heightM:e,heightL:t,heightXL:c},cssProperty:'height'})}),(o=>{var{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c,fluid:i,width:s}=o;return a({sizes:{widthXS:n,widthS:r,widthM:e,widthL:t,widthXL:c},cssProperty:i&&'auto'!==s?'max-width':'width',customSizeHandler:f})}),(o=>o.fluid?t(o.fluid,v):null),(o=>{var{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c}=o;return a({sizes:{fluidXS:n,fluidS:r,fluidM:e,fluidL:t,fluidXL:c},cssProperty:v})}));var X=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-1"})(["",""],(o=>"\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ".concat(o.marginLeft?'0.4em':0,";\n margin-right: ").concat(o.marginRight?'0.4em':0,";\n ")));var w=o.span.withConfig({componentId:"fox-ui__sc-16o31r2-2"})(["position:relative;z-index:1;"]);var k=o(g).withConfig({componentId:"fox-ui__sc-16o31r2-3"})(["width:100%;animation:"," 2000ms linear infinite;",""],b,(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));var z=o(l).withConfig({componentId:"fox-ui__sc-16o31r2-4"})(["width:100%;",""],(o=>"\n > path {\n stroke-width: ".concat(o.strokeWidth,";\n }\n ")));export{z as CheckIcon,w as Content,X as IconSlot,x as Root,k as SpinnerIcon};
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Button/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { CalcProperty, property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color as colorFn, ColorValue } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSize } from 'mixins/size'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { FORWARD_PROPS } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { StyledButtonProps } from './types'\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst baseStyles = css<StyledButtonProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loading} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.loading && !props.success && !props.black && !props.danger)\n background = props.theme.colors['bg-brand-primary-basic']\n if (props.loading && !props.success && props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.loading && !props.success && props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success || props.loading) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-brand-primary']\n if (props.black) boxShadow = props.theme.colors['border-onmain-contrast']\n if (props.danger) boxShadow = props.theme.colors['alert-bg-error-500']\n if (props.loading && !props.success) boxShadow = 'transparent'\n if (props.success) boxShadow = props.theme.colors['alert-bg-success-500']\n if (props.disabled) boxShadow = props.theme.colors['bg-disabled-large']\n\n let backgroundBefore = props.theme.colors['bg-brand-primary-basic']\n if (props.black) backgroundBefore = props.theme.colors['bg-onmain-contrast']\n if (props.danger) backgroundBefore = props.theme.colors['alert-bg-error-500']\n\n let backgroundAfter = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundAfter = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background: ColorValue = 'transparent'\n if (props.success || props.loading) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.loading && !props.success) color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n let boxShadow: ColorValue = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = 'transparent'\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<StyledButtonProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n `\n : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n\n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return colorFn(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return colorFn(props.fontColor, cssProperty)\n }}\n\n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n\n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n `,\n}\n\nconst dynamicStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n })\n .attrs<StyledButtonProps>(injectDefaultTheme)`\n ${baseStyles}\n ${dynamicStyles}\n ${responsiveSize}\n\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n\n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n"],"names":["WIDTHS","xl","l","m","s","xs","baseStyles","css","props","concat","display","fontWeight","borderRadius","lineHeight","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","width","fluidStyles","pseudoBaseStyles","PRESET","filled","default","background","theme","colors","black","danger","success","disabled","color","backgroundBefore","onColored","outline","boxShadow","backgroundAfter","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","responsiveSize","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","fontSize","height","fluid","_ref","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","_ref12","heightXS","heightS","heightM","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","customSizeHandler","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","Spinner","strokeWidth","CheckIcon","Check"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Button/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport tiny from 'tinycolor2'\nimport type { DefaultTheme, ThemedStyledProps } from 'styled-components'\nimport { CalcProperty, property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { color as colorFn } from 'mixins/color'\nimport type { PossibleValues } from 'mixins/responsive-property'\nimport { responsiveSize } from 'mixins/size'\nimport { injectDefaultTheme } from 'shared/utils/inject-theme'\nimport { FORWARD_PROPS } from './constants'\nimport Check from './images/check.module.svg'\nimport Spinner from './images/spinner.module.svg'\nimport type { StyledButtonProps } from './types'\n\nconst WIDTHS: Record<string, number> = {\n xl: 320,\n l: 280,\n m: 245,\n s: 180,\n xs: 140,\n}\n\nconst baseStyles = css<StyledButtonProps>`\n ${(props) => `\n display: ${props.display};\n font-weight: ${props.fontWeight};\n border-radius: ${props.borderRadius};\n line-height: ${props.lineHeight};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n transition-property: color, background-color, box-shadow;\n &::before,\n &::after {\n transition-property: opacity;\n }\n &,\n &::before,\n &::after {\n transition-duration: 200ms;\n }\n & + & {\n margin-left: ${props.noSpacing ? 'auto' : '1em'};\n }\n `}\n`\n\nconst loading = keyframes`\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 50px 50px;\n }\n`\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nconst defaultLoadingStyles = css`\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 25px 25px;\n animation: ${loading} 2s linear infinite;\n cursor: progress;\n`\n\nconst getWidth = (width: PossibleValues): PossibleValues => {\n if (width === 'auto') return 'auto'\n if (typeof width === 'number') return width\n if (typeof width === 'boolean') return width\n\n if (width && WIDTHS[width]) return WIDTHS[width]\n\n return 'auto'\n}\n\nconst fluidStyles: CalcProperty = () => css`\n min-width: initial;\n width: 100%;\n`\n\nconst pseudoBaseStyles = `\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n`\n\nconst PRESET = {\n filled: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-brand-primary-basic']\n if (props.black) background = props.theme.colors['bg-onmain-contrast']\n if (props.danger) background = props.theme.colors['alert-bg-error-500']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n let backgroundBefore = props.theme.colors['bg-oncolor-hover']\n if (props.black && !props.danger) backgroundBefore = props.theme.colors['bg-oncontrast-hover']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-constant']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n outline: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors.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 = 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 = props.theme.colors.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 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${backgroundBefore};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n background-color: ${backgroundAfter};\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-primary']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors.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 = props.theme.colors['border-oncolor-default']\n if (props.disabled) boxShadow = props.theme.colors.transparent\n\n return `\n background-color: ${background};\n color: ${color};\n box-shadow: inset 0 0 0 1px ${boxShadow};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover {\n color: ${props.theme.colors['content-oncolor-constant']};\n box-shadow: none;\n }\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n base: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-onmain-tertiary']\n if (props.success) background = props.theme.colors['alert-bg-success-500']\n if (props.disabled) background = props.theme.colors['bg-disabled-large']\n\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let background = props.theme.colors['bg-oncolor-secondary']\n if (props.success) background = props.theme.colors['bg-oncolor-primary']\n if (props.disabled) background = props.theme.colors['bg-oncolor-disabled']\n\n let color = props.theme.colors['content-oncolor-primary']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: ${background};\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n clear: {\n default: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-brand-primary']\n if (props.black) color = props.theme.colors['content-oncolor-inverse']\n if (props.danger) color = props.theme.colors['alert-error']\n if (props.success) color = props.theme.colors['alert-success']\n if (props.disabled) color = props.theme.colors['content-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncolor-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n onColored: css<StyledButtonProps>`\n ${(props) => {\n let color = props.theme.colors['content-oncolor-primary']\n if (props.disabled) color = props.theme.colors['content-oncolor-disabled']\n\n return `\n background-color: transparent;\n color: ${color};\n\n &::before {\n ${pseudoBaseStyles}\n background-color: ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n &::after {\n ${pseudoBaseStyles}\n box-shadow: inset 0px 4px 0px ${props.theme.colors['bg-oncontrast-hover']};\n opacity: 0;\n }\n\n ${\n !props.disabled && !props.success && !props.loading\n ? `\n &:hover::before {\n opacity: 1;\n }\n &:active::after {\n opacity: 1;\n }\n `\n : 'cursor: default;'\n }\n `\n }}\n `,\n },\n}\n\nconst PRESET_DEFAULT = {\n default: css<StyledButtonProps>`\n ${(props) => {\n if (props.disabled || props.loading) return ''\n\n return `\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${props.fontColor};\n background-color: ${tiny(props.theme.colors[props.color]).saturate(-5).lighten(-8).toString()};\n }\n ${\n props.inverted || props.basic || props.outline\n ? `\n &:not(:hover) {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n &:hover {\n border: 1px solid ${props.theme.colors[props.color]};\n }\n `\n : ''\n }\n `\n }}\n\n ${(props) => (props.loading ? defaultLoadingStyles : '')}\n\n ${(props) => {\n let cssProperty = 'background-color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'color'\n\n return colorFn(props.color, cssProperty)\n }}\n\n ${(props) => {\n let cssProperty = 'color'\n if (props.inverted || props.basic || props.outline) cssProperty = 'background-color'\n\n return colorFn(props.fontColor, cssProperty)\n }}\n\n ${(props) => {\n if (!props.disabled) return ''\n\n return `\n cursor: not-allowed;\n background-color: ${props.theme.colors.mercury};\n color: ${props.theme.colors.silver};\n `\n }}\n\n ${(props) => (props.basic || props.outline ? 'background-color: transparent;' : '')}\n `,\n}\n\nconst dynamicStyles = (props: ThemedStyledProps<StyledButtonProps, DefaultTheme>) => {\n if (props.brandPresetUsed) {\n if (props.clear && !props.base && !props.outline && !props.onColored) return PRESET.clear.default\n if (props.clear && !props.base && !props.outline && props.onColored) return PRESET.clear.onColored\n\n if (props.base && !props.clear && !props.outline && !props.onColored) return PRESET.base.default\n if (props.base && !props.clear && !props.outline && props.onColored) return PRESET.base.onColored\n\n if (props.outline && !props.clear && !props.base && !props.onColored) return PRESET.outline.default\n if (props.outline && !props.clear && !props.base && props.onColored) return PRESET.outline.onColored\n\n return props.onColored ? PRESET.filled.onColored : PRESET.filled.default\n }\n\n return PRESET_DEFAULT.default\n}\n\nexport const Root = styled.button\n .withConfig({\n shouldForwardProp: (prop) => {\n return FORWARD_PROPS.includes(prop) || prop.includes('data')\n },\n })\n .attrs<StyledButtonProps>(injectDefaultTheme)`\n ${baseStyles}\n ${dynamicStyles}\n ${responsiveSize}\n\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n\n ${(props) => (props.fontSize ? property(props.fontSize, 'font-size') : null)}\n\n ${(props) => (props.height ? property(props.height, 'height') : null)}\n\n ${(props) => {\n const cssProperty = props.fluid && props.width !== 'auto' ? 'max-width' : 'width'\n return props.width ? property(getWidth(props.width), cssProperty) : null\n }}\n\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL },\n cssProperty: 'padding',\n })\n }}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })\n }}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })\n }}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })\n }}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })\n }}\n\n ${({ marginXS, marginS, marginM, marginL, marginXL }) => {\n return responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })\n }}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) => {\n return responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })\n }}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) => {\n return responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })\n }}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) => {\n return responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })\n }}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) => {\n return responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })\n }}\n\n ${({ fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL }) => {\n return responsiveNamedProperty({\n sizes: { fontSizeXS, fontSizeS, fontSizeM, fontSizeL, fontSizeXL },\n cssProperty: 'font-size',\n })\n }}\n\n ${({ heightXS, heightS, heightM, heightL, heightXL }) => {\n return responsiveNamedProperty({\n sizes: { heightXS, heightS, heightM, heightL, heightXL },\n cssProperty: 'height',\n })\n }}\n\n ${({ widthXS, widthS, widthM, widthL, widthXL, fluid, width }) => {\n return responsiveNamedProperty({\n sizes: { widthXS, widthS, widthM, widthL, widthXL },\n cssProperty: fluid && width !== 'auto' ? 'max-width' : 'width',\n customSizeHandler: getWidth,\n })\n }}\n\n ${(props) => (props.fluid ? property(props.fluid, fluidStyles) : null)}\n ${({ fluidXS, fluidS, fluidM, fluidL, fluidXL }) => {\n return responsiveNamedProperty({\n sizes: { fluidXS, fluidS, fluidM, fluidL, fluidXL },\n cssProperty: fluidStyles,\n })\n }}\n`\n\nexport const IconSlot = styled.span<{\n children: React.ReactNode\n marginLeft?: boolean\n marginRight?: boolean\n}>`\n ${(props) => `\n position: relative;\n z-index: 1;\n display: flex;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-left: ${props.marginLeft ? '0.4em' : 0};\n margin-right: ${props.marginRight ? '0.4em' : 0};\n `}\n`\n\nexport const Content = styled.span`\n position: relative;\n z-index: 1;\n`\n\nexport const SpinnerIcon = styled(Spinner)`\n width: 100%;\n animation: ${spin} 2000ms linear infinite;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n\nexport const CheckIcon = styled(Check)`\n width: 100%;\n ${(props) => `\n > path {\n stroke-width: ${props.strokeWidth};\n }\n `}\n`\n"],"names":["WIDTHS","xl","l","m","s","xs","baseStyles","css","props","concat","display","fontWeight","borderRadius","lineHeight","noSpacing","loading","keyframes","spin","defaultLoadingStyles","getWidth","width","fluidStyles","pseudoBaseStyles","PRESET","filled","default","background","theme","colors","black","danger","success","disabled","color","backgroundBefore","onColored","outline","transparent","boxShadow","backgroundAfter","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","responsiveSize","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","fontSize","height","fluid","_ref","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","_ref2","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","_ref3","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","_ref4","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","_ref5","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","_ref6","marginXS","marginS","marginM","marginL","marginXL","_ref7","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","_ref8","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","_ref9","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","_ref10","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","_ref11","fontSizeXS","fontSizeS","fontSizeM","fontSizeL","fontSizeXL","_ref12","heightXS","heightS","heightM","heightL","heightXL","_ref13","widthXS","widthS","widthM","widthL","widthXL","customSizeHandler","_ref14","fluidXS","fluidS","fluidM","fluidL","fluidXL","IconSlot","span","Content","SpinnerIcon","Spinner","strokeWidth","CheckIcon","Check"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.Multilevel.js","sources":["../../../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { BaseProps } from 'shared/interfaces'\nimport { Spacer } from 'components/Spacer'\nimport {
|
|
1
|
+
{"version":3,"file":"ContextMenu.Multilevel.js","sources":["../../../../src/components/ContextMenu.Multilevel/ContextMenu.Multilevel.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport type { BaseProps, Color } from 'shared/interfaces'\nimport { Spacer } from 'components/Spacer'\nimport { ContextMenu, ContextMenuProps } from '../ContextMenu/ContextMenu'\nimport { Heading } from './Heading'\nimport { SubHeading } from './SubHeading'\nimport { Controls } from './Controls'\nimport * as Styled from './style'\n\nexport interface MultiLevelControls {\n cancel?: {\n content?: string\n onClick?(): void\n color?: Color\n }\n confirm?: {\n content?: string\n onClick?(): void\n color?: Color\n }\n}\n\nexport interface MultiLevelItem {\n id: string | number\n heading?: string\n subheading?: string\n content?: string\n preventClosing?: boolean\n // eslint-disable-next-line no-use-before-define\n config?: MultiLevelConfig\n items?: MultiLevelItem[]\n controls?: MultiLevelControls\n level?: number\n active?: boolean\n onClick?(_item: MultiLevelItem): void\n}\n\nexport interface MultiLevelConfig {\n items?: MultiLevelItem[]\n heading?: string\n subheading?: string\n controls?: MultiLevelControls\n}\n\nexport interface ContextMenuMultiLevelProps extends ContextMenuProps, BaseProps {\n /** Menu config */\n config?: MultiLevelConfig\n /** On select item callback */\n onSelectItem?(_item: MultiLevelItem, _level: MultiLevelItem['level']): void\n}\n\ninterface ContextMenuMultiLevelState {\n selectedItems: (number | string)[]\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n */\nexport class ContextMenuMultiLevel extends PureComponent<ContextMenuMultiLevelProps, ContextMenuMultiLevelState> {\n resetTimeout?: ReturnType<typeof setTimeout>\n static displayName = 'ContextMenu.MultiLevel'\n static defaultProps = {\n config: {},\n }\n\n constructor(props: ContextMenuMultiLevelProps) {\n super(props)\n\n this.state = {\n selectedItems: [],\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.resetTimeout)\n }\n\n onSelectItem = (selectedItem: MultiLevelItem) => {\n const { id, level } = selectedItem\n\n const { selectedItems } = this.state\n const newSelectedItems = [...selectedItems.slice(0, level), id]\n\n this.setState({ selectedItems: newSelectedItems })\n\n if (typeof this.props.onSelectItem === 'function') this.props.onSelectItem(selectedItem, level)\n }\n\n getCurrentConfig = (): MultiLevelConfig | null => {\n const { config } = this.props\n const { selectedItems } = this.state\n\n if (!config) return null\n\n if (!selectedItems.length) return config\n\n try {\n const currentConfig = selectedItems.reduce((acc, levelId) => {\n return acc.items ? acc.items.find((item) => item.id === levelId)?.config || {} : {}\n }, config)\n\n return currentConfig\n } catch (error) {\n return null\n }\n }\n\n reset = () => {\n /* Reset timeout to prevent state switch due to slow tooltip closing animation */\n this.resetTimeout = setTimeout(() => this.setState({ selectedItems: [] }), 200)\n }\n\n itemOnClickHandler: React.MouseEventHandler<HTMLDivElement> = (e) => {\n const config = this.getCurrentConfig()\n if (!config) throw new Error('Config not found')\n\n const { items = [] } = config\n const { currentTarget } = e\n\n const { id = null } = currentTarget.dataset\n\n if (id === null) throw new Error('Data-id for item not found')\n\n const item = items.find((item) => `${item.id}` === id)\n\n if (!item) throw new Error('Item not found')\n\n if (item.config || item.preventClosing) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n if (item.config) {\n /* If menu item has config - select item to show inner level */\n this.onSelectItem(item)\n }\n\n if (typeof item.onClick === 'function') {\n item.onClick(item)\n }\n }\n\n render() {\n const { children, className, tooltipProps, isOpen, trigger, ...anotherProps } = this.props\n const { selectedItems } = this.state\n const config = this.getCurrentConfig()\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { config: _config, onSelectItem: _onSelectItem, ...restProps } = anotherProps\n\n return (\n <ContextMenu\n className={className}\n tooltipProps={tooltipProps}\n isOpen={isOpen}\n onClose={this.reset}\n trigger={trigger}\n {...restProps}\n >\n {children}\n <>\n <Spacer top={9} />\n {config?.heading ? <Heading content={config.heading} /> : null}\n {config?.subheading ? <SubHeading content={config.subheading} /> : null}\n {config?.items ? (\n <Styled.MultilevelItems>\n {config.items.map((item) => (\n <ContextMenu.Item\n key={item.id}\n id={item.id}\n content={item.content}\n active={(item.level && Boolean(selectedItems[item.level] === item.id)) || item.active}\n onClick={this.itemOnClickHandler}\n />\n ))}\n </Styled.MultilevelItems>\n ) : null}\n {config?.controls ? <Controls {...config.controls} /> : <Spacer top={9} />}\n </>\n </ContextMenu>\n )\n }\n}\n"],"names":["ContextMenuMultiLevel","PureComponent","constructor","props","super","this","resetTimeout","onSelectItem","selectedItem","id","level","selectedItems","state","newSelectedItems","slice","setState","getCurrentConfig","config","length","reduce","acc","levelId","_acc$items$find","items","find","item","error","reset","setTimeout","itemOnClickHandler","e","Error","currentTarget","dataset","concat","preventClosing","preventDefault","stopPropagation","onClick","componentWillUnmount","clearTimeout","render","_this$props","children","className","tooltipProps","isOpen","trigger","anotherProps","_objectWithoutProperties","_excluded","restProps","_excluded2","_jsxs","ContextMenu","_objectSpread","onClose","_Fragment","_jsx","Spacer","top","heading","Heading","content","subheading","SubHeading","Styled.MultilevelItems","map","Item","active","Boolean","controls","Controls","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{forwardRef as t}from'react';import s from'clsx';import{withMergedProps as a}from'../../hocs/withMergedProps.js';import{Text as o}from'../Text/Text.js';import{SIZES as i,SIZES_DEFAULT as p}from'./constants.js';import{Root as m,Edge as n,Content as h}from'./style.js';import{jsx as c,jsxs as l,Fragment as f}from'react/jsx-runtime';var d=["size","type","textProps","className","children","theme"];var b='Tab';var x=a(t(((t,a)=>{var{size:i="m",type:p="button",textProps:b={},className:x,children:T,theme:P}=t,j=r(t,d);var u={as:'span',size:'inherit',color:'inherit',weight:'inherit'};return c(m,e(e({},j),{},{size:i,tabTheme:P,className:s('fox-tab',x),type:void 0===j.as?p:void 0,ref:a,children:'brand'===j.preset?l(f,{children:[j.left&&c(n,{}),c(h,{children:'function'==typeof T?T({baseTextProps:u,textProps:b}):c(o,e(e(e({},u),b),{},{children:T}))}),j.right&&c(n,{after:!0})]}):c(f,{children:'function'==typeof T?T({baseTextProps:u,textProps:b}):c(o,e(e(e({},u),b),{},{children:T}))})}))})),{displayName:"Tab",sizes:e=>'brand'===e.preset?i:p});export{b as COMPONENT_NAME,x as Tab};
|
|
2
|
+
//# sourceMappingURL=Tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tab.js","sources":["../../../../src/components/Tab/Tab.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport clsx from 'clsx'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'shared/interfaces'\nimport { SIZES, SIZES_DEFAULT } from './constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component interface extends:\n * - [`ResponsiveSizeProps`](#/Interfaces)\n * - [`ResponsiveMarginProps`](#/Interfaces)\n * - [`ColorPaletteProps<keyof TabPalette>`](#/Interfaces)\n * - [`TypographyProps`](#/Interfaces)\n * - [`BaseProps`](#/Interfaces)\n * - [`React.ComponentPropsWithRef<'button'>`](#/Interfaces)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, className, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n className={clsx('fox-tab', className)}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left && <Styled.Edge />}\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Content>\n {restProps.right && <Styled.Edge after />}\n </>\n ) : (\n <>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n },\n }\n)\n\nexport { Tab, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Tab","withMergedProps","forwardRef","props","ref","size","type","textProps","className","children","theme","restProps","_excluded","baseTextProps","as","color","weight","_jsx","Styled.Root","tabTheme","clsx","undefined","preset","_jsxs","_Fragment","left","Styled.Edge","Styled.Content","Text","right","after","displayName","sizes","SIZES","SIZES_DEFAULT"],"mappings":"ogBASMA,IAAAA,EAAiB,MAYjBC,IAAAA,EAAiDC,EACrDC,IAAYC,EAAOC,KACjB,IAAMC,KAAEA,EAAO,IAATC,KAAcA,EAAO,SAArBC,UAA+BA,EAAY,GAA3CC,UAA+CA,EAA/CC,SAA0DA,EAA1DC,MAAoEA,GAAwBP,EAAdQ,IAAcR,EAAlGS,GAEA,IAAMC,EAA2B,CAAEC,GAAI,OAAQT,KAAM,UAAWU,MAAO,UAAWC,OAAQ,WAE1F,OACEC,EAACC,SACKP,GADN,GAAA,CAEEN,KAAMA,EACNc,SAAUT,EACVF,UAAWY,EAAK,UAAWZ,GAC3BF,cAAMK,EAAUG,GAAmBR,OAAOe,EAC1CjB,IAAKA,EANPK,SAQwB,UAArBE,EAAUW,OACTC,EAAAC,EAAA,CAAAf,SAAA,CACGE,EAAUc,MAAQR,EAACS,EADtB,IAEET,EAACU,EAAD,CAAAlB,SACuB,mBAAbA,EACNA,EAAS,CAAEI,cAAAA,EAAeN,UAAAA,IAE1BU,EAACW,EAASf,EAAAA,EAAAA,EAAAA,GAAAA,GAAmBN,GAA7B,GAAA,CAAAE,SACGA,OAINE,EAAUkB,OAASZ,EAACS,EAAD,CAAaI,cAGnCb,EAAAO,EAAA,CAAAf,SACuB,mBAAbA,EACNA,EAAS,CAAEI,cAAAA,EAAeN,UAAAA,IAE1BU,EAACW,EAASf,EAAAA,EAAAA,EAAAA,GAAAA,GAAmBN,GAA7B,GAAA,CAAAE,SACGA,aAQf,CACEsB,YAxDmB,MAyDnBC,MAAQ7B,GACkB,UAAjBA,EAAMmB,OAAqBW,EAAQC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var x={xxxl:{height:60,fontSize:20},xxl:{height:56,fontSize:20},xl:{height:52,fontSize:18},l:{height:48,fontSize:18},m:{height:44,fontSize:16},s:{height:40,fontSize:16},xs:{height:36,fontSize:14},xxs:{height:32,fontSize:14},xxxs:{height:28,fontSize:12}};var e={xxxl:{},xxl:{},xl:{},l:{},m:{},s:{},xs:{},xxs:{},xxxs:{}};export{x as SIZES,e as SIZES_DEFAULT};
|
|
2
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/Tab/constants.ts"],"sourcesContent":["import type { Sizes } from 'shared/interfaces'\n\nexport const SIZES: Sizes = {\n xxxl: {\n height: 60,\n fontSize: 20,\n },\n xxl: {\n height: 56,\n fontSize: 20,\n },\n xl: {\n height: 52,\n fontSize: 18,\n },\n l: {\n height: 48,\n fontSize: 18,\n },\n m: {\n height: 44,\n fontSize: 16,\n },\n s: {\n height: 40,\n fontSize: 16,\n },\n xs: {\n height: 36,\n fontSize: 14,\n },\n xxs: {\n height: 32,\n fontSize: 14,\n },\n xxxs: {\n height: 28,\n fontSize: 12,\n },\n}\n\nexport const SIZES_DEFAULT: Sizes = {\n xxxl: {},\n xxl: {},\n xl: {},\n l: {},\n m: {},\n s: {},\n xs: {},\n xxs: {},\n xxxs: {},\n}\n"],"names":["SIZES","xxxl","height","fontSize","xxl","xl","l","m","s","xs","xxs","xxxs","SIZES_DEFAULT"],"mappings":"AAEO,IAAMA,EAAe,CAC1BC,KAAM,CACJC,OAAQ,GACRC,SAAU,IAEZC,IAAK,CACHF,OAAQ,GACRC,SAAU,IAEZE,GAAI,CACFH,OAAQ,GACRC,SAAU,IAEZG,EAAG,CACDJ,OAAQ,GACRC,SAAU,IAEZI,EAAG,CACDL,OAAQ,GACRC,SAAU,IAEZK,EAAG,CACDN,OAAQ,GACRC,SAAU,IAEZM,GAAI,CACFP,OAAQ,GACRC,SAAU,IAEZO,IAAK,CACHR,OAAQ,GACRC,SAAU,IAEZQ,KAAM,CACJT,OAAQ,GACRC,SAAU,KAIP,IAAMS,EAAuB,CAClCX,KAAM,GACNG,IAAK,GACLC,GAAI,GACJC,EAAG,GACHC,EAAG,GACHC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as r from'react';var e;function t(){return t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},t.apply(this,arguments)}var n=n=>r.createElement("svg",t({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 21 48",fill:"none",preserveAspectRatio:"none"},n),e||(e=r.createElement("path",{d:"M22 0h-3L1 24l18 24h3",fill:"currentcolor"})));export{n as default};
|
|
2
|
+
//# sourceMappingURL=arrow.module.svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow.module.svg.js","sources":["../../../../../src/components/Tab/images/arrow.module.svg"],"sourcesContent":["<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 21 48\" fill=\"none\" preserveAspectRatio=\"none\"><path d=\"M22 0h-3L1 24l18 24h3\" fill=\"currentcolor\"/></svg>"],"names":["_path","_extends","Object","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","this","SvgArrowmodule","props","React","createElement","xmlns","viewBox","fill","preserveAspectRatio","d"],"mappings":"wBAAA,IAAIA,EAEJ,SAASC,IAA2Q,OAA9PA,EAAWC,OAAOC,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAII,KAAOD,GAAcN,IAAiBQ,eAAeC,KAAKH,EAAQC,KAAQL,EAAOK,GAAOD,EAAOC,IAAY,OAAOL,GAAkBH,EAASW,MAAMC,KAAMP,WAI7S,IAACQ,EAAyCC,GACvBC,EAAMC,cAAc,MAAOhB,EAAS,CACtDiB,MAAO,6BACPC,QAAS,YACTC,KAAM,OACNC,oBAAqB,QACpBN,GAAQf,IAAUA,EAAqBgB,EAAMC,cAAc,OAAQ,CACpEK,EAAG,wBACHF,KAAM"}
|