@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 +1 @@
1
- {"version":3,"file":"PopoverNotice.js","sources":["../../../src/components/popover-notice/PopoverNotice.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport Button from '@/components/button/Button';\nimport Checkbox from '@/components/checkbox/Checkbox';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport styles from './PopoverNotice.module.scss';\n\nexport type PopoverNoticeVariant = 'info' | 'success' | 'warning' | 'danger';\n\nexport interface PopoverNoticeAction {\n /** Button label. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n label: ReactNode;\n onClick?: () => void;\n emphasis?: 'primary' | 'tertiary';\n}\n\nexport interface PopoverNoticeProps {\n /** Popover title. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Body content. */\n children: ReactNode;\n /**\n * Semantic variant — sets the icon and its color automatically.\n * Ignored if `icon` is also provided.\n */\n variant?: PopoverNoticeVariant;\n /** Optional icon shown to the left of the title. Overrides the variant icon. Pass `<Icon glyph={<SomeIcon />} />` — PopoverNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Action buttons rendered below the body. */\n actions?: PopoverNoticeAction[];\n /** When true, shows a \"Don't show this again\" checkbox. */\n showCheckbox?: boolean;\n /** Checkbox label override. */\n checkboxLabel?: string;\n /** Callback when close button is clicked. */\n onClose?: () => void;\n /** Optional CSS class name. */\n className?: string;\n}\n\nconst VARIANT_ICONS: Record<PopoverNoticeVariant, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n};\n\nconst VARIANT_ICON_CLASS: Record<PopoverNoticeVariant, string> = {\n info: styles['popover-notice__icon--info'],\n success: styles['popover-notice__icon--success'],\n warning: styles['popover-notice__icon--warning'],\n danger: styles['popover-notice__icon--danger'],\n};\n\n/**\n * Popover Notice is a small overlay card that surfaces a transient message — a tip, a\n * confirmation, a warning — without taking over the screen. Think of it as a [Section\n * Notice](/components/section-notice) that floats: shorter, dismissable, and gone in five\n * seconds unless the user engages.\n */\nexport default function PopoverNotice({\n title,\n children,\n variant,\n icon,\n actions,\n showCheckbox = false,\n checkboxLabel = \"Don't show this confirmation again\",\n onClose,\n className = '',\n}: PopoverNoticeProps) {\n const resolvedIcon = icon ?? (variant ? VARIANT_ICONS[variant] : null);\n const iconColorClass = !icon && variant ? VARIANT_ICON_CLASS[variant] : '';\n\n const rootClass = [\n styles['popover-notice'],\n resolvedIcon == null ? styles['popover-notice--no-icon'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass}>\n <div className={styles['popover-notice__content']}>\n {resolvedIcon != null && (\n <div\n className={[styles['popover-notice__icon'], iconColorClass]\n .filter(Boolean)\n .join(' ')}\n aria-hidden\n >\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </div>\n )}\n\n <div className={styles['popover-notice__body']}>\n <div className={styles['popover-notice__title-row']}>\n <span className={styles['popover-notice__title']}>{title}</span>\n </div>\n\n <div className={styles['popover-notice__description']}>\n {children}\n </div>\n\n {actions && actions.length > 0 && (\n <div className={styles['popover-notice__actions']}>\n {actions.map((action, i) => (\n <Button\n key={i}\n emphasis={action.emphasis ?? 'primary'}\n size=\"small\"\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n\n {showCheckbox && <Checkbox size=\"medium\">{checkboxLabel}</Checkbox>}\n </div>\n </div>\n\n {onClose && (\n <IconButton\n className={styles['popover-notice__close']}\n aria-label=\"Close\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n </div>\n );\n}\n"],"names":["VARIANT_ICONS","Icon","jsx","InformationOutlineIcon","CheckCircleOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","VARIANT_ICON_CLASS","styles","PopoverNotice","title","children","variant","icon","actions","showCheckbox","checkboxLabel","onClose","className","resolvedIcon","iconColorClass","rootClass","jsxs","IconSlotContext","action","i","Button","Checkbox","IconButton","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverNotice.js","sources":["../../../src/components/popover-notice/PopoverNotice.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport Button from '@/components/button/Button';\nimport Checkbox from '@/components/checkbox/Checkbox';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './PopoverNotice.module.scss';\n\nexport type PopoverNoticeVariant = 'info' | 'success' | 'warning' | 'danger';\n\nexport interface PopoverNoticeAction {\n /** Button label. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n label: ReactNode;\n onClick?: () => void;\n emphasis?: 'primary' | 'tertiary';\n disabled?: boolean;\n /** Shows a spinner in the button and disables it. */\n loading?: boolean;\n}\n\nexport interface PopoverNoticeProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'title' | 'children'\n> {\n /** Popover title. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Body content. */\n children: ReactNode;\n /**\n * Semantic variant — sets the icon and its color automatically.\n * Ignored if `icon` is also provided.\n */\n variant?: PopoverNoticeVariant;\n /** Optional icon shown to the left of the title. Overrides the variant icon. Pass `<Icon glyph={<SomeIcon />} />` — PopoverNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Action buttons rendered below the body. */\n actions?: PopoverNoticeAction[];\n /** When true, shows a \"Don't show this again\" checkbox. */\n showCheckbox?: boolean;\n /** Checkbox label override. Accepts translated nodes. Default: \"Don't show this confirmation again\". */\n checkboxLabel?: ReactNode;\n /** Callback when close button is clicked. */\n onClose?: () => void;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Extra attributes for the close button (e.g. `data-testid`). */\n closeButtonProps?: BuiltInButtonProps;\n /** Optional CSS class name. */\n className?: string;\n}\n\nconst VARIANT_ICONS: Record<PopoverNoticeVariant, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n};\n\nconst VARIANT_ICON_CLASS: Record<PopoverNoticeVariant, string> = {\n info: styles['popover-notice__icon--info'],\n success: styles['popover-notice__icon--success'],\n warning: styles['popover-notice__icon--warning'],\n danger: styles['popover-notice__icon--danger'],\n};\n\n/**\n * Popover Notice is a small overlay card that surfaces a transient message — a tip, a\n * confirmation, a warning — without taking over the screen. Think of it as a [Section\n * Notice](/components/section-notice) that floats: shorter, dismissable, and gone in five\n * seconds unless the user engages.\n */\nexport default function PopoverNotice({\n title,\n children,\n variant,\n icon,\n actions,\n showCheckbox = false,\n checkboxLabel = \"Don't show this confirmation again\",\n onClose,\n closeLabel = 'Close',\n closeButtonProps,\n className = '',\n ...rest\n}: PopoverNoticeProps) {\n const resolvedIcon = icon ?? (variant ? VARIANT_ICONS[variant] : null);\n const iconColorClass = !icon && variant ? VARIANT_ICON_CLASS[variant] : '';\n\n const rootClass = [\n styles['popover-notice'],\n resolvedIcon == null ? styles['popover-notice--no-icon'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div {...rest} className={rootClass}>\n <div className={styles['popover-notice__content']}>\n {resolvedIcon != null && (\n <div\n className={[styles['popover-notice__icon'], iconColorClass]\n .filter(Boolean)\n .join(' ')}\n aria-hidden\n >\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </div>\n )}\n\n <div className={styles['popover-notice__body']}>\n <div className={styles['popover-notice__title-row']}>\n <span className={styles['popover-notice__title']}>{title}</span>\n </div>\n\n <div className={styles['popover-notice__description']}>\n {children}\n </div>\n\n {actions && actions.length > 0 && (\n <div className={styles['popover-notice__actions']}>\n {actions.map((action, i) => (\n <Button\n key={i}\n emphasis={action.emphasis ?? 'primary'}\n size=\"small\"\n disabled={action.disabled}\n loading={action.loading}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n\n {showCheckbox && <Checkbox size=\"medium\">{checkboxLabel}</Checkbox>}\n </div>\n </div>\n\n {onClose && (\n <IconButton\n {...closeButtonProps}\n className={mergeClassNames(\n styles['popover-notice__close'],\n closeButtonProps?.className,\n )}\n aria-label={closeLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n </div>\n );\n}\n"],"names":["VARIANT_ICONS","Icon","jsx","InformationOutlineIcon","CheckCircleOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","VARIANT_ICON_CLASS","styles","PopoverNotice","title","children","variant","icon","actions","showCheckbox","checkboxLabel","onClose","closeLabel","closeButtonProps","className","rest","resolvedIcon","iconColorClass","rootClass","jsxs","IconSlotContext","action","i","Button","Checkbox","IconButton","mergeClassNames","CloseIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),__U=require("@mattermost/compass-icons/components/close.js"),U=__U?.default??__U,__Y=require("@mattermost/compass-icons/components/email-outline.js"),Y=__Y?.default??__Y,__J=require("@mattermost/compass-icons/components/circle-multiple-outline.js"),J=__J?.default??__J,__K=require("@mattermost/compass-icons/components/github-circle.js"),K=__K?.default??__K,__k=require("@mattermost/compass-icons/components/mattermost.js"),k=__k?.default??__k,__Q=require("@mattermost/compass-icons/components/account-plus-outline.js"),Q=__Q?.default??__Q,__C=require("@mattermost/compass-icons/components/phone.js"),C=__C?.default??__C,__T=require("@mattermost/compass-icons/components/at.js"),T=__T?.default??__T,__I=require("@mattermost/compass-icons/components/send-outline.js"),I=__I?.default??__I,__V=require("@mattermost/compass-icons/components/pencil-outline.js"),V=__V?.default??__V,W=require("../button/Button.cjs"),c=require("../icon-button/IconButton.cjs"),X=require("../user-avatar/UserAvatar.cjs"),Z=require("../tag/Tag.cjs"),s=require("../icon/Icon.cjs"),l=require("./ProfilePopover.module.scss.cjs");function p({icon:j,children:d,href:r}){const u=r?l.default["profile-popover__meta-link"]:l.default["profile-popover__meta-text"];return e.jsxs("div",{className:l.default["profile-popover__meta-item"],children:[e.jsx("span",{className:l.default["profile-popover__meta-icon"],"aria-hidden":!0,children:j}),r?e.jsx("a",{className:u,href:r,children:d}):e.jsx("span",{className:u,children:d})]})}function H({user:j="others",avatarSrc:d,avatarAlt:r,name:u,username:B,title:m,email:f,phones:t,lastOnline:h,jobRole:v,localTime:a,customStatus:i,sharedOrg:x,staff:N=!1,coreCommitter:y=!1,githubHandle:_,onClose:b,onPrimaryAction:P,onMention:M,onAddToChannel:$,onCall:g,onSend:A,callButton:L,phoneIcon:O,state:w="open",onAnimationEnd:D,className:E=""}){const n=j==="you",S=[l.default["profile-popover"],w==="closing"?l.default["profile-popover--closing"]:"",E].filter(Boolean).join(" "),F=!!(t&&t.length>0),z=!!f||F||!!x||N||y||!!_,G=z||!!a||!!i;return e.jsxs("div",{className:S,onAnimationEnd:D,children:[v&&e.jsx("div",{className:l.default["profile-popover__role-tag"],children:e.jsx(Z.default,{label:v,casing:"all-caps",size:"x-small"})}),b&&e.jsx(c.default,{className:l.default["profile-popover__close"],"aria-label":"Close",size:"small",padding:"compact",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(U,{})}),onClick:b}),e.jsxs("section",{className:l.default["profile-popover__primary"],children:[e.jsx(X.default,{src:d,alt:r,size:"120",status:!0}),h&&e.jsx("p",{className:l.default["profile-popover__last-online"],children:h}),e.jsxs("div",{className:l.default["profile-popover__names"],children:[e.jsx("p",{className:l.default["profile-popover__name"],children:u}),e.jsx("p",{className:l.default["profile-popover__handle"],children:B}),m&&e.jsx("p",{className:l.default["profile-popover__title"],children:m})]})]}),G&&e.jsxs("section",{className:l.default["profile-popover__secondary"],children:[z&&e.jsxs("div",{className:l.default["profile-popover__titles"],children:[f&&e.jsx(p,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(Y,{})}),href:`mailto:${f}`,children:f}),t==null?void 0:t.map((o,R)=>{const q=[o.label,o.sipTrunk].filter(Boolean).join(" • ");return e.jsxs("div",{className:[l.default["profile-popover__meta-item"],l.default["profile-popover__meta-item--stacked"]].join(" "),children:[e.jsx("span",{className:l.default["profile-popover__meta-icon"],"aria-hidden":!0,children:e.jsx(s.default,{size:"16",glyph:o.icon??O??e.jsx(C,{})})}),e.jsxs("div",{className:l.default["profile-popover__phone-body"],children:[q&&e.jsx("span",{className:l.default["profile-popover__phone-sub"],children:q}),o.onClick?e.jsx("button",{type:"button",className:l.default["profile-popover__meta-link"],onClick:o.onClick,children:o.number}):e.jsx("a",{className:l.default["profile-popover__meta-link"],href:o.href??`tel:${o.number}`,children:o.number})]})]},`${o.number}-${R}`)}),x&&e.jsx(p,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(J,{})}),children:x}),N&&e.jsx(p,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(k,{})}),children:"Staff"}),y&&e.jsx(p,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(k,{})}),children:"Core Committer"}),_&&e.jsx(p,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(K,{})}),children:_})]}),a&&e.jsxs("div",{className:l.default["profile-popover__local-time"],children:[e.jsxs("p",{className:l.default["profile-popover__section-label"],children:["Local time (",a.timezone,")"]}),e.jsxs("div",{className:l.default["profile-popover__time"],children:[e.jsx("span",{children:a.time}),a.hourDifference&&e.jsxs("span",{children:["(",a.hourDifference,")"]})]})]}),i&&e.jsxs("div",{className:l.default["profile-popover__custom-status"],children:[e.jsxs("p",{className:l.default["profile-popover__section-label"],children:["Status",i.expiresLabel?` (${i.expiresLabel})`:""]}),e.jsxs("div",{className:l.default["profile-popover__status-row"],children:[e.jsx("span",{className:l.default["profile-popover__status-emoji"],"aria-hidden":!0,children:i.emoji}),e.jsx("span",{children:i.text})]})]})]}),e.jsxs("footer",{className:[l.default["profile-popover__footer"],n?l.default["profile-popover__footer--you"]:l.default["profile-popover__footer--others"]].join(" "),children:[e.jsx("div",{className:[l.default["profile-popover__primary-action"],n?l.default["profile-popover__primary-action--you"]:l.default["profile-popover__primary-action--others"]].join(" "),children:e.jsx(W.default,{className:l.default["profile-popover__primary-button"],size:"small",emphasis:"primary",leadingIcon:n?e.jsx(s.default,{size:"12",glyph:e.jsx(V,{})}):e.jsx(s.default,{size:"12",glyph:e.jsx(I,{})}),onClick:P,children:n?"Edit profile":"Message"})}),e.jsx("div",{className:l.default["profile-popover__secondary-actions"],children:n?e.jsx(c.default,{"aria-label":"Send message",size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(I,{})}),onClick:A}):e.jsxs(e.Fragment,{children:[e.jsx(c.default,{"aria-label":"Mention user",size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(T,{})}),onClick:M}),e.jsx(c.default,{"aria-label":"Add to channel",size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(Q,{})}),onClick:$}),L??(g?e.jsx(c.default,{"aria-label":"Call",size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(C,{})}),onClick:g}):null)]})})]})]})}exports.default=H;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),__ee=require("@mattermost/compass-icons/components/close.js"),ee=__ee?.default??__ee,__le=require("@mattermost/compass-icons/components/email-outline.js"),le=__le?.default??__le,__se=require("@mattermost/compass-icons/components/circle-multiple-outline.js"),se=__se?.default??__se,__oe=require("@mattermost/compass-icons/components/github-circle.js"),oe=__oe?.default??__oe,__k=require("@mattermost/compass-icons/components/mattermost.js"),k=__k?.default??__k,__ae=require("@mattermost/compass-icons/components/account-plus-outline.js"),ae=__ae?.default??__ae,__C=require("@mattermost/compass-icons/components/phone.js"),C=__C?.default??__C,__re=require("@mattermost/compass-icons/components/at.js"),re=__re?.default??__re,__I=require("@mattermost/compass-icons/components/send-outline.js"),I=__I?.default??__I,__ie=require("@mattermost/compass-icons/components/pencil-outline.js"),ie=__ie?.default??__ie,te=require("../button/Button.cjs"),p=require("../icon-button/IconButton.cjs"),ne=require("../user-avatar/UserAvatar.cjs"),ce=require("../tag/Tag.cjs"),s=require("../icon/Icon.cjs"),l=require("./ProfilePopover.module.scss.cjs"),pe=a=>e.jsxs(e.Fragment,{children:["Local time (",a,")"]}),de=a=>e.jsxs(e.Fragment,{children:["Status",a?e.jsxs(e.Fragment,{children:[" (",a,")"]}):""]});function d({icon:a,children:u,href:i}){const f=i?l.default["profile-popover__meta-link"]:l.default["profile-popover__meta-text"];return e.jsxs("div",{className:l.default["profile-popover__meta-item"],children:[e.jsx("span",{className:l.default["profile-popover__meta-icon"],"aria-hidden":!0,children:a}),i?e.jsx("a",{className:f,href:i,children:u}):e.jsx("span",{className:f,children:u})]})}function ue({user:a="others",avatarSrc:u,avatarAlt:i,name:f,username:B,title:_,email:j,phones:t,lastOnline:h,jobRole:v,localTime:r,customStatus:n,sharedOrg:x,staff:N=!1,coreCommitter:y=!1,githubHandle:m,onClose:g,onPrimaryAction:P,onMention:M,onAddToChannel:F,onCall:b,onSend:A,callButton:L,phoneIcon:S,state:$="open",onAnimationEnd:O,className:w="",closeLabel:D="Close",staffLabel:E="Staff",coreCommitterLabel:G="Core Committer",formatLocalTimeLabel:R=pe,formatStatusLabel:T=de,messageLabel:U="Message",editProfileLabel:Y="Edit profile",sendMessageLabel:J="Send message",mentionLabel:K="Mention user",addToChannelLabel:Q="Add to channel",callLabel:V="Call"}){const c=a==="you",W=[l.default["profile-popover"],$==="closing"?l.default["profile-popover--closing"]:"",w].filter(Boolean).join(" "),X=!!(t&&t.length>0),z=!!j||X||!!x||N||y||!!m,Z=z||!!r||!!n;return e.jsxs("div",{className:W,onAnimationEnd:O,children:[v&&e.jsx("div",{className:l.default["profile-popover__role-tag"],children:e.jsx(ce.default,{label:v,casing:"all-caps",size:"x-small"})}),g&&e.jsx(p.default,{className:l.default["profile-popover__close"],"aria-label":D,size:"small",padding:"compact",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(ee,{})}),onClick:g}),e.jsxs("section",{className:l.default["profile-popover__primary"],children:[e.jsx(ne.default,{src:u,alt:i,size:"120",status:!0}),h&&e.jsx("p",{className:l.default["profile-popover__last-online"],children:h}),e.jsxs("div",{className:l.default["profile-popover__names"],children:[e.jsx("p",{className:l.default["profile-popover__name"],children:f}),e.jsx("p",{className:l.default["profile-popover__handle"],children:B}),_&&e.jsx("p",{className:l.default["profile-popover__title"],children:_})]})]}),Z&&e.jsxs("section",{className:l.default["profile-popover__secondary"],children:[z&&e.jsxs("div",{className:l.default["profile-popover__titles"],children:[j&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(le,{})}),href:`mailto:${j}`,children:j}),t==null?void 0:t.map((o,H)=>{const q=[o.label,o.sipTrunk].filter(Boolean).join(" • ");return e.jsxs("div",{className:[l.default["profile-popover__meta-item"],l.default["profile-popover__meta-item--stacked"]].join(" "),children:[e.jsx("span",{className:l.default["profile-popover__meta-icon"],"aria-hidden":!0,children:e.jsx(s.default,{size:"16",glyph:o.icon??S??e.jsx(C,{})})}),e.jsxs("div",{className:l.default["profile-popover__phone-body"],children:[q&&e.jsx("span",{className:l.default["profile-popover__phone-sub"],children:q}),o.onClick?e.jsx("button",{type:"button",className:l.default["profile-popover__meta-link"],onClick:o.onClick,children:o.number}):e.jsx("a",{className:l.default["profile-popover__meta-link"],href:o.href??`tel:${o.number}`,children:o.number})]})]},`${o.number}-${H}`)}),x&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(se,{})}),children:x}),N&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(k,{})}),children:E}),y&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(k,{})}),children:G}),m&&e.jsx(d,{icon:e.jsx(s.default,{size:"16",glyph:e.jsx(oe,{})}),children:m})]}),r&&e.jsxs("div",{className:l.default["profile-popover__local-time"],children:[e.jsx("p",{className:l.default["profile-popover__section-label"],children:R(r.timezone)}),e.jsxs("div",{className:l.default["profile-popover__time"],children:[e.jsx("span",{children:r.time}),r.hourDifference&&e.jsxs("span",{children:["(",r.hourDifference,")"]})]})]}),n&&e.jsxs("div",{className:l.default["profile-popover__custom-status"],children:[e.jsx("p",{className:l.default["profile-popover__section-label"],children:T(n.expiresLabel)}),e.jsxs("div",{className:l.default["profile-popover__status-row"],children:[e.jsx("span",{className:l.default["profile-popover__status-emoji"],"aria-hidden":!0,children:n.emoji}),e.jsx("span",{children:n.text})]})]})]}),e.jsxs("footer",{className:[l.default["profile-popover__footer"],c?l.default["profile-popover__footer--you"]:l.default["profile-popover__footer--others"]].join(" "),children:[e.jsx("div",{className:[l.default["profile-popover__primary-action"],c?l.default["profile-popover__primary-action--you"]:l.default["profile-popover__primary-action--others"]].join(" "),children:e.jsx(te.default,{className:l.default["profile-popover__primary-button"],size:"small",emphasis:"primary",leadingIcon:c?e.jsx(s.default,{size:"12",glyph:e.jsx(ie,{})}):e.jsx(s.default,{size:"12",glyph:e.jsx(I,{})}),onClick:P,children:c?Y:U})}),e.jsx("div",{className:l.default["profile-popover__secondary-actions"],children:c?e.jsx(p.default,{"aria-label":J,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(I,{})}),onClick:A}):e.jsxs(e.Fragment,{children:[e.jsx(p.default,{"aria-label":K,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(re,{})}),onClick:M}),e.jsx(p.default,{"aria-label":Q,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(ae,{})}),onClick:F}),L??(b?e.jsx(p.default,{"aria-label":V,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(C,{})}),onClick:b}):null)]})})]})]})}exports.default=ue;
2
2
  //# sourceMappingURL=ProfilePopover.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePopover.cjs","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport EmailOutlineIcon from '@mattermost/compass-icons/components/email-outline';\nimport CircleMultipleOutlineIcon from '@mattermost/compass-icons/components/circle-multiple-outline';\nimport GithubCircleIcon from '@mattermost/compass-icons/components/github-circle';\nimport MattermostIcon from '@mattermost/compass-icons/components/mattermost';\nimport AccountPlusOutlineIcon from '@mattermost/compass-icons/components/account-plus-outline';\nimport PhoneIcon from '@mattermost/compass-icons/components/phone';\nimport AtIcon from '@mattermost/compass-icons/components/at';\nimport SendOutlineIcon from '@mattermost/compass-icons/components/send-outline';\nimport PencilOutlineIcon from '@mattermost/compass-icons/components/pencil-outline';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport UserAvatar from '@/components/user-avatar/UserAvatar';\nimport Tag from '@/components/tag/Tag';\nimport Icon from '@/components/icon/Icon';\nimport styles from './ProfilePopover.module.scss';\n\nexport type ProfilePopoverUser = 'others' | 'you';\n\nexport interface ProfilePopoverCustomStatus {\n emoji: string;\n text: string;\n /** Label suffix like \"Until Tomorrow\". */\n expiresLabel?: string;\n}\n\nexport interface ProfilePopoverLocalTime {\n /** Local time, e.g. \"10:42 PM\". */\n time: string;\n /** Timezone abbreviation, e.g. \"EST\". */\n timezone: string;\n /** Hour difference relative to viewer, e.g. \"3 hrs behind\". */\n hourDifference?: string;\n}\n\nexport interface ProfilePopoverPhone {\n number: string;\n /** Category label, e.g. \"NIPR\", \"NIPR Conf Bridge\", \"SIPR Extension\". */\n label?: string;\n /** Trunk / gateway identifier, e.g. \"DSN\", \"DISN Gateway\". */\n sipTrunk?: string;\n /** Per-row phone glyph; overrides the popover-level `phoneIcon` when set. */\n icon?: ReactNode;\n href?: string;\n /** When provided, the number click runs this handler instead of navigating. */\n onClick?: () => void;\n}\n\nexport interface ProfilePopoverProps {\n /** Whose profile is shown. Default: 'others'. */\n user?: ProfilePopoverUser;\n /** Avatar image URL. */\n avatarSrc: string;\n /** Avatar alt text. */\n avatarAlt: string;\n /** Full name. */\n name: string;\n /** @handle. */\n username: string;\n /** Job title. */\n title?: string;\n /** Email address. */\n email?: string;\n /** Phone rows shown under the email. */\n phones?: ProfilePopoverPhone[];\n /** Caption above the name, e.g. \"Last online 6 hrs ago\". */\n lastOnline?: string;\n /** Role tag shown at the very top, e.g. \"System Admin\". (Named `jobRole` to avoid clashing with the ARIA `role` attribute in JSX.) */\n jobRole?: string;\n /** Local time block. */\n localTime?: ProfilePopoverLocalTime;\n /** Custom status. */\n customStatus?: ProfilePopoverCustomStatus;\n /** Shared member org name. */\n sharedOrg?: string;\n /** Shows a Staff row. */\n staff?: boolean;\n /** Shows a Core Committer row. */\n coreCommitter?: boolean;\n /** GitHub handle — shows the GitHub profile row. */\n githubHandle?: string;\n onClose?: () => void;\n onPrimaryAction?: () => void;\n /** Inserts an @mention for this user in the active channel message input. */\n onMention?: () => void;\n /** Opens the Add to Channel flow for this user. */\n onAddToChannel?: () => void;\n /** Used when `callButton` is not provided; starts a simple outbound call action. */\n onCall?: () => void;\n onSend?: () => void;\n /** Replaces the default Call icon button in the footer when provided. */\n callButton?: ReactNode;\n /** Replaces the default phone glyph shown next to the phone number. */\n phoneIcon?: ReactNode;\n /** Animation state. Set to 'closing' to play the exit animation — listen via onAnimationEnd to unmount. */\n state?: 'open' | 'closing';\n /** Fires when an animation on the popover root ends (entrance or exit). */\n onAnimationEnd?: (e: React.AnimationEvent<HTMLDivElement>) => void;\n className?: string;\n}\n\ninterface MetaRowProps {\n icon: ReactNode;\n children: ReactNode;\n href?: string;\n}\n\nfunction MetaRow({ icon, children, href }: MetaRowProps) {\n const textClass = href\n ? styles['profile-popover__meta-link']\n : styles['profile-popover__meta-text'];\n\n return (\n <div className={styles['profile-popover__meta-item']}>\n <span className={styles['profile-popover__meta-icon']} aria-hidden>\n {icon}\n </span>\n {href ? (\n <a className={textClass} href={href}>\n {children}\n </a>\n ) : (\n <span className={textClass}>{children}</span>\n )}\n </div>\n );\n}\n\nexport default function ProfilePopover({\n user = 'others',\n avatarSrc,\n avatarAlt,\n name,\n username,\n title,\n email,\n phones,\n lastOnline,\n jobRole,\n localTime,\n customStatus,\n sharedOrg,\n staff = false,\n coreCommitter = false,\n githubHandle,\n onClose,\n onPrimaryAction,\n onMention,\n onAddToChannel,\n onCall,\n onSend,\n callButton,\n phoneIcon,\n state = 'open',\n onAnimationEnd,\n className = '',\n}: ProfilePopoverProps) {\n const isYou = user === 'you';\n\n const rootClass = [\n styles['profile-popover'],\n state === 'closing' ? styles['profile-popover--closing'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const hasPhones = Boolean(phones && phones.length > 0);\n const hasTitlesBlock =\n Boolean(email) ||\n hasPhones ||\n Boolean(sharedOrg) ||\n staff ||\n coreCommitter ||\n Boolean(githubHandle);\n const hasSecondary =\n hasTitlesBlock || Boolean(localTime) || Boolean(customStatus);\n\n return (\n <div className={rootClass} onAnimationEnd={onAnimationEnd}>\n {jobRole && (\n <div className={styles['profile-popover__role-tag']}>\n <Tag label={jobRole} casing=\"all-caps\" size=\"x-small\" />\n </div>\n )}\n\n {onClose && (\n <IconButton\n className={styles['profile-popover__close']}\n aria-label=\"Close\"\n size=\"small\"\n padding=\"compact\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n\n <section className={styles['profile-popover__primary']}>\n <UserAvatar src={avatarSrc} alt={avatarAlt} size=\"120\" status />\n {lastOnline && (\n <p className={styles['profile-popover__last-online']}>{lastOnline}</p>\n )}\n <div className={styles['profile-popover__names']}>\n <p className={styles['profile-popover__name']}>{name}</p>\n <p className={styles['profile-popover__handle']}>{username}</p>\n {title && <p className={styles['profile-popover__title']}>{title}</p>}\n </div>\n </section>\n\n {hasSecondary && (\n <section className={styles['profile-popover__secondary']}>\n {hasTitlesBlock && (\n <div className={styles['profile-popover__titles']}>\n {email && (\n <MetaRow\n icon={<Icon size=\"16\" glyph={<EmailOutlineIcon />} />}\n href={`mailto:${email}`}\n >\n {email}\n </MetaRow>\n )}\n {phones?.map((p, i) => {\n const subParts = [p.label, p.sipTrunk].filter(Boolean);\n const subText = subParts.join(' • ');\n return (\n <div\n key={`${p.number}-${i}`}\n className={[\n styles['profile-popover__meta-item'],\n styles['profile-popover__meta-item--stacked'],\n ].join(' ')}\n >\n <span\n className={styles['profile-popover__meta-icon']}\n aria-hidden\n >\n <Icon\n size=\"16\"\n glyph={p.icon ?? phoneIcon ?? <PhoneIcon />}\n />\n </span>\n <div className={styles['profile-popover__phone-body']}>\n {subText && (\n <span className={styles['profile-popover__phone-sub']}>\n {subText}\n </span>\n )}\n {p.onClick ? (\n <button\n type=\"button\"\n className={styles['profile-popover__meta-link']}\n onClick={p.onClick}\n >\n {p.number}\n </button>\n ) : (\n <a\n className={styles['profile-popover__meta-link']}\n href={p.href ?? `tel:${p.number}`}\n >\n {p.number}\n </a>\n )}\n </div>\n </div>\n );\n })}\n {sharedOrg && (\n <MetaRow\n icon={\n <Icon size=\"16\" glyph={<CircleMultipleOutlineIcon />} />\n }\n >\n {sharedOrg}\n </MetaRow>\n )}\n {staff && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n Staff\n </MetaRow>\n )}\n {coreCommitter && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n Core Committer\n </MetaRow>\n )}\n {githubHandle && (\n <MetaRow icon={<Icon size=\"16\" glyph={<GithubCircleIcon />} />}>\n {githubHandle}\n </MetaRow>\n )}\n </div>\n )}\n\n {localTime && (\n <div className={styles['profile-popover__local-time']}>\n <p className={styles['profile-popover__section-label']}>\n Local time ({localTime.timezone})\n </p>\n <div className={styles['profile-popover__time']}>\n <span>{localTime.time}</span>\n {localTime.hourDifference && (\n <span>({localTime.hourDifference})</span>\n )}\n </div>\n </div>\n )}\n\n {customStatus && (\n <div className={styles['profile-popover__custom-status']}>\n <p className={styles['profile-popover__section-label']}>\n Status\n {customStatus.expiresLabel\n ? ` (${customStatus.expiresLabel})`\n : ''}\n </p>\n <div className={styles['profile-popover__status-row']}>\n <span\n className={styles['profile-popover__status-emoji']}\n aria-hidden\n >\n {customStatus.emoji}\n </span>\n <span>{customStatus.text}</span>\n </div>\n </div>\n )}\n </section>\n )}\n\n <footer\n className={[\n styles['profile-popover__footer'],\n isYou\n ? styles['profile-popover__footer--you']\n : styles['profile-popover__footer--others'],\n ].join(' ')}\n >\n <div\n className={[\n styles['profile-popover__primary-action'],\n isYou\n ? styles['profile-popover__primary-action--you']\n : styles['profile-popover__primary-action--others'],\n ].join(' ')}\n >\n <Button\n className={styles['profile-popover__primary-button']}\n size=\"small\"\n emphasis=\"primary\"\n leadingIcon={\n isYou ? (\n <Icon size=\"12\" glyph={<PencilOutlineIcon />} />\n ) : (\n <Icon size=\"12\" glyph={<SendOutlineIcon />} />\n )\n }\n onClick={onPrimaryAction}\n >\n {isYou ? 'Edit profile' : 'Message'}\n </Button>\n </div>\n <div className={styles['profile-popover__secondary-actions']}>\n {isYou ? (\n <IconButton\n aria-label=\"Send message\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<SendOutlineIcon />} />}\n onClick={onSend}\n />\n ) : (\n <>\n <IconButton\n aria-label=\"Mention user\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AtIcon />} />}\n onClick={onMention}\n />\n <IconButton\n aria-label=\"Add to channel\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AccountPlusOutlineIcon />} />}\n onClick={onAddToChannel}\n />\n {callButton ??\n (onCall ? (\n <IconButton\n aria-label=\"Call\"\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<PhoneIcon />} />}\n onClick={onCall}\n />\n ) : null)}\n </>\n )}\n </div>\n </footer>\n </div>\n );\n}\n"],"names":["MetaRow","icon","children","href","textClass","styles","jsxs","jsx","ProfilePopover","user","avatarSrc","avatarAlt","name","username","title","email","phones","lastOnline","jobRole","localTime","customStatus","sharedOrg","staff","coreCommitter","githubHandle","onClose","onPrimaryAction","onMention","onAddToChannel","onCall","onSend","callButton","phoneIcon","state","onAnimationEnd","className","isYou","rootClass","hasPhones","hasTitlesBlock","hasSecondary","Tag","IconButton","Icon","CloseIcon","UserAvatar","EmailOutlineIcon","p","i","subText","PhoneIcon","CircleMultipleOutlineIcon","MattermostIcon","GithubCircleIcon","Button","PencilOutlineIcon","SendOutlineIcon","Fragment","AtIcon","AccountPlusOutlineIcon"],"mappings":"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"}
1
+ {"version":3,"file":"ProfilePopover.cjs","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport EmailOutlineIcon from '@mattermost/compass-icons/components/email-outline';\nimport CircleMultipleOutlineIcon from '@mattermost/compass-icons/components/circle-multiple-outline';\nimport GithubCircleIcon from '@mattermost/compass-icons/components/github-circle';\nimport MattermostIcon from '@mattermost/compass-icons/components/mattermost';\nimport AccountPlusOutlineIcon from '@mattermost/compass-icons/components/account-plus-outline';\nimport PhoneIcon from '@mattermost/compass-icons/components/phone';\nimport AtIcon from '@mattermost/compass-icons/components/at';\nimport SendOutlineIcon from '@mattermost/compass-icons/components/send-outline';\nimport PencilOutlineIcon from '@mattermost/compass-icons/components/pencil-outline';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport UserAvatar from '@/components/user-avatar/UserAvatar';\nimport Tag from '@/components/tag/Tag';\nimport Icon from '@/components/icon/Icon';\nimport styles from './ProfilePopover.module.scss';\n\nexport type ProfilePopoverUser = 'others' | 'you';\n\nexport interface ProfilePopoverCustomStatus {\n emoji: string;\n text: ReactNode;\n /** Label suffix like \"Until Tomorrow\". */\n expiresLabel?: ReactNode;\n}\n\nexport interface ProfilePopoverLocalTime {\n /** Local time, e.g. \"10:42 PM\". */\n time: ReactNode;\n /** Timezone abbreviation, e.g. \"EST\". */\n timezone: ReactNode;\n /** Hour difference relative to viewer, e.g. \"3 hrs behind\". */\n hourDifference?: ReactNode;\n}\n\nexport interface ProfilePopoverPhone {\n number: string;\n /** Category label, e.g. \"NIPR\", \"NIPR Conf Bridge\", \"SIPR Extension\". */\n label?: string;\n /** Trunk / gateway identifier, e.g. \"DSN\", \"DISN Gateway\". */\n sipTrunk?: string;\n /** Per-row phone glyph; overrides the popover-level `phoneIcon` when set. */\n icon?: ReactNode;\n href?: string;\n /** When provided, the number click runs this handler instead of navigating. */\n onClick?: () => void;\n}\n\nexport interface ProfilePopoverProps {\n /** Whose profile is shown. Default: 'others'. */\n user?: ProfilePopoverUser;\n /** Avatar image URL. */\n avatarSrc: string;\n /** Avatar alt text. */\n avatarAlt: string;\n /** Full name. */\n name: ReactNode;\n /** @handle. */\n username: ReactNode;\n /** Job title. */\n title?: ReactNode;\n /** Email address. */\n email?: string;\n /** Phone rows shown under the email. */\n phones?: ProfilePopoverPhone[];\n /** Caption above the name, e.g. \"Last online 6 hrs ago\". */\n lastOnline?: ReactNode;\n /** Role tag shown at the very top, e.g. \"System Admin\". (Named `jobRole` to avoid clashing with the ARIA `role` attribute in JSX.) */\n jobRole?: ReactNode;\n /** Local time block. */\n localTime?: ProfilePopoverLocalTime;\n /** Custom status. */\n customStatus?: ProfilePopoverCustomStatus;\n /** Shared member org name. */\n sharedOrg?: ReactNode;\n /** Shows a Staff row. */\n staff?: boolean;\n /** Shows a Core Committer row. */\n coreCommitter?: boolean;\n /** GitHub handle — shows the GitHub profile row. */\n githubHandle?: string;\n onClose?: () => void;\n onPrimaryAction?: () => void;\n /** Inserts an @mention for this user in the active channel message input. */\n onMention?: () => void;\n /** Opens the Add to Channel flow for this user. */\n onAddToChannel?: () => void;\n /** Used when `callButton` is not provided; starts a simple outbound call action. */\n onCall?: () => void;\n onSend?: () => void;\n /** Replaces the default Call icon button in the footer when provided. */\n callButton?: ReactNode;\n /** Replaces the default phone glyph shown next to the phone number. */\n phoneIcon?: ReactNode;\n /** Animation state. Set to 'closing' to play the exit animation — listen via onAnimationEnd to unmount. */\n state?: 'open' | 'closing';\n /** Fires when an animation on the popover root ends (entrance or exit). */\n onAnimationEnd?: (e: React.AnimationEvent<HTMLDivElement>) => void;\n className?: string;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Staff row text. Default: \"Staff\". */\n staffLabel?: ReactNode;\n /** Core Committer row text. Default: \"Core Committer\". */\n coreCommitterLabel?: ReactNode;\n /** Local time heading. Default: `Local time ({timezone})`. */\n formatLocalTimeLabel?: (timezone: ReactNode) => ReactNode;\n /** Custom status heading. Default: \"Status\", plus ` ({expiresLabel})` when set. */\n formatStatusLabel?: (expiresLabel: ReactNode | undefined) => ReactNode;\n /** Primary button text for `user=\"others\"`. Default: \"Message\". */\n messageLabel?: ReactNode;\n /** Primary button text for `user=\"you\"`. Default: \"Edit profile\". */\n editProfileLabel?: ReactNode;\n /** Default: \"Send message\". */\n sendMessageLabel?: string;\n /** Default: \"Mention user\". */\n mentionLabel?: string;\n /** Default: \"Add to channel\". */\n addToChannelLabel?: string;\n /** Default: \"Call\". */\n callLabel?: string;\n}\n\nconst defaultFormatLocalTimeLabel = (timezone: ReactNode) => (\n <>Local time ({timezone})</>\n);\n\nconst defaultFormatStatusLabel = (expiresLabel: ReactNode | undefined) => (\n <>\n Status\n {expiresLabel ? <> ({expiresLabel})</> : ''}\n </>\n);\n\ninterface MetaRowProps {\n icon: ReactNode;\n children: ReactNode;\n href?: string;\n}\n\nfunction MetaRow({ icon, children, href }: MetaRowProps) {\n const textClass = href\n ? styles['profile-popover__meta-link']\n : styles['profile-popover__meta-text'];\n\n return (\n <div className={styles['profile-popover__meta-item']}>\n <span className={styles['profile-popover__meta-icon']} aria-hidden>\n {icon}\n </span>\n {href ? (\n <a className={textClass} href={href}>\n {children}\n </a>\n ) : (\n <span className={textClass}>{children}</span>\n )}\n </div>\n );\n}\n\nexport default function ProfilePopover({\n user = 'others',\n avatarSrc,\n avatarAlt,\n name,\n username,\n title,\n email,\n phones,\n lastOnline,\n jobRole,\n localTime,\n customStatus,\n sharedOrg,\n staff = false,\n coreCommitter = false,\n githubHandle,\n onClose,\n onPrimaryAction,\n onMention,\n onAddToChannel,\n onCall,\n onSend,\n callButton,\n phoneIcon,\n state = 'open',\n onAnimationEnd,\n className = '',\n closeLabel = 'Close',\n staffLabel = 'Staff',\n coreCommitterLabel = 'Core Committer',\n formatLocalTimeLabel = defaultFormatLocalTimeLabel,\n formatStatusLabel = defaultFormatStatusLabel,\n messageLabel = 'Message',\n editProfileLabel = 'Edit profile',\n sendMessageLabel = 'Send message',\n mentionLabel = 'Mention user',\n addToChannelLabel = 'Add to channel',\n callLabel = 'Call',\n}: ProfilePopoverProps) {\n const isYou = user === 'you';\n\n const rootClass = [\n styles['profile-popover'],\n state === 'closing' ? styles['profile-popover--closing'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const hasPhones = Boolean(phones && phones.length > 0);\n const hasTitlesBlock =\n Boolean(email) ||\n hasPhones ||\n Boolean(sharedOrg) ||\n staff ||\n coreCommitter ||\n Boolean(githubHandle);\n const hasSecondary =\n hasTitlesBlock || Boolean(localTime) || Boolean(customStatus);\n\n return (\n <div className={rootClass} onAnimationEnd={onAnimationEnd}>\n {jobRole && (\n <div className={styles['profile-popover__role-tag']}>\n <Tag label={jobRole} casing=\"all-caps\" size=\"x-small\" />\n </div>\n )}\n\n {onClose && (\n <IconButton\n className={styles['profile-popover__close']}\n aria-label={closeLabel}\n size=\"small\"\n padding=\"compact\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onClose}\n />\n )}\n\n <section className={styles['profile-popover__primary']}>\n <UserAvatar src={avatarSrc} alt={avatarAlt} size=\"120\" status />\n {lastOnline && (\n <p className={styles['profile-popover__last-online']}>{lastOnline}</p>\n )}\n <div className={styles['profile-popover__names']}>\n <p className={styles['profile-popover__name']}>{name}</p>\n <p className={styles['profile-popover__handle']}>{username}</p>\n {title && <p className={styles['profile-popover__title']}>{title}</p>}\n </div>\n </section>\n\n {hasSecondary && (\n <section className={styles['profile-popover__secondary']}>\n {hasTitlesBlock && (\n <div className={styles['profile-popover__titles']}>\n {email && (\n <MetaRow\n icon={<Icon size=\"16\" glyph={<EmailOutlineIcon />} />}\n href={`mailto:${email}`}\n >\n {email}\n </MetaRow>\n )}\n {phones?.map((p, i) => {\n const subParts = [p.label, p.sipTrunk].filter(Boolean);\n const subText = subParts.join(' • ');\n return (\n <div\n key={`${p.number}-${i}`}\n className={[\n styles['profile-popover__meta-item'],\n styles['profile-popover__meta-item--stacked'],\n ].join(' ')}\n >\n <span\n className={styles['profile-popover__meta-icon']}\n aria-hidden\n >\n <Icon\n size=\"16\"\n glyph={p.icon ?? phoneIcon ?? <PhoneIcon />}\n />\n </span>\n <div className={styles['profile-popover__phone-body']}>\n {subText && (\n <span className={styles['profile-popover__phone-sub']}>\n {subText}\n </span>\n )}\n {p.onClick ? (\n <button\n type=\"button\"\n className={styles['profile-popover__meta-link']}\n onClick={p.onClick}\n >\n {p.number}\n </button>\n ) : (\n <a\n className={styles['profile-popover__meta-link']}\n href={p.href ?? `tel:${p.number}`}\n >\n {p.number}\n </a>\n )}\n </div>\n </div>\n );\n })}\n {sharedOrg && (\n <MetaRow\n icon={\n <Icon size=\"16\" glyph={<CircleMultipleOutlineIcon />} />\n }\n >\n {sharedOrg}\n </MetaRow>\n )}\n {staff && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n {staffLabel}\n </MetaRow>\n )}\n {coreCommitter && (\n <MetaRow icon={<Icon size=\"16\" glyph={<MattermostIcon />} />}>\n {coreCommitterLabel}\n </MetaRow>\n )}\n {githubHandle && (\n <MetaRow icon={<Icon size=\"16\" glyph={<GithubCircleIcon />} />}>\n {githubHandle}\n </MetaRow>\n )}\n </div>\n )}\n\n {localTime && (\n <div className={styles['profile-popover__local-time']}>\n <p className={styles['profile-popover__section-label']}>\n {formatLocalTimeLabel(localTime.timezone)}\n </p>\n <div className={styles['profile-popover__time']}>\n <span>{localTime.time}</span>\n {localTime.hourDifference && (\n <span>({localTime.hourDifference})</span>\n )}\n </div>\n </div>\n )}\n\n {customStatus && (\n <div className={styles['profile-popover__custom-status']}>\n <p className={styles['profile-popover__section-label']}>\n {formatStatusLabel(customStatus.expiresLabel)}\n </p>\n <div className={styles['profile-popover__status-row']}>\n <span\n className={styles['profile-popover__status-emoji']}\n aria-hidden\n >\n {customStatus.emoji}\n </span>\n <span>{customStatus.text}</span>\n </div>\n </div>\n )}\n </section>\n )}\n\n <footer\n className={[\n styles['profile-popover__footer'],\n isYou\n ? styles['profile-popover__footer--you']\n : styles['profile-popover__footer--others'],\n ].join(' ')}\n >\n <div\n className={[\n styles['profile-popover__primary-action'],\n isYou\n ? styles['profile-popover__primary-action--you']\n : styles['profile-popover__primary-action--others'],\n ].join(' ')}\n >\n <Button\n className={styles['profile-popover__primary-button']}\n size=\"small\"\n emphasis=\"primary\"\n leadingIcon={\n isYou ? (\n <Icon size=\"12\" glyph={<PencilOutlineIcon />} />\n ) : (\n <Icon size=\"12\" glyph={<SendOutlineIcon />} />\n )\n }\n onClick={onPrimaryAction}\n >\n {isYou ? editProfileLabel : messageLabel}\n </Button>\n </div>\n <div className={styles['profile-popover__secondary-actions']}>\n {isYou ? (\n <IconButton\n aria-label={sendMessageLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<SendOutlineIcon />} />}\n onClick={onSend}\n />\n ) : (\n <>\n <IconButton\n aria-label={mentionLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AtIcon />} />}\n onClick={onMention}\n />\n <IconButton\n aria-label={addToChannelLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<AccountPlusOutlineIcon />} />}\n onClick={onAddToChannel}\n />\n {callButton ??\n (onCall ? (\n <IconButton\n aria-label={callLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<PhoneIcon />} />}\n onClick={onCall}\n />\n ) : null)}\n </>\n )}\n </div>\n </footer>\n </div>\n );\n}\n"],"names":["defaultFormatLocalTimeLabel","timezone","jsxs","Fragment","defaultFormatStatusLabel","expiresLabel","MetaRow","icon","children","href","textClass","styles","jsx","ProfilePopover","user","avatarSrc","avatarAlt","name","username","title","email","phones","lastOnline","jobRole","localTime","customStatus","sharedOrg","staff","coreCommitter","githubHandle","onClose","onPrimaryAction","onMention","onAddToChannel","onCall","onSend","callButton","phoneIcon","state","onAnimationEnd","className","closeLabel","staffLabel","coreCommitterLabel","formatLocalTimeLabel","formatStatusLabel","messageLabel","editProfileLabel","sendMessageLabel","mentionLabel","addToChannelLabel","callLabel","isYou","rootClass","hasPhones","hasTitlesBlock","hasSecondary","Tag","IconButton","Icon","CloseIcon","UserAvatar","EmailOutlineIcon","p","i","subText","PhoneIcon","CircleMultipleOutlineIcon","MattermostIcon","GithubCircleIcon","Button","PencilOutlineIcon","SendOutlineIcon","AtIcon","AccountPlusOutlineIcon"],"mappings":"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"}
@@ -2,17 +2,17 @@ import { ReactNode } from 'react';
2
2
  export type ProfilePopoverUser = 'others' | 'you';
3
3
  export interface ProfilePopoverCustomStatus {
4
4
  emoji: string;
5
- text: string;
5
+ text: ReactNode;
6
6
  /** Label suffix like "Until Tomorrow". */
7
- expiresLabel?: string;
7
+ expiresLabel?: ReactNode;
8
8
  }
9
9
  export interface ProfilePopoverLocalTime {
10
10
  /** Local time, e.g. "10:42 PM". */
11
- time: string;
11
+ time: ReactNode;
12
12
  /** Timezone abbreviation, e.g. "EST". */
13
- timezone: string;
13
+ timezone: ReactNode;
14
14
  /** Hour difference relative to viewer, e.g. "3 hrs behind". */
15
- hourDifference?: string;
15
+ hourDifference?: ReactNode;
16
16
  }
17
17
  export interface ProfilePopoverPhone {
18
18
  number: string;
@@ -34,25 +34,25 @@ export interface ProfilePopoverProps {
34
34
  /** Avatar alt text. */
35
35
  avatarAlt: string;
36
36
  /** Full name. */
37
- name: string;
37
+ name: ReactNode;
38
38
  /** @handle. */
39
- username: string;
39
+ username: ReactNode;
40
40
  /** Job title. */
41
- title?: string;
41
+ title?: ReactNode;
42
42
  /** Email address. */
43
43
  email?: string;
44
44
  /** Phone rows shown under the email. */
45
45
  phones?: ProfilePopoverPhone[];
46
46
  /** Caption above the name, e.g. "Last online 6 hrs ago". */
47
- lastOnline?: string;
47
+ lastOnline?: ReactNode;
48
48
  /** Role tag shown at the very top, e.g. "System Admin". (Named `jobRole` to avoid clashing with the ARIA `role` attribute in JSX.) */
49
- jobRole?: string;
49
+ jobRole?: ReactNode;
50
50
  /** Local time block. */
51
51
  localTime?: ProfilePopoverLocalTime;
52
52
  /** Custom status. */
53
53
  customStatus?: ProfilePopoverCustomStatus;
54
54
  /** Shared member org name. */
55
- sharedOrg?: string;
55
+ sharedOrg?: ReactNode;
56
56
  /** Shows a Staff row. */
57
57
  staff?: boolean;
58
58
  /** Shows a Core Committer row. */
@@ -77,6 +77,28 @@ export interface ProfilePopoverProps {
77
77
  /** Fires when an animation on the popover root ends (entrance or exit). */
78
78
  onAnimationEnd?: (e: React.AnimationEvent<HTMLDivElement>) => void;
79
79
  className?: string;
80
+ /** Accessible name for the close button. Default: "Close". */
81
+ closeLabel?: string;
82
+ /** Staff row text. Default: "Staff". */
83
+ staffLabel?: ReactNode;
84
+ /** Core Committer row text. Default: "Core Committer". */
85
+ coreCommitterLabel?: ReactNode;
86
+ /** Local time heading. Default: `Local time ({timezone})`. */
87
+ formatLocalTimeLabel?: (timezone: ReactNode) => ReactNode;
88
+ /** Custom status heading. Default: "Status", plus ` ({expiresLabel})` when set. */
89
+ formatStatusLabel?: (expiresLabel: ReactNode | undefined) => ReactNode;
90
+ /** Primary button text for `user="others"`. Default: "Message". */
91
+ messageLabel?: ReactNode;
92
+ /** Primary button text for `user="you"`. Default: "Edit profile". */
93
+ editProfileLabel?: ReactNode;
94
+ /** Default: "Send message". */
95
+ sendMessageLabel?: string;
96
+ /** Default: "Mention user". */
97
+ mentionLabel?: string;
98
+ /** Default: "Add to channel". */
99
+ addToChannelLabel?: string;
100
+ /** Default: "Call". */
101
+ callLabel?: string;
80
102
  }
81
- export default function ProfilePopover({ user, avatarSrc, avatarAlt, name, username, title, email, phones, lastOnline, jobRole, localTime, customStatus, sharedOrg, staff, coreCommitter, githubHandle, onClose, onPrimaryAction, onMention, onAddToChannel, onCall, onSend, callButton, phoneIcon, state, onAnimationEnd, className, }: ProfilePopoverProps): import("react/jsx-runtime").JSX.Element;
103
+ export default function ProfilePopover({ user, avatarSrc, avatarAlt, name, username, title, email, phones, lastOnline, jobRole, localTime, customStatus, sharedOrg, staff, coreCommitter, githubHandle, onClose, onPrimaryAction, onMention, onAddToChannel, onCall, onSend, callButton, phoneIcon, state, onAnimationEnd, className, closeLabel, staffLabel, coreCommitterLabel, formatLocalTimeLabel, formatStatusLabel, messageLabel, editProfileLabel, sendMessageLabel, mentionLabel, addToChannelLabel, callLabel, }: ProfilePopoverProps): import("react/jsx-runtime").JSX.Element;
82
104
  //# sourceMappingURL=ProfilePopover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePopover.d.ts","sourceRoot":"","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProfilePopover.d.ts","sourceRoot":"","sources":["../../../src/components/profile-popover/ProfilePopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBvC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElD,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,mCAAmC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,yCAAyC;IACzC,QAAQ,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,sIAAsI;IACtI,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,qBAAqB;IACrB,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,8BAA8B;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yEAAyE;IACzE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,uEAAuE;IACvE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2GAA2G;IAC3G,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;IAC1D,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,KAAK,SAAS,CAAC;IACvE,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,IAAe,EACf,SAAS,EACT,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAa,EACb,aAAqB,EACrB,YAAY,EACZ,OAAO,EACP,eAAe,EACf,SAAS,EACT,cAAc,EACd,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACT,KAAc,EACd,cAAc,EACd,SAAc,EACd,UAAoB,EACpB,UAAoB,EACpB,kBAAqC,EACrC,oBAAkD,EAClD,iBAA4C,EAC5C,YAAwB,EACxB,gBAAiC,EACjC,gBAAiC,EACjC,YAA6B,EAC7B,iBAAoC,EACpC,SAAkB,GACnB,EAAE,mBAAmB,2CAgPrB"}