{"version":3,"file":"Box.cjs","sources":["../../../../src/components/layout/box/Box.tsx"],"sourcesContent":["import { BOX_STYLES } from '@components/layout/box/styles/Box.css.ts'\r\nimport type { BoxProps } from '@components/layout/box/types/Box.props.ts'\r\nimport { cn } from '@utils/cn.ts'\r\nimport { memo, useMemo, type FC } from 'react'\r\n\r\n/**\r\n * Polymorphic layout primitive. Maps design-token props (padding, margin,\r\n * gap, border, background, box-shadow) to Vanilla Extract atomic classes\r\n * and passes layout props (display, flex, position, overflow, text-align) as inline\r\n * styles. Use the `as` prop to change the rendered element.\r\n */\r\nconst Box: FC<BoxProps> = memo(({\r\n    as: Element = 'div',\r\n    borderRadius,\r\n    padding,\r\n    paddingX,\r\n    paddingY,\r\n    paddingTop,\r\n    paddingRight,\r\n    paddingBottom,\r\n    paddingLeft,\r\n    margin,\r\n    marginX,\r\n    marginY,\r\n    marginTop,\r\n    marginRight,\r\n    marginBottom,\r\n    marginLeft,\r\n    gap,\r\n    columnGap,\r\n    rowGap,\r\n    borderColor,\r\n    backgroundColor,\r\n    boxShadow,\r\n    display,\r\n    width,\r\n    minWidth,\r\n    maxWidth,\r\n    height,\r\n    minHeight,\r\n    maxHeight,\r\n    overflow,\r\n    overflowX,\r\n    overflowY,\r\n    position,\r\n    flex,\r\n    flexDirection,\r\n    flexWrap,\r\n    alignSelf,\r\n    alignItems,\r\n    alignContent,\r\n    justifyContent,\r\n    textAlign,\r\n    borderWidth,\r\n    borderTopWidth,\r\n    borderRightWidth,\r\n    borderBottomWidth,\r\n    borderLeftWidth,\r\n    borderStyle,\r\n    className,\r\n    style,\r\n    ref,\r\n    ...props\r\n}) => {\r\n    const recipeClassName = useMemo(\r\n        () =>\r\n            BOX_STYLES.recipe({\r\n                borderRadius,\r\n                padding,\r\n                paddingX,\r\n                paddingY,\r\n                paddingTop,\r\n                paddingRight,\r\n                paddingBottom,\r\n                paddingLeft,\r\n                margin,\r\n                marginX,\r\n                marginY,\r\n                marginTop,\r\n                marginRight,\r\n                marginBottom,\r\n                marginLeft,\r\n                gap,\r\n                columnGap,\r\n                rowGap,\r\n                borderColor,\r\n                backgroundColor,\r\n                boxShadow,\r\n            }),\r\n        [\r\n            borderRadius,\r\n            padding,\r\n            paddingX,\r\n            paddingY,\r\n            paddingTop,\r\n            paddingRight,\r\n            paddingBottom,\r\n            paddingLeft,\r\n            margin,\r\n            marginX,\r\n            marginY,\r\n            marginTop,\r\n            marginRight,\r\n            marginBottom,\r\n            marginLeft,\r\n            gap,\r\n            columnGap,\r\n            rowGap,\r\n            borderColor,\r\n            backgroundColor,\r\n            boxShadow,\r\n        ],\r\n    )\r\n\r\n    return (\r\n        <Element\r\n            ref={ref}\r\n            className={cn(recipeClassName, className)}\r\n            style={{\r\n                display,\r\n                width,\r\n                minWidth,\r\n                maxWidth,\r\n                height,\r\n                minHeight,\r\n                maxHeight,\r\n                overflow,\r\n                overflowX,\r\n                overflowY,\r\n                position,\r\n                flex,\r\n                flexDirection,\r\n                flexWrap,\r\n                alignSelf,\r\n                alignItems,\r\n                alignContent,\r\n                justifyContent,\r\n                textAlign,\r\n                borderWidth,\r\n                borderTopWidth,\r\n                borderRightWidth,\r\n                borderBottomWidth,\r\n                borderLeftWidth,\r\n                borderStyle,\r\n                ...style,\r\n            }}\r\n            {...props}\r\n        />\r\n    )\r\n})\r\n\r\nBox.displayName = 'Box'\r\n\r\nexport default Box\r\n"],"names":["Box","memo","Element","borderRadius","padding","paddingX","paddingY","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginX","marginY","marginTop","marginRight","marginBottom","marginLeft","gap","columnGap","rowGap","borderColor","backgroundColor","boxShadow","display","width","minWidth","maxWidth","height","minHeight","maxHeight","overflow","overflowX","overflowY","position","flex","flexDirection","flexWrap","alignSelf","alignItems","alignContent","justifyContent","textAlign","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","className","style","ref","props","recipeClassName","useMemo","BOX_STYLES","jsx","cn"],"mappings":"6IAWMA,EAAoBC,EAAAA,KAAK,CAAC,CAC5B,GAAIC,EAAU,MACd,aAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,WAAAC,EACA,aAAAC,EACA,cAAAC,EACA,YAAAC,EACA,OAAAC,EACA,QAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,aAAAC,EACA,WAAAC,EACA,IAAAC,EACA,UAAAC,EACA,OAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,UAAAC,EACA,QAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,OAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,KAAAC,EACA,cAAAC,EACA,SAAAC,EACA,UAAAC,EACA,WAAAC,EACA,aAAAC,EACA,eAAAC,EACA,UAAAC,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,UAAAC,EACA,MAAAC,EACA,IAAAC,EACA,GAAGC,CACP,IAAM,CACF,MAAMC,EAAkBC,EAAAA,QACpB,IACIC,GAAAA,WAAW,OAAO,CACd,aAAApD,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,WAAAC,EACA,aAAAC,EACA,cAAAC,EACA,YAAAC,EACA,OAAAC,EACA,QAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,aAAAC,EACA,WAAAC,EACA,IAAAC,EACA,UAAAC,EACA,OAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,UAAAC,CAAA,CACH,EACL,CACIpB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAAA,CACJ,EAGJ,OACIiC,GAAAA,IAACtD,EAAA,CACG,IAAAiD,EACA,UAAWM,GAAAA,GAAGJ,EAAiBJ,CAAS,EACxC,MAAO,CACH,QAAAzB,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,OAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,KAAAC,EACA,cAAAC,EACA,SAAAC,EACA,UAAAC,EACA,WAAAC,EACA,aAAAC,EACA,eAAAC,EACA,UAAAC,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,GAAGE,CAAA,EAEN,GAAGE,CAAA,CAAA,CAGhB,CAAC,EAEDpD,EAAI,YAAc"}