{"version":3,"file":"Separator.cjs","sources":["../../../../src/components/layout/separator/Separator.tsx"],"sourcesContent":["import Box from '@components/layout/box/Box.tsx'\r\nimport { Typography } from '@components/foundation/typography'\r\nimport { SEPARATOR_STYLES } from '@components/layout/separator/styles/Separator.css.ts'\r\nimport type { SeparatorProps } from '@components/layout/separator/types/Separator.props.ts'\r\nimport { cn } from '@utils/cn.ts'\r\nimport { memo, type FC } from 'react'\r\n\r\n/**\r\n * A thin visual divider used to separate content.\r\n * Renders a horizontal line by default; use `orientation=\"vertical\"` for a vertical rule.\r\n */\r\nconst Separator: FC<SeparatorProps> = memo(({\r\n    orientation = 'horizontal',\r\n    color,\r\n    textColor = 'textTertiary',\r\n    label,\r\n    className,\r\n    ...props\r\n}) => {\r\n    const hasLabel = label !== undefined && label.length > 0\r\n\r\n    return (\r\n        <Box\r\n            as={'div'}\r\n            role={'separator'}\r\n            className={cn(\r\n                SEPARATOR_STYLES.recipe({ orientation, color, hasLabel }),\r\n                className,\r\n            )}\r\n            {...props}\r\n            aria-orientation={orientation}\r\n        >\r\n            {hasLabel ? (\r\n                <>\r\n                    <Box\r\n                        as={'span'}\r\n                        className={cn(\r\n                            SEPARATOR_STYLES.line,\r\n                            orientation === 'horizontal'\r\n                                ? SEPARATOR_STYLES.horizontalLine\r\n                                : SEPARATOR_STYLES.verticalLine,\r\n                        )}\r\n                    />\r\n                    <Typography\r\n                        variant={'label'}\r\n                        color={textColor}\r\n                        flexShrink={0}\r\n                    >\r\n                        {label}\r\n                    </Typography>\r\n                    <Box\r\n                        as={'span'}\r\n                        className={cn(\r\n                            SEPARATOR_STYLES.line,\r\n                            orientation === 'horizontal'\r\n                                ? SEPARATOR_STYLES.horizontalLine\r\n                                : SEPARATOR_STYLES.verticalLine,\r\n                        )}\r\n                    />\r\n                </>\r\n            ) : null}\r\n        </Box>\r\n    )\r\n})\r\n\r\nSeparator.displayName = 'Separator'\r\n\r\nexport default Separator\r\n"],"names":["Separator","memo","orientation","color","textColor","label","className","props","hasLabel","jsx","Box","cn","SEPARATOR_STYLES","jsxs","Fragment","Typography"],"mappings":"2SAWMA,EAAgCC,EAAAA,KAAK,CAAC,CACxC,YAAAC,EAAc,aACd,MAAAC,EACA,UAAAC,EAAY,eACZ,MAAAC,EACA,UAAAC,EACA,GAAGC,CACP,IAAM,CACF,MAAMC,EAAWH,IAAU,QAAaA,EAAM,OAAS,EAEvD,OACII,EAAAA,IAACC,EAAA,CACG,GAAI,MACJ,KAAM,YACN,UAAWC,EAAAA,GACPC,EAAAA,iBAAiB,OAAO,CAAE,YAAAV,EAAa,MAAAC,EAAO,SAAAK,EAAU,EACxDF,CAAA,EAEH,GAAGC,EACJ,mBAAkBL,EAEjB,WACGW,EAAAA,KAAAC,EAAAA,SAAA,CACI,SAAA,CAAAL,EAAAA,IAACC,EAAA,CACG,GAAI,OACJ,UAAWC,EAAAA,GACPC,EAAAA,iBAAiB,KACjBV,IAAgB,aACVU,mBAAiB,eACjBA,EAAAA,iBAAiB,YAAA,CAC3B,CAAA,EAEJH,EAAAA,IAACM,EAAA,CACG,QAAS,QACT,MAAOX,EACP,WAAY,EAEX,SAAAC,CAAA,CAAA,EAELI,EAAAA,IAACC,EAAA,CACG,GAAI,OACJ,UAAWC,EAAAA,GACPC,EAAAA,iBAAiB,KACjBV,IAAgB,aACVU,mBAAiB,eACjBA,EAAAA,iBAAiB,YAAA,CAC3B,CAAA,CACJ,CAAA,CACJ,EACA,IAAA,CAAA,CAGhB,CAAC,EAEDZ,EAAU,YAAc"}