@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.
Files changed (398) hide show
  1. package/README.md +15 -3
  2. package/dist/compass-ui-standalone.css +270 -276
  3. package/dist/compass-ui.css +293 -290
  4. package/dist/components/action-button/ActionButton.cjs.map +1 -1
  5. package/dist/components/action-button/ActionButton.d.ts +2 -1
  6. package/dist/components/action-button/ActionButton.d.ts.map +1 -1
  7. package/dist/components/action-button/ActionButton.js.map +1 -1
  8. package/dist/components/admin-console-header/AdminConsoleHeader.cjs.map +1 -1
  9. package/dist/components/admin-console-header/AdminConsoleHeader.d.ts +3 -1
  10. package/dist/components/admin-console-header/AdminConsoleHeader.d.ts.map +1 -1
  11. package/dist/components/admin-console-header/AdminConsoleHeader.js.map +1 -1
  12. package/dist/components/admin-panel/AdminPanel.cjs +1 -1
  13. package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
  14. package/dist/components/admin-panel/AdminPanel.d.ts +13 -6
  15. package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
  16. package/dist/components/admin-panel/AdminPanel.js +21 -15
  17. package/dist/components/admin-panel/AdminPanel.js.map +1 -1
  18. package/dist/components/admin-panel-footer/AdminPanelFooter.cjs.map +1 -1
  19. package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts +8 -4
  20. package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts.map +1 -1
  21. package/dist/components/admin-panel-footer/AdminPanelFooter.js.map +1 -1
  22. package/dist/components/admin-panel-header/AdminPanelHeader.cjs +1 -1
  23. package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
  24. package/dist/components/admin-panel-header/AdminPanelHeader.css +1 -1
  25. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +11 -4
  26. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
  27. package/dist/components/admin-panel-header/AdminPanelHeader.js +25 -23
  28. package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
  29. package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.cjs +1 -1
  30. package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.js +10 -10
  31. package/dist/components/attachment-card/AttachmentCard.cjs +1 -1
  32. package/dist/components/attachment-card/AttachmentCard.cjs.map +1 -1
  33. package/dist/components/attachment-card/AttachmentCard.d.ts +18 -5
  34. package/dist/components/attachment-card/AttachmentCard.d.ts.map +1 -1
  35. package/dist/components/attachment-card/AttachmentCard.js +85 -79
  36. package/dist/components/attachment-card/AttachmentCard.js.map +1 -1
  37. package/dist/components/card-button/CardButton.css +1 -1
  38. package/dist/components/card-button/CardButton.module.scss.cjs +1 -1
  39. package/dist/components/card-button/CardButton.module.scss.js +7 -7
  40. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.cjs +1 -1
  41. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.cjs.map +1 -1
  42. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.d.ts +5 -4
  43. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.d.ts.map +1 -1
  44. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.js +7 -7
  45. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.js.map +1 -1
  46. package/dist/components/channel-sidebar-item/ChannelSidebarItem.cjs +1 -1
  47. package/dist/components/channel-sidebar-item/ChannelSidebarItem.cjs.map +1 -1
  48. package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts +10 -4
  49. package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts.map +1 -1
  50. package/dist/components/channel-sidebar-item/ChannelSidebarItem.js +67 -62
  51. package/dist/components/channel-sidebar-item/ChannelSidebarItem.js.map +1 -1
  52. package/dist/components/checkbox/Checkbox.css +1 -1
  53. package/dist/components/checkbox/Checkbox.module.scss.cjs +1 -1
  54. package/dist/components/checkbox/Checkbox.module.scss.js +10 -10
  55. package/dist/components/chip/Chip.cjs.map +1 -1
  56. package/dist/components/chip/Chip.css +1 -1
  57. package/dist/components/chip/Chip.d.ts +4 -0
  58. package/dist/components/chip/Chip.d.ts.map +1 -1
  59. package/dist/components/chip/Chip.js.map +1 -1
  60. package/dist/components/chip/Chip.module.scss.cjs +1 -1
  61. package/dist/components/chip/Chip.module.scss.js +11 -11
  62. package/dist/components/combobox/Combobox.cjs +1 -1
  63. package/dist/components/combobox/Combobox.cjs.map +1 -1
  64. package/dist/components/combobox/Combobox.css +1 -1
  65. package/dist/components/combobox/Combobox.d.ts +24 -1
  66. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  67. package/dist/components/combobox/Combobox.js +307 -271
  68. package/dist/components/combobox/Combobox.js.map +1 -1
  69. package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
  70. package/dist/components/combobox/Combobox.module.scss.js +28 -26
  71. package/dist/components/combobox/Combobox.module.scss.js.map +1 -1
  72. package/dist/components/date-range-picker/DateRangePicker.cjs +1 -1
  73. package/dist/components/date-range-picker/DateRangePicker.cjs.map +1 -1
  74. package/dist/components/date-range-picker/DateRangePicker.css +1 -1
  75. package/dist/components/date-range-picker/DateRangePicker.d.ts +18 -2
  76. package/dist/components/date-range-picker/DateRangePicker.d.ts.map +1 -1
  77. package/dist/components/date-range-picker/DateRangePicker.js +134 -126
  78. package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
  79. package/dist/components/date-range-picker/DateRangePicker.module.scss.cjs +1 -1
  80. package/dist/components/date-range-picker/DateRangePicker.module.scss.js +26 -26
  81. package/dist/components/emoji-popover/EmojiPopover.cjs +1 -1
  82. package/dist/components/emoji-popover/EmojiPopover.cjs.map +1 -1
  83. package/dist/components/emoji-popover/EmojiPopover.d.ts +25 -4
  84. package/dist/components/emoji-popover/EmojiPopover.d.ts.map +1 -1
  85. package/dist/components/emoji-popover/EmojiPopover.js +84 -73
  86. package/dist/components/emoji-popover/EmojiPopover.js.map +1 -1
  87. package/dist/components/empty-state/EmptyState.cjs +1 -1
  88. package/dist/components/empty-state/EmptyState.cjs.map +1 -1
  89. package/dist/components/empty-state/EmptyState.d.ts +3 -3
  90. package/dist/components/empty-state/EmptyState.d.ts.map +1 -1
  91. package/dist/components/empty-state/EmptyState.js +11 -9
  92. package/dist/components/empty-state/EmptyState.js.map +1 -1
  93. package/dist/components/error-message/ErrorMessage.cjs +1 -1
  94. package/dist/components/error-message/ErrorMessage.cjs.map +1 -1
  95. package/dist/components/error-message/ErrorMessage.d.ts +3 -3
  96. package/dist/components/error-message/ErrorMessage.d.ts.map +1 -1
  97. package/dist/components/error-message/ErrorMessage.js +10 -9
  98. package/dist/components/error-message/ErrorMessage.js.map +1 -1
  99. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.cjs.map +1 -1
  100. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.d.ts +7 -6
  101. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.d.ts.map +1 -1
  102. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.js.map +1 -1
  103. package/dist/components/global-banner/GlobalBanner.cjs +1 -1
  104. package/dist/components/global-banner/GlobalBanner.cjs.map +1 -1
  105. package/dist/components/global-banner/GlobalBanner.d.ts +10 -5
  106. package/dist/components/global-banner/GlobalBanner.d.ts.map +1 -1
  107. package/dist/components/global-banner/GlobalBanner.js +33 -26
  108. package/dist/components/global-banner/GlobalBanner.js.map +1 -1
  109. package/dist/components/icon-button/IconButton.css +1 -1
  110. package/dist/components/icon-button/IconButton.module.scss.cjs +1 -1
  111. package/dist/components/icon-button/IconButton.module.scss.js +15 -15
  112. package/dist/components/image-preview/ImagePreview.cjs +1 -1
  113. package/dist/components/image-preview/ImagePreview.cjs.map +1 -1
  114. package/dist/components/image-preview/ImagePreview.css +1 -1
  115. package/dist/components/image-preview/ImagePreview.d.ts +12 -1
  116. package/dist/components/image-preview/ImagePreview.d.ts.map +1 -1
  117. package/dist/components/image-preview/ImagePreview.js +25 -20
  118. package/dist/components/image-preview/ImagePreview.js.map +1 -1
  119. package/dist/components/image-preview/ImagePreview.module.scss.cjs +1 -1
  120. package/dist/components/image-preview/ImagePreview.module.scss.js +15 -15
  121. package/dist/components/link-preview/LinkPreview.cjs +1 -1
  122. package/dist/components/link-preview/LinkPreview.cjs.map +1 -1
  123. package/dist/components/link-preview/LinkPreview.d.ts +12 -6
  124. package/dist/components/link-preview/LinkPreview.d.ts.map +1 -1
  125. package/dist/components/link-preview/LinkPreview.js +19 -16
  126. package/dist/components/link-preview/LinkPreview.js.map +1 -1
  127. package/dist/components/mention-badge/MentionBadge.cjs +1 -1
  128. package/dist/components/mention-badge/MentionBadge.cjs.map +1 -1
  129. package/dist/components/mention-badge/MentionBadge.d.ts +3 -1
  130. package/dist/components/mention-badge/MentionBadge.d.ts.map +1 -1
  131. package/dist/components/mention-badge/MentionBadge.js +18 -23
  132. package/dist/components/mention-badge/MentionBadge.js.map +1 -1
  133. package/dist/components/menu-group-heading/MenuGroupHeading.cjs.map +1 -1
  134. package/dist/components/menu-group-heading/MenuGroupHeading.d.ts +3 -3
  135. package/dist/components/menu-group-heading/MenuGroupHeading.d.ts.map +1 -1
  136. package/dist/components/menu-group-heading/MenuGroupHeading.js.map +1 -1
  137. package/dist/components/menu-item/MenuItem.cjs +1 -1
  138. package/dist/components/menu-item/MenuItem.cjs.map +1 -1
  139. package/dist/components/menu-item/MenuItem.d.ts +2 -0
  140. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  141. package/dist/components/menu-item/MenuItem.js +29 -28
  142. package/dist/components/menu-item/MenuItem.js.map +1 -1
  143. package/dist/components/message-actions/MessageActions.cjs +1 -1
  144. package/dist/components/message-actions/MessageActions.cjs.map +1 -1
  145. package/dist/components/message-actions/MessageActions.d.ts +26 -2
  146. package/dist/components/message-actions/MessageActions.d.ts.map +1 -1
  147. package/dist/components/message-actions/MessageActions.js +67 -55
  148. package/dist/components/message-actions/MessageActions.js.map +1 -1
  149. package/dist/components/message-header/MessageHeader.cjs.map +1 -1
  150. package/dist/components/message-header/MessageHeader.d.ts +5 -3
  151. package/dist/components/message-header/MessageHeader.d.ts.map +1 -1
  152. package/dist/components/message-header/MessageHeader.js.map +1 -1
  153. package/dist/components/message-separator/MessageSeparator.cjs +1 -1
  154. package/dist/components/message-separator/MessageSeparator.cjs.map +1 -1
  155. package/dist/components/message-separator/MessageSeparator.d.ts +8 -4
  156. package/dist/components/message-separator/MessageSeparator.d.ts.map +1 -1
  157. package/dist/components/message-separator/MessageSeparator.js +16 -14
  158. package/dist/components/message-separator/MessageSeparator.js.map +1 -1
  159. package/dist/components/modal/Modal.cjs +1 -1
  160. package/dist/components/modal/Modal.cjs.map +1 -1
  161. package/dist/components/modal/Modal.css +1 -1
  162. package/dist/components/modal/Modal.d.ts +40 -4
  163. package/dist/components/modal/Modal.d.ts.map +1 -1
  164. package/dist/components/modal/Modal.js +105 -56
  165. package/dist/components/modal/Modal.js.map +1 -1
  166. package/dist/components/modal/Modal.module.scss.cjs +1 -1
  167. package/dist/components/modal/Modal.module.scss.js +14 -12
  168. package/dist/components/modal/Modal.module.scss.js.map +1 -1
  169. package/dist/components/modal-header/ModalHeader.cjs +1 -1
  170. package/dist/components/modal-header/ModalHeader.cjs.map +1 -1
  171. package/dist/components/modal-header/ModalHeader.css +1 -1
  172. package/dist/components/modal-header/ModalHeader.d.ts +16 -1
  173. package/dist/components/modal-header/ModalHeader.d.ts.map +1 -1
  174. package/dist/components/modal-header/ModalHeader.js +72 -57
  175. package/dist/components/modal-header/ModalHeader.js.map +1 -1
  176. package/dist/components/modal-header/ModalHeader.module.scss.cjs +1 -1
  177. package/dist/components/modal-header/ModalHeader.module.scss.js +15 -13
  178. package/dist/components/modal-header/ModalHeader.module.scss.js.map +1 -1
  179. package/dist/components/more-unreads-banner/MoreUnreadsBanner.cjs +1 -1
  180. package/dist/components/more-unreads-banner/MoreUnreadsBanner.cjs.map +1 -1
  181. package/dist/components/more-unreads-banner/MoreUnreadsBanner.d.ts +4 -1
  182. package/dist/components/more-unreads-banner/MoreUnreadsBanner.d.ts.map +1 -1
  183. package/dist/components/more-unreads-banner/MoreUnreadsBanner.js +11 -10
  184. package/dist/components/more-unreads-banner/MoreUnreadsBanner.js.map +1 -1
  185. package/dist/components/new-message-banner/NewMessageBanner.cjs +1 -1
  186. package/dist/components/new-message-banner/NewMessageBanner.cjs.map +1 -1
  187. package/dist/components/new-message-banner/NewMessageBanner.d.ts +15 -3
  188. package/dist/components/new-message-banner/NewMessageBanner.d.ts.map +1 -1
  189. package/dist/components/new-message-banner/NewMessageBanner.js +30 -22
  190. package/dist/components/new-message-banner/NewMessageBanner.js.map +1 -1
  191. package/dist/components/pagination-dots/PaginationDots.cjs +1 -1
  192. package/dist/components/pagination-dots/PaginationDots.cjs.map +1 -1
  193. package/dist/components/pagination-dots/PaginationDots.css +1 -1
  194. package/dist/components/pagination-dots/PaginationDots.d.ts +5 -1
  195. package/dist/components/pagination-dots/PaginationDots.d.ts.map +1 -1
  196. package/dist/components/pagination-dots/PaginationDots.js +22 -19
  197. package/dist/components/pagination-dots/PaginationDots.js.map +1 -1
  198. package/dist/components/pagination-dots/PaginationDots.module.scss.cjs +1 -1
  199. package/dist/components/pagination-dots/PaginationDots.module.scss.js +10 -10
  200. package/dist/components/permalink-preview/PermalinkPreview.cjs +1 -1
  201. package/dist/components/permalink-preview/PermalinkPreview.cjs.map +1 -1
  202. package/dist/components/permalink-preview/PermalinkPreview.d.ts +16 -5
  203. package/dist/components/permalink-preview/PermalinkPreview.d.ts.map +1 -1
  204. package/dist/components/permalink-preview/PermalinkPreview.js +39 -35
  205. package/dist/components/permalink-preview/PermalinkPreview.js.map +1 -1
  206. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.cjs +1 -1
  207. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.cjs.map +1 -1
  208. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.d.ts +8 -1
  209. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.d.ts.map +1 -1
  210. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.js +20 -17
  211. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.js.map +1 -1
  212. package/dist/components/popover-menu/PopoverMenu.cjs +1 -1
  213. package/dist/components/popover-menu/PopoverMenu.cjs.map +1 -1
  214. package/dist/components/popover-menu/PopoverMenu.css +1 -1
  215. package/dist/components/popover-menu/PopoverMenu.d.ts +9 -1
  216. package/dist/components/popover-menu/PopoverMenu.d.ts.map +1 -1
  217. package/dist/components/popover-menu/PopoverMenu.js +39 -28
  218. package/dist/components/popover-menu/PopoverMenu.js.map +1 -1
  219. package/dist/components/popover-menu/PopoverMenu.module.scss.cjs +1 -1
  220. package/dist/components/popover-menu/PopoverMenu.module.scss.js +12 -10
  221. package/dist/components/popover-menu/PopoverMenu.module.scss.js.map +1 -1
  222. package/dist/components/popover-notice/PopoverNotice.cjs +1 -1
  223. package/dist/components/popover-notice/PopoverNotice.cjs.map +1 -1
  224. package/dist/components/popover-notice/PopoverNotice.d.ts +13 -5
  225. package/dist/components/popover-notice/PopoverNotice.d.ts.map +1 -1
  226. package/dist/components/popover-notice/PopoverNotice.js +58 -48
  227. package/dist/components/popover-notice/PopoverNotice.js.map +1 -1
  228. package/dist/components/profile-popover/ProfilePopover.cjs +1 -1
  229. package/dist/components/profile-popover/ProfilePopover.cjs.map +1 -1
  230. package/dist/components/profile-popover/ProfilePopover.d.ts +34 -12
  231. package/dist/components/profile-popover/ProfilePopover.d.ts.map +1 -1
  232. package/dist/components/profile-popover/ProfilePopover.js +122 -106
  233. package/dist/components/profile-popover/ProfilePopover.js.map +1 -1
  234. package/dist/components/progress-bar/ProgressBar.cjs +1 -1
  235. package/dist/components/progress-bar/ProgressBar.cjs.map +1 -1
  236. package/dist/components/progress-bar/ProgressBar.d.ts +4 -3
  237. package/dist/components/progress-bar/ProgressBar.d.ts.map +1 -1
  238. package/dist/components/progress-bar/ProgressBar.js +9 -7
  239. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  240. package/dist/components/radio/Radio.css +1 -1
  241. package/dist/components/radio/Radio.module.scss.cjs +1 -1
  242. package/dist/components/radio/Radio.module.scss.js +11 -11
  243. package/dist/components/reaction-button/ReactionButton.cjs +1 -1
  244. package/dist/components/reaction-button/ReactionButton.cjs.map +1 -1
  245. package/dist/components/reaction-button/ReactionButton.d.ts +3 -1
  246. package/dist/components/reaction-button/ReactionButton.d.ts.map +1 -1
  247. package/dist/components/reaction-button/ReactionButton.js +20 -18
  248. package/dist/components/reaction-button/ReactionButton.js.map +1 -1
  249. package/dist/components/reactions-row/ReactionsRow.cjs +1 -1
  250. package/dist/components/reactions-row/ReactionsRow.cjs.map +1 -1
  251. package/dist/components/reactions-row/ReactionsRow.d.ts +10 -2
  252. package/dist/components/reactions-row/ReactionsRow.d.ts.map +1 -1
  253. package/dist/components/reactions-row/ReactionsRow.js +33 -28
  254. package/dist/components/reactions-row/ReactionsRow.js.map +1 -1
  255. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs +1 -1
  256. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
  257. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts +15 -7
  258. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
  259. package/dist/components/right-sidebar-header/RightSidebarHeader.js +23 -19
  260. package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
  261. package/dist/components/scrollbar/Scrollbar.cjs +1 -1
  262. package/dist/components/scrollbar/Scrollbar.cjs.map +1 -1
  263. package/dist/components/scrollbar/Scrollbar.css +1 -1
  264. package/dist/components/scrollbar/Scrollbar.d.ts +2 -2
  265. package/dist/components/scrollbar/Scrollbar.d.ts.map +1 -1
  266. package/dist/components/scrollbar/Scrollbar.js +24 -15
  267. package/dist/components/scrollbar/Scrollbar.js.map +1 -1
  268. package/dist/components/scrollbar/Scrollbar.module.scss.cjs +1 -1
  269. package/dist/components/scrollbar/Scrollbar.module.scss.js +4 -4
  270. package/dist/components/scrollbar/simplebar-vendor.css +1 -0
  271. package/dist/components/search-input/SearchInput.cjs +1 -1
  272. package/dist/components/search-input/SearchInput.cjs.map +1 -1
  273. package/dist/components/search-input/SearchInput.d.ts +5 -0
  274. package/dist/components/search-input/SearchInput.d.ts.map +1 -1
  275. package/dist/components/search-input/SearchInput.js +92 -85
  276. package/dist/components/search-input/SearchInput.js.map +1 -1
  277. package/dist/components/search-tip-banner/SearchTipBanner.cjs +1 -1
  278. package/dist/components/search-tip-banner/SearchTipBanner.cjs.map +1 -1
  279. package/dist/components/search-tip-banner/SearchTipBanner.d.ts +8 -5
  280. package/dist/components/search-tip-banner/SearchTipBanner.d.ts.map +1 -1
  281. package/dist/components/search-tip-banner/SearchTipBanner.js +17 -16
  282. package/dist/components/search-tip-banner/SearchTipBanner.js.map +1 -1
  283. package/dist/components/section-notice/SectionNotice.cjs +1 -1
  284. package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
  285. package/dist/components/section-notice/SectionNotice.d.ts +16 -3
  286. package/dist/components/section-notice/SectionNotice.d.ts.map +1 -1
  287. package/dist/components/section-notice/SectionNotice.js +64 -48
  288. package/dist/components/section-notice/SectionNotice.js.map +1 -1
  289. package/dist/components/select/Select.cjs +1 -1
  290. package/dist/components/select/Select.cjs.map +1 -1
  291. package/dist/components/select/Select.d.ts +8 -1
  292. package/dist/components/select/Select.d.ts.map +1 -1
  293. package/dist/components/select/Select.js +81 -79
  294. package/dist/components/select/Select.js.map +1 -1
  295. package/dist/components/spinner/Spinner.cjs.map +1 -1
  296. package/dist/components/spinner/Spinner.css +1 -1
  297. package/dist/components/spinner/Spinner.d.ts +1 -0
  298. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  299. package/dist/components/spinner/Spinner.js.map +1 -1
  300. package/dist/components/spinner/Spinner.module.scss.cjs +1 -1
  301. package/dist/components/spinner/Spinner.module.scss.js +5 -5
  302. package/dist/components/status-badge/StatusBadge.css +1 -1
  303. package/dist/components/status-badge/StatusBadge.module.scss.cjs +1 -1
  304. package/dist/components/status-badge/StatusBadge.module.scss.js +11 -11
  305. package/dist/components/switch/Switch.css +1 -1
  306. package/dist/components/switch/Switch.module.scss.cjs +1 -1
  307. package/dist/components/switch/Switch.module.scss.js +17 -17
  308. package/dist/components/tabs/Tabs.cjs +1 -1
  309. package/dist/components/tabs/Tabs.cjs.map +1 -1
  310. package/dist/components/tabs/Tabs.css +1 -1
  311. package/dist/components/tabs/Tabs.d.ts +14 -3
  312. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  313. package/dist/components/tabs/Tabs.js +62 -53
  314. package/dist/components/tabs/Tabs.js.map +1 -1
  315. package/dist/components/tabs/Tabs.module.scss.cjs +1 -1
  316. package/dist/components/tabs/Tabs.module.scss.js +13 -12
  317. package/dist/components/tabs/Tabs.module.scss.js.map +1 -1
  318. package/dist/components/tabs/index.d.ts +1 -1
  319. package/dist/components/tabs/index.d.ts.map +1 -1
  320. package/dist/components/tag/Tag.cjs +1 -1
  321. package/dist/components/tag/Tag.cjs.map +1 -1
  322. package/dist/components/tag/Tag.d.ts +3 -3
  323. package/dist/components/tag/Tag.d.ts.map +1 -1
  324. package/dist/components/tag/Tag.js +12 -11
  325. package/dist/components/tag/Tag.js.map +1 -1
  326. package/dist/components/thread-footer/ThreadFooter.cjs +1 -1
  327. package/dist/components/thread-footer/ThreadFooter.cjs.map +1 -1
  328. package/dist/components/thread-footer/ThreadFooter.css +1 -1
  329. package/dist/components/thread-footer/ThreadFooter.d.ts +19 -3
  330. package/dist/components/thread-footer/ThreadFooter.d.ts.map +1 -1
  331. package/dist/components/thread-footer/ThreadFooter.js +53 -48
  332. package/dist/components/thread-footer/ThreadFooter.js.map +1 -1
  333. package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
  334. package/dist/components/thread-footer/ThreadFooter.module.scss.js +18 -18
  335. package/dist/components/thread-list-item/ThreadListItem.cjs +1 -1
  336. package/dist/components/thread-list-item/ThreadListItem.cjs.map +1 -1
  337. package/dist/components/thread-list-item/ThreadListItem.d.ts +15 -7
  338. package/dist/components/thread-list-item/ThreadListItem.d.ts.map +1 -1
  339. package/dist/components/thread-list-item/ThreadListItem.js +66 -62
  340. package/dist/components/thread-list-item/ThreadListItem.js.map +1 -1
  341. package/dist/components/toast/Toast.cjs +1 -1
  342. package/dist/components/toast/Toast.cjs.map +1 -1
  343. package/dist/components/toast/Toast.d.ts +8 -3
  344. package/dist/components/toast/Toast.d.ts.map +1 -1
  345. package/dist/components/toast/Toast.js +47 -39
  346. package/dist/components/toast/Toast.js.map +1 -1
  347. package/dist/components/tour-point/TourPoint.cjs +1 -1
  348. package/dist/components/tour-point/TourPoint.cjs.map +1 -1
  349. package/dist/components/tour-point/TourPoint.css +1 -1
  350. package/dist/components/tour-point/TourPoint.d.ts +19 -5
  351. package/dist/components/tour-point/TourPoint.d.ts.map +1 -1
  352. package/dist/components/tour-point/TourPoint.js +66 -54
  353. package/dist/components/tour-point/TourPoint.js.map +1 -1
  354. package/dist/components/tour-point/TourPoint.module.scss.cjs +1 -1
  355. package/dist/components/tour-point/TourPoint.module.scss.js +28 -28
  356. package/dist/components/unread-badge/UnreadBadge.css +1 -1
  357. package/dist/components/unread-badge/UnreadBadge.module.scss.cjs +1 -1
  358. package/dist/components/unread-badge/UnreadBadge.module.scss.js +5 -5
  359. package/dist/components/user-avatar/UserAvatar.css +1 -1
  360. package/dist/components/user-avatar/UserAvatar.module.scss.cjs +1 -1
  361. package/dist/components/user-avatar/UserAvatar.module.scss.js +26 -26
  362. package/dist/components/user-avatar-group/UserAvatarGroup.cjs +1 -1
  363. package/dist/components/user-avatar-group/UserAvatarGroup.cjs.map +1 -1
  364. package/dist/components/user-avatar-group/UserAvatarGroup.css +1 -1
  365. package/dist/components/user-avatar-group/UserAvatarGroup.d.ts +8 -1
  366. package/dist/components/user-avatar-group/UserAvatarGroup.d.ts.map +1 -1
  367. package/dist/components/user-avatar-group/UserAvatarGroup.js +22 -18
  368. package/dist/components/user-avatar-group/UserAvatarGroup.js.map +1 -1
  369. package/dist/components/user-avatar-group/UserAvatarGroup.module.scss.cjs +1 -1
  370. package/dist/components/user-avatar-group/UserAvatarGroup.module.scss.js +14 -14
  371. package/dist/hooks/use-modal-focus.cjs +2 -0
  372. package/dist/hooks/use-modal-focus.cjs.map +1 -0
  373. package/dist/hooks/use-modal-focus.d.ts +26 -0
  374. package/dist/hooks/use-modal-focus.d.ts.map +1 -0
  375. package/dist/hooks/use-modal-focus.js +91 -0
  376. package/dist/hooks/use-modal-focus.js.map +1 -0
  377. package/dist/hooks/use-popover-transition.cjs +1 -1
  378. package/dist/hooks/use-popover-transition.cjs.map +1 -1
  379. package/dist/hooks/use-popover-transition.d.ts +6 -4
  380. package/dist/hooks/use-popover-transition.d.ts.map +1 -1
  381. package/dist/hooks/use-popover-transition.js +19 -15
  382. package/dist/hooks/use-popover-transition.js.map +1 -1
  383. package/dist/index.d.ts +1 -0
  384. package/dist/index.d.ts.map +1 -1
  385. package/dist/utils/duration.cjs +2 -0
  386. package/dist/utils/duration.cjs.map +1 -0
  387. package/dist/utils/duration.d.ts +8 -0
  388. package/dist/utils/duration.d.ts.map +1 -0
  389. package/dist/utils/duration.js +11 -0
  390. package/dist/utils/duration.js.map +1 -0
  391. package/dist/utils/props.cjs +2 -0
  392. package/dist/utils/props.cjs.map +1 -0
  393. package/dist/utils/props.d.ts +13 -0
  394. package/dist/utils/props.d.ts.map +1 -0
  395. package/dist/utils/props.js +7 -0
  396. package/dist/utils/props.js.map +1 -0
  397. package/package.json +4 -6
  398. 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 ge, useId as ye, useRef as V, useCallback as _, useState as I, useMemo as X, useEffect as q } from "react";
3
- import __Ie from "@mattermost/compass-icons/components/chevron-down.js";const Ie=__Ie&&__Ie.default?__Ie.default:__Ie;
4
- import we, { IconSlotContext as De } from "../icon/Icon.js";
5
- import Pe from "../menu-item/MenuItem.js";
6
- import ke, { PopoverMenuScroll as Ne } from "../popover-menu/PopoverMenu.js";
7
- import { useAnchoredPopupPortal as Ee } from "../../hooks/use-anchored-popup-portal.js";
8
- import { useOutsideClose as Se } from "../../hooks/use-outside-close.js";
9
- import { usePopoverTransition as Ve } from "../../hooks/use-popover-transition.js";
10
- import { toKebab as Me } from "../../utils/string.js";
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 Oe({
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
- Pe,
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 Te = ge(function({
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
- portalContainer: Z = null,
58
- zIndex: ee
57
+ listboxLabel: Z = "Options",
58
+ portalContainer: ee = null,
59
+ zIndex: te
59
60
  }, g) {
60
- const te = ye(), k = W ?? te, b = `${k}-listbox`, $ = V(null), H = V(null), A = V(null), le = _(
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, [ne, se] = I(w), d = N ? x : ne, [n, B] = I(!1), [oe, j] = I(!1), [c, f] = I(-1), E = X(
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
- ), s = X(
69
+ ), o = X(
69
70
  () => p.filter((e) => e.value !== ""),
70
71
  [p]
71
- ), C = d !== "", { mounted: F, visible: re } = Ve(n), {
72
- placement: ae,
73
- maxHeight: ie,
74
- style: ce,
72
+ ), C = d !== "", { mounted: F, visible: ae } = Me(s), {
73
+ placement: ie,
74
+ maxHeight: ce,
75
+ style: ue,
75
76
  portalRef: z,
76
- renderPortal: ue
77
- } = Ee(H, F, {
77
+ renderPortal: de
78
+ } = Se(H, F, {
78
79
  preferredHeight: J,
79
80
  maxHeightCap: J,
80
- portalContainer: Z,
81
- zIndex: ee
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
- Se($, n, h, z), q(() => {
88
- n && f((e) => {
89
- if (s.length === 0) return -1;
90
- if (e >= 0 && e < s.length) return e;
91
- const t = s.findIndex((a) => a.value === d);
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 o = s.findIndex((a) => !a.disabled);
94
- return o >= 0 ? o : 0;
94
+ const n = o.findIndex((a) => !a.disabled);
95
+ return n >= 0 ? n : 0;
95
96
  });
96
- }, [n, s, d]);
97
+ }, [s, o, d]);
97
98
  const U = _(
98
99
  (e) => {
99
- N || se(e), m == null || m(e);
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 = s.map((o, a) => ({ o, i: a })).filter(({ o }) => !o.disabled);
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((o) => {
116
- const a = t.findIndex(({ i: xe }) => xe === o), _e = a < 0 ? e > 0 ? 0 : t.length - 1 : (a + e + t.length) % t.length;
117
- return t[_e].i;
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
- [s]
121
+ [o]
121
122
  );
122
123
  q(() => {
123
- if (!n || c < 0) return;
124
- const e = s[c];
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 || t.scrollIntoView({ block: "nearest" });
128
- }, [n, c, s, b]);
129
- const de = (e) => {
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(), n ? T(1) : y();
136
+ e.preventDefault(), s ? T(1) : y();
135
137
  break;
136
138
  case "ArrowUp":
137
- e.preventDefault(), n ? T(-1) : y();
139
+ e.preventDefault(), s ? T(-1) : y();
138
140
  break;
139
141
  case "Home":
140
- if (n && s.length > 0) {
142
+ if (s && o.length > 0) {
141
143
  e.preventDefault();
142
- const o = s.findIndex((a) => !a.disabled);
143
- f(o >= 0 ? o : 0);
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 (n && s.length > 0) {
149
+ if (s && o.length > 0) {
148
150
  e.preventDefault();
149
- for (let o = s.length - 1; o >= 0; o--)
150
- if (!((t = s[o]) != null && t.disabled)) {
151
- f(o);
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(), n && c >= 0 && s[c] ? K(s[c]) : n || y();
160
+ e.preventDefault(), s && c >= 0 && o[c] ? K(o[c]) : s || y();
159
161
  break;
160
162
  case "Escape":
161
- n && (e.preventDefault(), h());
163
+ s && (e.preventDefault(), h());
162
164
  break;
163
165
  case "Tab":
164
166
  h();
165
167
  break;
166
168
  }
167
- }, fe = oe || n || C, L = (E == null ? void 0 : E.label) ?? D ?? "", pe = !C && L !== "", G = c >= 0 ? s[c] : void 0, me = n && G != null ? `${b}-option-${G.value}` : void 0, ve = l[`select--size-${Me(Q)}`], be = [
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
- ve,
171
+ be,
170
172
  M ? l["select--invalid"] : "",
171
- u != null && fe ? l["select--label-floated"] : "",
173
+ u != null && pe ? l["select--label-floated"] : "",
172
174
  P != null ? l["select--has-leading-icon"] : "",
173
- n ? l["select--open"] : "",
175
+ s ? l["select--open"] : "",
174
176
  v ? l["select--disabled"] : "",
175
177
  Y
176
- ].filter(Boolean).join(" "), he = [
178
+ ].filter(Boolean).join(" "), _e = [
177
179
  l.select__control,
178
- pe ? l["select__control--placeholder"] : ""
180
+ me ? l["select__control--placeholder"] : ""
179
181
  ].filter(Boolean).join(" ");
180
- return /* @__PURE__ */ S("div", { className: be, ref: $, children: [
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: le,
188
+ ref: ne,
187
189
  id: k,
188
190
  type: "button",
189
191
  role: "combobox",
190
- className: he,
192
+ className: _e,
191
193
  disabled: v,
192
194
  "aria-haspopup": "listbox",
193
- "aria-expanded": n,
195
+ "aria-expanded": s,
194
196
  "aria-controls": b,
195
- "aria-activedescendant": me,
197
+ "aria-activedescendant": ve,
196
198
  "aria-invalid": M ? !0 : void 0,
197
199
  "aria-label": R,
198
- onClick: () => n ? h() : y(),
200
+ onClick: () => s ? h() : y(),
199
201
  onFocus: () => j(!0),
200
202
  onBlur: () => j(!1),
201
- onKeyDown: de,
203
+ onKeyDown: fe,
202
204
  children: [
203
- P != null && /* @__PURE__ */ r("span", { className: l["select__leading-icon"], "aria-hidden": !0, children: /* @__PURE__ */ r(De.Provider, { value: { size: "16" }, children: P }) }),
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(we, { size: "12", glyph: /* @__PURE__ */ r(Ie, {}) }) })
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 && ue(
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
- ae === "above" ? l["select__popup--above"] : "",
219
- re ? l["select__popup--visible"] : ""
220
+ ie === "above" ? l["select__popup--above"] : "",
221
+ ae ? l["select__popup--visible"] : ""
220
222
  ].filter(Boolean).join(" "),
221
- style: ce,
222
- children: /* @__PURE__ */ r(ke, { className: l.select__menu, children: /* @__PURE__ */ r(Ne, { maxHeight: ie, 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 ?? "Options",
229
- children: s.map((e, t) => /* @__PURE__ */ r(
230
- Oe,
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
- Te as default
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":";;;;;;;;;;;AAwDA,MAAMA,IAAmB;AAEzB,SAASC,GAAgB;AAAA,EACvB,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,GAOG;AACD,2BACG,MAAA,EAAG,WAAWC,EAAO,gBAAgB,MAAK,gBACzC,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI,GAAGP,CAAS,WAAWD,EAAO,KAAK;AAAA,MACvC,MAAK;AAAA,MACL,OAAOA,EAAO;AAAA,MACd,gBAAgBA,EAAO;AAAA,MACvB,gBAAgBA,EAAO,iBAAiB;AAAA,MACxC,eAAeA,EAAO;AAAA,MACtB,iBAAiBE;AAAA,MACjB,QAAAC;AAAA,MACA,UAAUH,EAAO;AAAA,MACjB,iBAAeE;AAAA,MACf,aAAa,CAACO,MAAOA,EAAG,eAAA;AAAA,MACxB,cAAcJ;AAAA,MACd,aAAa,MAAM;AACjB,QAAKL,EAAO,YAAUI,EAASJ,CAAM;AAAA,MACvC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAMA,MAAMU,KAASC,GAA2C,SACxD;AAAA,EACE,SAAAC;AAAA,EACA,OAAOC;AAAA,EACP,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,IAAIC;AAAA,EACJ,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,cAAcC;AAAA,EACd,iBAAAC,IAAkB;AAAA,EAClB,QAAAC;AACF,GACAC,GACA;AACA,QAAMC,KAAcC,GAAA,GACdC,IAAKT,KAAUO,IACf5B,IAAY,GAAG8B,CAAE,YAEjBC,IAAUC,EAAuB,IAAI,GACrCC,IAAYD,EAAuB,IAAI,GACvCE,IAAYF,EAAiC,IAAI,GAEjDG,KAAeC;AAAA,IACnB,CAACC,MAAmC;AAClC,MAAAH,EAAU,UAAUG,GAChB,OAAOV,KAAQ,aAAYA,EAAIU,CAAI,IAC9BV,QAAS,UAAUU;AAAA,IAC9B;AAAA,IACA,CAACV,CAAG;AAAA,EAAA,GAGAW,IAAe1B,MAAc,QAC7B,CAAC2B,IAAmBC,EAAoB,IAAIC,EAAS5B,CAAY,GACjE6B,IAAQJ,IAAe1B,IAAa2B,IAEpC,CAACI,GAAQC,CAAS,IAAIH,EAAS,EAAK,GACpC,CAACI,IAAWC,CAAY,IAAIL,EAAS,EAAK,GAC1C,CAACM,GAAaC,CAAc,IAAIP,EAAS,EAAE,GAE3CQ,IAAiBC;AAAA,IACrB,MAAMvC,EAAQ,KAAK,CAACwC,MAAMA,EAAE,UAAUT,CAAK;AAAA,IAC3C,CAAC/B,GAAS+B,CAAK;AAAA,EAAA,GAGXU,IAAcF;AAAA,IAClB,MAAMvC,EAAQ,OAAO,CAACwC,MAAMA,EAAE,UAAU,EAAE;AAAA,IAC1C,CAACxC,CAAO;AAAA,EAAA,GAGJ0C,IAAWX,MAAU,IAErB,EAAE,SAASY,GAAc,SAASC,GAAA,IACtCC,GAAqBb,CAAM,GAEvB;AAAA,IACJ,WAAAc;AAAA,IACA,WAAAC;AAAA,IACA,OAAOC;AAAA,IACP,WAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,GAAuB7B,GAAWqB,GAAc;AAAA,IAClD,iBAAiBzD;AAAA,IACjB,cAAcA;AAAA,IACd,iBAAA4B;AAAA,IACA,QAAAC;AAAA,EAAA,CACD,GAEKqC,IAAQ3B,EAAY,MAAM;AAC9B,IAAAQ,EAAU,EAAK,GACfI,EAAe,EAAE;AAAA,EACnB,GAAG,CAAA,CAAE,GAECgB,IAAO5B,EAAY,MAAM;AAC7B,IAAIhB,KACJwB,EAAU,EAAI;AAAA,EAChB,GAAG,CAACxB,CAAQ,CAAC;AAEb,EAAA6C,GAAgBlC,GAASY,GAAQoB,GAAOH,CAAS,GAEjDM,EAAU,MAAM;AACd,IAAKvB,KACLK,EAAe,CAACmB,MAAS;AACvB,UAAIf,EAAY,WAAW,EAAG,QAAO;AACrC,UAAIe,KAAQ,KAAKA,IAAOf,EAAY,OAAQ,QAAOe;AACnD,YAAMC,IAAchB,EAAY,UAAU,CAACD,MAAMA,EAAE,UAAUT,CAAK;AAClE,UAAI0B,KAAe,EAAG,QAAOA;AAC7B,YAAMC,IAAejB,EAAY,UAAU,CAACD,MAAM,CAACA,EAAE,QAAQ;AAC7D,aAAOkB,KAAgB,IAAIA,IAAe;AAAA,IAC5C,CAAC;AAAA,EACH,GAAG,CAAC1B,GAAQS,GAAaV,CAAK,CAAC;AAE/B,QAAM4B,IAAclC;AAAA,IAClB,CAACmC,MAAiB;AAChB,MAAKjC,KAAcE,GAAqB+B,CAAI,GAC5CzD,KAAA,QAAAA,EAAWyD;AAAA,IACb;AAAA,IACA,CAACjC,GAAcxB,CAAQ;AAAA,EAAA,GAGnB0D,IAAepC;AAAA,IACnB,CAACrC,MAAyB;;AACxB,MAAIA,EAAO,aACXuE,EAAYvE,EAAO,KAAK,GACxBgE,EAAA,IACAU,IAAAvC,EAAU,YAAV,QAAAuC,EAAmB;AAAA,IACrB;AAAA,IACA,CAACH,GAAaP,CAAK;AAAA,EAAA,GAGfW,IAAatC;AAAA,IACjB,CAACuC,MAAkB;AACjB,YAAMC,IAAUxB,EACb,IAAI,CAAC,GAAGyB,OAAO,EAAE,GAAG,GAAAA,EAAA,EAAI,EACxB,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ;AAChC,UAAID,EAAQ,WAAW,GAAG;AACxB,QAAA5B,EAAe,EAAE;AACjB;AAAA,MACF;AACA,MAAAA,EAAe,CAACmB,MAAS;AACvB,cAAMW,IAAaF,EAAQ,UAAU,CAAC,EAAE,GAAAC,GAAA,MAAQA,OAAMV,CAAI,GACpDY,KACJD,IAAa,IACTH,IAAQ,IACN,IACAC,EAAQ,SAAS,KAClBE,IAAaH,IAAQC,EAAQ,UAAUA,EAAQ;AACtD,eAAOA,EAAQG,EAAO,EAAE;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,IACA,CAAC3B,CAAW;AAAA,EAAA;AAGd,EAAAc,EAAU,MAAM;AACd,QAAI,CAACvB,KAAUI,IAAc,EAAG;AAChC,UAAMhD,IAASqD,EAAYL,CAAW;AACtC,QAAI,CAAChD,EAAQ;AACb,UAAMiF,IAAK,SAAS,eAAe,GAAGhF,CAAS,WAAWD,EAAO,KAAK,EAAE;AACxE,IAAAiF,KAAA,QAAAA,EAAI,eAAe,EAAE,OAAO,UAAA;AAAA,EAC9B,GAAG,CAACrC,GAAQI,GAAaK,GAAapD,CAAS,CAAC;AAEhD,QAAMiF,KAAgB,CAAC,MAAwC;;AAC7D,QAAI,CAAA7D;AAEJ,cAAQ,EAAE,KAAA;AAAA,QACR,KAAK;AACH,YAAE,eAAA,GACGuB,MACW,CAAC,IADJqB,EAAA;AAEb;AAAA,QACF,KAAK;AACH,YAAE,eAAA,GACGrB,MACW,EAAE,IADLqB,EAAA;AAEb;AAAA,QACF,KAAK;AACH,cAAIrB,KAAUS,EAAY,SAAS,GAAG;AACpC,cAAE,eAAA;AACF,kBAAM8B,IAAM9B,EAAY,UAAU,CAACD,MAAM,CAACA,EAAE,QAAQ;AACpD,YAAAH,EAAekC,KAAO,IAAIA,IAAM,CAAC;AAAA,UACnC;AACA;AAAA,QACF,KAAK;AACH,cAAIvC,KAAUS,EAAY,SAAS,GAAG;AACpC,cAAE,eAAA;AACF,qBAASyB,IAAIzB,EAAY,SAAS,GAAGyB,KAAK,GAAGA;AAC3C,kBAAI,GAACJ,IAAArB,EAAYyB,CAAC,MAAb,QAAAJ,EAAgB,WAAU;AAC7B,gBAAAzB,EAAe6B,CAAC;AAChB;AAAA,cACF;AAAA,UAEJ;AACA;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,YAAE,eAAA,GACElC,KAAUI,KAAe,KAAKK,EAAYL,CAAW,IACvDyB,EAAapB,EAAYL,CAAW,CAAC,IAC3BJ,KACVqB,EAAA;AAEF;AAAA,QACF,KAAK;AACH,UAAIrB,MACF,EAAE,eAAA,GACFoB,EAAA;AAEF;AAAA,QACF,KAAK;AACH,UAAAA,EAAA;AACA;AAAA,MAEA;AAAA,EAEN,GAEMoB,KAAetC,MAAaF,KAAUU,GACtC+B,KAAenC,KAAA,gBAAAA,EAAgB,UAASlC,KAAe,IACvDsE,KAAuB,CAAChC,KAAY+B,MAAiB,IAErDE,IAAevC,KAAe,IAAIK,EAAYL,CAAW,IAAI,QAC7DwC,KACJ5C,KAAU2C,KAAgB,OACtB,GAAGtF,CAAS,WAAWsF,EAAa,KAAK,KACzC,QAEAE,KAAYnF,EAAO,gBAAgBoF,GAAQvE,CAAI,CAAC,EAAE,GAClDwE,KAAY;AAAA,IAChBrF,EAAO;AAAA,IACPmF;AAAA,IACArE,IAAUd,EAAO,iBAAiB,IAAI;AAAA,IACtCW,KAAS,QAAQmE,KAAe9E,EAAO,uBAAuB,IAAI;AAAA,IAClEY,KAAe,OAAOZ,EAAO,0BAA0B,IAAI;AAAA,IAC3DsC,IAAStC,EAAO,cAAc,IAAI;AAAA,IAClCe,IAAWf,EAAO,kBAAkB,IAAI;AAAA,IACxCkB;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,GAELoE,KAAe;AAAA,IACnBtF,EAAO;AAAA,IACPgF,KAAuBhF,EAAO,8BAA8B,IAAI;AAAA,EAAA,EAE/D,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAuF,EAAC,OAAA,EAAI,WAAWF,IAAW,KAAK3D,GAC9B,UAAA;AAAA,IAAA,gBAAA6D,EAAC,OAAA,EAAI,WAAWvF,EAAO,iBAAiB,KAAK4B,GAC1C,UAAA;AAAA,MAAAjB,KAAS,0BACP,SAAA,EAAM,WAAWX,EAAO,eAAe,SAASyB,GAC9C,UAAAd,EAAA,CACH;AAAA,MAEF,gBAAA4E;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKzD;AAAA,UACL,IAAAL;AAAA,UACA,MAAK;AAAA,UACL,MAAK;AAAA,UACL,WAAW6D;AAAA,UACX,UAAAvE;AAAA,UACA,iBAAc;AAAA,UACd,iBAAeuB;AAAA,UACf,iBAAe3C;AAAA,UACf,yBAAuBuF;AAAA,UACvB,gBAAcpE,IAAU,KAAO;AAAA,UAC/B,cAAYK;AAAA,UACZ,SAAS,MAAOmB,IAASoB,EAAA,IAAUC,EAAA;AAAA,UACnC,SAAS,MAAMlB,EAAa,EAAI;AAAA,UAChC,QAAQ,MAAMA,EAAa,EAAK;AAAA,UAChC,WAAWmC;AAAA,UAEV,UAAA;AAAA,YAAAhE,KAAe,QACd,gBAAAX,EAAC,QAAA,EAAK,WAAWD,EAAO,sBAAsB,GAAG,eAAW,IAC1D,4BAACwF,GAAgB,UAAhB,EAAyB,OAAO,EAAE,MAAM,KAAA,GACtC,aACH,GACF;AAAA,YAEF,gBAAAvF,EAAC,QAAA,EAAK,WAAWD,EAAO,eAAgB,UAAA+E,GAAa;AAAA,8BACpD,QAAA,EAAK,WAAW/E,EAAO,uBAAuB,GAAG,eAAW,IAC3D,UAAA,gBAAAC,EAACwF,IAAA,EAAK,MAAK,MAAK,OAAO,gBAAAxF,EAACyF,IAAA,EAAgB,GAAI,EAAA,CAC9C;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,IAECzE,KAAQ,QAAQ,CAACF,uBACf,SAAA,EAAM,MAAK,UAAS,MAAAE,GAAY,OAAAoB,GAAc;AAAA,IAGhDY,KACCO;AAAA,MACE,gBAAAvD;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKsD;AAAA,UACL,WAAW;AAAA,YACTvD,EAAO;AAAA,YACPoD,OAAc,UAAUpD,EAAO,sBAAsB,IAAI;AAAA,YACzDkD,KAAelD,EAAO,wBAAwB,IAAI;AAAA,UAAA,EAEjD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,UACX,OAAOsD;AAAA,UAEP,4BAACqC,IAAA,EAAY,WAAW3F,EAAO,cAC7B,UAAA,gBAAAC,EAAC2F,MAAkB,WAAAvC,IACjB,UAAA,gBAAApD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAIN;AAAA,cACJ,WAAWK,EAAO;AAAA,cAClB,MAAK;AAAA,cACL,cACE,OAAOW,KAAU,WAAWA,IAASQ,KAAa;AAAA,cAGnD,UAAA4B,EAAY,IAAI,CAACrD,GAAQmG,MACxB,gBAAA5F;AAAA,gBAACR;AAAA,gBAAA;AAAA,kBAEC,QAAAC;AAAA,kBACA,WAAAC;AAAA,kBACA,UAAUD,EAAO,UAAU2C;AAAA,kBAC3B,QAAQwD,MAAUnD;AAAA,kBAClB,UAAUyB;AAAA,kBACV,SAAS,MAAMxB,EAAekD,CAAK;AAAA,gBAAA;AAAA,gBAN9BnG,EAAO;AAAA,cAAA,CAQf;AAAA,YAAA;AAAA,UAAA,GAEL,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,GACJ;AAEJ,CAAC;"}
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":"wLAkBA,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
+ {"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-spin_16qg7_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._spinner_16qg7_10{display:inline-block;border-radius:var(--radius-full);animation:_spinner-spin_16qg7_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_16qg7_17{background:conic-gradient(rgba(var(--button-color-rgb),0),rgba(var(--button-color-rgb),.64))}
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":";;AAkBA,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
+ {"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="_spinner_16qg7_10",n={spinner:e,"spinner--inverted":"_spinner--inverted_16qg7_17"};exports.default=n;exports.spinner=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 n = "_spinner_16qg7_10", e = {
2
- spinner: n,
3
- "spinner--inverted": "_spinner--inverted_16qg7_17"
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
- e as default,
7
- n as spinner
6
+ n as default,
7
+ e as spinner
8
8
  };
9
9
  //# sourceMappingURL=Spinner.module.scss.js.map
@@ -1 +1 @@
1
- ._status-badge_umpvw_2{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--center-channel-color);box-sizing:border-box;overflow:hidden}._status-badge__glyph_umpvw_13{display:flex;align-items:center;justify-content:center;flex-shrink:0}._status-badge--size-xx-small_umpvw_19{width:var(--icon-size-12);height:var(--icon-size-12)}._status-badge--size-xx-small_umpvw_19 ._status-badge__glyph_umpvw_13{width:var(--icon-size-10);height:var(--icon-size-10)}._status-badge--size-x-small_umpvw_27,._status-badge--size-x-small_umpvw_27 ._status-badge__glyph_umpvw_13{width:var(--icon-size-12);height:var(--icon-size-12)}._status-badge--size-small_umpvw_35,._status-badge--size-small_umpvw_35 ._status-badge__glyph_umpvw_13{width:var(--icon-size-16);height:var(--icon-size-16)}._status-badge--size-medium_umpvw_43{width:var(--icon-size-24);height:var(--icon-size-24)}._status-badge--size-medium_umpvw_43 ._status-badge__glyph_umpvw_13{width:var(--icon-size-20);height:var(--icon-size-20)}._status-badge--size-large_umpvw_51{width:var(--icon-size-32);height:var(--icon-size-32)}._status-badge--size-large_umpvw_51 ._status-badge__glyph_umpvw_13{width:36px;height:36px;margin:-2px}._status-badge--status-online_umpvw_60{color:var(--online-indicator, var(--color-success));background-color:var(--status-badge-bg, var(--center-channel-bg))}._status-badge--status-away_umpvw_64{color:var(--away-indicator, var(--color-warning));background-color:var(--status-badge-bg, var(--center-channel-bg))}._status-badge--status-do-not-disturb_umpvw_68{color:var(--dnd-indicator, var(--color-danger));background-color:var(--status-badge-bg, var(--center-channel-bg))}._status-badge--status-offline_umpvw_72{color:rgba(var(--center-channel-color-rgb),.32);background-color:var(--status-badge-bg, var(--center-channel-bg))}
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-badge_umpvw_2","status-badge__glyph":"_status-badge__glyph_umpvw_13","status-badge--size-xx-small":"_status-badge--size-xx-small_umpvw_19","status-badge--size-x-small":"_status-badge--size-x-small_umpvw_27","status-badge--size-small":"_status-badge--size-small_umpvw_35","status-badge--size-medium":"_status-badge--size-medium_umpvw_43","status-badge--size-large":"_status-badge--size-large_umpvw_51","status-badge--status-online":"_status-badge--status-online_umpvw_60","status-badge--status-away":"_status-badge--status-away_umpvw_64","status-badge--status-do-not-disturb":"_status-badge--status-do-not-disturb_umpvw_68","status-badge--status-offline":"_status-badge--status-offline_umpvw_72"};exports.default=s;
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-badge_umpvw_2",
3
- "status-badge__glyph": "_status-badge__glyph_umpvw_13",
4
- "status-badge--size-xx-small": "_status-badge--size-xx-small_umpvw_19",
5
- "status-badge--size-x-small": "_status-badge--size-x-small_umpvw_27",
6
- "status-badge--size-small": "_status-badge--size-small_umpvw_35",
7
- "status-badge--size-medium": "_status-badge--size-medium_umpvw_43",
8
- "status-badge--size-large": "_status-badge--size-large_umpvw_51",
9
- "status-badge--status-online": "_status-badge--status-online_umpvw_60",
10
- "status-badge--status-away": "_status-badge--status-away_umpvw_64",
11
- "status-badge--status-do-not-disturb": "_status-badge--status-do-not-disturb_umpvw_68",
12
- "status-badge--status-offline": "_status-badge--status-offline_umpvw_72"
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
- ._switch_1hxbi_2{display:flex;align-items:flex-start;width:100%;gap:var(--spacing-m);font-family:var(--font-family-body);color:var(--center-channel-color);cursor:pointer;-webkit-user-select:none;user-select:none}._switch_1hxbi_2:has(._switch__input_1hxbi_12:disabled){cursor:not-allowed;color:rgba(var(--center-channel-color-rgb),.56)}._switch_1hxbi_2:has(._switch__input_1hxbi_12:disabled) ._switch__secondary-label_1hxbi_16{color:rgba(var(--center-channel-color-rgb),.56)}._switch__input_1hxbi_12{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_1hxbi_12:focus-visible{outline:none}._switch__labels_1hxbi_33{display:flex;flex-direction:column;flex:1 1 0;justify-content:center;min-width:0}._switch__label_1hxbi_33{line-height:1}._switch__secondary-label_1hxbi_16{color:rgba(var(--center-channel-color-rgb),.72);margin-top:var(--spacing-xxxxs)}._switch__track_1hxbi_47{position:relative;flex-shrink:0;display:block;box-sizing:border-box;background-color:rgba(var(--center-channel-color-rgb),.32);border-radius:var(--radius-full);transition:background-color var(--duration-quick) var(--ease-transition),box-shadow var(--duration-quick) var(--ease-transition)}._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:focus-visible){box-shadow:0 0 0 2px rgba(var(--button-bg-rgb),.56)}._switch_1hxbi_2:has(._switch__input_1hxbi_12:not(:disabled)):hover ._switch__track_1hxbi_47{background-color:rgba(var(--center-channel-color-rgb),.4)}._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:checked){background-color:var(--button-bg)}._switch_1hxbi_2:has(._switch__input_1hxbi_12:not(:disabled)):hover ._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:checked){background-color:var(--button-bg)}._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:focus-visible:checked){box-shadow:0 0 0 2px rgba(var(--button-bg-rgb),.56)}._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:disabled){opacity:.32}._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:disabled:checked){background-color:rgba(var(--center-channel-color-rgb),.32)}._switch__knob_1hxbi_77{position:absolute;left:2px;top:50%;transform:translateY(-50%) translate(0);border-radius:var(--radius-full);background-color:var(--button-color);box-shadow:var(--elevation-1);transition:transform var(--duration-quick) var(--ease-transition);pointer-events:none}._switch--size-small_1hxbi_88 ._switch__track_1hxbi_47{width:26px;height:16px}._switch--size-small_1hxbi_88 ._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:checked) ._switch__knob_1hxbi_77{transform:translateY(-50%) translate(10px)}._switch--size-small_1hxbi_88 ._switch__knob_1hxbi_77{width:12px;height:12px}._switch--size-small_1hxbi_88 ._switch__label_1hxbi_33,._switch--size-small_1hxbi_88 ._switch__secondary-label_1hxbi_16{font-size:var(--font-size-75);line-height:var(--line-height-75)}._switch--size-medium_1hxbi_107 ._switch__track_1hxbi_47{width:32px;height:20px}._switch--size-medium_1hxbi_107 ._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:checked) ._switch__knob_1hxbi_77{transform:translateY(-50%) translate(12px)}._switch--size-medium_1hxbi_107 ._switch__knob_1hxbi_77{width:16px;height:16px}._switch--size-medium_1hxbi_107 ._switch__label_1hxbi_33{font-size:var(--font-size-100);line-height:var(--line-height-100)}._switch--size-medium_1hxbi_107 ._switch__secondary-label_1hxbi_16{font-size:var(--font-size-75);line-height:var(--line-height-75)}._switch--size-large_1hxbi_126 ._switch__track_1hxbi_47{width:40px;height:24px}._switch--size-large_1hxbi_126 ._switch__track_1hxbi_47:has(._switch__input_1hxbi_12:checked) ._switch__knob_1hxbi_77{transform:translateY(-50%) translate(16px)}._switch--size-large_1hxbi_126 ._switch__knob_1hxbi_77{width:20px;height:20px}._switch--size-large_1hxbi_126 ._switch__label_1hxbi_33{font-size:var(--font-size-200);line-height:var(--line-height-200)}._switch--size-large_1hxbi_126 ._switch__secondary-label_1hxbi_16{font-size:var(--font-size-100);line-height:var(--line-height-100)}._switch--semi-bold_1hxbi_145 ._switch__label_1hxbi_33{font-weight:var(--font-weight-semibold)}._switch--with-secondary_1hxbi_148{align-items:center}._switch--with-secondary_1hxbi_148 ._switch__labels_1hxbi_33{padding-top:0;padding-bottom:0}
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 _="_switch__input_1hxbi_12",i="_switch__labels_1hxbi_33",s="_switch__label_1hxbi_33",t="_switch__track_1hxbi_47",c="_switch__knob_1hxbi_77",h={switch:"_switch_1hxbi_2",switch__input:_,"switch__secondary-label":"_switch__secondary-label_1hxbi_16",switch__labels:i,switch__label:s,switch__track:t,switch__knob:c,"switch--size-small":"_switch--size-small_1hxbi_88","switch--size-medium":"_switch--size-medium_1hxbi_107","switch--size-large":"_switch--size-large_1hxbi_126","switch--semi-bold":"_switch--semi-bold_1hxbi_145","switch--with-secondary":"_switch--with-secondary_1hxbi_148"};exports.default=h;exports.switch__input=_;exports.switch__knob=c;exports.switch__label=s;exports.switch__labels=i;exports.switch__track=t;
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 _ = "_switch__input_1hxbi_12", i = "_switch__labels_1hxbi_33", s = "_switch__label_1hxbi_33", t = "_switch__track_1hxbi_47", h = "_switch__knob_1hxbi_77", c = {
2
- switch: "_switch_1hxbi_2",
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-label_1hxbi_16",
5
- switch__labels: i,
6
- switch__label: s,
7
- switch__track: t,
8
- switch__knob: h,
9
- "switch--size-small": "_switch--size-small_1hxbi_88",
10
- "switch--size-medium": "_switch--size-medium_1hxbi_107",
11
- "switch--size-large": "_switch--size-large_1hxbi_126",
12
- "switch--semi-bold": "_switch--semi-bold_1hxbi_145",
13
- "switch--with-secondary": "_switch--with-secondary_1hxbi_148"
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
- c as default,
16
+ a as default,
17
17
  _ as switch__input,
18
- h as switch__knob,
19
- s as switch__label,
20
- i as switch__labels,
21
- t as switch__track
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