{"version":3,"file":"Figure.cjs","sources":["../../../../src/lib/Figure/Figure.tsx"],"sourcesContent":["import type {ReactElement} from 'react';\nimport {forwardRef, useMemo} from 'react';\nimport classNames from 'classnames';\nimport {useLocalTheme} from 'css-vars-hook';\n\nimport type {DataAttributes, LibraryProps} from '@/internal/LibraryAPI';\n\nimport classes from './Figure.module.css';\n\nenum Positions {\n    center = 'center',\n    left = 'left',\n    right = 'right',\n}\n\nexport type Props = DataAttributes &\n    LibraryProps & {\n        children: ReactElement;\n        caption?: string;\n        position?: keyof typeof Positions;\n    };\n\nexport const Figure = forwardRef<HTMLDivElement, Props>(\n    ({children, className, caption, position = Positions.center, ...nativeProps}, ref) => {\n        const theme = useMemo(\n            () => ({\n                position,\n            }),\n            [position]\n        );\n        const {LocalRoot} = useLocalTheme();\n        return (\n            <LocalRoot theme={theme} className={classes.wrapper}>\n                <figure\n                    {...nativeProps}\n                    className={classNames(classes.figure, className)}\n                    ref={ref}>\n                    {children}\n                    {caption && <figcaption>{caption}</figcaption>}\n                </figure>\n            </LocalRoot>\n        );\n    }\n);\n\nFigure.displayName = 'Figure';\n"],"names":["Figure","forwardRef","children","className","caption","position","nativeProps","ref","theme","useMemo","LocalRoot","useLocalTheme","jsx","classes","jsxs","classNames"],"mappings":"6OAsBaA,EAASC,EAAAA,WAClB,CAAC,CAAC,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAS,SAAAC,EAAW,SAAkB,GAAGC,CAAA,EAAcC,IAAQ,CAClF,MAAMC,EAAQC,EAAAA,QACV,KAAO,CACH,SAAAJ,CAAA,GAEJ,CAACA,CAAQ,CAAA,EAEP,CAAC,UAAAK,CAAA,EAAaC,gBAAA,EACpB,OACIC,EAAAA,IAACF,EAAA,CAAU,MAAAF,EAAc,UAAWK,UAAQ,QACxC,SAAAC,EAAAA,KAAC,SAAA,CACI,GAAGR,EACJ,UAAWS,EAAWF,UAAQ,OAAQV,CAAS,EAC/C,IAAAI,EACC,SAAA,CAAAL,EACAE,GAAWQ,EAAAA,IAAC,aAAA,CAAY,SAAAR,CAAA,CAAQ,CAAA,CAAA,CAAA,EAEzC,CAER,CACJ,EAEAJ,EAAO,YAAc"}