@televet/kibble-ui 4.0.0-beta.113 → 4.0.0-beta.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{buttonGroup.component-Bnd3WutZ.js → buttonGroup.component-BVPTUIF5.js} +2 -2
- package/dist/chunks/{buttonGroup.component-Bnd3WutZ.js.map → buttonGroup.component-BVPTUIF5.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-BTvvN-mr.js → buttonGroup.component-D_cYz0H1.js} +2 -2
- package/dist/chunks/{buttonGroup.component-BTvvN-mr.js.map → buttonGroup.component-D_cYz0H1.js.map} +1 -1
- package/dist/chunks/{checkbox.component-DCO3f8IY.js → checkbox.component-3YA0AZfA.js} +2 -2
- package/dist/chunks/{checkbox.component-DCO3f8IY.js.map → checkbox.component-3YA0AZfA.js.map} +1 -1
- package/dist/chunks/{checkbox.component-CyWf-jhq.js → checkbox.component-D5LmbbC6.js} +2 -1
- package/dist/chunks/{checkbox.component-CyWf-jhq.js.map → checkbox.component-D5LmbbC6.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-Dwn2XO_5.js → checkboxGroup.component-72jN-0pA.js} +2 -2
- package/dist/chunks/{checkboxGroup.component-Dwn2XO_5.js.map → checkboxGroup.component-72jN-0pA.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-Cu6qUJOk.js → checkboxGroup.component-RQoz1ubr.js} +2 -2
- package/dist/chunks/{checkboxGroup.component-Cu6qUJOk.js.map → checkboxGroup.component-RQoz1ubr.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-ZJ5eqIWf.js → conversationCard.component-C-GONVFe.js} +2 -2
- package/dist/chunks/{conversationCard.component-ZJ5eqIWf.js.map → conversationCard.component-C-GONVFe.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-aCCQmc5q.js → conversationCard.component-xQsHec-u.js} +2 -2
- package/dist/chunks/{conversationCard.component-aCCQmc5q.js.map → conversationCard.component-xQsHec-u.js.map} +1 -1
- package/dist/chunks/{datePicker.component--6-jJXIm.js → datePicker.component-BPqrILEE.js} +2 -2
- package/dist/chunks/{datePicker.component--6-jJXIm.js.map → datePicker.component-BPqrILEE.js.map} +1 -1
- package/dist/chunks/{datePicker.component-B6RVRikg.js → datePicker.component-DLs6DpYn.js} +2 -2
- package/dist/chunks/{datePicker.component-B6RVRikg.js.map → datePicker.component-DLs6DpYn.js.map} +1 -1
- package/dist/chunks/dialog-BeivYfW7.js +2 -0
- package/dist/chunks/dialog-BeivYfW7.js.map +1 -0
- package/dist/chunks/dialog-CcVRidaV.js +136 -0
- package/dist/chunks/dialog-CcVRidaV.js.map +1 -0
- package/dist/chunks/{menu.component-DSFy9WEh.js → menu.component-BlQ8OB2z.js} +2 -2
- package/dist/chunks/{menu.component-DSFy9WEh.js.map → menu.component-BlQ8OB2z.js.map} +1 -1
- package/dist/chunks/{menu.component-MeUyoUF9.js → menu.component-DWpVT0ik.js} +2 -2
- package/dist/chunks/{menu.component-MeUyoUF9.js.map → menu.component-DWpVT0ik.js.map} +1 -1
- package/dist/chunks/modal.types-BiEPKa2t.js +2 -0
- package/dist/chunks/modal.types-BiEPKa2t.js.map +1 -0
- package/dist/chunks/modal.types-DqAH_jR5.js +95 -0
- package/dist/chunks/modal.types-DqAH_jR5.js.map +1 -0
- package/dist/chunks/{radioGroup.component-CeIyZmZs.js → radioGroup.component-Bx42wWDx.js} +3 -2
- package/dist/chunks/{radioGroup.component-CeIyZmZs.js.map → radioGroup.component-Bx42wWDx.js.map} +1 -1
- package/dist/chunks/{radioGroup.component-BiLIdd0l.js → radioGroup.component-D6k2Nuu6.js} +2 -2
- package/dist/chunks/{radioGroup.component-BiLIdd0l.js.map → radioGroup.component-D6k2Nuu6.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-B6jDh_wi.js → tagBlock.component-CzajKewM.js} +2 -2
- package/dist/chunks/{tagBlock.component-B6jDh_wi.js.map → tagBlock.component-CzajKewM.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-c3i2tk5Y.js → tagBlock.component-DCHwzZEJ.js} +2 -2
- package/dist/chunks/{tagBlock.component-c3i2tk5Y.js.map → tagBlock.component-DCHwzZEJ.js.map} +1 -1
- package/dist/cjs/chakra/index.cjs +1 -1
- package/dist/cjs/chakra/index.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
- package/dist/cjs/components/Checkbox/index.cjs +1 -1
- package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
- package/dist/cjs/components/ConversationCard/index.cjs +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +1 -1
- package/dist/cjs/components/Menu/index.cjs +1 -1
- package/dist/cjs/components/Modal/index.cjs +1 -1
- package/dist/cjs/components/RadioGroup/index.cjs +1 -1
- package/dist/cjs/components/TagBlock/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/esm/chakra/index.js +1145 -1127
- package/dist/esm/chakra/index.js.map +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/Checkbox/index.js +1 -1
- package/dist/esm/components/CheckboxGroup/index.js +1 -1
- package/dist/esm/components/ConversationCard/index.js +1 -1
- package/dist/esm/components/DatePicker/index.js +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/RadioGroup/index.js +1 -1
- package/dist/esm/components/TagBlock/index.js +1 -1
- package/dist/esm/components/index.js +9 -9
- package/dist/esm/index.js +9 -9
- package/dist/types/chakra/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/chunks/dialog-trigger-Crrp0YGG.js +0 -78
- package/dist/chunks/dialog-trigger-Crrp0YGG.js.map +0 -1
- package/dist/chunks/dialog-trigger-MkOQUjzu.js +0 -2
- package/dist/chunks/dialog-trigger-MkOQUjzu.js.map +0 -1
- package/dist/chunks/modal.types-CTQpaACU.js +0 -2
- package/dist/chunks/modal.types-CTQpaACU.js.map +0 -1
- package/dist/chunks/modal.types-KqIduO4D.js +0 -139
- package/dist/chunks/modal.types-KqIduO4D.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationCard.component-ZJ5eqIWf.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex className=\"ConversationCard__AvatarGroup\" alignItems=\"flex-start\" justifyContent=\"flex-start\">\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid=\"kibble-conversation-card-menu\" gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n 'data-testid': 'conversation-card-pin-toggle-dropdown-button',\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({ tags }: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid=\"kibble-conversation-card-footer\" mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid=\"kibble-conversation-card-content-menu\" ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.alphaContrast.pressed'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversationCard.component-C-GONVFe.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex className=\"ConversationCard__AvatarGroup\" alignItems=\"flex-start\" justifyContent=\"flex-start\">\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid=\"kibble-conversation-card-menu\" gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n 'data-testid': 'conversation-card-pin-toggle-dropdown-button',\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({ tags }: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid=\"kibble-conversation-card-footer\" mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid=\"kibble-conversation-card-content-menu\" ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.alphaContrast.pressed'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { H as m } from "./h-stack-Ce6JSBK2.js";
|
|
|
13
13
|
import { V as F } from "./v-stack-BZT7R_9f.js";
|
|
14
14
|
import { B as C } from "./box-Ck9I7FYv.js";
|
|
15
15
|
import { B as _ } from "./button.component-Br9jCpBx.js";
|
|
16
|
-
import { M as O } from "./menu.component-
|
|
16
|
+
import { M as O } from "./menu.component-BlQ8OB2z.js";
|
|
17
17
|
import { T as R } from "./tag.component-BAH11mPX.js";
|
|
18
18
|
import { W as M, a as w } from "./wrap-B8tBNeBY.js";
|
|
19
19
|
const A = ({
|
|
@@ -327,4 +327,4 @@ const A = ({
|
|
|
327
327
|
export {
|
|
328
328
|
de as C
|
|
329
329
|
};
|
|
330
|
-
//# sourceMappingURL=conversationCard.component-
|
|
330
|
+
//# sourceMappingURL=conversationCard.component-xQsHec-u.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationCard.component-aCCQmc5q.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex className=\"ConversationCard__AvatarGroup\" alignItems=\"flex-start\" justifyContent=\"flex-start\">\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid=\"kibble-conversation-card-menu\" gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n 'data-testid': 'conversation-card-pin-toggle-dropdown-button',\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({ tags }: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid=\"kibble-conversation-card-footer\" mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid=\"kibble-conversation-card-content-menu\" ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.alphaContrast.pressed'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversationCard.component-xQsHec-u.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n avatars: React.ReactNode[];\n max?: number;\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n tooltipLabel?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex className=\"ConversationCard__AvatarGroup\" alignItems=\"flex-start\" justifyContent=\"flex-start\">\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n showNotificationIndicator?: boolean;\n isCardPinned?: boolean;\n isHoveringCard?: boolean;\n subtitle?: string;\n timestampProps: TimestampProps;\n title: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack\n className=\"ConversationCard__Header\"\n data-testid=\"kibble-conversation-card-header\"\n justify=\"space-between\"\n align=\"flex-start\"\n >\n <HStack\n className=\"ConversationCard__Header--Left\"\n data-testid=\"kibble-conversation-card-header-left\"\n cursor=\"pointer\"\n >\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid=\"kibble-conversation-card-header-text\"\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid=\"kibble-conversation-card-header-title\"\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid=\"kibble-conversation-card-header-subtitle\"\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid=\"kibble-conversation-card-header-right\"\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid=\"conversation-card-unread-indicator\"\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid=\"conversation-card-pinned-icon\">\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n isOpenInOverlay?: boolean;\n onOpenInOverlay: () => void;\n}\n\nexport interface ConversationCardPinProps {\n isPinned?: boolean;\n onTogglePin: (isPinned: boolean) => void;\n}\n\nexport interface ConversationCardButtonsProps {\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n headerMenuProps?: MenuProps;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n isHovering: boolean;\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay } = overlayProps || {};\n const { isPinned, onTogglePin } = pinProps || {};\n const { listProps } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid=\"kibble-conversation-card-menu\" gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid=\"conversation-card-overlay-icon-button\"\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid=\"conversation-card-pin-toggle-icon-button\"\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n 'data-testid': 'conversation-card-pin-toggle-dropdown-button',\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n tags: ConversationCardTag[];\n}\n\nexport const ConversationCardTags = ({ tags }: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3}>\n <Wrap gap=\"6px\">\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n iconProps?: IconProps;\n content: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid=\"kibble-conversation-card-footer-message\"\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid=\"kibble-conversation-card-footer\" mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n content?: React.ReactNode;\n contentProps?: Omit<TextProps, 'children'>;\n contentMenu?: React.ReactNode;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid=\"kibble-conversation-card-content\"\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid=\"kibble-conversation-card-content-container\"\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid=\"kibble-conversation-card-content-menu\" ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n allowHoverActions?: boolean;\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n footerProps?: ConversationCardFooterProps;\n headerMenuProps?: MenuProps;\n headerProps: ConversationCardHeaderProps;\n active?: boolean;\n onClick?: () => void;\n overlayProps?: ConversationCardOverlayProps;\n pinProps?: ConversationCardPinProps;\n shouldPreservePosition?: boolean;\n showNotificationIndicator?: boolean;\n tags?: ConversationCardTag[];\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid=\"kibble-conversation-card\"\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.alphaContrast.pressed'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Menu--Container\"\n data-testid=\"kibble-conversation-card-menu-container\"\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","jsx","Tooltip","Flex","Avatar","e","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","isPinned","onTogglePin","listProps","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":";;;;;;;;;;;;;;;;;;AAYO,MAAMA,IAA8B,CAAC;AAAA,EAC1C,SAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,oBAAAC;AAAA,EACA,cAAAC;AACF,MAEIC,gBAAAA,MAACC,KAAQ,OAAOF,KAAgB,IAAI,UAAU,CAACA,GAAc,QAC3D,UAAAC,gBAAAA,EAAAA,IAACE,KAAK,WAAU,iCAAgC,YAAW,cAAa,gBAAe,cACpF,UAAOL,KAAAD,EAAQ,SAASC,IACvBG,gBAAAA,EAAA;AAAA,EAACG;AAAA,EAAA;AAAA,IACC,SAAS,CAACC,MAAY;AACpB,MAAAA,EAAE,gBAAgB,GACdN,KACFA,EAAmBM,CAAC;AAAA,IAExB;AAAA,IACA,QAAO;AAAA,IACP,MAAMR,EAAQ,OAAO,SAAS;AAAA,IAC9B,aAAa;AAAA,EAAA;AACf,wCAEG,UAAQA,EAAA,IAAI,CAACS,MAAWA,CAAM,GAAE,EAAA,CAEvC,EACF,CAAA,GCbSC,IAAyB,CAAC;AAAA,EACrC,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,UAAAC;AACF,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN,UAAA;AAAA,MAAAD,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,QAAO;AAAA,UAEN,UAAA;AAAA,YAAAR,2BACEZ,GAA6B,EAAA,GAAGY,GAAkB,cAAcA,GAAkB,gBAAgBI,GAAO;AAAA,YAE5GG,gBAAAA,EAAA;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAY;AAAA,gBACZ,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,KAAI;AAAA,gBAEJ,UAAA;AAAA,kBAAAhB,gBAAAA,EAAA;AAAA,oBAACiB;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBACZ,MAAK;AAAA,sBACL,WAAS;AAAA,sBAER,UAAAN;AAAA,oBAAA;AAAA,kBACH;AAAA,kBACCE,KACCb,gBAAAA,EAAA;AAAA,oBAACkB;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBACZ,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR,WAAS;AAAA,sBAER,UAAAL;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA;AAAA,UAEJ;AAAA,QAAA;AAAA,MACF;AAAA,MACAC,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,YAAYN,IAAiB,WAAW;AAAA,UACxC,OAAM;AAAA,UACN,KAAK;AAAA,UAEL,UAAA;AAAA,YAACT,gBAAAA,EAAAA,IAAAmB,GAAA,EAAW,GAAGX,GAAgB;AAAA,YAC9BI,KACCZ,gBAAAA,EAAA;AAAA,cAACoB;AAAA,cAAA;AAAA,gBACC,IAAG;AAAA,gBACH,WAAU;AAAA,gBACV,eAAY;AAAA,gBAEZ,UAAApB,gBAAAA,EAAAA,IAACqB,GAAoB,EAAA,MAAK,KAAK,CAAA;AAAA,cAAA;AAAA,YACjC;AAAA,YAEDX,KACCV,gBAAAA,EAAA,IAACE,GAAK,EAAA,eAAY,iCAChB,UAAAF,gBAAAA,EAAA,IAACsB,GAAK,EAAA,MAAK,MAAK,SAAQ,QAAO,MAAK,OAAM,EAC5C,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AACF,GCxESC,IAA0B,CAAC;AAAA,EACtC,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AACF,MAAgE;AAC9D,QAAM,EAAE,iBAAAC,GAAiB,iBAAAC,EAAgB,IAAIN,KAAgB,CAAC,GACxD,EAAE,UAAAO,GAAU,aAAAC,EAAY,IAAIP,KAAY,CAAC,GACzC,EAAE,WAAAQ,MAAcP,KAAmB,CAAC,GACpCQ,IAAcH,IAAW,cAAc;AAE7C,gCACGhB,GAAO,EAAA,WAAU,0BAAyB,eAAY,iCAAgC,KAAK,GACzF,UAAA;AAAA,IACCS,KAAAxB,gBAAAA,EAAA;AAAA,MAACmC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,SAAQ;AAAA,QACR,cAAa;AAAA,QACZ,GAAIN,KAAmB,EAAE,QAAQ,GAAK;AAAA,QACvC,SAAS,MAAY;AACnB,UAAIC,KACcA,EAAA,GAGdH,KACFC,EAAc,EAAK;AAAA,QAEvB;AAAA,QACA,UAAS;AAAA,QACT,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,IAEDH,KACCzB,gBAAAA,EAAA;AAAA,MAACmC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,SAASJ,IAAW,+BAA+B;AAAA,QACnD,cAAa;AAAA,QACb,SAAS,MAAY;AACnB,UAAIC,KACFA,EAAY,CAACD,CAAQ,GAGnBJ,KACFC,EAAc,EAAK;AAAA,QAEvB;AAAA,QACA,UAAUM;AAAA,QACV,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,IAEDR,KACC1B,gBAAAA,EAAA;AAAA,MAACoC;AAAA,MAAA;AAAA,QACC,aACEV,EAAgB,eAAe;AAAA,UAC7B,SAAS;AAAA,UACT,MAAM;AAAA,UACN,cAAc;AAAA,UACd,UAAU;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,QACX;AAAA,QAEF,eAAe;AAAA,QACf,WAAS;AAAA,QACR,GAAGA;AAAA,QACJ,WAAW;AAAA,UACT,GAAGO;AAAA,UACH,WAAW;AAAA,YACT,GAAIR,IACA;AAAA,cACE;AAAA,gBACE,eAAe;AAAA,gBACf,OAAO,GAAGM,IAAW,UAAU,KAAK;AAAA,gBACpC,OAAO;AAAA,gBACP,SAASA,IAAW,WAAW;AAAA,gBAC/B,aAAc/B,gBAAAA,EAAA,IAAAsB,GAAA,EAAK,MAAK,MAAK,SAASS,IAAW,WAAW,WAAW,MAAMG,EAAa,CAAA;AAAA,gBAC1F,UAAU,MAAY;AACpB,kBAAIF,KACFA,EAAY,CAACD,CAAQ;AAAA,gBACvB;AAAA,cACF;AAAA,YACF,IAEF,CAAC;AAAA,YACL,GAAIE,GAAW,aAAa,CAAA;AAAA,UAAC;AAAA,QAC/B;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ,GC3GaI,IAAuB,CAAC,EAAE,MAAAC,QAElCtC,gBAAAA,EAAAA,IAAAoB,GAAA,EAAI,WAAU,0BAAyB,IAAI,GAC1C,UAACpB,gBAAAA,EAAA,IAAAuC,GAAA,EAAK,KAAI,OACP,UAAKD,EAAA,IAAI,CAACE,MAAQ;AACjB,QAAM,EAAE,gBAAAC,GAAgB,GAAGC,EAAA,IAASF;AAChC,MAAAG,0BAAcC,GAAK,EAAA,GAAGF,GAAM,MAAK,MAAK,eAAc,cAAa;AAErE,SAAID,MAEAE,IAAA3C,gBAAAA,EAAA,IAACC,KAAQ,OAAOwC,GAAgB,WAAU,OACxC,UAAAzC,gBAAAA,EAAAA,IAACoB,GAAK,EAAA,UAAAuB,EAAA,CAAW,EACnB,CAAA,IAII3C,gBAAAA,EAAAA,IAAA6C,GAAA,EAA0B,UAAZF,EAAA,GAAAH,EAAI,KAAmB;AAAA,CAC9C,GACH,EACF,CAAA,GCtBSM,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AACF,MAAsD;AAC9C,QAAAC,IACJ,OAAOF,KAAY,WACjBhD,gBAAAA,EAAA;AAAA,IAACkB;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAQ;AAAA,MACP,GAAG+B;AAAA,MACH,GAAIF,KAAa,EAAE,IAAI,EAAE;AAAA,MAEzB,UAAAC;AAAA,IAAA;AAAA,EAAA,IAGHA;AAGF,SAAAlC,gBAAAA,OAACZ,KAAK,WAAU,4BAA2B,eAAY,mCAAkC,IAAI,GAAG,YAAW,UACxG,UAAA;AAAA,IAAA6C,2BAAczB,GAAK,EAAA,MAAK,MAAK,SAAQ,UAAU,GAAGyB,GAAW;AAAA,IAC7DG;AAAA,EAAA,GACH;AAEJ,GC1BaC,IAA0B,CAAC;AAAA,EACtC,aAAAC;AAAA,EACA,SAAAJ;AAAA,EACA,cAAAC;AACF,MAAuD;AAC/C,QAAAC,IACJ,OAAOF,KAAY,WACjBhD,gBAAAA,EAAA;AAAA,IAACkB;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,WAAS;AAAA,MACT,MAAK;AAAA,MACJ,GAAG+B;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA,IAGHA;AAIF,SAAAlC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,IAAI;AAAA,MACJ,gBAAe;AAAA,MACf,YAAW;AAAA,MAEV,UAAA;AAAA,QAAAmC;AAAA,QACAE,2BACEhC,GAAI,EAAA,WAAU,iCAAgC,eAAY,yCAAwC,IAAG,QACnG,UACHgC,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ,GCLaC,KAAmB,CAAC;AAAA,EAC/B,mBAAAC,IAAoB;AAAA,EACpB,kBAAA/C;AAAA,EACA,SAAAyC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAG;AAAA,EACA,aAAAG;AAAA,EACA,iBAAA7B;AAAA,EACA,aAAA8B;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAlC;AAAA,EACA,UAAAC;AAAA,EACA,wBAAAkC,IAAyB;AAAA,EACzB,2BAAA/C;AAAA,EACA,MAAA0B;AACF,MAAgD;AAC9C,QAAM,EAAE,UAAAP,MAAaN,KAAY,CAAC,GAC5B,CAACE,GAAYC,CAAa,IAAIgC,EAAS,EAAK;AAGhD,SAAA9C,gBAAAA,EAAA;AAAA,IAAC+C;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,IAAG;AAAA,MACH,eAAY;AAAA,MACZ,aAAW;AAAA,MACX,QAAAJ;AAAA,MACA,MAAK;AAAA,MACL,WAAS;AAAA,MACT,SAAS,MAAY;AACnB,QAAIC,KACMA,EAAA;AAAA,MAEZ;AAAA,MACA,IAAI9C,KAA6B6C,KAAU9B,IAAa,uBAAuB;AAAA,MAC/E,cAAc,MAAY;AACxB,QAAI2B,KACF1B,EAAc,EAAI;AAAA,MAEtB;AAAA,MACA,cAAc,MAAYA,EAAc,EAAK;AAAA,MAC7C,KAAI;AAAA,MACJ,KAAK,EAAE,gBAAgB+B,IAAyB,SAAS,OAAO;AAAA,MAE/D,UAAA;AAAA,QACChC,KAAA3B,gBAAAA,EAAA;AAAA,UAACoB;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,KAAI;AAAA,YACJ,KAAK;AAAA,YACL,QAAO;AAAA,YACP,OAAO;AAAA,YACP,IAAG;AAAA,YACH,cAAa;AAAA,YACb,SAAS,CAAChB,MAAYA,EAAE,gBAAgB;AAAA,YAExC,UAAAJ,gBAAAA,EAAA;AAAA,cAACuB;AAAA,cAAA;AAAA,gBACC,cAAAC;AAAA,gBACA,UAAAC;AAAA,gBACA,iBAAAC;AAAA,gBACA,YAAAC;AAAA,gBACA,eAAAC;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QACF;AAAA,QAEF5B,gBAAAA,EAAA;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,kBAAAC;AAAA,YACA,gBAAgBoB;AAAA,YAChB,cAAcI;AAAA,YACd,2BAAAnB;AAAA,YACC,GAAG4C;AAAA,UAAA;AAAA,QACN;AAAA,QACCxD,gBAAAA,EAAAA,IAAAmD,GAAA,EAAwB,SAAAH,GAAkB,cAAAC,GAA4B,aAAAG,EAA0B,CAAA;AAAA,QAChG,CAAC,CAACd,GAAM,UAAUtC,gBAAAA,EAAA,IAACqC,KAAqB,MAAAC,GAAY;AAAA,QACpDiB,KAAevD,gBAAAA,EAAA,IAAC8C,GAAwB,EAAA,GAAGS,EAAa,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC3D;AAEJ;"}
|