@foxford/ui 2.78.0-beta-e65fe87-20250911 → 2.79.0-beta-f5654ee-20250916

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/components/Button/Button.js +1 -1
  2. package/components/Button/Button.js.map +1 -1
  3. package/components/Button/Button.mjs +1 -1
  4. package/components/Button/Button.mjs.map +1 -1
  5. package/components/Button/sizes-default.js +2 -0
  6. package/components/Button/sizes-default.js.map +1 -0
  7. package/components/Button/sizes-default.mjs +2 -0
  8. package/components/Button/sizes-default.mjs.map +1 -0
  9. package/components/Button/sizes.js +2 -0
  10. package/components/Button/sizes.js.map +1 -0
  11. package/components/Button/sizes.mjs +2 -0
  12. package/components/Button/sizes.mjs.map +1 -0
  13. package/components/Button/style.js +1 -1
  14. package/components/Button/style.js.map +1 -1
  15. package/components/Button/style.mjs +1 -1
  16. package/components/Button/style.mjs.map +1 -1
  17. package/components/Chip/constants.js +1 -1
  18. package/components/Chip/constants.js.map +1 -1
  19. package/components/Chip/constants.mjs +1 -1
  20. package/components/Chip/constants.mjs.map +1 -1
  21. package/components/IconButton/IconButton.js +1 -1
  22. package/components/IconButton/IconButton.js.map +1 -1
  23. package/components/IconButton/IconButton.mjs +1 -1
  24. package/components/IconButton/IconButton.mjs.map +1 -1
  25. package/components/IconButton/sizes.js +2 -0
  26. package/components/IconButton/sizes.js.map +1 -0
  27. package/components/IconButton/sizes.mjs +2 -0
  28. package/components/IconButton/sizes.mjs.map +1 -0
  29. package/components/Input/constants.js +1 -1
  30. package/components/Input/constants.js.map +1 -1
  31. package/components/Input/constants.mjs +1 -1
  32. package/components/Input/constants.mjs.map +1 -1
  33. package/components/Notification/constants.js +1 -1
  34. package/components/Notification/constants.js.map +1 -1
  35. package/components/Notification/constants.mjs +1 -1
  36. package/components/Notification/constants.mjs.map +1 -1
  37. package/components/PopoverComponent/sizes.js +1 -1
  38. package/components/PopoverComponent/sizes.js.map +1 -1
  39. package/components/PopoverComponent/sizes.mjs +1 -1
  40. package/components/PopoverComponent/sizes.mjs.map +1 -1
  41. package/components/Scrollable/Scrollable.js.map +1 -1
  42. package/components/Scrollable/Scrollable.mjs.map +1 -1
  43. package/components/TabList/sizes.js +1 -1
  44. package/components/TabList/sizes.js.map +1 -1
  45. package/components/TabList/sizes.mjs +1 -1
  46. package/components/TabList/sizes.mjs.map +1 -1
  47. package/components/Text/Text.js +1 -1
  48. package/components/Text/Text.js.map +1 -1
  49. package/components/Text/Text.mjs +1 -1
  50. package/components/Text/Text.mjs.map +1 -1
  51. package/dts/index.d.ts +319 -108
  52. package/mixins/responsive-margin.js +1 -1
  53. package/mixins/responsive-margin.js.map +1 -1
  54. package/mixins/responsive-margin.mjs +1 -1
  55. package/mixins/responsive-margin.mjs.map +1 -1
  56. package/package.json +2 -2
  57. package/components/Button/constants.js +0 -2
  58. package/components/Button/constants.js.map +0 -1
  59. package/components/Button/constants.mjs +0 -2
  60. package/components/Button/constants.mjs.map +0 -1
  61. package/components/Button/default-constants.js +0 -2
  62. package/components/Button/default-constants.js.map +0 -1
  63. package/components/Button/default-constants.mjs +0 -2
  64. package/components/Button/default-constants.mjs.map +0 -1
  65. package/components/IconButton/constants.js +0 -2
  66. package/components/IconButton/constants.js.map +0 -1
  67. package/components/IconButton/constants.mjs +0 -2
  68. package/components/IconButton/constants.mjs.map +0 -1
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var styled=require('styled-components');var useClassname=require('../../hooks/useClassname.js');var withMergedProps=require('../../hocs/withMergedProps.js');var hooks=require('./hooks.js');var constants=require('./constants.js');var defaultConstants=require('./default-constants.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');var Text=require('../Text/Text.js');const Button=withMergedProps.withMergedProps(React.forwardRef(((e,s)=>{let{size:t="m",inline:n=!0,rounded:o=!0,color:r="accent",fontColor:a="white",textProps:i={},iconProps:c={},as:l,className:u,children:d,content:m,fontWeight:p,icon:x,innerRef:h,...j}=e;const f=styled.useTheme();j.preset!=='default'||typeof t!='string'||j.round||(j={...defaultConstants.PROPS_BY_SIZE[t]??{},...j}),j.href&&(l='a'),j.to&&(l=f.link),j.disabled&&(l='button'),j.primary&&(r='primary'),j.secondary&&(r='atlantis');const R=useClassname.useClassname("Button",u);const y=useClassname.useClassname("Button");const S=hooks.useComputedRel(f,j);const g=hooks.useComputedLinkProps(l,j);let[v,I]=Array.isArray(x)?x:[x];j.success&&(v='checkFill',I=null),j.preset==='brand'&&j.loading&&(v=jsxRuntime.jsx(style.LoaderIcon,{}),I=null);const C={as:'span',size:'inherit',color:'inherit',weight:p??(j.preset==='brand'?800:600),lineHeight:j.preset==='brand'?1.2:1,marginLeft:v?'0.25em':void 0,marginRight:I?'0.25em':void 0};const P={as:'span',color:'inherit'};return jsxRuntime.jsx(style.Root,{...j,...g,size:t,inline:n,color:r,fontColor:a,rounded:o,rel:S,as:l,className:R,ref:s??h,children:typeof d=='function'?d({baseTextProps:C,textProps:i,iconBaseProps:P,iconProps:c,icon:[v,I]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[v?jsxRuntime.jsx(Icon.Icon,{className:"icon",name:typeof v=='string'?v:void 0,icon:typeof v!='string'?v:void 0,...P,...c}):null,d||m?jsxRuntime.jsx(Text.Text,{className:`${y}__content`,...C,...i,children:d||m}):null,I?jsxRuntime.jsx(Icon.Icon,{className:"icon",name:typeof I=='string'?I:void 0,icon:typeof I!='string'?I:void 0,...P,...c}):null]})})})),{displayName:"Button",sizes:e=>{let s=e.preset==='brand'?constants.SIZES:defaultConstants.SIZES_DEFAULT;return e.round&&(s=e.preset==='brand'?constants.SIZES_ROUND:defaultConstants.SIZES_ROUND_DEFAULT),s}});exports.SIZES=constants.SIZES,exports.SIZES_ROUND=constants.SIZES_ROUND,exports.Button=Button,exports.COMPONENT_NAME="Button";
1
+ 'use strict';var React=require('react');var styled=require('styled-components');var useClassname=require('../../hooks/useClassname.js');var withMergedProps=require('../../hocs/withMergedProps.js');var hooks=require('./hooks.js');var sizes=require('./sizes.js');var sizesDefault=require('./sizes-default.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');var Text=require('../Text/Text.js');const Button=withMergedProps.withMergedProps(React.forwardRef(((e,s)=>{let{size:t="m",inline:n=!0,rounded:r=!0,color:i="accent",fontColor:o="white",textProps:a={},iconProps:l={},as:c,sizeXXS:u,sizeXS:d,sizeS:m,sizeM:p,sizeL:x,sizeXL:j,className:z,children:S,content:h,fontWeight:I,icon:R,innerRef:f,...y}=e;const E=styled.useTheme();y.preset!=='default'||typeof t!='string'||y.round||(y={...sizesDefault.PROPS_BY_SIZE[t]??{},...y}),y.href&&(c='a'),y.to&&(c=E.link),y.disabled&&(c='button'),y.primary&&(i='primary'),y.secondary&&(i='atlantis');const v=useClassname.useClassname("Button",z);const _=useClassname.useClassname("Button");const g=hooks.useComputedRel(E,y);const N=hooks.useComputedLinkProps(c,y);let[T,C]=Array.isArray(R)?R:[R];const P={size:t,sizeXXS:u,sizeXS:d,sizeS:m,sizeM:p,sizeL:x,sizeXL:j};const D={...P,as:'span',color:'inherit',weight:I??(y.preset==='brand'?800:600),lineHeight:y.preset==='brand'?1.2:1,sizes:y.preset==='brand'?sizes.SIZES_TEXT:sizesDefault.SIZES_TEXT_DEFAULT};const Z={...P,color:'inherit',preset:y.preset,sizes:sizes.SIZES_ICON};const q=y.preset==='brand'&&y.success;const X=y.preset==='brand'&&y.loading;return jsxRuntime.jsx(style.Root,{...y,...N,...P,inline:n,color:i,fontColor:o,rounded:r,rel:g,as:c,className:v,ref:s??f,children:typeof S=='function'?S({textProps:D,iconProps:Z}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[q||X?jsxRuntime.jsx(style.IconPosition,{children:q?jsxRuntime.jsx(Icon.Icon,{...Z,...l,name:"checkFill"}):jsxRuntime.jsx(style.IconAnimation,{children:jsxRuntime.jsx(Icon.Icon,{...Z,...l,name:"loaderFill"})})}):null,jsxRuntime.jsxs(style.Content,{"aria-hidden":q||X,children:[T?jsxRuntime.jsx(Icon.Icon,{className:"icon",name:typeof T=='string'?T:void 0,icon:typeof T!='string'?T:void 0,...Z,...l}):null,S||h?jsxRuntime.jsx(Text.Text,{className:`${_}__content`,...D,...a,children:S||h}):null,C?jsxRuntime.jsx(Icon.Icon,{className:"icon",name:typeof C=='string'?C:void 0,icon:typeof C!='string'?C:void 0,...Z,...l}):null]})]})})})),{displayName:"Button",sizes:e=>{let s=e.preset==='brand'?sizes.SIZES:sizesDefault.SIZES_DEFAULT;return e.round&&(s=e.preset==='brand'?sizes.SIZES_ROUND:sizesDefault.SIZES_ROUND_DEFAULT),s}});exports.SIZES=sizes.SIZES,exports.SIZES_ROUND=sizes.SIZES_ROUND,exports.Button=Button,exports.COMPONENT_NAME="Button";
2
2
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport type { Size } from 'shared/types'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND } from './constants'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE } from './default-constants'\nimport type { ButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Component accepts all \\<button\\> attributes.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [ButtonProps](https://github.com/foxford/ui/blob/master/packages/ui/src/components/Button/types.ts)\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n textProps = {},\n iconProps = {},\n as: _as,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n if (restProps.success) {\n before = 'checkFill'\n after = null\n }\n\n if (restProps.preset === 'brand' && restProps.loading) {\n before = <Styled.LoaderIcon />\n after = null\n }\n\n const baseTextProps: TextProps = {\n as: 'span',\n size: 'inherit',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n marginLeft: before ? '0.25em' : undefined,\n marginRight: after ? '0.25em' : undefined,\n }\n\n const iconBaseProps: IconProps = { as: 'span', color: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n size={size}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({\n baseTextProps,\n textProps,\n iconBaseProps,\n iconProps,\n icon: [before, after],\n })\n ) : (\n <>\n {before ? (\n <Icon\n className='icon'\n name={typeof before === 'string' ? before : undefined}\n icon={typeof before !== 'string' ? before : undefined}\n {...iconBaseProps}\n {...iconProps}\n />\n ) : null}\n {children || content ? (\n <Text className={`${textClassName}__content`} {...baseTextProps} {...textProps}>\n {children || content}\n </Text>\n ) : null}\n {after ? (\n <Icon\n className='icon'\n name={typeof after === 'string' ? after : undefined}\n icon={typeof after !== 'string' ? after : undefined}\n {...iconBaseProps}\n {...iconProps}\n />\n ) : null}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n let sizes = props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n if (props.round) sizes = props.preset === 'brand' ? SIZES_ROUND : SIZES_ROUND_DEFAULT\n\n return sizes\n },\n }\n)\n\nexport { Button, COMPONENT_NAME, SIZES, SIZES_ROUND }\n\nexport type { ButtonProps }\n"],"names":["Button","withMergedProps","forwardRef","props","ref","size","inline","rounded","color","fontColor","textProps","iconProps","as","_as","className","children","content","fontWeight","icon","innerRef","restProps","theme","useTheme","preset","round","PROPS_BY_SIZE","href","to","link","disabled","primary","secondary","rootClassName","useClassname","textClassName","rel","useComputedRel","linkProps","useComputedLinkProps","before","after","Array","isArray","success","loading","_jsx","jsx","Styled","baseTextProps","weight","lineHeight","marginLeft","undefined","marginRight","iconBaseProps","_jsxs","jsxs","_Fragment","Icon","name","Text","displayName","sizes","SIZES","SIZES_DEFAULT","SIZES_ROUND","SIZES_ROUND_DEFAULT"],"mappings":"wdA6BMA,MAAAA,OAAuDC,gBAAAA,gBAC3DC,MAAAA,YAAwD,CAACC,EAAOC,KAC9D,IAAIC,KACFA,EAAO,IAAGC,OACVA,GAAS,EAAIC,QACbA,GAAU,EAAIC,MACdA,EAAQ,SAAQC,UAChBA,EAAY,QAAOC,UACnBA,EAAY,CAAE,EAAAC,UACdA,EAAY,CAAE,EACdC,GAAIC,EAAGC,UACPA,EAASC,SACTA,EAAQC,QACRA,EAAOC,WACPA,EAAUC,KACVA,EAAIC,SACJA,KACGC,GACDjB,EAEJ,MAAMkB,EAAQC,OAAAA,WAEVF,EAAUG,SAAW,kBAAoBlB,GAAS,UAAae,EAAUI,QAE3EJ,EAAY,IADQK,iBAAAA,cAAcpB,IAAiB,CAAA,KAClBe,IAG/BA,EAAUM,OAAMb,EAAM,KACtBO,EAAUO,KAAId,EAAMQ,EAAMO,MAC1BR,EAAUS,WAAUhB,EAAM,UAE1BO,EAAUU,UAAStB,EAAQ,WAC3BY,EAAUW,YAAWvB,EAAQ,YAEjC,MAAMwB,EAAgBC,aAAAA,aA9CH,SA8CgCnB,GACnD,MAAMoB,EAAgBD,0BA/CH,UAgDnB,MAAME,EAAMC,MAAAA,eAAef,EAAOD,GAClC,MAAMiB,EAAYC,MAAAA,qBAAqBzB,EAAKO,GAE5C,IAAKmB,EAAQC,GAASC,MAAMC,QAAQxB,GAAQA,EAAO,CAACA,GAEhDE,EAAUuB,UACZJ,EAAS,YACTC,EAAQ,MAGNpB,EAAUG,SAAW,SAAWH,EAAUwB,UAC5CL,EAASM,WAAAC,IAACC,qBACVP,EAAQ,MAGV,MAAMQ,EAA2B,CAC/BpC,GAAI,OACJP,KAAM,UACNG,MAAO,UACPyC,OAAQhC,IAAeG,EAAUG,SAAW,QAAU,IAAM,KAC5D2B,WAAY9B,EAAUG,SAAW,QAAU,IAAM,EACjD4B,WAAYZ,EAAS,cAAWa,EAChCC,YAAab,EAAQ,cAAWY,GAGlC,MAAME,EAA2B,CAAE1C,GAAI,OAAQJ,MAAO,WAEtD,OACEqC,WAAAA,IAACE,MAAAA,KAAW,IACN3B,KACAiB,EACJhC,KAAMA,EACNC,OAAQA,EACRE,MAAOA,EACPC,UAAWA,EACXF,QAASA,EACT4B,IAAKA,EACLvB,GAAIC,EACJC,UAAWkB,EACX5B,IAAKA,GAAOe,EAASJ,gBAEbA,GAAa,WACnBA,EAAS,CACPiC,gBACAtC,YACA4C,gBACA3C,YACAO,KAAM,CAACqB,EAAQC,KAGjBe,WAAAC,KAAAC,oBAAA,CAAA1C,SACGwB,CAAAA,EACCM,WAAAC,IAACY,UAAI,CACH5C,UAAU,OACV6C,YAAapB,GAAW,SAAWA,OAASa,EAC5ClC,YAAaqB,GAAW,SAAWA,OAASa,KACxCE,KACA3C,IAEJ,KACHI,GAAYC,EACX6B,WAAAA,IAACe,KAAAA,KAAI,CAAC9C,UAAW,GAAGoB,gBAA8Bc,KAAmBtC,EAASK,SAC3EA,GAAYC,IAEb,KACHwB,EACCK,WAAAA,IAACa,KAAAA,KAAI,CACH5C,UAAU,OACV6C,YAAanB,GAAU,SAAWA,OAAQY,EAC1ClC,YAAasB,GAAU,SAAWA,OAAQY,KACtCE,KACA3C,IAEJ,SAGI,IAGlB,CACEkD,YAhImB,SAiInBC,MAAQ3D,IACN,IAAI2D,EAAQ3D,EAAMoB,SAAW,QAAUwC,UAAAA,MAAQC,iBAAAA,cAG/C,OAFI7D,EAAMqB,QAAOsC,EAAQ3D,EAAMoB,SAAW,QAAU0C,UAAWA,YAAGC,sCAE3DJ,CAAK,yHArIK"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND, SIZES_ICON, SIZES_TEXT } from './sizes'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE, SIZES_TEXT_DEFAULT } from './sizes-default'\nimport type { ButtonProps, Size } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n textProps: textPropsProp = {},\n iconProps: iconPropsProp = {},\n as: _as,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n as: 'span',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n sizes: restProps.preset === 'brand' ? SIZES_TEXT : SIZES_TEXT_DEFAULT,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n color: 'inherit',\n preset: restProps.preset,\n sizes: SIZES_ICON,\n }\n\n const success = restProps.preset === 'brand' && restProps.success\n const loading = restProps.preset === 'brand' && restProps.loading\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n {...sizeProps}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({ textProps, iconProps })\n ) : (\n <>\n {success || loading ? (\n <Styled.IconPosition>\n {success ? (\n <Icon {...iconProps} {...iconPropsProp} name='checkFill' />\n ) : (\n <Styled.IconAnimation>\n <Icon {...iconProps} {...iconPropsProp} name='loaderFill' />\n </Styled.IconAnimation>\n )}\n </Styled.IconPosition>\n ) : null}\n <Styled.Content aria-hidden={success || loading}>\n {before ? (\n <Icon\n className='icon'\n name={typeof before === 'string' ? before : undefined}\n icon={typeof before !== 'string' ? before : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n {children || content ? (\n <Text className={`${textClassName}__content`} {...textProps} {...textPropsProp}>\n {children || content}\n </Text>\n ) : null}\n {after ? (\n <Icon\n className='icon'\n name={typeof after === 'string' ? after : undefined}\n icon={typeof after !== 'string' ? after : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n </Styled.Content>\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n let sizes = props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n if (props.round) sizes = props.preset === 'brand' ? SIZES_ROUND : SIZES_ROUND_DEFAULT\n\n return sizes\n },\n }\n)\n\nexport { Button, COMPONENT_NAME, SIZES, SIZES_ROUND }\n\nexport type { ButtonProps }\n"],"names":["Button","withMergedProps","forwardRef","props","ref","size","inline","rounded","color","fontColor","textProps","textPropsProp","iconProps","iconPropsProp","as","_as","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","className","children","content","fontWeight","icon","innerRef","restProps","theme","useTheme","preset","round","PROPS_BY_SIZE","href","to","link","disabled","primary","secondary","rootClassName","useClassname","textClassName","rel","useComputedRel","linkProps","useComputedLinkProps","before","after","Array","isArray","sizeProps","weight","lineHeight","sizes","SIZES_TEXT","SIZES_TEXT_DEFAULT","SIZES_ICON","success","loading","_jsx","Styled","_jsxs","jsxs","_Fragment","jsx","Icon","name","undefined","Text","displayName","SIZES","SIZES_DEFAULT","SIZES_ROUND","SIZES_ROUND_DEFAULT"],"mappings":"wcAwBMA,MAAAA,OAAuDC,gBAAAA,gBAC3DC,MAAAA,YAAwD,CAACC,EAAOC,KAC9D,IAAIC,KACFA,EAAO,IAAGC,OACVA,GAAS,EAAIC,QACbA,GAAU,EAAIC,MACdA,EAAQ,SAAQC,UAChBA,EAAY,QACZC,UAAWC,EAAgB,CAAE,EAC7BC,UAAWC,EAAgB,CAAE,EAC7BC,GAAIC,EAAGC,QACPA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,UACNA,EAASC,SACTA,EAAQC,QACRA,EAAOC,WACPA,EAAUC,KACVA,EAAIC,SACJA,KACGC,GACDzB,EAEJ,MAAM0B,EAAQC,OAAAA,WAEVF,EAAUG,SAAW,kBAAoB1B,GAAS,UAAauB,EAAUI,QAE3EJ,EAAY,IADQK,aAAAA,cAAc5B,IAAiB,CAAA,KAClBuB,IAG/BA,EAAUM,OAAMnB,EAAM,KACtBa,EAAUO,KAAIpB,EAAMc,EAAMO,MAC1BR,EAAUS,WAAUtB,EAAM,UAE1Ba,EAAUU,UAAS9B,EAAQ,WAC3BoB,EAAUW,YAAW/B,EAAQ,YAEjC,MAAMgC,EAAgBC,aAAAA,aAhDH,SAgDgCnB,GACnD,MAAMoB,EAAgBD,0BAjDH,UAkDnB,MAAME,EAAMC,MAAAA,eAAef,EAAOD,GAClC,MAAMiB,EAAYC,MAAAA,qBAAqB/B,EAAKa,GAE5C,IAAKmB,EAAQC,GAASC,MAAMC,QAAQxB,GAAQA,EAAO,CAACA,GAEpD,MAAMyB,EAAY,CAChB9C,OACAW,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,MAAMX,EAAuB,IACxByC,EACHrC,GAAI,OACJN,MAAO,UACP4C,OAAQ3B,IAAeG,EAAUG,SAAW,QAAU,IAAM,KAC5DsB,WAAYzB,EAAUG,SAAW,QAAU,IAAM,EACjDuB,MAAO1B,EAAUG,SAAW,QAAUwB,MAAUA,WAAGC,aAAAA,oBAGrD,MAAM5C,EAAuB,IACxBuC,EACH3C,MAAO,UACPuB,OAAQH,EAAUG,OAClBuB,MAAOG,MAAAA,YAGT,MAAMC,EAAU9B,EAAUG,SAAW,SAAWH,EAAU8B,QAC1D,MAAMC,EAAU/B,EAAUG,SAAW,SAAWH,EAAU+B,QAE1D,OACEC,WAAAA,IAACC,MAAAA,KAAW,IACNjC,KACAiB,KACAM,EACJ7C,OAAQA,EACRE,MAAOA,EACPC,UAAWA,EACXF,QAASA,EACToC,IAAKA,EACL7B,GAAIC,EACJO,UAAWkB,EACXpC,IAAKA,GAAOuB,EAASJ,gBAEbA,GAAa,WACnBA,EAAS,CAAEb,YAAWE,cAEtBkD,WAAAC,KAAAC,oBAAA,CAAAzC,SAAA,CACGmC,GAAWC,EACVC,WAAAA,IAACC,MAAAA,aAAmB,CAAAtC,SACjBmC,EACCE,WAAAK,IAACC,UAAI,IAAKtD,KAAeC,EAAesD,KAAK,cAE7CP,WAAAK,IAACJ,oBAAoB,CAAAtC,SACnBqC,WAAAK,IAACC,UAAI,IAAKtD,KAAeC,EAAesD,KAAK,mBAIjD,KACJL,WAAAC,KAACF,cAAc,CAAC,cAAaH,GAAWC,EAAQpC,SAC7CwB,CAAAA,EACCa,WAAAK,IAACC,UAAI,CACH5C,UAAU,OACV6C,YAAapB,GAAW,SAAWA,OAASqB,EAC5C1C,YAAaqB,GAAW,SAAWA,OAASqB,KACxCxD,KACAC,IAEJ,KACHU,GAAYC,EACXoC,WAAAA,IAACS,KAAAA,KAAI,CAAC/C,UAAW,GAAGoB,gBAA8BhC,KAAeC,EAAaY,SAC3EA,GAAYC,IAEb,KACHwB,EACCY,WAAAA,IAACM,KAAAA,KAAI,CACH5C,UAAU,OACV6C,YAAanB,GAAU,SAAWA,OAAQoB,EAC1C1C,YAAasB,GAAU,SAAWA,OAAQoB,KACtCxD,KACAC,IAEJ,YAIE,IAGlB,CACEyD,YAhJmB,SAiJnBhB,MAAQnD,IACN,IAAImD,EAAQnD,EAAM4B,SAAW,QAAUwC,MAAAA,MAAQC,aAAAA,cAG/C,OAFIrE,EAAM6B,QAAOsB,EAAQnD,EAAM4B,SAAW,QAAU0C,MAAWA,YAAGC,kCAE3DpB,CAAK,iHArJK"}
@@ -1,2 +1,2 @@
1
- import{forwardRef}from'react';import{useTheme}from'styled-components';import{useClassname}from'../../hooks/useClassname.mjs';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useComputedRel,useComputedLinkProps}from'./hooks.mjs';import{SIZES,SIZES_ROUND}from'./constants.mjs';import{SIZES_DEFAULT,SIZES_ROUND_DEFAULT,PROPS_BY_SIZE}from'./default-constants.mjs';import{Root,LoaderIcon}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Icon}from'../Icon/Icon.mjs';import{Text}from'../Text/Text.mjs';const COMPONENT_NAME='Button';const Button=withMergedProps(forwardRef(((o,e)=>{let{size:t="m",inline:s=!0,rounded:n=!0,color:r="accent",fontColor:i="white",textProps:a={},iconProps:m={},as:c,className:l,children:p,content:d,fontWeight:u,icon:f,innerRef:S,...h}=o;const E=useTheme();h.preset!=='default'||typeof t!='string'||h.round||(h={...PROPS_BY_SIZE[t]??{},...h}),h.href&&(c='a'),h.to&&(c=E.link),h.disabled&&(c='button'),h.primary&&(r='primary'),h.secondary&&(r='atlantis');const I=useClassname("Button",l);const g=useClassname("Button");const j=useComputedRel(E,h);const x=useComputedLinkProps(c,h);let[N,P]=Array.isArray(f)?f:[f];h.success&&(N='checkFill',P=null),h.preset==='brand'&&h.loading&&(N=jsx(LoaderIcon,{}),P=null);const _={as:'span',size:'inherit',color:'inherit',weight:u??(h.preset==='brand'?800:600),lineHeight:h.preset==='brand'?1.2:1,marginLeft:N?'0.25em':void 0,marginRight:P?'0.25em':void 0};const R={as:'span',color:'inherit'};return jsx(Root,{...h,...x,size:t,inline:s,color:r,fontColor:i,rounded:n,rel:j,as:c,className:I,ref:e??S,children:typeof p=='function'?p({baseTextProps:_,textProps:a,iconBaseProps:R,iconProps:m,icon:[N,P]}):jsxs(Fragment,{children:[N?jsx(Icon,{className:"icon",name:typeof N=='string'?N:void 0,icon:typeof N!='string'?N:void 0,...R,...m}):null,p||d?jsx(Text,{className:`${g}__content`,..._,...a,children:p||d}):null,P?jsx(Icon,{className:"icon",name:typeof P=='string'?P:void 0,icon:typeof P!='string'?P:void 0,...R,...m}):null]})})})),{displayName:"Button",sizes:o=>{let e=o.preset==='brand'?SIZES:SIZES_DEFAULT;return o.round&&(e=o.preset==='brand'?SIZES_ROUND:SIZES_ROUND_DEFAULT),e}});export{Button,COMPONENT_NAME,SIZES,SIZES_ROUND};
1
+ import{forwardRef}from'react';import{useTheme}from'styled-components';import{useClassname}from'../../hooks/useClassname.mjs';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useComputedRel,useComputedLinkProps}from'./hooks.mjs';import{SIZES,SIZES_ROUND,SIZES_TEXT,SIZES_ICON}from'./sizes.mjs';import{SIZES_DEFAULT,SIZES_ROUND_DEFAULT,SIZES_TEXT_DEFAULT,PROPS_BY_SIZE}from'./sizes-default.mjs';import{Root,IconPosition,IconAnimation,Content}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Icon}from'../Icon/Icon.mjs';import{Text}from'../Text/Text.mjs';const COMPONENT_NAME='Button';const Button=withMergedProps(forwardRef(((e,s)=>{let{size:o="m",inline:t=!0,rounded:n=!0,color:r="accent",fontColor:i="white",textProps:c={},iconProps:a={},as:m,sizeXXS:l,sizeXS:p,sizeS:d,sizeM:S,sizeL:u,sizeXL:E,className:I,children:f,content:_,fontWeight:h,icon:T,innerRef:j,...x}=e;const z=useTheme();x.preset!=='default'||typeof o!='string'||x.round||(x={...PROPS_BY_SIZE[o]??{},...x}),x.href&&(m='a'),x.to&&(m=z.link),x.disabled&&(m='button'),x.primary&&(r='primary'),x.secondary&&(r='atlantis');const N=useClassname("Button",I);const Z=useClassname("Button");const P=useComputedRel(z,x);const C=useComputedLinkProps(m,x);let[g,y]=Array.isArray(T)?T:[T];const R={size:o,sizeXXS:l,sizeXS:p,sizeS:d,sizeM:S,sizeL:u,sizeXL:E};const O={...R,as:'span',color:'inherit',weight:h??(x.preset==='brand'?800:600),lineHeight:x.preset==='brand'?1.2:1,sizes:x.preset==='brand'?SIZES_TEXT:SIZES_TEXT_DEFAULT};const A={...R,color:'inherit',preset:x.preset,sizes:SIZES_ICON};const L=x.preset==='brand'&&x.success;const X=x.preset==='brand'&&x.loading;return jsx(Root,{...x,...C,...R,inline:t,color:r,fontColor:i,rounded:n,rel:P,as:m,className:N,ref:s??j,children:typeof f=='function'?f({textProps:O,iconProps:A}):jsxs(Fragment,{children:[L||X?jsx(IconPosition,{children:L?jsx(Icon,{...A,...a,name:"checkFill"}):jsx(IconAnimation,{children:jsx(Icon,{...A,...a,name:"loaderFill"})})}):null,jsxs(Content,{"aria-hidden":L||X,children:[g?jsx(Icon,{className:"icon",name:typeof g=='string'?g:void 0,icon:typeof g!='string'?g:void 0,...A,...a}):null,f||_?jsx(Text,{className:`${Z}__content`,...O,...c,children:f||_}):null,y?jsx(Icon,{className:"icon",name:typeof y=='string'?y:void 0,icon:typeof y!='string'?y:void 0,...A,...a}):null]})]})})})),{displayName:"Button",sizes:e=>{let s=e.preset==='brand'?SIZES:SIZES_DEFAULT;return e.round&&(s=e.preset==='brand'?SIZES_ROUND:SIZES_ROUND_DEFAULT),s}});export{Button,COMPONENT_NAME,SIZES,SIZES_ROUND};
2
2
  //# sourceMappingURL=Button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport type { Size } from 'shared/types'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND } from './constants'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE } from './default-constants'\nimport type { ButtonProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Component accepts all \\<button\\> attributes.\n *\n * Responsive \"size\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [ButtonProps](https://github.com/foxford/ui/blob/master/packages/ui/src/components/Button/types.ts)\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n textProps = {},\n iconProps = {},\n as: _as,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n if (restProps.success) {\n before = 'checkFill'\n after = null\n }\n\n if (restProps.preset === 'brand' && restProps.loading) {\n before = <Styled.LoaderIcon />\n after = null\n }\n\n const baseTextProps: TextProps = {\n as: 'span',\n size: 'inherit',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n marginLeft: before ? '0.25em' : undefined,\n marginRight: after ? '0.25em' : undefined,\n }\n\n const iconBaseProps: IconProps = { as: 'span', color: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n size={size}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({\n baseTextProps,\n textProps,\n iconBaseProps,\n iconProps,\n icon: [before, after],\n })\n ) : (\n <>\n {before ? (\n <Icon\n className='icon'\n name={typeof before === 'string' ? before : undefined}\n icon={typeof before !== 'string' ? before : undefined}\n {...iconBaseProps}\n {...iconProps}\n />\n ) : null}\n {children || content ? (\n <Text className={`${textClassName}__content`} {...baseTextProps} {...textProps}>\n {children || content}\n </Text>\n ) : null}\n {after ? (\n <Icon\n className='icon'\n name={typeof after === 'string' ? after : undefined}\n icon={typeof after !== 'string' ? after : undefined}\n {...iconBaseProps}\n {...iconProps}\n />\n ) : null}\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n let sizes = props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n if (props.round) sizes = props.preset === 'brand' ? SIZES_ROUND : SIZES_ROUND_DEFAULT\n\n return sizes\n },\n }\n)\n\nexport { Button, COMPONENT_NAME, SIZES, SIZES_ROUND }\n\nexport type { ButtonProps }\n"],"names":["COMPONENT_NAME","Button","withMergedProps","forwardRef","props","ref","size","inline","rounded","color","fontColor","textProps","iconProps","as","_as","className","children","content","fontWeight","icon","innerRef","restProps","theme","useTheme","preset","round","PROPS_BY_SIZE","href","to","link","disabled","primary","secondary","rootClassName","useClassname","textClassName","rel","useComputedRel","linkProps","useComputedLinkProps","before","after","Array","isArray","success","loading","_jsx","Styled","baseTextProps","weight","lineHeight","marginLeft","undefined","marginRight","iconBaseProps","_jsxs","_Fragment","Icon","name","Text","displayName","sizes","SIZES","SIZES_DEFAULT","SIZES_ROUND","SIZES_ROUND_DEFAULT"],"mappings":"0hBAiBMA,MAAAA,eAAiB,SAYjBC,MAAAA,OAAuDC,gBAC3DC,YAAwD,CAACC,EAAOC,KAC9D,IAAIC,KACFA,EAAO,IAAGC,OACVA,GAAS,EAAIC,QACbA,GAAU,EAAIC,MACdA,EAAQ,SAAQC,UAChBA,EAAY,QAAOC,UACnBA,EAAY,CAAE,EAAAC,UACdA,EAAY,CAAE,EACdC,GAAIC,EAAGC,UACPA,EAASC,SACTA,EAAQC,QACRA,EAAOC,WACPA,EAAUC,KACVA,EAAIC,SACJA,KACGC,GACDjB,EAEJ,MAAMkB,EAAQC,WAEVF,EAAUG,SAAW,kBAAoBlB,GAAS,UAAae,EAAUI,QAE3EJ,EAAY,IADQK,cAAcpB,IAAiB,CAAA,KAClBe,IAG/BA,EAAUM,OAAMb,EAAM,KACtBO,EAAUO,KAAId,EAAMQ,EAAMO,MAC1BR,EAAUS,WAAUhB,EAAM,UAE1BO,EAAUU,UAAStB,EAAQ,WAC3BY,EAAUW,YAAWvB,EAAQ,YAEjC,MAAMwB,EAAgBC,aA9CH,SA8CgCnB,GACnD,MAAMoB,EAAgBD,aA/CH,UAgDnB,MAAME,EAAMC,eAAef,EAAOD,GAClC,MAAMiB,EAAYC,qBAAqBzB,EAAKO,GAE5C,IAAKmB,EAAQC,GAASC,MAAMC,QAAQxB,GAAQA,EAAO,CAACA,GAEhDE,EAAUuB,UACZJ,EAAS,YACTC,EAAQ,MAGNpB,EAAUG,SAAW,SAAWH,EAAUwB,UAC5CL,EAASM,IAACC,eACVN,EAAQ,MAGV,MAAMO,EAA2B,CAC/BnC,GAAI,OACJP,KAAM,UACNG,MAAO,UACPwC,OAAQ/B,IAAeG,EAAUG,SAAW,QAAU,IAAM,KAC5D0B,WAAY7B,EAAUG,SAAW,QAAU,IAAM,EACjD2B,WAAYX,EAAS,cAAWY,EAChCC,YAAaZ,EAAQ,cAAWW,GAGlC,MAAME,EAA2B,CAAEzC,GAAI,OAAQJ,MAAO,WAEtD,OACEqC,IAACC,KAAW,IACN1B,KACAiB,EACJhC,KAAMA,EACNC,OAAQA,EACRE,MAAOA,EACPC,UAAWA,EACXF,QAASA,EACT4B,IAAKA,EACLvB,GAAIC,EACJC,UAAWkB,EACX5B,IAAKA,GAAOe,EAASJ,gBAEbA,GAAa,WACnBA,EAAS,CACPgC,gBACArC,YACA2C,gBACA1C,YACAO,KAAM,CAACqB,EAAQC,KAGjBc,KAAAC,SAAA,CAAAxC,SACGwB,CAAAA,EACCM,IAACW,KAAI,CACH1C,UAAU,OACV2C,YAAalB,GAAW,SAAWA,OAASY,EAC5CjC,YAAaqB,GAAW,SAAWA,OAASY,KACxCE,KACA1C,IAEJ,KACHI,GAAYC,EACX6B,IAACa,KAAI,CAAC5C,UAAW,GAAGoB,gBAA8Ba,KAAmBrC,EAASK,SAC3EA,GAAYC,IAEb,KACHwB,EACCK,IAACW,KAAI,CACH1C,UAAU,OACV2C,YAAajB,GAAU,SAAWA,OAAQW,EAC1CjC,YAAasB,GAAU,SAAWA,OAAQW,KACtCE,KACA1C,IAEJ,SAGI,IAGlB,CACEgD,YAhImB,SAiInBC,MAAQzD,IACN,IAAIyD,EAAQzD,EAAMoB,SAAW,QAAUsC,MAAQC,cAG/C,OAFI3D,EAAMqB,QAAOoC,EAAQzD,EAAMoB,SAAW,QAAUwC,YAAcC,qBAE3DJ,CAAK"}
1
+ {"version":3,"file":"Button.mjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["/* eslint-disable prefer-const */\nimport { forwardRef } from 'react'\nimport { useTheme } from 'styled-components'\nimport { useClassname } from 'hooks/useClassname'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Text } from 'components/Text'\nimport type { IconProps } from 'components/Icon'\nimport type { TextProps } from 'components/Text'\nimport { useComputedRel, useComputedLinkProps } from './hooks'\nimport { SIZES, SIZES_ROUND, SIZES_ICON, SIZES_TEXT } from './sizes'\nimport { SIZES_DEFAULT, SIZES_ROUND_DEFAULT, PROPS_BY_SIZE, SIZES_TEXT_DEFAULT } from './sizes-default'\nimport type { ButtonProps, Size } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'Button'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst Button: React.ForwardRefExoticComponent<ButtonProps> = withMergedProps<ButtonProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<ButtonProps>>((props, ref) => {\n let {\n size = 'm',\n inline = true,\n rounded = true,\n color = 'accent',\n fontColor = 'white',\n textProps: textPropsProp = {},\n iconProps: iconPropsProp = {},\n as: _as,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n className,\n children,\n content,\n fontWeight,\n icon,\n innerRef,\n ...restProps\n } = props\n\n const theme = useTheme()\n\n if (restProps.preset === 'default' && typeof size === 'string' && !restProps.round) {\n const propsBySize = PROPS_BY_SIZE[size as Size] ?? {}\n restProps = { ...propsBySize, ...restProps }\n }\n\n if (restProps.href) _as = 'a'\n if (restProps.to) _as = theme.link\n if (restProps.disabled) _as = 'button'\n\n if (restProps.primary) color = 'primary'\n if (restProps.secondary) color = 'atlantis'\n\n const rootClassName = useClassname(COMPONENT_NAME, className)\n const textClassName = useClassname(COMPONENT_NAME)\n const rel = useComputedRel(theme, restProps)\n const linkProps = useComputedLinkProps(_as, restProps)\n\n let [before, after] = Array.isArray(icon) ? icon : [icon]\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n as: 'span',\n color: 'inherit',\n weight: fontWeight ?? (restProps.preset === 'brand' ? 800 : 600),\n lineHeight: restProps.preset === 'brand' ? 1.2 : 1,\n sizes: restProps.preset === 'brand' ? SIZES_TEXT : SIZES_TEXT_DEFAULT,\n }\n\n const iconProps: IconProps = {\n ...sizeProps,\n color: 'inherit',\n preset: restProps.preset,\n sizes: SIZES_ICON,\n }\n\n const success = restProps.preset === 'brand' && restProps.success\n const loading = restProps.preset === 'brand' && restProps.loading\n\n return (\n <Styled.Root\n {...restProps}\n {...linkProps}\n {...sizeProps}\n inline={inline}\n color={color}\n fontColor={fontColor}\n rounded={rounded}\n rel={rel}\n as={_as}\n className={rootClassName}\n ref={ref ?? innerRef}\n >\n {typeof children === 'function' ? (\n children({ textProps, iconProps })\n ) : (\n <>\n {success || loading ? (\n <Styled.IconPosition>\n {success ? (\n <Icon {...iconProps} {...iconPropsProp} name='checkFill' />\n ) : (\n <Styled.IconAnimation>\n <Icon {...iconProps} {...iconPropsProp} name='loaderFill' />\n </Styled.IconAnimation>\n )}\n </Styled.IconPosition>\n ) : null}\n <Styled.Content aria-hidden={success || loading}>\n {before ? (\n <Icon\n className='icon'\n name={typeof before === 'string' ? before : undefined}\n icon={typeof before !== 'string' ? before : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n {children || content ? (\n <Text className={`${textClassName}__content`} {...textProps} {...textPropsProp}>\n {children || content}\n </Text>\n ) : null}\n {after ? (\n <Icon\n className='icon'\n name={typeof after === 'string' ? after : undefined}\n icon={typeof after !== 'string' ? after : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n ) : null}\n </Styled.Content>\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n let sizes = props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n if (props.round) sizes = props.preset === 'brand' ? SIZES_ROUND : SIZES_ROUND_DEFAULT\n\n return sizes\n },\n }\n)\n\nexport { Button, COMPONENT_NAME, SIZES, SIZES_ROUND }\n\nexport type { ButtonProps }\n"],"names":["COMPONENT_NAME","Button","withMergedProps","forwardRef","props","ref","size","inline","rounded","color","fontColor","textProps","textPropsProp","iconProps","iconPropsProp","as","_as","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","className","children","content","fontWeight","icon","innerRef","restProps","theme","useTheme","preset","round","PROPS_BY_SIZE","href","to","link","disabled","primary","secondary","rootClassName","useClassname","textClassName","rel","useComputedRel","linkProps","useComputedLinkProps","before","after","Array","isArray","sizeProps","weight","lineHeight","sizes","SIZES_TEXT","SIZES_TEXT_DEFAULT","SIZES_ICON","success","loading","_jsx","Styled","_jsxs","_Fragment","Icon","name","undefined","Text","displayName","SIZES","SIZES_DEFAULT","SIZES_ROUND","SIZES_ROUND_DEFAULT"],"mappings":"mlBAgBMA,MAAAA,eAAiB,SAQjBC,MAAAA,OAAuDC,gBAC3DC,YAAwD,CAACC,EAAOC,KAC9D,IAAIC,KACFA,EAAO,IAAGC,OACVA,GAAS,EAAIC,QACbA,GAAU,EAAIC,MACdA,EAAQ,SAAQC,UAChBA,EAAY,QACZC,UAAWC,EAAgB,CAAE,EAC7BC,UAAWC,EAAgB,CAAE,EAC7BC,GAAIC,EAAGC,QACPA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,UACNA,EAASC,SACTA,EAAQC,QACRA,EAAOC,WACPA,EAAUC,KACVA,EAAIC,SACJA,KACGC,GACDzB,EAEJ,MAAM0B,EAAQC,WAEVF,EAAUG,SAAW,kBAAoB1B,GAAS,UAAauB,EAAUI,QAE3EJ,EAAY,IADQK,cAAc5B,IAAiB,CAAA,KAClBuB,IAG/BA,EAAUM,OAAMnB,EAAM,KACtBa,EAAUO,KAAIpB,EAAMc,EAAMO,MAC1BR,EAAUS,WAAUtB,EAAM,UAE1Ba,EAAUU,UAAS9B,EAAQ,WAC3BoB,EAAUW,YAAW/B,EAAQ,YAEjC,MAAMgC,EAAgBC,aAhDH,SAgDgCnB,GACnD,MAAMoB,EAAgBD,aAjDH,UAkDnB,MAAME,EAAMC,eAAef,EAAOD,GAClC,MAAMiB,EAAYC,qBAAqB/B,EAAKa,GAE5C,IAAKmB,EAAQC,GAASC,MAAMC,QAAQxB,GAAQA,EAAO,CAACA,GAEpD,MAAMyB,EAAY,CAChB9C,OACAW,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,MAAMX,EAAuB,IACxByC,EACHrC,GAAI,OACJN,MAAO,UACP4C,OAAQ3B,IAAeG,EAAUG,SAAW,QAAU,IAAM,KAC5DsB,WAAYzB,EAAUG,SAAW,QAAU,IAAM,EACjDuB,MAAO1B,EAAUG,SAAW,QAAUwB,WAAaC,oBAGrD,MAAM5C,EAAuB,IACxBuC,EACH3C,MAAO,UACPuB,OAAQH,EAAUG,OAClBuB,MAAOG,YAGT,MAAMC,EAAU9B,EAAUG,SAAW,SAAWH,EAAU8B,QAC1D,MAAMC,EAAU/B,EAAUG,SAAW,SAAWH,EAAU+B,QAE1D,OACEC,IAACC,KAAW,IACNjC,KACAiB,KACAM,EACJ7C,OAAQA,EACRE,MAAOA,EACPC,UAAWA,EACXF,QAASA,EACToC,IAAKA,EACL7B,GAAIC,EACJO,UAAWkB,EACXpC,IAAKA,GAAOuB,EAASJ,gBAEbA,GAAa,WACnBA,EAAS,CAAEb,YAAWE,cAEtBkD,KAAAC,SAAA,CAAAxC,SAAA,CACGmC,GAAWC,EACVC,IAACC,aAAmB,CAAAtC,SACjBmC,EACCE,IAACI,KAAI,IAAKpD,KAAeC,EAAeoD,KAAK,cAE7CL,IAACC,cAAoB,CAAAtC,SACnBqC,IAACI,KAAI,IAAKpD,KAAeC,EAAeoD,KAAK,mBAIjD,KACJH,KAACD,QAAc,CAAC,cAAaH,GAAWC,EAAQpC,SAC7CwB,CAAAA,EACCa,IAACI,KAAI,CACH1C,UAAU,OACV2C,YAAalB,GAAW,SAAWA,OAASmB,EAC5CxC,YAAaqB,GAAW,SAAWA,OAASmB,KACxCtD,KACAC,IAEJ,KACHU,GAAYC,EACXoC,IAACO,KAAI,CAAC7C,UAAW,GAAGoB,gBAA8BhC,KAAeC,EAAaY,SAC3EA,GAAYC,IAEb,KACHwB,EACCY,IAACI,KAAI,CACH1C,UAAU,OACV2C,YAAajB,GAAU,SAAWA,OAAQkB,EAC1CxC,YAAasB,GAAU,SAAWA,OAAQkB,KACtCtD,KACAC,IAEJ,YAIE,IAGlB,CACEuD,YAhJmB,SAiJnBd,MAAQnD,IACN,IAAImD,EAAQnD,EAAM4B,SAAW,QAAUsC,MAAQC,cAG/C,OAFInE,EAAM6B,QAAOsB,EAAQnD,EAAM4B,SAAW,QAAUwC,YAAcC,qBAE3DlB,CAAK"}
@@ -0,0 +1,2 @@
1
+ 'use strict';exports.PROPS_BY_SIZE={xl:{paddingLeftM:36,paddingRightM:36,paddingLeftS:32,paddingRightS:32},l:{fontSizeM:'m',heightM:56,heightS:52,paddingLeftM:28,paddingRightM:28,paddingLeftS:24,paddingRightS:24},m:{paddingLeftM:24,paddingRightM:24,paddingLeftS:20,paddingRightS:20},s:{paddingLeftM:20,paddingRightM:20,paddingLeftS:16,paddingRightS:16},xs:{paddingLeftM:20,paddingRightM:20,paddingLeftS:16,paddingRightS:16}},exports.SIZES_DEFAULT={xxxl:{height:78,paddingLeft:44,paddingRight:44,'--gap':'0.25em'},xxl:{height:72,paddingLeft:40,paddingRight:40,'--gap':'0.25em'},xl:{height:68,paddingLeft:40,paddingRight:40,'--gap':'0.25em'},l:{height:60,paddingLeft:36,paddingRight:36,'--gap':'0.25em'},m:{height:52,paddingLeft:32,paddingRight:32,'--gap':'0.25em'},s:{height:40,paddingLeft:28,paddingRight:28,'--gap':'0.25em'},xs:{height:40,paddingLeft:28,paddingRight:28,'--gap':'0.25em'},xxs:{height:32,paddingLeft:18,paddingRight:18,'--gap':'0.25em'},xxxs:{height:28,paddingLeft:12,paddingRight:12,'--gap':'0.25em'}},exports.SIZES_ROUND_DEFAULT={xxxl:{lineHeight:1,padding:'0.28em',width:72,height:72,'--gap':'0.25em'},xxl:{lineHeight:1,padding:'0.28em',width:68,height:68,'--gap':'0.25em'},xl:{lineHeight:1,padding:'0.28em',width:60,height:60,'--gap':'0.25em'},l:{lineHeight:1,padding:'0.28em',width:52,height:52,'--gap':'0.25em'},m:{lineHeight:1,padding:'0.28em',width:48,height:48,'--gap':'0.25em'},s:{lineHeight:1,padding:'0.28em',width:40,height:40,'--gap':'0.25em'},xs:{lineHeight:1,padding:'0.28em',width:32,height:32,'--gap':'0.25em'},xxs:{lineHeight:1,padding:'0.28em',width:24,height:24,'--gap':'0.25em'},xxxs:{lineHeight:1,padding:'0.28em',width:18,height:18,'--gap':'0.25em'}},exports.SIZES_TEXT_DEFAULT={xxxl:{fontSize:24},xxl:{fontSize:22},xl:{fontSize:20},l:{fontSize:18},m:{fontSize:16},s:{fontSize:14},xs:{fontSize:14},xxs:{fontSize:12},xxxs:{fontSize:10}};
2
+ //# sourceMappingURL=sizes-default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes-default.js","sources":["../../../../src/components/Button/sizes-default.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { ButtonProps, Size } from './types'\n\nexport const SIZES_DEFAULT: Record<Size, CSSProperties> = {\n xxxl: {\n height: 78,\n paddingLeft: 44,\n paddingRight: 44,\n '--gap': '0.25em',\n },\n xxl: {\n height: 72,\n paddingLeft: 40,\n paddingRight: 40,\n '--gap': '0.25em',\n },\n xl: {\n height: 68,\n paddingLeft: 40,\n paddingRight: 40,\n '--gap': '0.25em',\n },\n l: {\n height: 60,\n paddingLeft: 36,\n paddingRight: 36,\n '--gap': '0.25em',\n },\n m: {\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n '--gap': '0.25em',\n },\n s: {\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '0.25em',\n },\n xs: {\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '0.25em',\n },\n xxs: {\n height: 32,\n paddingLeft: 18,\n paddingRight: 18,\n '--gap': '0.25em',\n },\n xxxs: {\n height: 28,\n paddingLeft: 12,\n paddingRight: 12,\n '--gap': '0.25em',\n },\n}\n\nexport const SIZES_ROUND_DEFAULT: Record<Size, CSSProperties> = {\n xxxl: {\n lineHeight: 1,\n padding: '0.28em',\n width: 72,\n height: 72,\n '--gap': '0.25em',\n },\n xxl: {\n lineHeight: 1,\n padding: '0.28em',\n width: 68,\n height: 68,\n '--gap': '0.25em',\n },\n xl: {\n lineHeight: 1,\n padding: '0.28em',\n width: 60,\n height: 60,\n '--gap': '0.25em',\n },\n l: {\n lineHeight: 1,\n padding: '0.28em',\n width: 52,\n height: 52,\n '--gap': '0.25em',\n },\n m: {\n lineHeight: 1,\n padding: '0.28em',\n width: 48,\n height: 48,\n '--gap': '0.25em',\n },\n s: {\n lineHeight: 1,\n padding: '0.28em',\n width: 40,\n height: 40,\n '--gap': '0.25em',\n },\n xs: {\n lineHeight: 1,\n padding: '0.28em',\n width: 32,\n height: 32,\n '--gap': '0.25em',\n },\n xxs: {\n lineHeight: 1,\n padding: '0.28em',\n width: 24,\n height: 24,\n '--gap': '0.25em',\n },\n xxxs: {\n lineHeight: 1,\n padding: '0.28em',\n width: 18,\n height: 18,\n '--gap': '0.25em',\n },\n}\n\nexport const SIZES_TEXT_DEFAULT: Record<Size, CSSProperties> = {\n xxxl: { fontSize: 24 },\n xxl: { fontSize: 22 },\n xl: { fontSize: 20 },\n l: { fontSize: 18 },\n m: { fontSize: 16 },\n s: { fontSize: 14 },\n xs: { fontSize: 14 },\n xxs: { fontSize: 12 },\n xxxs: { fontSize: 10 },\n}\n\n// delete in next major version bump\nexport const PROPS_BY_SIZE: Partial<Record<Size, ButtonProps>> = {\n xl: {\n paddingLeftM: 36,\n paddingRightM: 36,\n paddingLeftS: 32,\n paddingRightS: 32,\n },\n l: {\n fontSizeM: 'm',\n heightM: 56,\n heightS: 52,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n"],"names":["xl","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","l","fontSizeM","heightM","heightS","m","s","xs","xxxl","height","paddingLeft","paddingRight","xxl","xxs","xxxs","lineHeight","padding","width","fontSize"],"mappings":"mCA2IiE,CAC/DA,GAAI,CACFC,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBC,EAAG,CACDC,UAAW,IACXC,QAAS,GACTC,QAAS,GACTP,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBK,EAAG,CACDR,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBM,EAAG,CACDT,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBO,GAAI,CACFV,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,2BAxKuC,CACxDQ,KAAM,CACJC,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXC,IAAK,CACHH,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXf,GAAI,CACFa,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXV,EAAG,CACDQ,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXN,EAAG,CACDI,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXL,EAAG,CACDG,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXJ,GAAI,CACFE,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXE,IAAK,CACHJ,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXG,KAAM,CACJL,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,uCAImD,CAC9DH,KAAM,CACJO,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXG,IAAK,CACHG,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXb,GAAI,CACFmB,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXR,EAAG,CACDc,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXJ,EAAG,CACDU,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXH,EAAG,CACDS,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXF,GAAI,CACFQ,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXI,IAAK,CACHE,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,UAEXK,KAAM,CACJC,WAAY,EACZC,QAAS,SACTC,MAAO,GACPR,OAAQ,GACR,QAAS,sCAIkD,CAC7DD,KAAM,CAAEU,SAAU,IAClBN,IAAK,CAAEM,SAAU,IACjBtB,GAAI,CAAEsB,SAAU,IAChBjB,EAAG,CAAEiB,SAAU,IACfb,EAAG,CAAEa,SAAU,IACfZ,EAAG,CAAEY,SAAU,IACfX,GAAI,CAAEW,SAAU,IAChBL,IAAK,CAAEK,SAAU,IACjBJ,KAAM,CAAEI,SAAU"}
@@ -0,0 +1,2 @@
1
+ const SIZES_DEFAULT={xxxl:{height:78,paddingLeft:44,paddingRight:44,'--gap':'0.25em'},xxl:{height:72,paddingLeft:40,paddingRight:40,'--gap':'0.25em'},xl:{height:68,paddingLeft:40,paddingRight:40,'--gap':'0.25em'},l:{height:60,paddingLeft:36,paddingRight:36,'--gap':'0.25em'},m:{height:52,paddingLeft:32,paddingRight:32,'--gap':'0.25em'},s:{height:40,paddingLeft:28,paddingRight:28,'--gap':'0.25em'},xs:{height:40,paddingLeft:28,paddingRight:28,'--gap':'0.25em'},xxs:{height:32,paddingLeft:18,paddingRight:18,'--gap':'0.25em'},xxxs:{height:28,paddingLeft:12,paddingRight:12,'--gap':'0.25em'}};const SIZES_ROUND_DEFAULT={xxxl:{lineHeight:1,padding:'0.28em',width:72,height:72,'--gap':'0.25em'},xxl:{lineHeight:1,padding:'0.28em',width:68,height:68,'--gap':'0.25em'},xl:{lineHeight:1,padding:'0.28em',width:60,height:60,'--gap':'0.25em'},l:{lineHeight:1,padding:'0.28em',width:52,height:52,'--gap':'0.25em'},m:{lineHeight:1,padding:'0.28em',width:48,height:48,'--gap':'0.25em'},s:{lineHeight:1,padding:'0.28em',width:40,height:40,'--gap':'0.25em'},xs:{lineHeight:1,padding:'0.28em',width:32,height:32,'--gap':'0.25em'},xxs:{lineHeight:1,padding:'0.28em',width:24,height:24,'--gap':'0.25em'},xxxs:{lineHeight:1,padding:'0.28em',width:18,height:18,'--gap':'0.25em'}};const SIZES_TEXT_DEFAULT={xxxl:{fontSize:24},xxl:{fontSize:22},xl:{fontSize:20},l:{fontSize:18},m:{fontSize:16},s:{fontSize:14},xs:{fontSize:14},xxs:{fontSize:12},xxxs:{fontSize:10}};const PROPS_BY_SIZE={xl:{paddingLeftM:36,paddingRightM:36,paddingLeftS:32,paddingRightS:32},l:{fontSizeM:'m',heightM:56,heightS:52,paddingLeftM:28,paddingRightM:28,paddingLeftS:24,paddingRightS:24},m:{paddingLeftM:24,paddingRightM:24,paddingLeftS:20,paddingRightS:20},s:{paddingLeftM:20,paddingRightM:20,paddingLeftS:16,paddingRightS:16},xs:{paddingLeftM:20,paddingRightM:20,paddingLeftS:16,paddingRightS:16}};export{PROPS_BY_SIZE,SIZES_DEFAULT,SIZES_ROUND_DEFAULT,SIZES_TEXT_DEFAULT};
2
+ //# sourceMappingURL=sizes-default.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes-default.mjs","sources":["../../../../src/components/Button/sizes-default.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { ButtonProps, Size } from './types'\n\nexport const SIZES_DEFAULT: Record<Size, CSSProperties> = {\n xxxl: {\n height: 78,\n paddingLeft: 44,\n paddingRight: 44,\n '--gap': '0.25em',\n },\n xxl: {\n height: 72,\n paddingLeft: 40,\n paddingRight: 40,\n '--gap': '0.25em',\n },\n xl: {\n height: 68,\n paddingLeft: 40,\n paddingRight: 40,\n '--gap': '0.25em',\n },\n l: {\n height: 60,\n paddingLeft: 36,\n paddingRight: 36,\n '--gap': '0.25em',\n },\n m: {\n height: 52,\n paddingLeft: 32,\n paddingRight: 32,\n '--gap': '0.25em',\n },\n s: {\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '0.25em',\n },\n xs: {\n height: 40,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '0.25em',\n },\n xxs: {\n height: 32,\n paddingLeft: 18,\n paddingRight: 18,\n '--gap': '0.25em',\n },\n xxxs: {\n height: 28,\n paddingLeft: 12,\n paddingRight: 12,\n '--gap': '0.25em',\n },\n}\n\nexport const SIZES_ROUND_DEFAULT: Record<Size, CSSProperties> = {\n xxxl: {\n lineHeight: 1,\n padding: '0.28em',\n width: 72,\n height: 72,\n '--gap': '0.25em',\n },\n xxl: {\n lineHeight: 1,\n padding: '0.28em',\n width: 68,\n height: 68,\n '--gap': '0.25em',\n },\n xl: {\n lineHeight: 1,\n padding: '0.28em',\n width: 60,\n height: 60,\n '--gap': '0.25em',\n },\n l: {\n lineHeight: 1,\n padding: '0.28em',\n width: 52,\n height: 52,\n '--gap': '0.25em',\n },\n m: {\n lineHeight: 1,\n padding: '0.28em',\n width: 48,\n height: 48,\n '--gap': '0.25em',\n },\n s: {\n lineHeight: 1,\n padding: '0.28em',\n width: 40,\n height: 40,\n '--gap': '0.25em',\n },\n xs: {\n lineHeight: 1,\n padding: '0.28em',\n width: 32,\n height: 32,\n '--gap': '0.25em',\n },\n xxs: {\n lineHeight: 1,\n padding: '0.28em',\n width: 24,\n height: 24,\n '--gap': '0.25em',\n },\n xxxs: {\n lineHeight: 1,\n padding: '0.28em',\n width: 18,\n height: 18,\n '--gap': '0.25em',\n },\n}\n\nexport const SIZES_TEXT_DEFAULT: Record<Size, CSSProperties> = {\n xxxl: { fontSize: 24 },\n xxl: { fontSize: 22 },\n xl: { fontSize: 20 },\n l: { fontSize: 18 },\n m: { fontSize: 16 },\n s: { fontSize: 14 },\n xs: { fontSize: 14 },\n xxs: { fontSize: 12 },\n xxxs: { fontSize: 10 },\n}\n\n// delete in next major version bump\nexport const PROPS_BY_SIZE: Partial<Record<Size, ButtonProps>> = {\n xl: {\n paddingLeftM: 36,\n paddingRightM: 36,\n paddingLeftS: 32,\n paddingRightS: 32,\n },\n l: {\n fontSizeM: 'm',\n heightM: 56,\n heightS: 52,\n paddingLeftM: 28,\n paddingRightM: 28,\n paddingLeftS: 24,\n paddingRightS: 24,\n },\n m: {\n paddingLeftM: 24,\n paddingRightM: 24,\n paddingLeftS: 20,\n paddingRightS: 20,\n },\n s: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n xs: {\n paddingLeftM: 20,\n paddingRightM: 20,\n paddingLeftS: 16,\n paddingRightS: 16,\n },\n}\n"],"names":["SIZES_DEFAULT","xxxl","height","paddingLeft","paddingRight","xxl","xl","l","m","s","xs","xxs","xxxs","SIZES_ROUND_DEFAULT","lineHeight","padding","width","SIZES_TEXT_DEFAULT","fontSize","PROPS_BY_SIZE","paddingLeftM","paddingRightM","paddingLeftS","paddingRightS","fontSizeM","heightM","heightS"],"mappings":"AAGO,MAAMA,cAA6C,CACxDC,KAAM,CACJC,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXC,IAAK,CACHH,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXE,GAAI,CACFJ,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXG,EAAG,CACDL,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXI,EAAG,CACDN,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXK,EAAG,CACDP,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXM,GAAI,CACFR,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXO,IAAK,CACHT,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,UAEXQ,KAAM,CACJV,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,WAIN,MAAMS,oBAAmD,CAC9DZ,KAAM,CACJa,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXG,IAAK,CACHS,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXI,GAAI,CACFQ,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXK,EAAG,CACDO,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXM,EAAG,CACDM,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXO,EAAG,CACDK,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXQ,GAAI,CACFI,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXS,IAAK,CACHG,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,UAEXU,KAAM,CACJE,WAAY,EACZC,QAAS,SACTC,MAAO,GACPd,OAAQ,GACR,QAAS,WAIN,MAAMe,mBAAkD,CAC7DhB,KAAM,CAAEiB,SAAU,IAClBb,IAAK,CAAEa,SAAU,IACjBZ,GAAI,CAAEY,SAAU,IAChBX,EAAG,CAAEW,SAAU,IACfV,EAAG,CAAEU,SAAU,IACfT,EAAG,CAAES,SAAU,IACfR,GAAI,CAAEQ,SAAU,IAChBP,IAAK,CAAEO,SAAU,IACjBN,KAAM,CAAEM,SAAU,KAIb,MAAMC,cAAoD,CAC/Db,GAAI,CACFc,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBhB,EAAG,CACDiB,UAAW,IACXC,QAAS,GACTC,QAAS,GACTN,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBf,EAAG,CACDY,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBd,EAAG,CACDW,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe,IAEjBb,GAAI,CACFU,aAAc,GACdC,cAAe,GACfC,aAAc,GACdC,cAAe"}
@@ -0,0 +1,2 @@
1
+ 'use strict';exports.SIZES={xxxl:{height:64,paddingLeft:36,paddingRight:36,'--gap':'10px'},xxl:{height:60,paddingLeft:34,paddingRight:34,'--gap':'10px'},xl:{height:56,paddingLeft:32,paddingRight:32,'--gap':'8px'},l:{height:48,paddingLeft:28,paddingRight:28,'--gap':'8px'},m:{height:44,paddingLeft:28,paddingRight:28,'--gap':'6px'},s:{height:40,paddingLeft:24,paddingRight:24,'--gap':'6px'},xs:{height:32,paddingLeft:16,paddingRight:16,'--gap':'4px'},xxs:{height:28,paddingLeft:14,paddingRight:14,'--gap':'4px'},xxxs:{height:24,paddingLeft:12,paddingRight:12,'--gap':'2px'}},exports.SIZES_ICON={xxxl:{fontSize:28},xxl:{fontSize:28},xl:{fontSize:24},l:{fontSize:24},m:{fontSize:20},s:{fontSize:20},xs:{fontSize:20},xxs:{fontSize:18},xxxs:{fontSize:16}},exports.SIZES_ROUND={xxxl:{height:64,width:64,'--gap':'10px'},xxl:{height:60,width:60,'--gap':'10px'},xl:{height:56,width:56,'--gap':'8px'},l:{height:48,width:48,'--gap':'8px'},m:{height:44,width:44,'--gap':'6px'},s:{height:40,width:40,'--gap':'6px'},xs:{height:32,width:32,'--gap':'4px'},xxs:{height:28,width:28,'--gap':'4px'},xxxs:{height:24,width:24,'--gap':'2px'}},exports.SIZES_TEXT={xxxl:{fontSize:22},xxl:{fontSize:20},xl:{fontSize:18},l:{fontSize:18},m:{fontSize:16},s:{fontSize:16},xs:{fontSize:14},xxs:{fontSize:12},xxxs:{fontSize:10}};
2
+ //# sourceMappingURL=sizes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes.js","sources":["../../../../src/components/Button/sizes.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { Size } from './types'\n\nexport const SIZES: Record<Size, CSSProperties> = {\n xxxl: {\n height: 64,\n paddingLeft: 36,\n paddingRight: 36,\n '--gap': '10px',\n },\n xxl: {\n height: 60,\n paddingLeft: 34,\n paddingRight: 34,\n '--gap': '10px',\n },\n xl: {\n height: 56,\n paddingLeft: 32,\n paddingRight: 32,\n '--gap': '8px',\n },\n l: {\n height: 48,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '8px',\n },\n m: {\n height: 44,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '6px',\n },\n s: {\n height: 40,\n paddingLeft: 24,\n paddingRight: 24,\n '--gap': '6px',\n },\n xs: {\n height: 32,\n paddingLeft: 16,\n paddingRight: 16,\n '--gap': '4px',\n },\n xxs: {\n height: 28,\n paddingLeft: 14,\n paddingRight: 14,\n '--gap': '4px',\n },\n xxxs: {\n height: 24,\n paddingLeft: 12,\n paddingRight: 12,\n '--gap': '2px',\n },\n}\n\nexport const SIZES_ROUND: Record<Size, CSSProperties> = {\n xxxl: {\n height: 64,\n width: 64,\n '--gap': '10px',\n },\n xxl: {\n height: 60,\n width: 60,\n '--gap': '10px',\n },\n xl: {\n height: 56,\n width: 56,\n '--gap': '8px',\n },\n l: {\n height: 48,\n width: 48,\n '--gap': '8px',\n },\n m: {\n height: 44,\n width: 44,\n '--gap': '6px',\n },\n s: {\n height: 40,\n width: 40,\n '--gap': '6px',\n },\n xs: {\n height: 32,\n width: 32,\n '--gap': '4px',\n },\n xxs: {\n height: 28,\n width: 28,\n '--gap': '4px',\n },\n xxxs: {\n height: 24,\n width: 24,\n '--gap': '2px',\n },\n}\n\nexport const SIZES_ICON: Record<Size, CSSProperties> = {\n xxxl: { fontSize: 28 },\n xxl: { fontSize: 28 },\n xl: { fontSize: 24 },\n l: { fontSize: 24 },\n m: { fontSize: 20 },\n s: { fontSize: 20 },\n xs: { fontSize: 20 },\n xxs: { fontSize: 18 },\n xxxs: { fontSize: 16 },\n}\n\nexport const SIZES_TEXT: Record<Size, CSSProperties> = {\n xxxl: { fontSize: 22 },\n xxl: { fontSize: 20 },\n xl: { fontSize: 18 },\n l: { fontSize: 18 },\n m: { fontSize: 16 },\n s: { fontSize: 16 },\n xs: { fontSize: 14 },\n xxs: { fontSize: 12 },\n xxxs: { fontSize: 10 },\n}\n"],"names":["xxxl","height","paddingLeft","paddingRight","xxl","xl","l","m","s","xs","xxs","xxxs","fontSize","width"],"mappings":"2BAGkD,CAChDA,KAAM,CACJC,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,QAEXC,IAAK,CACHH,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,QAEXE,GAAI,CACFJ,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXG,EAAG,CACDL,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXI,EAAG,CACDN,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXK,EAAG,CACDP,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXM,GAAI,CACFR,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXO,IAAK,CACHT,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXQ,KAAM,CACJV,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,2BAoD0C,CACrDH,KAAM,CAAEY,SAAU,IAClBR,IAAK,CAAEQ,SAAU,IACjBP,GAAI,CAAEO,SAAU,IAChBN,EAAG,CAAEM,SAAU,IACfL,EAAG,CAAEK,SAAU,IACfJ,EAAG,CAAEI,SAAU,IACfH,GAAI,CAAEG,SAAU,IAChBF,IAAK,CAAEE,SAAU,IACjBD,KAAM,CAAEC,SAAU,yBAzDoC,CACtDZ,KAAM,CACJC,OAAQ,GACRY,MAAO,GACP,QAAS,QAEXT,IAAK,CACHH,OAAQ,GACRY,MAAO,GACP,QAAS,QAEXR,GAAI,CACFJ,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXP,EAAG,CACDL,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXN,EAAG,CACDN,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXL,EAAG,CACDP,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXJ,GAAI,CACFR,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXH,IAAK,CACHT,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXF,KAAM,CACJV,OAAQ,GACRY,MAAO,GACP,QAAS,2BAgB0C,CACrDb,KAAM,CAAEY,SAAU,IAClBR,IAAK,CAAEQ,SAAU,IACjBP,GAAI,CAAEO,SAAU,IAChBN,EAAG,CAAEM,SAAU,IACfL,EAAG,CAAEK,SAAU,IACfJ,EAAG,CAAEI,SAAU,IACfH,GAAI,CAAEG,SAAU,IAChBF,IAAK,CAAEE,SAAU,IACjBD,KAAM,CAAEC,SAAU"}
@@ -0,0 +1,2 @@
1
+ const SIZES={xxxl:{height:64,paddingLeft:36,paddingRight:36,'--gap':'10px'},xxl:{height:60,paddingLeft:34,paddingRight:34,'--gap':'10px'},xl:{height:56,paddingLeft:32,paddingRight:32,'--gap':'8px'},l:{height:48,paddingLeft:28,paddingRight:28,'--gap':'8px'},m:{height:44,paddingLeft:28,paddingRight:28,'--gap':'6px'},s:{height:40,paddingLeft:24,paddingRight:24,'--gap':'6px'},xs:{height:32,paddingLeft:16,paddingRight:16,'--gap':'4px'},xxs:{height:28,paddingLeft:14,paddingRight:14,'--gap':'4px'},xxxs:{height:24,paddingLeft:12,paddingRight:12,'--gap':'2px'}};const SIZES_ROUND={xxxl:{height:64,width:64,'--gap':'10px'},xxl:{height:60,width:60,'--gap':'10px'},xl:{height:56,width:56,'--gap':'8px'},l:{height:48,width:48,'--gap':'8px'},m:{height:44,width:44,'--gap':'6px'},s:{height:40,width:40,'--gap':'6px'},xs:{height:32,width:32,'--gap':'4px'},xxs:{height:28,width:28,'--gap':'4px'},xxxs:{height:24,width:24,'--gap':'2px'}};const SIZES_ICON={xxxl:{fontSize:28},xxl:{fontSize:28},xl:{fontSize:24},l:{fontSize:24},m:{fontSize:20},s:{fontSize:20},xs:{fontSize:20},xxs:{fontSize:18},xxxs:{fontSize:16}};const SIZES_TEXT={xxxl:{fontSize:22},xxl:{fontSize:20},xl:{fontSize:18},l:{fontSize:18},m:{fontSize:16},s:{fontSize:16},xs:{fontSize:14},xxs:{fontSize:12},xxxs:{fontSize:10}};export{SIZES,SIZES_ICON,SIZES_ROUND,SIZES_TEXT};
2
+ //# sourceMappingURL=sizes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizes.mjs","sources":["../../../../src/components/Button/sizes.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { Size } from './types'\n\nexport const SIZES: Record<Size, CSSProperties> = {\n xxxl: {\n height: 64,\n paddingLeft: 36,\n paddingRight: 36,\n '--gap': '10px',\n },\n xxl: {\n height: 60,\n paddingLeft: 34,\n paddingRight: 34,\n '--gap': '10px',\n },\n xl: {\n height: 56,\n paddingLeft: 32,\n paddingRight: 32,\n '--gap': '8px',\n },\n l: {\n height: 48,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '8px',\n },\n m: {\n height: 44,\n paddingLeft: 28,\n paddingRight: 28,\n '--gap': '6px',\n },\n s: {\n height: 40,\n paddingLeft: 24,\n paddingRight: 24,\n '--gap': '6px',\n },\n xs: {\n height: 32,\n paddingLeft: 16,\n paddingRight: 16,\n '--gap': '4px',\n },\n xxs: {\n height: 28,\n paddingLeft: 14,\n paddingRight: 14,\n '--gap': '4px',\n },\n xxxs: {\n height: 24,\n paddingLeft: 12,\n paddingRight: 12,\n '--gap': '2px',\n },\n}\n\nexport const SIZES_ROUND: Record<Size, CSSProperties> = {\n xxxl: {\n height: 64,\n width: 64,\n '--gap': '10px',\n },\n xxl: {\n height: 60,\n width: 60,\n '--gap': '10px',\n },\n xl: {\n height: 56,\n width: 56,\n '--gap': '8px',\n },\n l: {\n height: 48,\n width: 48,\n '--gap': '8px',\n },\n m: {\n height: 44,\n width: 44,\n '--gap': '6px',\n },\n s: {\n height: 40,\n width: 40,\n '--gap': '6px',\n },\n xs: {\n height: 32,\n width: 32,\n '--gap': '4px',\n },\n xxs: {\n height: 28,\n width: 28,\n '--gap': '4px',\n },\n xxxs: {\n height: 24,\n width: 24,\n '--gap': '2px',\n },\n}\n\nexport const SIZES_ICON: Record<Size, CSSProperties> = {\n xxxl: { fontSize: 28 },\n xxl: { fontSize: 28 },\n xl: { fontSize: 24 },\n l: { fontSize: 24 },\n m: { fontSize: 20 },\n s: { fontSize: 20 },\n xs: { fontSize: 20 },\n xxs: { fontSize: 18 },\n xxxs: { fontSize: 16 },\n}\n\nexport const SIZES_TEXT: Record<Size, CSSProperties> = {\n xxxl: { fontSize: 22 },\n xxl: { fontSize: 20 },\n xl: { fontSize: 18 },\n l: { fontSize: 18 },\n m: { fontSize: 16 },\n s: { fontSize: 16 },\n xs: { fontSize: 14 },\n xxs: { fontSize: 12 },\n xxxs: { fontSize: 10 },\n}\n"],"names":["SIZES","xxxl","height","paddingLeft","paddingRight","xxl","xl","l","m","s","xs","xxs","xxxs","SIZES_ROUND","width","SIZES_ICON","fontSize","SIZES_TEXT"],"mappings":"AAGO,MAAMA,MAAqC,CAChDC,KAAM,CACJC,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,QAEXC,IAAK,CACHH,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,QAEXE,GAAI,CACFJ,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXG,EAAG,CACDL,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXI,EAAG,CACDN,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXK,EAAG,CACDP,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXM,GAAI,CACFR,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXO,IAAK,CACHT,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,OAEXQ,KAAM,CACJV,OAAQ,GACRC,YAAa,GACbC,aAAc,GACd,QAAS,QAIN,MAAMS,YAA2C,CACtDZ,KAAM,CACJC,OAAQ,GACRY,MAAO,GACP,QAAS,QAEXT,IAAK,CACHH,OAAQ,GACRY,MAAO,GACP,QAAS,QAEXR,GAAI,CACFJ,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXP,EAAG,CACDL,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXN,EAAG,CACDN,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXL,EAAG,CACDP,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXJ,GAAI,CACFR,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXH,IAAK,CACHT,OAAQ,GACRY,MAAO,GACP,QAAS,OAEXF,KAAM,CACJV,OAAQ,GACRY,MAAO,GACP,QAAS,QAIN,MAAMC,WAA0C,CACrDd,KAAM,CAAEe,SAAU,IAClBX,IAAK,CAAEW,SAAU,IACjBV,GAAI,CAAEU,SAAU,IAChBT,EAAG,CAAES,SAAU,IACfR,EAAG,CAAEQ,SAAU,IACfP,EAAG,CAAEO,SAAU,IACfN,GAAI,CAAEM,SAAU,IAChBL,IAAK,CAAEK,SAAU,IACjBJ,KAAM,CAAEI,SAAU,KAGb,MAAMC,WAA0C,CACrDhB,KAAM,CAAEe,SAAU,IAClBX,IAAK,CAAEW,SAAU,IACjBV,GAAI,CAAEU,SAAU,IAChBT,EAAG,CAAES,SAAU,IACfR,EAAG,CAAEQ,SAAU,IACfP,EAAG,CAAEO,SAAU,IACfN,GAAI,CAAEM,SAAU,IAChBL,IAAK,CAAEK,SAAU,IACjBJ,KAAM,CAAEI,SAAU"}
@@ -1,2 +1,2 @@
1
- 'use strict';var styled=require('styled-components');var tinycolor=require('tinycolor2');var iconPack=require('@foxford/icon-pack');var responsiveProperty=require('../../mixins/responsive-property.js');var color=require('../../mixins/color.js');var style=require('../../shared/utils/style.js');var focus=require('../../mixins/focus.js');var responsiveSize=require('../../mixins/responsive-size.js');var regexp=require('../../shared/regexp.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);var tinycolor__default=_interopDefault(tinycolor);const shouldForwardButtonProp=style.createShouldForwardProp((o=>!['fluid','width','display','padding','paddingTop','paddingRight','paddingBottom','paddingLeft','fontSize','height','inline','round','success','loading','black','danger','onColored','clear','base','outline','autoRel','noSpacing','primary','secondary','inverted','rounded','basic'].includes(o)),(o=>!(regexp.responsiveFluidPropKeyRegExp.test(o)||regexp.responsiveWidthPropKeyRegExp.test(o)||regexp.responsivePaddingPropKeyRegExp.test(o)||regexp.responsiveFontSizePropKeyRegExp.test(o)||regexp.responsiveHeightPropKeyRegExp.test(o))));const WIDTHS={xl:320,l:280,m:245,s:180,xs:140};const loadingAnimation=styled.keyframes(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);const spinAnimation=styled.keyframes(["100%{transform:rotate(360deg);}"]);const defaultLoadingStyles=styled.css(["background-image:linear-gradient( -45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:25px 25px;animation:"," 2s linear infinite;cursor:progress;"],loadingAnimation);const getWidth=o=>o==='auto'?'auto':typeof o=='number'||typeof o=='boolean'?o:o&&WIDTHS[o]?WIDTHS[o]:'auto';const fluidStyles=()=>styled.css(["min-width:initial;width:100%;"]);const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n &::before {\n box-shadow: inset 0px 4px 0px ${o.shadowColor};\n }\n &:hover {\n color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n border-color: ${o.borderColorHover};\n }\n &:active {\n color: ${o.colorActive};\n background-color: ${o.backgroundColorActive};\n border-color: ${o.borderColorActive};\n }\n &:disabled {\n color: ${o.colorDisabled};\n background-color: ${o.backgroundColorDisabled};\n border-color: ${o.borderColorDisabled};\n }\n`;const COLOR_SCHEMA={contrast:{clear:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors['bg-oncontrast-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncontrast-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-secondary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success||o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-oncolor-default'],colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),default:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColor:o.theme.colors['bg-oncolor-primary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},danger:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['alert-error']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['alert-error']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-onmain-tertiary']:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['alert-bg-error-500']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['alert-bg-error-500'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['alert-bg-error-500'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['alert-bg-error-500']:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),default:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['alert-bg-error-500'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['alert-bg-error-500']:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},black:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.loading?o.theme.colors['content-onmain-inverse']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-onmain-inverse']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-contrast'],colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():o.theme.colors['bg-onmain-inverse'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),default:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-inverse'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},default:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-brand-primary']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-brand-primary']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-onmain-tertiary']:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-brand-primary-basic']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-brand-primary'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['bg-brand-primary-basic'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-brand-primary-basic']:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),default:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-brand-primary-basic'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-disabled'],backgroundColorDisabled:o.loading?o.theme.colors['bg-brand-primary-basic']:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))}};const defaultStyles=styled.css([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':`\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${o.fontColor};\n background-color: ${tinycolor__default.default(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString()};\n }\n ${o.inverted||o.basic||o.outline?`\n &:not(:hover) {\n border: 1px solid ${o.theme.colors[o.color]};\n }\n &:hover {\n border: 1px solid ${o.theme.colors[o.color]};\n }\n `:''}\n `),(o=>o.loading?defaultLoadingStyles:''),(o=>{let e='background-color';return(o.inverted||o.basic||o.outline)&&(e='color'),color.color(o.color,e)}),(o=>{let e='color';return(o.inverted||o.basic||o.outline)&&(e='background-color'),color.color(o.fontColor,e)}),(o=>o.disabled?`\n cursor: not-allowed;\n background-color: ${o.theme.colors.mercury};\n color: ${o.theme.colors.silver};\n `:''),(o=>o.basic||o.outline?'background-color: transparent;':''));const Root=styled__default.default.button.withConfig({shouldForwardProp:shouldForwardButtonProp}).attrs((o=>({dynamicSizeDeclaration:(e,r)=>({fontSize:typeof e=='string'?e:`${e}${r}`,height:'2.8em',width:o.round?'2.8em':void 0,paddingRight:o.round?void 0:'1.6em',paddingLeft:o.round?void 0:'1.6em'})}))).withConfig({displayName:"Button__Root",componentId:"ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],(o=>{let e=o.inline?'inline-flex':'flex';o.display&&(e=o.display);let r='0px';o.rounded&&(r=o.preset==='brand'?'48px':'5px'),o.round&&(r='50%');let t='pointer';return o.disabled&&(t='not-allowed'),o.loading&&(t='wait'),`\n display: ${e};\n border-radius: ${r};\n cursor: ${t};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n ${o.preset==='brand'?"\n border: 1px solid transparent;\n transition-property: background-color; \n transition-duration: 250ms;\n &::before {\n transition-property: opacity; \n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n &::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: inherit;\n opacity: 0;\n }\n &:active:not(:disabled)::before {\n opacity: 1;\n }":"\n border: none;\n overflow: hidden;\n transition-property: background-color, color;\n transition-duration: 200ms;"}\n `}),(o=>{if(o.preset==='default')return defaultStyles;let e=COLOR_SCHEMA.default;return o.black&&(e=COLOR_SCHEMA.black),o.danger&&(e=COLOR_SCHEMA.danger),(o.contrast||o.onColored)&&(e=COLOR_SCHEMA.contrast),o.clear?e.clear:o.base?e.base:o.outline?e.outline:e.default}),focus.focus,responsiveSize.responsiveSize,(o=>o.padding?responsiveProperty.property(o.padding,'padding'):null),(o=>o.paddingTop?responsiveProperty.property(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?responsiveProperty.property(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?responsiveProperty.property(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?responsiveProperty.property(o.paddingLeft,'padding-left'):null),(o=>o.margin?responsiveProperty.property(o.margin,'margin'):null),(o=>o.marginTop?responsiveProperty.property(o.marginTop,'margin-top'):null),(o=>o.marginRight?responsiveProperty.property(o.marginRight,'margin-right'):null),(o=>o.marginBottom?responsiveProperty.property(o.marginBottom,'margin-bottom'):null),(o=>o.marginLeft?responsiveProperty.property(o.marginLeft,'margin-left'):null),(o=>o.fontSize?responsiveProperty.property(o.fontSize,'font-size'):null),(o=>o.height?responsiveProperty.property(o.height,'height'):null),(o=>{const e=o.fluid&&o.width!=='auto'?'max-width':'width';return o.width?responsiveProperty.property(getWidth(o.width),e):null}),(({paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n},cssProperty:'padding'})),(({paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n},cssProperty:'padding-top'})),(({paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n},cssProperty:'padding-right'})),(({paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n},cssProperty:'padding-bottom'})),(({paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n},cssProperty:'padding-left'})),(({marginXS:o,marginS:e,marginM:r,marginL:t,marginXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{marginXS:o,marginS:e,marginM:r,marginL:t,marginXL:n},cssProperty:'margin'})),(({marginTopXS:o,marginTopS:e,marginTopM:r,marginTopL:t,marginTopXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{marginTopXS:o,marginTopS:e,marginTopM:r,marginTopL:t,marginTopXL:n},cssProperty:'margin-top'})),(({marginRightXS:o,marginRightS:e,marginRightM:r,marginRightL:t,marginRightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{marginRightXS:o,marginRightS:e,marginRightM:r,marginRightL:t,marginRightXL:n},cssProperty:'margin-right'})),(({marginBottomXS:o,marginBottomS:e,marginBottomM:r,marginBottomL:t,marginBottomXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{marginBottomXS:o,marginBottomS:e,marginBottomM:r,marginBottomL:t,marginBottomXL:n},cssProperty:'margin-bottom'})),(({marginLeftXS:o,marginLeftS:e,marginLeftM:r,marginLeftL:t,marginLeftXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{marginLeftXS:o,marginLeftS:e,marginLeftM:r,marginLeftL:t,marginLeftXL:n},cssProperty:'margin-left'})),(({fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n},cssProperty:'font-size'})),(({heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n},cssProperty:'height'})),(({widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n,fluid:s,width:l})=>responsiveProperty.responsiveNamedProperty({sizes:{widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n},cssProperty:s&&l!=='auto'?'max-width':'width',customSizeHandler:getWidth})),(o=>o.fluid?responsiveProperty.property(o.fluid,fluidStyles):null),(({fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n},cssProperty:fluidStyles})));const LoaderIcon=styled__default.default(iconPack.LoaderFill).withConfig({displayName:"Button__LoaderIcon",componentId:"ui__sc-16o31r2-1"})(["transform-origin:center;animation:"," 1600ms infinite linear;"],spinAnimation);exports.LoaderIcon=LoaderIcon,exports.Root=Root;
1
+ 'use strict';var styled=require('styled-components');var tinycolor=require('tinycolor2');var responsiveProperty=require('../../mixins/responsive-property.js');var color=require('../../mixins/color.js');var style=require('../../shared/utils/style.js');var focus=require('../../mixins/focus.js');var responsiveSize=require('../../mixins/responsive-size.js');var responsiveMargin=require('../../mixins/responsive-margin.js');var regexp=require('../../shared/regexp.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);var tinycolor__default=_interopDefault(tinycolor);const shouldForwardButtonProp=style.createShouldForwardProp((o=>!['fluid','width','display','padding','paddingTop','paddingRight','paddingBottom','paddingLeft','fontSize','height','inline','round','success','loading','black','danger','onColored','clear','base','outline','autoRel','noSpacing','primary','secondary','inverted','rounded','basic'].includes(o)),(o=>!(regexp.responsiveFluidPropKeyRegExp.test(o)||regexp.responsiveWidthPropKeyRegExp.test(o)||regexp.responsivePaddingPropKeyRegExp.test(o)||regexp.responsiveFontSizePropKeyRegExp.test(o)||regexp.responsiveHeightPropKeyRegExp.test(o))));const WIDTHS={xl:320,l:280,m:245,s:180,xs:140};const loadingAnimation=styled.keyframes(["0%{background-position:0 0;}100%{background-position:50px 50px;}"]);const spinAnimation=styled.keyframes(["100%{transform:rotate(360deg);}"]);const defaultLoadingStyles=styled.css(["background-image:linear-gradient( -45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent );background-size:25px 25px;animation:"," 2s linear infinite;cursor:progress;"],loadingAnimation);const getWidth=o=>o==='auto'?'auto':typeof o=='number'||typeof o=='boolean'?o:o&&WIDTHS[o]?WIDTHS[o]:'auto';const fluidStyles=()=>styled.css(["min-width:initial;width:100%;"]);const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n &::before {\n box-shadow: inset 0px 4px 0px ${o.shadowColor};\n }\n &:hover {\n color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n border-color: ${o.borderColorHover};\n }\n &:active {\n color: ${o.colorActive};\n background-color: ${o.backgroundColorActive};\n border-color: ${o.borderColorActive};\n }\n &:disabled {\n color: ${o.colorDisabled};\n background-color: ${o.backgroundColorDisabled};\n border-color: ${o.borderColorDisabled};\n }\n`;const COLOR_SCHEMA={contrast:{clear:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors['bg-oncontrast-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncontrast-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['bg-oncolor-primary']:o.theme.colors['bg-oncolor-secondary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-oncolor-secondary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.loading?o.theme.colors['content-oncolor-constant']:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success||o.loading?o.theme.colors['bg-oncolor-primary']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-oncolor-default-large'],colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString():o.theme.colors['bg-oncolor-primary'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColor:o.theme.colors['bg-oncolor-primary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorHover:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-constant'],backgroundColorActive:tinycolor__default.default(o.theme.colors['bg-oncolor-primary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},danger:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['alert-error'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['alert-error'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['alert-bg-error-500']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['alert-bg-error-500'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['alert-bg-error-500'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['alert-bg-error-500']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},black:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-oncolor-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.loading?o.theme.colors['content-onmain-inverse']:o.theme.colors['content-oncolor-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-onmain-inverse']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():o.theme.colors['bg-onmain-inverse'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-inverse'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-onmain-inverse'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).lighten(4).toString():tinycolor__default.default(o.theme.colors['bg-onmain-inverse']).lighten(4).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))},default:{clear:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColor:o.theme.colors.transparent,borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['alert-success']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.theme.colors['bg-oncolor-hover'],borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),base:styled.css(["",""],(o=>template({color:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-onmain-tertiary'],borderColor:o.theme.colors.transparent,colorHover:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.success?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-onmain-tertiary']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),outline:styled.css(["",""],(o=>template({color:o.success||o.loading?o.theme.colors['content-oncolor-primary']:o.theme.colors['content-brand-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.loading?o.theme.colors['bg-brand-primary-basic']:o.theme.colors.transparent,borderColor:o.success||o.loading?o.theme.colors.transparent:o.theme.colors['border-onmain-default-large'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():o.theme.colors['bg-brand-primary-basic'],borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette}))),filled:styled.css(["",""],(o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.success?o.theme.colors['alert-bg-success-500']:o.theme.colors['bg-brand-primary-basic'],borderColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorHover:o.theme.colors.transparent,colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.success?tinycolor__default.default(o.theme.colors['alert-bg-success-500']).darken(2).toString():tinycolor__default.default(o.theme.colors['bg-brand-primary-basic']).darken(2).toString(),borderColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],borderColorDisabled:o.theme.colors.transparent,shadowColor:o.theme.colors['bg-oncolor-hover'],...o.palette})))}};const defaultStyles=styled.css([""," "," "," "," "," ",""],(o=>o.disabled||o.loading?'':`\n &:active {\n box-shadow: inset 0 4px 0px 0px rgba(0, 0, 0, 0.14);\n }\n &:hover {\n color: ${o.fontColor};\n background-color: ${tinycolor__default.default(o.theme.colors[o.color]).saturate(-5).lighten(-8).toString()};\n }\n ${o.inverted||o.basic||o.outline?`\n &:not(:hover) {\n border: 1px solid ${o.theme.colors[o.color]};\n }\n &:hover {\n border: 1px solid ${o.theme.colors[o.color]};\n }\n `:''}\n `),(o=>o.loading?defaultLoadingStyles:''),(o=>{let e='background-color';return(o.inverted||o.basic||o.outline)&&(e='color'),color.color(o.color,e)}),(o=>{let e='color';return(o.inverted||o.basic||o.outline)&&(e='background-color'),color.color(o.fontColor,e)}),(o=>o.disabled?`\n cursor: not-allowed;\n background-color: ${o.theme.colors.mercury};\n color: ${o.theme.colors.silver};\n `:''),(o=>o.basic||o.outline?'background-color: transparent;':''));const Root=styled__default.default.button.withConfig({shouldForwardProp:shouldForwardButtonProp}).attrs((o=>({dynamicSizeDeclaration:(e,r)=>({fontSize:typeof e=='string'?e:`${e}${r}`,height:'2.8em',width:o.round?'2.8em':void 0,paddingRight:o.round?void 0:'1.6em',paddingLeft:o.round?void 0:'1.6em'})}))).withConfig({displayName:"Button__Root",componentId:"ui__sc-16o31r2-0"})([""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",""],(o=>{let e=o.inline?'inline-flex':'flex';o.display&&(e=o.display);let r='0px';o.rounded&&(r=o.preset==='brand'?'48px':'5px'),o.round&&(r='50%');let t='pointer';return o.loading&&(t='wait'),o.success&&(t='pointer'),o.disabled&&(t='not-allowed'),`\n display: ${e};\n border-radius: ${r};\n cursor: ${t};\n box-sizing: border-box;\n position: relative;\n isolation: isolate;\n justify-content: center;\n align-items: center;\n user-select: none;\n border: none;\n text-decoration: none;\n appearance: none;\n white-space: nowrap;\n text-align: center;\n vertical-align: top;\n font: inherit;\n ${o.preset==='brand'?"\n border: 1px solid transparent;\n transition-property: background-color; \n transition-duration: 250ms;\n &::before {\n transition-property: opacity; \n transition-duration: 150ms;\n transition-timing-function: ease-in;\n }\n &::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: inherit;\n opacity: 0;\n }\n &:active:not(:disabled)::before {\n opacity: 1;\n }":"\n border: none;\n overflow: hidden;\n transition-property: background-color, color;\n transition-duration: 200ms;"}\n `}),(o=>{if(o.preset==='default')return defaultStyles;let e=COLOR_SCHEMA.default;return o.black&&(e=COLOR_SCHEMA.black),o.danger&&(e=COLOR_SCHEMA.danger),(o.contrast||o.onColored)&&(e=COLOR_SCHEMA.contrast),o.clear?e.clear:o.base?e.base:o.outline?e.outline:e.filled}),focus.focus,responsiveSize.responsiveSize,responsiveMargin.responsiveMargin,(o=>o.padding?responsiveProperty.property(o.padding,'padding'):null),(o=>o.paddingTop?responsiveProperty.property(o.paddingTop,'padding-top'):null),(o=>o.paddingRight?responsiveProperty.property(o.paddingRight,'padding-right'):null),(o=>o.paddingBottom?responsiveProperty.property(o.paddingBottom,'padding-bottom'):null),(o=>o.paddingLeft?responsiveProperty.property(o.paddingLeft,'padding-left'):null),(o=>o.fontSize?responsiveProperty.property(o.fontSize,'font-size'):null),(o=>o.height?responsiveProperty.property(o.height,'height'):null),(o=>{const e=o.fluid&&o.width!=='auto'?'max-width':'width';return o.width?responsiveProperty.property(getWidth(o.width),e):null}),(({paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingXS:o,paddingS:e,paddingM:r,paddingL:t,paddingXL:n},cssProperty:'padding'})),(({paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingTopXS:o,paddingTopS:e,paddingTopM:r,paddingTopL:t,paddingTopXL:n},cssProperty:'padding-top'})),(({paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingRightXS:o,paddingRightS:e,paddingRightM:r,paddingRightL:t,paddingRightXL:n},cssProperty:'padding-right'})),(({paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingBottomXS:o,paddingBottomS:e,paddingBottomM:r,paddingBottomL:t,paddingBottomXL:n},cssProperty:'padding-bottom'})),(({paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{paddingLeftXS:o,paddingLeftS:e,paddingLeftM:r,paddingLeftL:t,paddingLeftXL:n},cssProperty:'padding-left'})),(({fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fontSizeXS:o,fontSizeS:e,fontSizeM:r,fontSizeL:t,fontSizeXL:n},cssProperty:'font-size'})),(({heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{heightXS:o,heightS:e,heightM:r,heightL:t,heightXL:n},cssProperty:'height'})),(({widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n,fluid:s,width:l})=>responsiveProperty.responsiveNamedProperty({sizes:{widthXS:o,widthS:e,widthM:r,widthL:t,widthXL:n},cssProperty:s&&l!=='auto'?'max-width':'width',customSizeHandler:getWidth})),(o=>o.fluid?responsiveProperty.property(o.fluid,fluidStyles):null),(({fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n})=>responsiveProperty.responsiveNamedProperty({sizes:{fluidXS:o,fluidS:e,fluidM:r,fluidL:t,fluidXL:n},cssProperty:fluidStyles})));const Content=styled__default.default.span.withConfig({displayName:"Button__Content",componentId:"ui__sc-16o31r2-1"})(["display:flex;align-items:center;justify-content:center;&[aria-hidden='true'],&[aria-hidden='true'] *{visibility:hidden !important;}& > *:not(:last-child){margin-right:var(--gap,0.25em);}"]);const IconPosition=styled__default.default.span.withConfig({displayName:"Button__IconPosition",componentId:"ui__sc-16o31r2-2"})(["box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;"]);const IconAnimation=styled__default.default.span.withConfig({displayName:"Button__IconAnimation",componentId:"ui__sc-16o31r2-3"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;transform-origin:center;animation:"," 1600ms infinite linear;@media (prefers-reduced-motion:reduce){animation-name:none;}"],spinAnimation);exports.Content=Content,exports.IconAnimation=IconAnimation,exports.IconPosition=IconPosition,exports.Root=Root;
2
2
  //# sourceMappingURL=style.js.map