{"version":3,"file":"Center.mjs","sources":["../../../../src/components/Center/Center.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport {\n  getLayoutStyles,\n  getMarginStyles,\n  splitByLayoutProps,\n  splitByMarginProps,\n} from '~/src/types/props-helpers'\n\nimport { type CenterProps } from './Center.types'\n\nimport styles from './Center.module.scss'\n\n/**\n * `Center` is a layout component that centers its child within itself.\n * @example\n *\n * ```tsx\n * <Center>\n *   Centered content\n * </Center>\n * ```\n */\nexport const Center = forwardRef<HTMLDivElement, CenterProps>(\n  function Center(props, forwardedRef) {\n    const [marginProps, marginRest] = splitByMarginProps(props)\n    const [layoutProps, layoutRest] = splitByLayoutProps(marginRest)\n    const marginStyles = getMarginStyles(marginProps)\n    const layoutStyles = getLayoutStyles(layoutProps)\n\n    const { children, style, className, display = 'flex', ...rest } = layoutRest\n\n    return (\n      <div\n        ref={forwardedRef}\n        style={{\n          ...marginStyles.style,\n          ...layoutStyles.style,\n          ...style,\n        }}\n        className={classNames(\n          styles.Center,\n          display && styles[`display-${display}`],\n          marginStyles.className,\n          layoutStyles.className,\n          className\n        )}\n        data-testid=\"bezier-center\"\n        {...rest}\n      >\n        {children}\n      </div>\n    )\n  }\n)\n"],"names":["Center","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","display","rest","_jsx","ref","classNames","styles"],"mappings":";;;;;;AA2BO,MAAMA,MAAM,gBAAGC,UAAU,CAC9B,SAASD,MAAMA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACnC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC;EAC3D,MAAM,CAACK,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,UAAU,CAAC;AAChE,EAAA,MAAMK,YAAY,GAAGC,eAAe,CAACP,WAAW,CAAC;AACjD,EAAA,MAAMQ,YAAY,GAAGC,eAAe,CAACN,WAAW,CAAC;EAEjD,MAAM;IAAEO,QAAQ;IAAEC,KAAK;IAAEC,SAAS;AAAEC,IAAAA,OAAO,GAAG,MAAM;IAAE,GAAGC;AAAK,GAAC,GAAGV,UAAU;AAE5E,EAAA,oBACEW,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAEjB,YAAa;AAClBY,IAAAA,KAAK,EAAE;MACL,GAAGL,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA;KACH;IACFC,SAAS,EAAEK,UAAU,CACnBC,MAAM,CAACtB,MAAM,EACbiB,OAAO,IAAIK,MAAM,CAAC,CAAA,QAAA,EAAWL,OAAO,CAAE,CAAA,CAAC,EACvCP,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAE;AACF,IAAA,aAAA,EAAY,eAAe;AAAA,IAAA,GACvBE,IAAI;AAAAJ,IAAAA,QAAA,EAEPA;AAAQ,GACN,CAAC;AAEV,CACF;;;;"}