{"version":3,"file":"types.cjs","names":[],"sources":["../../../src/Card/HorizontalCard/types.ts"],"sourcesContent":["import {IconButtonProps} from '../../Button/Iconbutton';\r\nimport React, { ReactNode } from 'react';\r\nimport {ToggleButtonProps} from '../../Toggles/ToggleButton';\r\nimport {DropdownButtonProps} from '../../Dropdown/DropdownButtonTypes';\r\nimport {TagVariants} from '../../Tag';\r\nimport {LinearProgressProps} from '../../LinearProgress/LinearProgress';\r\nimport { Testable } from '../../types';\r\n\r\nexport type HorizontalCardIconButton = Pick<IconButtonProps, 'action' | 'disabled' | 'tooltip'> & {\r\n  componentType: 'icon';\r\n  icon: React.ReactNode;\r\n}\r\n\r\nexport type HorizontalCardToggleButton =\r\n  Pick<ToggleButtonProps, 'active' | 'onChange' | 'disabled' | 'defaultState' | 'activeState'>\r\n  & { componentType: 'toggle'; }\r\n\r\n  \r\nexport interface CustomContentProps extends  Testable{\r\n  content:ReactNode;\r\n}\r\n\r\n\r\nexport type HorizontalCardCustomContent =\r\n  CustomContentProps\r\n  & { componentType: 'custom'; }\r\n\r\nexport type HorizontalCardDropdownButton =\r\n  Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'itemsType' | 'action' | 'actionIcon' | 'actionLabel' | 'actionLoading' | 'actionVariant' | 'multiSelect' | 'scrollable' | 'pinTopItem' | 'maxHeight'>\r\n  & {\r\n  componentType: 'dropdown';\r\n  icon: React.ReactNode;\r\n}\r\n\r\nexport interface HorizontalCardTag {\r\n  label: string;\r\n  icon?: React.ReactNode;\r\n  variant?: TagVariants;\r\n}\r\n\r\n\r\n\r\nexport type HorizontalCardLinearProgression = Pick<LinearProgressProps, 'max' | 'value'>\r\n\r\nexport interface HorizontalCardProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'description' | 'tabIndex' | 'onClick' | 'onKeyDown' | 'onMouseDown'> {\r\n  /** 'Outline' or 'Elevated' style of container. */\r\n  variant?: 'outline' | 'elevated';\r\n  /** Action that will be triggered when user clicks on card. */\r\n  action?: () => void;\r\n  /** If disabled user will not be able to click on the card, also card will be greyed out. */\r\n  disabled?: boolean;\r\n  /** Title of the card */\r\n  title: string | React.ReactNode;\r\n  /** Description of the card */\r\n  description?: string | React.ReactNode;\r\n  /** Icon to be shown on the left side of the card. */\r\n  icon?: React.ReactElement<any>;\r\n  /** Properties of the image shown on the left side of the card. */\r\n  image?: { src: string; fallbackSrc?: string; alt: string, height?: string; width?: string; loader?: boolean };\r\n  /** Array of tags to be shown under the description. */\r\n  tags?: HorizontalCardTag[];\r\n  /** Progress bar to be shown under the tags. */\r\n  progress?: HorizontalCardLinearProgression;\r\n  /** Array of actions to be shown on the right side of the card. Can use IconButtons, DropdownButtons, CustomContent and Toggles */\r\n  actions?: (HorizontalCardIconButton | HorizontalCardToggleButton | HorizontalCardDropdownButton | HorizontalCardCustomContent)[];\r\n}\r\n"],"mappings":"","ignoreList":[]}