{"version":3,"file":"LegacyStackItem.mjs","sources":["../../../../../src/components/LegacyStack/LegacyStackItem/LegacyStackItem.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isInteger, isNil } from '~/src/utils/type'\n\nimport type LegacyStackItemProps from './LegacyStackItem.types'\n\nimport styles from './LegacyStackItem.module.scss'\n\nconst sanitizeWeight = (weight: number): number => {\n  if (weight < 0) {\n    return 0\n  }\n  if (!isInteger(weight)) {\n    return 0\n  }\n  return weight\n}\n\n/**\n * @deprecated Use layout components(`Box`, `Stack`) that support flex item related properties (`shrink`, `grow`) instead.\n * @example\n *\n * ```\n * <Stack>\n *   <Stack grow={1} shrink={1} {...}>\n *     { ... }\n *   </Stack>\n *   <Box grow={0} shrink={0} {...} />\n * </Stack>\n * ```\n *\n *\n * `StackItem` is used along `Stack`.\n * It inherits the default settings from `Stack`,\n * but allows to override some props to customize the behavior\n * of particular item.\n *\n * If you are not using `StackItem` as the direct child of `Stack`,\n * be reminded to forward props in `StackItemProps` to `StackItem` component,\n * or manually implement the behavior compatible with `StackItem`.\n */\nexport const LegacyStackItem = forwardRef<HTMLElement, LegacyStackItemProps>(\n  function StackItem(\n    {\n      as = 'div',\n      children,\n      style,\n      className,\n      direction,\n      justify,\n      align,\n      size,\n      weight = 0,\n      grow = false,\n      shrink = false,\n      marginBefore = 0,\n      marginAfter = 0,\n      ...rest\n    },\n    forwardedRef\n  ) {\n    const Comp = as\n\n    return (\n      <Comp\n        ref={forwardedRef}\n        style={{\n          ...style,\n          '--b-main-axis-size': isNil(size) ? 'initial' : `${size}px`,\n          '--b-grow-weight': grow ? sanitizeWeight(weight) : '0',\n          '--b-shrink-weight': shrink ? sanitizeWeight(weight) : '0',\n          '--b-margin-before': `${marginBefore}px`,\n          '--b-margin-after': `${marginAfter}px`,\n        }}\n        className={classNames(\n          styles.LegacyStackItem,\n          styles[`direction-${direction}`],\n          styles[`justify-${justify}`],\n          styles[`align-${align}`],\n          className\n        )}\n        data-testid=\"bezier-legacy-stack-item\"\n        {...rest}\n      >\n        {children}\n      </Comp>\n    )\n  }\n)\n"],"names":["sanitizeWeight","weight","isInteger","LegacyStackItem","forwardRef","StackItem","as","children","style","className","direction","justify","align","size","grow","shrink","marginBefore","marginAfter","rest","forwardedRef","Comp","_jsx","ref","isNil","classNames","styles"],"mappings":";;;;;;AAYA,MAAMA,cAAc,GAAIC,MAAc,IAAa;EACjD,IAAIA,MAAM,GAAG,CAAC,EAAE;AACd,IAAA,OAAO,CAAC;AACV;AACA,EAAA,IAAI,CAACC,SAAS,CAACD,MAAM,CAAC,EAAE;AACtB,IAAA,OAAO,CAAC;AACV;AACA,EAAA,OAAOA,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaE,eAAe,gBAAGC,UAAU,CACvC,SAASC,SAASA,CAChB;AACEC,EAAAA,EAAE,GAAG,KAAK;EACVC,QAAQ;EACRC,KAAK;EACLC,SAAS;EACTC,SAAS;EACTC,OAAO;EACPC,KAAK;EACLC,IAAI;AACJZ,EAAAA,MAAM,GAAG,CAAC;AACVa,EAAAA,IAAI,GAAG,KAAK;AACZC,EAAAA,MAAM,GAAG,KAAK;AACdC,EAAAA,YAAY,GAAG,CAAC;AAChBC,EAAAA,WAAW,GAAG,CAAC;EACf,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGd,EAAE;EAEf,oBACEe,GAAA,CAACD,IAAI,EAAA;AACHE,IAAAA,GAAG,EAAEH,YAAa;AAClBX,IAAAA,KAAK,EAAE;AACL,MAAA,GAAGA,KAAK;MACR,oBAAoB,EAAEe,KAAK,CAACV,IAAI,CAAC,GAAG,SAAS,GAAG,CAAGA,EAAAA,IAAI,CAAI,EAAA,CAAA;MAC3D,iBAAiB,EAAEC,IAAI,GAAGd,cAAc,CAACC,MAAM,CAAC,GAAG,GAAG;MACtD,mBAAmB,EAAEc,MAAM,GAAGf,cAAc,CAACC,MAAM,CAAC,GAAG,GAAG;MAC1D,mBAAmB,EAAE,CAAGe,EAAAA,YAAY,CAAI,EAAA,CAAA;MACxC,kBAAkB,EAAE,GAAGC,WAAW,CAAA,EAAA;KAClC;AACFR,IAAAA,SAAS,EAAEe,UAAU,CACnBC,MAAM,CAACtB,eAAe,EACtBsB,MAAM,CAAC,CAAA,UAAA,EAAaf,SAAS,CAAA,CAAE,CAAC,EAChCe,MAAM,CAAC,CAAWd,QAAAA,EAAAA,OAAO,CAAE,CAAA,CAAC,EAC5Bc,MAAM,CAAC,CAAA,MAAA,EAASb,KAAK,CAAA,CAAE,CAAC,EACxBH,SACF,CAAE;AACF,IAAA,aAAA,EAAY,0BAA0B;AAAA,IAAA,GAClCS,IAAI;AAAAX,IAAAA,QAAA,EAEPA;AAAQ,GACL,CAAC;AAEX,CACF;;;;"}