{"version":3,"file":"ButtonGroupSection.cjs","names":["createVarsResolver","getSize","getFontSize","getRadius","factory","useProps","Box","useStyles","classes"],"sources":["../../../../src/components/Button/ButtonGroupSection/ButtonGroupSection.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  createVarsResolver,\n  ElementProps,\n  factory,\n  Factory,\n  getFontSize,\n  getRadius,\n  getSize,\n  MantineGradient,\n  MantineRadius,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../../core';\nimport type { ButtonSize, ButtonVariant } from '../Button';\nimport classes from '../Button.module.css';\n\nexport type ButtonGroupSectionStylesNames = 'groupSection';\nexport type ButtonGroupSectionCssVariables = {\n  groupSection:\n    | '--section-radius'\n    | '--section-bg'\n    | '--section-color'\n    | '--section-bd'\n    | '--section-height'\n    | '--section-padding-x'\n    | '--section-fz';\n};\n\nexport interface ButtonGroupSectionProps\n  extends BoxProps, StylesApiProps<ButtonGroupSectionFactory>, ElementProps<'div'> {\n  /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n  radius?: MantineRadius;\n\n  /** Gradient configuration used when `variant=\"gradient\"` @default theme.defaultGradient */\n  gradient?: MantineGradient;\n\n  /** If set, adjusts text color based on background color for `filled` variant */\n  autoContrast?: boolean;\n\n  /** Controls section `height`, `font-size` and horizontal `padding` @default 'sm' */\n  size?: ButtonSize;\n}\n\nexport type ButtonGroupSectionFactory = Factory<{\n  props: ButtonGroupSectionProps;\n  ref: HTMLDivElement;\n  stylesNames: ButtonGroupSectionStylesNames;\n  vars: ButtonGroupSectionCssVariables;\n  variant: ButtonVariant;\n}>;\n\nconst varsResolver = createVarsResolver<ButtonGroupSectionFactory>(\n  (theme, { radius, color, gradient, variant, autoContrast, size }) => {\n    const colors = theme.variantColorResolver({\n      color: color || theme.primaryColor,\n      theme,\n      gradient,\n      variant: variant || 'filled',\n      autoContrast,\n    });\n\n    return {\n      groupSection: {\n        '--section-height': getSize(size, 'section-height'),\n        '--section-padding-x': getSize(size, 'section-padding-x'),\n        '--section-fz': size?.includes('compact')\n          ? getFontSize(size.replace('compact-', ''))\n          : getFontSize(size),\n        '--section-radius': radius === undefined ? undefined : getRadius(radius),\n        '--section-bg': color || variant ? colors.background : undefined,\n        '--section-color': colors.color,\n        '--section-bd': color || variant ? colors.border : undefined,\n      },\n    };\n  }\n);\n\nexport const ButtonGroupSection = factory<ButtonGroupSectionFactory>((_props) => {\n  const props = useProps('ButtonGroupSection', null, _props);\n  const {\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n    gradient,\n    radius,\n    autoContrast,\n    attributes,\n    ...others\n  } = props;\n\n  const getStyles = useStyles<ButtonGroupSectionFactory>({\n    name: 'ButtonGroupSection',\n    props,\n    classes,\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    attributes,\n    vars,\n    varsResolver,\n    rootSelector: 'groupSection',\n  });\n\n  return <Box {...getStyles('groupSection')} {...others} />;\n});\n\nButtonGroupSection.classes = classes;\nButtonGroupSection.varsResolver = varsResolver;\nButtonGroupSection.displayName = '@mantine/core/ButtonGroupSection';\n"],"mappings":";;;;;;;;;;;AAsDA,MAAM,eAAeA,6BAAAA,oBAClB,OAAO,EAAE,QAAQ,OAAO,UAAU,SAAS,cAAc,WAAW;CACnE,MAAM,SAAS,MAAM,qBAAqB;EACxC,OAAO,SAAS,MAAM;EACtB;EACA;EACA,SAAS,WAAW;EACpB;EACD,CAAC;AAEF,QAAO,EACL,cAAc;EACZ,oBAAoBC,iBAAAA,QAAQ,MAAM,iBAAiB;EACnD,uBAAuBA,iBAAAA,QAAQ,MAAM,oBAAoB;EACzD,gBAAgB,MAAM,SAAS,UAAU,GACrCC,iBAAAA,YAAY,KAAK,QAAQ,YAAY,GAAG,CAAC,GACzCA,iBAAAA,YAAY,KAAK;EACrB,oBAAoB,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,OAAO;EACxE,gBAAgB,SAAS,UAAU,OAAO,aAAa,KAAA;EACvD,mBAAmB,OAAO;EAC1B,gBAAgB,SAAS,UAAU,OAAO,SAAS,KAAA;EACpD,EACF;EAEJ;AAED,MAAa,qBAAqBC,gBAAAA,SAAoC,WAAW;CAC/E,MAAM,QAAQC,kBAAAA,SAAS,sBAAsB,MAAM,OAAO;CAC1D,MAAM,EACJ,WACA,OACA,YACA,QACA,UACA,MACA,UACA,QACA,cACA,YACA,GAAG,WACD;AAiBJ,QAAO,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EAAK,GAfMC,mBAAAA,UAAqC;GACrD,MAAM;GACN;GACA,SAAA,sBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,cAAc;GACf,CAAC,CAEwB,eAAe;EAAE,GAAI;EAAU,CAAA;EACzD;AAEF,mBAAmB,UAAUC,sBAAAA;AAC7B,mBAAmB,eAAe;AAClC,mBAAmB,cAAc"}