{"version":3,"file":"ActionIconGroupSection.mjs","sources":["../../../../src/components/ActionIcon/ActionIconGroupSection/ActionIconGroupSection.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  createVarsResolver,\n  ElementProps,\n  factory,\n  Factory,\n  getFontSize,\n  getRadius,\n  getSize,\n  RaikouGradient,\n  RaikouRadius,\n  RaikouSize,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../../core';\nimport type { ActionIconVariant } from '../ActionIcon';\nimport { ActionIconGroupSectionStyle } from '../ActionIcon.css';\n\nexport type ActionIconGroupSectionStylesNames = 'groupSection';\nexport type ActionIconGroupSectionCssVariables = {\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 ActionIconGroupSectionProps\n  extends BoxProps,\n    StylesApiProps<ActionIconGroupSectionFactory>,\n    ElementProps<'div'> {\n  /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `theme.defaultRadius` by default */\n  radius?: RaikouRadius;\n\n  /** Gradient configuration used when `variant=\"gradient\"`, default value is `theme.defaultGradient` */\n  gradient?: RaikouGradient;\n\n  /** Determines whether section text color with filled variant should depend on `background-color`. If luminosity of the `color` prop is less than `theme.luminosityThreshold`, then `theme.white` will be used for text color, otherwise `theme.black`. Overrides `theme.autoContrast`. */\n  autoContrast?: boolean;\n\n  /** Controls section `height`, `font-size` and horizontal `padding`, `'sm'` by default */\n  size?: RaikouSize | (string & {}) | number;\n}\n\nexport type ActionIconGroupSectionFactory = Factory<{\n  props: ActionIconGroupSectionProps;\n  ref: HTMLDivElement;\n  stylesNames: ActionIconGroupSectionStylesNames;\n  vars: ActionIconGroupSectionCssVariables;\n  variant: ActionIconVariant;\n}>;\n\nconst defaultProps: Partial<ActionIconGroupSectionProps> = {};\n\nconst varsResolver = createVarsResolver<ActionIconGroupSectionFactory>(\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': 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 ActionIconGroupSection = factory<ActionIconGroupSectionFactory>((_props, ref) => {\n  const props = useProps('ActionIconGroupSection', defaultProps, _props);\n  const {\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n    variant,\n    gradient,\n    radius,\n    autoContrast,\n    ...others\n  } = useProps('ActionIconGroupSection', defaultProps, _props);\n\n  const getStyles = useStyles<ActionIconGroupSectionFactory>({\n    name: 'ActionIconGroupSection',\n    props,\n    classes: {\n      groupSection: ActionIconGroupSectionStyle\n    },\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n    varsResolver,\n    rootSelector: 'groupSection',\n  });\n\n  return <Box {...getStyles('groupSection')} ref={ref} variant={variant} {...others} />;\n});\n\nActionIconGroupSection.displayName = '@raikou/core/ActionIconGroupSection';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAyDA,MAAM,eAAqD,EAAC;AAE5D,MAAM,YAAe,GAAA,kBAAA;AAAA,EACnB,CAAC,OAAO,EAAE,MAAA,EAAQ,OAAO,QAAU,EAAA,OAAA,EAAS,YAAc,EAAA,IAAA,EAAW,KAAA;AACnE,IAAM,MAAA,MAAA,GAAS,MAAM,oBAAqB,CAAA;AAAA,MACxC,KAAA,EAAO,SAAS,KAAM,CAAA,YAAA;AAAA,MACtB,KAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAS,OAAW,IAAA,QAAA;AAAA,MACpB;AAAA,KACD,CAAA;AAED,IAAO,OAAA;AAAA,MACL,YAAc,EAAA;AAAA,QACZ,kBAAA,EAAoB,OAAQ,CAAA,IAAA,EAAM,gBAAgB,CAAA;AAAA,QAClD,qBAAA,EAAuB,OAAQ,CAAA,IAAA,EAAM,mBAAmB,CAAA;AAAA,QACxD,cAAA,EAAgB,YAAY,IAAI,CAAA;AAAA,QAChC,kBAAoB,EAAA,MAAA,KAAW,KAAY,CAAA,GAAA,KAAA,CAAA,GAAY,UAAU,MAAM,CAAA;AAAA,QACvE,cAAgB,EAAA,KAAA,IAAS,OAAU,GAAA,MAAA,CAAO,UAAa,GAAA,KAAA,CAAA;AAAA,QACvD,mBAAmB,MAAO,CAAA,KAAA;AAAA,QAC1B,cAAgB,EAAA,KAAA,IAAS,OAAU,GAAA,MAAA,CAAO,MAAS,GAAA,KAAA;AAAA;AACrD,KACF;AAAA;AAEJ,CAAA;AAEO,MAAM,sBAAyB,GAAA,OAAA,CAAuC,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAC5F,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,wBAA0B,EAAA,YAAA,EAAc,MAAM,CAAA;AACrE,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,QAAA,CAAS,wBAA0B,EAAA,YAAA,EAAc,MAAM,CAAA;AAE3D,EAAA,MAAM,YAAY,SAAyC,CAAA;AAAA,IACzD,IAAM,EAAA,wBAAA;AAAA,IACN,KAAA;AAAA,IACA,OAAS,EAAA;AAAA,MACP,YAAc,EAAA;AAAA,KAChB;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAc,EAAA;AAAA,GACf,CAAA;AAED,EAAO,uBAAA,GAAA,CAAC,OAAK,GAAG,SAAA,CAAU,cAAc,CAAG,EAAA,GAAA,EAAU,OAAmB,EAAA,GAAG,MAAQ,EAAA,CAAA;AACrF,CAAC;AAED,sBAAA,CAAuB,WAAc,GAAA,qCAAA;;;;"}