{"version":3,"file":"Inset.cjs","sources":["../../../../src/components/layout/inset/Inset.tsx"],"sourcesContent":["import { SPACE_VARIANTS } from '@constants/styles/spaceVariants.const.ts'\r\nimport { Box } from '@components/layout/box'\r\nimport { INSET_STYLES } from '@components/layout/inset/styles/Inset.css.ts'\r\nimport type { InsetProps } from '@components/layout/inset/types/Inset.props.ts'\r\nimport { resolveInsetPadding } from '@components/layout/inset/utils/resolveInsetPadding.utils.ts'\r\nimport { cn } from '@utils/cn.ts'\r\nimport { memo, type CSSProperties, type FC } from 'react'\r\n\r\n/**\r\n * Negative-margin utility that pulls content to the edge of its parent's\r\n * padding on a given `side` (all|x|y|top|right|bottom|left). The `space`\r\n * token matches the parent's padding so inset content bleeds flush to the\r\n * container border. The `clip` prop controls border-box vs padding-box\r\n * clipping.\r\n */\r\nconst Inset: FC<InsetProps> = memo(({\r\n    space,\r\n    side = 'all',\r\n    clip = 'border-box',\r\n    padding,\r\n    paddingX,\r\n    paddingY,\r\n    paddingTop,\r\n    paddingRight,\r\n    paddingBottom,\r\n    paddingLeft,\r\n    className,\r\n    style,\r\n    ...props\r\n}) => {\r\n    const insetStyle = {\r\n        [INSET_STYLES.insetSpaceProperty]: SPACE_VARIANTS[space],\r\n        ...style,\r\n    }\r\n\r\n    return (\r\n        <Box\r\n            padding={resolveInsetPadding(padding, space)}\r\n            paddingX={resolveInsetPadding(paddingX, space)}\r\n            paddingY={resolveInsetPadding(paddingY, space)}\r\n            paddingTop={resolveInsetPadding(paddingTop, space)}\r\n            paddingRight={resolveInsetPadding(paddingRight, space)}\r\n            paddingBottom={resolveInsetPadding(paddingBottom, space)}\r\n            paddingLeft={resolveInsetPadding(paddingLeft, space)}\r\n            className={cn(INSET_STYLES.recipe({ clip, side }), className)}\r\n            style={insetStyle as CSSProperties}\r\n            {...props}\r\n        />\r\n    )\r\n})\r\n\r\nInset.displayName = 'Inset'\r\n\r\nexport default Inset\r\n"],"names":["Inset","memo","space","side","clip","padding","paddingX","paddingY","paddingTop","paddingRight","paddingBottom","paddingLeft","className","style","props","insetStyle","INSET_STYLES","SPACE_VARIANTS","jsx","Box","resolveInsetPadding","cn"],"mappings":"qUAeMA,EAAwBC,EAAAA,KAAK,CAAC,CAChC,MAAAC,EACA,KAAAC,EAAO,MACP,KAAAC,EAAO,aACP,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,WAAAC,EACA,aAAAC,EACA,cAAAC,EACA,YAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAGC,CACP,IAAM,CACF,MAAMC,EAAa,CACf,CAACC,eAAa,kBAAkB,EAAGC,EAAAA,eAAef,CAAK,EACvD,GAAGW,CAAA,EAGP,OACIK,EAAAA,IAACC,EAAA,CACG,QAASC,EAAAA,oBAAoBf,EAASH,CAAK,EAC3C,SAAUkB,EAAAA,oBAAoBd,EAAUJ,CAAK,EAC7C,SAAUkB,EAAAA,oBAAoBb,EAAUL,CAAK,EAC7C,WAAYkB,EAAAA,oBAAoBZ,EAAYN,CAAK,EACjD,aAAckB,EAAAA,oBAAoBX,EAAcP,CAAK,EACrD,cAAekB,EAAAA,oBAAoBV,EAAeR,CAAK,EACvD,YAAakB,EAAAA,oBAAoBT,EAAaT,CAAK,EACnD,UAAWmB,EAAAA,GAAGL,EAAAA,aAAa,OAAO,CAAE,KAAAZ,EAAM,KAAAD,CAAA,CAAM,EAAGS,CAAS,EAC5D,MAAOG,EACN,GAAGD,CAAA,CAAA,CAGhB,CAAC,EAEDd,EAAM,YAAc"}