@mattermost/compass-ui 0.1.0-alpha.11 → 0.1.0-alpha.13
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 +64 -60
- package/dist/components/channel-sidebar-item/ChannelSidebarItem.js.map +1 -1
- 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.d.ts +17 -3
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +38 -26
- package/dist/components/modal/Modal.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-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 +12 -12
- 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 +14 -14
- 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 +11 -3
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +56 -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 +9 -9
- 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/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -46
- package/dist/index.js.map +1 -1
- 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 +1 -9
- package/dist/components/team-sidebar/TeamSidebar.cjs +0 -2
- package/dist/components/team-sidebar/TeamSidebar.cjs.map +0 -1
- package/dist/components/team-sidebar/TeamSidebar.css +0 -1
- package/dist/components/team-sidebar/TeamSidebar.d.ts +0 -21
- package/dist/components/team-sidebar/TeamSidebar.d.ts.map +0 -1
- package/dist/components/team-sidebar/TeamSidebar.js +0 -85
- package/dist/components/team-sidebar/TeamSidebar.js.map +0 -1
- package/dist/components/team-sidebar/TeamSidebar.module.scss.cjs +0 -2
- package/dist/components/team-sidebar/TeamSidebar.module.scss.cjs.map +0 -1
- package/dist/components/team-sidebar/TeamSidebar.module.scss.js +0 -13
- package/dist/components/team-sidebar/TeamSidebar.module.scss.js.map +0 -1
- package/dist/components/team-sidebar/index.cjs +0 -2
- package/dist/components/team-sidebar/index.cjs.map +0 -1
- package/dist/components/team-sidebar/index.d.ts +0 -3
- package/dist/components/team-sidebar/index.d.ts.map +0 -1
- package/dist/components/team-sidebar/index.js +0 -5
- package/dist/components/team-sidebar/index.js.map +0 -1
- package/dist/node_modules/simplebar-react/dist/simplebar.min.css +0 -1
|
@@ -1,95 +1,118 @@
|
|
|
1
|
-
import { jsxs as i, jsx as e, Fragment as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { jsxs as i, jsx as e, Fragment as v } from "react/jsx-runtime";
|
|
2
|
+
import __ie from "@mattermost/compass-icons/components/close.js";const ie=__ie&&__ie.default?__ie.default:__ie;
|
|
3
|
+
import __re from "@mattermost/compass-icons/components/email-outline.js";const re=__re&&__re.default?__re.default:__re;
|
|
4
|
+
import __le from "@mattermost/compass-icons/components/circle-multiple-outline.js";const le=__le&&__le.default?__le.default:__le;
|
|
5
|
+
import __ae from "@mattermost/compass-icons/components/github-circle.js";const ae=__ae&&__ae.default?__ae.default:__ae;
|
|
6
6
|
import __x from "@mattermost/compass-icons/components/mattermost.js";const x=__x&&__x.default?__x.default:__x;
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
7
|
+
import __pe from "@mattermost/compass-icons/components/account-plus-outline.js";const pe=__pe&&__pe.default?__pe.default:__pe;
|
|
8
|
+
import __P from "@mattermost/compass-icons/components/phone.js";const P=__P&&__P.default?__P.default:__P;
|
|
9
|
+
import __ne from "@mattermost/compass-icons/components/at.js";const ne=__ne&&__ne.default?__ne.default:__ne;
|
|
10
|
+
import __M from "@mattermost/compass-icons/components/send-outline.js";const M=__M&&__M.default?__M.default:__M;
|
|
11
|
+
import __se from "@mattermost/compass-icons/components/pencil-outline.js";const se=__se&&__se.default?__se.default:__se;
|
|
12
|
+
import ce from "../button/Button.js";
|
|
13
|
+
import m from "../icon-button/IconButton.js";
|
|
14
|
+
import te from "../user-avatar/UserAvatar.js";
|
|
15
|
+
import me from "../tag/Tag.js";
|
|
16
16
|
import r from "../icon/Icon.js";
|
|
17
17
|
import o from "./ProfilePopover.module.scss.js";
|
|
18
|
-
|
|
18
|
+
const fe = (a) => /* @__PURE__ */ i(v, { children: [
|
|
19
|
+
"Local time (",
|
|
20
|
+
a,
|
|
21
|
+
")"
|
|
22
|
+
] }), de = (a) => /* @__PURE__ */ i(v, { children: [
|
|
23
|
+
"Status",
|
|
24
|
+
a ? /* @__PURE__ */ i(v, { children: [
|
|
25
|
+
" (",
|
|
26
|
+
a,
|
|
27
|
+
")"
|
|
28
|
+
] }) : ""
|
|
29
|
+
] });
|
|
30
|
+
function f({ icon: a, children: d, href: n }) {
|
|
19
31
|
const _ = n ? o["profile-popover__meta-link"] : o["profile-popover__meta-text"];
|
|
20
32
|
return /* @__PURE__ */ i("div", { className: o["profile-popover__meta-item"], children: [
|
|
21
|
-
/* @__PURE__ */ e("span", { className: o["profile-popover__meta-icon"], "aria-hidden": !0, children:
|
|
22
|
-
n ? /* @__PURE__ */ e("a", { className: _, href: n, children:
|
|
33
|
+
/* @__PURE__ */ e("span", { className: o["profile-popover__meta-icon"], "aria-hidden": !0, children: a }),
|
|
34
|
+
n ? /* @__PURE__ */ e("a", { className: _, href: n, children: d }) : /* @__PURE__ */ e("span", { className: _, children: d })
|
|
23
35
|
] });
|
|
24
36
|
}
|
|
25
|
-
function
|
|
26
|
-
user:
|
|
27
|
-
avatarSrc:
|
|
37
|
+
function Le({
|
|
38
|
+
user: a = "others",
|
|
39
|
+
avatarSrc: d,
|
|
28
40
|
avatarAlt: n,
|
|
29
41
|
name: _,
|
|
30
|
-
username:
|
|
31
|
-
title:
|
|
32
|
-
email:
|
|
42
|
+
username: A,
|
|
43
|
+
title: y,
|
|
44
|
+
email: h,
|
|
33
45
|
phones: s,
|
|
34
|
-
lastOnline:
|
|
35
|
-
jobRole:
|
|
46
|
+
lastOnline: z,
|
|
47
|
+
jobRole: b,
|
|
36
48
|
localTime: p,
|
|
37
|
-
customStatus:
|
|
38
|
-
sharedOrg:
|
|
39
|
-
staff:
|
|
40
|
-
coreCommitter:
|
|
41
|
-
githubHandle:
|
|
42
|
-
onClose:
|
|
43
|
-
onPrimaryAction:
|
|
44
|
-
onMention:
|
|
45
|
-
onAddToChannel:
|
|
46
|
-
onCall:
|
|
49
|
+
customStatus: c,
|
|
50
|
+
sharedOrg: u,
|
|
51
|
+
staff: g = !1,
|
|
52
|
+
coreCommitter: k = !1,
|
|
53
|
+
githubHandle: N,
|
|
54
|
+
onClose: C,
|
|
55
|
+
onPrimaryAction: L,
|
|
56
|
+
onMention: $,
|
|
57
|
+
onAddToChannel: F,
|
|
58
|
+
onCall: I,
|
|
47
59
|
onSend: w,
|
|
48
60
|
callButton: D,
|
|
49
61
|
phoneIcon: E,
|
|
50
62
|
state: O = "open",
|
|
51
|
-
onAnimationEnd:
|
|
52
|
-
className: G = ""
|
|
63
|
+
onAnimationEnd: S,
|
|
64
|
+
className: G = "",
|
|
65
|
+
closeLabel: U = "Close",
|
|
66
|
+
staffLabel: Y = "Staff",
|
|
67
|
+
coreCommitterLabel: q = "Core Committer",
|
|
68
|
+
formatLocalTimeLabel: J = fe,
|
|
69
|
+
formatStatusLabel: K = de,
|
|
70
|
+
messageLabel: Q = "Message",
|
|
71
|
+
editProfileLabel: R = "Edit profile",
|
|
72
|
+
sendMessageLabel: T = "Send message",
|
|
73
|
+
mentionLabel: V = "Mention user",
|
|
74
|
+
addToChannelLabel: W = "Add to channel",
|
|
75
|
+
callLabel: X = "Call"
|
|
53
76
|
}) {
|
|
54
|
-
const
|
|
77
|
+
const t = a === "you", Z = [
|
|
55
78
|
o["profile-popover"],
|
|
56
79
|
O === "closing" ? o["profile-popover--closing"] : "",
|
|
57
80
|
G
|
|
58
|
-
].filter(Boolean).join(" "),
|
|
59
|
-
return /* @__PURE__ */ i("div", { className:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
81
|
+
].filter(Boolean).join(" "), H = !!(s && s.length > 0), B = !!h || H || !!u || g || k || !!N, ee = B || !!p || !!c;
|
|
82
|
+
return /* @__PURE__ */ i("div", { className: Z, onAnimationEnd: S, children: [
|
|
83
|
+
b && /* @__PURE__ */ e("div", { className: o["profile-popover__role-tag"], children: /* @__PURE__ */ e(me, { label: b, casing: "all-caps", size: "x-small" }) }),
|
|
84
|
+
C && /* @__PURE__ */ e(
|
|
85
|
+
m,
|
|
63
86
|
{
|
|
64
87
|
className: o["profile-popover__close"],
|
|
65
|
-
"aria-label":
|
|
88
|
+
"aria-label": U,
|
|
66
89
|
size: "small",
|
|
67
90
|
padding: "compact",
|
|
68
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
69
|
-
onClick:
|
|
91
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(ie, {}) }),
|
|
92
|
+
onClick: C
|
|
70
93
|
}
|
|
71
94
|
),
|
|
72
95
|
/* @__PURE__ */ i("section", { className: o["profile-popover__primary"], children: [
|
|
73
|
-
/* @__PURE__ */ e(
|
|
74
|
-
|
|
96
|
+
/* @__PURE__ */ e(te, { src: d, alt: n, size: "120", status: !0 }),
|
|
97
|
+
z && /* @__PURE__ */ e("p", { className: o["profile-popover__last-online"], children: z }),
|
|
75
98
|
/* @__PURE__ */ i("div", { className: o["profile-popover__names"], children: [
|
|
76
99
|
/* @__PURE__ */ e("p", { className: o["profile-popover__name"], children: _ }),
|
|
77
|
-
/* @__PURE__ */ e("p", { className: o["profile-popover__handle"], children:
|
|
78
|
-
|
|
100
|
+
/* @__PURE__ */ e("p", { className: o["profile-popover__handle"], children: A }),
|
|
101
|
+
y && /* @__PURE__ */ e("p", { className: o["profile-popover__title"], children: y })
|
|
79
102
|
] })
|
|
80
103
|
] }),
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
104
|
+
ee && /* @__PURE__ */ i("section", { className: o["profile-popover__secondary"], children: [
|
|
105
|
+
B && /* @__PURE__ */ i("div", { className: o["profile-popover__titles"], children: [
|
|
106
|
+
h && /* @__PURE__ */ e(
|
|
107
|
+
f,
|
|
85
108
|
{
|
|
86
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
87
|
-
href: `mailto:${
|
|
88
|
-
children:
|
|
109
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(re, {}) }),
|
|
110
|
+
href: `mailto:${h}`,
|
|
111
|
+
children: h
|
|
89
112
|
}
|
|
90
113
|
),
|
|
91
|
-
s == null ? void 0 : s.map((l,
|
|
92
|
-
const
|
|
114
|
+
s == null ? void 0 : s.map((l, oe) => {
|
|
115
|
+
const j = [l.label, l.sipTrunk].filter(Boolean).join(" • ");
|
|
93
116
|
return /* @__PURE__ */ i(
|
|
94
117
|
"div",
|
|
95
118
|
{
|
|
@@ -107,13 +130,13 @@ function ye({
|
|
|
107
130
|
r,
|
|
108
131
|
{
|
|
109
132
|
size: "16",
|
|
110
|
-
glyph: l.icon ?? E ?? /* @__PURE__ */ e(
|
|
133
|
+
glyph: l.icon ?? E ?? /* @__PURE__ */ e(P, {})
|
|
111
134
|
}
|
|
112
135
|
)
|
|
113
136
|
}
|
|
114
137
|
),
|
|
115
138
|
/* @__PURE__ */ i("div", { className: o["profile-popover__phone-body"], children: [
|
|
116
|
-
|
|
139
|
+
j && /* @__PURE__ */ e("span", { className: o["profile-popover__phone-sub"], children: j }),
|
|
117
140
|
l.onClick ? /* @__PURE__ */ e(
|
|
118
141
|
"button",
|
|
119
142
|
{
|
|
@@ -133,26 +156,22 @@ function ye({
|
|
|
133
156
|
] })
|
|
134
157
|
]
|
|
135
158
|
},
|
|
136
|
-
`${l.number}-${
|
|
159
|
+
`${l.number}-${oe}`
|
|
137
160
|
);
|
|
138
161
|
}),
|
|
139
|
-
|
|
140
|
-
|
|
162
|
+
u && /* @__PURE__ */ e(
|
|
163
|
+
f,
|
|
141
164
|
{
|
|
142
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
143
|
-
children:
|
|
165
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(le, {}) }),
|
|
166
|
+
children: u
|
|
144
167
|
}
|
|
145
168
|
),
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
169
|
+
g && /* @__PURE__ */ e(f, { icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(x, {}) }), children: Y }),
|
|
170
|
+
k && /* @__PURE__ */ e(f, { icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(x, {}) }), children: q }),
|
|
171
|
+
N && /* @__PURE__ */ e(f, { icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(ae, {}) }), children: N })
|
|
149
172
|
] }),
|
|
150
173
|
p && /* @__PURE__ */ i("div", { className: o["profile-popover__local-time"], children: [
|
|
151
|
-
/* @__PURE__ */
|
|
152
|
-
"Local time (",
|
|
153
|
-
p.timezone,
|
|
154
|
-
")"
|
|
155
|
-
] }),
|
|
174
|
+
/* @__PURE__ */ e("p", { className: o["profile-popover__section-label"], children: J(p.timezone) }),
|
|
156
175
|
/* @__PURE__ */ i("div", { className: o["profile-popover__time"], children: [
|
|
157
176
|
/* @__PURE__ */ e("span", { children: p.time }),
|
|
158
177
|
p.hourDifference && /* @__PURE__ */ i("span", { children: [
|
|
@@ -162,21 +181,18 @@ function ye({
|
|
|
162
181
|
] })
|
|
163
182
|
] })
|
|
164
183
|
] }),
|
|
165
|
-
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
"Status",
|
|
168
|
-
a.expiresLabel ? ` (${a.expiresLabel})` : ""
|
|
169
|
-
] }),
|
|
184
|
+
c && /* @__PURE__ */ i("div", { className: o["profile-popover__custom-status"], children: [
|
|
185
|
+
/* @__PURE__ */ e("p", { className: o["profile-popover__section-label"], children: K(c.expiresLabel) }),
|
|
170
186
|
/* @__PURE__ */ i("div", { className: o["profile-popover__status-row"], children: [
|
|
171
187
|
/* @__PURE__ */ e(
|
|
172
188
|
"span",
|
|
173
189
|
{
|
|
174
190
|
className: o["profile-popover__status-emoji"],
|
|
175
191
|
"aria-hidden": !0,
|
|
176
|
-
children:
|
|
192
|
+
children: c.emoji
|
|
177
193
|
}
|
|
178
194
|
),
|
|
179
|
-
/* @__PURE__ */ e("span", { children:
|
|
195
|
+
/* @__PURE__ */ e("span", { children: c.text })
|
|
180
196
|
] })
|
|
181
197
|
] })
|
|
182
198
|
] }),
|
|
@@ -185,7 +201,7 @@ function ye({
|
|
|
185
201
|
{
|
|
186
202
|
className: [
|
|
187
203
|
o["profile-popover__footer"],
|
|
188
|
-
|
|
204
|
+
t ? o["profile-popover__footer--you"] : o["profile-popover__footer--others"]
|
|
189
205
|
].join(" "),
|
|
190
206
|
children: [
|
|
191
207
|
/* @__PURE__ */ e(
|
|
@@ -193,55 +209,55 @@ function ye({
|
|
|
193
209
|
{
|
|
194
210
|
className: [
|
|
195
211
|
o["profile-popover__primary-action"],
|
|
196
|
-
|
|
212
|
+
t ? o["profile-popover__primary-action--you"] : o["profile-popover__primary-action--others"]
|
|
197
213
|
].join(" "),
|
|
198
214
|
children: /* @__PURE__ */ e(
|
|
199
|
-
|
|
215
|
+
ce,
|
|
200
216
|
{
|
|
201
217
|
className: o["profile-popover__primary-button"],
|
|
202
218
|
size: "small",
|
|
203
219
|
emphasis: "primary",
|
|
204
|
-
leadingIcon:
|
|
205
|
-
onClick:
|
|
206
|
-
children:
|
|
220
|
+
leadingIcon: t ? /* @__PURE__ */ e(r, { size: "12", glyph: /* @__PURE__ */ e(se, {}) }) : /* @__PURE__ */ e(r, { size: "12", glyph: /* @__PURE__ */ e(M, {}) }),
|
|
221
|
+
onClick: L,
|
|
222
|
+
children: t ? R : Q
|
|
207
223
|
}
|
|
208
224
|
)
|
|
209
225
|
}
|
|
210
226
|
),
|
|
211
|
-
/* @__PURE__ */ e("div", { className: o["profile-popover__secondary-actions"], children:
|
|
212
|
-
|
|
227
|
+
/* @__PURE__ */ e("div", { className: o["profile-popover__secondary-actions"], children: t ? /* @__PURE__ */ e(
|
|
228
|
+
m,
|
|
213
229
|
{
|
|
214
|
-
"aria-label":
|
|
230
|
+
"aria-label": T,
|
|
215
231
|
size: "small",
|
|
216
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
232
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(M, {}) }),
|
|
217
233
|
onClick: w
|
|
218
234
|
}
|
|
219
|
-
) : /* @__PURE__ */ i(
|
|
235
|
+
) : /* @__PURE__ */ i(v, { children: [
|
|
220
236
|
/* @__PURE__ */ e(
|
|
221
|
-
|
|
237
|
+
m,
|
|
222
238
|
{
|
|
223
|
-
"aria-label":
|
|
239
|
+
"aria-label": V,
|
|
224
240
|
size: "small",
|
|
225
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
226
|
-
onClick:
|
|
241
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(ne, {}) }),
|
|
242
|
+
onClick: $
|
|
227
243
|
}
|
|
228
244
|
),
|
|
229
245
|
/* @__PURE__ */ e(
|
|
230
|
-
|
|
246
|
+
m,
|
|
231
247
|
{
|
|
232
|
-
"aria-label":
|
|
248
|
+
"aria-label": W,
|
|
233
249
|
size: "small",
|
|
234
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
235
|
-
onClick:
|
|
250
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(pe, {}) }),
|
|
251
|
+
onClick: F
|
|
236
252
|
}
|
|
237
253
|
),
|
|
238
|
-
D ?? (
|
|
239
|
-
|
|
254
|
+
D ?? (I ? /* @__PURE__ */ e(
|
|
255
|
+
m,
|
|
240
256
|
{
|
|
241
|
-
"aria-label":
|
|
257
|
+
"aria-label": X,
|
|
242
258
|
size: "small",
|
|
243
|
-
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(
|
|
244
|
-
onClick:
|
|
259
|
+
icon: /* @__PURE__ */ e(r, { size: "16", glyph: /* @__PURE__ */ e(P, {}) }),
|
|
260
|
+
onClick: I
|
|
245
261
|
}
|
|
246
262
|
) : null)
|
|
247
263
|
] }) })
|
|
@@ -251,6 +267,6 @@ function ye({
|
|
|
251
267
|
] });
|
|
252
268
|
}
|
|
253
269
|
export {
|
|
254
|
-
|
|
270
|
+
Le as default
|
|
255
271
|
};
|
|
256
272
|
//# sourceMappingURL=ProfilePopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePopover.js","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.js","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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),r=require("./ProgressBar.module.scss.cjs");function
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),r=require("./ProgressBar.module.scss.cjs");function g(e){return e>=90?r.default["progress-bar__fill--danger"]:e>=70?r.default["progress-bar__fill--warning"]:r.default["progress-bar__fill--success"]}function c({value:e=0,size:o="large",semanticColors:i=!1,indeterminate:a=!1,"aria-label":t="Progress",className:u="",...f}){const l=Math.min(100,Math.max(0,e)),n=o==="small"?r.default["progress-bar--size-small"]:r.default["progress-bar--size-large"],d=i&&!a?g(l):r.default["progress-bar__fill--default"];return s.jsx("div",{...f,role:"progressbar","aria-valuenow":a?void 0:l,"aria-valuemin":0,"aria-valuemax":100,"aria-label":t,className:[r.default["progress-bar"],n,a?r.default["progress-bar--indeterminate"]:"",u].filter(Boolean).join(" "),children:s.jsx("div",{className:[r.default["progress-bar__fill"],d].filter(Boolean).join(" "),style:a?void 0:{width:`${l}%`}})})}exports.default=c;
|
|
2
2
|
//# sourceMappingURL=ProgressBar.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.cjs","sources":["../../../src/components/progress-bar/ProgressBar.tsx"],"sourcesContent":["import styles from './ProgressBar.module.scss';\n\nexport type ProgressBarSize = 'small' | 'large';\n\nexport interface ProgressBarProps {\n /** Progress value 0–100. Default: 0. */\n value?: number;\n /** Size variant. Default: Large. */\n size?: ProgressBarSize;\n /**\n * When true, fill color shifts from green→yellow→red based on percentage.\n * When false, uses the default brand blue. Default: false.\n */\n semanticColors?: boolean;\n /**\n * When true, shows an animated bar for work with an unknown total and omits\n * `aria-valuenow`. `value` and `semanticColors` are ignored. Default: false.\n */\n indeterminate?: boolean;\n /** Accessible label for the progress bar. */\n 'aria-label'?: string;\n /** Optional CSS class name. */\n className?: string;\n}\n\nfunction getSemanticColorClass(value: number): string {\n if (value >= 90) return styles['progress-bar__fill--danger'];\n if (value >= 70) return styles['progress-bar__fill--warning'];\n return styles['progress-bar__fill--success'];\n}\n\n/**\n * Progress Bar shows determinate progress through a wait state — an upload finishing, a\n * quota filling, an import running. Use it when the duration or total is known; reach for\n * [Spinner](/components/spinner) when it isn't.\n */\nexport default function ProgressBar({\n value = 0,\n size = 'large',\n semanticColors = false,\n indeterminate = false,\n 'aria-label': ariaLabel = 'Progress',\n className = '',\n}: ProgressBarProps) {\n const clampedValue = Math.min(100, Math.max(0, value));\n const sizeClass =\n size === 'small'\n ? styles['progress-bar--size-small']\n : styles['progress-bar--size-large'];\n\n const fillColorClass =\n semanticColors && !indeterminate\n ? getSemanticColorClass(clampedValue)\n : styles['progress-bar__fill--default'];\n\n return (\n <div\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={ariaLabel}\n className={[\n styles['progress-bar'],\n sizeClass,\n indeterminate ? styles['progress-bar--indeterminate'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[styles['progress-bar__fill'], fillColorClass]\n .filter(Boolean)\n .join(' ')}\n style={indeterminate ? undefined : { width: `${clampedValue}%` }}\n />\n </div>\n );\n}\n"],"names":["getSemanticColorClass","value","styles","ProgressBar","size","semanticColors","indeterminate","ariaLabel","className","clampedValue","sizeClass","fillColorClass","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProgressBar.cjs","sources":["../../../src/components/progress-bar/ProgressBar.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './ProgressBar.module.scss';\n\nexport type ProgressBarSize = 'small' | 'large';\n\nexport interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {\n /** Progress value 0–100. Default: 0. */\n value?: number;\n /** Size variant. Default: Large. */\n size?: ProgressBarSize;\n /**\n * When true, fill color shifts from green→yellow→red based on percentage.\n * When false, uses the default brand blue. Default: false.\n */\n semanticColors?: boolean;\n /**\n * When true, shows an animated bar for work with an unknown total and omits\n * `aria-valuenow`. `value` and `semanticColors` are ignored. Default: false.\n */\n indeterminate?: boolean;\n /** Accessible label for the progress bar. Default: \"Progress\". */\n 'aria-label'?: string;\n /** Optional CSS class name. */\n className?: string;\n}\n\nfunction getSemanticColorClass(value: number): string {\n if (value >= 90) return styles['progress-bar__fill--danger'];\n if (value >= 70) return styles['progress-bar__fill--warning'];\n return styles['progress-bar__fill--success'];\n}\n\n/**\n * Progress Bar shows determinate progress through a wait state — an upload finishing, a\n * quota filling, an import running. Use it when the duration or total is known; reach for\n * [Spinner](/components/spinner) when it isn't.\n */\nexport default function ProgressBar({\n value = 0,\n size = 'large',\n semanticColors = false,\n indeterminate = false,\n 'aria-label': ariaLabel = 'Progress',\n className = '',\n ...rest\n}: ProgressBarProps) {\n const clampedValue = Math.min(100, Math.max(0, value));\n const sizeClass =\n size === 'small'\n ? styles['progress-bar--size-small']\n : styles['progress-bar--size-large'];\n\n const fillColorClass =\n semanticColors && !indeterminate\n ? getSemanticColorClass(clampedValue)\n : styles['progress-bar__fill--default'];\n\n return (\n <div\n {...rest}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={ariaLabel}\n className={[\n styles['progress-bar'],\n sizeClass,\n indeterminate ? styles['progress-bar--indeterminate'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[styles['progress-bar__fill'], fillColorClass]\n .filter(Boolean)\n .join(' ')}\n style={indeterminate ? undefined : { width: `${clampedValue}%` }}\n />\n </div>\n );\n}\n"],"names":["getSemanticColorClass","value","styles","ProgressBar","size","semanticColors","indeterminate","ariaLabel","className","rest","clampedValue","sizeClass","fillColorClass","jsx"],"mappings":"4LA0BA,SAASA,EAAsBC,EAAuB,CACpD,OAAIA,GAAS,GAAWC,EAAAA,QAAO,4BAA4B,EACvDD,GAAS,GAAWC,EAAAA,QAAO,6BAA6B,EACrDA,EAAAA,QAAO,6BAA6B,CAC7C,CAOA,SAAwBC,EAAY,CAClC,MAAAF,EAAQ,EACR,KAAAG,EAAO,QACP,eAAAC,EAAiB,GACjB,cAAAC,EAAgB,GAChB,aAAcC,EAAY,WAC1B,UAAAC,EAAY,GACZ,GAAGC,CACL,EAAqB,CACnB,MAAMC,EAAe,KAAK,IAAI,IAAK,KAAK,IAAI,EAAGT,CAAK,CAAC,EAC/CU,EACJP,IAAS,QACLF,EAAAA,QAAO,0BAA0B,EACjCA,EAAAA,QAAO,0BAA0B,EAEjCU,EACJP,GAAkB,CAACC,EACfN,EAAsBU,CAAY,EAClCR,EAAAA,QAAO,6BAA6B,EAE1C,OACEW,EAAAA,IAAC,MAAA,CACE,GAAGJ,EACJ,KAAK,cACL,gBAAeH,EAAgB,OAAYI,EAC3C,gBAAe,EACf,gBAAe,IACf,aAAYH,EACZ,UAAW,CACTL,EAAAA,QAAO,cAAc,EACrBS,EACAL,EAAgBJ,EAAAA,QAAO,6BAA6B,EAAI,GACxDM,CAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,SAAAK,EAAAA,IAAC,MAAA,CACC,UAAW,CAACX,UAAO,oBAAoB,EAAGU,CAAc,EACrD,OAAO,OAAO,EACd,KAAK,GAAG,EACX,MAAON,EAAgB,OAAY,CAAE,MAAO,GAAGI,CAAY,GAAA,CAAI,CAAA,CACjE,CAAA,CAGN"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
1
2
|
export type ProgressBarSize = 'small' | 'large';
|
|
2
|
-
export interface ProgressBarProps {
|
|
3
|
+
export interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
/** Progress value 0–100. Default: 0. */
|
|
4
5
|
value?: number;
|
|
5
6
|
/** Size variant. Default: Large. */
|
|
@@ -14,7 +15,7 @@ export interface ProgressBarProps {
|
|
|
14
15
|
* `aria-valuenow`. `value` and `semanticColors` are ignored. Default: false.
|
|
15
16
|
*/
|
|
16
17
|
indeterminate?: boolean;
|
|
17
|
-
/** Accessible label for the progress bar. */
|
|
18
|
+
/** Accessible label for the progress bar. Default: "Progress". */
|
|
18
19
|
'aria-label'?: string;
|
|
19
20
|
/** Optional CSS class name. */
|
|
20
21
|
className?: string;
|
|
@@ -24,5 +25,5 @@ export interface ProgressBarProps {
|
|
|
24
25
|
* quota filling, an import running. Use it when the duration or total is known; reach for
|
|
25
26
|
* [Spinner](/components/spinner) when it isn't.
|
|
26
27
|
*/
|
|
27
|
-
export default function ProgressBar({ value, size, semanticColors, indeterminate, 'aria-label': ariaLabel, className, }: ProgressBarProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export default function ProgressBar({ value, size, semanticColors, indeterminate, 'aria-label': ariaLabel, className, ...rest }: ProgressBarProps): import("react/jsx-runtime").JSX.Element;
|
|
28
29
|
//# sourceMappingURL=ProgressBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/progress-bar/ProgressBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/progress-bar/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACtE,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAS,EACT,IAAc,EACd,cAAsB,EACtB,aAAqB,EACrB,YAAY,EAAE,SAAsB,EACpC,SAAc,EACd,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAqClB"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import r from "./ProgressBar.module.scss.js";
|
|
3
|
-
function
|
|
3
|
+
function b(s) {
|
|
4
4
|
return s >= 90 ? r["progress-bar__fill--danger"] : s >= 70 ? r["progress-bar__fill--warning"] : r["progress-bar__fill--success"];
|
|
5
5
|
}
|
|
6
|
-
function
|
|
6
|
+
function u({
|
|
7
7
|
value: s = 0,
|
|
8
8
|
size: o = "large",
|
|
9
9
|
semanticColors: i = !1,
|
|
10
10
|
indeterminate: a = !1,
|
|
11
11
|
"aria-label": n = "Progress",
|
|
12
|
-
className: t = ""
|
|
12
|
+
className: t = "",
|
|
13
|
+
...f
|
|
13
14
|
}) {
|
|
14
|
-
const l = Math.min(100, Math.max(0, s)),
|
|
15
|
+
const l = Math.min(100, Math.max(0, s)), g = o === "small" ? r["progress-bar--size-small"] : r["progress-bar--size-large"], p = i && !a ? b(l) : r["progress-bar__fill--default"];
|
|
15
16
|
return /* @__PURE__ */ e(
|
|
16
17
|
"div",
|
|
17
18
|
{
|
|
19
|
+
...f,
|
|
18
20
|
role: "progressbar",
|
|
19
21
|
"aria-valuenow": a ? void 0 : l,
|
|
20
22
|
"aria-valuemin": 0,
|
|
@@ -22,14 +24,14 @@ function m({
|
|
|
22
24
|
"aria-label": n,
|
|
23
25
|
className: [
|
|
24
26
|
r["progress-bar"],
|
|
25
|
-
|
|
27
|
+
g,
|
|
26
28
|
a ? r["progress-bar--indeterminate"] : "",
|
|
27
29
|
t
|
|
28
30
|
].filter(Boolean).join(" "),
|
|
29
31
|
children: /* @__PURE__ */ e(
|
|
30
32
|
"div",
|
|
31
33
|
{
|
|
32
|
-
className: [r["progress-bar__fill"],
|
|
34
|
+
className: [r["progress-bar__fill"], p].filter(Boolean).join(" "),
|
|
33
35
|
style: a ? void 0 : { width: `${l}%` }
|
|
34
36
|
}
|
|
35
37
|
)
|
|
@@ -37,6 +39,6 @@ function m({
|
|
|
37
39
|
);
|
|
38
40
|
}
|
|
39
41
|
export {
|
|
40
|
-
|
|
42
|
+
u as default
|
|
41
43
|
};
|
|
42
44
|
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sources":["../../../src/components/progress-bar/ProgressBar.tsx"],"sourcesContent":["import styles from './ProgressBar.module.scss';\n\nexport type ProgressBarSize = 'small' | 'large';\n\nexport interface ProgressBarProps {\n /** Progress value 0–100. Default: 0. */\n value?: number;\n /** Size variant. Default: Large. */\n size?: ProgressBarSize;\n /**\n * When true, fill color shifts from green→yellow→red based on percentage.\n * When false, uses the default brand blue. Default: false.\n */\n semanticColors?: boolean;\n /**\n * When true, shows an animated bar for work with an unknown total and omits\n * `aria-valuenow`. `value` and `semanticColors` are ignored. Default: false.\n */\n indeterminate?: boolean;\n /** Accessible label for the progress bar. */\n 'aria-label'?: string;\n /** Optional CSS class name. */\n className?: string;\n}\n\nfunction getSemanticColorClass(value: number): string {\n if (value >= 90) return styles['progress-bar__fill--danger'];\n if (value >= 70) return styles['progress-bar__fill--warning'];\n return styles['progress-bar__fill--success'];\n}\n\n/**\n * Progress Bar shows determinate progress through a wait state — an upload finishing, a\n * quota filling, an import running. Use it when the duration or total is known; reach for\n * [Spinner](/components/spinner) when it isn't.\n */\nexport default function ProgressBar({\n value = 0,\n size = 'large',\n semanticColors = false,\n indeterminate = false,\n 'aria-label': ariaLabel = 'Progress',\n className = '',\n}: ProgressBarProps) {\n const clampedValue = Math.min(100, Math.max(0, value));\n const sizeClass =\n size === 'small'\n ? styles['progress-bar--size-small']\n : styles['progress-bar--size-large'];\n\n const fillColorClass =\n semanticColors && !indeterminate\n ? getSemanticColorClass(clampedValue)\n : styles['progress-bar__fill--default'];\n\n return (\n <div\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={ariaLabel}\n className={[\n styles['progress-bar'],\n sizeClass,\n indeterminate ? styles['progress-bar--indeterminate'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[styles['progress-bar__fill'], fillColorClass]\n .filter(Boolean)\n .join(' ')}\n style={indeterminate ? undefined : { width: `${clampedValue}%` }}\n />\n </div>\n );\n}\n"],"names":["getSemanticColorClass","value","styles","ProgressBar","size","semanticColors","indeterminate","ariaLabel","className","clampedValue","sizeClass","fillColorClass","jsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sources":["../../../src/components/progress-bar/ProgressBar.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './ProgressBar.module.scss';\n\nexport type ProgressBarSize = 'small' | 'large';\n\nexport interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {\n /** Progress value 0–100. Default: 0. */\n value?: number;\n /** Size variant. Default: Large. */\n size?: ProgressBarSize;\n /**\n * When true, fill color shifts from green→yellow→red based on percentage.\n * When false, uses the default brand blue. Default: false.\n */\n semanticColors?: boolean;\n /**\n * When true, shows an animated bar for work with an unknown total and omits\n * `aria-valuenow`. `value` and `semanticColors` are ignored. Default: false.\n */\n indeterminate?: boolean;\n /** Accessible label for the progress bar. Default: \"Progress\". */\n 'aria-label'?: string;\n /** Optional CSS class name. */\n className?: string;\n}\n\nfunction getSemanticColorClass(value: number): string {\n if (value >= 90) return styles['progress-bar__fill--danger'];\n if (value >= 70) return styles['progress-bar__fill--warning'];\n return styles['progress-bar__fill--success'];\n}\n\n/**\n * Progress Bar shows determinate progress through a wait state — an upload finishing, a\n * quota filling, an import running. Use it when the duration or total is known; reach for\n * [Spinner](/components/spinner) when it isn't.\n */\nexport default function ProgressBar({\n value = 0,\n size = 'large',\n semanticColors = false,\n indeterminate = false,\n 'aria-label': ariaLabel = 'Progress',\n className = '',\n ...rest\n}: ProgressBarProps) {\n const clampedValue = Math.min(100, Math.max(0, value));\n const sizeClass =\n size === 'small'\n ? styles['progress-bar--size-small']\n : styles['progress-bar--size-large'];\n\n const fillColorClass =\n semanticColors && !indeterminate\n ? getSemanticColorClass(clampedValue)\n : styles['progress-bar__fill--default'];\n\n return (\n <div\n {...rest}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={ariaLabel}\n className={[\n styles['progress-bar'],\n sizeClass,\n indeterminate ? styles['progress-bar--indeterminate'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[styles['progress-bar__fill'], fillColorClass]\n .filter(Boolean)\n .join(' ')}\n style={indeterminate ? undefined : { width: `${clampedValue}%` }}\n />\n </div>\n );\n}\n"],"names":["getSemanticColorClass","value","styles","ProgressBar","size","semanticColors","indeterminate","ariaLabel","className","rest","clampedValue","sizeClass","fillColorClass","jsx"],"mappings":";;AA0BA,SAASA,EAAsBC,GAAuB;AACpD,SAAIA,KAAS,KAAWC,EAAO,4BAA4B,IACvDD,KAAS,KAAWC,EAAO,6BAA6B,IACrDA,EAAO,6BAA6B;AAC7C;AAOA,SAAwBC,EAAY;AAAA,EAClC,OAAAF,IAAQ;AAAA,EACR,MAAAG,IAAO;AAAA,EACP,gBAAAC,IAAiB;AAAA,EACjB,eAAAC,IAAgB;AAAA,EAChB,cAAcC,IAAY;AAAA,EAC1B,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAqB;AACnB,QAAMC,IAAe,KAAK,IAAI,KAAK,KAAK,IAAI,GAAGT,CAAK,CAAC,GAC/CU,IACJP,MAAS,UACLF,EAAO,0BAA0B,IACjCA,EAAO,0BAA0B,GAEjCU,IACJP,KAAkB,CAACC,IACfN,EAAsBU,CAAY,IAClCR,EAAO,6BAA6B;AAE1C,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGJ;AAAA,MACJ,MAAK;AAAA,MACL,iBAAeH,IAAgB,SAAYI;AAAA,MAC3C,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,cAAYH;AAAA,MACZ,WAAW;AAAA,QACTL,EAAO,cAAc;AAAA,QACrBS;AAAA,QACAL,IAAgBJ,EAAO,6BAA6B,IAAI;AAAA,QACxDM;AAAA,MAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MAEX,UAAA,gBAAAK;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,CAACX,EAAO,oBAAoB,GAAGU,CAAc,EACrD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,UACX,OAAON,IAAgB,SAAY,EAAE,OAAO,GAAGI,CAAY,IAAA;AAAA,QAAI;AAAA,MAAA;AAAA,IACjE;AAAA,EAAA;AAGN;"}
|