{"version":3,"sources":["../src/card/card.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport const CardMedia = forwardRef<HTMLDivElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"div\";\n    return (\n      <Component {...rest} className={clsx(\"hds-card__media\", className as undefined)} ref={ref}>\n        {children}\n      </Component>\n    );\n  },\n);\nCardMedia.displayName = \"Card.Media\";\n\nexport interface CardImageMediaProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n  /**\n   * Change the default rendered element for the one passed as a child, merging their props and behavior.\n   *\n   * @default false\n   */\n  asChild?: boolean;\n  /**\n   * Define image scaling behavior when the image are varies in both width and height across different page breaks and  sizes of the card.\n   * \"crop\": Image always fills the available space.\n   *         If the aspect ratio doesn't match, then the top/bottom or left/right edges are cropped away.\n   * \"scale\": No cropping, image scales to the maximum size available and centers.\n   *          If the aspect ratio doesn't match, then the background will show on the top/bottom or left/right sides of the image.\n   *\n   * @default \"scale\"\n   */\n  variant?: \"crop\" | \"scale\";\n}\nexport const CardMediaImg = forwardRef<HTMLImageElement, CardImageMediaProps>(\n  ({ asChild, variant, className, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"img\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\n          \"hds-card__media__img\",\n          { \"hds-card__img__crop\": variant === \"crop\" },\n          className as undefined,\n        )}\n        ref={ref}\n      />\n    );\n  },\n);\nCardMediaImg.displayName = \"Card.MediaImg\";\n\nexport const CardBody = forwardRef<HTMLDivElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"div\";\n    return (\n      <Component {...rest} className={clsx(\"hds-card__body\", className as undefined)} ref={ref}>\n        <div className={clsx(\"hds-card__centerbody\", className as undefined)}>{children}</div>\n      </Component>\n    );\n  },\n);\nCardBody.displayName = \"Card.Body\";\n\nexport const CardBodyHeader = forwardRef<\n  HTMLHeadingElement,\n  CardBaseProps &\n    (\n      | {\n          /**\n           * Heading level of the card heading\n           */\n          as: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n          asChild?: never;\n        }\n      | {\n          asChild: true;\n          as?: never;\n        }\n    )\n>(({ as: Tag, asChild, className, children, ...rest }, ref) => {\n  const Component = asChild ? Slot : Tag;\n  return (\n    <Component\n      {...rest}\n      className={clsx(\"hds-card__body-header\", className as undefined)}\n      ref={ref}\n    >\n      {children}\n    </Component>\n  );\n});\nCardBodyHeader.displayName = \"Card.BodyHeader\";\n\nexport const CardBodyHeaderOverline = forwardRef<HTMLDivElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"span\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\"hds-card__body-header-overline\", className as undefined)}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    );\n  },\n);\nCardBodyHeaderOverline.displayName = \"Card.BodyHeaderOverline\";\n\nexport const CardBodyHeaderTitle = forwardRef<HTMLDivElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"div\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\"hds-card__body-header-title\", className as undefined)}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    );\n  },\n);\nCardBodyHeaderTitle.displayName = \"Card.BodyHeaderTitle\";\n\nexport const CardBodyDescription = forwardRef<HTMLParagraphElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"p\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\"hds-card__body-description\", className as undefined)}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    );\n  },\n);\nCardBodyDescription.displayName = \"Card.BodyDescription\";\n\nexport const CardBodyAction = forwardRef<HTMLDivElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"div\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\"hds-card__body-action\", className as undefined)}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    );\n  },\n);\nCardBodyAction.displayName = \"Card.BodyAction\";\n\nexport const CardBodyActionRow = forwardRef<HTMLDivElement, CardBaseProps>(\n  ({ asChild, className, children, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"div\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\"hds-card__body-action-row\", className as undefined)}\n        ref={ref}\n      >\n        {children}\n      </Component>\n    );\n  },\n);\nCardBodyActionRow.displayName = \"Card.BodyActionRow\";\n\ninterface CardBodyActionArrowProps extends React.HTMLAttributes<HTMLSpanElement> {\n  /**\n   * Change the default rendered element for the one passed as a child, merging their props and behavior.\n   *\n   * @default false\n   */\n  asChild?: boolean;\n\n  /**\n   * Set direction of the arrow\n   *\n   * @default \"right\"\n   */\n  direction?: \"right\" | \"up-right\";\n}\nexport const CardBodyActionArrow = forwardRef<HTMLSpanElement, CardBodyActionArrowProps>(\n  ({ asChild, className, direction, ...rest }, ref) => {\n    const Component = asChild ? Slot : \"span\";\n    return (\n      <Component\n        {...rest}\n        className={clsx(\n          \"hds-card__body-action-arrow\",\n          { \"hds-card__body-action-arrow-up-right\": direction === \"up-right\" },\n          className as undefined,\n        )}\n        ref={ref}\n      />\n    );\n  },\n);\nCardBodyActionArrow.displayName = \"Card.BodyActionArrow\";\n\nexport interface CardBaseProps extends React.HTMLAttributes<HTMLDivElement> {\n  children: ReactNode;\n\n  /**\n   * Change the default rendered element for the one passed as a child, merging their props and behavior.\n   *\n   * @default false\n   */\n  asChild?: boolean;\n}\n\n/**\n * @deprecated This interface is deprecated and will be removed in a future release.\n * Use `CardSlimAndMiniatureProps` with props `data-color` and `theme` instead.\n */\nexport interface CardSlimAndMiniaturePropsDeprecated extends CardBaseProps {\n  /**\n   * Change the default rendered element for Card.\n   */\n  as?: \"section\" | \"div\" | \"article\" | \"aside\";\n  /**\n   * Allows for a horizontal variant for sizes above small.\n   *\n   * @default \"slim\"\n   */\n  variant?: \"slim\" | \"miniature\";\n  \"data-color\"?: never;\n  theme?: never;\n  /**\n   * @deprecated\n   * Use props `data-color` and `theme` instead.\n   * These colors will be removed in a future release.\n   */\n  color?: \"white\" | \"lighter-brand\" | \"light-grey-fill\";\n\n  /* Only fullwidth or focus cards can have images to the left or right of the text: */\n  imagePosition?: never;\n}\n\nexport interface CardSlimAndMiniatureProps extends CardBaseProps {\n  /**\n   * Change the default rendered element for Card.\n   */\n  as?: \"section\" | \"div\" | \"article\" | \"aside\";\n  /**\n   * Allows for a horizontal variant for sizes above small.\n   *\n   * @default \"slim\"\n   */\n  variant?: \"slim\" | \"miniature\";\n  /**\n   * Set theme for card\n   * @default \"default\"\n   */\n  theme?: \"default\" | \"tinted\" | \"base\";\n  /**\n   * Set data-color for card.\n   */\n  \"data-color\"?: \"neutral\" | \"posten\" | \"bring\";\n  /* Only fullwidth or focus cards can have images to the left or right of the text: */\n  imagePosition?: never;\n}\n\n/**\n * @deprecated Use Full-width card instead\n */\nexport interface CardFocusProps extends CardBaseProps {\n  /**\n   * Change the default rendered element for Card.\n   */\n  as?: \"section\" | \"div\" | \"article\" | \"aside\";\n  /** @deprecated Use Full-width card instead */\n  variant: \"focus\";\n  /**\n   * @deprecated\n   * Use props `data-color` and `theme` instead.\n   * The color prop will be removed in a future release.\n   */\n  color?: \"darker\" | \"dark\";\n  \"data-color\"?: never;\n  theme?: never;\n  /**\n   * fullwidth or focus cards can have images to the left or right of the text.\n   *\n   * @default \"left\"\n   * */\n  imagePosition?: \"left\" | \"right\";\n}\n\n/**\n * @deprecated This interface is deprecated and will be removed in a future release.\n * Use `CardSlimAndMiniatureProps` with props `data-color` and `theme` instead.\n */\nexport interface CardFullwidthPropsDeprecated extends CardBaseProps {\n  /**\n   * Change the default rendered element for Card.\n   */\n  as?: \"section\" | \"div\" | \"article\" | \"aside\";\n  variant: \"full-width\";\n  \"data-color\"?: never;\n  theme?: never;\n  /**\n   * @deprecated\n   * Use `data-color` and `theme` instead.\n   * The color prop will be removed in a future release.\n   */\n  color: \"white\" | \"lighter-brand\" | \"light-grey-fill\";\n  /**\n   * fullwidth or focus cards can have images to the left or right of the text.\n   *\n   * @default \"left\"\n   * */\n  imagePosition?: \"left\" | \"right\";\n}\n\nexport interface CardFullwidthProps extends CardBaseProps {\n  /**\n   * Change the default rendered element for Card.\n   */\n  as?: \"section\" | \"div\" | \"article\" | \"aside\";\n  variant: \"full-width\";\n  /**\n   * Set theme for card\n   * @default \"default\"\n   */\n  theme?: \"default\" | \"tinted\" | \"base\";\n  /**\n   * Set data-color for card.\n   */\n  \"data-color\"?: \"neutral\" | \"posten\" | \"bring\";\n  /**\n   * fullwidth or focus cards can have images to the left or right of the text.\n   *\n   * @default \"left\"\n   * */\n  imagePosition?: \"left\" | \"right\";\n}\n\nexport type CardProps =\n  | CardSlimAndMiniatureProps\n  | CardFocusProps\n  | CardFullwidthProps\n  | CardSlimAndMiniaturePropsDeprecated\n  | CardFullwidthPropsDeprecated;\n\n/**\n * Converts deprecated colors to current colors\n * @param color\n * @returns\n */\nconst convertDeprecatedColor = (\n  color: string | undefined,\n): Partial<{\n  theme: NonNullable<CardSlimAndMiniatureProps[\"theme\"]>;\n  dataColor: NonNullable<CardSlimAndMiniatureProps[\"data-color\"]>;\n  dataColorScheme: \"light\" | \"dark\";\n}> => {\n  switch (color) {\n    case \"lighter-brand\":\n      return { theme: \"default\" };\n    case \"light-grey-fill\":\n      return { theme: \"base\", dataColor: \"neutral\" };\n    case \"white\":\n      return { theme: \"default\", dataColor: \"neutral\" };\n    case \"dark\":\n      return { theme: \"base\" };\n    case \"darker\":\n      return { theme: \"tinted\", dataColorScheme: \"dark\" };\n    default:\n      return {};\n  }\n};\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n  (\n    {\n      as: Tag = \"section\",\n      asChild,\n      className,\n      children,\n      variant = \"slim\",\n      \"data-color\": dataColorAttr,\n      theme = \"default\",\n      color,\n      imagePosition,\n      ...rest\n    },\n    ref,\n  ) => {\n    const Component = asChild ? Slot : Tag;\n\n    const {\n      theme: themeFromDeprecated,\n      dataColor: dataColorFromDeprecated,\n      dataColorScheme: dataColorSchemeFromDeprecated,\n    } = convertDeprecatedColor(color ?? (variant === \"focus\" ? \"darker\" : undefined));\n\n    return (\n      <Component\n        {...rest}\n        {...(dataColorAttr ? { \"data-color\": dataColorAttr } : {})}\n        {...(dataColorFromDeprecated ? { \"data-color\": dataColorFromDeprecated } : {})}\n        {...(dataColorSchemeFromDeprecated\n          ? { \"data-color-scheme\": dataColorSchemeFromDeprecated }\n          : {})}\n        className={clsx(\n          \"hds-card\",\n          { \"hds-card--full-width\": variant === \"full-width\" },\n          { \"hds-card--miniature\": variant === \"miniature\" },\n          { \"hds-card--focus\": variant === \"focus\" }, // @deprecated\n          { \"hds-card--slim\": variant === \"slim\" },\n          { \"hds-card--theme-default\": (themeFromDeprecated ?? theme) === \"default\" },\n          { \"hds-card--theme-tinted\": (themeFromDeprecated ?? theme) === \"tinted\" },\n          { \"hds-card--theme-base\": (themeFromDeprecated ?? theme) === \"base\" },\n          { \"hds-card--image-position-right\": imagePosition === \"right\" },\n          className as undefined,\n        )}\n        ref={ref}\n      >\n        {variant === \"full-width\" || variant === \"focus\" ? (\n          <div className={clsx(\"hds-card__layoutwrapper\", className as undefined)}>{children}</div>\n        ) : (\n          children\n        )}\n      </Component>\n    );\n  },\n) as CardType;\nCard.displayName = \"Card\";\n\nCard.Media = CardMedia;\nCard.MediaImg = CardMediaImg;\nCard.Body = CardBody;\nCard.BodyHeader = CardBodyHeader;\nCard.BodyHeaderOverline = CardBodyHeaderOverline;\nCard.BodyHeaderTitle = CardBodyHeaderTitle;\nCard.BodyDescription = CardBodyDescription;\nCard.BodyAction = CardBodyAction;\nCard.BodyActionRow = CardBodyActionRow;\nCard.BodyActionArrow = CardBodyActionArrow;\n\ntype CardType = ReturnType<typeof forwardRef<HTMLDivElement, CardProps>> & {\n  Media: typeof CardMedia;\n  MediaImg: typeof CardMediaImg;\n  Body: typeof CardBody;\n  BodyHeader: typeof CardBodyHeader;\n  BodyHeaderOverline: typeof CardBodyHeaderOverline;\n  BodyHeaderTitle: typeof CardBodyHeaderTitle;\n  BodyDescription: typeof CardBodyDescription;\n  BodyAction: typeof CardBodyAction;\n  BodyActionRow: typeof CardBodyActionRow;\n  BodyActionArrow: typeof CardBodyActionArrow;\n};\n"],"mappings":"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","names":[]}