@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,16 +1,16 @@
|
|
|
1
1
|
import { jsxs as S, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { useAnchoredPopupPortal as
|
|
8
|
-
import { useOutsideClose as
|
|
9
|
-
import { usePopoverTransition as
|
|
10
|
-
import { toKebab as
|
|
2
|
+
import { forwardRef as ye, useId as Ie, useRef as V, useCallback as _, useState as I, useMemo as X, useEffect as q } from "react";
|
|
3
|
+
import __we from "@mattermost/compass-icons/components/chevron-down.js";const we=__we&&__we.default?__we.default:__we;
|
|
4
|
+
import De, { IconSlotContext as Pe } from "../icon/Icon.js";
|
|
5
|
+
import ke from "../menu-item/MenuItem.js";
|
|
6
|
+
import Ne, { PopoverMenuScroll as Ee } from "../popover-menu/PopoverMenu.js";
|
|
7
|
+
import { useAnchoredPopupPortal as Se } from "../../hooks/use-anchored-popup-portal.js";
|
|
8
|
+
import { useOutsideClose as Ve } from "../../hooks/use-outside-close.js";
|
|
9
|
+
import { usePopoverTransition as Me } from "../../hooks/use-popover-transition.js";
|
|
10
|
+
import { toKebab as Oe } from "../../utils/string.js";
|
|
11
11
|
import l from "./Select.module.scss.js";
|
|
12
12
|
const J = 280;
|
|
13
|
-
function
|
|
13
|
+
function Re({
|
|
14
14
|
option: i,
|
|
15
15
|
listboxId: p,
|
|
16
16
|
selected: x,
|
|
@@ -19,7 +19,7 @@ function Oe({
|
|
|
19
19
|
onHover: D
|
|
20
20
|
}) {
|
|
21
21
|
return /* @__PURE__ */ r("li", { className: l.select__option, role: "presentation", children: /* @__PURE__ */ r(
|
|
22
|
-
|
|
22
|
+
ke,
|
|
23
23
|
{
|
|
24
24
|
id: `${p}-option-${i.value}`,
|
|
25
25
|
role: "option",
|
|
@@ -39,7 +39,7 @@ function Oe({
|
|
|
39
39
|
}
|
|
40
40
|
) });
|
|
41
41
|
}
|
|
42
|
-
const
|
|
42
|
+
const Le = ye(function({
|
|
43
43
|
options: p,
|
|
44
44
|
value: x,
|
|
45
45
|
defaultValue: w = "",
|
|
@@ -54,49 +54,50 @@ const Te = ge(function({
|
|
|
54
54
|
name: O,
|
|
55
55
|
className: Y = "",
|
|
56
56
|
"aria-label": R,
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
listboxLabel: Z = "Options",
|
|
58
|
+
portalContainer: ee = null,
|
|
59
|
+
zIndex: te
|
|
59
60
|
}, g) {
|
|
60
|
-
const
|
|
61
|
+
const le = Ie(), k = W ?? le, b = `${k}-listbox`, $ = V(null), H = V(null), A = V(null), ne = _(
|
|
61
62
|
(e) => {
|
|
62
63
|
A.current = e, typeof g == "function" ? g(e) : g && (g.current = e);
|
|
63
64
|
},
|
|
64
65
|
[g]
|
|
65
|
-
), N = x !== void 0, [
|
|
66
|
+
), N = x !== void 0, [se, oe] = I(w), d = N ? x : se, [s, B] = I(!1), [re, j] = I(!1), [c, f] = I(-1), E = X(
|
|
66
67
|
() => p.find((e) => e.value === d),
|
|
67
68
|
[p, d]
|
|
68
|
-
),
|
|
69
|
+
), o = X(
|
|
69
70
|
() => p.filter((e) => e.value !== ""),
|
|
70
71
|
[p]
|
|
71
|
-
), C = d !== "", { mounted: F, visible:
|
|
72
|
-
placement:
|
|
73
|
-
maxHeight:
|
|
74
|
-
style:
|
|
72
|
+
), C = d !== "", { mounted: F, visible: ae } = Me(s), {
|
|
73
|
+
placement: ie,
|
|
74
|
+
maxHeight: ce,
|
|
75
|
+
style: ue,
|
|
75
76
|
portalRef: z,
|
|
76
|
-
renderPortal:
|
|
77
|
-
} =
|
|
77
|
+
renderPortal: de
|
|
78
|
+
} = Se(H, F, {
|
|
78
79
|
preferredHeight: J,
|
|
79
80
|
maxHeightCap: J,
|
|
80
|
-
portalContainer:
|
|
81
|
-
zIndex:
|
|
81
|
+
portalContainer: ee,
|
|
82
|
+
zIndex: te
|
|
82
83
|
}), h = _(() => {
|
|
83
84
|
B(!1), f(-1);
|
|
84
85
|
}, []), y = _(() => {
|
|
85
86
|
v || B(!0);
|
|
86
87
|
}, [v]);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (
|
|
90
|
-
if (e >= 0 && e <
|
|
91
|
-
const t =
|
|
88
|
+
Ve($, s, h, z), q(() => {
|
|
89
|
+
s && f((e) => {
|
|
90
|
+
if (o.length === 0) return -1;
|
|
91
|
+
if (e >= 0 && e < o.length) return e;
|
|
92
|
+
const t = o.findIndex((a) => a.value === d);
|
|
92
93
|
if (t >= 0) return t;
|
|
93
|
-
const
|
|
94
|
-
return
|
|
94
|
+
const n = o.findIndex((a) => !a.disabled);
|
|
95
|
+
return n >= 0 ? n : 0;
|
|
95
96
|
});
|
|
96
|
-
}, [
|
|
97
|
+
}, [s, o, d]);
|
|
97
98
|
const U = _(
|
|
98
99
|
(e) => {
|
|
99
|
-
N ||
|
|
100
|
+
N || oe(e), m == null || m(e);
|
|
100
101
|
},
|
|
101
102
|
[N, m]
|
|
102
103
|
), K = _(
|
|
@@ -107,127 +108,128 @@ const Te = ge(function({
|
|
|
107
108
|
[U, h]
|
|
108
109
|
), T = _(
|
|
109
110
|
(e) => {
|
|
110
|
-
const t =
|
|
111
|
+
const t = o.map((n, a) => ({ o: n, i: a })).filter(({ o: n }) => !n.disabled);
|
|
111
112
|
if (t.length === 0) {
|
|
112
113
|
f(-1);
|
|
113
114
|
return;
|
|
114
115
|
}
|
|
115
|
-
f((
|
|
116
|
-
const a = t.findIndex(({ i:
|
|
117
|
-
return t[
|
|
116
|
+
f((n) => {
|
|
117
|
+
const a = t.findIndex(({ i: ge }) => ge === n), xe = a < 0 ? e > 0 ? 0 : t.length - 1 : (a + e + t.length) % t.length;
|
|
118
|
+
return t[xe].i;
|
|
118
119
|
});
|
|
119
120
|
},
|
|
120
|
-
[
|
|
121
|
+
[o]
|
|
121
122
|
);
|
|
122
123
|
q(() => {
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
var n;
|
|
125
|
+
if (!s || c < 0) return;
|
|
126
|
+
const e = o[c];
|
|
125
127
|
if (!e) return;
|
|
126
128
|
const t = document.getElementById(`${b}-option-${e.value}`);
|
|
127
|
-
t == null
|
|
128
|
-
}, [
|
|
129
|
-
const
|
|
129
|
+
(n = t == null ? void 0 : t.scrollIntoView) == null || n.call(t, { block: "nearest" });
|
|
130
|
+
}, [s, c, o, b]);
|
|
131
|
+
const fe = (e) => {
|
|
130
132
|
var t;
|
|
131
133
|
if (!v)
|
|
132
134
|
switch (e.key) {
|
|
133
135
|
case "ArrowDown":
|
|
134
|
-
e.preventDefault(),
|
|
136
|
+
e.preventDefault(), s ? T(1) : y();
|
|
135
137
|
break;
|
|
136
138
|
case "ArrowUp":
|
|
137
|
-
e.preventDefault(),
|
|
139
|
+
e.preventDefault(), s ? T(-1) : y();
|
|
138
140
|
break;
|
|
139
141
|
case "Home":
|
|
140
|
-
if (
|
|
142
|
+
if (s && o.length > 0) {
|
|
141
143
|
e.preventDefault();
|
|
142
|
-
const
|
|
143
|
-
f(
|
|
144
|
+
const n = o.findIndex((a) => !a.disabled);
|
|
145
|
+
f(n >= 0 ? n : 0);
|
|
144
146
|
}
|
|
145
147
|
break;
|
|
146
148
|
case "End":
|
|
147
|
-
if (
|
|
149
|
+
if (s && o.length > 0) {
|
|
148
150
|
e.preventDefault();
|
|
149
|
-
for (let
|
|
150
|
-
if (!((t =
|
|
151
|
-
f(
|
|
151
|
+
for (let n = o.length - 1; n >= 0; n--)
|
|
152
|
+
if (!((t = o[n]) != null && t.disabled)) {
|
|
153
|
+
f(n);
|
|
152
154
|
break;
|
|
153
155
|
}
|
|
154
156
|
}
|
|
155
157
|
break;
|
|
156
158
|
case "Enter":
|
|
157
159
|
case " ":
|
|
158
|
-
e.preventDefault(),
|
|
160
|
+
e.preventDefault(), s && c >= 0 && o[c] ? K(o[c]) : s || y();
|
|
159
161
|
break;
|
|
160
162
|
case "Escape":
|
|
161
|
-
|
|
163
|
+
s && (e.preventDefault(), h());
|
|
162
164
|
break;
|
|
163
165
|
case "Tab":
|
|
164
166
|
h();
|
|
165
167
|
break;
|
|
166
168
|
}
|
|
167
|
-
},
|
|
169
|
+
}, pe = re || s || C, L = (E == null ? void 0 : E.label) ?? D ?? "", me = !C && L !== "", G = c >= 0 ? o[c] : void 0, ve = s && G != null ? `${b}-option-${G.value}` : void 0, be = l[`select--size-${Oe(Q)}`], he = [
|
|
168
170
|
l.select,
|
|
169
|
-
|
|
171
|
+
be,
|
|
170
172
|
M ? l["select--invalid"] : "",
|
|
171
|
-
u != null &&
|
|
173
|
+
u != null && pe ? l["select--label-floated"] : "",
|
|
172
174
|
P != null ? l["select--has-leading-icon"] : "",
|
|
173
|
-
|
|
175
|
+
s ? l["select--open"] : "",
|
|
174
176
|
v ? l["select--disabled"] : "",
|
|
175
177
|
Y
|
|
176
|
-
].filter(Boolean).join(" "),
|
|
178
|
+
].filter(Boolean).join(" "), _e = [
|
|
177
179
|
l.select__control,
|
|
178
|
-
|
|
180
|
+
me ? l["select__control--placeholder"] : ""
|
|
179
181
|
].filter(Boolean).join(" ");
|
|
180
|
-
return /* @__PURE__ */ S("div", { className:
|
|
182
|
+
return /* @__PURE__ */ S("div", { className: he, ref: $, children: [
|
|
181
183
|
/* @__PURE__ */ S("div", { className: l.select__wrapper, ref: H, children: [
|
|
182
184
|
u != null && /* @__PURE__ */ r("label", { className: l.select__label, htmlFor: k, children: u }),
|
|
183
185
|
/* @__PURE__ */ S(
|
|
184
186
|
"button",
|
|
185
187
|
{
|
|
186
|
-
ref:
|
|
188
|
+
ref: ne,
|
|
187
189
|
id: k,
|
|
188
190
|
type: "button",
|
|
189
191
|
role: "combobox",
|
|
190
|
-
className:
|
|
192
|
+
className: _e,
|
|
191
193
|
disabled: v,
|
|
192
194
|
"aria-haspopup": "listbox",
|
|
193
|
-
"aria-expanded":
|
|
195
|
+
"aria-expanded": s,
|
|
194
196
|
"aria-controls": b,
|
|
195
|
-
"aria-activedescendant":
|
|
197
|
+
"aria-activedescendant": ve,
|
|
196
198
|
"aria-invalid": M ? !0 : void 0,
|
|
197
199
|
"aria-label": R,
|
|
198
|
-
onClick: () =>
|
|
200
|
+
onClick: () => s ? h() : y(),
|
|
199
201
|
onFocus: () => j(!0),
|
|
200
202
|
onBlur: () => j(!1),
|
|
201
|
-
onKeyDown:
|
|
203
|
+
onKeyDown: fe,
|
|
202
204
|
children: [
|
|
203
|
-
P != null && /* @__PURE__ */ r("span", { className: l["select__leading-icon"], "aria-hidden": !0, children: /* @__PURE__ */ r(
|
|
205
|
+
P != null && /* @__PURE__ */ r("span", { className: l["select__leading-icon"], "aria-hidden": !0, children: /* @__PURE__ */ r(Pe.Provider, { value: { size: "16" }, children: P }) }),
|
|
204
206
|
/* @__PURE__ */ r("span", { className: l.select__value, children: L }),
|
|
205
|
-
/* @__PURE__ */ r("span", { className: l["select__trailing-icon"], "aria-hidden": !0, children: /* @__PURE__ */ r(
|
|
207
|
+
/* @__PURE__ */ r("span", { className: l["select__trailing-icon"], "aria-hidden": !0, children: /* @__PURE__ */ r(De, { size: "12", glyph: /* @__PURE__ */ r(we, {}) }) })
|
|
206
208
|
]
|
|
207
209
|
}
|
|
208
210
|
)
|
|
209
211
|
] }),
|
|
210
212
|
O != null && !v && /* @__PURE__ */ r("input", { type: "hidden", name: O, value: d }),
|
|
211
|
-
F &&
|
|
213
|
+
F && de(
|
|
212
214
|
/* @__PURE__ */ r(
|
|
213
215
|
"div",
|
|
214
216
|
{
|
|
215
217
|
ref: z,
|
|
216
218
|
className: [
|
|
217
219
|
l.select__popup,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
+
ie === "above" ? l["select__popup--above"] : "",
|
|
221
|
+
ae ? l["select__popup--visible"] : ""
|
|
220
222
|
].filter(Boolean).join(" "),
|
|
221
|
-
style:
|
|
222
|
-
children: /* @__PURE__ */ r(
|
|
223
|
+
style: ue,
|
|
224
|
+
children: /* @__PURE__ */ r(Ne, { className: l.select__menu, children: /* @__PURE__ */ r(Ee, { maxHeight: ce, children: /* @__PURE__ */ r(
|
|
223
225
|
"ul",
|
|
224
226
|
{
|
|
225
227
|
id: b,
|
|
226
228
|
className: l.select__list,
|
|
227
229
|
role: "listbox",
|
|
228
|
-
"aria-label": typeof u == "string" ? u : R ??
|
|
229
|
-
children:
|
|
230
|
-
|
|
230
|
+
"aria-label": typeof u == "string" ? u : R ?? Z,
|
|
231
|
+
children: o.map((e, t) => /* @__PURE__ */ r(
|
|
232
|
+
Re,
|
|
231
233
|
{
|
|
232
234
|
option: e,
|
|
233
235
|
listboxId: b,
|
|
@@ -246,6 +248,6 @@ const Te = ge(function({
|
|
|
246
248
|
] });
|
|
247
249
|
});
|
|
248
250
|
export {
|
|
249
|
-
|
|
251
|
+
Le as default
|
|
250
252
|
};
|
|
251
253
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/select/Select.tsx"],"sourcesContent":["import type { KeyboardEvent, ReactNode } from 'react';\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport ChevronDownIcon from '@mattermost/compass-icons/components/chevron-down';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport MenuItem from '@/components/menu-item/MenuItem';\nimport PopoverMenu, {\n PopoverMenuScroll,\n} from '@/components/popover-menu/PopoverMenu';\nimport { useAnchoredPopupPortal } from '@/hooks/use-anchored-popup-portal';\nimport { useOutsideClose } from '@/hooks/use-outside-close';\nimport { usePopoverTransition } from '@/hooks/use-popover-transition';\nimport { toKebab } from '@/utils/string';\nimport styles from './Select.module.scss';\n\nexport type SelectSize = 'small' | 'medium' | 'large';\n\nexport type SelectOption = {\n value: string;\n label: string;\n disabled?: boolean;\n leadingVisual?: ReactNode;\n secondaryLabel?: string;\n};\n\nexport interface SelectProps {\n options: SelectOption[];\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /** Shown on the trigger when no value is selected. Empty-value options are not listed in the menu. */\n placeholder?: string;\n label?: ReactNode;\n /** Leading icon — pass `<Icon glyph={<SomeIcon />} />`; Select provides the correct size via context. */\n leadingIcon?: ReactNode;\n size?: SelectSize;\n invalid?: boolean;\n disabled?: boolean;\n id?: string;\n name?: string;\n className?: string;\n 'aria-label'?: string;\n /** Portal mount node for the menu; defaults to `document.body`. */\n portalContainer?: HTMLElement | null;\n /** Stacking order for the portaled menu. */\n zIndex?: number;\n}\n\nconst POPUP_MAX_HEIGHT = 280;\n\nfunction SelectOptionRow({\n option,\n listboxId,\n selected,\n active,\n onSelect,\n onHover,\n}: {\n option: SelectOption;\n listboxId: string;\n selected: boolean;\n active: boolean;\n onSelect: (option: SelectOption) => void;\n onHover: () => void;\n}) {\n return (\n <li className={styles.select__option} role=\"presentation\">\n <MenuItem\n id={`${listboxId}-option-${option.value}`}\n role=\"option\"\n label={option.label}\n secondaryLabel={option.secondaryLabel}\n leadingElement={option.leadingVisual != null}\n leadingVisual={option.leadingVisual}\n trailingElement={selected}\n active={active}\n disabled={option.disabled}\n aria-selected={selected}\n onMouseDown={(ev) => ev.preventDefault()}\n onMouseEnter={onHover}\n onPointerUp={() => {\n if (!option.disabled) onSelect(option);\n }}\n />\n </li>\n );\n}\n\n/**\n * { value: 'town-square', label: 'Town Square' }, { value: 'off-topic', label: 'Off-Topic'\n * }, { value: 'design', label: 'Design' }, ];\n */\nconst Select = forwardRef<HTMLButtonElement, SelectProps>(function Select(\n {\n options,\n value: valueProp,\n defaultValue = '',\n onChange,\n placeholder,\n label,\n leadingIcon,\n size = 'medium',\n invalid = false,\n disabled = false,\n id: idProp,\n name,\n className = '',\n 'aria-label': ariaLabel,\n portalContainer = null,\n zIndex,\n },\n ref,\n) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const listboxId = `${id}-listbox`;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const anchorRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const setButtonRef = useCallback(\n (node: HTMLButtonElement | null) => {\n buttonRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const value = isControlled ? valueProp! : uncontrolledValue;\n\n const [isOpen, setIsOpen] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const selectedOption = useMemo(\n () => options.find((o) => o.value === value),\n [options, value],\n );\n\n const listOptions = useMemo(\n () => options.filter((o) => o.value !== ''),\n [options],\n );\n\n const hasValue = value !== '';\n\n const { mounted: popupMounted, visible: popupVisible } =\n usePopoverTransition(isOpen);\n\n const {\n placement,\n maxHeight,\n style: popupStyle,\n portalRef,\n renderPortal,\n } = useAnchoredPopupPortal(anchorRef, popupMounted, {\n preferredHeight: POPUP_MAX_HEIGHT,\n maxHeightCap: POPUP_MAX_HEIGHT,\n portalContainer,\n zIndex,\n });\n\n const close = useCallback(() => {\n setIsOpen(false);\n setActiveIndex(-1);\n }, []);\n\n const open = useCallback(() => {\n if (disabled) return;\n setIsOpen(true);\n }, [disabled]);\n\n useOutsideClose(rootRef, isOpen, close, portalRef);\n\n useEffect(() => {\n if (!isOpen) return;\n setActiveIndex((prev) => {\n if (listOptions.length === 0) return -1;\n if (prev >= 0 && prev < listOptions.length) return prev;\n const selectedIdx = listOptions.findIndex((o) => o.value === value);\n if (selectedIdx >= 0) return selectedIdx;\n const firstEnabled = listOptions.findIndex((o) => !o.disabled);\n return firstEnabled >= 0 ? firstEnabled : 0;\n });\n }, [isOpen, listOptions, value]);\n\n const commitValue = useCallback(\n (next: string) => {\n if (!isControlled) setUncontrolledValue(next);\n onChange?.(next);\n },\n [isControlled, onChange],\n );\n\n const selectOption = useCallback(\n (option: SelectOption) => {\n if (option.disabled) return;\n commitValue(option.value);\n close();\n buttonRef.current?.focus();\n },\n [commitValue, close],\n );\n\n const moveActive = useCallback(\n (delta: number) => {\n const enabled = listOptions\n .map((o, i) => ({ o, i }))\n .filter(({ o }) => !o.disabled);\n if (enabled.length === 0) {\n setActiveIndex(-1);\n return;\n }\n setActiveIndex((prev) => {\n const currentPos = enabled.findIndex(({ i }) => i === prev);\n const nextPos =\n currentPos < 0\n ? delta > 0\n ? 0\n : enabled.length - 1\n : (currentPos + delta + enabled.length) % enabled.length;\n return enabled[nextPos].i;\n });\n },\n [listOptions],\n );\n\n useEffect(() => {\n if (!isOpen || activeIndex < 0) return;\n const option = listOptions[activeIndex];\n if (!option) return;\n const el = document.getElementById(`${listboxId}-option-${option.value}`);\n el?.scrollIntoView({ block: 'nearest' });\n }, [isOpen, activeIndex, listOptions, listboxId]);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (disabled) return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!isOpen) open();\n else moveActive(1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (!isOpen) open();\n else moveActive(-1);\n break;\n case 'Home':\n if (isOpen && listOptions.length > 0) {\n e.preventDefault();\n const idx = listOptions.findIndex((o) => !o.disabled);\n setActiveIndex(idx >= 0 ? idx : 0);\n }\n break;\n case 'End':\n if (isOpen && listOptions.length > 0) {\n e.preventDefault();\n for (let i = listOptions.length - 1; i >= 0; i--) {\n if (!listOptions[i]?.disabled) {\n setActiveIndex(i);\n break;\n }\n }\n }\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (isOpen && activeIndex >= 0 && listOptions[activeIndex]) {\n selectOption(listOptions[activeIndex]);\n } else if (!isOpen) {\n open();\n }\n break;\n case 'Escape':\n if (isOpen) {\n e.preventDefault();\n close();\n }\n break;\n case 'Tab':\n close();\n break;\n default:\n break;\n }\n };\n\n const labelFloated = isFocused || isOpen || hasValue;\n const displayLabel = selectedOption?.label ?? placeholder ?? '';\n const showPlaceholderStyle = !hasValue && displayLabel !== '';\n\n const activeOption = activeIndex >= 0 ? listOptions[activeIndex] : undefined;\n const activeDescendant =\n isOpen && activeOption != null\n ? `${listboxId}-option-${activeOption.value}`\n : undefined;\n\n const sizeClass = styles[`select--size-${toKebab(size)}`];\n const rootClass = [\n styles.select,\n sizeClass,\n invalid ? styles['select--invalid'] : '',\n label != null && labelFloated ? styles['select--label-floated'] : '',\n leadingIcon != null ? styles['select--has-leading-icon'] : '',\n isOpen ? styles['select--open'] : '',\n disabled ? styles['select--disabled'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const controlClass = [\n styles.select__control,\n showPlaceholderStyle ? styles['select__control--placeholder'] : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass} ref={rootRef}>\n <div className={styles.select__wrapper} ref={anchorRef}>\n {label != null && (\n <label className={styles.select__label} htmlFor={id}>\n {label}\n </label>\n )}\n <button\n ref={setButtonRef}\n id={id}\n type=\"button\"\n role=\"combobox\"\n className={controlClass}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-controls={listboxId}\n aria-activedescendant={activeDescendant}\n aria-invalid={invalid ? true : undefined}\n aria-label={ariaLabel}\n onClick={() => (isOpen ? close() : open())}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n onKeyDown={handleKeyDown}\n >\n {leadingIcon != null && (\n <span className={styles['select__leading-icon']} aria-hidden>\n <IconSlotContext.Provider value={{ size: '16' }}>\n {leadingIcon}\n </IconSlotContext.Provider>\n </span>\n )}\n <span className={styles.select__value}>{displayLabel}</span>\n <span className={styles['select__trailing-icon']} aria-hidden>\n <Icon size=\"12\" glyph={<ChevronDownIcon />} />\n </span>\n </button>\n </div>\n\n {name != null && !disabled && (\n <input type=\"hidden\" name={name} value={value} />\n )}\n\n {popupMounted &&\n renderPortal(\n <div\n ref={portalRef}\n className={[\n styles.select__popup,\n placement === 'above' ? styles['select__popup--above'] : '',\n popupVisible ? styles['select__popup--visible'] : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={popupStyle}\n >\n <PopoverMenu className={styles.select__menu}>\n <PopoverMenuScroll maxHeight={maxHeight}>\n <ul\n id={listboxId}\n className={styles.select__list}\n role=\"listbox\"\n aria-label={\n typeof label === 'string' ? label : (ariaLabel ?? 'Options')\n }\n >\n {listOptions.map((option, index) => (\n <SelectOptionRow\n key={option.value}\n option={option}\n listboxId={listboxId}\n selected={option.value === value}\n active={index === activeIndex}\n onSelect={selectOption}\n onHover={() => setActiveIndex(index)}\n />\n ))}\n </ul>\n </PopoverMenuScroll>\n </PopoverMenu>\n </div>,\n )}\n </div>\n );\n});\n\nexport default Select;\n"],"names":["POPUP_MAX_HEIGHT","SelectOptionRow","option","listboxId","selected","active","onSelect","onHover","styles","jsx","MenuItem","ev","Select","forwardRef","options","valueProp","defaultValue","onChange","placeholder","label","leadingIcon","size","invalid","disabled","idProp","name","className","ariaLabel","portalContainer","zIndex","ref","generatedId","useId","id","rootRef","useRef","anchorRef","buttonRef","setButtonRef","useCallback","node","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","isOpen","setIsOpen","isFocused","setIsFocused","activeIndex","setActiveIndex","selectedOption","useMemo","o","listOptions","hasValue","popupMounted","popupVisible","usePopoverTransition","placement","maxHeight","popupStyle","portalRef","renderPortal","useAnchoredPopupPortal","close","open","useOutsideClose","useEffect","prev","selectedIdx","firstEnabled","commitValue","next","selectOption","_a","moveActive","delta","enabled","i","currentPos","nextPos","el","handleKeyDown","idx","labelFloated","displayLabel","showPlaceholderStyle","activeOption","activeDescendant","sizeClass","toKebab","rootClass","controlClass","jsxs","IconSlotContext","Icon","ChevronDownIcon","PopoverMenu","PopoverMenuScroll","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/select/Select.tsx"],"sourcesContent":["import type { KeyboardEvent, ReactNode } from 'react';\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport ChevronDownIcon from '@mattermost/compass-icons/components/chevron-down';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport MenuItem from '@/components/menu-item/MenuItem';\nimport PopoverMenu, {\n PopoverMenuScroll,\n} from '@/components/popover-menu/PopoverMenu';\nimport { useAnchoredPopupPortal } from '@/hooks/use-anchored-popup-portal';\nimport { useOutsideClose } from '@/hooks/use-outside-close';\nimport { usePopoverTransition } from '@/hooks/use-popover-transition';\nimport { toKebab } from '@/utils/string';\nimport styles from './Select.module.scss';\n\nexport type SelectSize = 'small' | 'medium' | 'large';\n\nexport type SelectOption = {\n value: string;\n /** Kept as `string` like `ComboboxOption.label` (which drives filtering), so option lists can be shared. */\n label: string;\n disabled?: boolean;\n leadingVisual?: ReactNode;\n /** Accepts translated nodes. */\n secondaryLabel?: ReactNode;\n};\n\nexport interface SelectProps {\n options: SelectOption[];\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /** Shown on the trigger when no value is selected. Empty-value options are not listed in the menu. */\n placeholder?: string;\n label?: ReactNode;\n /** Leading icon — pass `<Icon glyph={<SomeIcon />} />`; Select provides the correct size via context. */\n leadingIcon?: ReactNode;\n size?: SelectSize;\n invalid?: boolean;\n disabled?: boolean;\n id?: string;\n name?: string;\n className?: string;\n 'aria-label'?: string;\n /**\n * Accessible name for the options list when `label` isn't a string and no\n * `aria-label` is set. Default: \"Options\".\n */\n listboxLabel?: string;\n /** Portal mount node for the menu; defaults to `document.body`. */\n portalContainer?: HTMLElement | null;\n /** Stacking order for the portaled menu. */\n zIndex?: number;\n}\n\nconst POPUP_MAX_HEIGHT = 280;\n\nfunction SelectOptionRow({\n option,\n listboxId,\n selected,\n active,\n onSelect,\n onHover,\n}: {\n option: SelectOption;\n listboxId: string;\n selected: boolean;\n active: boolean;\n onSelect: (option: SelectOption) => void;\n onHover: () => void;\n}) {\n return (\n <li className={styles.select__option} role=\"presentation\">\n <MenuItem\n id={`${listboxId}-option-${option.value}`}\n role=\"option\"\n label={option.label}\n secondaryLabel={option.secondaryLabel}\n leadingElement={option.leadingVisual != null}\n leadingVisual={option.leadingVisual}\n trailingElement={selected}\n active={active}\n disabled={option.disabled}\n aria-selected={selected}\n onMouseDown={(ev) => ev.preventDefault()}\n onMouseEnter={onHover}\n onPointerUp={() => {\n if (!option.disabled) onSelect(option);\n }}\n />\n </li>\n );\n}\n\n/**\n * { value: 'town-square', label: 'Town Square' }, { value: 'off-topic', label: 'Off-Topic'\n * }, { value: 'design', label: 'Design' }, ];\n */\nconst Select = forwardRef<HTMLButtonElement, SelectProps>(function Select(\n {\n options,\n value: valueProp,\n defaultValue = '',\n onChange,\n placeholder,\n label,\n leadingIcon,\n size = 'medium',\n invalid = false,\n disabled = false,\n id: idProp,\n name,\n className = '',\n 'aria-label': ariaLabel,\n listboxLabel = 'Options',\n portalContainer = null,\n zIndex,\n },\n ref,\n) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const listboxId = `${id}-listbox`;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const anchorRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const setButtonRef = useCallback(\n (node: HTMLButtonElement | null) => {\n buttonRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const value = isControlled ? valueProp! : uncontrolledValue;\n\n const [isOpen, setIsOpen] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const selectedOption = useMemo(\n () => options.find((o) => o.value === value),\n [options, value],\n );\n\n const listOptions = useMemo(\n () => options.filter((o) => o.value !== ''),\n [options],\n );\n\n const hasValue = value !== '';\n\n const { mounted: popupMounted, visible: popupVisible } =\n usePopoverTransition(isOpen);\n\n const {\n placement,\n maxHeight,\n style: popupStyle,\n portalRef,\n renderPortal,\n } = useAnchoredPopupPortal(anchorRef, popupMounted, {\n preferredHeight: POPUP_MAX_HEIGHT,\n maxHeightCap: POPUP_MAX_HEIGHT,\n portalContainer,\n zIndex,\n });\n\n const close = useCallback(() => {\n setIsOpen(false);\n setActiveIndex(-1);\n }, []);\n\n const open = useCallback(() => {\n if (disabled) return;\n setIsOpen(true);\n }, [disabled]);\n\n useOutsideClose(rootRef, isOpen, close, portalRef);\n\n useEffect(() => {\n if (!isOpen) return;\n setActiveIndex((prev) => {\n if (listOptions.length === 0) return -1;\n if (prev >= 0 && prev < listOptions.length) return prev;\n const selectedIdx = listOptions.findIndex((o) => o.value === value);\n if (selectedIdx >= 0) return selectedIdx;\n const firstEnabled = listOptions.findIndex((o) => !o.disabled);\n return firstEnabled >= 0 ? firstEnabled : 0;\n });\n }, [isOpen, listOptions, value]);\n\n const commitValue = useCallback(\n (next: string) => {\n if (!isControlled) setUncontrolledValue(next);\n onChange?.(next);\n },\n [isControlled, onChange],\n );\n\n const selectOption = useCallback(\n (option: SelectOption) => {\n if (option.disabled) return;\n commitValue(option.value);\n close();\n buttonRef.current?.focus();\n },\n [commitValue, close],\n );\n\n const moveActive = useCallback(\n (delta: number) => {\n const enabled = listOptions\n .map((o, i) => ({ o, i }))\n .filter(({ o }) => !o.disabled);\n if (enabled.length === 0) {\n setActiveIndex(-1);\n return;\n }\n setActiveIndex((prev) => {\n const currentPos = enabled.findIndex(({ i }) => i === prev);\n const nextPos =\n currentPos < 0\n ? delta > 0\n ? 0\n : enabled.length - 1\n : (currentPos + delta + enabled.length) % enabled.length;\n return enabled[nextPos].i;\n });\n },\n [listOptions],\n );\n\n useEffect(() => {\n if (!isOpen || activeIndex < 0) return;\n const option = listOptions[activeIndex];\n if (!option) return;\n const el = document.getElementById(`${listboxId}-option-${option.value}`);\n el?.scrollIntoView?.({ block: 'nearest' });\n }, [isOpen, activeIndex, listOptions, listboxId]);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (disabled) return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!isOpen) open();\n else moveActive(1);\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (!isOpen) open();\n else moveActive(-1);\n break;\n case 'Home':\n if (isOpen && listOptions.length > 0) {\n e.preventDefault();\n const idx = listOptions.findIndex((o) => !o.disabled);\n setActiveIndex(idx >= 0 ? idx : 0);\n }\n break;\n case 'End':\n if (isOpen && listOptions.length > 0) {\n e.preventDefault();\n for (let i = listOptions.length - 1; i >= 0; i--) {\n if (!listOptions[i]?.disabled) {\n setActiveIndex(i);\n break;\n }\n }\n }\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (isOpen && activeIndex >= 0 && listOptions[activeIndex]) {\n selectOption(listOptions[activeIndex]);\n } else if (!isOpen) {\n open();\n }\n break;\n case 'Escape':\n if (isOpen) {\n e.preventDefault();\n close();\n }\n break;\n case 'Tab':\n close();\n break;\n default:\n break;\n }\n };\n\n const labelFloated = isFocused || isOpen || hasValue;\n const displayLabel = selectedOption?.label ?? placeholder ?? '';\n const showPlaceholderStyle = !hasValue && displayLabel !== '';\n\n const activeOption = activeIndex >= 0 ? listOptions[activeIndex] : undefined;\n const activeDescendant =\n isOpen && activeOption != null\n ? `${listboxId}-option-${activeOption.value}`\n : undefined;\n\n const sizeClass = styles[`select--size-${toKebab(size)}`];\n const rootClass = [\n styles.select,\n sizeClass,\n invalid ? styles['select--invalid'] : '',\n label != null && labelFloated ? styles['select--label-floated'] : '',\n leadingIcon != null ? styles['select--has-leading-icon'] : '',\n isOpen ? styles['select--open'] : '',\n disabled ? styles['select--disabled'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const controlClass = [\n styles.select__control,\n showPlaceholderStyle ? styles['select__control--placeholder'] : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass} ref={rootRef}>\n <div className={styles.select__wrapper} ref={anchorRef}>\n {label != null && (\n <label className={styles.select__label} htmlFor={id}>\n {label}\n </label>\n )}\n <button\n ref={setButtonRef}\n id={id}\n type=\"button\"\n role=\"combobox\"\n className={controlClass}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-controls={listboxId}\n aria-activedescendant={activeDescendant}\n aria-invalid={invalid ? true : undefined}\n aria-label={ariaLabel}\n onClick={() => (isOpen ? close() : open())}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n onKeyDown={handleKeyDown}\n >\n {leadingIcon != null && (\n <span className={styles['select__leading-icon']} aria-hidden>\n <IconSlotContext.Provider value={{ size: '16' }}>\n {leadingIcon}\n </IconSlotContext.Provider>\n </span>\n )}\n <span className={styles.select__value}>{displayLabel}</span>\n <span className={styles['select__trailing-icon']} aria-hidden>\n <Icon size=\"12\" glyph={<ChevronDownIcon />} />\n </span>\n </button>\n </div>\n\n {name != null && !disabled && (\n <input type=\"hidden\" name={name} value={value} />\n )}\n\n {popupMounted &&\n renderPortal(\n <div\n ref={portalRef}\n className={[\n styles.select__popup,\n placement === 'above' ? styles['select__popup--above'] : '',\n popupVisible ? styles['select__popup--visible'] : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={popupStyle}\n >\n <PopoverMenu className={styles.select__menu}>\n <PopoverMenuScroll maxHeight={maxHeight}>\n <ul\n id={listboxId}\n className={styles.select__list}\n role=\"listbox\"\n aria-label={\n typeof label === 'string'\n ? label\n : (ariaLabel ?? listboxLabel)\n }\n >\n {listOptions.map((option, index) => (\n <SelectOptionRow\n key={option.value}\n option={option}\n listboxId={listboxId}\n selected={option.value === value}\n active={index === activeIndex}\n onSelect={selectOption}\n onHover={() => setActiveIndex(index)}\n />\n ))}\n </ul>\n </PopoverMenuScroll>\n </PopoverMenu>\n </div>,\n )}\n </div>\n );\n});\n\nexport default Select;\n"],"names":["POPUP_MAX_HEIGHT","SelectOptionRow","option","listboxId","selected","active","onSelect","onHover","styles","jsx","MenuItem","ev","Select","forwardRef","options","valueProp","defaultValue","onChange","placeholder","label","leadingIcon","size","invalid","disabled","idProp","name","className","ariaLabel","listboxLabel","portalContainer","zIndex","ref","generatedId","useId","id","rootRef","useRef","anchorRef","buttonRef","setButtonRef","useCallback","node","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","isOpen","setIsOpen","isFocused","setIsFocused","activeIndex","setActiveIndex","selectedOption","useMemo","o","listOptions","hasValue","popupMounted","popupVisible","usePopoverTransition","placement","maxHeight","popupStyle","portalRef","renderPortal","useAnchoredPopupPortal","close","open","useOutsideClose","useEffect","prev","selectedIdx","firstEnabled","commitValue","next","selectOption","_a","moveActive","delta","enabled","i","currentPos","nextPos","el","handleKeyDown","idx","labelFloated","displayLabel","showPlaceholderStyle","activeOption","activeDescendant","sizeClass","toKebab","rootClass","controlClass","jsxs","IconSlotContext","Icon","ChevronDownIcon","PopoverMenu","PopoverMenuScroll","index"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.cjs","sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Spinner.module.scss';\n\nexport type SpinnerSize = '10' | '12' | '16' | '20' | '24' | '28' | '32';\n\nexport interface SpinnerProps extends Omit<\n HTMLAttributes<HTMLSpanElement>,\n 'role'\n> {\n size?: SpinnerSize;\n inverted?: boolean;\n 'aria-label'?: string;\n}\n\n/**\n * A Spinner is the all-purpose indicator that something is happening but the duration is\n * unknown. It signals \"wait\" without claiming to know how long the wait will be.\n */\nexport default function Spinner({\n size = '16',\n inverted = false,\n className = '',\n 'aria-label': ariaLabel = 'Loading',\n style,\n ...htmlProps\n}: SpinnerProps) {\n const sizePx = Number(size);\n const strokeWidth = Math.max(1, Math.min(3, Math.round(sizePx * 0.1)));\n\n const rootClass = [\n styles.spinner,\n inverted ? styles['spinner--inverted'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span\n className={rootClass}\n role=\"status\"\n aria-label={ariaLabel}\n style={{\n width: `${sizePx}px`,\n height: `${sizePx}px`,\n ['--spinner-stroke-width' as string]: `${strokeWidth}px`,\n ...style,\n }}\n {...htmlProps}\n />\n );\n}\n"],"names":["Spinner","size","inverted","className","ariaLabel","style","htmlProps","sizePx","strokeWidth","rootClass","styles","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Spinner.cjs","sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Spinner.module.scss';\n\nexport type SpinnerSize = '10' | '12' | '16' | '20' | '24' | '28' | '32';\n\nexport interface SpinnerProps extends Omit<\n HTMLAttributes<HTMLSpanElement>,\n 'role'\n> {\n size?: SpinnerSize;\n inverted?: boolean;\n /** Accessible name announced with `role=\"status\"`. Default: \"Loading\". Pass a translated string to localize. */\n 'aria-label'?: string;\n}\n\n/**\n * A Spinner is the all-purpose indicator that something is happening but the duration is\n * unknown. It signals \"wait\" without claiming to know how long the wait will be.\n */\nexport default function Spinner({\n size = '16',\n inverted = false,\n className = '',\n 'aria-label': ariaLabel = 'Loading',\n style,\n ...htmlProps\n}: SpinnerProps) {\n const sizePx = Number(size);\n const strokeWidth = Math.max(1, Math.min(3, Math.round(sizePx * 0.1)));\n\n const rootClass = [\n styles.spinner,\n inverted ? styles['spinner--inverted'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span\n className={rootClass}\n role=\"status\"\n aria-label={ariaLabel}\n style={{\n width: `${sizePx}px`,\n height: `${sizePx}px`,\n ['--spinner-stroke-width' as string]: `${strokeWidth}px`,\n ...style,\n }}\n {...htmlProps}\n />\n );\n}\n"],"names":["Spinner","size","inverted","className","ariaLabel","style","htmlProps","sizePx","strokeWidth","rootClass","styles","jsx"],"mappings":"wLAmBA,SAAwBA,EAAQ,CAC9B,KAAAC,EAAO,KACP,SAAAC,EAAW,GACX,UAAAC,EAAY,GACZ,aAAcC,EAAY,UAC1B,MAAAC,EACA,GAAGC,CACL,EAAiB,CACf,MAAMC,EAAS,OAAON,CAAI,EACpBO,EAAc,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,KAAK,MAAMD,EAAS,EAAG,CAAC,CAAC,EAE/DE,EAAY,CAChBC,EAAAA,QAAO,QACPR,EAAWQ,EAAAA,QAAO,mBAAmB,EAAI,GACzCP,CAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEQ,EAAAA,IAAC,OAAA,CACC,UAAWF,EACX,KAAK,SACL,aAAYL,EACZ,MAAO,CACL,MAAO,GAAGG,CAAM,KAChB,OAAQ,GAAGA,CAAM,KAChB,yBAAqC,GAAGC,CAAW,KACpD,GAAGH,CAAA,EAEJ,GAAGC,CAAA,CAAA,CAGV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes _spinner-
|
|
1
|
+
@keyframes _spinner-spin_3elm7_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._spinner_3elm7_10{display:inline-block;border-radius:var(--radius-pill);animation:_spinner-spin_3elm7_1 .75s linear infinite;background:conic-gradient(rgba(var(--center-channel-color-rgb),0),rgba(var(--center-channel-color-rgb),.64));-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-stroke-width, 2px)),#fff calc(100% - var(--spinner-stroke-width, 2px)));mask-image:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-stroke-width, 2px)),#fff calc(100% - var(--spinner-stroke-width, 2px)))}._spinner--inverted_3elm7_17{background:conic-gradient(rgba(var(--button-color-rgb),0),rgba(var(--button-color-rgb),.64))}
|
|
@@ -3,6 +3,7 @@ export type SpinnerSize = '10' | '12' | '16' | '20' | '24' | '28' | '32';
|
|
|
3
3
|
export interface SpinnerProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'role'> {
|
|
4
4
|
size?: SpinnerSize;
|
|
5
5
|
inverted?: boolean;
|
|
6
|
+
/** Accessible name announced with `role="status"`. Default: "Loading". Pass a translated string to localize. */
|
|
6
7
|
'aria-label'?: string;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzE,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,cAAc,CAAC,eAAe,CAAC,EAC/B,MAAM,CACP;IACC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAW,EACX,QAAgB,EAChB,SAAc,EACd,YAAY,EAAE,SAAqB,EACnC,KAAK,EACL,GAAG,SAAS,EACb,EAAE,YAAY,2CA0Bd"}
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzE,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,cAAc,CAAC,eAAe,CAAC,EAC/B,MAAM,CACP;IACC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gHAAgH;IAChH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAW,EACX,QAAgB,EAChB,SAAc,EACd,YAAY,EAAE,SAAqB,EACnC,KAAK,EACL,GAAG,SAAS,EACb,EAAE,YAAY,2CA0Bd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Spinner.module.scss';\n\nexport type SpinnerSize = '10' | '12' | '16' | '20' | '24' | '28' | '32';\n\nexport interface SpinnerProps extends Omit<\n HTMLAttributes<HTMLSpanElement>,\n 'role'\n> {\n size?: SpinnerSize;\n inverted?: boolean;\n 'aria-label'?: string;\n}\n\n/**\n * A Spinner is the all-purpose indicator that something is happening but the duration is\n * unknown. It signals \"wait\" without claiming to know how long the wait will be.\n */\nexport default function Spinner({\n size = '16',\n inverted = false,\n className = '',\n 'aria-label': ariaLabel = 'Loading',\n style,\n ...htmlProps\n}: SpinnerProps) {\n const sizePx = Number(size);\n const strokeWidth = Math.max(1, Math.min(3, Math.round(sizePx * 0.1)));\n\n const rootClass = [\n styles.spinner,\n inverted ? styles['spinner--inverted'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span\n className={rootClass}\n role=\"status\"\n aria-label={ariaLabel}\n style={{\n width: `${sizePx}px`,\n height: `${sizePx}px`,\n ['--spinner-stroke-width' as string]: `${strokeWidth}px`,\n ...style,\n }}\n {...htmlProps}\n />\n );\n}\n"],"names":["Spinner","size","inverted","className","ariaLabel","style","htmlProps","sizePx","strokeWidth","rootClass","styles","jsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Spinner.js","sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Spinner.module.scss';\n\nexport type SpinnerSize = '10' | '12' | '16' | '20' | '24' | '28' | '32';\n\nexport interface SpinnerProps extends Omit<\n HTMLAttributes<HTMLSpanElement>,\n 'role'\n> {\n size?: SpinnerSize;\n inverted?: boolean;\n /** Accessible name announced with `role=\"status\"`. Default: \"Loading\". Pass a translated string to localize. */\n 'aria-label'?: string;\n}\n\n/**\n * A Spinner is the all-purpose indicator that something is happening but the duration is\n * unknown. It signals \"wait\" without claiming to know how long the wait will be.\n */\nexport default function Spinner({\n size = '16',\n inverted = false,\n className = '',\n 'aria-label': ariaLabel = 'Loading',\n style,\n ...htmlProps\n}: SpinnerProps) {\n const sizePx = Number(size);\n const strokeWidth = Math.max(1, Math.min(3, Math.round(sizePx * 0.1)));\n\n const rootClass = [\n styles.spinner,\n inverted ? styles['spinner--inverted'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span\n className={rootClass}\n role=\"status\"\n aria-label={ariaLabel}\n style={{\n width: `${sizePx}px`,\n height: `${sizePx}px`,\n ['--spinner-stroke-width' as string]: `${strokeWidth}px`,\n ...style,\n }}\n {...htmlProps}\n />\n );\n}\n"],"names":["Spinner","size","inverted","className","ariaLabel","style","htmlProps","sizePx","strokeWidth","rootClass","styles","jsx"],"mappings":";;AAmBA,SAAwBA,EAAQ;AAAA,EAC9B,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,cAAcC,IAAY;AAAA,EAC1B,OAAAC;AAAA,EACA,GAAGC;AACL,GAAiB;AACf,QAAMC,IAAS,OAAON,CAAI,GACpBO,IAAc,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAMD,IAAS,GAAG,CAAC,CAAC,GAE/DE,IAAY;AAAA,IAChBC,EAAO;AAAA,IACPR,IAAWQ,EAAO,mBAAmB,IAAI;AAAA,IACzCP;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,MACX,MAAK;AAAA,MACL,cAAYL;AAAA,MACZ,OAAO;AAAA,QACL,OAAO,GAAGG,CAAM;AAAA,QAChB,QAAQ,GAAGA,CAAM;AAAA,QAChB,0BAAqC,GAAGC,CAAW;AAAA,QACpD,GAAGH;AAAA,MAAA;AAAA,MAEJ,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Spinner.css');const e="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Spinner.css');const e="_spinner_3elm7_10",n={spinner:e,"spinner--inverted":"_spinner--inverted_3elm7_17"};exports.default=n;exports.spinner=e;
|
|
2
2
|
//# sourceMappingURL=Spinner.module.scss.cjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import './Spinner.css';const
|
|
2
|
-
spinner:
|
|
3
|
-
"spinner--inverted": "_spinner--
|
|
1
|
+
import './Spinner.css';const e = "_spinner_3elm7_10", n = {
|
|
2
|
+
spinner: e,
|
|
3
|
+
"spinner--inverted": "_spinner--inverted_3elm7_17"
|
|
4
4
|
};
|
|
5
5
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
n as default,
|
|
7
|
+
e as spinner
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=Spinner.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._status-
|
|
1
|
+
._status-badge_pwbsc_2{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);color:var(--center-channel-color);box-sizing:border-box;overflow:hidden}._status-badge__glyph_pwbsc_13{display:flex;align-items:center;justify-content:center;flex-shrink:0}._status-badge--size-xx-small_pwbsc_19{width:var(--icon-size-12);height:var(--icon-size-12)}._status-badge--size-xx-small_pwbsc_19 ._status-badge__glyph_pwbsc_13{width:var(--icon-size-10);height:var(--icon-size-10)}._status-badge--size-x-small_pwbsc_27,._status-badge--size-x-small_pwbsc_27 ._status-badge__glyph_pwbsc_13{width:var(--icon-size-12);height:var(--icon-size-12)}._status-badge--size-small_pwbsc_35,._status-badge--size-small_pwbsc_35 ._status-badge__glyph_pwbsc_13{width:var(--icon-size-16);height:var(--icon-size-16)}._status-badge--size-medium_pwbsc_43{width:var(--icon-size-24);height:var(--icon-size-24)}._status-badge--size-medium_pwbsc_43 ._status-badge__glyph_pwbsc_13{width:var(--icon-size-20);height:var(--icon-size-20)}._status-badge--size-large_pwbsc_51{width:var(--icon-size-32);height:var(--icon-size-32)}._status-badge--size-large_pwbsc_51 ._status-badge__glyph_pwbsc_13{width:36px;height:36px;margin:-2px}._status-badge--status-online_pwbsc_60{color:var(--online-indicator, var(--color-success));background-color:var(--status-badge-bg, var(--center-channel-bg))}._status-badge--status-away_pwbsc_64{color:var(--away-indicator, var(--color-warning));background-color:var(--status-badge-bg, var(--center-channel-bg))}._status-badge--status-do-not-disturb_pwbsc_68{color:var(--dnd-indicator, var(--color-danger));background-color:var(--status-badge-bg, var(--center-channel-bg))}._status-badge--status-offline_pwbsc_72{color:rgba(var(--center-channel-color-rgb),.32);background-color:var(--status-badge-bg, var(--center-channel-bg))}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./StatusBadge.css');const s={"status-badge":"_status-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./StatusBadge.css');const s={"status-badge":"_status-badge_pwbsc_2","status-badge__glyph":"_status-badge__glyph_pwbsc_13","status-badge--size-xx-small":"_status-badge--size-xx-small_pwbsc_19","status-badge--size-x-small":"_status-badge--size-x-small_pwbsc_27","status-badge--size-small":"_status-badge--size-small_pwbsc_35","status-badge--size-medium":"_status-badge--size-medium_pwbsc_43","status-badge--size-large":"_status-badge--size-large_pwbsc_51","status-badge--status-online":"_status-badge--status-online_pwbsc_60","status-badge--status-away":"_status-badge--status-away_pwbsc_64","status-badge--status-do-not-disturb":"_status-badge--status-do-not-disturb_pwbsc_68","status-badge--status-offline":"_status-badge--status-offline_pwbsc_72"};exports.default=s;
|
|
2
2
|
//# sourceMappingURL=StatusBadge.module.scss.cjs.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import './StatusBadge.css';const s = {
|
|
2
|
-
"status-badge": "_status-
|
|
3
|
-
"status-badge__glyph": "_status-
|
|
4
|
-
"status-badge--size-xx-small": "_status-badge--size-xx-
|
|
5
|
-
"status-badge--size-x-small": "_status-badge--size-x-
|
|
6
|
-
"status-badge--size-small": "_status-badge--size-
|
|
7
|
-
"status-badge--size-medium": "_status-badge--size-
|
|
8
|
-
"status-badge--size-large": "_status-badge--size-
|
|
9
|
-
"status-badge--status-online": "_status-badge--status-
|
|
10
|
-
"status-badge--status-away": "_status-badge--status-
|
|
11
|
-
"status-badge--status-do-not-disturb": "_status-badge--status-do-not-
|
|
12
|
-
"status-badge--status-offline": "_status-badge--status-
|
|
2
|
+
"status-badge": "_status-badge_pwbsc_2",
|
|
3
|
+
"status-badge__glyph": "_status-badge__glyph_pwbsc_13",
|
|
4
|
+
"status-badge--size-xx-small": "_status-badge--size-xx-small_pwbsc_19",
|
|
5
|
+
"status-badge--size-x-small": "_status-badge--size-x-small_pwbsc_27",
|
|
6
|
+
"status-badge--size-small": "_status-badge--size-small_pwbsc_35",
|
|
7
|
+
"status-badge--size-medium": "_status-badge--size-medium_pwbsc_43",
|
|
8
|
+
"status-badge--size-large": "_status-badge--size-large_pwbsc_51",
|
|
9
|
+
"status-badge--status-online": "_status-badge--status-online_pwbsc_60",
|
|
10
|
+
"status-badge--status-away": "_status-badge--status-away_pwbsc_64",
|
|
11
|
+
"status-badge--status-do-not-disturb": "_status-badge--status-do-not-disturb_pwbsc_68",
|
|
12
|
+
"status-badge--status-offline": "_status-badge--status-offline_pwbsc_72"
|
|
13
13
|
};
|
|
14
14
|
export {
|
|
15
15
|
s as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._switch_3fpma_2{display:flex;align-items:flex-start;width:100%;gap:var(--spacing-m);font-family:var(--font-family-body);font-weight:var(--font-weight-regular);color:var(--center-channel-color);cursor:pointer;-webkit-user-select:none;user-select:none}._switch_3fpma_2:has(._switch__input_3fpma_13:disabled){cursor:not-allowed;color:rgba(var(--center-channel-color-rgb),.56)}._switch_3fpma_2:has(._switch__input_3fpma_13:disabled) ._switch__secondary-label_3fpma_17{color:rgba(var(--center-channel-color-rgb),.56)}._switch__input_3fpma_13{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;opacity:0;width:100%;height:100%;border:0;cursor:inherit}._switch__input_3fpma_13:focus-visible{outline:none}._switch__labels_3fpma_34{display:flex;flex-direction:column;flex:1 1 0;justify-content:center;min-width:0}._switch__label_3fpma_34{line-height:1}._switch__secondary-label_3fpma_17{color:rgba(var(--center-channel-color-rgb),.72);margin-top:var(--spacing-xxxxs)}._switch__track_3fpma_48{position:relative;flex-shrink:0;display:block;box-sizing:border-box;background-color:rgba(var(--center-channel-color-rgb),.32);border-radius:var(--radius-pill);transition:background-color var(--duration-quick) var(--ease-transition),box-shadow var(--duration-quick) var(--ease-transition)}._switch__track_3fpma_48:has(._switch__input_3fpma_13:focus-visible){box-shadow:0 0 0 2px rgba(var(--button-bg-rgb),.56)}._switch_3fpma_2:has(._switch__input_3fpma_13:not(:disabled)):hover ._switch__track_3fpma_48{background-color:rgba(var(--center-channel-color-rgb),.4)}._switch__track_3fpma_48:has(._switch__input_3fpma_13:checked){background-color:var(--button-bg)}._switch_3fpma_2:has(._switch__input_3fpma_13:not(:disabled)):hover ._switch__track_3fpma_48:has(._switch__input_3fpma_13:checked){background-color:var(--button-bg)}._switch__track_3fpma_48:has(._switch__input_3fpma_13:focus-visible:checked){box-shadow:0 0 0 2px rgba(var(--button-bg-rgb),.56)}._switch__track_3fpma_48:has(._switch__input_3fpma_13:disabled){opacity:.32}._switch__track_3fpma_48:has(._switch__input_3fpma_13:disabled:checked){background-color:rgba(var(--center-channel-color-rgb),.32)}._switch__knob_3fpma_78{position:absolute;left:2px;top:50%;transform:translateY(-50%) translate(0);border-radius:var(--radius-pill);background-color:var(--button-color);box-shadow:var(--elevation-1);transition:transform var(--duration-quick) var(--ease-transition);pointer-events:none}._switch--size-small_3fpma_89 ._switch__track_3fpma_48{width:26px;height:16px}._switch--size-small_3fpma_89 ._switch__track_3fpma_48:has(._switch__input_3fpma_13:checked) ._switch__knob_3fpma_78{transform:translateY(-50%) translate(10px)}._switch--size-small_3fpma_89 ._switch__knob_3fpma_78{width:12px;height:12px}._switch--size-small_3fpma_89 ._switch__label_3fpma_34,._switch--size-small_3fpma_89 ._switch__secondary-label_3fpma_17{font-size:var(--font-size-75);line-height:var(--line-height-75)}._switch--size-medium_3fpma_108 ._switch__track_3fpma_48{width:32px;height:20px}._switch--size-medium_3fpma_108 ._switch__track_3fpma_48:has(._switch__input_3fpma_13:checked) ._switch__knob_3fpma_78{transform:translateY(-50%) translate(12px)}._switch--size-medium_3fpma_108 ._switch__knob_3fpma_78{width:16px;height:16px}._switch--size-medium_3fpma_108 ._switch__label_3fpma_34{font-size:var(--font-size-100);line-height:var(--line-height-100)}._switch--size-medium_3fpma_108 ._switch__secondary-label_3fpma_17{font-size:var(--font-size-75);line-height:var(--line-height-75)}._switch--size-large_3fpma_127 ._switch__track_3fpma_48{width:40px;height:24px}._switch--size-large_3fpma_127 ._switch__track_3fpma_48:has(._switch__input_3fpma_13:checked) ._switch__knob_3fpma_78{transform:translateY(-50%) translate(16px)}._switch--size-large_3fpma_127 ._switch__knob_3fpma_78{width:20px;height:20px}._switch--size-large_3fpma_127 ._switch__label_3fpma_34{font-size:var(--font-size-200);line-height:var(--line-height-200)}._switch--size-large_3fpma_127 ._switch__secondary-label_3fpma_17{font-size:var(--font-size-100);line-height:var(--line-height-100)}._switch--semi-bold_3fpma_146 ._switch__label_3fpma_34{font-weight:var(--font-weight-semibold)}._switch--with-secondary_3fpma_149{align-items:center}._switch--with-secondary_3fpma_149 ._switch__labels_3fpma_34{padding-top:0;padding-bottom:0}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Switch.css');const _="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Switch.css');const _="_switch__input_3fpma_13",s="_switch__labels_3fpma_34",t="_switch__label_3fpma_34",i="_switch__track_3fpma_48",c="_switch__knob_3fpma_78",e={switch:"_switch_3fpma_2",switch__input:_,"switch__secondary-label":"_switch__secondary-label_3fpma_17",switch__labels:s,switch__label:t,switch__track:i,switch__knob:c,"switch--size-small":"_switch--size-small_3fpma_89","switch--size-medium":"_switch--size-medium_3fpma_108","switch--size-large":"_switch--size-large_3fpma_127","switch--semi-bold":"_switch--semi-bold_3fpma_146","switch--with-secondary":"_switch--with-secondary_3fpma_149"};exports.default=e;exports.switch__input=_;exports.switch__knob=c;exports.switch__label=t;exports.switch__labels=s;exports.switch__track=i;
|
|
2
2
|
//# sourceMappingURL=Switch.module.scss.cjs.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import './Switch.css';const _ = "
|
|
2
|
-
switch: "
|
|
1
|
+
import './Switch.css';const _ = "_switch__input_3fpma_13", s = "_switch__labels_3fpma_34", t = "_switch__label_3fpma_34", i = "_switch__track_3fpma_48", c = "_switch__knob_3fpma_78", a = {
|
|
2
|
+
switch: "_switch_3fpma_2",
|
|
3
3
|
switch__input: _,
|
|
4
|
-
"switch__secondary-label": "_switch__secondary-
|
|
5
|
-
switch__labels:
|
|
6
|
-
switch__label:
|
|
7
|
-
switch__track:
|
|
8
|
-
switch__knob:
|
|
9
|
-
"switch--size-small": "_switch--size-
|
|
10
|
-
"switch--size-medium": "_switch--size-
|
|
11
|
-
"switch--size-large": "_switch--size-
|
|
12
|
-
"switch--semi-bold": "_switch--semi-
|
|
13
|
-
"switch--with-secondary": "_switch--with-
|
|
4
|
+
"switch__secondary-label": "_switch__secondary-label_3fpma_17",
|
|
5
|
+
switch__labels: s,
|
|
6
|
+
switch__label: t,
|
|
7
|
+
switch__track: i,
|
|
8
|
+
switch__knob: c,
|
|
9
|
+
"switch--size-small": "_switch--size-small_3fpma_89",
|
|
10
|
+
"switch--size-medium": "_switch--size-medium_3fpma_108",
|
|
11
|
+
"switch--size-large": "_switch--size-large_3fpma_127",
|
|
12
|
+
"switch--semi-bold": "_switch--semi-bold_3fpma_146",
|
|
13
|
+
"switch--with-secondary": "_switch--with-secondary_3fpma_149"
|
|
14
14
|
};
|
|
15
15
|
export {
|
|
16
|
-
|
|
16
|
+
a as default,
|
|
17
17
|
_ as switch__input,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
c as switch__knob,
|
|
19
|
+
t as switch__label,
|
|
20
|
+
s as switch__labels,
|
|
21
|
+
i as switch__track
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=Switch.module.scss.js.map
|