{"version":3,"file":"CloseButton.cjs","names":["createVarsResolver","getSize","getRadius","rem","polymorphicFactory","useProps","useStyles","UnstyledButton","CloseIcon","classes"],"sources":["../../../src/components/CloseButton/CloseButton.tsx"],"sourcesContent":["import {\n  BoxProps,\n  createVarsResolver,\n  getRadius,\n  getSize,\n  MantineRadius,\n  MantineSize,\n  polymorphicFactory,\n  PolymorphicFactory,\n  rem,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../core';\nimport { UnstyledButton } from '../UnstyledButton';\nimport { CloseIcon } from './CloseIcon';\nimport classes from './CloseButton.module.css';\n\nexport type CloseButtonVariant = 'subtle' | 'transparent';\nexport type CloseButtonStylesNames = 'root';\nexport type CloseButtonCssVariables = {\n  root: '--cb-icon-size' | '--cb-size' | '--cb-radius';\n};\n\nexport interface __CloseButtonProps {\n  'data-disabled'?: boolean;\n\n  /** Controls width and height of the button. Numbers are converted to rem. @default 'md' */\n  size?: MantineSize | (string & {}) | number;\n\n  /** Key of `theme.radius` or any valid CSS value to set border-radius. Numbers are converted to rem. @default theme.defaultRadius */\n  radius?: MantineRadius;\n\n  /** Sets `disabled` attribute, assigns disabled styles */\n  disabled?: boolean;\n\n  /** `X` icon `width` and `height` @default 70% */\n  iconSize?: number | string;\n\n  /** Content rendered inside the button. For example `VisuallyHidden` with label for screen readers. */\n  children?: React.ReactNode;\n\n  /** React node to replace the default close icon. If set, `iconSize` prop is ignored. */\n  icon?: React.ReactNode;\n}\n\nexport interface CloseButtonProps\n  extends __CloseButtonProps, BoxProps, StylesApiProps<CloseButtonFactory> {\n  __staticSelector?: string;\n}\n\nexport type CloseButtonFactory = PolymorphicFactory<{\n  props: CloseButtonProps;\n  defaultComponent: 'button';\n  defaultRef: HTMLButtonElement;\n  stylesNames: CloseButtonStylesNames;\n  variant: CloseButtonVariant;\n  vars: CloseButtonCssVariables;\n}>;\n\nconst defaultProps = {\n  variant: 'subtle',\n} satisfies Partial<CloseButtonProps>;\n\nconst varsResolver = createVarsResolver<CloseButtonFactory>((_, { size, radius, iconSize }) => ({\n  root: {\n    '--cb-size': getSize(size, 'cb-size'),\n    '--cb-radius': radius === undefined ? undefined : getRadius(radius),\n    '--cb-icon-size': rem(iconSize),\n  },\n}));\n\nexport const CloseButton = polymorphicFactory<CloseButtonFactory>((_props) => {\n  const props = useProps('CloseButton', defaultProps, _props);\n  const {\n    iconSize,\n    children,\n    vars,\n    radius,\n    className,\n    classNames,\n    style,\n    styles,\n    unstyled,\n    'data-disabled': dataDisabled,\n    disabled,\n    variant,\n    icon,\n    mod,\n    attributes,\n    __staticSelector,\n    ...others\n  } = props;\n\n  const getStyles = useStyles<CloseButtonFactory>({\n    name: __staticSelector || 'CloseButton',\n    props,\n    className,\n    style,\n    classes,\n    classNames,\n    styles,\n    unstyled,\n    attributes,\n    vars,\n    varsResolver,\n  });\n\n  return (\n    <UnstyledButton\n      {...others}\n      unstyled={unstyled}\n      variant={variant}\n      disabled={disabled}\n      mod={[{ disabled: disabled || dataDisabled }, mod]}\n      {...getStyles('root', { variant, active: !disabled && !dataDisabled })}\n    >\n      {icon || <CloseIcon />}\n      {children}\n    </UnstyledButton>\n  );\n});\n\nCloseButton.classes = classes;\nCloseButton.varsResolver = varsResolver;\nCloseButton.displayName = '@mantine/core/CloseButton';\n"],"mappings":";;;;;;;;;;;;;AA4DA,MAAM,eAAe,EACnB,SAAS,UACV;AAED,MAAM,eAAeA,6BAAAA,oBAAwC,GAAG,EAAE,MAAM,QAAQ,gBAAgB,EAC9F,MAAM;CACJ,aAAaC,iBAAAA,QAAQ,MAAM,UAAU;CACrC,eAAe,WAAW,KAAA,IAAY,KAAA,IAAYC,iBAAAA,UAAU,OAAO;CACnE,kBAAkBC,YAAAA,IAAI,SAAS;CAChC,EACF,EAAE;AAEH,MAAa,cAAcC,4BAAAA,oBAAwC,WAAW;CAC5E,MAAM,QAAQC,kBAAAA,SAAS,eAAe,cAAc,OAAO;CAC3D,MAAM,EACJ,UACA,UACA,MACA,QACA,WACA,YACA,OACA,QACA,UACA,iBAAiB,cACjB,UACA,SACA,MACA,KACA,YACA,kBACA,GAAG,WACD;CAEJ,MAAM,YAAYC,mBAAAA,UAA8B;EAC9C,MAAM,oBAAoB;EAC1B;EACA;EACA;EACA,SAAA,2BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,iBAAA,GAAA,kBAAA,MAACC,uBAAAA,gBAAD;EACE,GAAI;EACM;EACD;EACC;EACV,KAAK,CAAC,EAAE,UAAU,YAAY,cAAc,EAAE,IAAI;EAClD,GAAI,UAAU,QAAQ;GAAE;GAAS,QAAQ,CAAC,YAAY,CAAC;GAAc,CAAC;YANxE,CAQG,QAAQ,iBAAA,GAAA,kBAAA,KAACC,kBAAAA,WAAD,EAAa,CAAA,EACrB,SACc;;EAEnB;AAEF,YAAY,UAAUC,2BAAAA;AACtB,YAAY,eAAe;AAC3B,YAAY,cAAc"}