{"version":3,"file":"Fieldset.cjs","sources":["../../../src/components/Fieldset/Fieldset.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  createVarsResolver,\n  ElementProps,\n  factory,\n  Factory,\n  getRadius,\n  RaikouRadius,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../core';\nimport { FieldsetLegendStyle, FieldsetRootStyle } from './Fieldset.css';\n\nexport type FieldsetStylesNames = 'root' | 'legend';\nexport type FieldsetVariant = 'default' | 'filled' | 'unstyled';\nexport type FieldsetCSSVariables = {\n  root: '--fieldset-radius';\n};\n\nexport interface FieldsetProps\n  extends BoxProps,\n    StylesApiProps<FieldsetFactory>,\n    ElementProps<'fieldset'> {\n  /** Fieldset legend */\n  legend?: React.ReactNode;\n\n  /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `theme.defaultRadius` by default */\n  radius?: RaikouRadius;\n}\n\nexport type FieldsetFactory = Factory<{\n  props: FieldsetProps;\n  ref: HTMLFieldSetElement;\n  stylesNames: FieldsetStylesNames;\n  vars: FieldsetCSSVariables;\n  variant: FieldsetVariant;\n}>;\n\nconst defaultProps: Partial<FieldsetProps> = {\n  variant: 'default',\n};\n\nconst varsResolver = createVarsResolver<FieldsetFactory>((_, { radius }) => ({\n  root: {\n    '--fieldset-radius': radius === undefined ? undefined : getRadius(radius),\n  },\n}));\n\nexport const Fieldset = factory<FieldsetFactory>((_props, ref) => {\n  const props = useProps('Fieldset', defaultProps, _props);\n  const {\n    classNames,\n    className,\n    style,\n    styles,\n    unstyled,\n    vars,\n    legend,\n    variant,\n    children,\n    ...others\n  } = props;\n\n  const getStyles = useStyles<FieldsetFactory>({\n    name: 'Fieldset',\n    classes: {\n      root: FieldsetRootStyle,\n      legend: FieldsetLegendStyle,\n    },\n    props,\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    vars,\n    varsResolver,\n  });\n\n  return (\n    <Box\n      component=\"fieldset\"\n      ref={ref}\n      variant={variant}\n      {...getStyles('root', { variant })}\n      {...others}\n    >\n      {legend && <legend {...getStyles('legend', { variant })}>{legend}</legend>}\n      {children}\n    </Box>\n  );\n});\n\nFieldset.displayName = '@raikou/core/Fieldset';\n"],"names":["createVarsResolver","getRadius","factory","useProps","useStyles","FieldsetRootStyle","FieldsetLegendStyle","jsxs","Box","jsx"],"mappings":";;;;;;;;;;;;;;;AAwCA,MAAM,YAAuC,GAAA;AAAA,EAC3C,OAAS,EAAA;AACX,CAAA;AAEA,MAAM,eAAeA,qCAAoC,CAAA,CAAC,CAAG,EAAA,EAAE,QAAc,MAAA;AAAA,EAC3E,IAAM,EAAA;AAAA,IACJ,mBAAqB,EAAA,MAAA,KAAW,KAAY,CAAA,GAAA,KAAA,CAAA,GAAYC,kBAAU,MAAM;AAAA;AAE5E,CAAE,CAAA,CAAA;AAEK,MAAM,QAAW,GAAAC,eAAA,CAAyB,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAChE,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,UAAY,EAAA,YAAA,EAAc,MAAM,CAAA;AACvD,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAA,KAAA;AAEJ,EAAA,MAAM,YAAYC,mBAA2B,CAAA;AAAA,IAC3C,IAAM,EAAA,UAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,IAAM,EAAAC,8BAAA;AAAA,MACN,MAAQ,EAAAC;AAAA,KACV;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EACE,uBAAAC,eAAA;AAAA,IAACC,OAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,UAAA;AAAA,MACV,GAAA;AAAA,MACA,OAAA;AAAA,MACC,GAAG,SAAA,CAAU,MAAQ,EAAA,EAAE,SAAS,CAAA;AAAA,MAChC,GAAG,MAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAU,MAAA,oBAAAC,cAAA,CAAC,YAAQ,GAAG,SAAA,CAAU,UAAU,EAAE,OAAA,EAAS,CAAA,EAAI,QAAO,EAAA,MAAA,EAAA,CAAA;AAAA,QAChE;AAAA;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,QAAA,CAAS,WAAc,GAAA,uBAAA;;;;"}