@mattermost/compass-ui 0.1.0-alpha.12 → 0.1.0-alpha.14
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/README.md +15 -3
- package/dist/compass-ui-standalone.css +270 -276
- package/dist/compass-ui.css +293 -290
- 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.map +1 -1
- package/dist/components/admin-console-header/AdminConsoleHeader.cjs.map +1 -1
- package/dist/components/admin-console-header/AdminConsoleHeader.d.ts +3 -1
- package/dist/components/admin-console-header/AdminConsoleHeader.d.ts.map +1 -1
- package/dist/components/admin-console-header/AdminConsoleHeader.js.map +1 -1
- package/dist/components/admin-panel/AdminPanel.cjs +1 -1
- package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
- package/dist/components/admin-panel/AdminPanel.d.ts +13 -6
- package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
- package/dist/components/admin-panel/AdminPanel.js +21 -15
- package/dist/components/admin-panel/AdminPanel.js.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.cjs.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts +8 -4
- package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts.map +1 -1
- package/dist/components/admin-panel-footer/AdminPanelFooter.js.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.cjs +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.css +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +11 -4
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.js +25 -23
- package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.cjs +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.js +10 -10
- 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 +18 -5
- package/dist/components/attachment-card/AttachmentCard.d.ts.map +1 -1
- package/dist/components/attachment-card/AttachmentCard.js +85 -79
- package/dist/components/attachment-card/AttachmentCard.js.map +1 -1
- package/dist/components/card-button/CardButton.css +1 -1
- package/dist/components/card-button/CardButton.module.scss.cjs +1 -1
- package/dist/components/card-button/CardButton.module.scss.js +7 -7
- package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.cjs +1 -1
- package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.cjs.map +1 -1
- package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.d.ts +5 -4
- package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.d.ts.map +1 -1
- package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.js +7 -7
- package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.js.map +1 -1
- 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 +10 -4
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts.map +1 -1
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.js +67 -62
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.js.map +1 -1
- package/dist/components/checkbox/Checkbox.css +1 -1
- package/dist/components/checkbox/Checkbox.module.scss.cjs +1 -1
- package/dist/components/checkbox/Checkbox.module.scss.js +10 -10
- package/dist/components/chip/Chip.cjs.map +1 -1
- package/dist/components/chip/Chip.css +1 -1
- package/dist/components/chip/Chip.d.ts +4 -0
- package/dist/components/chip/Chip.d.ts.map +1 -1
- package/dist/components/chip/Chip.js.map +1 -1
- package/dist/components/chip/Chip.module.scss.cjs +1 -1
- package/dist/components/chip/Chip.module.scss.js +11 -11
- package/dist/components/combobox/Combobox.cjs +1 -1
- package/dist/components/combobox/Combobox.cjs.map +1 -1
- package/dist/components/combobox/Combobox.css +1 -1
- package/dist/components/combobox/Combobox.d.ts +24 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +307 -271
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
- package/dist/components/combobox/Combobox.module.scss.js +28 -26
- package/dist/components/combobox/Combobox.module.scss.js.map +1 -1
- 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.css +1 -1
- package/dist/components/date-range-picker/DateRangePicker.d.ts +18 -2
- package/dist/components/date-range-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/date-range-picker/DateRangePicker.js +134 -126
- package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
- package/dist/components/date-range-picker/DateRangePicker.module.scss.cjs +1 -1
- package/dist/components/date-range-picker/DateRangePicker.module.scss.js +26 -26
- package/dist/components/emoji-popover/EmojiPopover.cjs +1 -1
- package/dist/components/emoji-popover/EmojiPopover.cjs.map +1 -1
- package/dist/components/emoji-popover/EmojiPopover.d.ts +25 -4
- package/dist/components/emoji-popover/EmojiPopover.d.ts.map +1 -1
- package/dist/components/emoji-popover/EmojiPopover.js +84 -73
- package/dist/components/emoji-popover/EmojiPopover.js.map +1 -1
- package/dist/components/empty-state/EmptyState.cjs +1 -1
- package/dist/components/empty-state/EmptyState.cjs.map +1 -1
- package/dist/components/empty-state/EmptyState.d.ts +3 -3
- package/dist/components/empty-state/EmptyState.d.ts.map +1 -1
- package/dist/components/empty-state/EmptyState.js +11 -9
- package/dist/components/empty-state/EmptyState.js.map +1 -1
- package/dist/components/error-message/ErrorMessage.cjs +1 -1
- package/dist/components/error-message/ErrorMessage.cjs.map +1 -1
- package/dist/components/error-message/ErrorMessage.d.ts +3 -3
- package/dist/components/error-message/ErrorMessage.d.ts.map +1 -1
- package/dist/components/error-message/ErrorMessage.js +10 -9
- package/dist/components/error-message/ErrorMessage.js.map +1 -1
- package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.cjs.map +1 -1
- package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.d.ts +7 -6
- package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.d.ts.map +1 -1
- package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.js.map +1 -1
- package/dist/components/global-banner/GlobalBanner.cjs +1 -1
- package/dist/components/global-banner/GlobalBanner.cjs.map +1 -1
- package/dist/components/global-banner/GlobalBanner.d.ts +10 -5
- package/dist/components/global-banner/GlobalBanner.d.ts.map +1 -1
- package/dist/components/global-banner/GlobalBanner.js +33 -26
- package/dist/components/global-banner/GlobalBanner.js.map +1 -1
- package/dist/components/icon-button/IconButton.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.css +1 -1
- package/dist/components/image-preview/ImagePreview.d.ts +12 -1
- package/dist/components/image-preview/ImagePreview.d.ts.map +1 -1
- package/dist/components/image-preview/ImagePreview.js +25 -20
- package/dist/components/image-preview/ImagePreview.js.map +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/link-preview/LinkPreview.cjs +1 -1
- package/dist/components/link-preview/LinkPreview.cjs.map +1 -1
- package/dist/components/link-preview/LinkPreview.d.ts +12 -6
- package/dist/components/link-preview/LinkPreview.d.ts.map +1 -1
- package/dist/components/link-preview/LinkPreview.js +19 -16
- package/dist/components/link-preview/LinkPreview.js.map +1 -1
- package/dist/components/mention-badge/MentionBadge.cjs +1 -1
- package/dist/components/mention-badge/MentionBadge.cjs.map +1 -1
- package/dist/components/mention-badge/MentionBadge.d.ts +3 -1
- package/dist/components/mention-badge/MentionBadge.d.ts.map +1 -1
- package/dist/components/mention-badge/MentionBadge.js +18 -23
- package/dist/components/mention-badge/MentionBadge.js.map +1 -1
- package/dist/components/menu-group-heading/MenuGroupHeading.cjs.map +1 -1
- package/dist/components/menu-group-heading/MenuGroupHeading.d.ts +3 -3
- package/dist/components/menu-group-heading/MenuGroupHeading.d.ts.map +1 -1
- package/dist/components/menu-group-heading/MenuGroupHeading.js.map +1 -1
- 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.d.ts +2 -0
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/menu-item/MenuItem.js +29 -28
- package/dist/components/menu-item/MenuItem.js.map +1 -1
- package/dist/components/message-actions/MessageActions.cjs +1 -1
- package/dist/components/message-actions/MessageActions.cjs.map +1 -1
- package/dist/components/message-actions/MessageActions.d.ts +26 -2
- package/dist/components/message-actions/MessageActions.d.ts.map +1 -1
- package/dist/components/message-actions/MessageActions.js +67 -55
- package/dist/components/message-actions/MessageActions.js.map +1 -1
- package/dist/components/message-header/MessageHeader.cjs.map +1 -1
- package/dist/components/message-header/MessageHeader.d.ts +5 -3
- package/dist/components/message-header/MessageHeader.d.ts.map +1 -1
- package/dist/components/message-header/MessageHeader.js.map +1 -1
- package/dist/components/message-separator/MessageSeparator.cjs +1 -1
- package/dist/components/message-separator/MessageSeparator.cjs.map +1 -1
- package/dist/components/message-separator/MessageSeparator.d.ts +8 -4
- package/dist/components/message-separator/MessageSeparator.d.ts.map +1 -1
- package/dist/components/message-separator/MessageSeparator.js +16 -14
- package/dist/components/message-separator/MessageSeparator.js.map +1 -1
- package/dist/components/modal/Modal.cjs +1 -1
- package/dist/components/modal/Modal.cjs.map +1 -1
- package/dist/components/modal/Modal.css +1 -1
- package/dist/components/modal/Modal.d.ts +40 -4
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +105 -56
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/Modal.module.scss.cjs +1 -1
- package/dist/components/modal/Modal.module.scss.js +14 -12
- package/dist/components/modal/Modal.module.scss.js.map +1 -1
- package/dist/components/modal-header/ModalHeader.cjs +1 -1
- package/dist/components/modal-header/ModalHeader.cjs.map +1 -1
- package/dist/components/modal-header/ModalHeader.css +1 -1
- package/dist/components/modal-header/ModalHeader.d.ts +16 -1
- package/dist/components/modal-header/ModalHeader.d.ts.map +1 -1
- package/dist/components/modal-header/ModalHeader.js +72 -57
- package/dist/components/modal-header/ModalHeader.js.map +1 -1
- package/dist/components/modal-header/ModalHeader.module.scss.cjs +1 -1
- package/dist/components/modal-header/ModalHeader.module.scss.js +15 -13
- package/dist/components/modal-header/ModalHeader.module.scss.js.map +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.cjs +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.cjs.map +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.d.ts +4 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.d.ts.map +1 -1
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.js +11 -10
- package/dist/components/more-unreads-banner/MoreUnreadsBanner.js.map +1 -1
- package/dist/components/new-message-banner/NewMessageBanner.cjs +1 -1
- package/dist/components/new-message-banner/NewMessageBanner.cjs.map +1 -1
- package/dist/components/new-message-banner/NewMessageBanner.d.ts +15 -3
- package/dist/components/new-message-banner/NewMessageBanner.d.ts.map +1 -1
- package/dist/components/new-message-banner/NewMessageBanner.js +30 -22
- package/dist/components/new-message-banner/NewMessageBanner.js.map +1 -1
- package/dist/components/pagination-dots/PaginationDots.cjs +1 -1
- package/dist/components/pagination-dots/PaginationDots.cjs.map +1 -1
- package/dist/components/pagination-dots/PaginationDots.css +1 -1
- package/dist/components/pagination-dots/PaginationDots.d.ts +5 -1
- package/dist/components/pagination-dots/PaginationDots.d.ts.map +1 -1
- package/dist/components/pagination-dots/PaginationDots.js +22 -19
- package/dist/components/pagination-dots/PaginationDots.js.map +1 -1
- package/dist/components/pagination-dots/PaginationDots.module.scss.cjs +1 -1
- package/dist/components/pagination-dots/PaginationDots.module.scss.js +10 -10
- package/dist/components/permalink-preview/PermalinkPreview.cjs +1 -1
- package/dist/components/permalink-preview/PermalinkPreview.cjs.map +1 -1
- package/dist/components/permalink-preview/PermalinkPreview.d.ts +16 -5
- package/dist/components/permalink-preview/PermalinkPreview.d.ts.map +1 -1
- package/dist/components/permalink-preview/PermalinkPreview.js +39 -35
- package/dist/components/permalink-preview/PermalinkPreview.js.map +1 -1
- package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.cjs +1 -1
- package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.cjs.map +1 -1
- package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.d.ts +8 -1
- package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.d.ts.map +1 -1
- package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.js +20 -17
- package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.js.map +1 -1
- package/dist/components/popover-menu/PopoverMenu.cjs +1 -1
- package/dist/components/popover-menu/PopoverMenu.cjs.map +1 -1
- package/dist/components/popover-menu/PopoverMenu.css +1 -1
- package/dist/components/popover-menu/PopoverMenu.d.ts +9 -1
- package/dist/components/popover-menu/PopoverMenu.d.ts.map +1 -1
- package/dist/components/popover-menu/PopoverMenu.js +39 -28
- package/dist/components/popover-menu/PopoverMenu.js.map +1 -1
- package/dist/components/popover-menu/PopoverMenu.module.scss.cjs +1 -1
- package/dist/components/popover-menu/PopoverMenu.module.scss.js +12 -10
- package/dist/components/popover-menu/PopoverMenu.module.scss.js.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.cjs +1 -1
- package/dist/components/popover-notice/PopoverNotice.cjs.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.d.ts +13 -5
- package/dist/components/popover-notice/PopoverNotice.d.ts.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.js +58 -48
- package/dist/components/popover-notice/PopoverNotice.js.map +1 -1
- package/dist/components/profile-popover/ProfilePopover.cjs +1 -1
- package/dist/components/profile-popover/ProfilePopover.cjs.map +1 -1
- package/dist/components/profile-popover/ProfilePopover.d.ts +34 -12
- package/dist/components/profile-popover/ProfilePopover.d.ts.map +1 -1
- package/dist/components/profile-popover/ProfilePopover.js +122 -106
- package/dist/components/profile-popover/ProfilePopover.js.map +1 -1
- package/dist/components/progress-bar/ProgressBar.cjs +1 -1
- package/dist/components/progress-bar/ProgressBar.cjs.map +1 -1
- package/dist/components/progress-bar/ProgressBar.d.ts +4 -3
- package/dist/components/progress-bar/ProgressBar.d.ts.map +1 -1
- package/dist/components/progress-bar/ProgressBar.js +9 -7
- package/dist/components/progress-bar/ProgressBar.js.map +1 -1
- package/dist/components/radio/Radio.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/reaction-button/ReactionButton.cjs +1 -1
- package/dist/components/reaction-button/ReactionButton.cjs.map +1 -1
- package/dist/components/reaction-button/ReactionButton.d.ts +3 -1
- package/dist/components/reaction-button/ReactionButton.d.ts.map +1 -1
- package/dist/components/reaction-button/ReactionButton.js +20 -18
- package/dist/components/reaction-button/ReactionButton.js.map +1 -1
- package/dist/components/reactions-row/ReactionsRow.cjs +1 -1
- package/dist/components/reactions-row/ReactionsRow.cjs.map +1 -1
- package/dist/components/reactions-row/ReactionsRow.d.ts +10 -2
- package/dist/components/reactions-row/ReactionsRow.d.ts.map +1 -1
- package/dist/components/reactions-row/ReactionsRow.js +33 -28
- package/dist/components/reactions-row/ReactionsRow.js.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.cjs +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts +15 -7
- package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.js +23 -19
- package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
- package/dist/components/scrollbar/Scrollbar.cjs +1 -1
- package/dist/components/scrollbar/Scrollbar.cjs.map +1 -1
- package/dist/components/scrollbar/Scrollbar.css +1 -1
- package/dist/components/scrollbar/Scrollbar.d.ts +2 -2
- package/dist/components/scrollbar/Scrollbar.d.ts.map +1 -1
- package/dist/components/scrollbar/Scrollbar.js +24 -15
- package/dist/components/scrollbar/Scrollbar.js.map +1 -1
- package/dist/components/scrollbar/Scrollbar.module.scss.cjs +1 -1
- package/dist/components/scrollbar/Scrollbar.module.scss.js +4 -4
- package/dist/components/scrollbar/simplebar-vendor.css +1 -0
- 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 +5 -0
- package/dist/components/search-input/SearchInput.d.ts.map +1 -1
- package/dist/components/search-input/SearchInput.js +92 -85
- package/dist/components/search-input/SearchInput.js.map +1 -1
- package/dist/components/search-tip-banner/SearchTipBanner.cjs +1 -1
- package/dist/components/search-tip-banner/SearchTipBanner.cjs.map +1 -1
- package/dist/components/search-tip-banner/SearchTipBanner.d.ts +8 -5
- package/dist/components/search-tip-banner/SearchTipBanner.d.ts.map +1 -1
- package/dist/components/search-tip-banner/SearchTipBanner.js +17 -16
- package/dist/components/search-tip-banner/SearchTipBanner.js.map +1 -1
- package/dist/components/section-notice/SectionNotice.cjs +1 -1
- package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
- package/dist/components/section-notice/SectionNotice.d.ts +16 -3
- package/dist/components/section-notice/SectionNotice.d.ts.map +1 -1
- package/dist/components/section-notice/SectionNotice.js +64 -48
- package/dist/components/section-notice/SectionNotice.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 +8 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +81 -79
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/spinner/Spinner.cjs.map +1 -1
- package/dist/components/spinner/Spinner.css +1 -1
- package/dist/components/spinner/Spinner.d.ts +1 -0
- package/dist/components/spinner/Spinner.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/spinner/Spinner.module.scss.cjs +1 -1
- package/dist/components/spinner/Spinner.module.scss.js +5 -5
- package/dist/components/status-badge/StatusBadge.css +1 -1
- package/dist/components/status-badge/StatusBadge.module.scss.cjs +1 -1
- package/dist/components/status-badge/StatusBadge.module.scss.js +11 -11
- package/dist/components/switch/Switch.css +1 -1
- package/dist/components/switch/Switch.module.scss.cjs +1 -1
- package/dist/components/switch/Switch.module.scss.js +17 -17
- package/dist/components/tabs/Tabs.cjs +1 -1
- package/dist/components/tabs/Tabs.cjs.map +1 -1
- package/dist/components/tabs/Tabs.css +1 -1
- package/dist/components/tabs/Tabs.d.ts +14 -3
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +62 -53
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/Tabs.module.scss.cjs +1 -1
- package/dist/components/tabs/Tabs.module.scss.js +13 -12
- package/dist/components/tabs/Tabs.module.scss.js.map +1 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/index.d.ts.map +1 -1
- package/dist/components/tag/Tag.cjs +1 -1
- package/dist/components/tag/Tag.cjs.map +1 -1
- package/dist/components/tag/Tag.d.ts +3 -3
- package/dist/components/tag/Tag.d.ts.map +1 -1
- package/dist/components/tag/Tag.js +12 -11
- package/dist/components/tag/Tag.js.map +1 -1
- 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.css +1 -1
- package/dist/components/thread-footer/ThreadFooter.d.ts +19 -3
- package/dist/components/thread-footer/ThreadFooter.d.ts.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.js +53 -48
- package/dist/components/thread-footer/ThreadFooter.js.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.js +18 -18
- 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 +15 -7
- package/dist/components/thread-list-item/ThreadListItem.d.ts.map +1 -1
- package/dist/components/thread-list-item/ThreadListItem.js +66 -62
- package/dist/components/thread-list-item/ThreadListItem.js.map +1 -1
- package/dist/components/toast/Toast.cjs +1 -1
- package/dist/components/toast/Toast.cjs.map +1 -1
- package/dist/components/toast/Toast.d.ts +8 -3
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +47 -39
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/tour-point/TourPoint.cjs +1 -1
- package/dist/components/tour-point/TourPoint.cjs.map +1 -1
- package/dist/components/tour-point/TourPoint.css +1 -1
- package/dist/components/tour-point/TourPoint.d.ts +19 -5
- package/dist/components/tour-point/TourPoint.d.ts.map +1 -1
- package/dist/components/tour-point/TourPoint.js +66 -54
- package/dist/components/tour-point/TourPoint.js.map +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/components/unread-badge/UnreadBadge.css +1 -1
- package/dist/components/unread-badge/UnreadBadge.module.scss.cjs +1 -1
- package/dist/components/unread-badge/UnreadBadge.module.scss.js +5 -5
- package/dist/components/user-avatar/UserAvatar.css +1 -1
- package/dist/components/user-avatar/UserAvatar.module.scss.cjs +1 -1
- package/dist/components/user-avatar/UserAvatar.module.scss.js +26 -26
- package/dist/components/user-avatar-group/UserAvatarGroup.cjs +1 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.cjs.map +1 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.css +1 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.d.ts +8 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.d.ts.map +1 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.js +22 -18
- package/dist/components/user-avatar-group/UserAvatarGroup.js.map +1 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.module.scss.cjs +1 -1
- package/dist/components/user-avatar-group/UserAvatarGroup.module.scss.js +14 -14
- package/dist/hooks/use-modal-focus.cjs +2 -0
- package/dist/hooks/use-modal-focus.cjs.map +1 -0
- package/dist/hooks/use-modal-focus.d.ts +26 -0
- package/dist/hooks/use-modal-focus.d.ts.map +1 -0
- package/dist/hooks/use-modal-focus.js +91 -0
- package/dist/hooks/use-modal-focus.js.map +1 -0
- package/dist/hooks/use-popover-transition.cjs +1 -1
- package/dist/hooks/use-popover-transition.cjs.map +1 -1
- package/dist/hooks/use-popover-transition.d.ts +6 -4
- package/dist/hooks/use-popover-transition.d.ts.map +1 -1
- package/dist/hooks/use-popover-transition.js +19 -15
- package/dist/hooks/use-popover-transition.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/utils/duration.cjs +2 -0
- package/dist/utils/duration.cjs.map +1 -0
- package/dist/utils/duration.d.ts +8 -0
- package/dist/utils/duration.d.ts.map +1 -0
- package/dist/utils/duration.js +11 -0
- package/dist/utils/duration.js.map +1 -0
- package/dist/utils/props.cjs +2 -0
- package/dist/utils/props.cjs.map +1 -0
- package/dist/utils/props.d.ts +13 -0
- package/dist/utils/props.d.ts.map +1 -0
- package/dist/utils/props.js +7 -0
- package/dist/utils/props.js.map +1 -0
- package/package.json +4 -6
- package/dist/node_modules/simplebar-react/dist/simplebar.min.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverNotice.js","sources":["../../../src/components/popover-notice/PopoverNotice.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport Button from '@/components/button/Button';\nimport Checkbox from '@/components/checkbox/Checkbox';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport styles from './PopoverNotice.module.scss';\n\nexport type PopoverNoticeVariant = 'info' | 'success' | 'warning' | 'danger';\n\nexport interface PopoverNoticeAction {\n /** Button label. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n label: ReactNode;\n onClick?: () => void;\n emphasis?: 'primary' | 'tertiary';\n}\n\nexport interface PopoverNoticeProps {\n /** Popover title. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Body content. */\n children: ReactNode;\n /**\n * Semantic variant — sets the icon and its color automatically.\n * Ignored if `icon` is also provided.\n */\n variant?: PopoverNoticeVariant;\n /** Optional icon shown to the left of the title. Overrides the variant icon. Pass `<Icon glyph={<SomeIcon />} />` — PopoverNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Action buttons rendered below the body. */\n actions?: PopoverNoticeAction[];\n /** When true, shows a \"Don't show this again\" checkbox. */\n showCheckbox?: boolean;\n /** Checkbox label override. */\n checkboxLabel?:
|
|
1
|
+
{"version":3,"file":"PopoverNotice.js","sources":["../../../src/components/popover-notice/PopoverNotice.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport Button from '@/components/button/Button';\nimport Checkbox from '@/components/checkbox/Checkbox';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './PopoverNotice.module.scss';\n\nexport type PopoverNoticeVariant = 'info' | 'success' | 'warning' | 'danger';\n\nexport interface PopoverNoticeAction {\n /** Button label. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n label: ReactNode;\n onClick?: () => void;\n emphasis?: 'primary' | 'tertiary';\n disabled?: boolean;\n /** Shows a spinner in the button and disables it. */\n loading?: boolean;\n}\n\nexport interface PopoverNoticeProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'title' | 'children'\n> {\n /** Popover title. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Body content. */\n children: ReactNode;\n /**\n * Semantic variant — sets the icon and its color automatically.\n * Ignored if `icon` is also provided.\n */\n variant?: PopoverNoticeVariant;\n /** Optional icon shown to the left of the title. Overrides the variant icon. Pass `<Icon glyph={<SomeIcon />} />` — PopoverNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Action buttons rendered below the body. */\n actions?: PopoverNoticeAction[];\n /** When true, shows a \"Don't show this again\" checkbox. */\n showCheckbox?: boolean;\n /** Checkbox label override. Accepts translated nodes. Default: \"Don't show this confirmation again\". */\n checkboxLabel?: ReactNode;\n /** Callback when close button is clicked. */\n onClose?: () => void;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Extra attributes for the close button (e.g. `data-testid`). */\n closeButtonProps?: BuiltInButtonProps;\n /** Optional CSS class name. */\n className?: string;\n}\n\nconst VARIANT_ICONS: Record<PopoverNoticeVariant, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n};\n\nconst VARIANT_ICON_CLASS: Record<PopoverNoticeVariant, string> = {\n info: styles['popover-notice__icon--info'],\n success: styles['popover-notice__icon--success'],\n warning: styles['popover-notice__icon--warning'],\n danger: styles['popover-notice__icon--danger'],\n};\n\n/**\n * Popover Notice is a small overlay card that surfaces a transient message — a tip, a\n * confirmation, a warning — without taking over the screen. Think of it as a [Section\n * Notice](/components/section-notice) that floats: shorter, dismissable, and gone in five\n * seconds unless the user engages.\n */\nexport default function PopoverNotice({\n title,\n children,\n variant,\n icon,\n actions,\n showCheckbox = false,\n checkboxLabel = \"Don't show this confirmation again\",\n onClose,\n closeLabel = 'Close',\n closeButtonProps,\n className = '',\n ...rest\n}: PopoverNoticeProps) {\n const resolvedIcon = icon ?? (variant ? VARIANT_ICONS[variant] : null);\n const iconColorClass = !icon && variant ? VARIANT_ICON_CLASS[variant] : '';\n\n const rootClass = [\n styles['popover-notice'],\n resolvedIcon == null ? styles['popover-notice--no-icon'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div {...rest} className={rootClass}>\n <div className={styles['popover-notice__content']}>\n {resolvedIcon != null && (\n <div\n className={[styles['popover-notice__icon'], iconColorClass]\n .filter(Boolean)\n .join(' ')}\n aria-hidden\n >\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </div>\n )}\n\n <div className={styles['popover-notice__body']}>\n <div className={styles['popover-notice__title-row']}>\n <span className={styles['popover-notice__title']}>{title}</span>\n </div>\n\n <div className={styles['popover-notice__description']}>\n {children}\n </div>\n\n {actions && actions.length > 0 && (\n <div className={styles['popover-notice__actions']}>\n {actions.map((action, i) => (\n <Button\n key={i}\n emphasis={action.emphasis ?? 'primary'}\n size=\"small\"\n disabled={action.disabled}\n loading={action.loading}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n\n {showCheckbox && <Checkbox size=\"medium\">{checkboxLabel}</Checkbox>}\n </div>\n </div>\n\n {onClose && (\n <IconButton\n {...closeButtonProps}\n className={mergeClassNames(\n styles['popover-notice__close'],\n closeButtonProps?.className,\n )}\n aria-label={closeLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n </div>\n );\n}\n"],"names":["VARIANT_ICONS","Icon","jsx","InformationOutlineIcon","CheckCircleOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","VARIANT_ICON_CLASS","styles","PopoverNotice","title","children","variant","icon","actions","showCheckbox","checkboxLabel","onClose","closeLabel","closeButtonProps","className","rest","resolvedIcon","iconColorClass","rootClass","jsxs","IconSlotContext","action","i","Button","Checkbox","IconButton","mergeClassNames","CloseIcon"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),__ee=require("@mattermost/compass-icons/components/close.js"),ee=__ee?.default??__ee,__le=require("@mattermost/compass-icons/components/email-outline.js"),le=__le?.default??__le,__se=require("@mattermost/compass-icons/components/circle-multiple-outline.js"),se=__se?.default??__se,__oe=require("@mattermost/compass-icons/components/github-circle.js"),oe=__oe?.default??__oe,__k=require("@mattermost/compass-icons/components/mattermost.js"),k=__k?.default??__k,__ae=require("@mattermost/compass-icons/components/account-plus-outline.js"),ae=__ae?.default??__ae,__C=require("@mattermost/compass-icons/components/phone.js"),C=__C?.default??__C,__re=require("@mattermost/compass-icons/components/at.js"),re=__re?.default??__re,__I=require("@mattermost/compass-icons/components/send-outline.js"),I=__I?.default??__I,__ie=require("@mattermost/compass-icons/components/pencil-outline.js"),ie=__ie?.default??__ie,te=require("../button/Button.cjs"),p=require("../icon-button/IconButton.cjs"),ne=require("../user-avatar/UserAvatar.cjs"),ce=require("../tag/Tag.cjs"),s=require("../icon/Icon.cjs"),l=require("./ProfilePopover.module.scss.cjs"),pe=a=>e.jsxs(e.Fragment,{children:["Local time (",a,")"]}),de=a=>e.jsxs(e.Fragment,{children:["Status",a?e.jsxs(e.Fragment,{children:[" (",a,")"]}):""]});function d({icon:a,children:u,href:i}){const f=i?l.default["profile-popover__meta-link"]:l.default["profile-popover__meta-text"];return e.jsxs("div",{className:l.default["profile-popover__meta-item"],children:[e.jsx("span",{className:l.default["profile-popover__meta-icon"],"aria-hidden":!0,children:a}),i?e.jsx("a",{className:f,href:i,children:u}):e.jsx("span",{className:f,children:u})]})}function ue({user:a="others",avatarSrc:u,avatarAlt:i,name:f,username:B,title:_,email:j,phones:t,lastOnline:h,jobRole:v,localTime:r,customStatus:n,sharedOrg:x,staff:N=!1,coreCommitter:y=!1,githubHandle:m,onClose:g,onPrimaryAction:P,onMention:M,onAddToChannel:F,onCall:b,onSend:A,callButton:L,phoneIcon:S,state:$="open",onAnimationEnd:O,className:w="",closeLabel:D="Close",staffLabel:E="Staff",coreCommitterLabel:G="Core Committer",formatLocalTimeLabel:R=pe,formatStatusLabel:T=de,messageLabel:U="Message",editProfileLabel:Y="Edit profile",sendMessageLabel:J="Send message",mentionLabel:K="Mention user",addToChannelLabel:Q="Add to channel",callLabel:V="Call"}){const c=a==="you",W=[l.default["profile-popover"],$==="closing"?l.default["profile-popover--closing"]:"",w].filter(Boolean).join(" "),X=!!(t&&t.length>0),z=!!j||X||!!x||N||y||!!m,Z=z||!!r||!!n;return e.jsxs("div",{className:W,onAnimationEnd:O,children:[v&&e.jsx("div",{className:l.default["profile-popover__role-tag"],children:e.jsx(ce.default,{label:v,casing:"all-caps",size:"x-small"})}),g&&e.jsx(p.default,{className:l.default["profile-popover__close"],"aria-label":D,size:"small",padding:"compact",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(ee,{})}),onClick:g}),e.jsxs("section",{className:l.default["profile-popover__primary"],children:[e.jsx(ne.default,{src:u,alt:i,size:"120",status:!0}),h&&e.jsx("p",{className:l.default["profile-popover__last-online"],children:h}),e.jsxs("div",{className:l.default["profile-popover__names"],children:[e.jsx("p",{className:l.default["profile-popover__name"],children:f}),e.jsx("p",{className:l.default["profile-popover__handle"],children:B}),_&&e.jsx("p",{className:l.default["profile-popover__title"],children:_})]})]}),Z&&e.jsxs("section",{className:l.default["profile-popover__secondary"],children:[z&&e.jsxs("div",{className:l.default["profile-popover__titles"],children:[j&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(le,{})}),href:`mailto:${j}`,children:j}),t==null?void 0:t.map((o,H)=>{const q=[o.label,o.sipTrunk].filter(Boolean).join(" • ");return e.jsxs("div",{className:[l.default["profile-popover__meta-item"],l.default["profile-popover__meta-item--stacked"]].join(" "),children:[e.jsx("span",{className:l.default["profile-popover__meta-icon"],"aria-hidden":!0,children:e.jsx(s.default,{size:"16",glyph:o.icon??S??e.jsx(C,{})})}),e.jsxs("div",{className:l.default["profile-popover__phone-body"],children:[q&&e.jsx("span",{className:l.default["profile-popover__phone-sub"],children:q}),o.onClick?e.jsx("button",{type:"button",className:l.default["profile-popover__meta-link"],onClick:o.onClick,children:o.number}):e.jsx("a",{className:l.default["profile-popover__meta-link"],href:o.href??`tel:${o.number}`,children:o.number})]})]},`${o.number}-${H}`)}),x&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(se,{})}),children:x}),N&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(k,{})}),children:E}),y&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(k,{})}),children:G}),m&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(oe,{})}),children:m})]}),r&&e.jsxs("div",{className:l.default["profile-popover__local-time"],children:[e.jsx("p",{className:l.default["profile-popover__section-label"],children:R(r.timezone)}),e.jsxs("div",{className:l.default["profile-popover__time"],children:[e.jsx("span",{children:r.time}),r.hourDifference&&e.jsxs("span",{children:["(",r.hourDifference,")"]})]})]}),n&&e.jsxs("div",{className:l.default["profile-popover__custom-status"],children:[e.jsx("p",{className:l.default["profile-popover__section-label"],children:T(n.expiresLabel)}),e.jsxs("div",{className:l.default["profile-popover__status-row"],children:[e.jsx("span",{className:l.default["profile-popover__status-emoji"],"aria-hidden":!0,children:n.emoji}),e.jsx("span",{children:n.text})]})]})]}),e.jsxs("footer",{className:[l.default["profile-popover__footer"],c?l.default["profile-popover__footer--you"]:l.default["profile-popover__footer--others"]].join(" "),children:[e.jsx("div",{className:[l.default["profile-popover__primary-action"],c?l.default["profile-popover__primary-action--you"]:l.default["profile-popover__primary-action--others"]].join(" "),children:e.jsx(te.default,{className:l.default["profile-popover__primary-button"],size:"small",emphasis:"primary",leadingIcon:c?e.jsx(s.default,{size:"12",glyph:e.jsx(ie,{})}):e.jsx(s.default,{size:"12",glyph:e.jsx(I,{})}),onClick:P,children:c?Y:U})}),e.jsx("div",{className:l.default["profile-popover__secondary-actions"],children:c?e.jsx(p.default,{"aria-label":J,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(I,{})}),onClick:A}):e.jsxs(e.Fragment,{children:[e.jsx(p.default,{"aria-label":K,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(re,{})}),onClick:M}),e.jsx(p.default,{"aria-label":Q,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(ae,{})}),onClick:F}),L??(b?e.jsx(p.default,{"aria-label":V,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(C,{})}),onClick:b}):null)]})})]})]})}exports.default=ue;
|
|
2
2
|
//# sourceMappingURL=ProfilePopover.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePopover.cjs","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport EmailOutlineIcon from '@mattermost/compass-icons/components/email-outline';\nimport CircleMultipleOutlineIcon from '@mattermost/compass-icons/components/circle-multiple-outline';\nimport GithubCircleIcon from '@mattermost/compass-icons/components/github-circle';\nimport MattermostIcon from '@mattermost/compass-icons/components/mattermost';\nimport AccountPlusOutlineIcon from '@mattermost/compass-icons/components/account-plus-outline';\nimport PhoneIcon from '@mattermost/compass-icons/components/phone';\nimport AtIcon from '@mattermost/compass-icons/components/at';\nimport SendOutlineIcon from '@mattermost/compass-icons/components/send-outline';\nimport PencilOutlineIcon from '@mattermost/compass-icons/components/pencil-outline';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport UserAvatar from '@/components/user-avatar/UserAvatar';\nimport Tag from '@/components/tag/Tag';\nimport Icon from '@/components/icon/Icon';\nimport styles from './ProfilePopover.module.scss';\n\nexport type ProfilePopoverUser = 'others' | 'you';\n\nexport interface ProfilePopoverCustomStatus {\n emoji: string;\n text: string;\n /** Label suffix like \"Until Tomorrow\". */\n expiresLabel?: string;\n}\n\nexport interface ProfilePopoverLocalTime {\n /** Local time, e.g. \"10:42 PM\". */\n time: string;\n /** Timezone abbreviation, e.g. \"EST\". */\n timezone: string;\n /** Hour difference relative to viewer, e.g. \"3 hrs behind\". */\n hourDifference?: string;\n}\n\nexport interface ProfilePopoverPhone {\n number: string;\n /** Category label, e.g. \"NIPR\", \"NIPR Conf Bridge\", \"SIPR Extension\". */\n label?: string;\n /** Trunk / gateway identifier, e.g. \"DSN\", \"DISN Gateway\". */\n sipTrunk?: string;\n /** Per-row phone glyph; overrides the popover-level `phoneIcon` when set. */\n icon?: ReactNode;\n href?: string;\n /** When provided, the number click runs this handler instead of navigating. */\n onClick?: () => void;\n}\n\nexport interface ProfilePopoverProps {\n /** Whose profile is shown. Default: 'others'. */\n user?: ProfilePopoverUser;\n /** Avatar image URL. */\n avatarSrc: string;\n /** Avatar alt text. */\n avatarAlt: string;\n /** Full name. */\n name: string;\n /** @handle. */\n username: string;\n /** Job title. */\n title?: string;\n /** Email address. */\n email?: string;\n /** Phone rows shown under the email. */\n phones?: ProfilePopoverPhone[];\n /** Caption above the name, e.g. \"Last online 6 hrs ago\". */\n lastOnline?: string;\n /** Role tag shown at the very top, e.g. \"System Admin\". (Named `jobRole` to avoid clashing with the ARIA `role` attribute in JSX.) */\n jobRole?: string;\n /** Local time block. */\n localTime?: ProfilePopoverLocalTime;\n /** Custom status. */\n customStatus?: ProfilePopoverCustomStatus;\n /** Shared member org name. */\n sharedOrg?: string;\n /** Shows a Staff row. */\n staff?: boolean;\n /** Shows a Core Committer row. */\n coreCommitter?: boolean;\n /** GitHub handle — shows the GitHub profile row. */\n githubHandle?: string;\n onClose?: () => void;\n onPrimaryAction?: () => void;\n /** Inserts an @mention for this user in the active channel message input. */\n onMention?: () => void;\n /** Opens the Add to Channel flow for this user. */\n onAddToChannel?: () => void;\n /** Used when `callButton` is not provided; starts a simple outbound call action. */\n onCall?: () => void;\n onSend?: () => void;\n /** Replaces the default Call icon button in the footer when provided. */\n callButton?: ReactNode;\n /** Replaces the default phone glyph shown next to the phone number. */\n phoneIcon?: ReactNode;\n /** Animation state. Set to 'closing' to play the exit animation — listen via onAnimationEnd to unmount. */\n state?: 'open' | 'closing';\n /** Fires when an animation on the popover root ends (entrance or exit). */\n onAnimationEnd?: (e: React.AnimationEvent<HTMLDivElement>) => void;\n className?: string;\n}\n\ninterface MetaRowProps {\n icon: ReactNode;\n children: ReactNode;\n href?: string;\n}\n\nfunction MetaRow({ icon, children, href }: MetaRowProps) {\n const textClass = href\n ? styles['profile-popover__meta-link']\n : styles['profile-popover__meta-text'];\n\n return (\n <div className={styles['profile-popover__meta-item']}>\n <span className={styles['profile-popover__meta-icon']} aria-hidden>\n {icon}\n </span>\n {href ? (\n <a className={textClass} href={href}>\n {children}\n </a>\n ) : (\n <span className={textClass}>{children}</span>\n )}\n </div>\n );\n}\n\nexport default function ProfilePopover({\n user = 'others',\n avatarSrc,\n avatarAlt,\n name,\n username,\n title,\n email,\n phones,\n lastOnline,\n jobRole,\n localTime,\n customStatus,\n sharedOrg,\n staff = false,\n coreCommitter = false,\n githubHandle,\n onClose,\n onPrimaryAction,\n onMention,\n onAddToChannel,\n onCall,\n onSend,\n callButton,\n phoneIcon,\n state = 'open',\n onAnimationEnd,\n className = '',\n}: ProfilePopoverProps) {\n const isYou = user === 'you';\n\n const rootClass = [\n styles['profile-popover'],\n state === 'closing' ? styles['profile-popover--closing'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const hasPhones = Boolean(phones && phones.length > 0);\n const hasTitlesBlock =\n Boolean(email) ||\n hasPhones ||\n Boolean(sharedOrg) ||\n staff ||\n coreCommitter ||\n Boolean(githubHandle);\n const hasSecondary =\n hasTitlesBlock || Boolean(localTime) || Boolean(customStatus);\n\n return (\n <div className={rootClass} onAnimationEnd={onAnimationEnd}>\n {jobRole && (\n <div className={styles['profile-popover__role-tag']}>\n <Tag label={jobRole} casing=\"all-caps\" size=\"x-small\" />\n </div>\n )}\n\n {onClose && (\n <IconButton\n className={styles['profile-popover__close']}\n aria-label=\"Close\"\n size=\"small\"\n padding=\"compact\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n\n <section className={styles['profile-popover__primary']}>\n <UserAvatar src={avatarSrc} alt={avatarAlt} size=\"120\" status />\n {lastOnline && (\n <p className={styles['profile-popover__last-online']}>{lastOnline}</p>\n )}\n <div className={styles['profile-popover__names']}>\n <p className={styles['profile-popover__name']}>{name}</p>\n <p className={styles['profile-popover__handle']}>{username}</p>\n {title && <p className={styles['profile-popover__title']}>{title}</p>}\n </div>\n </section>\n\n {hasSecondary && (\n <section className={styles['profile-popover__secondary']}>\n {hasTitlesBlock && (\n <div className={styles['profile-popover__titles']}>\n {email && (\n <MetaRow\n icon={<Icon size=\"16\" glyph={<EmailOutlineIcon />} />}\n href={`mailto:${email}`}\n >\n {email}\n </MetaRow>\n )}\n {phones?.map((p, i) => {\n const subParts = [p.label, p.sipTrunk].filter(Boolean);\n const subText = subParts.join(' • ');\n return (\n <div\n key={`${p.number}-${i}`}\n className={[\n styles['profile-popover__meta-item'],\n styles['profile-popover__meta-item--stacked'],\n ].join(' ')}\n >\n <span\n className={styles['profile-popover__meta-icon']}\n aria-hidden\n >\n <Icon\n size=\"16\"\n glyph={p.icon ?? phoneIcon ?? <PhoneIcon />}\n />\n </span>\n <div className={styles['profile-popover__phone-body']}>\n {subText && (\n <span className={styles['profile-popover__phone-sub']}>\n {subText}\n </span>\n )}\n {p.onClick ? (\n <button\n type=\"button\"\n className={styles['profile-popover__meta-link']}\n onClick={p.onClick}\n >\n {p.number}\n </button>\n ) : (\n <a\n className={styles['profile-popover__meta-link']}\n href={p.href ?? `tel:${p.number}`}\n >\n {p.number}\n </a>\n )}\n </div>\n </div>\n );\n })}\n {sharedOrg && (\n <MetaRow\n icon={\n <Icon size=\"16\" glyph={<CircleMultipleOutlineIcon />} />\n }\n >\n {sharedOrg}\n </MetaRow>\n )}\n {staff && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n Staff\n </MetaRow>\n )}\n {coreCommitter && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n Core Committer\n </MetaRow>\n )}\n {githubHandle && (\n <MetaRow icon={<Icon size=\"16\" glyph={<GithubCircleIcon />} />}>\n {githubHandle}\n </MetaRow>\n )}\n </div>\n )}\n\n {localTime && (\n <div className={styles['profile-popover__local-time']}>\n <p className={styles['profile-popover__section-label']}>\n Local time ({localTime.timezone})\n </p>\n <div className={styles['profile-popover__time']}>\n <span>{localTime.time}</span>\n {localTime.hourDifference && (\n <span>({localTime.hourDifference})</span>\n )}\n </div>\n </div>\n )}\n\n {customStatus && (\n <div className={styles['profile-popover__custom-status']}>\n <p className={styles['profile-popover__section-label']}>\n Status\n {customStatus.expiresLabel\n ? ` (${customStatus.expiresLabel})`\n : ''}\n </p>\n <div className={styles['profile-popover__status-row']}>\n <span\n className={styles['profile-popover__status-emoji']}\n aria-hidden\n >\n {customStatus.emoji}\n </span>\n <span>{customStatus.text}</span>\n </div>\n </div>\n )}\n </section>\n )}\n\n <footer\n className={[\n styles['profile-popover__footer'],\n isYou\n ? styles['profile-popover__footer--you']\n : styles['profile-popover__footer--others'],\n ].join(' ')}\n >\n <div\n className={[\n styles['profile-popover__primary-action'],\n isYou\n ? styles['profile-popover__primary-action--you']\n : styles['profile-popover__primary-action--others'],\n ].join(' ')}\n >\n <Button\n className={styles['profile-popover__primary-button']}\n size=\"small\"\n emphasis=\"primary\"\n leadingIcon={\n isYou ? (\n <Icon size=\"12\" glyph={<PencilOutlineIcon />} />\n ) : (\n <Icon size=\"12\" glyph={<SendOutlineIcon />} />\n )\n }\n onClick={onPrimaryAction}\n >\n {isYou ? 'Edit profile' : 'Message'}\n </Button>\n </div>\n <div className={styles['profile-popover__secondary-actions']}>\n {isYou ? (\n <IconButton\n aria-label=\"Send message\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<SendOutlineIcon />} />}\n onClick={onSend}\n />\n ) : (\n <>\n <IconButton\n aria-label=\"Mention user\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AtIcon />} />}\n onClick={onMention}\n />\n <IconButton\n aria-label=\"Add to channel\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AccountPlusOutlineIcon />} />}\n onClick={onAddToChannel}\n />\n {callButton ??\n (onCall ? (\n <IconButton\n aria-label=\"Call\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<PhoneIcon />} />}\n onClick={onCall}\n />\n ) : null)}\n </>\n )}\n </div>\n </footer>\n </div>\n );\n}\n"],"names":["MetaRow","icon","children","href","textClass","styles","jsxs","jsx","ProfilePopover","user","avatarSrc","avatarAlt","name","username","title","email","phones","lastOnline","jobRole","localTime","customStatus","sharedOrg","staff","coreCommitter","githubHandle","onClose","onPrimaryAction","onMention","onAddToChannel","onCall","onSend","callButton","phoneIcon","state","onAnimationEnd","className","isYou","rootClass","hasPhones","hasTitlesBlock","hasSecondary","Tag","IconButton","Icon","CloseIcon","UserAvatar","EmailOutlineIcon","p","i","subText","PhoneIcon","CircleMultipleOutlineIcon","MattermostIcon","GithubCircleIcon","Button","PencilOutlineIcon","SendOutlineIcon","Fragment","AtIcon","AccountPlusOutlineIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProfilePopover.cjs","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport EmailOutlineIcon from '@mattermost/compass-icons/components/email-outline';\nimport CircleMultipleOutlineIcon from '@mattermost/compass-icons/components/circle-multiple-outline';\nimport GithubCircleIcon from '@mattermost/compass-icons/components/github-circle';\nimport MattermostIcon from '@mattermost/compass-icons/components/mattermost';\nimport AccountPlusOutlineIcon from '@mattermost/compass-icons/components/account-plus-outline';\nimport PhoneIcon from '@mattermost/compass-icons/components/phone';\nimport AtIcon from '@mattermost/compass-icons/components/at';\nimport SendOutlineIcon from '@mattermost/compass-icons/components/send-outline';\nimport PencilOutlineIcon from '@mattermost/compass-icons/components/pencil-outline';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport UserAvatar from '@/components/user-avatar/UserAvatar';\nimport Tag from '@/components/tag/Tag';\nimport Icon from '@/components/icon/Icon';\nimport styles from './ProfilePopover.module.scss';\n\nexport type ProfilePopoverUser = 'others' | 'you';\n\nexport interface ProfilePopoverCustomStatus {\n emoji: string;\n text: ReactNode;\n /** Label suffix like \"Until Tomorrow\". */\n expiresLabel?: ReactNode;\n}\n\nexport interface ProfilePopoverLocalTime {\n /** Local time, e.g. \"10:42 PM\". */\n time: ReactNode;\n /** Timezone abbreviation, e.g. \"EST\". */\n timezone: ReactNode;\n /** Hour difference relative to viewer, e.g. \"3 hrs behind\". */\n hourDifference?: ReactNode;\n}\n\nexport interface ProfilePopoverPhone {\n number: string;\n /** Category label, e.g. \"NIPR\", \"NIPR Conf Bridge\", \"SIPR Extension\". */\n label?: string;\n /** Trunk / gateway identifier, e.g. \"DSN\", \"DISN Gateway\". */\n sipTrunk?: string;\n /** Per-row phone glyph; overrides the popover-level `phoneIcon` when set. */\n icon?: ReactNode;\n href?: string;\n /** When provided, the number click runs this handler instead of navigating. */\n onClick?: () => void;\n}\n\nexport interface ProfilePopoverProps {\n /** Whose profile is shown. Default: 'others'. */\n user?: ProfilePopoverUser;\n /** Avatar image URL. */\n avatarSrc: string;\n /** Avatar alt text. */\n avatarAlt: string;\n /** Full name. */\n name: ReactNode;\n /** @handle. */\n username: ReactNode;\n /** Job title. */\n title?: ReactNode;\n /** Email address. */\n email?: string;\n /** Phone rows shown under the email. */\n phones?: ProfilePopoverPhone[];\n /** Caption above the name, e.g. \"Last online 6 hrs ago\". */\n lastOnline?: ReactNode;\n /** Role tag shown at the very top, e.g. \"System Admin\". (Named `jobRole` to avoid clashing with the ARIA `role` attribute in JSX.) */\n jobRole?: ReactNode;\n /** Local time block. */\n localTime?: ProfilePopoverLocalTime;\n /** Custom status. */\n customStatus?: ProfilePopoverCustomStatus;\n /** Shared member org name. */\n sharedOrg?: ReactNode;\n /** Shows a Staff row. */\n staff?: boolean;\n /** Shows a Core Committer row. */\n coreCommitter?: boolean;\n /** GitHub handle — shows the GitHub profile row. */\n githubHandle?: string;\n onClose?: () => void;\n onPrimaryAction?: () => void;\n /** Inserts an @mention for this user in the active channel message input. */\n onMention?: () => void;\n /** Opens the Add to Channel flow for this user. */\n onAddToChannel?: () => void;\n /** Used when `callButton` is not provided; starts a simple outbound call action. */\n onCall?: () => void;\n onSend?: () => void;\n /** Replaces the default Call icon button in the footer when provided. */\n callButton?: ReactNode;\n /** Replaces the default phone glyph shown next to the phone number. */\n phoneIcon?: ReactNode;\n /** Animation state. Set to 'closing' to play the exit animation — listen via onAnimationEnd to unmount. */\n state?: 'open' | 'closing';\n /** Fires when an animation on the popover root ends (entrance or exit). */\n onAnimationEnd?: (e: React.AnimationEvent<HTMLDivElement>) => void;\n className?: string;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Staff row text. Default: \"Staff\". */\n staffLabel?: ReactNode;\n /** Core Committer row text. Default: \"Core Committer\". */\n coreCommitterLabel?: ReactNode;\n /** Local time heading. Default: `Local time ({timezone})`. */\n formatLocalTimeLabel?: (timezone: ReactNode) => ReactNode;\n /** Custom status heading. Default: \"Status\", plus ` ({expiresLabel})` when set. */\n formatStatusLabel?: (expiresLabel: ReactNode | undefined) => ReactNode;\n /** Primary button text for `user=\"others\"`. Default: \"Message\". */\n messageLabel?: ReactNode;\n /** Primary button text for `user=\"you\"`. Default: \"Edit profile\". */\n editProfileLabel?: ReactNode;\n /** Default: \"Send message\". */\n sendMessageLabel?: string;\n /** Default: \"Mention user\". */\n mentionLabel?: string;\n /** Default: \"Add to channel\". */\n addToChannelLabel?: string;\n /** Default: \"Call\". */\n callLabel?: string;\n}\n\nconst defaultFormatLocalTimeLabel = (timezone: ReactNode) => (\n <>Local time ({timezone})</>\n);\n\nconst defaultFormatStatusLabel = (expiresLabel: ReactNode | undefined) => (\n <>\n Status\n {expiresLabel ? <> ({expiresLabel})</> : ''}\n </>\n);\n\ninterface MetaRowProps {\n icon: ReactNode;\n children: ReactNode;\n href?: string;\n}\n\nfunction MetaRow({ icon, children, href }: MetaRowProps) {\n const textClass = href\n ? styles['profile-popover__meta-link']\n : styles['profile-popover__meta-text'];\n\n return (\n <div className={styles['profile-popover__meta-item']}>\n <span className={styles['profile-popover__meta-icon']} aria-hidden>\n {icon}\n </span>\n {href ? (\n <a className={textClass} href={href}>\n {children}\n </a>\n ) : (\n <span className={textClass}>{children}</span>\n )}\n </div>\n );\n}\n\nexport default function ProfilePopover({\n user = 'others',\n avatarSrc,\n avatarAlt,\n name,\n username,\n title,\n email,\n phones,\n lastOnline,\n jobRole,\n localTime,\n customStatus,\n sharedOrg,\n staff = false,\n coreCommitter = false,\n githubHandle,\n onClose,\n onPrimaryAction,\n onMention,\n onAddToChannel,\n onCall,\n onSend,\n callButton,\n phoneIcon,\n state = 'open',\n onAnimationEnd,\n className = '',\n closeLabel = 'Close',\n staffLabel = 'Staff',\n coreCommitterLabel = 'Core Committer',\n formatLocalTimeLabel = defaultFormatLocalTimeLabel,\n formatStatusLabel = defaultFormatStatusLabel,\n messageLabel = 'Message',\n editProfileLabel = 'Edit profile',\n sendMessageLabel = 'Send message',\n mentionLabel = 'Mention user',\n addToChannelLabel = 'Add to channel',\n callLabel = 'Call',\n}: ProfilePopoverProps) {\n const isYou = user === 'you';\n\n const rootClass = [\n styles['profile-popover'],\n state === 'closing' ? styles['profile-popover--closing'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const hasPhones = Boolean(phones && phones.length > 0);\n const hasTitlesBlock =\n Boolean(email) ||\n hasPhones ||\n Boolean(sharedOrg) ||\n staff ||\n coreCommitter ||\n Boolean(githubHandle);\n const hasSecondary =\n hasTitlesBlock || Boolean(localTime) || Boolean(customStatus);\n\n return (\n <div className={rootClass} onAnimationEnd={onAnimationEnd}>\n {jobRole && (\n <div className={styles['profile-popover__role-tag']}>\n <Tag label={jobRole} casing=\"all-caps\" size=\"x-small\" />\n </div>\n )}\n\n {onClose && (\n <IconButton\n className={styles['profile-popover__close']}\n aria-label={closeLabel}\n size=\"small\"\n padding=\"compact\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n\n <section className={styles['profile-popover__primary']}>\n <UserAvatar src={avatarSrc} alt={avatarAlt} size=\"120\" status />\n {lastOnline && (\n <p className={styles['profile-popover__last-online']}>{lastOnline}</p>\n )}\n <div className={styles['profile-popover__names']}>\n <p className={styles['profile-popover__name']}>{name}</p>\n <p className={styles['profile-popover__handle']}>{username}</p>\n {title && <p className={styles['profile-popover__title']}>{title}</p>}\n </div>\n </section>\n\n {hasSecondary && (\n <section className={styles['profile-popover__secondary']}>\n {hasTitlesBlock && (\n <div className={styles['profile-popover__titles']}>\n {email && (\n <MetaRow\n icon={<Icon size=\"16\" glyph={<EmailOutlineIcon />} />}\n href={`mailto:${email}`}\n >\n {email}\n </MetaRow>\n )}\n {phones?.map((p, i) => {\n const subParts = [p.label, p.sipTrunk].filter(Boolean);\n const subText = subParts.join(' • ');\n return (\n <div\n key={`${p.number}-${i}`}\n className={[\n styles['profile-popover__meta-item'],\n styles['profile-popover__meta-item--stacked'],\n ].join(' ')}\n >\n <span\n className={styles['profile-popover__meta-icon']}\n aria-hidden\n >\n <Icon\n size=\"16\"\n glyph={p.icon ?? phoneIcon ?? <PhoneIcon />}\n />\n </span>\n <div className={styles['profile-popover__phone-body']}>\n {subText && (\n <span className={styles['profile-popover__phone-sub']}>\n {subText}\n </span>\n )}\n {p.onClick ? (\n <button\n type=\"button\"\n className={styles['profile-popover__meta-link']}\n onClick={p.onClick}\n >\n {p.number}\n </button>\n ) : (\n <a\n className={styles['profile-popover__meta-link']}\n href={p.href ?? `tel:${p.number}`}\n >\n {p.number}\n </a>\n )}\n </div>\n </div>\n );\n })}\n {sharedOrg && (\n <MetaRow\n icon={\n <Icon size=\"16\" glyph={<CircleMultipleOutlineIcon />} />\n }\n >\n {sharedOrg}\n </MetaRow>\n )}\n {staff && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n {staffLabel}\n </MetaRow>\n )}\n {coreCommitter && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n {coreCommitterLabel}\n </MetaRow>\n )}\n {githubHandle && (\n <MetaRow icon={<Icon size=\"16\" glyph={<GithubCircleIcon />} />}>\n {githubHandle}\n </MetaRow>\n )}\n </div>\n )}\n\n {localTime && (\n <div className={styles['profile-popover__local-time']}>\n <p className={styles['profile-popover__section-label']}>\n {formatLocalTimeLabel(localTime.timezone)}\n </p>\n <div className={styles['profile-popover__time']}>\n <span>{localTime.time}</span>\n {localTime.hourDifference && (\n <span>({localTime.hourDifference})</span>\n )}\n </div>\n </div>\n )}\n\n {customStatus && (\n <div className={styles['profile-popover__custom-status']}>\n <p className={styles['profile-popover__section-label']}>\n {formatStatusLabel(customStatus.expiresLabel)}\n </p>\n <div className={styles['profile-popover__status-row']}>\n <span\n className={styles['profile-popover__status-emoji']}\n aria-hidden\n >\n {customStatus.emoji}\n </span>\n <span>{customStatus.text}</span>\n </div>\n </div>\n )}\n </section>\n )}\n\n <footer\n className={[\n styles['profile-popover__footer'],\n isYou\n ? styles['profile-popover__footer--you']\n : styles['profile-popover__footer--others'],\n ].join(' ')}\n >\n <div\n className={[\n styles['profile-popover__primary-action'],\n isYou\n ? styles['profile-popover__primary-action--you']\n : styles['profile-popover__primary-action--others'],\n ].join(' ')}\n >\n <Button\n className={styles['profile-popover__primary-button']}\n size=\"small\"\n emphasis=\"primary\"\n leadingIcon={\n isYou ? (\n <Icon size=\"12\" glyph={<PencilOutlineIcon />} />\n ) : (\n <Icon size=\"12\" glyph={<SendOutlineIcon />} />\n )\n }\n onClick={onPrimaryAction}\n >\n {isYou ? editProfileLabel : messageLabel}\n </Button>\n </div>\n <div className={styles['profile-popover__secondary-actions']}>\n {isYou ? (\n <IconButton\n aria-label={sendMessageLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<SendOutlineIcon />} />}\n onClick={onSend}\n />\n ) : (\n <>\n <IconButton\n aria-label={mentionLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AtIcon />} />}\n onClick={onMention}\n />\n <IconButton\n aria-label={addToChannelLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AccountPlusOutlineIcon />} />}\n onClick={onAddToChannel}\n />\n {callButton ??\n (onCall ? (\n <IconButton\n aria-label={callLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<PhoneIcon />} />}\n onClick={onCall}\n />\n ) : null)}\n </>\n )}\n </div>\n </footer>\n </div>\n );\n}\n"],"names":["defaultFormatLocalTimeLabel","timezone","jsxs","Fragment","defaultFormatStatusLabel","expiresLabel","MetaRow","icon","children","href","textClass","styles","jsx","ProfilePopover","user","avatarSrc","avatarAlt","name","username","title","email","phones","lastOnline","jobRole","localTime","customStatus","sharedOrg","staff","coreCommitter","githubHandle","onClose","onPrimaryAction","onMention","onAddToChannel","onCall","onSend","callButton","phoneIcon","state","onAnimationEnd","className","closeLabel","staffLabel","coreCommitterLabel","formatLocalTimeLabel","formatStatusLabel","messageLabel","editProfileLabel","sendMessageLabel","mentionLabel","addToChannelLabel","callLabel","isYou","rootClass","hasPhones","hasTitlesBlock","hasSecondary","Tag","IconButton","Icon","CloseIcon","UserAvatar","EmailOutlineIcon","p","i","subText","PhoneIcon","CircleMultipleOutlineIcon","MattermostIcon","GithubCircleIcon","Button","PencilOutlineIcon","SendOutlineIcon","AtIcon","AccountPlusOutlineIcon"],"mappings":"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"}
|
|
@@ -2,17 +2,17 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
export type ProfilePopoverUser = 'others' | 'you';
|
|
3
3
|
export interface ProfilePopoverCustomStatus {
|
|
4
4
|
emoji: string;
|
|
5
|
-
text:
|
|
5
|
+
text: ReactNode;
|
|
6
6
|
/** Label suffix like "Until Tomorrow". */
|
|
7
|
-
expiresLabel?:
|
|
7
|
+
expiresLabel?: ReactNode;
|
|
8
8
|
}
|
|
9
9
|
export interface ProfilePopoverLocalTime {
|
|
10
10
|
/** Local time, e.g. "10:42 PM". */
|
|
11
|
-
time:
|
|
11
|
+
time: ReactNode;
|
|
12
12
|
/** Timezone abbreviation, e.g. "EST". */
|
|
13
|
-
timezone:
|
|
13
|
+
timezone: ReactNode;
|
|
14
14
|
/** Hour difference relative to viewer, e.g. "3 hrs behind". */
|
|
15
|
-
hourDifference?:
|
|
15
|
+
hourDifference?: ReactNode;
|
|
16
16
|
}
|
|
17
17
|
export interface ProfilePopoverPhone {
|
|
18
18
|
number: string;
|
|
@@ -34,25 +34,25 @@ export interface ProfilePopoverProps {
|
|
|
34
34
|
/** Avatar alt text. */
|
|
35
35
|
avatarAlt: string;
|
|
36
36
|
/** Full name. */
|
|
37
|
-
name:
|
|
37
|
+
name: ReactNode;
|
|
38
38
|
/** @handle. */
|
|
39
|
-
username:
|
|
39
|
+
username: ReactNode;
|
|
40
40
|
/** Job title. */
|
|
41
|
-
title?:
|
|
41
|
+
title?: ReactNode;
|
|
42
42
|
/** Email address. */
|
|
43
43
|
email?: string;
|
|
44
44
|
/** Phone rows shown under the email. */
|
|
45
45
|
phones?: ProfilePopoverPhone[];
|
|
46
46
|
/** Caption above the name, e.g. "Last online 6 hrs ago". */
|
|
47
|
-
lastOnline?:
|
|
47
|
+
lastOnline?: ReactNode;
|
|
48
48
|
/** Role tag shown at the very top, e.g. "System Admin". (Named `jobRole` to avoid clashing with the ARIA `role` attribute in JSX.) */
|
|
49
|
-
jobRole?:
|
|
49
|
+
jobRole?: ReactNode;
|
|
50
50
|
/** Local time block. */
|
|
51
51
|
localTime?: ProfilePopoverLocalTime;
|
|
52
52
|
/** Custom status. */
|
|
53
53
|
customStatus?: ProfilePopoverCustomStatus;
|
|
54
54
|
/** Shared member org name. */
|
|
55
|
-
sharedOrg?:
|
|
55
|
+
sharedOrg?: ReactNode;
|
|
56
56
|
/** Shows a Staff row. */
|
|
57
57
|
staff?: boolean;
|
|
58
58
|
/** Shows a Core Committer row. */
|
|
@@ -77,6 +77,28 @@ export interface ProfilePopoverProps {
|
|
|
77
77
|
/** Fires when an animation on the popover root ends (entrance or exit). */
|
|
78
78
|
onAnimationEnd?: (e: React.AnimationEvent<HTMLDivElement>) => void;
|
|
79
79
|
className?: string;
|
|
80
|
+
/** Accessible name for the close button. Default: "Close". */
|
|
81
|
+
closeLabel?: string;
|
|
82
|
+
/** Staff row text. Default: "Staff". */
|
|
83
|
+
staffLabel?: ReactNode;
|
|
84
|
+
/** Core Committer row text. Default: "Core Committer". */
|
|
85
|
+
coreCommitterLabel?: ReactNode;
|
|
86
|
+
/** Local time heading. Default: `Local time ({timezone})`. */
|
|
87
|
+
formatLocalTimeLabel?: (timezone: ReactNode) => ReactNode;
|
|
88
|
+
/** Custom status heading. Default: "Status", plus ` ({expiresLabel})` when set. */
|
|
89
|
+
formatStatusLabel?: (expiresLabel: ReactNode | undefined) => ReactNode;
|
|
90
|
+
/** Primary button text for `user="others"`. Default: "Message". */
|
|
91
|
+
messageLabel?: ReactNode;
|
|
92
|
+
/** Primary button text for `user="you"`. Default: "Edit profile". */
|
|
93
|
+
editProfileLabel?: ReactNode;
|
|
94
|
+
/** Default: "Send message". */
|
|
95
|
+
sendMessageLabel?: string;
|
|
96
|
+
/** Default: "Mention user". */
|
|
97
|
+
mentionLabel?: string;
|
|
98
|
+
/** Default: "Add to channel". */
|
|
99
|
+
addToChannelLabel?: string;
|
|
100
|
+
/** Default: "Call". */
|
|
101
|
+
callLabel?: string;
|
|
80
102
|
}
|
|
81
|
-
export default function ProfilePopover({ user, avatarSrc, avatarAlt, name, username, title, email, phones, lastOnline, jobRole, localTime, customStatus, sharedOrg, staff, coreCommitter, githubHandle, onClose, onPrimaryAction, onMention, onAddToChannel, onCall, onSend, callButton, phoneIcon, state, onAnimationEnd, className, }: ProfilePopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
103
|
+
export default function ProfilePopover({ user, avatarSrc, avatarAlt, name, username, title, email, phones, lastOnline, jobRole, localTime, customStatus, sharedOrg, staff, coreCommitter, githubHandle, onClose, onPrimaryAction, onMention, onAddToChannel, onCall, onSend, callButton, phoneIcon, state, onAnimationEnd, className, closeLabel, staffLabel, coreCommitterLabel, formatLocalTimeLabel, formatStatusLabel, messageLabel, editProfileLabel, sendMessageLabel, mentionLabel, addToChannelLabel, callLabel, }: ProfilePopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
82
104
|
//# sourceMappingURL=ProfilePopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePopover.d.ts","sourceRoot":"","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBvC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElD,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ProfilePopover.d.ts","sourceRoot":"","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"names":[],"mappings":"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"}
|