{"version":3,"file":"InputDescription.cjs","sources":["../../../../src/components/Input/InputDescription/InputDescription.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  createVarsResolver,\n  ElementProps,\n  factory,\n  Factory,\n  getFontSize,\n  RaikouSize,\n  rem,\n  StylesApiProps,\n  useProps,\n  useStyles,\n} from '../../../core';\nimport { useInputWrapperContext } from '../InputWrapper.context';\nimport { InputDescriptionStyle } from '../Input.css';\n\nexport type InputDescriptionStylesNames = 'description';\nexport type InputDescriptionCssVariables = {\n  description: '--input-description-size';\n};\n\nexport interface InputDescriptionProps\n  extends BoxProps,\n    StylesApiProps<InputDescriptionFactory>,\n    ElementProps<'div'> {\n  __staticSelector?: string;\n  __inheritStyles?: boolean;\n\n  /** Controls description `font-size`, `'sm'` by default */\n  size?: RaikouSize | (string & {});\n}\n\nexport type InputDescriptionFactory = Factory<{\n  props: InputDescriptionProps;\n  ref: HTMLParagraphElement;\n  stylesNames: InputDescriptionStylesNames;\n  vars: InputDescriptionCssVariables;\n}>;\n\nconst defaultProps: Partial<InputDescriptionProps> = {};\n\nconst varsResolver = createVarsResolver<InputDescriptionFactory>((_, { size }) => ({\n  description: {\n    '--input-description-size':\n      size === undefined ? undefined : `calc(${getFontSize(size)} - ${rem(2)})`,\n  },\n}));\n\nexport const InputDescription = factory<InputDescriptionFactory>((_props, ref) => {\n  const props = useProps('InputDescription', defaultProps, _props);\n  const {\n    classNames,\n    className,\n    style,\n    styles,\n    unstyled,\n    vars,\n    size,\n    __staticSelector,\n    __inheritStyles = true,\n    variant,\n    ...others\n  } = useProps('InputDescription', defaultProps, props);\n  const ctx = useInputWrapperContext();\n\n  const _getStyles = useStyles<InputDescriptionFactory>({\n    name: ['InputWrapper', __staticSelector],\n    props,\n    classes: {\n      description: InputDescriptionStyle,\n    },\n    className,\n    style,\n    classNames,\n    styles,\n    unstyled,\n    rootSelector: 'description',\n    vars,\n    varsResolver,\n  });\n\n  const getStyles = (__inheritStyles && ctx?.getStyles) || _getStyles;\n\n  return (\n    <Box\n      component=\"p\"\n      ref={ref}\n      variant={variant}\n      size={size}\n      {...getStyles('description', ctx?.getStyles ? { className, style } : undefined)}\n      {...others}\n    />\n  );\n});\n\nInputDescription.displayName = '@raikou/core/InputDescription';\n"],"names":["createVarsResolver","getFontSize","rem","factory","useProps","useInputWrapperContext","useStyles","InputDescriptionStyle","jsx","Box"],"mappings":";;;;;;;;;;;;;;;;;AAwCA,MAAM,eAA+C,EAAC;AAEtD,MAAM,eAAeA,qCAA4C,CAAA,CAAC,CAAG,EAAA,EAAE,MAAY,MAAA;AAAA,EACjF,WAAa,EAAA;AAAA,IACX,0BAAA,EACE,IAAS,KAAA,KAAA,CAAA,GAAY,KAAY,CAAA,GAAA,CAAA,KAAA,EAAQC,mBAAY,CAAA,IAAI,CAAC,CAAA,GAAA,EAAMC,OAAI,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA;AAE5E,CAAE,CAAA,CAAA;AAEK,MAAM,gBAAmB,GAAAC,eAAA,CAAiC,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAChF,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,kBAAoB,EAAA,YAAA,EAAc,MAAM,CAAA;AAC/D,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAkB,GAAA,IAAA;AAAA,IAClB,OAAA;AAAA,IACA,GAAG;AAAA,GACD,GAAAA,iBAAA,CAAS,kBAAoB,EAAA,YAAA,EAAc,KAAK,CAAA;AACpD,EAAA,MAAM,MAAMC,2CAAuB,EAAA;AAEnC,EAAA,MAAM,aAAaC,mBAAmC,CAAA;AAAA,IACpD,IAAA,EAAM,CAAC,cAAA,EAAgB,gBAAgB,CAAA;AAAA,IACvC,KAAA;AAAA,IACA,OAAS,EAAA;AAAA,MACP,WAAa,EAAAC;AAAA,KACf;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAc,EAAA,aAAA;AAAA,IACd,IAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAM,MAAA,SAAA,GAAa,eAAmB,IAAA,GAAA,EAAK,SAAc,IAAA,UAAA;AAEzD,EACE,uBAAAC,cAAA;AAAA,IAACC,OAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,GAAA;AAAA,MACV,GAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,UAAU,aAAe,EAAA,GAAA,EAAK,YAAY,EAAE,SAAA,EAAW,KAAM,EAAA,GAAI,KAAS,CAAA,CAAA;AAAA,MAC7E,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AAED,gBAAA,CAAiB,WAAc,GAAA,+BAAA;;;;"}