@mattermost/compass-ui 0.1.0-alpha.3 → 0.1.0-alpha.5
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/compass-ui-standalone.css +10 -0
- package/dist/compass-ui.css +2 -0
- package/dist/components/action-button/ActionButton.cjs +1 -1
- package/dist/components/action-button/ActionButton.cjs.map +1 -1
- package/dist/components/action-button/ActionButton.d.ts +2 -1
- package/dist/components/action-button/ActionButton.d.ts.map +1 -1
- package/dist/components/action-button/ActionButton.js +22 -12
- package/dist/components/action-button/ActionButton.js.map +1 -1
- package/dist/components/action-button/ActionButton.module.css +1 -1
- package/dist/components/action-button/ActionButton.module.scss.cjs +1 -1
- package/dist/components/action-button/ActionButton.module.scss.js +5 -5
- package/dist/components/admin-panel/AdminPanel.d.ts +1 -1
- package/dist/components/attachment-card/AttachmentCard.cjs +1 -1
- package/dist/components/attachment-card/AttachmentCard.cjs.map +1 -1
- package/dist/components/attachment-card/AttachmentCard.d.ts +3 -1
- package/dist/components/attachment-card/AttachmentCard.d.ts.map +1 -1
- package/dist/components/attachment-card/AttachmentCard.js +92 -82
- package/dist/components/attachment-card/AttachmentCard.js.map +1 -1
- package/dist/components/attachment-card/AttachmentCard.module.css +1 -1
- package/dist/components/attachment-card/AttachmentCard.module.scss.cjs +1 -1
- package/dist/components/attachment-card/AttachmentCard.module.scss.js +19 -18
- package/dist/components/attachment-card/AttachmentCard.module.scss.js.map +1 -1
- package/dist/components/button/Button.module.css +1 -1
- package/dist/components/button/Button.module.scss.cjs +1 -1
- package/dist/components/button/Button.module.scss.js +15 -15
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.cjs +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.cjs.map +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts +4 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts.map +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.js +112 -92
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.js.map +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.css +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.cjs +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.js +22 -20
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.js.map +1 -1
- package/dist/components/channels-sidebar/channelsSidebarModel.d.ts +1 -1
- package/dist/components/checkbox/Checkbox.cjs +1 -1
- package/dist/components/checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts +3 -3
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.js +21 -20
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox/Checkbox.module.css +1 -1
- package/dist/components/checkbox/Checkbox.module.scss.cjs +1 -1
- package/dist/components/checkbox/Checkbox.module.scss.js +7 -7
- package/dist/components/chip/Chip.cjs +1 -1
- package/dist/components/chip/Chip.cjs.map +1 -1
- package/dist/components/chip/Chip.d.ts +3 -5
- package/dist/components/chip/Chip.d.ts.map +1 -1
- package/dist/components/chip/Chip.js +90 -48
- package/dist/components/chip/Chip.js.map +1 -1
- package/dist/components/chip/Chip.module.css +1 -1
- package/dist/components/chip/Chip.module.scss.cjs +1 -1
- package/dist/components/chip/Chip.module.scss.js +9 -9
- package/dist/components/chip/ChipGroup.cjs +2 -0
- package/dist/components/chip/ChipGroup.cjs.map +1 -0
- package/dist/components/chip/ChipGroup.d.ts +16 -0
- package/dist/components/chip/ChipGroup.d.ts.map +1 -0
- package/dist/components/chip/ChipGroup.js +112 -0
- package/dist/components/chip/ChipGroup.js.map +1 -0
- package/dist/components/chip/ChipGroup.module.css +1 -0
- package/dist/components/chip/ChipGroup.module.scss.cjs +2 -0
- package/dist/components/chip/ChipGroup.module.scss.cjs.map +1 -0
- package/dist/components/chip/ChipGroup.module.scss.js +7 -0
- package/dist/components/chip/ChipGroup.module.scss.js.map +1 -0
- package/dist/components/chip/index.cjs +1 -1
- package/dist/components/chip/index.d.ts +2 -0
- package/dist/components/chip/index.d.ts.map +1 -1
- package/dist/components/chip/index.js +4 -2
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/combobox/Combobox.cjs +1 -1
- package/dist/components/combobox/Combobox.cjs.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +115 -109
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox.module.css +1 -1
- package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
- package/dist/components/combobox/Combobox.module.scss.js +27 -29
- package/dist/components/date-range-picker/DateRangePicker.cjs +1 -1
- package/dist/components/date-range-picker/DateRangePicker.cjs.map +1 -1
- package/dist/components/date-range-picker/DateRangePicker.js +154 -154
- package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
- package/dist/components/date-range-picker/DateRangePicker.module.css +1 -1
- package/dist/components/date-range-picker/DateRangePicker.module.scss.cjs +1 -1
- package/dist/components/date-range-picker/DateRangePicker.module.scss.js +28 -45
- package/dist/components/dropdown/Dropdown.cjs +1 -1
- package/dist/components/dropdown/Dropdown.cjs.map +1 -1
- package/dist/components/dropdown/Dropdown.js +1 -1
- package/dist/components/dropdown/Dropdown.js.map +1 -1
- package/dist/components/dropdown/Dropdown.module.css +1 -1
- package/dist/components/dropdown/Dropdown.module.scss.cjs +1 -1
- package/dist/components/dropdown/Dropdown.module.scss.js +15 -16
- package/dist/components/empty-state/EmptyState.d.ts +2 -2
- package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.d.ts +2 -2
- package/dist/components/global-banner/GlobalBanner.module.css +1 -1
- package/dist/components/global-banner/GlobalBanner.module.scss.cjs +1 -1
- package/dist/components/global-banner/GlobalBanner.module.scss.js +10 -10
- package/dist/components/icon-button/IconButton.cjs +1 -1
- package/dist/components/icon-button/IconButton.cjs.map +1 -1
- package/dist/components/icon-button/IconButton.d.ts +1 -1
- package/dist/components/icon-button/IconButton.d.ts.map +1 -1
- package/dist/components/icon-button/IconButton.js +14 -14
- package/dist/components/icon-button/IconButton.js.map +1 -1
- package/dist/components/icon-button/IconButton.module.css +1 -1
- package/dist/components/icon-button/IconButton.module.scss.cjs +1 -1
- package/dist/components/icon-button/IconButton.module.scss.js +15 -15
- package/dist/components/image-preview/ImagePreview.cjs +1 -1
- package/dist/components/image-preview/ImagePreview.cjs.map +1 -1
- package/dist/components/image-preview/ImagePreview.d.ts +2 -1
- package/dist/components/image-preview/ImagePreview.d.ts.map +1 -1
- package/dist/components/image-preview/ImagePreview.js +70 -52
- package/dist/components/image-preview/ImagePreview.js.map +1 -1
- package/dist/components/image-preview/ImagePreview.module.css +1 -1
- package/dist/components/image-preview/ImagePreview.module.scss.cjs +1 -1
- package/dist/components/image-preview/ImagePreview.module.scss.js +15 -15
- package/dist/components/menu-item/MenuItem.cjs +1 -1
- package/dist/components/menu-item/MenuItem.cjs.map +1 -1
- package/dist/components/menu-item/MenuItem.js +11 -11
- package/dist/components/menu-item/MenuItem.js.map +1 -1
- package/dist/components/menu-item/MenuItem.module.css +1 -1
- package/dist/components/menu-item/MenuItem.module.scss.cjs +1 -1
- package/dist/components/menu-item/MenuItem.module.scss.js +16 -16
- package/dist/components/message/Message.d.ts +1 -1
- package/dist/components/message/Message.module.css +1 -1
- package/dist/components/message/Message.module.scss.cjs +1 -1
- package/dist/components/message/Message.module.scss.js +20 -20
- package/dist/components/message-reactions/MessageReactions.module.css +1 -1
- package/dist/components/message-reactions/MessageReactions.module.scss.cjs +1 -1
- package/dist/components/message-reactions/MessageReactions.module.scss.js +12 -12
- package/dist/components/modal/Modal.cjs +1 -1
- package/dist/components/modal/Modal.cjs.map +1 -1
- package/dist/components/modal/Modal.d.ts +9 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +30 -20
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/Modal.module.css +1 -1
- package/dist/components/modal/Modal.module.scss.cjs +1 -1
- package/dist/components/modal/Modal.module.scss.js +18 -17
- package/dist/components/modal/Modal.module.scss.js.map +1 -1
- package/dist/components/modal/index.d.ts +1 -1
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.module.css +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.module.scss.cjs +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.module.scss.js +5 -5
- package/dist/components/pagination-dots/PaginationDots.module.css +1 -1
- package/dist/components/pagination-dots/PaginationDots.module.scss.cjs +1 -1
- package/dist/components/pagination-dots/PaginationDots.module.scss.js +8 -8
- package/dist/components/radio/Radio.cjs +1 -1
- package/dist/components/radio/Radio.cjs.map +1 -1
- package/dist/components/radio/Radio.d.ts +3 -3
- package/dist/components/radio/Radio.d.ts.map +1 -1
- package/dist/components/radio/Radio.js +11 -11
- package/dist/components/radio/Radio.js.map +1 -1
- package/dist/components/radio/Radio.module.css +1 -1
- package/dist/components/radio/Radio.module.scss.cjs +1 -1
- package/dist/components/radio/Radio.module.scss.js +11 -11
- package/dist/components/right-sidebar/RightSidebarHeader/RightSidebarHeader.d.ts +1 -1
- package/dist/components/search-input/SearchInput.cjs +1 -1
- package/dist/components/search-input/SearchInput.cjs.map +1 -1
- package/dist/components/search-input/SearchInput.d.ts +2 -0
- package/dist/components/search-input/SearchInput.d.ts.map +1 -1
- package/dist/components/search-input/SearchInput.js +78 -64
- package/dist/components/search-input/SearchInput.js.map +1 -1
- package/dist/components/search-input/SearchInput.module.css +1 -1
- package/dist/components/search-input/SearchInput.module.scss.cjs +1 -1
- package/dist/components/search-input/SearchInput.module.scss.js +16 -23
- package/dist/components/search-input/SearchInput.module.scss.js.map +1 -1
- package/dist/components/select/Select.cjs +1 -1
- package/dist/components/select/Select.cjs.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +64 -64
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select/Select.module.css +1 -1
- package/dist/components/select/Select.module.scss.cjs +1 -1
- package/dist/components/select/Select.module.scss.js +24 -26
- package/dist/components/switch/Switch.cjs +1 -1
- package/dist/components/switch/Switch.cjs.map +1 -1
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/switch/Switch.js +2 -2
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/switch/Switch.module.css +1 -1
- package/dist/components/switch/Switch.module.scss.cjs +1 -1
- package/dist/components/switch/Switch.module.scss.js +15 -15
- package/dist/components/tabs/Tabs.cjs +1 -1
- package/dist/components/tabs/Tabs.cjs.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +4 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +47 -31
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/Tabs.module.css +1 -1
- package/dist/components/tabs/Tabs.module.scss.cjs +1 -1
- package/dist/components/tabs/Tabs.module.scss.js +8 -7
- package/dist/components/tabs/Tabs.module.scss.js.map +1 -1
- package/dist/components/tag/Tag.module.css +1 -1
- package/dist/components/tag/Tag.module.scss.cjs +1 -1
- package/dist/components/tag/Tag.module.scss.js +15 -15
- package/dist/components/text-area/TextArea.cjs +1 -1
- package/dist/components/text-area/TextArea.cjs.map +1 -1
- package/dist/components/text-area/TextArea.d.ts.map +1 -1
- package/dist/components/text-area/TextArea.js +57 -56
- package/dist/components/text-area/TextArea.js.map +1 -1
- package/dist/components/text-area/TextArea.module.css +1 -1
- package/dist/components/text-area/TextArea.module.scss.cjs +1 -1
- package/dist/components/text-area/TextArea.module.scss.js +12 -17
- package/dist/components/text-input/TextInput.cjs +1 -1
- package/dist/components/text-input/TextInput.cjs.map +1 -1
- package/dist/components/text-input/TextInput.d.ts.map +1 -1
- package/dist/components/text-input/TextInput.js +59 -58
- package/dist/components/text-input/TextInput.js.map +1 -1
- package/dist/components/text-input/TextInput.module.css +1 -1
- package/dist/components/text-input/TextInput.module.scss.cjs +1 -1
- package/dist/components/text-input/TextInput.module.scss.js +16 -24
- package/dist/components/thread-footer/ThreadFooter.cjs +1 -1
- package/dist/components/thread-footer/ThreadFooter.cjs.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.d.ts +7 -8
- package/dist/components/thread-footer/ThreadFooter.d.ts.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.js +59 -62
- package/dist/components/thread-footer/ThreadFooter.js.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.css +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.js +17 -17
- package/dist/components/thread-footer/index.d.ts +7 -1
- package/dist/components/thread-footer/index.d.ts.map +1 -1
- package/dist/components/thread-list-item/ThreadListItem.cjs +1 -1
- package/dist/components/thread-list-item/ThreadListItem.cjs.map +1 -1
- package/dist/components/thread-list-item/ThreadListItem.d.ts +2 -2
- package/dist/components/thread-list-item/ThreadListItem.d.ts.map +1 -1
- package/dist/components/thread-list-item/ThreadListItem.js +102 -87
- package/dist/components/thread-list-item/ThreadListItem.js.map +1 -1
- package/dist/components/thread-list-item/ThreadListItem.module.css +1 -1
- package/dist/components/thread-list-item/ThreadListItem.module.scss.cjs +1 -1
- package/dist/components/thread-list-item/ThreadListItem.module.scss.js +26 -23
- package/dist/components/thread-list-item/ThreadListItem.module.scss.js.map +1 -1
- package/dist/components/thread-list-item/index.d.ts +1 -1
- package/dist/components/toast/Toast.module.css +1 -1
- package/dist/components/toast/Toast.module.scss.cjs +1 -1
- package/dist/components/toast/Toast.module.scss.js +6 -6
- package/dist/components/tour-point/TourPoint.module.css +1 -1
- package/dist/components/tour-point/TourPoint.module.scss.cjs +1 -1
- package/dist/components/tour-point/TourPoint.module.scss.js +28 -28
- package/dist/hooks/use-anchored-popup-portal.cjs +1 -1
- package/dist/hooks/use-anchored-popup-portal.cjs.map +1 -0
- package/dist/hooks/use-anchored-popup-portal.d.ts +1 -1
- package/dist/hooks/use-anchored-popup-portal.d.ts.map +1 -0
- package/dist/hooks/use-anchored-popup-portal.js +1 -1
- package/dist/hooks/use-anchored-popup-portal.js.map +1 -0
- package/dist/hooks/use-controllable.cjs +1 -1
- package/dist/hooks/use-controllable.cjs.map +1 -0
- package/dist/hooks/use-controllable.d.ts +1 -1
- package/dist/hooks/use-controllable.d.ts.map +1 -0
- package/dist/hooks/use-controllable.js +1 -1
- package/dist/hooks/{useControllable.cjs.map → use-controllable.js.map} +1 -1
- package/dist/hooks/use-exit-animation.cjs +1 -1
- package/dist/hooks/use-exit-animation.cjs.map +1 -0
- package/dist/hooks/use-exit-animation.d.ts +1 -1
- package/dist/hooks/use-exit-animation.d.ts.map +1 -0
- package/dist/hooks/use-exit-animation.js +1 -1
- package/dist/hooks/use-exit-animation.js.map +1 -0
- package/dist/hooks/use-outside-close.cjs +1 -1
- package/dist/hooks/use-outside-close.cjs.map +1 -0
- package/dist/hooks/use-outside-close.d.ts +1 -1
- package/dist/hooks/use-outside-close.d.ts.map +1 -0
- package/dist/hooks/use-outside-close.js +1 -1
- package/dist/hooks/use-outside-close.js.map +1 -0
- package/dist/hooks/use-popover-transition.cjs +1 -1
- package/dist/hooks/use-popover-transition.cjs.map +1 -0
- package/dist/hooks/use-popover-transition.d.ts +1 -1
- package/dist/hooks/use-popover-transition.d.ts.map +1 -0
- package/dist/hooks/use-popover-transition.js +1 -1
- package/dist/hooks/use-popover-transition.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +32 -30
- package/dist/index.d.ts +96 -96
- package/dist/index.js +156 -154
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
- package/dist/hooks/useAnchoredPopupPortal.cjs.map +0 -1
- package/dist/hooks/useAnchoredPopupPortal.d.ts.map +0 -1
- package/dist/hooks/useAnchoredPopupPortal.js.map +0 -1
- package/dist/hooks/useControllable.d.ts.map +0 -1
- package/dist/hooks/useControllable.js.map +0 -1
- package/dist/hooks/useExitAnimation.cjs.map +0 -1
- package/dist/hooks/useExitAnimation.d.ts.map +0 -1
- package/dist/hooks/useExitAnimation.js.map +0 -1
- package/dist/hooks/useOutsideClose.cjs.map +0 -1
- package/dist/hooks/useOutsideClose.d.ts.map +0 -1
- package/dist/hooks/useOutsideClose.js.map +0 -1
- package/dist/hooks/usePopoverTransition.cjs.map +0 -1
- package/dist/hooks/usePopoverTransition.d.ts.map +0 -1
- package/dist/hooks/usePopoverTransition.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItem.cjs","sources":["../../../src/components/thread-list-item/ThreadListItem.tsx"],"sourcesContent":["import DotsHorizontalIcon from '@mattermost/compass-icons/components/dots-horizontal';\nimport { type KeyboardEvent, type MouseEvent, useCallback } from 'react';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Tag from '@/components/tag/Tag';\nimport MentionBadge from '../mention-badge/MentionBadge';\nimport UnreadBadge from '../unread-badge/UnreadBadge';\nimport UserAvatarGroup, {\n type UserAvatarGroupItem,\n} from '../user-avatar-group/UserAvatarGroup';\nimport styles from './ThreadListItem.module.scss';\n\nconst DEFAULT_PARTICIPANTS: UserAvatarGroupItem[] = [\n { key: 'leonard', name: 'Leonard Riley' },\n { key: 'aiko', name: 'Aiko Tan' },\n { key: 'arjun', name: 'Arjun Patel' },\n { key: 'marco', name: 'Marco Rinaldi' },\n { key: 'sofia', name: 'Sofia Bauer' },\n];\n\nexport interface ThreadListItemProps {\n /** Whether this item is the active/selected thread. */\n active?: boolean;\n /** Badge in the left gutter. Default: None. Hidden when `active` is true. */\n badge?: 'none' | 'unread' | 'mention';\n /** Shown when `badge` is Mention. Default: 1. */\n mentionCount?: number;\n /** Author name. */\n authorName?: string;\n /** Channel/team label. */\n channelLabel?: string;\n /** Message preview text. */\n previewText?: string;\n /** Timestamp label. */\n timestamp?: string;\n /** Number of replies. */\n replyCount?: number;\n /** Stacked avatars for recent participants. Pass `[]` to hide. When omitted, uses demo participants. */\n participants?: UserAvatarGroupItem[];\n /** Optional thread title. */\n threadTitle?: string;\n /** Optional CSS class name. */\n className?: string;\n /** Click handler. */\n onClick?: () => void;\n /** Thread overflow menu handler. */\n onMenuClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n}\n\n/**\n * The Thread List Item is a single entry in the Threads view. Each row gives the user enough\n * context — who, where, what, when — to decide whether to open the thread without opening\n * it.\n */\nexport default function ThreadListItem({\n active = false,\n badge = 'none',\n mentionCount = 1,\n authorName = 'Martin Kraft',\n channelLabel = 'ENTERPRISE TEAM',\n previewText = 'Do we have a guideline for what minimum width we should support in the system console? I know that…',\n timestamp = '5 mins ago',\n replyCount = 3,\n participants: participantsProp,\n threadTitle,\n className = '',\n onClick,\n onMenuClick,\n}: ThreadListItemProps) {\n const participants =\n participantsProp === undefined ? DEFAULT_PARTICIPANTS : participantsProp;\n const showParticipants = participants.length > 0;\n const showGutterBadge =\n !active && (badge === 'unread' || badge === 'mention');\n const replyLabel = replyCount === 1 ? '1 reply' : `${replyCount} replies`;\n\n const rootClass = [\n styles['thread-list-item'],\n active ? styles['thread-list-item--active'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (!onClick) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n },\n [onClick],\n );\n\n return (\n <div\n className={rootClass}\n onClick={onClick}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={onClick ? handleKeyDown : undefined}\n >\n <div className={styles['thread-list-item__thread']}>\n <div className={styles['thread-list-item__container']}>\n <div className={styles['thread-list-item__post-content']}>\n <div className={styles['thread-list-item__gutter']}>\n {showGutterBadge && badge === 'unread' && (\n <UnreadBadge\n className={styles['thread-list-item__unread-badge']}\n context=\"icon-button\"\n />\n )}\n {showGutterBadge && badge === 'mention' && (\n <span className={styles['thread-list-item__mention-gutter']}>\n <MentionBadge\n count={mentionCount}\n location=\"channel\"\n size=\"medium\"\n />\n </span>\n )}\n </div>\n <div className={styles['thread-list-item__post-body']}>\n <div className={styles['thread-list-item__post-body-content']}>\n <div className={styles['thread-list-item__name-row']}>\n <div className={styles['thread-list-item__name-group']}>\n <span className={styles['thread-list-item__author']}>\n {authorName}\n </span>\n <Tag\n casing=\"all-caps\"\n label={channelLabel}\n />\n </div>\n <span className={styles['thread-list-item__timestamp']}>\n {timestamp}\n </span>\n </div>\n {threadTitle != null && (\n <div className={styles['thread-list-item__title-row']}>\n <p className={styles['thread-list-item__title']}>\n {threadTitle}\n </p>\n </div>\n )}\n <p className={styles['thread-list-item__preview']}>\n {previewText}\n </p>\n </div>\n </div>\n </div>\n <div className={styles['thread-list-item__replies']}>\n <div className={styles['thread-list-item__replies-inner']}>\n {showParticipants && (\n <UserAvatarGroup\n avatars={participants}\n className={styles['thread-list-item__avatar-group']}\n max={3}\n size=\"20\"\n />\n )}\n <span className={styles['thread-list-item__reply-count']}>\n {replyLabel}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className={styles['thread-list-item__actions']}>\n <span className={styles['thread-list-item__menu-button']}>\n <IconButton\n aria-label=\"Thread actions\"\n icon={<Icon size=\"16\" glyph={<DotsHorizontalIcon />} />}\n padding=\"compact\"\n size=\"small\"\n style=\"default\"\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onMenuClick?.(e);\n }}\n />\n </span>\n </div>\n </div>\n );\n}\n"],"names":["DEFAULT_PARTICIPANTS","ThreadListItem","active","badge","mentionCount","authorName","channelLabel","previewText","timestamp","replyCount","participantsProp","threadTitle","className","onClick","onMenuClick","participants","showParticipants","showGutterBadge","replyLabel","rootClass","styles","handleKeyDown","useCallback","event","jsxs","jsx","UnreadBadge","MentionBadge","Tag","UserAvatarGroup","IconButton","Icon","DotsHorizontalIcon","e"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadListItem.cjs","sources":["../../../src/components/thread-list-item/ThreadListItem.tsx"],"sourcesContent":["import DotsHorizontalIcon from '@mattermost/compass-icons/components/dots-horizontal';\nimport type { KeyboardEvent, MouseEvent } from 'react';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Tag from '@/components/tag/Tag';\nimport MentionBadge from '../mention-badge/MentionBadge';\nimport UnreadBadge from '../unread-badge/UnreadBadge';\nimport UserAvatarGroup, {\n type UserAvatarGroupItem,\n} from '../user-avatar-group/UserAvatarGroup';\nimport styles from './ThreadListItem.module.scss';\n\nconst DEFAULT_PARTICIPANTS: UserAvatarGroupItem[] = [\n { key: 'leonard', name: 'Leonard Riley' },\n { key: 'aiko', name: 'Aiko Tan' },\n { key: 'arjun', name: 'Arjun Patel' },\n { key: 'marco', name: 'Marco Rinaldi' },\n { key: 'sofia', name: 'Sofia Bauer' },\n];\n\nexport interface ThreadListItemProps {\n /** Whether this item is the active/selected thread. */\n active?: boolean;\n /** Badge in the left gutter. Default: None. Hidden when `active` is true. */\n badge?: 'none' | 'unread' | 'mention';\n /** Shown when `badge` is Mention. Default: 1. */\n mentionCount?: number;\n /** Author name. */\n authorName?: string;\n /** Channel/team label. */\n channelLabel?: string;\n /** Message preview text. */\n previewText?: string;\n /** Timestamp label. */\n timestamp?: string;\n /** Number of replies. */\n replyCount?: number;\n /** Stacked avatars for recent participants. Pass `[]` to hide. When omitted, uses demo participants. */\n participants?: UserAvatarGroupItem[];\n /** Optional thread title. */\n threadTitle?: string;\n /** Optional CSS class name. */\n className?: string;\n /** Opens the thread. Sibling of the overflow menu for keyboard reachability. */\n onClick?: () => void;\n /** Thread overflow menu handler. */\n onMenuClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n}\n\n/**\n * The Thread List Item is a single entry in the Threads view. Each row gives the user enough\n * context — who, where, what, when — to decide whether to open the thread without opening\n * it.\n */\nexport default function ThreadListItem({\n active = false,\n badge = 'none',\n mentionCount = 1,\n authorName = 'Martin Kraft',\n channelLabel = 'ENTERPRISE TEAM',\n previewText = 'Do we have a guideline for what minimum width we should support in the system console? I know that…',\n timestamp = '5 mins ago',\n replyCount = 3,\n participants: participantsProp,\n threadTitle,\n className = '',\n onClick,\n onMenuClick,\n}: ThreadListItemProps) {\n const participants =\n participantsProp === undefined ? DEFAULT_PARTICIPANTS : participantsProp;\n const showParticipants = participants.length > 0;\n const showGutterBadge =\n !active && (badge === 'unread' || badge === 'mention');\n const replyLabel = replyCount === 1 ? '1 reply' : `${replyCount} replies`;\n\n const rootClass = [\n styles['thread-list-item'],\n active ? styles['thread-list-item--active'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const statusHint =\n badge === 'mention'\n ? `${mentionCount} mention${mentionCount === 1 ? '' : 's'}`\n : badge === 'unread'\n ? 'unread'\n : undefined;\n\n const handleMainClick = (event: MouseEvent<HTMLDivElement>) => {\n const selection = window.getSelection();\n if (\n selection?.type === 'Range' &&\n selection.toString().length > 0 &&\n event.currentTarget.contains(selection.getRangeAt(0).commonAncestorContainer)\n ) {\n return;\n }\n onClick?.();\n };\n\n const handleMainKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== 'Enter' && event.key !== ' ') {\n return;\n }\n event.preventDefault();\n onClick?.();\n };\n\n return (\n <div className={rootClass}>\n <div\n className={styles['thread-list-item__main']}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onClick={onClick ? handleMainClick : undefined}\n onKeyDown={onClick ? handleMainKeyDown : undefined}\n aria-current={active ? true : undefined}\n >\n <div className={styles['thread-list-item__thread']}>\n <div className={styles['thread-list-item__container']}>\n <div className={styles['thread-list-item__post-content']}>\n <div className={styles['thread-list-item__gutter']}>\n {showGutterBadge && badge === 'unread' && (\n <span\n className={styles['thread-list-item__unread-gutter']}\n aria-hidden\n >\n <UnreadBadge\n className={styles['thread-list-item__unread-badge']}\n context=\"icon-button\"\n />\n </span>\n )}\n {showGutterBadge && badge === 'mention' && (\n <span\n className={styles['thread-list-item__mention-gutter']}\n aria-hidden\n >\n <MentionBadge\n count={mentionCount}\n location=\"channel\"\n size=\"medium\"\n />\n </span>\n )}\n </div>\n <div className={styles['thread-list-item__post-body']}>\n <div className={styles['thread-list-item__post-body-content']}>\n <div className={styles['thread-list-item__name-row']}>\n <div className={styles['thread-list-item__name-group']}>\n <span className={styles['thread-list-item__author']}>\n {authorName}\n </span>\n <Tag casing=\"all-caps\" label={channelLabel} />\n {statusHint && (\n <span\n className={styles['thread-list-item__status-hint']}\n >\n {statusHint}\n </span>\n )}\n </div>\n <span className={styles['thread-list-item__timestamp']}>\n {timestamp}\n </span>\n </div>\n {threadTitle != null && (\n <div className={styles['thread-list-item__title-row']}>\n <p className={styles['thread-list-item__title']}>\n {threadTitle}\n </p>\n </div>\n )}\n <p className={styles['thread-list-item__preview']}>\n {previewText}\n </p>\n </div>\n </div>\n </div>\n <div className={styles['thread-list-item__replies']}>\n <div className={styles['thread-list-item__replies-inner']}>\n {showParticipants && (\n <UserAvatarGroup\n avatars={participants}\n className={styles['thread-list-item__avatar-group']}\n max={3}\n size=\"20\"\n />\n )}\n <span className={styles['thread-list-item__reply-count']}>\n {replyLabel}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {onMenuClick && (\n <div className={styles['thread-list-item__actions']}>\n <span className={styles['thread-list-item__menu-button']}>\n <IconButton\n aria-label=\"Thread actions\"\n icon={<Icon size=\"16\" glyph={<DotsHorizontalIcon />} />}\n padding=\"compact\"\n size=\"small\"\n style=\"default\"\n type=\"button\"\n onClick={(event) => {\n event.stopPropagation();\n onMenuClick(event);\n }}\n />\n </span>\n </div>\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_PARTICIPANTS","ThreadListItem","active","badge","mentionCount","authorName","channelLabel","previewText","timestamp","replyCount","participantsProp","threadTitle","className","onClick","onMenuClick","participants","showParticipants","showGutterBadge","replyLabel","rootClass","styles","statusHint","handleMainClick","event","selection","handleMainKeyDown","jsxs","jsx","UnreadBadge","MentionBadge","Tag","UserAvatarGroup","IconButton","Icon","DotsHorizontalIcon"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MouseEvent } from 'react';
|
|
2
|
-
import { UserAvatarGroupItem } from '../
|
|
2
|
+
import { UserAvatarGroupItem } from '../user-avatar-group/UserAvatarGroup';
|
|
3
3
|
export interface ThreadListItemProps {
|
|
4
4
|
/** Whether this item is the active/selected thread. */
|
|
5
5
|
active?: boolean;
|
|
@@ -23,7 +23,7 @@ export interface ThreadListItemProps {
|
|
|
23
23
|
threadTitle?: string;
|
|
24
24
|
/** Optional CSS class name. */
|
|
25
25
|
className?: string;
|
|
26
|
-
/**
|
|
26
|
+
/** Opens the thread. Sibling of the overflow menu for keyboard reachability. */
|
|
27
27
|
onClick?: () => void;
|
|
28
28
|
/** Thread overflow menu handler. */
|
|
29
29
|
onMenuClick?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItem.d.ts","sourceRoot":"","sources":["../../../src/components/thread-list-item/ThreadListItem.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"ThreadListItem.d.ts","sourceRoot":"","sources":["../../../src/components/thread-list-item/ThreadListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,OAAO,CAAC;AAMvD,OAAwB,EACtB,KAAK,mBAAmB,EACzB,MAAM,oCAAoC,CAAC;AAW5C,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC9D;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAc,EACd,KAAc,EACd,YAAgB,EAChB,UAA2B,EAC3B,YAAgC,EAChC,WAAmH,EACnH,SAAwB,EACxB,UAAc,EACd,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EACX,SAAc,EACd,OAAO,EACP,WAAW,GACZ,EAAE,mBAAmB,2CAwJrB"}
|
|
@@ -1,123 +1,138 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import j from "../user-avatar-group/UserAvatarGroup.js";
|
|
1
|
+
import { jsxs as s, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import __b from "@mattermost/compass-icons/components/dots-horizontal.js";const b=__b&&__b.default?__b.default:__b;
|
|
3
|
+
import x from "../icon/Icon.js";
|
|
4
|
+
import B from "../icon-button/IconButton.js";
|
|
5
|
+
import D from "../tag/Tag.js";
|
|
6
|
+
import E from "../mention-badge/MentionBadge.js";
|
|
7
|
+
import j from "../unread-badge/UnreadBadge.js";
|
|
8
|
+
import z from "../user-avatar-group/UserAvatarGroup.js";
|
|
10
9
|
import e from "./ThreadListItem.module.scss.js";
|
|
11
|
-
const
|
|
10
|
+
const M = [
|
|
12
11
|
{ key: "leonard", name: "Leonard Riley" },
|
|
13
12
|
{ key: "aiko", name: "Aiko Tan" },
|
|
14
13
|
{ key: "arjun", name: "Arjun Patel" },
|
|
15
14
|
{ key: "marco", name: "Marco Rinaldi" },
|
|
16
15
|
{ key: "sofia", name: "Sofia Bauer" }
|
|
17
16
|
];
|
|
18
|
-
function
|
|
19
|
-
active:
|
|
17
|
+
function q({
|
|
18
|
+
active: l = !1,
|
|
20
19
|
badge: r = "none",
|
|
21
|
-
mentionCount:
|
|
22
|
-
authorName:
|
|
23
|
-
channelLabel:
|
|
24
|
-
previewText:
|
|
25
|
-
timestamp:
|
|
20
|
+
mentionCount: d = 1,
|
|
21
|
+
authorName: N = "Martin Kraft",
|
|
22
|
+
channelLabel: v = "ENTERPRISE TEAM",
|
|
23
|
+
previewText: f = "Do we have a guideline for what minimum width we should support in the system console? I know that…",
|
|
24
|
+
timestamp: y = "5 mins ago",
|
|
26
25
|
replyCount: o = 3,
|
|
27
26
|
participants: m,
|
|
28
|
-
threadTitle:
|
|
29
|
-
className:
|
|
30
|
-
onClick:
|
|
31
|
-
onMenuClick:
|
|
27
|
+
threadTitle: c,
|
|
28
|
+
className: g = "",
|
|
29
|
+
onClick: a,
|
|
30
|
+
onMenuClick: h
|
|
32
31
|
}) {
|
|
33
|
-
const
|
|
32
|
+
const _ = m === void 0 ? M : m, w = _.length > 0, p = !l && (r === "unread" || r === "mention"), A = o === 1 ? "1 reply" : `${o} replies`, I = [
|
|
34
33
|
e["thread-list-item"],
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
].filter(Boolean).join(" "),
|
|
38
|
-
(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return /* @__PURE__ */
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
34
|
+
l ? e["thread-list-item--active"] : "",
|
|
35
|
+
g
|
|
36
|
+
].filter(Boolean).join(" "), u = r === "mention" ? `${d} mention${d === 1 ? "" : "s"}` : r === "unread" ? "unread" : void 0, T = (i) => {
|
|
37
|
+
const n = window.getSelection();
|
|
38
|
+
(n == null ? void 0 : n.type) === "Range" && n.toString().length > 0 && i.currentTarget.contains(n.getRangeAt(0).commonAncestorContainer) || a == null || a();
|
|
39
|
+
}, R = (i) => {
|
|
40
|
+
i.key !== "Enter" && i.key !== " " || (i.preventDefault(), a == null || a());
|
|
41
|
+
};
|
|
42
|
+
return /* @__PURE__ */ s("div", { className: I, children: [
|
|
43
|
+
/* @__PURE__ */ t(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: e["thread-list-item__main"],
|
|
47
|
+
role: a ? "button" : void 0,
|
|
48
|
+
tabIndex: a ? 0 : void 0,
|
|
49
|
+
onClick: a ? T : void 0,
|
|
50
|
+
onKeyDown: a ? R : void 0,
|
|
51
|
+
"aria-current": l ? !0 : void 0,
|
|
52
|
+
children: /* @__PURE__ */ t("div", { className: e["thread-list-item__thread"], children: /* @__PURE__ */ s("div", { className: e["thread-list-item__container"], children: [
|
|
53
|
+
/* @__PURE__ */ s("div", { className: e["thread-list-item__post-content"], children: [
|
|
54
|
+
/* @__PURE__ */ s("div", { className: e["thread-list-item__gutter"], children: [
|
|
55
|
+
p && r === "unread" && /* @__PURE__ */ t(
|
|
56
|
+
"span",
|
|
57
57
|
{
|
|
58
|
-
className: e["thread-list-item__unread-
|
|
59
|
-
|
|
58
|
+
className: e["thread-list-item__unread-gutter"],
|
|
59
|
+
"aria-hidden": !0,
|
|
60
|
+
children: /* @__PURE__ */ t(
|
|
61
|
+
j,
|
|
62
|
+
{
|
|
63
|
+
className: e["thread-list-item__unread-badge"],
|
|
64
|
+
context: "icon-button"
|
|
65
|
+
}
|
|
66
|
+
)
|
|
60
67
|
}
|
|
61
68
|
),
|
|
62
|
-
|
|
63
|
-
|
|
69
|
+
p && r === "mention" && /* @__PURE__ */ t(
|
|
70
|
+
"span",
|
|
64
71
|
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
className: e["thread-list-item__mention-gutter"],
|
|
73
|
+
"aria-hidden": !0,
|
|
74
|
+
children: /* @__PURE__ */ t(
|
|
75
|
+
E,
|
|
76
|
+
{
|
|
77
|
+
count: d,
|
|
78
|
+
location: "channel",
|
|
79
|
+
size: "medium"
|
|
80
|
+
}
|
|
81
|
+
)
|
|
68
82
|
}
|
|
69
|
-
)
|
|
83
|
+
)
|
|
70
84
|
] }),
|
|
71
|
-
/* @__PURE__ */ t("div", { className: e["thread-list-item__post-body"], children: /* @__PURE__ */
|
|
72
|
-
/* @__PURE__ */
|
|
73
|
-
/* @__PURE__ */
|
|
74
|
-
/* @__PURE__ */ t("span", { className: e["thread-list-item__author"], children:
|
|
75
|
-
/* @__PURE__ */ t(
|
|
76
|
-
|
|
85
|
+
/* @__PURE__ */ t("div", { className: e["thread-list-item__post-body"], children: /* @__PURE__ */ s("div", { className: e["thread-list-item__post-body-content"], children: [
|
|
86
|
+
/* @__PURE__ */ s("div", { className: e["thread-list-item__name-row"], children: [
|
|
87
|
+
/* @__PURE__ */ s("div", { className: e["thread-list-item__name-group"], children: [
|
|
88
|
+
/* @__PURE__ */ t("span", { className: e["thread-list-item__author"], children: N }),
|
|
89
|
+
/* @__PURE__ */ t(D, { casing: "all-caps", label: v }),
|
|
90
|
+
u && /* @__PURE__ */ t(
|
|
91
|
+
"span",
|
|
77
92
|
{
|
|
78
|
-
|
|
79
|
-
|
|
93
|
+
className: e["thread-list-item__status-hint"],
|
|
94
|
+
children: u
|
|
80
95
|
}
|
|
81
96
|
)
|
|
82
97
|
] }),
|
|
83
|
-
/* @__PURE__ */ t("span", { className: e["thread-list-item__timestamp"], children:
|
|
98
|
+
/* @__PURE__ */ t("span", { className: e["thread-list-item__timestamp"], children: y })
|
|
84
99
|
] }),
|
|
85
|
-
|
|
86
|
-
/* @__PURE__ */ t("p", { className: e["thread-list-item__preview"], children:
|
|
100
|
+
c != null && /* @__PURE__ */ t("div", { className: e["thread-list-item__title-row"], children: /* @__PURE__ */ t("p", { className: e["thread-list-item__title"], children: c }) }),
|
|
101
|
+
/* @__PURE__ */ t("p", { className: e["thread-list-item__preview"], children: f })
|
|
87
102
|
] }) })
|
|
88
103
|
] }),
|
|
89
|
-
/* @__PURE__ */ t("div", { className: e["thread-list-item__replies"], children: /* @__PURE__ */
|
|
90
|
-
|
|
91
|
-
|
|
104
|
+
/* @__PURE__ */ t("div", { className: e["thread-list-item__replies"], children: /* @__PURE__ */ s("div", { className: e["thread-list-item__replies-inner"], children: [
|
|
105
|
+
w && /* @__PURE__ */ t(
|
|
106
|
+
z,
|
|
92
107
|
{
|
|
93
|
-
avatars:
|
|
108
|
+
avatars: _,
|
|
94
109
|
className: e["thread-list-item__avatar-group"],
|
|
95
110
|
max: 3,
|
|
96
111
|
size: "20"
|
|
97
112
|
}
|
|
98
113
|
),
|
|
99
|
-
/* @__PURE__ */ t("span", { className: e["thread-list-item__reply-count"], children:
|
|
114
|
+
/* @__PURE__ */ t("span", { className: e["thread-list-item__reply-count"], children: A })
|
|
100
115
|
] }) })
|
|
101
|
-
] }) })
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
);
|
|
116
|
+
] }) })
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
h && /* @__PURE__ */ t("div", { className: e["thread-list-item__actions"], children: /* @__PURE__ */ t("span", { className: e["thread-list-item__menu-button"], children: /* @__PURE__ */ t(
|
|
120
|
+
B,
|
|
121
|
+
{
|
|
122
|
+
"aria-label": "Thread actions",
|
|
123
|
+
icon: /* @__PURE__ */ t(x, { size: "16", glyph: /* @__PURE__ */ t(b, {}) }),
|
|
124
|
+
padding: "compact",
|
|
125
|
+
size: "small",
|
|
126
|
+
style: "default",
|
|
127
|
+
type: "button",
|
|
128
|
+
onClick: (i) => {
|
|
129
|
+
i.stopPropagation(), h(i);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
) }) })
|
|
133
|
+
] });
|
|
119
134
|
}
|
|
120
135
|
export {
|
|
121
|
-
|
|
136
|
+
q as default
|
|
122
137
|
};
|
|
123
138
|
//# sourceMappingURL=ThreadListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItem.js","sources":["../../../src/components/thread-list-item/ThreadListItem.tsx"],"sourcesContent":["import DotsHorizontalIcon from '@mattermost/compass-icons/components/dots-horizontal';\nimport { type KeyboardEvent, type MouseEvent, useCallback } from 'react';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Tag from '@/components/tag/Tag';\nimport MentionBadge from '../mention-badge/MentionBadge';\nimport UnreadBadge from '../unread-badge/UnreadBadge';\nimport UserAvatarGroup, {\n type UserAvatarGroupItem,\n} from '../user-avatar-group/UserAvatarGroup';\nimport styles from './ThreadListItem.module.scss';\n\nconst DEFAULT_PARTICIPANTS: UserAvatarGroupItem[] = [\n { key: 'leonard', name: 'Leonard Riley' },\n { key: 'aiko', name: 'Aiko Tan' },\n { key: 'arjun', name: 'Arjun Patel' },\n { key: 'marco', name: 'Marco Rinaldi' },\n { key: 'sofia', name: 'Sofia Bauer' },\n];\n\nexport interface ThreadListItemProps {\n /** Whether this item is the active/selected thread. */\n active?: boolean;\n /** Badge in the left gutter. Default: None. Hidden when `active` is true. */\n badge?: 'none' | 'unread' | 'mention';\n /** Shown when `badge` is Mention. Default: 1. */\n mentionCount?: number;\n /** Author name. */\n authorName?: string;\n /** Channel/team label. */\n channelLabel?: string;\n /** Message preview text. */\n previewText?: string;\n /** Timestamp label. */\n timestamp?: string;\n /** Number of replies. */\n replyCount?: number;\n /** Stacked avatars for recent participants. Pass `[]` to hide. When omitted, uses demo participants. */\n participants?: UserAvatarGroupItem[];\n /** Optional thread title. */\n threadTitle?: string;\n /** Optional CSS class name. */\n className?: string;\n /** Click handler. */\n onClick?: () => void;\n /** Thread overflow menu handler. */\n onMenuClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n}\n\n/**\n * The Thread List Item is a single entry in the Threads view. Each row gives the user enough\n * context — who, where, what, when — to decide whether to open the thread without opening\n * it.\n */\nexport default function ThreadListItem({\n active = false,\n badge = 'none',\n mentionCount = 1,\n authorName = 'Martin Kraft',\n channelLabel = 'ENTERPRISE TEAM',\n previewText = 'Do we have a guideline for what minimum width we should support in the system console? I know that…',\n timestamp = '5 mins ago',\n replyCount = 3,\n participants: participantsProp,\n threadTitle,\n className = '',\n onClick,\n onMenuClick,\n}: ThreadListItemProps) {\n const participants =\n participantsProp === undefined ? DEFAULT_PARTICIPANTS : participantsProp;\n const showParticipants = participants.length > 0;\n const showGutterBadge =\n !active && (badge === 'unread' || badge === 'mention');\n const replyLabel = replyCount === 1 ? '1 reply' : `${replyCount} replies`;\n\n const rootClass = [\n styles['thread-list-item'],\n active ? styles['thread-list-item--active'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (!onClick) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n },\n [onClick],\n );\n\n return (\n <div\n className={rootClass}\n onClick={onClick}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={onClick ? handleKeyDown : undefined}\n >\n <div className={styles['thread-list-item__thread']}>\n <div className={styles['thread-list-item__container']}>\n <div className={styles['thread-list-item__post-content']}>\n <div className={styles['thread-list-item__gutter']}>\n {showGutterBadge && badge === 'unread' && (\n <UnreadBadge\n className={styles['thread-list-item__unread-badge']}\n context=\"icon-button\"\n />\n )}\n {showGutterBadge && badge === 'mention' && (\n <span className={styles['thread-list-item__mention-gutter']}>\n <MentionBadge\n count={mentionCount}\n location=\"channel\"\n size=\"medium\"\n />\n </span>\n )}\n </div>\n <div className={styles['thread-list-item__post-body']}>\n <div className={styles['thread-list-item__post-body-content']}>\n <div className={styles['thread-list-item__name-row']}>\n <div className={styles['thread-list-item__name-group']}>\n <span className={styles['thread-list-item__author']}>\n {authorName}\n </span>\n <Tag\n casing=\"all-caps\"\n label={channelLabel}\n />\n </div>\n <span className={styles['thread-list-item__timestamp']}>\n {timestamp}\n </span>\n </div>\n {threadTitle != null && (\n <div className={styles['thread-list-item__title-row']}>\n <p className={styles['thread-list-item__title']}>\n {threadTitle}\n </p>\n </div>\n )}\n <p className={styles['thread-list-item__preview']}>\n {previewText}\n </p>\n </div>\n </div>\n </div>\n <div className={styles['thread-list-item__replies']}>\n <div className={styles['thread-list-item__replies-inner']}>\n {showParticipants && (\n <UserAvatarGroup\n avatars={participants}\n className={styles['thread-list-item__avatar-group']}\n max={3}\n size=\"20\"\n />\n )}\n <span className={styles['thread-list-item__reply-count']}>\n {replyLabel}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className={styles['thread-list-item__actions']}>\n <span className={styles['thread-list-item__menu-button']}>\n <IconButton\n aria-label=\"Thread actions\"\n icon={<Icon size=\"16\" glyph={<DotsHorizontalIcon />} />}\n padding=\"compact\"\n size=\"small\"\n style=\"default\"\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onMenuClick?.(e);\n }}\n />\n </span>\n </div>\n </div>\n );\n}\n"],"names":["DEFAULT_PARTICIPANTS","ThreadListItem","active","badge","mentionCount","authorName","channelLabel","previewText","timestamp","replyCount","participantsProp","threadTitle","className","onClick","onMenuClick","participants","showParticipants","showGutterBadge","replyLabel","rootClass","styles","handleKeyDown","useCallback","event","jsxs","jsx","UnreadBadge","MentionBadge","Tag","UserAvatarGroup","IconButton","Icon","DotsHorizontalIcon","e"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadListItem.js","sources":["../../../src/components/thread-list-item/ThreadListItem.tsx"],"sourcesContent":["import DotsHorizontalIcon from '@mattermost/compass-icons/components/dots-horizontal';\nimport type { KeyboardEvent, MouseEvent } from 'react';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Tag from '@/components/tag/Tag';\nimport MentionBadge from '../mention-badge/MentionBadge';\nimport UnreadBadge from '../unread-badge/UnreadBadge';\nimport UserAvatarGroup, {\n type UserAvatarGroupItem,\n} from '../user-avatar-group/UserAvatarGroup';\nimport styles from './ThreadListItem.module.scss';\n\nconst DEFAULT_PARTICIPANTS: UserAvatarGroupItem[] = [\n { key: 'leonard', name: 'Leonard Riley' },\n { key: 'aiko', name: 'Aiko Tan' },\n { key: 'arjun', name: 'Arjun Patel' },\n { key: 'marco', name: 'Marco Rinaldi' },\n { key: 'sofia', name: 'Sofia Bauer' },\n];\n\nexport interface ThreadListItemProps {\n /** Whether this item is the active/selected thread. */\n active?: boolean;\n /** Badge in the left gutter. Default: None. Hidden when `active` is true. */\n badge?: 'none' | 'unread' | 'mention';\n /** Shown when `badge` is Mention. Default: 1. */\n mentionCount?: number;\n /** Author name. */\n authorName?: string;\n /** Channel/team label. */\n channelLabel?: string;\n /** Message preview text. */\n previewText?: string;\n /** Timestamp label. */\n timestamp?: string;\n /** Number of replies. */\n replyCount?: number;\n /** Stacked avatars for recent participants. Pass `[]` to hide. When omitted, uses demo participants. */\n participants?: UserAvatarGroupItem[];\n /** Optional thread title. */\n threadTitle?: string;\n /** Optional CSS class name. */\n className?: string;\n /** Opens the thread. Sibling of the overflow menu for keyboard reachability. */\n onClick?: () => void;\n /** Thread overflow menu handler. */\n onMenuClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n}\n\n/**\n * The Thread List Item is a single entry in the Threads view. Each row gives the user enough\n * context — who, where, what, when — to decide whether to open the thread without opening\n * it.\n */\nexport default function ThreadListItem({\n active = false,\n badge = 'none',\n mentionCount = 1,\n authorName = 'Martin Kraft',\n channelLabel = 'ENTERPRISE TEAM',\n previewText = 'Do we have a guideline for what minimum width we should support in the system console? I know that…',\n timestamp = '5 mins ago',\n replyCount = 3,\n participants: participantsProp,\n threadTitle,\n className = '',\n onClick,\n onMenuClick,\n}: ThreadListItemProps) {\n const participants =\n participantsProp === undefined ? DEFAULT_PARTICIPANTS : participantsProp;\n const showParticipants = participants.length > 0;\n const showGutterBadge =\n !active && (badge === 'unread' || badge === 'mention');\n const replyLabel = replyCount === 1 ? '1 reply' : `${replyCount} replies`;\n\n const rootClass = [\n styles['thread-list-item'],\n active ? styles['thread-list-item--active'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const statusHint =\n badge === 'mention'\n ? `${mentionCount} mention${mentionCount === 1 ? '' : 's'}`\n : badge === 'unread'\n ? 'unread'\n : undefined;\n\n const handleMainClick = (event: MouseEvent<HTMLDivElement>) => {\n const selection = window.getSelection();\n if (\n selection?.type === 'Range' &&\n selection.toString().length > 0 &&\n event.currentTarget.contains(selection.getRangeAt(0).commonAncestorContainer)\n ) {\n return;\n }\n onClick?.();\n };\n\n const handleMainKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== 'Enter' && event.key !== ' ') {\n return;\n }\n event.preventDefault();\n onClick?.();\n };\n\n return (\n <div className={rootClass}>\n <div\n className={styles['thread-list-item__main']}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n onClick={onClick ? handleMainClick : undefined}\n onKeyDown={onClick ? handleMainKeyDown : undefined}\n aria-current={active ? true : undefined}\n >\n <div className={styles['thread-list-item__thread']}>\n <div className={styles['thread-list-item__container']}>\n <div className={styles['thread-list-item__post-content']}>\n <div className={styles['thread-list-item__gutter']}>\n {showGutterBadge && badge === 'unread' && (\n <span\n className={styles['thread-list-item__unread-gutter']}\n aria-hidden\n >\n <UnreadBadge\n className={styles['thread-list-item__unread-badge']}\n context=\"icon-button\"\n />\n </span>\n )}\n {showGutterBadge && badge === 'mention' && (\n <span\n className={styles['thread-list-item__mention-gutter']}\n aria-hidden\n >\n <MentionBadge\n count={mentionCount}\n location=\"channel\"\n size=\"medium\"\n />\n </span>\n )}\n </div>\n <div className={styles['thread-list-item__post-body']}>\n <div className={styles['thread-list-item__post-body-content']}>\n <div className={styles['thread-list-item__name-row']}>\n <div className={styles['thread-list-item__name-group']}>\n <span className={styles['thread-list-item__author']}>\n {authorName}\n </span>\n <Tag casing=\"all-caps\" label={channelLabel} />\n {statusHint && (\n <span\n className={styles['thread-list-item__status-hint']}\n >\n {statusHint}\n </span>\n )}\n </div>\n <span className={styles['thread-list-item__timestamp']}>\n {timestamp}\n </span>\n </div>\n {threadTitle != null && (\n <div className={styles['thread-list-item__title-row']}>\n <p className={styles['thread-list-item__title']}>\n {threadTitle}\n </p>\n </div>\n )}\n <p className={styles['thread-list-item__preview']}>\n {previewText}\n </p>\n </div>\n </div>\n </div>\n <div className={styles['thread-list-item__replies']}>\n <div className={styles['thread-list-item__replies-inner']}>\n {showParticipants && (\n <UserAvatarGroup\n avatars={participants}\n className={styles['thread-list-item__avatar-group']}\n max={3}\n size=\"20\"\n />\n )}\n <span className={styles['thread-list-item__reply-count']}>\n {replyLabel}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {onMenuClick && (\n <div className={styles['thread-list-item__actions']}>\n <span className={styles['thread-list-item__menu-button']}>\n <IconButton\n aria-label=\"Thread actions\"\n icon={<Icon size=\"16\" glyph={<DotsHorizontalIcon />} />}\n padding=\"compact\"\n size=\"small\"\n style=\"default\"\n type=\"button\"\n onClick={(event) => {\n event.stopPropagation();\n onMenuClick(event);\n }}\n />\n </span>\n </div>\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_PARTICIPANTS","ThreadListItem","active","badge","mentionCount","authorName","channelLabel","previewText","timestamp","replyCount","participantsProp","threadTitle","className","onClick","onMenuClick","participants","showParticipants","showGutterBadge","replyLabel","rootClass","styles","statusHint","handleMainClick","event","selection","handleMainKeyDown","jsxs","jsx","UnreadBadge","MentionBadge","Tag","UserAvatarGroup","IconButton","Icon","DotsHorizontalIcon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._thread-list-
|
|
1
|
+
._thread-list-item_5rzhy_2{position:relative;display:flex;flex-direction:column;align-items:flex-end;background-color:var(--center-channel-bg);border-bottom:1px solid rgba(var(--center-channel-color-rgb),.08)}._thread-list-item__actions_5rzhy_10{position:absolute;top:var(--spacing-m);right:var(--spacing-m);z-index:2}._thread-list-item_5rzhy_2:hover ._thread-list-item__timestamp_5rzhy_16,._thread-list-item_5rzhy_2:focus-within ._thread-list-item__timestamp_5rzhy_16{visibility:hidden}._thread-list-item__menu-button_5rzhy_19{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-quick) var(--ease-transition)}._thread-list-item_5rzhy_2:hover ._thread-list-item__menu-button_5rzhy_19,._thread-list-item_5rzhy_2:focus-within ._thread-list-item__menu-button_5rzhy_19{opacity:1;pointer-events:auto}._thread-list-item_5rzhy_2:not(:hover):not(:focus-within) ._thread-list-item__menu-button_5rzhy_19{pointer-events:none}._thread-list-item_5rzhy_2:hover:not(._thread-list-item--active_5rzhy_33),._thread-list-item_5rzhy_2:focus-within:not(._thread-list-item--active_5rzhy_33){background-color:rgba(var(--center-channel-color-rgb),.04)}._thread-list-item__main_5rzhy_36{position:relative;z-index:0;display:flex;flex-direction:column;align-items:flex-end;width:100%;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left;-webkit-user-select:text;user-select:text}._thread-list-item__main_5rzhy_36:focus{outline:none}._thread-list-item__main_5rzhy_36:focus-visible{box-shadow:inset 0 0 0 2px rgba(var(--center-channel-color-rgb),.32)}._thread-list-item--active_5rzhy_33{background-color:rgba(var(--button-bg-rgb),.04)}._thread-list-item--active_5rzhy_33:hover,._thread-list-item--active_5rzhy_33:focus-within{background-color:rgba(var(--button-bg-rgb),.08)}._thread-list-item__thread_5rzhy_62{display:flex;flex-direction:column;align-items:flex-start;padding:var(--spacing-l);width:100%}._thread-list-item__container_5rzhy_69{display:flex;flex-direction:column;gap:var(--spacing-s);align-items:flex-start;border-radius:var(--radius-s);width:100%}._thread-list-item__post-content_5rzhy_77{display:flex;gap:var(--spacing-xxxxs, 4px);align-items:flex-start;width:100%}._thread-list-item__gutter_5rzhy_83{position:relative;flex-shrink:0;width:8px;min-height:21px;display:flex;align-items:flex-start;justify-content:flex-start}._thread-list-item__unread-gutter_5rzhy_92{position:absolute;top:var(--spacing-xxs);left:-4px;display:flex;align-items:center;justify-content:center}._thread-list-item__unread-badge_5rzhy_100{position:static}._thread-list-item__mention-gutter_5rzhy_103{position:absolute;top:1px;left:-12px;display:flex;align-items:center;justify-content:center}._thread-list-item__post-body_5rzhy_111{display:flex;flex-direction:column;flex:1 0 0;align-items:flex-start;min-width:0}._thread-list-item__post-body-content_5rzhy_118{display:flex;flex-direction:column;gap:var(--spacing-xxxxs, 4px);align-items:flex-start;width:100%}._thread-list-item__name-row_5rzhy_125{position:relative;height:20px;width:100%;display:flex;align-items:center;justify-content:space-between;overflow:hidden}._thread-list-item__name-group_5rzhy_134{display:flex;gap:var(--spacing-xs);align-items:center;overflow:hidden}._thread-list-item__author_5rzhy_140{font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);line-height:var(--line-height-100);color:var(--center-channel-color);white-space:nowrap;flex-shrink:0}._thread-list-item__status-hint_5rzhy_148{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}._thread-list-item__timestamp_5rzhy_16{font-size:var(--font-size-75);font-weight:var(--font-weight-regular);line-height:var(--line-height-25);color:rgba(var(--center-channel-color-rgb),.64);white-space:nowrap;flex-shrink:0}._thread-list-item__title-row_5rzhy_167{display:flex;align-items:center;width:100%}._thread-list-item__title_5rzhy_167{flex:1 0 0;font-size:var(--font-size-200);font-weight:var(--font-weight-semibold);line-height:var(--line-height-200);color:var(--center-channel-color);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}._thread-list-item__preview_5rzhy_183{font-size:var(--font-size-100);font-weight:var(--font-weight-regular);line-height:var(--line-height-100);color:var(--center-channel-color);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%}._thread-list-item__replies_5rzhy_194{display:flex;flex-direction:column;align-items:flex-start;padding-left:var(--spacing-m)}._thread-list-item__replies-inner_5rzhy_200{display:flex;align-items:center;gap:var(--spacing-xxxxs, 4px);min-height:24px;border-radius:var(--radius-s)}._thread-list-item__avatar-group_5rzhy_207{flex-shrink:0}._thread-list-item__reply-count_5rzhy_210{font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:var(--line-height-25);color:rgba(var(--center-channel-color-rgb),.64);padding:4.5px var(--spacing-s)}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ThreadListItem.module.css');const t={"thread-list-item":"_thread-list-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ThreadListItem.module.css');const t={"thread-list-item":"_thread-list-item_5rzhy_2","thread-list-item__actions":"_thread-list-item__actions_5rzhy_10","thread-list-item__timestamp":"_thread-list-item__timestamp_5rzhy_16","thread-list-item__menu-button":"_thread-list-item__menu-button_5rzhy_19","thread-list-item--active":"_thread-list-item--active_5rzhy_33","thread-list-item__main":"_thread-list-item__main_5rzhy_36","thread-list-item__thread":"_thread-list-item__thread_5rzhy_62","thread-list-item__container":"_thread-list-item__container_5rzhy_69","thread-list-item__post-content":"_thread-list-item__post-content_5rzhy_77","thread-list-item__gutter":"_thread-list-item__gutter_5rzhy_83","thread-list-item__unread-gutter":"_thread-list-item__unread-gutter_5rzhy_92","thread-list-item__unread-badge":"_thread-list-item__unread-badge_5rzhy_100","thread-list-item__mention-gutter":"_thread-list-item__mention-gutter_5rzhy_103","thread-list-item__post-body":"_thread-list-item__post-body_5rzhy_111","thread-list-item__post-body-content":"_thread-list-item__post-body-content_5rzhy_118","thread-list-item__name-row":"_thread-list-item__name-row_5rzhy_125","thread-list-item__name-group":"_thread-list-item__name-group_5rzhy_134","thread-list-item__author":"_thread-list-item__author_5rzhy_140","thread-list-item__status-hint":"_thread-list-item__status-hint_5rzhy_148","thread-list-item__title-row":"_thread-list-item__title-row_5rzhy_167","thread-list-item__title":"_thread-list-item__title_5rzhy_167","thread-list-item__preview":"_thread-list-item__preview_5rzhy_183","thread-list-item__replies":"_thread-list-item__replies_5rzhy_194","thread-list-item__replies-inner":"_thread-list-item__replies-inner_5rzhy_200","thread-list-item__avatar-group":"_thread-list-item__avatar-group_5rzhy_207","thread-list-item__reply-count":"_thread-list-item__reply-count_5rzhy_210"};exports.default=t;
|
|
2
2
|
//# sourceMappingURL=ThreadListItem.module.scss.cjs.map
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
import './ThreadListItem.module.css';const t = {
|
|
2
|
-
"thread-list-item": "_thread-list-
|
|
3
|
-
"thread-list-
|
|
4
|
-
"thread-list-item__timestamp": "_thread-list-
|
|
5
|
-
"thread-list-
|
|
6
|
-
"thread-list-
|
|
7
|
-
"thread-list-
|
|
8
|
-
"thread-list-
|
|
9
|
-
"thread-list-
|
|
10
|
-
"thread-list-
|
|
11
|
-
"thread-list-
|
|
12
|
-
"thread-list-
|
|
13
|
-
"thread-list-
|
|
14
|
-
"thread-list-
|
|
15
|
-
"thread-list-
|
|
16
|
-
"thread-list-
|
|
17
|
-
"thread-list-
|
|
18
|
-
"thread-list-
|
|
19
|
-
"thread-list-
|
|
20
|
-
"thread-list-
|
|
21
|
-
"thread-list-
|
|
22
|
-
"thread-list-
|
|
23
|
-
"thread-list-
|
|
24
|
-
"thread-list-
|
|
2
|
+
"thread-list-item": "_thread-list-item_5rzhy_2",
|
|
3
|
+
"thread-list-item__actions": "_thread-list-item__actions_5rzhy_10",
|
|
4
|
+
"thread-list-item__timestamp": "_thread-list-item__timestamp_5rzhy_16",
|
|
5
|
+
"thread-list-item__menu-button": "_thread-list-item__menu-button_5rzhy_19",
|
|
6
|
+
"thread-list-item--active": "_thread-list-item--active_5rzhy_33",
|
|
7
|
+
"thread-list-item__main": "_thread-list-item__main_5rzhy_36",
|
|
8
|
+
"thread-list-item__thread": "_thread-list-item__thread_5rzhy_62",
|
|
9
|
+
"thread-list-item__container": "_thread-list-item__container_5rzhy_69",
|
|
10
|
+
"thread-list-item__post-content": "_thread-list-item__post-content_5rzhy_77",
|
|
11
|
+
"thread-list-item__gutter": "_thread-list-item__gutter_5rzhy_83",
|
|
12
|
+
"thread-list-item__unread-gutter": "_thread-list-item__unread-gutter_5rzhy_92",
|
|
13
|
+
"thread-list-item__unread-badge": "_thread-list-item__unread-badge_5rzhy_100",
|
|
14
|
+
"thread-list-item__mention-gutter": "_thread-list-item__mention-gutter_5rzhy_103",
|
|
15
|
+
"thread-list-item__post-body": "_thread-list-item__post-body_5rzhy_111",
|
|
16
|
+
"thread-list-item__post-body-content": "_thread-list-item__post-body-content_5rzhy_118",
|
|
17
|
+
"thread-list-item__name-row": "_thread-list-item__name-row_5rzhy_125",
|
|
18
|
+
"thread-list-item__name-group": "_thread-list-item__name-group_5rzhy_134",
|
|
19
|
+
"thread-list-item__author": "_thread-list-item__author_5rzhy_140",
|
|
20
|
+
"thread-list-item__status-hint": "_thread-list-item__status-hint_5rzhy_148",
|
|
21
|
+
"thread-list-item__title-row": "_thread-list-item__title-row_5rzhy_167",
|
|
22
|
+
"thread-list-item__title": "_thread-list-item__title_5rzhy_167",
|
|
23
|
+
"thread-list-item__preview": "_thread-list-item__preview_5rzhy_183",
|
|
24
|
+
"thread-list-item__replies": "_thread-list-item__replies_5rzhy_194",
|
|
25
|
+
"thread-list-item__replies-inner": "_thread-list-item__replies-inner_5rzhy_200",
|
|
26
|
+
"thread-list-item__avatar-group": "_thread-list-item__avatar-group_5rzhy_207",
|
|
27
|
+
"thread-list-item__reply-count": "_thread-list-item__reply-count_5rzhy_210"
|
|
25
28
|
};
|
|
26
29
|
export {
|
|
27
30
|
t as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItem.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThreadListItem.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as ThreadListItem } from './ThreadListItem';
|
|
2
2
|
export type { ThreadListItemProps } from './ThreadListItem';
|
|
3
|
-
export type { UserAvatarGroupItem } from '../
|
|
3
|
+
export type { UserAvatarGroupItem } from '../user-avatar-group/UserAvatarGroup';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._toast_14dm5_2{display:inline-flex;gap:var(--spacing-xxs);align-items:center;width:fit-content;max-width:440px;padding:var(--spacing-xxxs);background-color:var(--neutral-900);border-radius:var(--radius-s);box-shadow:var(--elevation-2)}._toast__content_14dm5_13{display:flex;align-items:center;gap:var(--spacing-xs);height:32px;padding-left:var(--spacing-xs);min-width:0}._toast__icon_14dm5_21{display:inline-flex;align-items:center;flex-shrink:0;color:var(--neutral-0)}._toast__message_14dm5_27{flex:0 1 auto;min-width:0;font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);line-height:var(--line-height-100);color:var(--neutral-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._toast__action-btn--on-dark_14dm5_38{flex-shrink:0;background-color:color-mix(in srgb,var(--neutral-0) 8%,transparent)!important;color:var(--neutral-0)!important;border-color:transparent!important}._toast__action-btn--on-dark_14dm5_38:hover:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 12%,transparent)!important;color:var(--neutral-0)!important}._toast__action-btn--on-dark_14dm5_38:active:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 16%,transparent)!important;color:var(--neutral-0)!important}._toast__action-btn--on-dark_14dm5_38:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--neutral-0) 56%,transparent)!important}._toast__action-btn--on-dark_14dm5_38:disabled{color:color-mix(in srgb,var(--neutral-0) 40%,transparent)!important;background-color:color-mix(in srgb,var(--neutral-0) 6%,transparent)!important}._toast__dismiss_14dm5_59{flex-shrink:0;color:color-mix(in srgb,var(--neutral-0) 92%,transparent)!important}._toast__dismiss_14dm5_59:hover:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 12%,transparent)!important;color:var(--neutral-0)!important}._toast__dismiss_14dm5_59:active:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 20%,transparent)!important;color:var(--neutral-0)!important}._toast__dismiss_14dm5_59:focus-visible{outline:2px solid color-mix(in srgb,var(--neutral-0) 56%,transparent)!important;outline-offset:2px!important;box-shadow:none!important}._toast--type-info_14dm5_76{background-color:rgb(var(--semantic-color-info))}._toast--type-success_14dm5_79{background-color:rgb(var(--semantic-color-success))}._toast--type-danger_14dm5_82{background-color:rgb(var(--semantic-color-danger))}._toast--type-warning_14dm5_85{background-color:rgb(var(--semantic-color-warning))}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Toast.module.css');const t="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Toast.module.css');const t="_toast_14dm5_2",s="_toast__content_14dm5_13",_="_toast__icon_14dm5_21",o="_toast__message_14dm5_27",a="_toast__dismiss_14dm5_59",e={toast:t,toast__content:s,toast__icon:_,toast__message:o,"toast__action-btn--on-dark":"_toast__action-btn--on-dark_14dm5_38",toast__dismiss:a,"toast--type-info":"_toast--type-info_14dm5_76","toast--type-success":"_toast--type-success_14dm5_79","toast--type-danger":"_toast--type-danger_14dm5_82","toast--type-warning":"_toast--type-warning_14dm5_85"};exports.default=e;exports.toast=t;exports.toast__content=s;exports.toast__dismiss=a;exports.toast__icon=_;exports.toast__message=o;
|
|
2
2
|
//# sourceMappingURL=Toast.module.scss.cjs.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import './Toast.module.css';const t = "
|
|
1
|
+
import './Toast.module.css';const t = "_toast_14dm5_2", _ = "_toast__content_14dm5_13", s = "_toast__icon_14dm5_21", o = "_toast__message_14dm5_27", a = "_toast__dismiss_14dm5_59", n = {
|
|
2
2
|
toast: t,
|
|
3
3
|
toast__content: _,
|
|
4
4
|
toast__icon: s,
|
|
5
5
|
toast__message: o,
|
|
6
|
-
"toast__action-btn--on-dark": "_toast__action-btn--on-
|
|
6
|
+
"toast__action-btn--on-dark": "_toast__action-btn--on-dark_14dm5_38",
|
|
7
7
|
toast__dismiss: a,
|
|
8
|
-
"toast--type-info": "_toast--type-
|
|
9
|
-
"toast--type-success": "_toast--type-
|
|
10
|
-
"toast--type-danger": "_toast--type-
|
|
11
|
-
"toast--type-warning": "_toast--type-
|
|
8
|
+
"toast--type-info": "_toast--type-info_14dm5_76",
|
|
9
|
+
"toast--type-success": "_toast--type-success_14dm5_79",
|
|
10
|
+
"toast--type-danger": "_toast--type-danger_14dm5_82",
|
|
11
|
+
"toast--type-warning": "_toast--type-warning_14dm5_85"
|
|
12
12
|
};
|
|
13
13
|
export {
|
|
14
14
|
n as default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes _tour-point-panel-
|
|
1
|
+
@keyframes _tour-point-panel-in_1fin5_1{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes _tour-point-pulse-ring_1fin5_1{0%{transform:scale(1);opacity:0}2.25%{opacity:.52}8.25%{opacity:.38}37.5%,to{transform:scale(4.25);opacity:0}}._tour-point_1fin5_28{position:relative;display:inline-flex;flex-direction:column;align-items:stretch;max-width:352px;min-width:280px}._tour-point__pointer_1fin5_36{position:absolute;z-index:2;pointer-events:none;overflow:visible}._tour-point__pointer-triangle_1fin5_42{position:relative;z-index:2;display:block;width:100%;height:100%;background-color:var(--color-info)}._tour-point__pointer-pulse_1fin5_50{position:absolute;z-index:0;width:40px;height:40px;pointer-events:none}._tour-point__pointer-pulse-ring_1fin5_57{position:absolute;left:50%;top:50%;z-index:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:var(--radius-full);background-color:rgba(var(--color-success-rgb),.36);transform-origin:center center;animation:_tour-point-pulse-ring_1fin5_1 calc(4 * var(--duration-moderate) + 40 * var(--duration-quick) / 3) linear infinite;will-change:transform,opacity}._tour-point__pointer-pulse-ring--delay_1fin5_71{animation-delay:calc(2 * var(--duration-moderate))}@media(prefers-reduced-motion:reduce){._tour-point__pointer-pulse-ring_1fin5_57{animation:none;opacity:0}}._tour-point__pointer-pulse-core_1fin5_80{position:absolute;left:50%;top:50%;z-index:1;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:var(--radius-full);background-color:var(--color-success)}._tour-point__panel_1fin5_91{position:relative;z-index:1;display:flex;flex-direction:column;border-radius:var(--radius-m);background-color:var(--color-info);box-shadow:var(--elevation-4);animation:_tour-point-panel-in_1fin5_1 var(--duration-quick) var(--ease-entrance) both}._tour-point--pointer-top-center_1fin5_101 ._tour-point__panel_1fin5_91,._tour-point--pointer-top-left_1fin5_101 ._tour-point__panel_1fin5_91,._tour-point--pointer-top-right_1fin5_101 ._tour-point__panel_1fin5_91{transform-origin:50% 0}._tour-point--pointer-bottom-center_1fin5_104 ._tour-point__panel_1fin5_91,._tour-point--pointer-bottom-left_1fin5_104 ._tour-point__panel_1fin5_91,._tour-point--pointer-bottom-right_1fin5_104 ._tour-point__panel_1fin5_91{transform-origin:50% 100%}._tour-point--pointer-left-center_1fin5_107 ._tour-point__panel_1fin5_91{transform-origin:0 50%}._tour-point--pointer-right-center_1fin5_110 ._tour-point__panel_1fin5_91{transform-origin:100% 50%}._tour-point__header_1fin5_113{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-m);padding:var(--spacing-xl) var(--spacing-xl) 0}._tour-point__header_1fin5_113 ._tour-point__close_1fin5_120{--focus-ring-color: var(--button-color);color:rgba(var(--button-color-rgb),.88)}._tour-point__header_1fin5_113 ._tour-point__close_1fin5_120:hover:not(:disabled){background-color:rgba(var(--button-color-rgb),.12);color:var(--button-color)}._tour-point__header_1fin5_113 ._tour-point__close_1fin5_120:active:not(:disabled){background-color:rgba(var(--button-color-rgb),.2)}._tour-point__title_1fin5_131{margin:0;padding-right:var(--spacing-xs);font-family:var(--font-family-body);font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);line-height:var(--line-height-100);color:var(--neutral-0)}._tour-point__body_1fin5_140{display:flex;flex-direction:column;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-xl) var(--spacing-xl)}._tour-point__description_1fin5_146{font-size:var(--font-size-100);font-weight:var(--font-weight-regular);line-height:var(--line-height-100);color:color-mix(in srgb,var(--neutral-0) 92%,transparent)}._tour-point__media_1fin5_152{border-radius:var(--radius-s);background-color:var(--color-blue-800);padding:var(--spacing-m);color:color-mix(in srgb,var(--neutral-0) 88%,transparent);font-size:var(--font-size-75);line-height:var(--line-height-100);border:1px solid color-mix(in srgb,var(--neutral-0) 20%,transparent)}._tour-point__media_1fin5_152 img{display:block;width:100%;height:auto;border-radius:var(--radius-xs)}._tour-point__footer_1fin5_167{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-l);padding:0 var(--spacing-xl) var(--spacing-xl)}._tour-point__footer-spacer_1fin5_174{flex:1 0 0;min-width:0}._tour-point__progress_1fin5_178,._tour-point__next-wrap_1fin5_181{flex-shrink:0}._tour-point__next-wrap_1fin5_181 button{--focus-ring-color: var(--neutral-0);background-color:var(--neutral-0);border-color:transparent;color:var(--color-info);transition:background-color var(--duration-quick) var(--ease-transition),color var(--duration-quick) var(--ease-transition),outline-color var(--duration-quick) var(--ease-transition),outline-offset var(--duration-quick) var(--ease-transition)}._tour-point__next-wrap_1fin5_181 button:hover:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 92%,transparent)}._tour-point__next-wrap_1fin5_181 button:active:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 86%,transparent)}._tour-point--pointer-top-center_1fin5_101 ._tour-point__pointer_1fin5_36{top:-9px;left:50%;width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-top-center_1fin5_101 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(50% 0%,0% 100%,100% 100%)}._tour-point--pointer-top-center_1fin5_101 ._tour-point__pointer-pulse_1fin5_50{left:50%;top:0;margin-left:-20px;margin-top:-20px}._tour-point--pointer-top-left_1fin5_101 ._tour-point__pointer_1fin5_36{top:-9px;left:var(--spacing-xl);width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-top-left_1fin5_101 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(50% 0%,0% 100%,100% 100%)}._tour-point--pointer-top-left_1fin5_101 ._tour-point__pointer-pulse_1fin5_50{left:50%;top:0;margin-left:-20px;margin-top:-20px}._tour-point--pointer-top-right_1fin5_101 ._tour-point__pointer_1fin5_36{top:-9px;right:var(--spacing-xl);width:18px;height:9px;transform:translate(50%)}._tour-point--pointer-top-right_1fin5_101 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(50% 0%,0% 100%,100% 100%)}._tour-point--pointer-top-right_1fin5_101 ._tour-point__pointer-pulse_1fin5_50{left:50%;top:0;margin-left:-20px;margin-top:-20px}._tour-point--pointer-bottom-center_1fin5_104 ._tour-point__pointer_1fin5_36{bottom:-9px;left:50%;width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-bottom-center_1fin5_104 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(50% 100%,0% 0%,100% 0%)}._tour-point--pointer-bottom-center_1fin5_104 ._tour-point__pointer-pulse_1fin5_50{left:50%;bottom:0;margin-left:-20px;margin-bottom:-20px}._tour-point--pointer-bottom-left_1fin5_104 ._tour-point__pointer_1fin5_36{bottom:-9px;left:var(--spacing-xl);width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-bottom-left_1fin5_104 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(50% 100%,0% 0%,100% 0%)}._tour-point--pointer-bottom-left_1fin5_104 ._tour-point__pointer-pulse_1fin5_50{left:50%;bottom:0;margin-left:-20px;margin-bottom:-20px}._tour-point--pointer-bottom-right_1fin5_104 ._tour-point__pointer_1fin5_36{bottom:-9px;right:var(--spacing-xl);width:18px;height:9px;transform:translate(50%)}._tour-point--pointer-bottom-right_1fin5_104 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(50% 100%,0% 0%,100% 0%)}._tour-point--pointer-bottom-right_1fin5_104 ._tour-point__pointer-pulse_1fin5_50{left:50%;bottom:0;margin-left:-20px;margin-bottom:-20px}._tour-point--pointer-left-center_1fin5_107 ._tour-point__pointer_1fin5_36{left:-9px;top:50%;width:9px;height:18px;transform:translateY(-50%)}._tour-point--pointer-left-center_1fin5_107 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(0% 50%,100% 0%,100% 100%)}._tour-point--pointer-left-center_1fin5_107 ._tour-point__pointer-pulse_1fin5_50{left:0;top:50%;margin-left:-20px;margin-top:-20px}._tour-point--pointer-right-center_1fin5_110 ._tour-point__pointer_1fin5_36{right:-9px;top:50%;width:9px;height:18px;transform:translateY(-50%)}._tour-point--pointer-right-center_1fin5_110 ._tour-point__pointer-triangle_1fin5_42{clip-path:polygon(100% 50%,0% 0%,0% 100%)}._tour-point--pointer-right-center_1fin5_110 ._tour-point__pointer-pulse_1fin5_50{right:0;top:50%;margin-right:-20px;margin-top:-20px}
|