{"version":3,"file":"Card.cjs","sources":["../src/Card/Card.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, { createElement } from 'react';\n\nimport type {\n  ComponentProps,\n  SlotComponentPropsWithoutOverride,\n} from '../components.ts';\nimport { assocDefaultStyle } from '../utils/assign-default-style.ts';\nimport { mergeRootSlotPropsToComponentProps } from '../utils/merge-root-slot-props-to-component-prop.ts';\n\ninterface SlotProps {\n  root?: SlotComponentPropsWithoutOverride<'div'>;\n}\n\nexport type CardProps = ComponentProps<SlotProps>;\n\nexport function Card({\n  children,\n  'data-testid': testId,\n  disableDefaultClasses,\n  slotProps: givenSlotProps,\n  ...rest\n}: CardProps) {\n  let slotProps = givenSlotProps;\n\n  if (!disableDefaultClasses) {\n    slotProps = assocDefaultStyle<SlotProps>({\n      slotWithDefaultClasses: {\n        root: clsx('tw-py-0.5', 'tw-px-1'),\n      },\n    })(givenSlotProps);\n  }\n\n  const rootProps = mergeRootSlotPropsToComponentProps()(slotProps, rest);\n\n  return (\n    <section\n      data-testid={testId ?? 'busybox-card'}\n      {...slotProps?.root}\n      {...rootProps}\n    >\n      {children}\n    </section>\n  );\n}\n\ninterface CardTitleSlotProps {\n  root?: SlotComponentPropsWithoutOverride<'h1'>;\n}\n\nexport type CardTitleProps = ComponentProps<\n  CardTitleSlotProps,\n  {\n    slot?: { root?: keyof React.ReactHTML | React.FunctionComponent };\n  }\n>;\n\nexport function CardTitle({\n  'data-testid': testId,\n  disableDefaultClasses,\n  slot,\n  slotProps: givenSlotProps,\n  ...rest\n}: CardTitleProps) {\n  let slotProps = givenSlotProps;\n\n  if (!disableDefaultClasses) {\n    slotProps = assocDefaultStyle<SlotProps>({\n      slotWithDefaultClasses: {\n        root: clsx('tw-text-primary'),\n      },\n    })(givenSlotProps);\n  }\n  const rootProps = mergeRootSlotPropsToComponentProps()(slotProps, rest);\n\n  return createElement(slot?.root ?? 'h1', {\n    'data-testid': testId ?? 'busybox-card-title',\n    ...slotProps?.root,\n    ...rootProps,\n  });\n}\n"],"names":["Card","children","testId","disableDefaultClasses","givenSlotProps","rest","slotProps","assocDefaultStyle","clsx","rootProps","mergeRootSlotPropsToComponentProps","jsx","CardTitle","slot","createElement"],"mappings":"2YAgBO,SAASA,EAAK,CACnB,SAAAC,EACA,cAAeC,EACf,sBAAAC,EACA,UAAWC,EACX,GAAGC,CACL,EAAc,CACZ,IAAIC,EAAYF,EAEXD,IACHG,EAAYC,EAAAA,kBAA6B,CACvC,uBAAwB,CACtB,KAAMC,EAAAA,KAAK,YAAa,SAAS,CACnC,CAAA,CACD,EAAEJ,CAAc,GAGnB,MAAMK,EAAYC,EAAA,mCAAA,EAAqCJ,EAAWD,CAAI,EAGpE,OAAAM,EAAA,kBAAA,IAAC,UAAA,CACC,cAAaT,GAAU,eACtB,GAAGI,GAAA,YAAAA,EAAW,KACd,GAAGG,EAEH,SAAAR,CAAA,CAAA,CAGP,CAaO,SAASW,EAAU,CACxB,cAAeV,EACf,sBAAAC,EACA,KAAAU,EACA,UAAWT,EACX,GAAGC,CACL,EAAmB,CACjB,IAAIC,EAAYF,EAEXD,IACHG,EAAYC,EAAAA,kBAA6B,CACvC,uBAAwB,CACtB,KAAMC,OAAK,iBAAiB,CAC9B,CAAA,CACD,EAAEJ,CAAc,GAEnB,MAAMK,EAAYC,EAAA,mCAAA,EAAqCJ,EAAWD,CAAI,EAE/D,OAAAS,iBAAcD,GAAA,YAAAA,EAAM,OAAQ,KAAM,CACvC,cAAeX,GAAU,qBACzB,GAAGI,GAAA,YAAAA,EAAW,KACd,GAAGG,CAAA,CACJ,CACH"}