{"version":3,"file":"VaulDescription.cjs","sources":["../../src/lib/VaulDescription.tsx"],"sourcesContent":["import type {\n  BoxProps,\n  CompoundStylesApiProps,\n  ElementProps,\n  ExtendComponent,\n  MantineThemeComponent,\n  PolymorphicFactory\n} from '@mantine/core'\nimport { Box, polymorphicFactory, useProps } from '@mantine/core'\nimport { useId } from '@mantine/hooks'\nimport { useEffect } from 'react'\nimport { Drawer } from 'vaul'\nimport { useVaulContext } from './context'\nimport type { VaulClasses } from './types'\nimport classes from './vaul.module.css'\n\nexport interface VaulDescriptionProps\n  extends BoxProps,\n    CompoundStylesApiProps<VaulDescriptionFactory>,\n    ElementProps<'p'> {}\n\nexport type VaulDescriptionStylesNames = 'description'\n\nexport type VaulDescriptionFactory = PolymorphicFactory<{\n  props: VaulDescriptionProps\n  ref: HTMLHeadingElement\n  defaultRef: HTMLHeadingElement\n  defaultComponent: 'p'\n  stylesNames: VaulDescriptionStylesNames\n  compound: true\n}>\n\nconst defaultProps: VaulDescriptionProps = {}\n\nexport const VaulDescription = polymorphicFactory<VaulDescriptionFactory>(\n  (_props: VaulDescriptionProps & { component?: any }, ref) => {\n    const {\n      style,\n      className,\n      classNames,\n      styles,\n      component = 'p',\n      vars,\n      mod,\n      id: idProp,\n      ...rest\n    } = useProps('VaulDescription', defaultProps, _props)\n\n    const { getStyles, variant, setDescriptionId } = useVaulContext()\n    const id = useId(idProp)\n\n    useEffect(() => {\n      setDescriptionId(id)\n    }, [id])\n\n    return (\n      <Drawer.Description asChild>\n        <Box\n          ref={ref}\n          mod={[{ part: 'description' }, mod]}\n          component={component}\n          {...getStyles('description', { className, classNames, styles, style, variant })}\n          {...(rest as any)}\n          id={id}\n        />\n      </Drawer.Description>\n    )\n  }\n)\n\nconst extendVaulDescription = (c: ExtendComponent<VaulDescriptionFactory>): MantineThemeComponent => c\n\nVaulDescription.displayName = 'mantine-vaul/VaulDescription'\nVaulDescription.classes = classes as VaulClasses\nVaulDescription.extend = extendVaulDescription\n"],"names":["defaultProps","VaulDescription","polymorphicFactory","_props","ref","style","className","classNames","styles","component","vars","mod","idProp","rest","useProps","getStyles","variant","setDescriptionId","useVaulContext","id","useId","useEffect","jsx","Drawer","Box","extendVaulDescription","c","classes"],"mappings":"+QAgCMA,EAAqC,CAAA,EAE9BC,EAAkBC,EAAA,mBAC7B,CAACC,EAAoDC,IAAQ,CACrD,KAAA,CACJ,MAAAC,EACA,UAAAC,EACA,WAAAC,EACA,OAAAC,EACA,UAAAC,EAAY,IACZ,KAAAC,EACA,IAAAC,EACA,GAAIC,EACJ,GAAGC,CACD,EAAAC,WAAS,kBAAmBd,EAAcG,CAAM,EAE9C,CAAE,UAAAY,EAAW,QAAAC,EAAS,iBAAAC,GAAqBC,EAAe,eAAA,EAC1DC,EAAKC,QAAMR,CAAM,EAEvBS,OAAAA,EAAAA,UAAU,IAAM,CACdJ,EAAiBE,CAAE,CAAA,EAClB,CAACA,CAAE,CAAC,EAGJG,EAAAA,IAAAC,EAAAA,OAAO,YAAP,CAAmB,QAAO,GACzB,SAAAD,EAAA,IAACE,EAAA,IAAA,CACC,IAAApB,EACA,IAAK,CAAC,CAAE,KAAM,aAAA,EAAiBO,CAAG,EAClC,UAAAF,EACC,GAAGM,EAAU,cAAe,CAAE,UAAAT,EAAW,WAAAC,EAAY,OAAAC,EAAQ,MAAAH,EAAO,QAAAW,EAAS,EAC7E,GAAIH,EACL,GAAAM,CAAA,CAEJ,CAAA,CAAA,CAEJ,CACF,EAEMM,EAAyBC,GAAsEA,EAErGzB,EAAgB,YAAc,+BAC9BA,EAAgB,QAAU0B,EAAAA,QAC1B1B,EAAgB,OAASwB"}