@rocket.chat/fuselage 0.96.0 → 1.0.0-rc.1

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 (639) hide show
  1. package/README.md +140 -83
  2. package/dist/Theme.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  4. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  5. package/dist/components/Accordion/index.d.ts +1 -1
  6. package/dist/components/Accordion/index.d.ts.map +1 -1
  7. package/dist/components/AnimatedVisibility/AnimatedVisibility.d.ts +7 -7
  8. package/dist/components/AnimatedVisibility/AnimatedVisibility.d.ts.map +1 -1
  9. package/dist/components/AnimatedVisibility/index.d.ts +1 -1
  10. package/dist/components/AnimatedVisibility/index.d.ts.map +1 -1
  11. package/dist/components/AudioPlayer/AudioPlayer.d.ts.map +1 -1
  12. package/dist/components/AudioPlayer/AudioPlayerControls.d.ts.map +1 -1
  13. package/dist/components/AudioPlayer/index.d.ts +1 -1
  14. package/dist/components/AudioPlayer/index.d.ts.map +1 -1
  15. package/dist/components/AutoComplete/AutoComplete.d.ts.map +1 -1
  16. package/dist/components/AutoComplete/index.d.ts +1 -1
  17. package/dist/components/AutoComplete/index.d.ts.map +1 -1
  18. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  19. package/dist/components/Avatar/AvatarContainer.d.ts.map +1 -1
  20. package/dist/components/Avatar/AvatarStack.d.ts.map +1 -1
  21. package/dist/components/Avatar/index.d.ts +1 -1
  22. package/dist/components/Avatar/index.d.ts.map +1 -1
  23. package/dist/components/Badge/Badge.d.ts.map +1 -1
  24. package/dist/components/Banner/Banner.d.ts.map +1 -1
  25. package/dist/components/Banner/index.d.ts +1 -1
  26. package/dist/components/Banner/index.d.ts.map +1 -1
  27. package/dist/components/Box/Box.d.ts +1 -1
  28. package/dist/components/Box/Box.d.ts.map +1 -1
  29. package/dist/components/Box/BoxTransforms.d.ts.map +1 -1
  30. package/dist/components/Box/StylingBox.d.ts +1 -1
  31. package/dist/components/Box/StylingBox.d.ts.map +1 -1
  32. package/dist/components/Box/stylingProps.d.ts.map +1 -1
  33. package/dist/components/Box/useStylingProps.d.ts.map +1 -1
  34. package/dist/components/Box/withBoxStyling.d.ts.map +1 -1
  35. package/dist/components/Bubble/Bubble.d.ts.map +1 -1
  36. package/dist/components/Bubble/BubbleButton.d.ts.map +1 -1
  37. package/dist/components/Bubble/BubbleItem.d.ts.map +1 -1
  38. package/dist/components/Button/Button.d.ts +9 -5
  39. package/dist/components/Button/Button.d.ts.map +1 -1
  40. package/dist/components/Button/IconButton.d.ts +25 -4
  41. package/dist/components/Button/IconButton.d.ts.map +1 -1
  42. package/dist/components/Button/index.d.ts +1 -1
  43. package/dist/components/Button/index.d.ts.map +1 -1
  44. package/dist/components/ButtonGroup/ButtonGroup.d.ts +2 -1
  45. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  46. package/dist/components/Callout/Callout.d.ts +2 -2
  47. package/dist/components/Callout/Callout.d.ts.map +1 -1
  48. package/dist/components/Card/Card.d.ts.map +1 -1
  49. package/dist/components/Card/CardBody.d.ts +3 -2
  50. package/dist/components/Card/CardBody.d.ts.map +1 -1
  51. package/dist/components/Card/CardCol.d.ts.map +1 -1
  52. package/dist/components/Card/CardControls.d.ts.map +1 -1
  53. package/dist/components/Card/CardHeader.d.ts.map +1 -1
  54. package/dist/components/Card/CardRow.d.ts.map +1 -1
  55. package/dist/components/Card/CardTitle.d.ts.map +1 -1
  56. package/dist/components/Card/index.d.ts +1 -1
  57. package/dist/components/Card/index.d.ts.map +1 -1
  58. package/dist/components/CardGrid/CardGrid.d.ts +3 -1
  59. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  60. package/dist/components/CardGrid/CardGridItem.d.ts +11 -0
  61. package/dist/components/CardGrid/CardGridItem.d.ts.map +1 -0
  62. package/dist/components/CardGrid/index.d.ts +1 -0
  63. package/dist/components/CardGrid/index.d.ts.map +1 -1
  64. package/dist/components/CardGroup/CardGroup.d.ts.map +1 -1
  65. package/dist/components/CheckBox/CheckBox.d.ts +4 -4
  66. package/dist/components/CheckBox/CheckBox.d.ts.map +1 -1
  67. package/dist/components/Chevron/Chevron.d.ts +2 -1
  68. package/dist/components/Chevron/Chevron.d.ts.map +1 -1
  69. package/dist/components/Chip/Chip.d.ts +9 -1
  70. package/dist/components/Chip/Chip.d.ts.map +1 -1
  71. package/dist/components/CodeSnippet/CodeSnippet.d.ts +2 -2
  72. package/dist/components/CodeSnippet/CodeSnippet.d.ts.map +1 -1
  73. package/dist/components/Contextualbar/Contextualbar.d.ts +8 -4
  74. package/dist/components/Contextualbar/Contextualbar.d.ts.map +1 -1
  75. package/dist/components/Contextualbar/ContextualbarAction.d.ts +2 -1
  76. package/dist/components/Contextualbar/ContextualbarAction.d.ts.map +1 -1
  77. package/dist/components/Contextualbar/ContextualbarActions.d.ts +2 -1
  78. package/dist/components/Contextualbar/ContextualbarActions.d.ts.map +1 -1
  79. package/dist/components/Contextualbar/ContextualbarButton.d.ts +2 -1
  80. package/dist/components/Contextualbar/ContextualbarButton.d.ts.map +1 -1
  81. package/dist/components/Contextualbar/ContextualbarContent.d.ts +8 -4
  82. package/dist/components/Contextualbar/ContextualbarContent.d.ts.map +1 -1
  83. package/dist/components/Contextualbar/ContextualbarEmptyContent.d.ts.map +1 -1
  84. package/dist/components/Contextualbar/ContextualbarFooter.d.ts +2 -3
  85. package/dist/components/Contextualbar/ContextualbarFooter.d.ts.map +1 -1
  86. package/dist/components/Contextualbar/ContextualbarHeader.d.ts +4 -3
  87. package/dist/components/Contextualbar/ContextualbarHeader.d.ts.map +1 -1
  88. package/dist/components/Contextualbar/ContextualbarIcon.d.ts +2 -1
  89. package/dist/components/Contextualbar/ContextualbarIcon.d.ts.map +1 -1
  90. package/dist/components/Contextualbar/ContextualbarSection.d.ts +2 -3
  91. package/dist/components/Contextualbar/ContextualbarSection.d.ts.map +1 -1
  92. package/dist/components/Contextualbar/ContextualbarSkeleton.d.ts +4 -3
  93. package/dist/components/Contextualbar/ContextualbarSkeleton.d.ts.map +1 -1
  94. package/dist/components/Contextualbar/ContextualbarTitle.d.ts +4 -3
  95. package/dist/components/Contextualbar/ContextualbarTitle.d.ts.map +1 -1
  96. package/dist/components/Contextualbar/index.d.ts +12 -12
  97. package/dist/components/Contextualbar/index.d.ts.map +1 -1
  98. package/dist/components/Divider/Divider.d.ts +10 -4
  99. package/dist/components/Divider/Divider.d.ts.map +1 -1
  100. package/dist/components/Dropdown/Dropdown.d.ts +1 -1
  101. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -1
  102. package/dist/components/Dropdown/DropdownDesktop.d.ts +2 -3
  103. package/dist/components/Dropdown/DropdownDesktop.d.ts.map +1 -1
  104. package/dist/components/Dropdown/DropdownDesktopWrapper.d.ts.map +1 -1
  105. package/dist/components/Dropdown/DropdownMobile.d.ts.map +1 -1
  106. package/dist/components/EmailInput/EmailInput.d.ts.map +1 -1
  107. package/dist/components/Field/Field.d.ts +2 -2
  108. package/dist/components/Field/Field.d.ts.map +1 -1
  109. package/dist/components/Field/FieldDescription.d.ts +2 -2
  110. package/dist/components/Field/FieldDescription.d.ts.map +1 -1
  111. package/dist/components/Field/FieldError.d.ts +2 -2
  112. package/dist/components/Field/FieldError.d.ts.map +1 -1
  113. package/dist/components/Field/FieldHint.d.ts +2 -2
  114. package/dist/components/Field/FieldHint.d.ts.map +1 -1
  115. package/dist/components/Field/FieldLabel.d.ts +1 -1
  116. package/dist/components/Field/FieldLabel.d.ts.map +1 -1
  117. package/dist/components/Field/FieldLabelInfo.d.ts.map +1 -1
  118. package/dist/components/Field/FieldLink.d.ts +3 -2
  119. package/dist/components/Field/FieldLink.d.ts.map +1 -1
  120. package/dist/components/Field/FieldRow.d.ts +6 -3
  121. package/dist/components/Field/FieldRow.d.ts.map +1 -1
  122. package/dist/components/Field/index.d.ts +2 -2
  123. package/dist/components/Field/index.d.ts.map +1 -1
  124. package/dist/components/FieldGroup/FieldGroup.d.ts +3 -2
  125. package/dist/components/FieldGroup/FieldGroup.d.ts.map +1 -1
  126. package/dist/components/Flex/FlexContainer.d.ts +1 -1
  127. package/dist/components/Flex/FlexContainer.d.ts.map +1 -1
  128. package/dist/components/Flex/FlexItem.d.ts +1 -1
  129. package/dist/components/Flex/FlexItem.d.ts.map +1 -1
  130. package/dist/components/Flex/index.d.ts +1 -1
  131. package/dist/components/Flex/index.d.ts.map +1 -1
  132. package/dist/components/FramedIcon/FramedIcon.d.ts +2 -2
  133. package/dist/components/FramedIcon/FramedIcon.d.ts.map +1 -1
  134. package/dist/components/Grid/Grid.d.ts +7 -6
  135. package/dist/components/Grid/Grid.d.ts.map +1 -1
  136. package/dist/components/Grid/GridItem.d.ts +2 -2
  137. package/dist/components/Grid/GridItem.d.ts.map +1 -1
  138. package/dist/components/Icon/Icon.d.ts +8 -2
  139. package/dist/components/Icon/Icon.d.ts.map +1 -1
  140. package/dist/components/Icon/index.d.ts +1 -1
  141. package/dist/components/Icon/index.d.ts.map +1 -1
  142. package/dist/components/InputBox/Input.d.ts +7 -3
  143. package/dist/components/InputBox/Input.d.ts.map +1 -1
  144. package/dist/components/InputBox/InputBox.d.ts +7 -4
  145. package/dist/components/InputBox/InputBox.d.ts.map +1 -1
  146. package/dist/components/InputBox/InputBoxAddon.d.ts +2 -3
  147. package/dist/components/InputBox/InputBoxAddon.d.ts.map +1 -1
  148. package/dist/components/InputBox/InputBoxSkeleton.d.ts +2 -2
  149. package/dist/components/InputBox/InputBoxSkeleton.d.ts.map +1 -1
  150. package/dist/components/InputBox/InputBoxWrapper.d.ts +5 -2
  151. package/dist/components/InputBox/InputBoxWrapper.d.ts.map +1 -1
  152. package/dist/components/InputBox/index.d.ts +1 -1
  153. package/dist/components/InputBox/index.d.ts.map +1 -1
  154. package/dist/components/Item/Item.d.ts +6 -1
  155. package/dist/components/Item/Item.d.ts.map +1 -1
  156. package/dist/components/Item/ItemActions.d.ts.map +1 -1
  157. package/dist/components/Item/ItemContent.d.ts.map +1 -1
  158. package/dist/components/Item/ItemContext.d.ts +1 -0
  159. package/dist/components/Item/ItemContext.d.ts.map +1 -1
  160. package/dist/components/Item/ItemDescription.d.ts.map +1 -1
  161. package/dist/components/Item/ItemDivider.d.ts.map +1 -1
  162. package/dist/components/Item/ItemGroup.d.ts.map +1 -1
  163. package/dist/components/Item/ItemGroupContext.d.ts.map +1 -1
  164. package/dist/components/Item/ItemGroupHeader.d.ts.map +1 -1
  165. package/dist/components/Item/ItemGroupTitle.d.ts.map +1 -1
  166. package/dist/components/Item/ItemIcon.d.ts +1 -1
  167. package/dist/components/Item/ItemIcon.d.ts.map +1 -1
  168. package/dist/components/Item/ItemLink.d.ts.map +1 -1
  169. package/dist/components/Item/ItemMedia.d.ts.map +1 -1
  170. package/dist/components/Item/ItemMeta.d.ts +6 -2
  171. package/dist/components/Item/ItemMeta.d.ts.map +1 -1
  172. package/dist/components/Item/ItemRow.d.ts.map +1 -1
  173. package/dist/components/Item/ItemSkeleton.d.ts +1 -1
  174. package/dist/components/Item/ItemSkeleton.d.ts.map +1 -1
  175. package/dist/components/Item/ItemTitle.d.ts +1 -1
  176. package/dist/components/Item/ItemTitle.d.ts.map +1 -1
  177. package/dist/components/Item/index.d.ts +4 -4
  178. package/dist/components/Item/index.d.ts.map +1 -1
  179. package/dist/components/Item/useIdRegistry.d.ts.map +1 -1
  180. package/dist/components/Label/Label.d.ts +5 -3
  181. package/dist/components/Label/Label.d.ts.map +1 -1
  182. package/dist/components/Label/LabelInfo.d.ts.map +1 -1
  183. package/dist/components/Listbox/Listbox.d.ts +12 -0
  184. package/dist/components/Listbox/Listbox.d.ts.map +1 -0
  185. package/dist/components/Listbox/ListboxOption.d.ts +23 -0
  186. package/dist/components/Listbox/ListboxOption.d.ts.map +1 -0
  187. package/dist/components/Listbox/index.d.ts +3 -0
  188. package/dist/components/Listbox/index.d.ts.map +1 -0
  189. package/dist/components/Margins/Margins.d.ts.map +1 -1
  190. package/dist/components/Menu/Menu.d.ts +8 -2
  191. package/dist/components/Menu/Menu.d.ts.map +1 -1
  192. package/dist/components/Menu/MenuDropdown.d.ts.map +1 -1
  193. package/dist/components/Menu/MenuItem.d.ts +3 -0
  194. package/dist/components/Menu/MenuItem.d.ts.map +1 -1
  195. package/dist/components/Menu/MenuOption.d.ts +3 -4
  196. package/dist/components/Menu/MenuOption.d.ts.map +1 -1
  197. package/dist/components/Menu/MenuPopover.d.ts.map +1 -1
  198. package/dist/components/Menu/MenuPortalContext.d.ts.map +1 -1
  199. package/dist/components/Menu/MenuSection.d.ts +1 -1
  200. package/dist/components/Menu/MenuSection.d.ts.map +1 -1
  201. package/dist/components/Menu/MenuSubmenu.d.ts +1 -1
  202. package/dist/components/Menu/MenuSubmenu.d.ts.map +1 -1
  203. package/dist/components/Menu/helpers/helpers.d.ts +1 -1
  204. package/dist/components/Menu/helpers/helpers.d.ts.map +1 -1
  205. package/dist/components/Menu/index.d.ts +2 -2
  206. package/dist/components/Menu/index.d.ts.map +1 -1
  207. package/dist/components/Menu/stately/MenuItem.d.ts.map +1 -1
  208. package/dist/components/Menu/stately/MenuSection.d.ts.map +1 -1
  209. package/dist/components/Menu/stately/MenuSubmenuTrigger.d.ts.map +1 -1
  210. package/dist/components/Menu/stately/PartialNode.d.ts.map +1 -1
  211. package/dist/components/Message/Message.d.ts.map +1 -1
  212. package/dist/components/Message/MessageBlock.d.ts +2 -3
  213. package/dist/components/Message/MessageBlock.d.ts.map +1 -1
  214. package/dist/components/Message/MessageBody.d.ts.map +1 -1
  215. package/dist/components/Message/MessageContainer.d.ts.map +1 -1
  216. package/dist/components/Message/MessageContainerFixed.d.ts.map +1 -1
  217. package/dist/components/Message/MessageDivider/MessageDivider.d.ts.map +1 -1
  218. package/dist/components/Message/MessageDivider/index.d.ts +1 -1
  219. package/dist/components/Message/MessageDivider/index.d.ts.map +1 -1
  220. package/dist/components/Message/MessageEmoji.d.ts.map +1 -1
  221. package/dist/components/Message/MessageEmojiBase.d.ts.map +1 -1
  222. package/dist/components/Message/MessageGenericPreview/MessageGenericPreview.d.ts.map +1 -1
  223. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewContent.d.ts.map +1 -1
  224. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewCoverImage.d.ts.map +1 -1
  225. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewDescription.d.ts +1 -1
  226. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewDescription.d.ts.map +1 -1
  227. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewFooter.d.ts +1 -1
  228. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewFooter.d.ts.map +1 -1
  229. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewIcon.d.ts +2 -2
  230. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewIcon.d.ts.map +1 -1
  231. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewImage.d.ts.map +1 -1
  232. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewThumb.d.ts.map +1 -1
  233. package/dist/components/Message/MessageGenericPreview/MessageGenericPreviewTitle.d.ts.map +1 -1
  234. package/dist/components/Message/MessageGenericPreview/index.d.ts +8 -8
  235. package/dist/components/Message/MessageGenericPreview/index.d.ts.map +1 -1
  236. package/dist/components/Message/MessageHeader.d.ts.map +1 -1
  237. package/dist/components/Message/MessageHighlight.d.ts.map +1 -1
  238. package/dist/components/Message/MessageLeftContainer.d.ts.map +1 -1
  239. package/dist/components/Message/MessageMetrics/MessageMetrics.d.ts.map +1 -1
  240. package/dist/components/Message/MessageMetrics/MessageMetricsContentItem.d.ts.map +1 -1
  241. package/dist/components/Message/MessageMetrics/MessageMetricsFollowing.d.ts +1 -1
  242. package/dist/components/Message/MessageMetrics/MessageMetricsFollowing.d.ts.map +1 -1
  243. package/dist/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItem.d.ts.map +1 -1
  244. package/dist/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemAvatarRow.d.ts.map +1 -1
  245. package/dist/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemAvatarRowContent.d.ts.map +1 -1
  246. package/dist/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemIcon.d.ts.map +1 -1
  247. package/dist/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemLabel.d.ts.map +1 -1
  248. package/dist/components/Message/MessageMetrics/MessageMetricsItem/index.d.ts +3 -3
  249. package/dist/components/Message/MessageMetrics/MessageMetricsItem/index.d.ts.map +1 -1
  250. package/dist/components/Message/MessageMetrics/MessageMetricsReply.d.ts.map +1 -1
  251. package/dist/components/Message/MessageMetrics/index.d.ts +3 -3
  252. package/dist/components/Message/MessageMetrics/index.d.ts.map +1 -1
  253. package/dist/components/Message/MessageName.d.ts.map +1 -1
  254. package/dist/components/Message/MessageNameContainer.d.ts.map +1 -1
  255. package/dist/components/Message/MessageReactions/MessageReaction.d.ts.map +1 -1
  256. package/dist/components/Message/MessageReactions/MessageReactionAction.d.ts.map +1 -1
  257. package/dist/components/Message/MessageReactions/MessageReactionCounter.d.ts +1 -1
  258. package/dist/components/Message/MessageReactions/MessageReactionCounter.d.ts.map +1 -1
  259. package/dist/components/Message/MessageReactions/MessageReactionEmoji.d.ts.map +1 -1
  260. package/dist/components/Message/MessageReactions/MessageReactions.d.ts.map +1 -1
  261. package/dist/components/Message/MessageReactions/index.d.ts +4 -4
  262. package/dist/components/Message/MessageReactions/index.d.ts.map +1 -1
  263. package/dist/components/Message/MessageRole.d.ts.map +1 -1
  264. package/dist/components/Message/MessageRoles.d.ts.map +1 -1
  265. package/dist/components/Message/MessageStatusIndicator/MessageStatusIndicator.d.ts.map +1 -1
  266. package/dist/components/Message/MessageStatusIndicator/MessageStatusIndicatorItem.d.ts +2 -1
  267. package/dist/components/Message/MessageStatusIndicator/MessageStatusIndicatorItem.d.ts.map +1 -1
  268. package/dist/components/Message/MessageStatusIndicator/MessageStatusIndicatorText.d.ts +1 -1
  269. package/dist/components/Message/MessageStatusIndicator/MessageStatusIndicatorText.d.ts.map +1 -1
  270. package/dist/components/Message/MessageStatusIndicator/MessageStatusPrivateIndicator.d.ts +1 -1
  271. package/dist/components/Message/MessageStatusIndicator/MessageStatusPrivateIndicator.d.ts.map +1 -1
  272. package/dist/components/Message/MessageStatusIndicator/index.d.ts +4 -4
  273. package/dist/components/Message/MessageStatusIndicator/index.d.ts.map +1 -1
  274. package/dist/components/Message/MessageSystem/MessageSystem.d.ts.map +1 -1
  275. package/dist/components/Message/MessageSystem/MessageSystemBlock.d.ts.map +1 -1
  276. package/dist/components/Message/MessageSystem/MessageSystemBody.d.ts.map +1 -1
  277. package/dist/components/Message/MessageSystem/MessageSystemContainer.d.ts.map +1 -1
  278. package/dist/components/Message/MessageSystem/MessageSystemName.d.ts.map +1 -1
  279. package/dist/components/Message/MessageSystem/MessageSystemTimestamp.d.ts.map +1 -1
  280. package/dist/components/Message/MessageSystem/index.d.ts +6 -6
  281. package/dist/components/Message/MessageSystem/index.d.ts.map +1 -1
  282. package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
  283. package/dist/components/Message/MessageToolbar/MessageToolbar.d.ts.map +1 -1
  284. package/dist/components/Message/MessageToolbar/MessageToolbarItem.d.ts.map +1 -1
  285. package/dist/components/Message/MessageToolbar/MessageToolbarWrapper.d.ts.map +1 -1
  286. package/dist/components/Message/MessageToolbar/index.d.ts +3 -3
  287. package/dist/components/Message/MessageToolbar/index.d.ts.map +1 -1
  288. package/dist/components/Message/MessageUsername.d.ts.map +1 -1
  289. package/dist/components/Message/ThreadMessage/ThreadMessage.d.ts.map +1 -1
  290. package/dist/components/Message/ThreadMessage/ThreadMessageBody.d.ts.map +1 -1
  291. package/dist/components/Message/ThreadMessage/ThreadMessageContainer.d.ts.map +1 -1
  292. package/dist/components/Message/ThreadMessage/ThreadMessageEmoji.d.ts.map +1 -1
  293. package/dist/components/Message/ThreadMessage/ThreadMessageFollow.d.ts.map +1 -1
  294. package/dist/components/Message/ThreadMessage/ThreadMessageIcon.d.ts.map +1 -1
  295. package/dist/components/Message/ThreadMessage/ThreadMessageIconThread.d.ts.map +1 -1
  296. package/dist/components/Message/ThreadMessage/ThreadMessageLeftContainer.d.ts.map +1 -1
  297. package/dist/components/Message/ThreadMessage/ThreadMessageOrigin.d.ts +1 -1
  298. package/dist/components/Message/ThreadMessage/ThreadMessageOrigin.d.ts.map +1 -1
  299. package/dist/components/Message/ThreadMessage/ThreadMessageRow.d.ts.map +1 -1
  300. package/dist/components/Message/ThreadMessage/ThreadMessageUnfollow.d.ts.map +1 -1
  301. package/dist/components/Message/ThreadMessage/index.d.ts +7 -7
  302. package/dist/components/Message/ThreadMessage/index.d.ts.map +1 -1
  303. package/dist/components/Message/helpers.d.ts.map +1 -1
  304. package/dist/components/Message/index.d.ts +11 -11
  305. package/dist/components/Message/index.d.ts.map +1 -1
  306. package/dist/components/Modal/Modal.d.ts +11 -2
  307. package/dist/components/Modal/Modal.d.ts.map +1 -1
  308. package/dist/components/Modal/ModalBackdrop.d.ts +6 -3
  309. package/dist/components/Modal/ModalBackdrop.d.ts.map +1 -1
  310. package/dist/components/Modal/ModalClose.d.ts +2 -2
  311. package/dist/components/Modal/ModalClose.d.ts.map +1 -1
  312. package/dist/components/Modal/ModalContent.d.ts +5 -3
  313. package/dist/components/Modal/ModalContent.d.ts.map +1 -1
  314. package/dist/components/Modal/ModalFooter.d.ts +6 -3
  315. package/dist/components/Modal/ModalFooter.d.ts.map +1 -1
  316. package/dist/components/Modal/ModalFooterAnnotation.d.ts +2 -2
  317. package/dist/components/Modal/ModalFooterAnnotation.d.ts.map +1 -1
  318. package/dist/components/Modal/ModalFooterControllers.d.ts.map +1 -1
  319. package/dist/components/Modal/ModalHeader.d.ts +2 -2
  320. package/dist/components/Modal/ModalHeader.d.ts.map +1 -1
  321. package/dist/components/Modal/ModalHeaderText.d.ts +2 -2
  322. package/dist/components/Modal/ModalHeaderText.d.ts.map +1 -1
  323. package/dist/components/Modal/ModalHeroImage.d.ts +8 -1
  324. package/dist/components/Modal/ModalHeroImage.d.ts.map +1 -1
  325. package/dist/components/Modal/ModalIcon.d.ts +14 -3
  326. package/dist/components/Modal/ModalIcon.d.ts.map +1 -1
  327. package/dist/components/Modal/ModalTagline.d.ts +6 -3
  328. package/dist/components/Modal/ModalTagline.d.ts.map +1 -1
  329. package/dist/components/Modal/ModalThumb.d.ts.map +1 -1
  330. package/dist/components/Modal/ModalTitle.d.ts +2 -2
  331. package/dist/components/Modal/ModalTitle.d.ts.map +1 -1
  332. package/dist/components/Modal/index.d.ts +7 -7
  333. package/dist/components/Modal/index.d.ts.map +1 -1
  334. package/dist/components/MultiSelect/MultiSelect.d.ts +6 -2
  335. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  336. package/dist/components/MultiSelect/MultiSelectAnchor.d.ts.map +1 -1
  337. package/dist/components/MultiSelect/MultiSelectAnchorParams.d.ts.map +1 -1
  338. package/dist/components/MultiSelect/MultiSelectFiltered.d.ts.map +1 -1
  339. package/dist/components/MultiSelect/MultiSelectFilteredAnchor.d.ts.map +1 -1
  340. package/dist/components/MultiSelect/MultiSelectFilteredContext.d.ts.map +1 -1
  341. package/dist/components/MultiSelect/SelectedOptions.d.ts +1 -1
  342. package/dist/components/MultiSelect/SelectedOptions.d.ts.map +1 -1
  343. package/dist/components/MultiSelect/index.d.ts +1 -1
  344. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  345. package/dist/components/NavBar/NavBar.d.ts.map +1 -1
  346. package/dist/components/NavBar/NavBarDivider.d.ts +1 -1
  347. package/dist/components/NavBar/NavBarDivider.d.ts.map +1 -1
  348. package/dist/components/NavBar/NavBarGroup.d.ts.map +1 -1
  349. package/dist/components/NavBar/NavBarItem.d.ts.map +1 -1
  350. package/dist/components/NavBar/NavBarSection.d.ts.map +1 -1
  351. package/dist/components/NavBar/index.d.ts +2 -2
  352. package/dist/components/NavBar/index.d.ts.map +1 -1
  353. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  354. package/dist/components/Option/CheckOption.d.ts +5 -1
  355. package/dist/components/Option/CheckOption.d.ts.map +1 -1
  356. package/dist/components/Option/Option.d.ts +12 -7
  357. package/dist/components/Option/Option.d.ts.map +1 -1
  358. package/dist/components/Option/OptionAvatar.d.ts.map +1 -1
  359. package/dist/components/Option/OptionColumn.d.ts +3 -0
  360. package/dist/components/Option/OptionColumn.d.ts.map +1 -1
  361. package/dist/components/Option/OptionContent.d.ts +1 -1
  362. package/dist/components/Option/OptionContent.d.ts.map +1 -1
  363. package/dist/components/Option/OptionDescription.d.ts.map +1 -1
  364. package/dist/components/Option/OptionDescriptionBlock.d.ts.map +1 -1
  365. package/dist/components/Option/OptionDivider.d.ts.map +1 -1
  366. package/dist/components/Option/OptionHeader.d.ts +3 -0
  367. package/dist/components/Option/OptionHeader.d.ts.map +1 -1
  368. package/dist/components/Option/OptionIcon.d.ts +1 -1
  369. package/dist/components/Option/OptionIcon.d.ts.map +1 -1
  370. package/dist/components/Option/OptionInput.d.ts.map +1 -1
  371. package/dist/components/Option/OptionMenu.d.ts +1 -1
  372. package/dist/components/Option/OptionMenu.d.ts.map +1 -1
  373. package/dist/components/Option/OptionSkeleton.d.ts.map +1 -1
  374. package/dist/components/Option/OptionTitle.d.ts +1 -1
  375. package/dist/components/Option/OptionTitle.d.ts.map +1 -1
  376. package/dist/components/Option/index.d.ts +7 -7
  377. package/dist/components/Option/index.d.ts.map +1 -1
  378. package/dist/components/Options/OptionContainer.d.ts +2 -3
  379. package/dist/components/Options/OptionContainer.d.ts.map +1 -1
  380. package/dist/components/Options/OptionType.d.ts +1 -22
  381. package/dist/components/Options/OptionType.d.ts.map +1 -1
  382. package/dist/components/Options/Options.d.ts +4 -2
  383. package/dist/components/Options/Options.d.ts.map +1 -1
  384. package/dist/components/Options/OptionsEmpty.d.ts +2 -1
  385. package/dist/components/Options/OptionsEmpty.d.ts.map +1 -1
  386. package/dist/components/Options/index.d.ts +1 -1
  387. package/dist/components/Options/index.d.ts.map +1 -1
  388. package/dist/components/Options/useCursor.d.ts.map +1 -1
  389. package/dist/components/Options/useVisible.d.ts +2 -6
  390. package/dist/components/Options/useVisible.d.ts.map +1 -1
  391. package/dist/components/OptionsPaginated/OptionsPaginated.d.ts +6 -8
  392. package/dist/components/OptionsPaginated/OptionsPaginated.d.ts.map +1 -1
  393. package/dist/components/PaginatedSelect/PaginatedMultiSelect.d.ts +6 -3
  394. package/dist/components/PaginatedSelect/PaginatedMultiSelect.d.ts.map +1 -1
  395. package/dist/components/PaginatedSelect/PaginatedMultiSelectFiltered.d.ts.map +1 -1
  396. package/dist/components/PaginatedSelect/PaginatedSelect.d.ts +1 -1
  397. package/dist/components/PaginatedSelect/PaginatedSelect.d.ts.map +1 -1
  398. package/dist/components/PaginatedSelect/PaginatedSelectFiltered.d.ts.map +1 -1
  399. package/dist/components/PaginatedSelect/index.d.ts +4 -4
  400. package/dist/components/PaginatedSelect/index.d.ts.map +1 -1
  401. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  402. package/dist/components/Pagination/index.d.ts +1 -1
  403. package/dist/components/Pagination/index.d.ts.map +1 -1
  404. package/dist/components/PaletteStyleTag/PaletteStyleTag.d.ts +1 -1
  405. package/dist/components/PaletteStyleTag/PaletteStyleTag.d.ts.map +1 -1
  406. package/dist/components/PaletteStyleTag/helpers/convertToCss.d.ts.map +1 -1
  407. package/dist/components/PaletteStyleTag/helpers/getPalette.d.ts.map +1 -1
  408. package/dist/components/PaletteStyleTag/hooks/useCreateStyleContainer.d.ts.map +1 -1
  409. package/dist/components/PaletteStyleTag/index.d.ts +1 -1
  410. package/dist/components/PaletteStyleTag/index.d.ts.map +1 -1
  411. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  412. package/dist/components/PasswordInput/index.d.ts +1 -1
  413. package/dist/components/PasswordInput/index.d.ts.map +1 -1
  414. package/dist/components/Popover/Popover.d.ts.map +1 -1
  415. package/dist/components/PopoverSurface/PopoverSurface.d.ts +15 -0
  416. package/dist/components/PopoverSurface/PopoverSurface.d.ts.map +1 -0
  417. package/dist/components/PopoverSurface/index.d.ts +2 -0
  418. package/dist/components/PopoverSurface/index.d.ts.map +1 -0
  419. package/dist/components/PositionAnimated/Position.d.ts +5 -3
  420. package/dist/components/PositionAnimated/Position.d.ts.map +1 -1
  421. package/dist/components/PositionAnimated/PositionAnimated.d.ts +4 -3
  422. package/dist/components/PositionAnimated/PositionAnimated.d.ts.map +1 -1
  423. package/dist/components/PositionAnimated/index.d.ts +1 -1
  424. package/dist/components/PositionAnimated/index.d.ts.map +1 -1
  425. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  426. package/dist/components/RadioButton/RadioButton.d.ts +3 -3
  427. package/dist/components/RadioButton/RadioButton.d.ts.map +1 -1
  428. package/dist/components/Scrollable/Scrollable.d.ts +1 -1
  429. package/dist/components/Scrollable/Scrollable.d.ts.map +1 -1
  430. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -1
  431. package/dist/components/Select/Select.d.ts +15 -8
  432. package/dist/components/Select/Select.d.ts.map +1 -1
  433. package/dist/components/Select/SelectAddon.d.ts +2 -3
  434. package/dist/components/Select/SelectAddon.d.ts.map +1 -1
  435. package/dist/components/Select/SelectAnchorParams.d.ts.map +1 -1
  436. package/dist/components/Select/SelectFiltered.d.ts.map +1 -1
  437. package/dist/components/Select/SelectFilteredAnchor.d.ts.map +1 -1
  438. package/dist/components/Select/SelectFilteredContext.d.ts.map +1 -1
  439. package/dist/components/Select/SelectFocus.d.ts +3 -3
  440. package/dist/components/Select/SelectFocus.d.ts.map +1 -1
  441. package/dist/components/Select/SelectLegacy.d.ts +8 -8
  442. package/dist/components/Select/SelectLegacy.d.ts.map +1 -1
  443. package/dist/components/Select/index.d.ts +2 -2
  444. package/dist/components/Select/index.d.ts.map +1 -1
  445. package/dist/components/Select/useTypeahead.d.ts +17 -0
  446. package/dist/components/Select/useTypeahead.d.ts.map +1 -0
  447. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
  448. package/dist/components/Sidebar/SidebarAccordion.d.ts.map +1 -1
  449. package/dist/components/Sidebar/SidebarAccordionItem.d.ts.map +1 -1
  450. package/dist/components/Sidebar/SidebarAction.d.ts.map +1 -1
  451. package/dist/components/Sidebar/SidebarActions.d.ts.map +1 -1
  452. package/dist/components/Sidebar/SidebarBanner.d.ts.map +1 -1
  453. package/dist/components/Sidebar/SidebarButtonGroup.d.ts.map +1 -1
  454. package/dist/components/Sidebar/SidebarCollapseGroup.d.ts +1 -1
  455. package/dist/components/Sidebar/SidebarCollapseGroup.d.ts.map +1 -1
  456. package/dist/components/Sidebar/SidebarCollapseGroupMenu.d.ts +1 -1
  457. package/dist/components/Sidebar/SidebarCollapseGroupMenu.d.ts.map +1 -1
  458. package/dist/components/Sidebar/SidebarDivider.d.ts.map +1 -1
  459. package/dist/components/Sidebar/SidebarFooter/SidebarFooter.d.ts.map +1 -1
  460. package/dist/components/Sidebar/SidebarFooter/SidebarFooterContent.d.ts +2 -2
  461. package/dist/components/Sidebar/SidebarFooter/SidebarFooterContent.d.ts.map +1 -1
  462. package/dist/components/Sidebar/SidebarGroupTitle.d.ts +4 -1
  463. package/dist/components/Sidebar/SidebarGroupTitle.d.ts.map +1 -1
  464. package/dist/components/Sidebar/SidebarItem/SidebarItem.d.ts +20 -1
  465. package/dist/components/Sidebar/SidebarItem/SidebarItem.d.ts.map +1 -1
  466. package/dist/components/Sidebar/SidebarItem/SidebarItemAction.d.ts.map +1 -1
  467. package/dist/components/Sidebar/SidebarItem/SidebarItemActions.d.ts +8 -0
  468. package/dist/components/Sidebar/SidebarItem/SidebarItemActions.d.ts.map +1 -0
  469. package/dist/components/Sidebar/SidebarItem/SidebarItemAvatarWrapper.d.ts.map +1 -1
  470. package/dist/components/Sidebar/SidebarItem/SidebarItemBadge.d.ts.map +1 -1
  471. package/dist/components/Sidebar/SidebarItem/SidebarItemCol.d.ts.map +1 -1
  472. package/dist/components/Sidebar/SidebarItem/SidebarItemContent.d.ts.map +1 -1
  473. package/dist/components/Sidebar/SidebarItem/SidebarItemIcon.d.ts +6 -2
  474. package/dist/components/Sidebar/SidebarItem/SidebarItemIcon.d.ts.map +1 -1
  475. package/dist/components/Sidebar/SidebarItem/SidebarItemLink.d.ts +8 -0
  476. package/dist/components/Sidebar/SidebarItem/SidebarItemLink.d.ts.map +1 -0
  477. package/dist/components/Sidebar/SidebarItem/SidebarItemMenu.d.ts +1 -1
  478. package/dist/components/Sidebar/SidebarItem/SidebarItemMenu.d.ts.map +1 -1
  479. package/dist/components/Sidebar/SidebarItem/SidebarItemRow.d.ts.map +1 -1
  480. package/dist/components/Sidebar/SidebarItem/SidebarItemStatusBullet.d.ts.map +1 -1
  481. package/dist/components/Sidebar/SidebarItem/SidebarItemTimestamp.d.ts.map +1 -1
  482. package/dist/components/Sidebar/SidebarItem/SidebarItemTitle.d.ts.map +1 -1
  483. package/dist/components/Sidebar/SidebarItem/SidebarListItem.d.ts.map +1 -1
  484. package/dist/components/Sidebar/SidebarItem/index.d.ts +2 -0
  485. package/dist/components/Sidebar/SidebarItem/index.d.ts.map +1 -1
  486. package/dist/components/Sidebar/SidebarLink.d.ts +1 -1
  487. package/dist/components/Sidebar/SidebarLink.d.ts.map +1 -1
  488. package/dist/components/Sidebar/SidebarMedia/SidebarMedia.d.ts.map +1 -1
  489. package/dist/components/Sidebar/SidebarMedia/SidebarMediaController.d.ts.map +1 -1
  490. package/dist/components/Sidebar/SidebarMedia/SidebarMediaTitle.d.ts.map +1 -1
  491. package/dist/components/Sidebar/SidebarSection.d.ts.map +1 -1
  492. package/dist/components/Sidebar/helpers.d.ts.map +1 -1
  493. package/dist/components/Sidebar/hooks/useCollapse.d.ts +4 -4
  494. package/dist/components/Sidebar/hooks/useCollapse.d.ts.map +1 -1
  495. package/dist/components/Sidebar/index.d.ts +6 -6
  496. package/dist/components/Sidebar/index.d.ts.map +1 -1
  497. package/dist/components/Sidepanel/Sidepanel.d.ts.map +1 -1
  498. package/dist/components/Sidepanel/SidepanelDivider.d.ts.map +1 -1
  499. package/dist/components/Sidepanel/SidepanelHeader.d.ts.map +1 -1
  500. package/dist/components/Sidepanel/SidepanelHeaderTitle.d.ts.map +1 -1
  501. package/dist/components/Sidepanel/SidepanelList.d.ts.map +1 -1
  502. package/dist/components/Sidepanel/SidepanelListItem.d.ts.map +1 -1
  503. package/dist/components/Sidepanel/SidepanelSection.d.ts.map +1 -1
  504. package/dist/components/Sidepanel/SidepanelSectionAction.d.ts.map +1 -1
  505. package/dist/components/Sidepanel/index.d.ts +6 -6
  506. package/dist/components/Sidepanel/index.d.ts.map +1 -1
  507. package/dist/components/Skeleton/Skeleton.d.ts +10 -5
  508. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  509. package/dist/components/Slider/Slider.d.ts.map +1 -1
  510. package/dist/components/Slider/SliderHead.d.ts +1 -1
  511. package/dist/components/Slider/SliderHead.d.ts.map +1 -1
  512. package/dist/components/Slider/SliderThumb.d.ts.map +1 -1
  513. package/dist/components/Slider/SliderTrack.d.ts +1 -1
  514. package/dist/components/Slider/SliderTrack.d.ts.map +1 -1
  515. package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
  516. package/dist/components/SplitButton/SplitButtonTrigger.d.ts +1 -1
  517. package/dist/components/SplitButton/SplitButtonTrigger.d.ts.map +1 -1
  518. package/dist/components/SplitButton/index.d.ts +1 -1
  519. package/dist/components/SplitButton/index.d.ts.map +1 -1
  520. package/dist/components/Stack/Stack.d.ts +16 -0
  521. package/dist/components/Stack/Stack.d.ts.map +1 -0
  522. package/dist/components/Stack/index.d.ts +2 -0
  523. package/dist/components/Stack/index.d.ts.map +1 -0
  524. package/dist/components/States/States.d.ts.map +1 -1
  525. package/dist/components/States/StatesAction.d.ts +1 -1
  526. package/dist/components/States/StatesAction.d.ts.map +1 -1
  527. package/dist/components/States/StatesActions.d.ts.map +1 -1
  528. package/dist/components/States/StatesIcon.d.ts +1 -1
  529. package/dist/components/States/StatesIcon.d.ts.map +1 -1
  530. package/dist/components/States/StatesLink.d.ts +3 -3
  531. package/dist/components/States/StatesLink.d.ts.map +1 -1
  532. package/dist/components/States/StatesSubtitle.d.ts.map +1 -1
  533. package/dist/components/States/StatesSuggestion.d.ts.map +1 -1
  534. package/dist/components/States/StatesSuggestionList.d.ts.map +1 -1
  535. package/dist/components/States/StatesSuggestionListItem.d.ts.map +1 -1
  536. package/dist/components/States/StatesSuggestionText.d.ts.map +1 -1
  537. package/dist/components/States/StatesTitle.d.ts.map +1 -1
  538. package/dist/components/States/index.d.ts +7 -7
  539. package/dist/components/States/index.d.ts.map +1 -1
  540. package/dist/components/StatusBullet/StatusBullet.d.ts.map +1 -1
  541. package/dist/components/StatusBullet/icons/Away.d.ts.map +1 -1
  542. package/dist/components/StatusBullet/icons/Busy.d.ts.map +1 -1
  543. package/dist/components/StatusBullet/icons/Disabled.d.ts.map +1 -1
  544. package/dist/components/StatusBullet/icons/Loading.d.ts.map +1 -1
  545. package/dist/components/StatusBullet/icons/Offline.d.ts.map +1 -1
  546. package/dist/components/StatusBullet/icons/Online.d.ts.map +1 -1
  547. package/dist/components/StatusBullet/index.d.ts +1 -1
  548. package/dist/components/StatusBullet/index.d.ts.map +1 -1
  549. package/dist/components/Table/Table.d.ts +8 -3
  550. package/dist/components/Table/Table.d.ts.map +1 -1
  551. package/dist/components/Table/TableBody.d.ts +2 -2
  552. package/dist/components/Table/TableBody.d.ts.map +1 -1
  553. package/dist/components/Table/TableCell.d.ts +13 -3
  554. package/dist/components/Table/TableCell.d.ts.map +1 -1
  555. package/dist/components/Table/TableFoot.d.ts +2 -2
  556. package/dist/components/Table/TableFoot.d.ts.map +1 -1
  557. package/dist/components/Table/TableHead.d.ts +2 -2
  558. package/dist/components/Table/TableHead.d.ts.map +1 -1
  559. package/dist/components/Table/TableRow.d.ts +3 -2
  560. package/dist/components/Table/TableRow.d.ts.map +1 -1
  561. package/dist/components/Table/TableSelection/TableSelection.d.ts +2 -2
  562. package/dist/components/Table/TableSelection/TableSelection.d.ts.map +1 -1
  563. package/dist/components/Table/TableSelection/TableSelectionButton.d.ts +1 -1
  564. package/dist/components/Table/TableSelection/TableSelectionButton.d.ts.map +1 -1
  565. package/dist/components/Table/TableSelection/TableSelectionButtonGroup.d.ts.map +1 -1
  566. package/dist/components/Table/TableSelection/index.d.ts +3 -3
  567. package/dist/components/Table/TableSelection/index.d.ts.map +1 -1
  568. package/dist/components/Table/index.d.ts +1 -1
  569. package/dist/components/Table/index.d.ts.map +1 -1
  570. package/dist/components/Tabs/Tabs.d.ts +5 -3
  571. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  572. package/dist/components/Tabs/TabsItem.d.ts +3 -3
  573. package/dist/components/Tabs/TabsItem.d.ts.map +1 -1
  574. package/dist/components/Tag/Tag.d.ts +3 -3
  575. package/dist/components/Tag/Tag.d.ts.map +1 -1
  576. package/dist/components/Text/Text.d.ts +306 -0
  577. package/dist/components/Text/Text.d.ts.map +1 -0
  578. package/dist/components/Text/index.d.ts +2 -0
  579. package/dist/components/Text/index.d.ts.map +1 -0
  580. package/dist/components/TextAreaInput/TextAreaInput.d.ts.map +1 -1
  581. package/dist/components/TextAreaInput/index.d.ts +1 -1
  582. package/dist/components/TextAreaInput/index.d.ts.map +1 -1
  583. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  584. package/dist/components/Throbber/Throbber.d.ts +3 -2
  585. package/dist/components/Throbber/Throbber.d.ts.map +1 -1
  586. package/dist/components/Tile/Tile.d.ts +7 -3
  587. package/dist/components/Tile/Tile.d.ts.map +1 -1
  588. package/dist/components/ToastBar/ToastBar.d.ts.map +1 -1
  589. package/dist/components/ToggleSwitch/ToggleSwitch.d.ts +3 -3
  590. package/dist/components/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
  591. package/dist/components/ToggleSwitch/index.d.ts +1 -1
  592. package/dist/components/ToggleSwitch/index.d.ts.map +1 -1
  593. package/dist/components/Tooltip/Tooltip.d.ts +2 -3
  594. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  595. package/dist/components/UrlInput/UrlInput.d.ts.map +1 -1
  596. package/dist/components/index.d.ts +4 -0
  597. package/dist/components/index.d.ts.map +1 -1
  598. package/dist/contexts/OwnerDocument.d.ts.map +1 -1
  599. package/dist/fuselage.css +1 -1
  600. package/dist/fuselage.development.css +676 -309
  601. package/dist/fuselage.development.js +1734 -1390
  602. package/dist/fuselage.development.js.map +1 -1
  603. package/dist/fuselage.production.js +176 -177
  604. package/dist/getPaletteColor.d.ts +7 -7
  605. package/dist/getPaletteColor.d.ts.map +1 -1
  606. package/dist/helpers/WithErrorWrapper.d.ts +1 -1
  607. package/dist/helpers/WithErrorWrapper.d.ts.map +1 -1
  608. package/dist/helpers/appendClassName.d.ts.map +1 -1
  609. package/dist/helpers/composeClassNames.d.ts.map +1 -1
  610. package/dist/helpers/exhaustiveCheck.d.ts.map +1 -1
  611. package/dist/helpers/fromCamelToKebab.d.ts.map +1 -1
  612. package/dist/helpers/patchChildren.d.ts.map +1 -1
  613. package/dist/helpers/prependClassName.d.ts.map +1 -1
  614. package/dist/helpers/prevent.d.ts.map +1 -1
  615. package/dist/helpers/setStoryDescription.d.ts.map +1 -1
  616. package/dist/helpers/shallowEqual.d.ts.map +1 -1
  617. package/dist/helpers/toCSSValue.d.ts.map +1 -1
  618. package/dist/hooks/useArrayLikeClassNameProp.d.ts.map +1 -1
  619. package/dist/hooks/useBoxOnlyProps.d.ts +3 -3
  620. package/dist/hooks/useBoxOnlyProps.d.ts.map +1 -1
  621. package/dist/hooks/useStyle.d.ts +2 -1
  622. package/dist/hooks/useStyle.d.ts.map +1 -1
  623. package/dist/index.d.ts +1 -0
  624. package/dist/index.d.ts.map +1 -1
  625. package/dist/styleTokens.d.ts +12 -9
  626. package/dist/styleTokens.d.ts.map +1 -1
  627. package/dist/types/ElementProps.d.ts +8 -0
  628. package/dist/types/ElementProps.d.ts.map +1 -0
  629. package/index.js +2 -3
  630. package/package.json +42 -48
  631. package/dist/components/PaginatedSelect/PaginatedSelectWrapper.d.ts +0 -6
  632. package/dist/components/PaginatedSelect/PaginatedSelectWrapper.d.ts.map +0 -1
  633. package/dist/components/Select/Listbox.d.ts +0 -10
  634. package/dist/components/Select/Listbox.d.ts.map +0 -1
  635. package/dist/components/Select/SelectAria.d.ts +0 -12
  636. package/dist/components/Select/SelectAria.d.ts.map +0 -1
  637. package/dist/components/Select/SelectTrigger.d.ts +0 -10
  638. package/dist/components/Select/SelectTrigger.d.ts.map +0 -1
  639. package/dist/tsdoc-metadata.json +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"fuselage.development.js","names":[],"sources":["../src/helpers/exhaustiveCheck.ts","../src/helpers/composeClassNames.ts","../src/helpers/appendClassName.ts","../src/contexts/OwnerDocument.ts","../src/hooks/useStyle.ts","../src/hooks/useArrayLikeClassNameProp.ts","../src/helpers/prependClassName.ts","../src/hooks/useBoxOnlyProps.ts","../src/components/Box/BoxTransforms.ts","../src/helpers/toCSSValue.ts","../src/Theme.ts","../src/helpers/fromCamelToKebab.ts","../src/getPaletteColor.ts","../src/styleTokens.ts","../src/components/Box/stylingProps.ts","../src/components/Box/useStylingProps.ts","../src/components/Box/Box.tsx","../src/components/Box/StylingBox.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Icon/Icon.tsx","../src/components/Chevron/Chevron.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/AnimatedVisibility/AnimatedVisibility.tsx","../src/components/Label/Label.tsx","../src/components/Slider/SliderHead.tsx","../src/components/Slider/SliderThumb.tsx","../src/components/Slider/SliderTrack.tsx","../src/components/Slider/Slider.tsx","../src/components/AudioPlayer/AudioPlayerControls.tsx","../src/components/AudioPlayer/AudioPlayer.tsx","../src/components/Avatar/AvatarContainer.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Avatar/AvatarStack.tsx","../src/components/Box/withBoxStyling.tsx","../src/helpers/shallowEqual.ts","../src/helpers/patchChildren.ts","../src/components/Margins/Margins.tsx","../src/components/Chip/Chip.tsx","../src/components/InputBox/Input.tsx","../src/components/InputBox/InputBoxAddon.tsx","../src/components/InputBox/InputBoxWrapper.tsx","../src/components/InputBox/InputBox.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/InputBox/InputBoxSkeleton.tsx","../src/helpers/prevent.ts","../src/components/CheckBox/CheckBox.tsx","../src/components/Option/OptionAvatar.tsx","../src/components/Option/OptionColumn.tsx","../src/components/Option/OptionContent.tsx","../src/components/Option/OptionIcon.tsx","../src/components/Option/Option.tsx","../src/components/Option/CheckOption.tsx","../src/components/Option/OptionDescription.tsx","../src/components/Option/OptionDescriptionBlock.tsx","../src/components/Divider/Divider.tsx","../src/components/Option/OptionDivider.tsx","../src/components/Option/OptionInput.tsx","../src/components/Option/OptionMenu.tsx","../src/components/Option/OptionSkeleton.tsx","../src/components/Option/OptionTitle.tsx","../src/components/Option/OptionHeader.tsx","../src/components/Scrollable/Scrollable.tsx","../src/components/Tile/Tile.tsx","../src/components/Options/OptionsEmpty.tsx","../src/components/Options/Options.tsx","../src/components/Options/OptionContainer.tsx","../src/components/Options/useVisible.ts","../src/components/Options/useCursor.ts","../src/components/PositionAnimated/Position.tsx","../src/components/PositionAnimated/PositionAnimated.tsx","../src/components/AutoComplete/AutoComplete.tsx","../src/components/Badge/Badge.tsx","../src/components/Button/Button.tsx","../src/components/Button/IconButton.tsx","../src/components/Banner/Banner.tsx","../src/components/Bubble/BubbleButton.tsx","../src/components/Bubble/BubbleItem.tsx","../src/components/Bubble/Bubble.tsx","../src/components/ButtonGroup/ButtonGroup.tsx","../src/components/Callout/Callout.tsx","../src/components/Card/Card.tsx","../src/components/Card/CardBody.tsx","../src/components/Card/CardCol.tsx","../src/components/Card/CardRow.tsx","../src/components/Label/LabelInfo.tsx","../src/components/Card/CardTitle.tsx","../src/components/Card/CardControls.tsx","../src/components/Card/CardHeader.tsx","../src/components/Grid/GridItem.tsx","../src/components/Grid/Grid.tsx","../src/components/CardGrid/CardGrid.tsx","../src/components/CardGroup/CardGroup.tsx","../src/components/CodeSnippet/CodeSnippet.tsx","../src/components/Contextualbar/Contextualbar.tsx","../src/components/Contextualbar/ContextualbarAction.tsx","../src/components/Contextualbar/ContextualbarActions.tsx","../src/components/Contextualbar/ContextualbarButton.tsx","../src/components/Contextualbar/ContextualbarContent.tsx","../src/components/States/States.tsx","../src/components/States/StatesIcon.tsx","../src/components/States/StatesAction.tsx","../src/components/States/StatesActions.tsx","../src/components/States/StatesLink.tsx","../src/components/States/StatesSubtitle.tsx","../src/components/States/StatesSuggestion.tsx","../src/components/States/StatesSuggestionList.tsx","../src/components/States/StatesSuggestionListItem.tsx","../src/components/States/StatesSuggestionText.tsx","../src/components/States/StatesTitle.tsx","../src/components/Contextualbar/ContextualbarEmptyContent.tsx","../src/components/Contextualbar/ContextualbarFooter.tsx","../src/components/Contextualbar/ContextualbarHeader.tsx","../src/components/Contextualbar/ContextualbarIcon.tsx","../src/components/Contextualbar/ContextualbarSection.tsx","../src/components/Contextualbar/ContextualbarSkeleton.tsx","../src/components/Contextualbar/ContextualbarTitle.tsx","../src/components/Dropdown/DropdownDesktop.tsx","../src/components/Dropdown/DropdownDesktopWrapper.tsx","../src/components/Dropdown/DropdownMobile.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/EmailInput/EmailInput.tsx","../src/components/Field/Field.tsx","../src/helpers/WithErrorWrapper.tsx","../src/components/Field/FieldDescription.tsx","../src/components/Field/FieldError.tsx","../src/components/Field/FieldHint.tsx","../src/components/Field/FieldLabel.tsx","../src/components/Field/FieldLabelInfo.tsx","../src/components/Field/FieldLink.tsx","../src/components/Field/FieldRow.tsx","../src/components/FieldGroup/FieldGroup.tsx","../src/components/Flex/FlexContainer.tsx","../src/components/Flex/FlexItem.tsx","../src/components/FramedIcon/FramedIcon.tsx","../src/components/Item/ItemContext.ts","../src/components/Item/useIdRegistry.ts","../src/components/Item/Item.tsx","../src/components/Item/ItemActions.tsx","../src/components/Item/ItemContent.tsx","../src/components/Item/ItemDescription.tsx","../src/components/Item/ItemDivider.tsx","../src/components/Item/ItemGroupContext.ts","../src/components/Item/ItemGroup.tsx","../src/components/Item/ItemGroupHeader.tsx","../src/components/Item/ItemGroupTitle.tsx","../src/components/Item/ItemIcon.tsx","../src/components/Item/ItemLink.tsx","../src/components/Item/ItemMedia.tsx","../src/components/Item/ItemMeta.tsx","../src/components/Item/ItemRow.tsx","../src/components/Item/ItemTitle.tsx","../src/components/Item/ItemSkeleton.tsx","../src/components/Menu/MenuOption.tsx","../src/components/Menu/MenuItem.tsx","../src/components/Popover/Popover.tsx","../src/components/Menu/MenuPortalContext.ts","../src/components/Menu/MenuPopover.tsx","../src/components/Menu/MenuSubmenu.tsx","../src/components/Menu/MenuSection.tsx","../src/components/Menu/MenuDropdown.tsx","../src/components/Menu/helpers/helpers.ts","../src/components/Menu/Menu.tsx","../src/components/Menu/stately/MenuItem.tsx","../src/components/Menu/stately/MenuSubmenuTrigger.tsx","../src/components/Menu/stately/MenuSection.tsx","../src/components/Message/Message.tsx","../src/components/Message/MessageBlock.tsx","../src/components/Message/MessageBody.tsx","../src/components/Message/MessageContainer.tsx","../src/components/Message/MessageContainerFixed.tsx","../src/components/Message/MessageDivider/MessageDivider.tsx","../src/components/Message/MessageEmojiBase.tsx","../src/components/Message/MessageEmoji.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreview.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewContent.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewDescription.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewFooter.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewCoverImage.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewImage.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewThumb.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewTitle.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewIcon.tsx","../src/components/Message/MessageHeader.tsx","../src/components/Message/MessageHighlight.tsx","../src/components/Message/MessageLeftContainer.tsx","../src/components/Message/MessageMetrics/MessageMetricsContentItem.tsx","../src/components/Message/MessageMetrics/MessageMetrics.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItem.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemAvatarRow.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemAvatarRowContent.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemIcon.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemLabel.tsx","../src/components/Message/MessageMetrics/MessageMetricsFollowing.tsx","../src/components/Message/MessageMetrics/MessageMetricsReply.tsx","../src/components/Message/MessageName.tsx","../src/components/Message/MessageNameContainer.tsx","../src/components/Message/MessageReactions/MessageReactions.tsx","../src/components/Message/MessageReactions/MessageReactionCounter.tsx","../src/components/Message/MessageReactions/MessageReactionEmoji.tsx","../src/components/Message/MessageReactions/MessageReaction.tsx","../src/components/Message/MessageReactions/MessageReactionAction.tsx","../src/components/Tag/Tag.tsx","../src/components/Message/MessageRole.tsx","../src/components/Message/MessageRoles.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusIndicator.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusIndicatorText.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusIndicatorItem.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusPrivateIndicator.tsx","../src/components/Message/MessageSystem/MessageSystem.tsx","../src/components/Message/MessageSystem/MessageSystemBlock.tsx","../src/components/Message/MessageSystem/MessageSystemBody.tsx","../src/components/Message/MessageSystem/MessageSystemContainer.tsx","../src/components/Message/MessageSystem/MessageSystemName.tsx","../src/components/Message/MessageSystem/MessageSystemTimestamp.tsx","../src/components/Message/MessageTimestamp.tsx","../src/components/Message/MessageToolbar/MessageToolbar.tsx","../src/components/Message/MessageToolbar/MessageToolbarItem.tsx","../src/components/Message/MessageToolbar/MessageToolbarWrapper.tsx","../src/components/Message/MessageUsername.tsx","../src/components/Message/ThreadMessage/ThreadMessage.tsx","../src/components/Message/ThreadMessage/ThreadMessageBody.tsx","../src/components/Message/ThreadMessage/ThreadMessageContainer.tsx","../src/components/Message/ThreadMessage/ThreadMessageEmoji.tsx","../src/components/Message/ThreadMessage/ThreadMessageIcon.tsx","../src/components/Message/ThreadMessage/ThreadMessageFollow.tsx","../src/components/Message/ThreadMessage/ThreadMessageIconThread.tsx","../src/components/Message/ThreadMessage/ThreadMessageOrigin.tsx","../src/components/Message/ThreadMessage/ThreadMessageRow.tsx","../src/components/Message/ThreadMessage/ThreadMessageUnfollow.tsx","../src/components/Message/ThreadMessage/ThreadMessageLeftContainer.tsx","../src/components/Modal/Modal.tsx","../src/components/Modal/ModalBackdrop.tsx","../src/components/Modal/ModalClose.tsx","../src/components/Modal/ModalContent.tsx","../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalFooterAnnotation.tsx","../src/components/Modal/ModalFooterControllers.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/Modal/ModalHeaderText.tsx","../src/components/Modal/ModalHeroImage.tsx","../src/components/Modal/ModalIcon.tsx","../src/components/Modal/ModalTagline.tsx","../src/components/Modal/ModalThumb.tsx","../src/components/Modal/ModalTitle.tsx","../src/components/Select/SelectAddon.tsx","../src/components/Select/SelectFocus.tsx","../src/components/MultiSelect/MultiSelectAnchor.tsx","../src/components/MultiSelect/SelectedOptions.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/MultiSelect/MultiSelectFilteredContext.ts","../src/components/MultiSelect/MultiSelectFilteredAnchor.tsx","../src/components/MultiSelect/MultiSelectFiltered.tsx","../src/components/NavBar/NavBar.tsx","../src/components/NavBar/NavBarGroup.tsx","../src/components/NavBar/NavBarItem.tsx","../src/components/NavBar/NavBarDivider.tsx","../src/components/NavBar/NavBarSection.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/OptionsPaginated/OptionsPaginated.tsx","../src/components/PaginatedSelect/PaginatedSelectWrapper.tsx","../src/components/PaginatedSelect/PaginatedSelect.tsx","../src/components/PaginatedSelect/PaginatedSelectFiltered.tsx","../src/components/PaginatedSelect/PaginatedMultiSelect.tsx","../src/components/PaginatedSelect/PaginatedMultiSelectFiltered.tsx","../src/components/Pagination/Pagination.tsx","../src/components/PaletteStyleTag/helpers/convertToCss.ts","../src/components/PaletteStyleTag/hooks/useCreateStyleContainer.ts","../src/components/PaletteStyleTag/helpers/getPalette.ts","../src/components/PaletteStyleTag/lib/themePalettes.ts","../src/components/PaletteStyleTag/PaletteStyleTag.tsx","../src/components/PasswordInput/PasswordInput.tsx","../src/components/ProgressBar/ProgressBar.tsx","../src/components/RadioButton/RadioButton.tsx","../src/components/SearchInput/SearchInput.tsx","../src/components/Select/SelectLegacy.tsx","../src/components/Select/Listbox.tsx","../src/components/Select/SelectTrigger.tsx","../src/components/Select/SelectAria.tsx","../src/components/Select/Select.tsx","../src/components/Select/SelectFilteredContext.ts","../src/components/Select/SelectFilteredAnchor.tsx","../src/components/Select/SelectFiltered.tsx","../src/components/Sidebar/Sidebar.tsx","../src/components/Sidebar/SidebarAccordion.tsx","../src/components/Sidebar/hooks/useCollapse.tsx","../src/components/Sidebar/SidebarAccordionItem.tsx","../src/components/Sidebar/SidebarAction.tsx","../src/components/Sidebar/SidebarActions.tsx","../src/components/Sidebar/SidebarLink.tsx","../src/components/Sidebar/SidebarItem/SidebarItem.tsx","../src/components/Sidebar/SidebarItem/SidebarItemAction.tsx","../src/components/Sidebar/SidebarItem/SidebarItemAvatarWrapper.tsx","../src/components/Sidebar/SidebarItem/SidebarItemBadge.tsx","../src/components/Sidebar/SidebarItem/SidebarItemIcon.tsx","../src/components/Sidebar/SidebarItem/SidebarItemMenu.tsx","../src/components/Sidebar/SidebarItem/SidebarItemTitle.tsx","../src/components/Sidebar/SidebarItem/SidebarItemRow.tsx","../src/components/Sidebar/SidebarItem/SidebarItemCol.tsx","../src/components/Sidebar/SidebarItem/SidebarItemTimestamp.tsx","../src/components/Sidebar/SidebarItem/SidebarListItem.tsx","../src/components/Sidebar/SidebarItem/SidebarItemContent.tsx","../src/components/StatusBullet/icons/Away.tsx","../src/components/StatusBullet/icons/Busy.tsx","../src/components/StatusBullet/icons/Disabled.tsx","../src/components/StatusBullet/icons/Loading.tsx","../src/components/StatusBullet/icons/Offline.tsx","../src/components/StatusBullet/icons/Online.tsx","../src/components/StatusBullet/StatusBullet.tsx","../src/components/Sidebar/SidebarItem/SidebarItemStatusBullet.tsx","../src/components/Sidebar/SidebarGroupTitle.tsx","../src/components/Sidebar/SidebarCollapseGroup.tsx","../src/components/Sidebar/SidebarCollapseGroupMenu.tsx","../src/components/Sidebar/SidebarBanner.tsx","../src/components/Sidebar/SidebarFooter/SidebarFooter.tsx","../src/components/Sidebar/SidebarFooter/SidebarFooterContent.tsx","../src/components/Sidebar/SidebarMedia/SidebarMedia.tsx","../src/components/Sidebar/SidebarButtonGroup.tsx","../src/components/Sidebar/SidebarMedia/SidebarMediaController.tsx","../src/components/Sidebar/SidebarMedia/SidebarMediaTitle.tsx","../src/components/Sidebar/SidebarDivider.tsx","../src/components/Sidebar/SidebarSection.tsx","../src/components/Sidepanel/Sidepanel.tsx","../src/components/Sidepanel/SidepanelSection.tsx","../src/components/Sidepanel/SidepanelSectionAction.tsx","../src/components/Sidepanel/SidepanelHeaderTitle.tsx","../src/components/Sidepanel/SidepanelDivider.tsx","../src/components/Sidepanel/SidepanelHeader.tsx","../src/components/Sidepanel/SidepanelList.tsx","../src/components/Sidepanel/SidepanelListItem.tsx","../src/components/SplitButton/SplitButton.tsx","../src/components/SplitButton/SplitButtonTrigger.tsx","../src/components/Table/Table.tsx","../src/components/Table/TableBody.tsx","../src/components/Table/TableHead.tsx","../src/components/Table/TableCell.tsx","../src/components/Table/TableFoot.tsx","../src/components/Table/TableRow.tsx","../src/components/Table/TableSelection/TableSelection.tsx","../src/components/Table/TableSelection/TableSelectionButton.tsx","../src/components/Table/TableSelection/TableSelectionButtonGroup.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabsItem.tsx","../src/components/TextAreaInput/TextAreaInput.tsx","../src/components/TextInput/TextInput.tsx","../src/components/Throbber/Throbber.tsx","../src/components/ToastBar/ToastBar.tsx","../src/components/ToggleSwitch/ToggleSwitch.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/UrlInput/UrlInput.tsx"],"sourcesContent":["/**\n * Utility function to check exhaustiveness of a switch statement or if-else statements.\n *\n * In TypeScript, variables going through a sequence of conditionals, like cases in switch statements or if-else\n * statements, the variable type is incrementally narrowed as the conditionals are evaluated until it reaches the\n * `never` type, meaning all possible cases have been covered. This function is used to check, at compilation time, that\n * all possible cases have been covered (i.e. if the conditional checks were exhaustive) and should only be called in\n * unreachable blocks of code.\n *\n * @example\n * ```ts\n * declare const value: 'foo' | 'bar';\n * switch (value) {\n * case 'foo':\n * // ...\n * break;\n * case 'bar':\n * // ...\n * break;\n * default: // should be unreachable\n * exhaustiveCheck(value); // `value` type should be `never`, otherwise the compilation fails\n * }\n * ```\n *\n * @param _ the value which type should be `never`\n * @throws {Error} will always throw an error if it's reached\n */\nexport const exhaustiveCheck = (_: never): never => {\n throw new Error('Exhaustive check failed');\n};\n","import type { Falsy } from '../types/Falsy';\n\nimport { exhaustiveCheck } from './exhaustiveCheck';\n\nconst withPrefix = (prefix?: string) => (modifier: string) =>\n prefix ? `${prefix}--${modifier}` : modifier;\n\nexport const composeClassNames =\n (prefix?: string) =>\n (...args: unknown[]) => {\n const addPrefix = withPrefix(prefix);\n\n const classNames = args\n .map((arg) => {\n if (typeof arg === 'string') {\n return arg;\n }\n\n if (typeof arg === 'object' && Array.isArray(arg)) {\n return arg.filter(Boolean).map(addPrefix).join(' ');\n }\n\n if (typeof arg === 'object' && arg !== null) {\n return Object.entries(arg)\n .map(([key, value]) => {\n if (typeof value === 'boolean') {\n if (value) {\n return addPrefix(key);\n }\n\n return null;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n return addPrefix(`${key}-${value}`);\n }\n\n return null;\n })\n .filter(Boolean)\n .join(' ');\n }\n\n return null;\n })\n .concat()\n .filter(Boolean)\n .join(' ');\n\n return [prefix, classNames].filter(Boolean).join(' ');\n };\n\ntype CxArg =\n | Falsy\n | string\n | { [className: string]: boolean | string | number };\n\n/**\n * Composes class names into a single string based on flags.\n *\n * Any falsy value passed as an argument will be ignored.\n *\n * If a string is passed, it will be used as a class name.\n *\n * If a dictionary object is passed, its keys will be used as class names and its values will be used as modifiers --\n * unless the value is a boolean, in which case the key will be used as a class name if the value is `true`.\n *\n * @example\n * ```ts\n * cx('a', false, 'b', null, { c: true, d: false, e: 'f', f: 1 }); // 'a b c e-f f-1'\n * ```\n *\n * @param args a sequence of falsy values, strings and dictionary objects containing the class names\n * @returns a space-separated string of class names\n */\nexport const cx = (...args: CxArg[]): string =>\n args\n .flatMap((arg) => {\n if (!arg) {\n return [];\n }\n\n if (typeof arg === 'string') {\n return arg;\n }\n\n if (typeof arg === 'object') {\n return Object.entries(arg).flatMap(([className, value]) => {\n if (typeof value === 'boolean') {\n return value ? className : [];\n }\n\n return `${className}-${value}`;\n });\n }\n\n return exhaustiveCheck(arg);\n })\n .join(' ');\n\n/**\n * Composes class name modifiers under a class name into a single class names' string based on flags.\n *\n * This function returns a function similar to `cx`, with the difference it handles the arguments as class name\n * modifiers (based on BEM CSS conventions). However, it's recommended to use `cxx` as a curried function.\n *\n * @example\n * ```ts\n * cxx('z')('a', false, 'b', null, { c: true, d: false, e: 'f', f: 1 }); // 'z z--a z--b z--c z--e-f z--f-1'\n * ```\n * @param className the class name\n * @param args a sequence of falsy values, strings and dictionary objects containing the modifiers\n * @returns a space-separated string of class names\n */\nexport const cxx =\n (className: string) =>\n (...args: CxArg[]): string => {\n const classNames = args.flatMap((arg) => {\n if (!arg) {\n return [];\n }\n\n if (typeof arg === 'string') {\n return `${className}--${arg}`;\n }\n\n if (typeof arg === 'object') {\n return Object.entries(arg).flatMap(([modifier, value]) => {\n if (typeof value === 'boolean') {\n return value ? `${className}--${modifier}` : [];\n }\n\n return `${className}--${modifier}-${value}`;\n });\n }\n\n return exhaustiveCheck(arg);\n });\n\n classNames.unshift(className);\n\n return classNames.join(' ');\n };\n","type R<T> = T extends void ? string : T extends string ? string : string[];\n\nexport const appendClassName = <T extends string | string[] | undefined>(\n currentClassName: T,\n newClassName: string,\n): R<T> => {\n if (currentClassName === undefined || currentClassName === '') {\n return newClassName as R<T>;\n }\n\n if (Array.isArray(currentClassName)) {\n return [...currentClassName, newClassName] as R<T>;\n }\n\n return `${currentClassName} ${newClassName}` as R<T>;\n};\n","import { createContext, useContext } from 'react';\n\nexport const OwnerDocument = createContext<{\n document: Document;\n}>({ document: window.document });\n\nexport const useOwnerDocument = () => {\n return useContext(OwnerDocument);\n};\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport {\n createClassName,\n escapeName,\n transpile,\n attachRules,\n} from '@rocket.chat/css-in-js';\nimport { useDebugValue, useInsertionEffect, useMemo } from 'react';\n\nimport { useOwnerDocument } from '../contexts';\n\nexport const useStyle = (cssFn: cssFn | undefined, arg: unknown) => {\n const content = useMemo(() => (cssFn ? cssFn(arg) : undefined), [arg, cssFn]);\n\n const className = useMemo(() => {\n if (!content) {\n return;\n }\n\n return content ? createClassName(content) : undefined;\n }, [content]);\n\n useDebugValue(className);\n\n const { document } = useOwnerDocument();\n\n useInsertionEffect(() => {\n if (!content || !className) {\n return;\n }\n\n const escapedClassName = escapeName(className);\n const transpiledContent = transpile(`.${escapedClassName}`, content);\n const detach = attachRules(transpiledContent, { document });\n\n return () => {\n setTimeout(detach, 1000);\n };\n }, [className, content, document]);\n\n return className;\n};\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport { css } from '@rocket.chat/css-in-js';\n\nimport { appendClassName } from '../helpers/appendClassName';\nimport type { Falsy } from '../types/Falsy';\n\nimport { useStyle } from './useStyle';\n\nexport const useArrayLikeClassNameProp = <\n T extends {\n className?: string | cssFn | (string | cssFn | Falsy)[];\n },\n>(\n props: T,\n): T & { className: string } => {\n const classNames = props.className\n ? ([] as (string | cssFn | Falsy)[]).concat(props.className)\n : [];\n\n const cssFns = classNames.filter(\n (value): value is cssFn => typeof value === 'function',\n );\n const stylesClassName = useStyle(\n css`\n ${cssFns}\n `,\n props,\n );\n\n const strings = classNames.filter(\n (value): value is string => typeof value === 'string',\n );\n\n const className = strings.reduce(\n (className, string) => appendClassName(className, string),\n stylesClassName || '',\n );\n\n return Object.assign(props, { className });\n};\n","const isStringArray = (\n value: string | string[] | undefined,\n): value is string[] => Array.isArray(value);\n\nexport const prependClassName: {\n (currentClassName: string[] | undefined, newClassName: string): string[];\n (currentClassName: string | undefined, newClassName: string): string;\n} = (\n currentClassName: string | string[] | undefined,\n newClassName: string,\n): any => {\n if (isStringArray(currentClassName)) {\n return [newClassName, ...currentClassName];\n }\n\n if (currentClassName) {\n return `${newClassName} ${currentClassName}`;\n }\n\n return newClassName;\n};\n","import type { AllHTMLAttributes } from 'react';\n\nimport { prependClassName } from '../helpers/prependClassName';\n\nexport const useBoxOnlyProps = <\n T extends {\n className: string;\n },\n>(\n props: T & {\n animated?: boolean;\n withRichContent?: boolean | 'inlineWithoutBreaks';\n htmlSize?: AllHTMLAttributes<HTMLElement>['size'];\n size?: AllHTMLAttributes<HTMLElement>['size'];\n focusable?: boolean;\n },\n): T => {\n Object.entries(props).forEach(([key, value]) => {\n if (key.slice(0, 4) === 'rcx-') {\n try {\n if (!value) {\n return;\n }\n\n const newClassName = value === true ? key : `${key}-${value}`;\n props.className = prependClassName(props.className, newClassName);\n } finally {\n delete (props as Record<string, unknown>)[key];\n }\n }\n });\n\n if (props.animated) {\n props.className = prependClassName(props.className, 'rcx-box--animated');\n delete props.animated;\n }\n\n if (props.withRichContent) {\n if (props.withRichContent === 'inlineWithoutBreaks') {\n props.className = prependClassName(\n props.className,\n 'rcx-box--with-inline-elements',\n );\n } else {\n props.className = prependClassName(\n props.className,\n 'rcx-box--with-inline-elements',\n );\n\n props.className = prependClassName(\n props.className,\n 'rcx-box--with-block-elements',\n );\n }\n }\n\n if (props.htmlSize) {\n props.size = props.htmlSize;\n delete props.htmlSize;\n }\n\n if (props.focusable) {\n props.className = prependClassName(props.className, 'rcx-box--focusable');\n delete props.focusable;\n }\n\n delete props.withRichContent;\n\n props.className = prependClassName(props.className, 'rcx-box rcx-box--full');\n\n return props;\n};\n","import { createContext, useContext, useMemo } from 'react';\n\nexport const BoxTransforms = createContext<null | ((props: any) => any)>(null);\n\nexport const useBoxTransform = () => useContext(BoxTransforms);\n\nexport const useComposedBoxTransform = (fn: (props: any) => any) => {\n const parentFn = useContext(BoxTransforms);\n\n return useMemo(() => {\n if (!parentFn) {\n return fn;\n }\n\n if (!fn) {\n return parentFn;\n }\n\n return (props: any) => fn(parentFn(props));\n }, [fn, parentFn]);\n};\n","type cssToValueType = <T extends string | { toString: () => string }>(\n label: string,\n value: T,\n) => string;\nexport const toCSSValue: cssToValueType = (label, value) =>\n `var(${label}, ${value})`;\n\nexport const toCSSFontValue = ((label: string, value: string) =>\n toCSSValue(`--rcx-font-family-${label}`, value)) as cssToValueType;\nexport const toCSSColorValue = ((label: string, value: string) =>\n toCSSValue(`--rcx-color-${label}`, value)) as cssToValueType;\n","import badge from '@rocket.chat/fuselage-tokens/dist/badge.json';\nimport colors from '@rocket.chat/fuselage-tokens/dist/colors.json';\nimport font from '@rocket.chat/fuselage-tokens/dist/font.json';\nimport shadow from '@rocket.chat/fuselage-tokens/dist/shadow.json';\nimport status from '@rocket.chat/fuselage-tokens/dist/status.json';\nimport stroke from '@rocket.chat/fuselage-tokens/dist/stroke.json';\nimport surface from '@rocket.chat/fuselage-tokens/dist/surface.json';\n\nimport { toCSSColorValue } from './helpers/toCSSValue';\n\nexport class Var {\n private name: string;\n\n private value: string;\n\n constructor(name: string, value: string) {\n this.name = name;\n this.value = value;\n }\n\n toString() {\n return toCSSColorValue(this.name, this.value);\n }\n\n theme(name: string) {\n return new Var(name, this.toString());\n }\n}\n\nexport let throwErrorOnInvalidToken = false;\nexport const __setThrowErrorOnInvalidToken__ = (value: boolean) => {\n throwErrorOnInvalidToken = value;\n};\n\nexport const neutral = {\n 100: new Var('neutral-100', colors.n100),\n 200: new Var('neutral-200', colors.n200),\n 250: new Var('neutral-250', colors.n250),\n 300: new Var('neutral-300', colors.n300),\n 400: new Var('neutral-400', colors.n400),\n 450: new Var('neutral-450', colors.n450),\n 500: new Var('neutral-500', colors.n500),\n 600: new Var('neutral-600', colors.n600),\n 700: new Var('neutral-700', colors.n700),\n 800: new Var('neutral-800', colors.n800),\n 900: new Var('neutral-900', colors.n900),\n};\n\nconst surfaceTokens = surface.light;\n\nexport const surfaceColors = {\n 'surface-light': new Var('surface-light', surfaceTokens.light),\n 'surface-tint': new Var('surface-tint', surfaceTokens.tint),\n 'surface-room': new Var('surface-room', surfaceTokens.room),\n 'surface-neutral': new Var('surface-neutral', surfaceTokens.neutral),\n 'surface-disabled': new Var('surface-disabled', surfaceTokens.disabled),\n 'surface-hover': new Var('surface-hover', surfaceTokens.hover),\n 'surface-selected': new Var('surface-selected', surfaceTokens.selected),\n 'surface-dark': new Var('surface-dark', surfaceTokens.dark),\n 'surface-featured': new Var('surface-featured', surfaceTokens.featured),\n 'surface-featured-hover': new Var(\n 'surface-featured-hover',\n surfaceTokens.featuredHover,\n ),\n 'surface-overlay': new Var('surface-overlay', surfaceTokens.overlay),\n 'surface-transparent': 'transparent',\n 'surface-sidebar': new Var('surface-sidebar', surfaceTokens.sidebar),\n};\n\ntype SurfaceColors = keyof typeof surfaceColors;\n\nconst strokeTokens = stroke.light;\n\nexport const strokeColors = {\n 'stroke-extra-light': new Var('stroke-extra-light', strokeTokens.extraLight),\n 'stroke-light': new Var('stroke-light', strokeTokens.light),\n 'stroke-medium': new Var('stroke-medium', strokeTokens.medium),\n 'stroke-dark': new Var('stroke-dark', strokeTokens.dark),\n 'stroke-extra-dark': new Var('stroke-extra-dark', strokeTokens.extraDark),\n 'stroke-extra-light-highlight': new Var(\n 'stroke-extra-light-highlight',\n strokeTokens.extraLightHighlight,\n ),\n 'stroke-highlight': new Var('stroke-highlight', strokeTokens.highlight),\n 'stroke-extra-light-error': new Var(\n 'stroke-extra-light-error',\n strokeTokens.extraLightError,\n ),\n 'stroke-error': new Var('stroke-error', strokeTokens.error),\n};\n\ntype StrokeColor = keyof typeof strokeColors;\n\nconst fontTokens = font.light;\n\nexport const textIconColors = {\n 'font-white': new Var('font-white', fontTokens.white),\n 'font-disabled': new Var('font-disabled', fontTokens.disabled),\n 'font-annotation': new Var('font-annotation', fontTokens.annotation),\n 'font-hint': new Var('font-hint', fontTokens.hint),\n 'font-secondary-info': new Var(\n 'font-secondary-info',\n fontTokens.secondaryInfo,\n ),\n 'font-default': new Var('font-default', fontTokens.default),\n 'font-titles-labels': new Var('font-titles-labels', fontTokens.titlesLabels),\n 'font-info': new Var('font-info', fontTokens.info),\n 'font-danger': new Var('font-danger', fontTokens.danger),\n 'font-pure-black': new Var('font-pure-black', fontTokens.pureBlack),\n 'font-pure-white': new Var('font-pure-white', fontTokens.pureWhite),\n};\n\ntype TextIconColors = keyof typeof textIconColors;\n\nconst statusTokens = status.light;\n\nexport const statusBackgroundColors = {\n 'status-background-info': new Var(\n 'status-background-info',\n statusTokens.info,\n ),\n 'status-background-success': new Var(\n 'status-background-success',\n statusTokens.success,\n ),\n 'status-background-danger': new Var(\n 'status-background-danger',\n statusTokens.danger,\n ),\n 'status-background-warning': new Var(\n 'status-background-warning',\n statusTokens.warning,\n ),\n 'status-background-warning-2': new Var(\n 'status-background-warning-2',\n statusTokens['warning-2'],\n ),\n 'status-background-service-1': new Var(\n 'status-background-service-1',\n statusTokens['service-1'],\n ),\n 'status-background-service-2': new Var(\n 'status-background-service-2',\n statusTokens['service-2'],\n ),\n};\n\ntype StatusBackgroundColors = keyof typeof statusBackgroundColors;\n\nexport const statusColors = {\n 'status-font-on-info': new Var(\n 'status-font-on-info',\n statusTokens['font-on-info'],\n ),\n 'status-font-on-success': new Var(\n 'status-font-on-success',\n statusTokens['font-on-success'],\n ),\n 'status-font-on-warning': new Var(\n 'status-font-on-warning',\n statusTokens['font-on-warning'],\n ),\n 'status-font-on-warning-2': new Var(\n 'status-font-on-warning-2',\n statusTokens['font-on-warning-2'],\n ),\n 'status-font-on-danger': new Var(\n 'status-font-on-danger',\n statusTokens['font-on-danger'],\n ),\n 'status-font-on-service-1': new Var(\n 'status-font-on-service-1',\n statusTokens['font-on-service-1'],\n ),\n 'status-font-on-service-2': new Var(\n 'status-font-on-service-2',\n statusTokens['font-on-service-2'],\n ),\n};\n\ntype StatusColors = keyof typeof statusColors;\n\nconst badgeTokens = badge.light;\n\nexport const badgeBackgroundColors = {\n 'badge-background-level-0': new Var(\n 'badge-background-level-0',\n badgeTokens['level-0'],\n ),\n 'badge-background-level-1': new Var(\n 'badge-background-level-1',\n badgeTokens['level-1'],\n ),\n 'badge-background-level-2': new Var(\n 'badge-background-level-2',\n badgeTokens['level-2'],\n ),\n 'badge-background-level-3': new Var(\n 'badge-background-level-3',\n badgeTokens['level-3'],\n ),\n 'badge-background-level-4': new Var(\n 'badge-background-level-4',\n badgeTokens['level-4'],\n ),\n};\n\ntype BadgeBackgroundColors = keyof typeof badgeBackgroundColors;\n\nconst shadowTokens = shadow.light;\n\nexport const shadowColors = {\n 'shadow-elevation-border': new Var(\n 'shadow-elevation-border',\n shadowTokens['elevation-border'],\n ),\n 'shadow-elevation-1': new Var(\n 'shadow-elevation-1',\n shadowTokens['elevation-1'],\n ),\n 'shadow-elevation-2x': new Var(\n 'shadow-elevation-2x',\n shadowTokens['elevation-2x'],\n ),\n 'shadow-elevation-2y': new Var(\n 'shadow-elevation-2y',\n shadowTokens['elevation-2y'],\n ),\n 'shadow-highlight': new Var('shadow-highlight', shadowTokens.highlight),\n 'shadow-danger': new Var('shadow-danger', shadowTokens.danger),\n};\n\ntype ShadowColors = keyof typeof shadowColors;\n\nexport const isSurfaceColor = (color: unknown): color is SurfaceColors =>\n typeof color === 'string' && color in surfaceColors;\n\nexport const isStrokeColor = (color: unknown): color is StrokeColor =>\n typeof color === 'string' && color in strokeColors;\n\nexport const isTextIconColor = (color: unknown): color is TextIconColors =>\n typeof color === 'string' && color in textIconColors;\n\nexport const isBadgeColor = (color: unknown): color is BadgeBackgroundColors =>\n typeof color === 'string' && color in badgeBackgroundColors;\n\nexport const isStatusBackgroundColor = (\n color: unknown,\n): color is StatusBackgroundColors =>\n typeof color === 'string' && color in statusBackgroundColors;\n\nexport const isStatusColor = (color: unknown): color is StatusColors =>\n typeof color === 'string' && color in statusColors;\n\nexport const isShadowColor = (color: unknown): color is ShadowColors =>\n typeof color === 'string' && color in shadowColors;\n\nexport const Palette = {\n surface: surfaceColors,\n status: statusBackgroundColors,\n statusColor: statusColors,\n badge: badgeBackgroundColors,\n text: textIconColors,\n stroke: strokeColors,\n shadow: shadowColors,\n};\n","export const fromCamelToKebab = (string: string) =>\n string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n","import tokenColors from '@rocket.chat/fuselage-tokens/dist/colors.json';\nimport invariant from 'invariant';\n\nconst isPaletteColorRef = (ref: unknown): ref is keyof typeof tokenColors =>\n typeof ref === 'string' && ref in tokenColors;\n\nconst mapTypeToPrefix = {\n neutral: 'n',\n blue: 'b',\n green: 'g',\n yellow: 'y',\n red: 'r',\n orange: 'o',\n purple: 'p',\n} as const;\n\nexport const getPaletteColor = (\n type: keyof typeof mapTypeToPrefix,\n grade: 100 | 200 | 250 | 300 | 400 | 450 | 500 | 600 | 700 | 800 | 900 | 1000,\n alpha?: number,\n): [customPropertyName: string, value: string] => {\n const ref = `${mapTypeToPrefix[type]}${grade}`;\n invariant(isPaletteColorRef(ref), 'invalid color reference');\n\n const baseColor = tokenColors[ref];\n\n const matches = /^#([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/.exec(\n baseColor,\n );\n\n invariant(!!matches, 'invalid color token format');\n\n if (alpha !== undefined) {\n const [, r, g, b] = matches;\n return [\n `--rcx-color-${type}-${grade}-${(alpha * 100).toFixed(0)}`,\n `rgba(${parseInt(r, 16)}, ${parseInt(g, 16)}, ${parseInt(b, 16)}, ${\n alpha * 100\n }%)`,\n ];\n }\n\n return [`--rcx-color-${type}-${grade}`, baseColor];\n};\n","import tokenBorder from '@rocket.chat/fuselage-tokens/dist/border.json';\nimport tokenTypography from '@rocket.chat/fuselage-tokens/dist/typography.json';\nimport { memoize } from '@rocket.chat/memo';\nimport invariant from 'invariant';\n\nimport {\n isStatusBackgroundColor,\n isStatusColor,\n isStrokeColor,\n isSurfaceColor,\n isTextIconColor,\n neutral,\n statusBackgroundColors,\n strokeColors,\n surfaceColors,\n textIconColors,\n statusColors,\n throwErrorOnInvalidToken,\n isBadgeColor,\n badgeBackgroundColors,\n} from './Theme';\nimport { getPaletteColor } from './getPaletteColor';\nimport {\n toCSSColorValue,\n toCSSFontValue,\n toCSSValue,\n} from './helpers/toCSSValue';\n\nexport type BorderWidth = keyof typeof tokenBorder.width;\nexport type BorderRadius = keyof typeof tokenBorder.radius;\n\nconst measure = (\n computeSpecialValue?: (value: string) => null | undefined | string,\n) =>\n memoize((value) => {\n if (typeof value === 'number') {\n return `${value}px`;\n }\n\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const xRegExp = /^(neg-|-)?x(\\d+)$/;\n const matches = xRegExp.exec(value);\n if (matches) {\n const [, negativeMark, measureInPixelsAsString] = matches;\n const measureInPixels =\n (negativeMark ? -1 : 1) * parseInt(measureInPixelsAsString, 10);\n return `${measureInPixels / 16}rem`;\n }\n\n if (computeSpecialValue) {\n return computeSpecialValue(value) || value;\n }\n\n return value;\n });\n\nexport const borderWidth = (value: unknown) => {\n if (typeof value === 'string' && value in tokenBorder.width) {\n return `${tokenBorder.width[value as keyof typeof tokenBorder.width]}px`;\n }\n\n return undefined;\n};\n\nexport const borderRadius = (value: unknown) => {\n if (typeof value === 'string' && value in tokenBorder.radius) {\n return `${tokenBorder.radius[value as keyof typeof tokenBorder.radius] / 16}rem`;\n }\n\n return undefined;\n};\n\nconst mapTypeToPrefix = {\n neutral: 'n',\n blue: 'b',\n green: 'g',\n yellow: 'y',\n red: 'r',\n orange: 'o',\n purple: 'p',\n} as const;\n\nconst isPaletteColorType = (\n type: unknown,\n): type is keyof typeof mapTypeToPrefix =>\n typeof type === 'string' && type in mapTypeToPrefix;\n\nconst isPaletteColorGrade = (\n grade: unknown,\n): grade is 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 =>\n typeof grade === 'number' &&\n grade % 100 === 0 &&\n grade / 100 >= 1 &&\n grade / 100 <= 9;\n\nconst isPaletteColorAlpha = (alpha: unknown): alpha is number | undefined =>\n alpha === undefined ||\n (typeof alpha === 'number' && alpha >= 0 && alpha <= 1);\n\nconst paletteColorRegex =\n /^(neutral|blue|green|yellow|red|orange|purple)-(\\d+)(-(\\d+))?$/;\n\nexport const strokeColor = memoize((value) => {\n const colorName = `stroke-${value}`;\n if (isStrokeColor(colorName)) {\n return strokeColors[colorName].toString();\n }\n return color(value);\n});\n\nexport const backgroundColor = memoize((value) => {\n const colorName = `surface-${value}`;\n\n if (isSurfaceColor(value)) {\n return surfaceColors[value].toString();\n }\n\n if (isSurfaceColor(colorName)) {\n return surfaceColors[colorName].toString();\n }\n\n if (isStatusBackgroundColor(value)) {\n return statusBackgroundColors[value].toString();\n }\n\n if (isStatusColor(value)) {\n if (\n process.env['NODE_ENV'] !== 'production' &&\n process.env['NODE_ENV'] !== 'test'\n ) {\n console.warn(`${value} shouldn't be used as a backgroundColor.`);\n }\n return statusColors[value].toString();\n }\n\n if (isBadgeColor(value)) {\n return badgeBackgroundColors[value].toString();\n }\n\n return color(value);\n});\n\nexport const fontColor = memoize((value) => {\n const colorName = `font-${value}`;\n if (isTextIconColor(colorName)) {\n return textIconColors[colorName].toString();\n }\n if (isStatusColor(value)) {\n return statusColors[value].toString();\n }\n return color(value);\n});\n\n/** @deprecated **/\nexport const color = memoize((value) => {\n if (typeof value !== 'string') {\n return;\n }\n if (\n process.env['NODE_ENV'] !== 'production' &&\n process.env['NODE_ENV'] !== 'test'\n ) {\n console.warn(`invalid color: ${value}`, new Error().stack);\n }\n if (throwErrorOnInvalidToken) {\n throw new Error(\n `The color token \"${value}\" is deprecated. Please use the new color tokens instead.`,\n );\n }\n\n if (isSurfaceColor(value)) {\n return surfaceColors[value].toString();\n }\n\n if (isStatusBackgroundColor(value)) {\n return statusBackgroundColors[value].toString();\n }\n\n if (isStrokeColor(value)) {\n return strokeColors[value].toString();\n }\n if (isTextIconColor(value)) {\n return textIconColors[value].toString();\n }\n\n if (value === 'surface' || value === 'surface-light') {\n return surfaceColors['surface-light'].toString();\n }\n\n if (value === 'surface-tint') {\n return toCSSColorValue(value, neutral[100]);\n }\n\n if (value === 'secondary-info') {\n return toCSSColorValue(value, neutral[700]);\n }\n\n if (value === 'surface-neutral') {\n return toCSSColorValue(value, neutral[400]);\n }\n\n const paletteMatches = paletteColorRegex.exec(String(value));\n if (\n typeof paletteMatches?.length === 'number' &&\n paletteMatches?.length >= 5\n ) {\n const [, type, gradeString, , alphaString] = paletteMatches;\n const grade = parseInt(gradeString, 10);\n const alpha =\n alphaString !== undefined ? parseInt(alphaString, 10) / 100 : undefined;\n\n invariant(isPaletteColorType(type), 'invalid color type');\n invariant(isPaletteColorGrade(grade), 'invalid color grade');\n invariant(isPaletteColorAlpha(alpha), 'invalid color alpha');\n\n const [customProperty, color] = getPaletteColor(type, grade, alpha);\n\n if (customProperty) {\n return toCSSValue(customProperty, color);\n }\n\n return color;\n }\n return value;\n});\n\nexport const size = measure((value: unknown) => {\n if (value === 'none') {\n return '0px';\n }\n\n if (value === 'full') {\n return '100%';\n }\n\n if (value === 'sw') {\n return '100vw';\n }\n\n if (value === 'sh') {\n return '100vh';\n }\n\n return undefined;\n});\n\nexport const spacing = measure((value: unknown) => {\n if (value === 'none') {\n return '0px';\n }\n\n return undefined;\n});\n\ntype FontFamily = keyof typeof tokenTypography.fontFamily;\n\nconst isFontFamily = (value: unknown): value is FontFamily =>\n typeof value === 'string' && value in tokenTypography.fontFamily;\n\nexport const fontFamily = memoize((value: unknown): string | undefined => {\n if (!isFontFamily(value)) {\n return undefined;\n }\n\n const fontFamily = tokenTypography.fontFamily[value]\n .map((fontFace) => (fontFace.includes(' ') ? `'${fontFace}'` : fontFace))\n .join(', ');\n\n return toCSSFontValue(value, fontFamily);\n});\n\ntype FontScale = keyof typeof tokenTypography.fontScale;\n\nconst isFontScale = (value: unknown): value is FontScale =>\n typeof value === 'string' && value in tokenTypography.fontScale;\n\nexport const fontScale = memoize(\n (\n value: unknown,\n ):\n | {\n fontSize: string;\n fontWeight: number;\n lineHeight: string;\n letterSpacing: string;\n }\n | undefined => {\n if (!isFontScale(value)) {\n return undefined;\n }\n\n const { fontSize, fontWeight, lineHeight, letterSpacing } =\n tokenTypography.fontScale[value];\n\n return {\n fontSize: `${fontSize / 16}rem`,\n fontWeight,\n lineHeight: `${lineHeight / 16}rem`,\n letterSpacing: `${letterSpacing / 16}rem`,\n };\n },\n);\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport { css } from '@rocket.chat/css-in-js';\nimport type { CSSProperties } from 'react';\n\nimport type { Var } from '../../Theme';\nimport { Palette } from '../../Theme';\nimport { fromCamelToKebab } from '../../helpers/fromCamelToKebab';\nimport type { BorderRadius, BorderWidth } from '../../styleTokens';\nimport {\n borderRadius,\n borderWidth,\n backgroundColor,\n fontColor,\n fontFamily,\n fontScale,\n spacing,\n size,\n strokeColor,\n} from '../../styleTokens';\n\nexport type FontScale =\n | 'hero'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'p1'\n | 'p1m'\n | 'p1b'\n | 'p2'\n | 'p2m'\n | 'p2b'\n | 'c1'\n | 'c2'\n | 'micro';\n\nexport type StylingProps = {\n border: CSSProperties['border'];\n borderBlock: CSSProperties['borderBlock'];\n borderBlockStart: CSSProperties['borderBlockStart'];\n borderBlockEnd: CSSProperties['borderBlockEnd'];\n borderInline: CSSProperties['borderInline'];\n borderInlineStart: CSSProperties['borderInlineStart'];\n borderInlineEnd: CSSProperties['borderInlineEnd'];\n borderWidth: BorderWidth;\n borderBlockWidth: BorderWidth;\n borderBlockStartWidth: BorderWidth;\n borderBlockEndWidth: BorderWidth;\n borderInlineWidth: BorderWidth;\n borderInlineStartWidth: BorderWidth;\n borderInlineEndWidth: BorderWidth;\n borderStyle: CSSProperties['borderStyle'];\n borderBlockStyle: CSSProperties['borderBlockStyle'];\n borderBlockStartStyle: CSSProperties['borderBlockStartStyle'];\n borderBlockEndStyle: CSSProperties['borderBlockEndStyle'];\n borderInlineStyle: CSSProperties['borderInlineStyle'];\n borderInlineStartStyle: CSSProperties['borderInlineStartStyle'];\n borderInlineEndStyle: CSSProperties['borderInlineEndStyle'];\n borderColor: CSSProperties['borderColor'];\n borderBlockColor: CSSProperties['borderBlockColor'];\n borderBlockStartColor: CSSProperties['borderBlockStartColor'];\n borderBlockEndColor: CSSProperties['borderBlockEndColor'];\n borderInlineColor: CSSProperties['borderInlineColor'];\n borderInlineStartColor: CSSProperties['borderInlineStartColor'];\n borderInlineEndColor: CSSProperties['borderInlineEndColor'];\n borderRadius: BorderRadius;\n borderStartStartRadius: BorderRadius;\n borderStartEndRadius: BorderRadius;\n borderEndStartRadius: BorderRadius;\n borderEndEndRadius: BorderRadius;\n\n color: CSSProperties['color'] | Var;\n backgroundColor: CSSProperties['backgroundColor'] | Var;\n opacity: CSSProperties['opacity'];\n\n alignItems: CSSProperties['alignItems'];\n alignContent: CSSProperties['alignContent'];\n justifyItems: CSSProperties['justifyItems'];\n justifyContent: CSSProperties['justifyContent'];\n flexWrap: CSSProperties['flexWrap'];\n flexDirection: CSSProperties['flexDirection'];\n flexGrow: CSSProperties['flexGrow'];\n flexShrink: CSSProperties['flexShrink'];\n flexBasis: CSSProperties['flexBasis'];\n justifySelf: CSSProperties['justifySelf'];\n alignSelf: CSSProperties['alignSelf'];\n order: CSSProperties['order'];\n gap: CSSProperties['gap'];\n rowGap: CSSProperties['rowGap'];\n columnGap: CSSProperties['columnGap'];\n\n width: CSSProperties['width'];\n minWidth: CSSProperties['minWidth'];\n maxWidth: CSSProperties['maxWidth'];\n height: CSSProperties['height'];\n minHeight: CSSProperties['minHeight'];\n maxHeight: CSSProperties['maxHeight'];\n display: CSSProperties['display'];\n verticalAlign: CSSProperties['verticalAlign'];\n overflow: CSSProperties['overflow'];\n overflowX: CSSProperties['overflowX'];\n overflowY: CSSProperties['overflowY'];\n objectFit: CSSProperties['objectFit'];\n\n position: CSSProperties['position'];\n zIndex: CSSProperties['zIndex'];\n inset: CSSProperties['inset'];\n insetBlock: CSSProperties['insetBlock'];\n insetBlockStart: CSSProperties['insetBlockStart'];\n insetBlockEnd: CSSProperties['insetBlockEnd'];\n insetInline: CSSProperties['insetInline'];\n insetInlineStart: CSSProperties['insetInlineStart'];\n insetInlineEnd: CSSProperties['insetInlineEnd'];\n\n margin: CSSProperties['margin'];\n marginBlock: CSSProperties['marginBlock'];\n marginBlockStart: CSSProperties['marginBlockStart'];\n marginBlockEnd: CSSProperties['marginBlockEnd'];\n marginInline: CSSProperties['marginInline'];\n marginInlineStart: CSSProperties['marginInlineStart'];\n marginInlineEnd: CSSProperties['marginInlineEnd'];\n padding: CSSProperties['padding'];\n paddingBlock: CSSProperties['paddingBlock'];\n paddingBlockStart: CSSProperties['paddingBlockStart'];\n paddingBlockEnd: CSSProperties['paddingBlockEnd'];\n paddingInline: CSSProperties['paddingInline'];\n paddingInlineStart: CSSProperties['paddingInlineStart'];\n paddingInlineEnd: CSSProperties['paddingInlineEnd'];\n\n fontFamily: CSSProperties['fontFamily'] | FontScale;\n fontSize: CSSProperties['fontSize'] | FontScale;\n fontStyle: CSSProperties['fontStyle'];\n fontWeight: CSSProperties['fontWeight'] | FontScale;\n letterSpacing: CSSProperties['letterSpacing'] | FontScale;\n lineHeight: CSSProperties['lineHeight'] | FontScale;\n textAlign: CSSProperties['textAlign'];\n textTransform: CSSProperties['textTransform'];\n textDecorationLine: CSSProperties['textDecorationLine'];\n wordBreak: CSSProperties['wordBreak'];\n\n elevation: '0' | '1' | '2' | '1nb' | '2nb';\n invisible: boolean;\n withTruncatedText: boolean;\n size: CSSProperties['blockSize'];\n minSize: CSSProperties['blockSize'];\n maxSize: CSSProperties['blockSize'];\n fontScale: FontScale;\n};\n\ntype PropDefinition =\n | {\n toCSSValue: (value: unknown) => string | undefined;\n }\n | {\n toStyle: (value: unknown) => cssFn | undefined;\n };\n\nconst stringProp: PropDefinition = {\n toCSSValue: (value) => (typeof value === 'string' ? value : undefined),\n};\n\nconst numberOrStringProp: PropDefinition = {\n toCSSValue: (value) => {\n if (typeof value === 'number' || typeof value === 'string') {\n return String(value);\n }\n\n return undefined;\n },\n};\n\nconst borderWidthProp: PropDefinition = {\n toCSSValue: borderWidth,\n};\n\nconst borderRadiusProp: PropDefinition = {\n toCSSValue: borderRadius,\n};\n\nconst backgroundColorProp: PropDefinition = {\n toCSSValue: backgroundColor,\n};\n\nconst fontColorProp: PropDefinition = {\n toCSSValue: fontColor,\n};\n\nconst strokeColorProp: PropDefinition = {\n toCSSValue: strokeColor,\n};\n\nconst sizeProp: PropDefinition = {\n toCSSValue: size,\n};\n\nconst insetProp: PropDefinition = {\n toCSSValue: spacing,\n};\n\nconst marginProp: PropDefinition = {\n toCSSValue: spacing,\n};\n\nconst paddingProp: PropDefinition = {\n toCSSValue: spacing,\n};\n\nconst gapProp: PropDefinition = {\n toCSSValue: spacing,\n};\n\nconst fontFamilyProp: PropDefinition = {\n toCSSValue: fontFamily,\n};\n\nconst fontSizeProp: PropDefinition = {\n toCSSValue: (value) => fontScale(value)?.fontSize || size(value),\n};\n\nconst fontWeightProp: PropDefinition = {\n toCSSValue: (value) =>\n value ? String(fontScale(value)?.fontWeight || value) : undefined,\n};\n\nconst lineHeightProp: PropDefinition = {\n toCSSValue: (value) => fontScale(value)?.lineHeight || size(value),\n};\n\nconst letterSpacingProp: PropDefinition = {\n toCSSValue: (value) =>\n value ? String(fontScale(value)?.letterSpacing || value) : undefined,\n};\n\nexport const propDefs: Record<keyof StylingProps, PropDefinition> = {\n border: stringProp,\n borderBlock: stringProp,\n borderBlockStart: stringProp,\n borderBlockEnd: stringProp,\n borderInline: stringProp,\n borderInlineStart: stringProp,\n borderInlineEnd: stringProp,\n borderWidth: borderWidthProp,\n borderBlockWidth: borderWidthProp,\n borderBlockStartWidth: borderWidthProp,\n borderBlockEndWidth: borderWidthProp,\n borderInlineWidth: borderWidthProp,\n borderInlineStartWidth: borderWidthProp,\n borderInlineEndWidth: borderWidthProp,\n borderStyle: stringProp,\n borderBlockStyle: stringProp,\n borderBlockStartStyle: stringProp,\n borderBlockEndStyle: stringProp,\n borderInlineStyle: stringProp,\n borderInlineStartStyle: stringProp,\n borderInlineEndStyle: stringProp,\n borderColor: strokeColorProp,\n borderBlockColor: strokeColorProp,\n borderBlockStartColor: strokeColorProp,\n borderBlockEndColor: strokeColorProp,\n borderInlineColor: strokeColorProp,\n borderInlineStartColor: strokeColorProp,\n borderInlineEndColor: strokeColorProp,\n borderRadius: borderRadiusProp,\n borderStartStartRadius: borderRadiusProp,\n borderStartEndRadius: borderRadiusProp,\n borderEndStartRadius: borderRadiusProp,\n borderEndEndRadius: borderRadiusProp,\n\n color: fontColorProp,\n backgroundColor: backgroundColorProp,\n opacity: numberOrStringProp,\n\n alignItems: stringProp,\n alignContent: stringProp,\n justifyItems: stringProp,\n justifyContent: stringProp,\n flexWrap: stringProp,\n flexDirection: stringProp,\n flexGrow: numberOrStringProp,\n flexShrink: numberOrStringProp,\n flexBasis: stringProp,\n justifySelf: stringProp,\n alignSelf: stringProp,\n order: numberOrStringProp,\n gap: gapProp,\n rowGap: gapProp,\n columnGap: gapProp,\n\n width: sizeProp,\n minWidth: sizeProp,\n maxWidth: sizeProp,\n height: sizeProp,\n minHeight: sizeProp,\n maxHeight: sizeProp,\n display: stringProp,\n verticalAlign: stringProp,\n overflow: stringProp,\n overflowX: stringProp,\n overflowY: stringProp,\n objectFit: stringProp,\n\n position: stringProp,\n zIndex: numberOrStringProp,\n inset: insetProp,\n insetBlock: insetProp,\n insetBlockStart: insetProp,\n insetBlockEnd: insetProp,\n insetInline: insetProp,\n insetInlineStart: insetProp,\n insetInlineEnd: insetProp,\n\n margin: marginProp,\n marginBlock: marginProp,\n marginBlockStart: marginProp,\n marginBlockEnd: marginProp,\n marginInline: marginProp,\n marginInlineStart: marginProp,\n marginInlineEnd: marginProp,\n padding: paddingProp,\n paddingBlock: paddingProp,\n paddingBlockStart: paddingProp,\n paddingBlockEnd: paddingProp,\n paddingInline: paddingProp,\n paddingInlineStart: paddingProp,\n paddingInlineEnd: paddingProp,\n\n fontFamily: fontFamilyProp,\n fontSize: fontSizeProp,\n fontStyle: stringProp,\n fontWeight: fontWeightProp,\n letterSpacing: letterSpacingProp,\n lineHeight: lineHeightProp,\n textAlign: stringProp,\n textTransform: stringProp,\n textDecorationLine: stringProp,\n wordBreak: stringProp,\n\n elevation: {\n toStyle: (value) => {\n if (value === '0') {\n return css`\n box-shadow: none;\n `;\n }\n\n if (value === '1') {\n return css`\n box-shadow: 0px 0px 12px 0px ${Palette.shadow['shadow-elevation-1']};\n border: 1px solid ${Palette.shadow['shadow-elevation-border']};\n `;\n }\n\n if (value === '1nb') {\n return css`\n box-shadow: 0px 0px 12px 0px ${Palette.shadow['shadow-elevation-1']};\n `;\n }\n\n if (value === '2') {\n return css`\n box-shadow:\n 0px 0px 2px 0px ${Palette.shadow['shadow-elevation-2x']},\n 0px 0px 12px 0px ${Palette.shadow['shadow-elevation-2y']};\n border: 1px solid ${Palette.shadow['shadow-elevation-border']};\n `;\n }\n\n if (value === '2nb') {\n return css`\n box-shadow:\n 0px 0px 2px 0px ${Palette.shadow['shadow-elevation-2x']},\n 0px 0px 12px 0px ${Palette.shadow['shadow-elevation-2y']};\n `;\n }\n\n return undefined;\n },\n },\n invisible: {\n toStyle: (value) =>\n value\n ? css`\n visibility: hidden;\n opacity: 0;\n `\n : undefined,\n },\n withTruncatedText: {\n toStyle: (value) =>\n value\n ? css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : undefined,\n },\n size: {\n toStyle: (value) =>\n size(value)\n ? css`\n width: ${size(value)} !important;\n height: ${size(value)} !important;\n `\n : undefined,\n },\n minSize: {\n toStyle: (value) =>\n size(value)\n ? css`\n min-width: ${size(value)} !important;\n min-height: ${size(value)} !important;\n `\n : undefined,\n },\n maxSize: {\n toStyle: (value) =>\n size(value)\n ? css`\n max-width: ${size(value)} !important;\n max-height: ${size(value)} !important;\n `\n : undefined,\n },\n fontScale: {\n toStyle: (value) => css`\n font-size: ${fontScale(value)?.fontSize} !important;\n font-weight: ${fontScale(value)?.fontWeight} !important;\n letter-spacing: ${fontScale(value)?.letterSpacing} !important;\n line-height: ${fontScale(value)?.lineHeight} !important;\n `,\n },\n};\n\nconst compiledPropDefs = new Map(\n (Object.entries(propDefs) as [keyof StylingProps, PropDefinition][]).map(\n ([propName, propDef]): [\n propName: string,\n inject: (\n value: unknown,\n stylingProps: Map<keyof StylingProps, cssFn>,\n ) => void,\n ] => {\n if ('toCSSValue' in propDef) {\n const cssProperty = fromCamelToKebab(propName);\n const { toCSSValue } = propDef;\n return [\n propName,\n (value, stylingProps) => {\n const cssValue = toCSSValue(value);\n\n if (cssValue === undefined) {\n return;\n }\n\n stylingProps.set(\n propName,\n css`\n ${cssProperty}: ${cssValue} !important;\n `,\n );\n },\n ];\n }\n\n const { toStyle } = propDef;\n\n return [\n propName,\n (value, stylingProps) => {\n const style = toStyle(value);\n\n if (style === undefined) {\n return;\n }\n\n stylingProps.set(propName, style);\n },\n ];\n },\n ),\n);\n\nexport const extractStylingProps = <TProps extends Record<string, unknown>>(\n props: TProps & Partial<StylingProps>,\n): [props: TProps, styles: cssFn | undefined] => {\n const stylingProps = new Map<keyof StylingProps, cssFn>();\n const newProps: Record<string, unknown> = {};\n\n for (const [propName, value] of Object.entries(props)) {\n const inject = compiledPropDefs.get(propName);\n\n if (!inject) {\n newProps[propName] = value;\n continue;\n }\n\n if (value === undefined) {\n continue;\n }\n\n inject(value, stylingProps);\n }\n\n const styles = stylingProps.size\n ? css`\n ${Array.from(stylingProps.values())}\n `\n : undefined;\n\n return [newProps as TProps, styles];\n};\n","import { appendClassName } from '../../helpers/appendClassName';\nimport { useStyle } from '../../hooks/useStyle';\n\nimport type { StylingProps } from './stylingProps';\nimport { extractStylingProps } from './stylingProps';\n\nexport const useStylingProps = <TProps extends { className?: string }>(\n originalProps: TProps,\n): Omit<TProps, keyof StylingProps> => {\n const [props, styles] = extractStylingProps(originalProps);\n\n const newClassName = useStyle(styles, undefined);\n\n if (newClassName) {\n props.className = props.className\n ? appendClassName(props.className, newClassName)\n : newClassName;\n }\n\n return props;\n};\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport type {\n AllHTMLAttributes,\n ElementType,\n RefAttributes,\n SVGAttributes,\n} from 'react';\nimport { createElement, memo } from 'react';\n\nimport { useArrayLikeClassNameProp } from '../../hooks/useArrayLikeClassNameProp';\nimport { useBoxOnlyProps } from '../../hooks/useBoxOnlyProps';\nimport type { Falsy } from '../../types/Falsy';\n\nimport { useBoxTransform, BoxTransforms } from './BoxTransforms';\nimport type { StylingProps } from './stylingProps';\nimport { useStylingProps } from './useStylingProps';\n\nexport type BoxProps = Partial<StylingProps> &\n Omit<\n AllHTMLAttributes<HTMLElement>,\n 'ref' | 'is' | 'className' | 'size' | 'elevation' | keyof StylingProps\n > &\n Omit<\n SVGAttributes<SVGElement>,\n keyof AllHTMLAttributes<HTMLElement> | 'elevation' | keyof StylingProps\n > &\n RefAttributes<any> & {\n /**\n * The `is` prop is used to render the Box as a different HTML tag. It can also be used to render a different fuselage component.\n */\n is?: ElementType;\n className?: string | cssFn | (string | cssFn | Falsy)[];\n animated?: boolean;\n withRichContent?: boolean | 'inlineWithoutBreaks';\n htmlSize?: AllHTMLAttributes<HTMLElement>['size'];\n focusable?: boolean;\n };\n\nfunction Box({ is = 'div', ...props }: BoxProps) {\n let propsWithStringClassName = useArrayLikeClassNameProp(props);\n\n const transformFn = useBoxTransform();\n if (transformFn) {\n propsWithStringClassName = transformFn(propsWithStringClassName);\n }\n\n const propsWithoutStylingProps = useStylingProps(propsWithStringClassName);\n const propsWithoutBoxOnlyProps = useBoxOnlyProps(propsWithoutStylingProps);\n\n const element = createElement(is, propsWithoutBoxOnlyProps);\n\n if (transformFn) {\n return (\n <BoxTransforms.Provider value={null}>{element}</BoxTransforms.Provider>\n );\n }\n\n return element;\n}\n\nexport default memo(Box);\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\n\nimport { useArrayLikeClassNameProp } from '../../hooks/useArrayLikeClassNameProp';\nimport type { Falsy } from '../../types/Falsy';\n\nimport type { StylingProps } from './stylingProps';\nimport { useStylingProps } from './useStylingProps';\n\nexport type StylingBoxProps = {\n children: ReactElement<{ className?: string }>;\n className?: string | cssFn | (string | cssFn | Falsy)[];\n} & Partial<StylingProps>;\n\n/**\n * Merges its `StylingProps` props into a `className` prop passed to a child element.\n *\n * This is intended to be used as a wrapper for components that accept styling props but don't need the weight of the\n * `Box` component prop handling internally.\n */\nexport const StylingBox = ({ children, ...props }: StylingBoxProps) => {\n const propsWithStringClassName = useArrayLikeClassNameProp(props);\n propsWithStringClassName.className = [\n children.props.className,\n propsWithStringClassName.className,\n ]\n .filter(Boolean)\n .join(' ');\n const propsWithoutStylingProps = useStylingProps(propsWithStringClassName);\n\n return cloneElement(children, propsWithoutStylingProps);\n};\n\nexport default StylingBox;\n","import type { ReactNode } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport { StylingBox } from '../Box';\nimport type { StylingProps } from '../Box/stylingProps';\n\nexport type AccordionProps = {\n children: ReactNode;\n} & Partial<StylingProps>;\n\n/**\n * An `Accordion` allows users to toggle the display of sections of content.\n */\nconst Accordion = ({ children, ...props }: AccordionProps) => (\n <StylingBox {...props}>\n <div className={cx(cxx('rcx-box')('full', 'animated'), 'rcx-accordion')}>\n {children}\n </div>\n </StylingBox>\n);\n\nexport default Accordion;\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport nameToCharacterMapping from '@rocket.chat/icons';\nimport type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type IconProps = Omit<BoxProps, 'ref' | 'name' | 'size'> &\n RefAttributes<HTMLElement> & {\n name: IconName;\n size?: BoxProps['width'];\n };\n\nfunction Icon({ name, size, ...props }: IconProps) {\n return (\n <Box\n is='i'\n rcx-icon\n rcx-icon--name={name}\n aria-hidden='true'\n fontSize={size}\n {...props}\n >\n {nameToCharacterMapping[name]}\n </Box>\n );\n}\n\nexport default Icon;\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Icon } from '../Icon';\n\nexport type ChevronProps = Omit<BoxProps, 'size'> & {\n size?: BoxProps['width'];\n up?: boolean;\n right?: boolean;\n left?: boolean;\n down?: boolean;\n top?: boolean;\n bottom?: boolean;\n};\n\nfunction Chevron({\n up,\n right,\n down,\n left,\n size,\n ...props\n}: ChevronProps): ReactElement<ChevronProps> {\n const children = useMemo(\n () => <Icon name='chevron-down' size={size} />,\n [size],\n );\n\n return (\n <Box\n is='span'\n rcx-chevron\n rcx-chevron--up={up}\n rcx-chevron--right={right}\n rcx-chevron--down={down}\n rcx-chevron--left={left}\n {...props}\n >\n {children}\n </Box>\n );\n}\n\nexport default Chevron;\n","import { useToggle } from '@rocket.chat/fuselage-hooks';\nimport {\n useId,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport { StylingBox } from '../Box';\nimport { Chevron } from '../Chevron';\n\nexport type AccordionItemProps = {\n children?: ReactNode;\n className?: string;\n defaultExpanded?: boolean;\n disabled?: boolean;\n expanded?: boolean;\n tabIndex?: number;\n title: ReactNode;\n noncollapsible?: boolean;\n};\n\nconst AccordionItem = ({\n children,\n defaultExpanded,\n disabled = false,\n expanded: propExpanded,\n tabIndex = 0,\n title,\n noncollapsible = !title,\n ...props\n}: AccordionItemProps) => {\n const [stateExpanded, toggleStateExpanded] = useToggle(defaultExpanded);\n const expanded = propExpanded || stateExpanded;\n\n const panelExpanded = noncollapsible || expanded;\n\n const titleId = useId();\n const panelId = useId();\n\n const handleClick = (e: MouseEvent<HTMLElement>) => {\n if (disabled) {\n return;\n }\n e.currentTarget?.blur();\n toggleStateExpanded();\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (disabled || event.currentTarget !== event.target) {\n return;\n }\n\n if (![' ', 'Enter'].includes(event.key)) {\n return;\n }\n\n event.preventDefault();\n\n if (event.repeat) {\n return;\n }\n\n toggleStateExpanded();\n };\n\n const collapsibleProps = {\n 'aria-controls': panelId,\n 'aria-expanded': expanded ? 'true' : 'false',\n 'tabIndex': !disabled ? tabIndex : undefined,\n 'onClick': handleClick,\n 'onKeyDown': handleKeyDown,\n } as const;\n\n const nonCollapsibleProps = {\n 'aria-disabled': 'true',\n 'aria-expanded': 'true',\n 'aria-labelledby': titleId,\n } as const;\n\n const barProps = noncollapsible ? nonCollapsibleProps : collapsibleProps;\n\n return (\n <StylingBox {...props}>\n <section className={cx(cxx('rcx-box')('full'), 'rcx-accordion-item')}>\n {title && (\n <div\n role='button'\n className={cx(\n cxx('rcx-box')('full', 'animated'),\n cxx('rcx-accordion-item__bar')({ disabled }),\n )}\n {...barProps}\n >\n <h2\n className={cx(\n cxx('rcx-box')('full'),\n 'rcx-accordion-item__title',\n )}\n id={titleId}\n >\n {title}\n </h2>\n {!noncollapsible && <Chevron size='x24' up={expanded} />}\n </div>\n )}\n <div\n className={cx(\n cxx('rcx-box')('full', 'animated'),\n cxx('rcx-accordion-item__panel')({ expanded: panelExpanded }),\n )}\n id={panelId}\n >\n {children}\n </div>\n </section>\n </StylingBox>\n );\n};\n\nexport default AccordionItem;\n","import { css, keyframes } from '@rocket.chat/css-in-js';\nimport type { ReactNode } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { useStyle } from '../../hooks/useStyle';\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type VisibilityType =\n | 'hidden'\n | 'visible'\n | 'hiding'\n | 'unhiding'\n | undefined;\n\nexport type AnimatedVisibilityProps = {\n children: ReactNode;\n visibility?: VisibilityType;\n};\n\nconst AnimatedVisibility = (props: AnimatedVisibilityProps) => {\n const propVisibility = props.visibility || AnimatedVisibility.HIDDEN;\n\n const [visibility, setVisibility] = useState<VisibilityType>(propVisibility);\n\n useEffect(() => {\n setVisibility((visibility) => {\n if (\n propVisibility === AnimatedVisibility.VISIBLE &&\n visibility !== propVisibility\n ) {\n return AnimatedVisibility.UNHIDING;\n }\n\n if (\n propVisibility === AnimatedVisibility.HIDDEN &&\n visibility !== propVisibility\n ) {\n return AnimatedVisibility.HIDING;\n }\n\n return visibility;\n });\n }, [propVisibility]);\n\n const className = useStyle(\n css`\n animation-duration: 230ms;\n\n ${visibility === AnimatedVisibility.HIDING &&\n css`\n animation-name: ${keyframes`\n from {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n\n to {\n transform: translate3d(0, 1rem, 0);\n opacity: 0;\n }\n `};\n `}\n\n ${visibility === AnimatedVisibility.UNHIDING &&\n css`\n animation-name: ${keyframes`\n from {\n transform: translate3d(0, 1rem, 0);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n `};\n `}\n `,\n null,\n );\n\n const handleAnimationEnd = useCallback(\n () =>\n setVisibility((visibility) => {\n if (visibility === AnimatedVisibility.HIDING) {\n return AnimatedVisibility.HIDDEN;\n }\n\n if (visibility === AnimatedVisibility.UNHIDING) {\n return AnimatedVisibility.VISIBLE;\n }\n\n return visibility;\n }),\n [],\n );\n\n const transformFn = useCallback(\n (props: any) => {\n if (props.onAnimationEnd === undefined) {\n props.onAnimationEnd = handleAnimationEnd;\n }\n props.className =\n className && appendClassName(props.className, className);\n return props;\n },\n [className, handleAnimationEnd],\n );\n\n const composedFn = useComposedBoxTransform(transformFn);\n if (visibility === AnimatedVisibility.HIDDEN) {\n return null;\n }\n\n return (\n <BoxTransforms.Provider value={composedFn}>\n {props.children}\n </BoxTransforms.Provider>\n );\n};\n\nAnimatedVisibility.HIDDEN = 'hidden' as VisibilityType;\nAnimatedVisibility.VISIBLE = 'visible' as VisibilityType;\nAnimatedVisibility.HIDING = 'hiding' as VisibilityType;\nAnimatedVisibility.UNHIDING = 'unhiding' as VisibilityType;\n\nexport default AnimatedVisibility;\n","import type { RefAttributes } from 'react';\nimport { createContext, useContext } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nconst LabelContext = createContext(false);\n\nexport type LabelProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement> & {\n disabled?: boolean;\n required?: boolean;\n };\n\n/**\n * A caption for an input component.\n */\nfunction Label({ disabled, is, required, children, ...props }: LabelProps) {\n const isInsideLabel = useContext(LabelContext);\n const component = is || (isInsideLabel && 'span') || 'label';\n\n return (\n <LabelContext.Provider value={true}>\n <Box is={component} rcx-label rcx-label--disabled={disabled} {...props}>\n {children}\n {required && (\n <Box\n is='span'\n rcx-label__required\n marginInlineStart='x4'\n aria-hidden='true'\n >\n *\n </Box>\n )}\n </Box>\n </LabelContext.Provider>\n );\n}\n\nexport default Label;\n","import { css } from '@rocket.chat/css-in-js';\nimport type { LabelHTMLAttributes, OutputHTMLAttributes } from 'react';\nimport type { SliderState } from 'react-stately';\n\nimport { useStyle } from '../../hooks/useStyle';\nimport { Label } from '../Label';\n\ntype SliderHeadProps = {\n state: SliderState;\n labelProps: Omit<LabelHTMLAttributes<HTMLLabelElement>, 'is'>;\n outputProps: Omit<OutputHTMLAttributes<HTMLOutputElement>, 'is'>;\n label?: string;\n showOutput?: boolean;\n multiThumb?: boolean;\n};\nexport const SliderHead = ({\n state,\n labelProps,\n outputProps,\n label,\n showOutput = true,\n multiThumb,\n}: SliderHeadProps) => {\n const labelContainer = useStyle(\n css`\n display: flex;\n justify-content: space-between;\n ${state.orientation === 'vertical' &&\n css`\n flex-direction: column;\n `}\n `,\n null,\n );\n const output = (\n <Label {...(outputProps as any)}>\n {multiThumb ? (\n <Label {...outputProps} data-testid='slider-output'>\n {`${state.getThumbValueLabel(0)} - ${state.getThumbValueLabel(1)}`}\n </Label>\n ) : (\n <Label {...outputProps} data-testid='slider-output'>\n {state.getThumbValueLabel(0)}\n </Label>\n )}\n </Label>\n );\n return (\n <>\n {label ? (\n <div className={labelContainer}>\n <Label {...labelProps}>{label}</Label>\n {showOutput && output}\n </div>\n ) : (\n showOutput && output\n )}\n </>\n );\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport { useRef } from 'react';\nimport {\n mergeProps,\n useFocusRing,\n useSliderThumb,\n VisuallyHidden,\n} from 'react-aria';\n\nimport { Palette } from '../../Theme';\nimport { useStyle } from '../../hooks/useStyle';\n\nexport const SliderThumb = (props: any) => {\n const { state, trackRef, index } = props;\n const inputRef = useRef<HTMLInputElement>(null);\n const { thumbProps, inputProps, isDragging } = useSliderThumb(\n {\n index,\n trackRef,\n inputRef,\n },\n state,\n );\n\n const { focusProps, isFocusVisible } = useFocusRing();\n\n const thumb = useStyle(\n css`\n width: 12px;\n height: 12px;\n\n cursor: ${state.isDisabled ? 'not-allowed' : 'pointer'};\n border-radius: 50%;\n background: ${isFocusVisible || isDragging\n ? Palette.text['font-info']\n : Palette.stroke['stroke-highlight']};\n ${state.orientation === 'horizontal'\n ? css`\n top: 50%;\n `\n : css`\n left: 50%;\n `}\n `,\n { isFocusVisible, isDragging },\n );\n return (\n <div {...thumbProps} className={thumb}>\n <VisuallyHidden>\n <input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n </VisuallyHidden>\n </div>\n );\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport type { DOMAttributes, RefObject, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { SliderState } from 'react-stately';\n\nimport { Palette } from '../../Theme';\nimport { useStyle } from '../../hooks/useStyle';\n\ntype SliderTrackProps = {\n trackProps: DOMAttributes<Element>;\n trackRef: RefObject<HTMLDivElement | null>;\n state: SliderState;\n children: ReactNode;\n multiThumb?: boolean;\n};\n\nconst highlight = Palette.stroke['stroke-highlight'];\nconst light = Palette.stroke['stroke-light'];\n\nexport const SliderTrack = ({\n trackProps,\n trackRef,\n state,\n multiThumb,\n children,\n}: SliderTrackProps) => {\n const isHorizontal = useMemo(\n () => state.orientation === 'horizontal',\n [state.orientation],\n );\n const isVertical = useMemo(\n () => state.orientation === 'vertical',\n [state.orientation],\n );\n\n const getThumbPosition = useMemo(\n () => (value: number) => {\n const maxValue = state.getThumbMaxValue(1) || state.getThumbMaxValue(0);\n const minValue = state.getThumbMinValue(0);\n return (value / (maxValue - minValue)) * 100;\n },\n [state],\n );\n\n const getTrackGradient = () => {\n if (isHorizontal) {\n return multiThumb\n ? `to right, ${light} ${getThumbPosition(\n state.values[0],\n )}%, ${highlight} 0, ${highlight} ${getThumbPosition(\n state.values[1],\n )}%, ${light} 0`\n : `to right, ${highlight} ${getThumbPosition(\n state.values[0],\n )}%, ${light} 0%`;\n }\n\n if (isVertical) {\n return multiThumb\n ? `to top, ${light} ${getThumbPosition(\n state.values[0],\n )}%, ${highlight} 0, ${highlight} ${getThumbPosition(\n state.values[1],\n )}%, ${light} 0`\n : `to top, ${highlight} ${getThumbPosition(\n state.values[0],\n )}%, ${light} 0%`;\n }\n\n return undefined;\n };\n\n const track = useStyle(\n css`\n &::before {\n position: absolute;\n display: block;\n content: '';\n\n background: linear-gradient(${getTrackGradient()});\n transform: translateX(-50%);\n border-radius: 1rem;\n }\n ${isHorizontal &&\n css`\n width: 100%;\n height: 30px;\n &::before {\n top: 50%;\n width: 100%;\n height: 4px;\n transform: translateY(-50%);\n }\n `};\n ${isVertical &&\n css`\n width: 30px;\n height: 100%;\n &::before {\n left: 50%;\n width: 4px;\n height: 100%;\n }\n `};\n ${state.isDisabled &&\n css`\n cursor: not-allowed;\n opacity: 0.4;\n `};\n `,\n state,\n );\n\n return (\n <div {...trackProps} ref={trackRef} className={track}>\n {children}\n </div>\n );\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport type { AriaAttributes, RefAttributes } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { AriaSliderProps } from 'react-aria';\nimport { useNumberFormatter, useSlider } from 'react-aria';\nimport { useSliderState } from 'react-stately';\n\nimport { useStyle } from '../../hooks/useStyle';\n\nimport { SliderHead } from './SliderHead';\nimport { SliderThumb } from './SliderThumb';\nimport { SliderTrack } from './SliderTrack';\n\nexport type SliderProps<T extends number | number[]> = AriaAttributes &\n RefAttributes<HTMLDivElement> & {\n /**\n * The display format of the value output.\n */\n formatOptions?: Intl.NumberFormatOptions;\n /**\n * The id of the slider input element, used to connect with an external label.\n */\n id?: string;\n label?: string;\n showOutput?: boolean;\n /**\n * Slider with multiple thumbs.\n * @default false\n */\n multiThumb?: T extends number[] ? true : false;\n step?: number;\n /**\n * @default 0\n */\n minValue?: number;\n /**\n * @default 100\n */\n maxValue?: number;\n orientation?: 'horizontal' | 'vertical';\n disabled?: boolean;\n defaultValue?: T;\n } & (\n | {\n value: T;\n onChange: (value: T) => void;\n }\n | {\n value?: never;\n onChange?: never;\n }\n );\n\nfunction Slider<T extends number | [min: number, max: number]>({\n ref,\n ...props\n}: T extends number\n ? SliderProps<number>\n : SliderProps<[min: number, max: number]>) {\n const {\n label,\n formatOptions,\n showOutput = true,\n multiThumb,\n maxValue,\n minValue,\n } = props;\n\n // Get a defaultValue in the range for multiThumb\n const getMultiThumbDefaultValue = (): T | undefined => {\n if (multiThumb && !props.defaultValue) {\n if (minValue && maxValue) {\n return [minValue, maxValue] as T;\n }\n if (minValue) {\n return [minValue, 100] as T;\n }\n if (maxValue) {\n return [0, maxValue] as T;\n }\n return [0, 100] as T;\n }\n\n return undefined;\n };\n\n const { defaultValue = getMultiThumbDefaultValue() } = props;\n\n const sliderProps = {\n ...props,\n isDisabled: props.disabled,\n } as AriaSliderProps<number | number[]>;\n\n const trackRef = useRef<HTMLDivElement>(null);\n const numberFormatter = useNumberFormatter(formatOptions);\n const sliderState = useSliderState({\n defaultValue,\n ...sliderProps,\n numberFormatter,\n });\n\n const { groupProps, trackProps, labelProps, outputProps } = useSlider(\n sliderProps,\n sliderState,\n trackRef,\n );\n\n const isHorizontal = useMemo(\n () => sliderState.orientation === 'horizontal',\n [sliderState.orientation],\n );\n const isVertical = useMemo(\n () => sliderState.orientation === 'vertical',\n [sliderState.orientation],\n );\n\n const slider = useStyle(\n css`\n display: flex;\n ${isHorizontal &&\n css`\n flex-direction: column;\n width: 100%;\n `};\n ${isVertical &&\n css`\n flex-direction: row-reverse;\n height: 100%;\n `}\n `,\n sliderState,\n );\n\n return (\n <div {...groupProps} ref={ref} className={slider}>\n <SliderHead\n labelProps={labelProps}\n outputProps={outputProps}\n state={sliderState}\n showOutput={showOutput}\n label={label}\n multiThumb={multiThumb}\n />\n <SliderTrack\n state={sliderState}\n trackProps={trackProps}\n trackRef={trackRef}\n multiThumb={multiThumb}\n >\n <SliderThumb index={0} state={sliderState} trackRef={trackRef} />\n {multiThumb && (\n <SliderThumb index={1} state={sliderState} trackRef={trackRef} />\n )}\n </SliderTrack>\n </div>\n );\n}\n\nexport default Slider;\n","import type { MouseEvent } from 'react';\n\nimport { Box, Button, IconButton, Margins } from '../..';\nimport { Slider } from '../Slider';\n\nconst getMaskTime = (durationTime: number) =>\n new Date(durationTime * 1000)\n .toISOString()\n .slice(durationTime > 60 * 60 ? 11 : 14, 19);\n\nexport type AudioPlayerControlsProps = {\n isPlaying: boolean;\n currentTime: number;\n durationTime: number;\n playbackSpeed: number;\n onTogglePlay: () => void;\n onSeek: (time: number) => void;\n onChangePlaybackSpeed: () => void;\n download?: boolean;\n downloadHref?: string;\n onDownload?: (event: MouseEvent<HTMLElement>) => void;\n playLabel?: string;\n pauseLabel?: string;\n audioPlaybackRangeLabel?: string;\n changePlaybackSpeedLabel?: string;\n downloadAudioFileLabel?: string;\n};\n\n/**\n * Presentational, fully controlled audio controls (play/pause, seek, elapsed\n * time, playback speed and optional download). It owns no `<audio>` element and\n * no playback state, so it can be driven by any source — a local element or a\n * shared/persistent one. `AudioPlayer` wraps this with its own element for the\n * common self-contained case.\n */\nconst AudioPlayerControls = ({\n isPlaying,\n currentTime,\n durationTime,\n playbackSpeed,\n onTogglePlay,\n onSeek,\n onChangePlaybackSpeed,\n download = false,\n downloadHref,\n onDownload,\n playLabel = 'Play',\n pauseLabel = 'Pause',\n audioPlaybackRangeLabel = 'Audio Playback Range',\n changePlaybackSpeedLabel = 'Change Playback Speed',\n downloadAudioFileLabel = 'Download Audio File',\n}: AudioPlayerControlsProps) => (\n <Box display='flex' alignItems='center' width='full'>\n <IconButton\n primary\n medium\n onClick={onTogglePlay}\n aria-label={isPlaying ? pauseLabel : playLabel}\n icon={isPlaying ? 'pause-shape-filled' : 'play-shape-filled'}\n />\n <Margins inline={8}>\n <Box fontScale='p2' color='secondary-info'>\n {isPlaying || currentTime > 0\n ? getMaskTime(currentTime)\n : getMaskTime(durationTime)}\n </Box>\n <Box width='full'>\n <Slider\n aria-label={audioPlaybackRangeLabel}\n showOutput={false}\n value={currentTime}\n maxValue={durationTime}\n onChange={(value) => onSeek(Array.isArray(value) ? value[0] : value)}\n />\n </Box>\n\n <Button\n secondary\n small\n onClick={onChangePlaybackSpeed}\n aria-label={changePlaybackSpeedLabel}\n >\n {playbackSpeed}x\n </Button>\n </Margins>\n {download && (\n <IconButton\n primary\n medium\n is='a'\n href={downloadHref}\n download\n icon='download'\n aria-label={downloadAudioFileLabel}\n onClick={onDownload}\n />\n )}\n </Box>\n);\n\nexport default AudioPlayerControls;\n","import { useMergedRefs, useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport type { RefAttributes, TrackHTMLAttributes } from 'react';\nimport { useState, useRef } from 'react';\n\nimport { Box } from '../..';\nimport { useOwnerDocument } from '../../contexts';\n\nimport AudioPlayerControls from './AudioPlayerControls';\n\nfunction forceDownload(\n ownerDocument: Document,\n url: string,\n fileName?: string,\n) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n const urlCreator = window.URL || window.webkitURL;\n const imageUrl = urlCreator.createObjectURL(this.response);\n const tag = ownerDocument.createElement('a');\n tag.href = imageUrl;\n if (fileName) {\n tag.download = fileName;\n }\n ownerDocument.body.appendChild(tag);\n tag.click();\n ownerDocument.body.removeChild(tag);\n };\n xhr.send();\n}\n\nconst getDurationForInfinityDurationAudioFile = (\n src: string,\n callback: (duration: number) => void,\n) => {\n const audioElement = new Audio();\n audioElement.src = src;\n\n audioElement.addEventListener('loadedmetadata', () => {\n const { duration } = audioElement;\n if (duration === Infinity) {\n audioElement.currentTime = 1e101;\n return;\n }\n\n return callback(duration);\n });\n\n audioElement.addEventListener('durationchange', () => {\n if (audioElement.duration === Infinity) {\n return;\n }\n callback(audioElement.duration);\n audioElement.remove();\n });\n};\n\n/**\n * A Fuselage’s custom AudioPlayer.\n */\nexport type AudioPlayerProps = RefAttributes<HTMLAudioElement> & {\n src: string;\n type?: string;\n maxPlaybackSpeed?: number;\n minPlaybackSpeed?: number;\n playbackSpeedStep?: number;\n download?: boolean;\n playLabel?: string;\n pauseLabel?: string;\n audioPlaybackRangeLabel?: string;\n changePlaybackSpeedLabel?: string;\n downloadAudioFileLabel?: string;\n trackProps?: TrackHTMLAttributes<HTMLTrackElement>;\n};\n\nconst AudioPlayer = ({\n ref,\n src,\n type = 'audio/mpeg',\n maxPlaybackSpeed = 2,\n minPlaybackSpeed = 0.5,\n playbackSpeedStep = 0.25,\n download = false,\n playLabel = 'Play',\n pauseLabel = 'Pause',\n audioPlaybackRangeLabel = 'Audio Playback Range',\n changePlaybackSpeedLabel = 'Change Playback Speed',\n downloadAudioFileLabel = 'Download Audio File',\n trackProps,\n}: AudioPlayerProps) => {\n const audioRef = useRef<HTMLAudioElement>(null);\n const refs = useMergedRefs(ref, audioRef);\n const [isPlaying, setIsPlaying] = useState(false);\n const [currentTime, setCurrentTime] = useState(0);\n const [durationTime, setDurationTime] = useState(0);\n const [playbackSpeed, setPlaybackSpeed] = useState(1);\n const { ref: containerRef } = useResizeObserver();\n\n const handlePlay = () => {\n const isPlaying = audioRef.current?.paused;\n\n if (isPlaying) {\n audioRef.current?.play();\n } else {\n audioRef.current?.pause();\n }\n };\n\n const handlePlaybackSpeed = (mod: 1 | -1) => {\n if (audioRef.current) {\n audioRef.current.playbackRate += playbackSpeedStep * mod;\n }\n };\n\n const handlePlaybackSpeedSingleControl = () => {\n if (!audioRef.current) return;\n\n const reachedMaxPlaybackSpeed =\n maxPlaybackSpeed === audioRef?.current?.playbackRate;\n\n if (reachedMaxPlaybackSpeed) {\n audioRef.current.playbackRate = minPlaybackSpeed;\n return;\n }\n handlePlaybackSpeed(1);\n };\n\n const { document: ownerDocument } = useOwnerDocument();\n\n return (\n <Box\n borderWidth='default'\n backgroundColor='tint'\n borderColor='extra-light'\n paddingBlock={12}\n paddingInlineEnd={8}\n paddingInlineStart={16}\n borderRadius='medium'\n width='100%'\n maxWidth='x300'\n ref={containerRef}\n display='flex'\n alignItems='center'\n >\n <AudioPlayerControls\n isPlaying={isPlaying}\n currentTime={currentTime}\n durationTime={durationTime}\n playbackSpeed={playbackSpeed}\n onTogglePlay={handlePlay}\n onSeek={(time) => {\n if (audioRef.current) {\n audioRef.current.currentTime = time;\n }\n }}\n onChangePlaybackSpeed={handlePlaybackSpeedSingleControl}\n download={download}\n downloadHref={src}\n onDownload={(e) => {\n const { host } = new URL(src);\n if (host !== ownerDocument.defaultView?.location.host) {\n e.preventDefault();\n forceDownload(ownerDocument, src);\n }\n }}\n playLabel={playLabel}\n pauseLabel={pauseLabel}\n audioPlaybackRangeLabel={audioPlaybackRangeLabel}\n changePlaybackSpeedLabel={changePlaybackSpeedLabel}\n downloadAudioFileLabel={downloadAudioFileLabel}\n />\n <audio\n style={{ display: 'none' }}\n onTimeUpdate={(e) => {\n setCurrentTime((e.target as HTMLAudioElement).currentTime);\n }}\n onLoadedMetadata={(e) => {\n const { duration } = e.target as HTMLAudioElement;\n\n if (duration !== Infinity) {\n return setDurationTime(duration);\n }\n\n getDurationForInfinityDurationAudioFile(src, setDurationTime);\n }}\n onEnded={() => setIsPlaying(false)}\n ref={refs}\n preload='metadata'\n onRateChange={(e) => {\n setPlaybackSpeed((e.target as HTMLAudioElement).playbackRate);\n }}\n onPlay={() => {\n setIsPlaying(true);\n }}\n onPause={() => {\n setIsPlaying(false);\n }}\n controls\n >\n <source src={src} type={type} />\n <track kind='captions' {...trackProps} />\n </audio>\n </Box>\n );\n};\n\nexport default AudioPlayer;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type AvatarContainerProps = {\n size?:\n | 'x16'\n | 'x18'\n | 'x20'\n | 'x24'\n | 'x28'\n | 'x32'\n | 'x36'\n | 'x40'\n | 'x48'\n | 'x124'\n | 'x200'\n | 'x332';\n} & HTMLAttributes<HTMLElement>;\n\nconst AvatarContainer = ({\n size = 'x36',\n children,\n ...props\n}: AvatarContainerProps) => {\n props.className = prependClassName(\n props.className,\n ['rcx-box rcx-box--full rcx-avatar', size && `rcx-avatar--${size}`]\n .filter(Boolean)\n .join(' '),\n );\n\n return <figure {...props}>{children}</figure>;\n};\n\nexport default AvatarContainer;\n","import type { AllHTMLAttributes, CSSProperties } from 'react';\n\nimport AvatarContainer, { type AvatarContainerProps } from './AvatarContainer';\n\nexport type AvatarProps = AvatarContainerProps & {\n rounded?: boolean;\n objectFit?: CSSProperties['objectFit'];\n url: string;\n} & Omit<AllHTMLAttributes<HTMLImageElement>, 'size'>;\n\nconst Avatar = ({\n size = 'x36',\n rounded = false,\n objectFit,\n url,\n className,\n alt,\n ...props\n}: AvatarProps) => {\n const innerClass = [\n 'rcx-avatar__element',\n size && `rcx-avatar__element--${size}`,\n rounded && 'rcx-avatar__element--rounded',\n objectFit && `rcx-avatar__element--object-fit-${objectFit}`,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <AvatarContainer size={size} className={className}>\n <img src={url} className={innerClass} alt={alt || ''} {...props} />\n </AvatarContainer>\n );\n};\n\nexport default Avatar;\n","import type { DetailedHTMLProps, HTMLAttributes } from 'react';\nimport flattenChildren from 'react-keyed-flatten-children';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type AvatarStackProps = DetailedHTMLProps<\n HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nconst AvatarStack = ({ children, ...props }: AvatarStackProps) => {\n props.className = prependClassName(props.className, 'rcx-avatar-stack');\n return <div {...props}>{flattenChildren(children).reverse()}</div>;\n};\n\nexport default AvatarStack;\n","import type { ComponentPropsWithoutRef, ComponentType } from 'react';\n\nimport type { StylingProps } from './stylingProps';\nimport { useStylingProps } from './useStylingProps';\n\nexport const withBoxStyling = <\n TComponent extends ComponentType<{\n className?: string;\n }>,\n>(\n Component: TComponent,\n) => {\n const WithBoxStyling = (\n props: ComponentPropsWithoutRef<TComponent> & Partial<StylingProps>,\n ) => {\n const propsWithoutStylingProps = useStylingProps(props);\n return <Component {...(propsWithoutStylingProps as any)} />;\n };\n\n WithBoxStyling.displayName = `WithBoxStyling(${\n Component.displayName || Component.name || 'Component'\n })`;\n\n return WithBoxStyling;\n};\n","const isObject = (\n value: unknown,\n): value is Record<string | number | symbol, unknown> =>\n typeof value === 'object' && value !== null;\n\nconst compareObjects = (\n a: Record<string | number | symbol, unknown>,\n b: Record<string | number | symbol, unknown>,\n) => {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n return !keysA.some((key) => !b.hasOwnProperty(key) || a[key] !== b[key]);\n};\n\nexport const shallowEqual = (a: unknown, b: unknown) => {\n if (a === b) {\n return true;\n }\n\n if (Number.isNaN(a) && Number.isNaN(b)) {\n return true;\n }\n\n if (!isObject(a) || !isObject(b)) {\n return false;\n }\n\n return compareObjects(a, b);\n};\n","import type { ReactNode, Attributes } from 'react';\nimport { cloneElement } from 'react';\nimport { isElement } from 'react-is';\n\nimport { flattenChildren } from './flattenChildren';\nimport { shallowEqual } from './shallowEqual';\n\nexport const patchChildren = <TProps>(\n children: ReactNode,\n patch: (props: TProps) => TProps & Attributes,\n) => {\n let dirty = false;\n\n const newChildren = flattenChildren(children).map((child) => {\n if (!isElement(child)) {\n return child;\n }\n\n const mergedProps = patch(child.props as TProps);\n\n if (shallowEqual(child.props, mergedProps)) {\n return child;\n }\n\n dirty = true;\n return cloneElement(child, mergedProps);\n });\n\n if (dirty) {\n return newChildren;\n }\n\n return children;\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport type { PropsWithChildren } from 'react';\nimport { useCallback } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { useStyle } from '../../hooks/useStyle';\nimport { spacing } from '../../styleTokens';\nimport type { BoxProps } from '../Box';\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type MarginsProps = PropsWithChildren<{\n all?: BoxProps['margin'];\n block?: BoxProps['marginBlock'];\n blockStart?: BoxProps['marginBlockStart'];\n blockEnd?: BoxProps['marginBlockEnd'];\n inline?: BoxProps['marginInline'];\n inlineStart?: BoxProps['marginInlineStart'];\n inlineEnd?: BoxProps['marginInlineEnd'];\n className?: string;\n}>;\n\n/**\n * Add margins to the wrapped component.\n */\nconst Margins = (props: MarginsProps) => {\n const {\n children,\n className,\n all,\n block,\n blockStart,\n blockEnd,\n inline,\n inlineStart,\n inlineEnd,\n } = props;\n\n const transformFn = useCallback(\n (props: any) => {\n if (all !== undefined && props.margin === undefined) {\n props.margin = all;\n }\n\n if (block !== undefined && props.marginBlock === undefined) {\n props.marginBlock = block;\n }\n\n if (blockStart !== undefined && props.marginBlockStart === undefined) {\n props.marginBlockStart = blockStart;\n }\n\n if (blockEnd !== undefined && props.marginBlockEnd === undefined) {\n props.marginBlockEnd = blockEnd;\n }\n\n if (inline !== undefined && props.marginInline === undefined) {\n props.marginInline = inline;\n }\n\n if (inlineStart !== undefined && props.marginInlineStart === undefined) {\n props.marginInlineStart = inlineStart;\n }\n\n if (inlineEnd !== undefined && props.marginInlineEnd === undefined) {\n props.marginInlineEnd = inlineEnd;\n }\n\n return props;\n },\n [all, block, blockEnd, blockStart, inline, inlineEnd, inlineStart],\n );\n\n const marginsClassName = useStyle(\n css`\n &:not(.rcx-box--full) {\n ${props.all &&\n css`\n margin: ${spacing(props.all)};\n `}\n ${props.inline &&\n css`\n margin-inline: ${spacing(props.inline)};\n `}\n ${props.inlineStart &&\n css`\n margin-inline-start: ${spacing(props.inlineStart)};\n `}\n ${props.inlineEnd &&\n css`\n margin-inline-end: ${spacing(props.inlineEnd)};\n `}\n ${props.block &&\n css`\n margin-block: ${spacing(props.block)};\n `}\n ${props.blockStart &&\n css`\n margin-block-start: ${spacing(props.blockStart)};\n `}\n ${props.blockEnd &&\n css`\n margin-block-end: ${spacing(props.blockEnd)};\n `}\n }\n `,\n props,\n ) as string;\n\n const patchedChildren = patchChildren(\n children,\n (childProps: {\n className: string | string[];\n [index: string]: unknown;\n }) => ({\n className: appendClassName(\n childProps.className,\n appendClassName(className, marginsClassName),\n ),\n }),\n );\n\n return (\n <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>\n {patchedChildren}\n </BoxTransforms.Provider>\n );\n};\n\nexport default Margins;\n","import type { ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\nimport { Avatar } from '../Avatar';\nimport { Box } from '../Box';\nimport { withBoxStyling } from '../Box/withBoxStyling';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\n\nexport type ChipProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'type'\n> & {\n thumbUrl?: string;\n renderThumb?: (props: { url: string }) => ReactNode;\n renderDismissSymbol?: () => ReactNode;\n};\n\nconst defaultRenderThumb = ({ url }: { url: string }) => (\n <Box rcx-avatar>\n <Avatar size='x20' url={url} />\n </Box>\n);\nconst defaultRenderDismissSymbol = () => <Icon name='cross' size='x16' />;\n\nconst Chip = ({\n children,\n className,\n thumbUrl,\n onClick,\n onMouseDown,\n renderThumb = defaultRenderThumb,\n renderDismissSymbol = defaultRenderDismissSymbol,\n ...rest\n}: ChipProps) => {\n const onDismiss = onClick || onMouseDown;\n\n return (\n <button\n type='button'\n className={prependClassName(className, 'rcx-box rcx-chip')}\n disabled={!onDismiss}\n onClick={onDismiss}\n {...rest}\n >\n <Margins all='x4'>\n {thumbUrl && renderThumb && renderThumb({ url: thumbUrl })}\n {children && <span className='rcx-box rcx-chip__text'>{children}</span>}\n {onDismiss && renderDismissSymbol && renderDismissSymbol()}\n </Margins>\n </button>\n );\n};\n\nexport default withBoxStyling(Chip);\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type InputProps<\n T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n> = Omit<BoxProps, 'ref'> & RefAttributes<T>;\n\nfunction Input<\n T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n>(props: InputProps<T>) {\n return <Box is='input' animated rcx-input-box {...props} />;\n}\n\nexport default Input;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type InputBoxAddonProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLSpanElement>;\n\n/**\n * An addon for the input box.\n */\nfunction InputBoxAddon(props: InputBoxAddonProps) {\n return <Box is='span' rcx-input-box__addon {...props} />;\n}\n\nexport default InputBoxAddon;\n","import { Box, type BoxProps } from '../Box';\nimport { Label } from '../Label';\n\nexport type InputBoxWrapperProps = BoxProps;\n\nconst InputBoxWrapper = (props: InputBoxWrapperProps) => (\n <Box animated is={Label} rcx-input-box__wrapper {...props} />\n);\n\nexport default InputBoxWrapper;\n","import { useMergedRefs } from '@rocket.chat/fuselage-hooks';\nimport type { ChangeEvent, ReactNode, RefAttributes } from 'react';\nimport { useCallback, useLayoutEffect, useRef } from 'react';\n\nimport type { BoxProps } from '../Box';\nimport { Icon } from '../Icon';\n\nimport Input from './Input';\nimport InputBoxAddon from './InputBoxAddon';\nimport InputBoxWrapper from './InputBoxWrapper';\n\nexport type InputBoxProps<\n T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement = any,\n> = Omit<BoxProps, 'ref'> &\n RefAttributes<T> & {\n startAddon?: ReactNode;\n endAddon?: ReactNode;\n input?: ReactNode;\n multiple?: boolean;\n error?: string;\n placeholder?: string;\n placeholderVisible?: boolean;\n small?: boolean;\n type:\n | 'button'\n | 'checkbox'\n | 'color'\n | 'date'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | 'textarea'\n | 'select';\n };\n\n/**\n * A decorated input control with support for addons.\n *\n * Usually you'll perfer to use `-Input` (e.g. <LinkTo kind='Forms/TextInput' story='Default'>`TextInput`</LinkTo>)\n * components over this one because it works as a construction block for them.\n */\n// eslint-disable-next-line complexity\nfunction InputBox<\n T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n>({\n ref,\n className,\n startAddon,\n endAddon,\n error,\n hidden,\n invisible,\n multiple,\n placeholderVisible,\n type = 'text',\n small,\n onChange,\n ...props\n}: InputBoxProps<T>) {\n const innerRef = useRef<T>(null);\n const mergedRef = useMergedRefs(ref, innerRef);\n let defaultAddon = endAddon;\n\n useLayoutEffect(() => {\n if (innerRef.current && innerRef.current.setCustomValidity) {\n innerRef.current.setCustomValidity(error || '');\n }\n }, [error]);\n\n useLayoutEffect(() => {\n if (defaultAddon && innerRef.current && innerRef.current.parentElement) {\n innerRef.current.parentElement.classList.toggle(\n 'invalid',\n !innerRef.current.checkValidity(),\n );\n }\n }, [defaultAddon, error]);\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLElement>) => {\n if (defaultAddon && innerRef.current && innerRef.current.parentElement) {\n innerRef.current.parentElement.classList.toggle(\n 'invalid',\n !innerRef.current.checkValidity(),\n );\n }\n\n onChange?.call(event.currentTarget, event);\n },\n [defaultAddon, onChange],\n );\n\n const handleAddonClick = () =>\n (innerRef.current as HTMLInputElement).showPicker();\n\n if (type === 'date') {\n defaultAddon = (\n <Icon name='calendar' size='x20' onClick={handleAddonClick} />\n );\n }\n if (type === 'time') {\n defaultAddon = <Icon name='clock' size='x20' onClick={handleAddonClick} />;\n }\n\n if (!defaultAddon && !startAddon) {\n return (\n <Input\n is={\n (type === 'textarea' && 'textarea') ||\n (type === 'select' && 'select') ||\n 'input'\n }\n className={className}\n cols={(type === 'textarea' && 1) || (type === 'select' && 0) || 0}\n hidden={hidden}\n invisible={invisible}\n multiple={multiple}\n ref={mergedRef}\n htmlSize={\n (type === 'textarea' && undefined) || (type === 'select' && 1) || 1\n }\n type={type === 'textarea' || type === 'select' ? undefined : type}\n onChange={handleChange}\n rcx-input-box--multiple={multiple}\n rcx-input-box--placeholder-visible={placeholderVisible}\n rcx-input-box--type={type}\n rcx-input-box--small={small}\n {...props}\n />\n );\n }\n\n return (\n <InputBoxWrapper\n className={[\n props.disabled && 'disabled',\n ...(Array.isArray(className) ? className : [className]),\n ]}\n hidden={hidden}\n invisible={invisible}\n >\n {startAddon && <InputBoxAddon>{startAddon}</InputBoxAddon>}\n <Input\n is={\n (type === 'textarea' && 'textarea') ||\n (type === 'select' && 'select') ||\n 'input'\n }\n className={className}\n cols={(type === 'textarea' && 1) || (type === 'select' && 0) || 0}\n multiple={multiple}\n ref={mergedRef}\n htmlSize={\n (type === 'textarea' && undefined) || (type === 'select' && 1) || 1\n }\n type={type === 'textarea' || type === 'select' ? undefined : type}\n onChange={handleChange}\n rcx-input-box--multiple={multiple}\n rcx-input-box--placeholder-visible={placeholderVisible}\n rcx-input-box--type={type}\n rcx-input-box--undecorated\n rcx-input-box--small={small}\n {...props}\n />\n {defaultAddon && <InputBoxAddon>{defaultAddon}</InputBoxAddon>}\n </InputBoxWrapper>\n );\n}\n\nexport default InputBox;\n","import type { AllHTMLAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport type { StylingBoxProps } from '../Box';\nimport { StylingBox } from '../Box';\n\nexport type SkeletonProps = Omit<StylingBoxProps, 'children'> & {\n variant?: 'text' | 'rect' | 'circle';\n} & AllHTMLAttributes<HTMLSpanElement>;\n\nconst Skeleton = ({ variant = 'text', ...props }: SkeletonProps) => (\n <StylingBox {...props}>\n <span\n className={cx(\n cxx('rcx-skeleton')({\n text: variant === 'text',\n rect: variant === 'rect',\n circle: variant === 'circle',\n }),\n )}\n />\n </StylingBox>\n);\n\nexport default Skeleton;\n","import { Box, type BoxProps } from '../Box';\nimport { Skeleton } from '../Skeleton';\n\nexport type InputBoxSkeletonProps = BoxProps;\n\nconst InputBoxSkeleton = (props: InputBoxSkeletonProps) => (\n <Box rcx-skeleton__input {...props}>\n <Skeleton width='100%' />\n </Box>\n);\n\nexport default InputBoxSkeleton;\n","import type { SyntheticEvent } from 'react';\n\nexport const prevent = (event: SyntheticEvent) => {\n event.preventDefault();\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation();\n};\n","import { useMergedRefs } from '@rocket.chat/fuselage-hooks';\nimport type {\n AllHTMLAttributes,\n ChangeEvent,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport { useLayoutEffect, useRef, useCallback } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type CheckBoxProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLInputElement> & {\n indeterminate?: boolean;\n labelChildren?: ReactNode;\n } & AllHTMLAttributes<HTMLInputElement>;\n\nfunction CheckBox({\n ref,\n indeterminate,\n onChange,\n className,\n labelChildren,\n ...props\n}: CheckBoxProps) {\n const innerRef = useRef<HTMLInputElement>(null);\n const mergedRef = useMergedRefs(ref, innerRef);\n\n useLayoutEffect(() => {\n if (innerRef && innerRef.current && indeterminate !== undefined) {\n innerRef.current.indeterminate = indeterminate;\n }\n }, [innerRef, indeterminate]);\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n if (innerRef && innerRef.current && indeterminate !== undefined) {\n innerRef.current.indeterminate = indeterminate;\n }\n onChange?.call(innerRef.current, event);\n },\n [innerRef, indeterminate, onChange],\n );\n\n return (\n <Box is='label' className={className} rcx-check-box>\n {labelChildren}\n <Box\n is='input'\n type='checkbox'\n rcx-check-box__input\n ref={mergedRef}\n onChange={handleChange}\n {...props}\n />\n <Box is='i' rcx-check-box__fake aria-hidden='true' />\n </Box>\n );\n}\n\nexport default CheckBox;\n","import type { ReactNode } from 'react';\n\nexport type OptionAvatarProps = {\n children?: ReactNode;\n};\n\nconst OptionAvatar = (props: OptionAvatarProps) => (\n <div className='rcx-option__avatar' {...props} />\n);\n\nexport default OptionAvatar;\n","import type { ReactNode } from 'react';\n\nexport type OptionColumnProps = {\n children?: ReactNode;\n};\n\nconst OptionColumn = (props: OptionColumnProps) => (\n <div className='rcx-option__column' {...props} />\n);\n\nexport default OptionColumn;\n","import type { HTMLAttributes } from 'react';\n\nexport type OptionContentProps = HTMLAttributes<HTMLDivElement>;\n\nconst OptionContent = (props: OptionContentProps) => (\n <div className='rcx-option__content' {...props} />\n);\n\nexport default OptionContent;\n","import { Icon, type IconProps } from '../Icon';\n\nimport OptionColumn from './OptionColumn';\n\nexport type OptionIconProps = IconProps;\n\nconst OptionIcon = (props: OptionIconProps) => (\n <OptionColumn>\n <Icon size='x20' rcx-option__icon {...props} />\n </OptionColumn>\n);\n\nexport default OptionIcon;\n","import type {\n ReactNode,\n MouseEvent,\n AllHTMLAttributes,\n RefAttributes,\n} from 'react';\nimport { memo } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport type { BoxProps } from '../Box';\nimport type { IconProps } from '../Icon';\n\nimport OptionAvatar from './OptionAvatar';\nimport OptionColumn from './OptionColumn';\nimport OptionContent from './OptionContent';\nimport OptionIcon from './OptionIcon';\n\nexport type OptionProps<TLabel = ReactNode> = RefAttributes<Element> & {\n is?: BoxProps['is'];\n id?: string;\n children?: ReactNode;\n label?: TLabel;\n focus?: boolean;\n selected?: boolean;\n className?: BoxProps['className'];\n icon?: IconProps['name'];\n gap?: boolean;\n avatar?: ReactNode;\n title?: string;\n disabled?: boolean;\n value?: string | number;\n variant?: 'danger' | 'success' | 'warning' | 'primary';\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n description?: ReactNode;\n} & Omit<\n AllHTMLAttributes<HTMLElement>,\n | 'is'\n | 'id'\n | 'children'\n | 'label'\n | 'selected'\n | 'className'\n | 'ref'\n | 'icon'\n | 'gap'\n | 'avatar'\n | 'title'\n | 'disabled'\n | 'value'\n | 'variant'\n | 'onClick'\n | 'description'\n > &\n RefAttributes<Element>;\n\n/**\n * The generic `Option` item of options. Can be freely used or inside the `Options` as well.\n */\nfunction Option<TLabel = ReactNode>({\n is: Tag = 'li',\n id,\n children,\n label,\n focus,\n selected,\n className,\n icon,\n gap,\n avatar,\n title,\n disabled,\n variant,\n onClick,\n description,\n ...props\n}: OptionProps<TLabel>) {\n return (\n <Tag\n {...props}\n key={id}\n id={id}\n aria-selected={!!selected}\n aria-disabled={!!disabled}\n title={title}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n prevent(e);\n return;\n }\n onClick?.(e);\n }}\n className={[\n 'rcx-option',\n className,\n focus && 'rcx-option--focus',\n selected && 'rcx-option--selected',\n disabled && 'rcx-option--disabled',\n variant && `rcx-option--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n 'rcx-option__wrapper',\n !!description && 'rcx-option__wrapper--align-top',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {avatar && <OptionAvatar>{avatar}</OptionAvatar>}\n {icon && <OptionIcon name={icon} />}\n {gap && <OptionColumn />}\n {label && <OptionContent>{label as ReactNode}</OptionContent>}\n {label !== children && children}\n </div>\n </Tag>\n );\n}\n\nexport default memo(Option);\n","import { memo } from 'react';\n\nimport { CheckBox } from '../CheckBox';\n\nimport Option, { type OptionProps } from './Option';\n\nexport type CheckOptionProps = OptionProps;\n\nconst CheckOption = ({\n selected,\n children: label,\n ...options\n}: CheckOptionProps) => {\n return (\n <Option label={label as string} selected={selected} {...options}>\n <CheckBox checked={selected} />\n </Option>\n );\n};\n\nexport default memo(CheckOption);\n","import type { ReactNode } from 'react';\n\nexport type OptionDescriptionProps = {\n children?: ReactNode;\n};\n\nconst OptionDescription = (props: OptionDescriptionProps) => (\n <div className='rcx-option__description' {...props} />\n);\n\nexport default OptionDescription;\n","import type { ReactNode } from 'react';\n\nexport type OptionDescriptionBlockProps = {\n children?: ReactNode;\n};\n\nconst OptionDescriptionBlock = (props: OptionDescriptionBlockProps) => (\n <div className='rcx-option__description-block' {...props} />\n);\n\nexport default OptionDescriptionBlock;\n","import type { ReactNode } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type DividerProps = BoxProps & {\n variation?: 'danger';\n children?: ReactNode;\n vertical?: boolean;\n};\n\nconst Divider = ({ variation, children, vertical, ...props }: DividerProps) => {\n if (!children) {\n return (\n <Box\n is='hr'\n rcx-divider\n rcx-divider--vertical={vertical}\n rcx-divider--danger={variation === 'danger'}\n {...props}\n />\n );\n }\n return (\n <Box rcx-message-divider role='separator' {...props}>\n <div className='rcx-divider__bar' />\n <div className='rcx-divider__wrapper'>{children}</div>\n <div className='rcx-divider__bar' />\n </Box>\n );\n};\n\nexport default Divider;\n","import { Divider, type DividerProps } from '../Divider';\n\nexport type OptionDividerProps = DividerProps;\n\nconst OptionDivider = (props: OptionDividerProps) => <Divider {...props} />;\n\nexport default OptionDivider;\n","import type { ReactNode } from 'react';\n\nexport type OptionInputProps = {\n children?: ReactNode;\n};\n\nconst OptionInput = (props: OptionInputProps) => (\n <div className='rcx-option__input' {...props} />\n);\n\nexport default OptionInput;\n","import type { HTMLAttributes } from 'react';\n\nexport type OptionMenuProps = HTMLAttributes<HTMLDivElement>;\n\nconst OptionMenu = (props: OptionMenuProps) => (\n <div className='rcx-box--animated rcx-option__menu-wrapper' {...props} />\n);\n\nexport default OptionMenu;\n","import { Skeleton } from '../Skeleton';\n\nimport Option from './Option';\n\nconst OptionSkeleton = () => (\n <Option>\n <Skeleton width='100%' />\n </Option>\n);\n\nexport default OptionSkeleton;\n","import type { ReactNode } from 'react';\n\nexport type OptionTitleProps = {\n children?: ReactNode;\n};\n\nconst OptionTitle = (props: OptionTitleProps) => (\n <div className='rcx-option__title' {...props} />\n);\n\nexport default OptionTitle;\n","import type { ReactNode } from 'react';\n\nexport type OptionHeaderProps = {\n children: ReactNode;\n};\n\nconst OptionHeader = ({ children }: OptionHeaderProps) => (\n <div className='rcx-option__header'>{children}</div>\n);\n\nexport default OptionHeader;\n","import { css } from '@rocket.chat/css-in-js';\nimport { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { PropsWithChildren, MouseEvent, RefObject } from 'react';\nimport { useRef, useCallback } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { useStyle } from '../../hooks/useStyle';\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type ScrollableProps = PropsWithChildren<{\n horizontal?: boolean;\n vertical?: boolean;\n smooth?: boolean;\n onScrollContent?: (touching: { top: boolean }) => void;\n}>;\n\nconst getTouchingEdges = (element: Element) => ({\n top: !element.scrollTop,\n bottom: !(element.scrollTop + element.clientHeight - element.scrollHeight),\n left: !element.scrollLeft,\n right: !(element.scrollLeft + element.clientWidth - element.scrollWidth),\n});\n\nconst pollTouchingEdges = (\n element: EventTarget & Element,\n touchingEdgesRef: RefObject<Record<string, boolean>>,\n onScrollContent: ((touching: { top: boolean }) => void) | undefined,\n) => {\n const touchingEdges = touchingEdgesRef.current;\n const newTouchingEdges = getTouchingEdges(element);\n\n const dirty =\n touchingEdges &&\n (touchingEdges['top'] !== newTouchingEdges.top ||\n touchingEdges['bottom'] !== newTouchingEdges.bottom ||\n touchingEdges['left'] !== newTouchingEdges.left ||\n touchingEdges['right'] !== newTouchingEdges.right);\n\n if (dirty) {\n touchingEdgesRef.current = newTouchingEdges;\n onScrollContent?.(newTouchingEdges);\n }\n};\n\n/**\n * Add scroll capability to the wrapped component.\n */\nconst Scrollable = ({\n children,\n horizontal,\n vertical,\n smooth,\n onScrollContent,\n}: ScrollableProps) => {\n const scrollTimeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const touchingEdgesRef = useRef({});\n\n const handleScroll = useStableCallback((event: MouseEvent) => {\n const element = event.currentTarget;\n\n if (!scrollTimeoutRef.current) {\n pollTouchingEdges(element, touchingEdgesRef, onScrollContent);\n }\n\n if (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);\n\n scrollTimeoutRef.current = setTimeout(() => {\n scrollTimeoutRef.current = undefined;\n pollTouchingEdges(element, touchingEdgesRef, onScrollContent);\n }, 200);\n });\n\n const className = useStyle(\n css`\n position: relative;\n\n &::-webkit-scrollbar {\n width: ${4 / 16}rem;\n height: ${4 / 16}rem;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.05);\n background-color: var(\n --rcx-theme-scrollbar-thumb-color,\n rgba(0, 0, 0, 0.05)\n );\n }\n\n &:hover::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.15);\n background-color: var(\n --rcx-theme-scrollbar-thumb-hover-color,\n rgba(0, 0, 0, 0.15)\n );\n }\n\n ${(horizontal &&\n css`\n overflow-x: auto !important;\n `) ||\n (vertical &&\n css`\n overflow-y: auto !important;\n `) ||\n css`\n overflow: auto !important;\n `}\n ${smooth &&\n css`\n scroll-behavior: smooth !important;\n `}\n `,\n null,\n );\n\n const transformFn = useCallback(\n (props: any) => {\n props.className =\n className && appendClassName(props.className, className);\n\n if (onScrollContent !== undefined && props.onScroll === undefined) {\n props.onScroll = handleScroll;\n }\n\n return props;\n },\n [className, handleScroll, onScrollContent],\n );\n\n return (\n <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>\n {children}\n </BoxTransforms.Provider>\n );\n};\n\nexport default Scrollable;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type TileProps = Omit<BoxProps, 'ref'> & RefAttributes<HTMLElement>;\n\nfunction Tile({ elevation = '1', padding = 16, ...props }: TileProps) {\n return (\n <Box\n rcx-tile\n rcx-tile--elevation={elevation}\n padding={padding}\n {...props}\n />\n );\n}\n\nexport default Tile;\n","import { memo } from 'react';\n\nimport { Option } from '../Option';\n\nexport type OptionsEmptyProps = {\n customEmpty?: string;\n};\n\nconst OptionsEmpty = ({ customEmpty }: OptionsEmptyProps) => (\n <Option label={customEmpty || 'Empty'} />\n);\n\nexport default memo(OptionsEmpty);\n","import type {\n ComponentType,\n MouseEventHandler,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport { useLayoutEffect, useMemo, useRef } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport { Box, type BoxProps } from '../Box';\nimport { Option, OptionHeader, OptionDivider } from '../Option';\nimport { Scrollable } from '../Scrollable';\nimport { Tile } from '../Tile';\n\nimport type { OptionType } from './OptionType';\nimport OptionsEmpty from './OptionsEmpty';\n\nexport type OptionsProps<\n TValue extends string | number = string | number,\n TLabel = ReactNode,\n> = Omit<BoxProps, 'ref' | 'onSelect'> &\n RefAttributes<HTMLElement> & {\n multiple?: boolean;\n options: OptionType<TValue, TLabel>[];\n cursor: number;\n renderItem?: ComponentType<{\n role?: string;\n label: TLabel;\n value: TValue;\n selected?: boolean;\n focus?: boolean;\n disabled?: boolean;\n onMouseDown: MouseEventHandler;\n }>;\n renderEmpty?: ComponentType<{\n customEmpty?: string;\n }>;\n onSelect: (option: OptionType<TValue, TLabel>) => void;\n customEmpty?: string;\n };\n\n/**\n * An input for selection of options.\n */\nfunction Options<\n TValue extends string | number = string | number,\n TLabel = ReactNode,\n>({\n maxHeight = 'x144',\n multiple,\n renderEmpty: EmptyComponent = OptionsEmpty,\n options,\n cursor,\n renderItem: OptionComponent = Option,\n onSelect,\n customEmpty,\n id,\n ...props\n}: OptionsProps<TValue, TLabel>) {\n const liRef = useRef<HTMLElement>(null);\n\n useLayoutEffect(() => {\n if (!liRef.current) {\n return;\n }\n const { current } = liRef;\n const li = current?.querySelector<HTMLLIElement>('.rcx-option--focus');\n if (!li) {\n return;\n }\n if (\n li.offsetTop + li.clientHeight >\n current.scrollTop + current.clientHeight ||\n li.offsetTop - li.clientHeight < current.scrollTop\n ) {\n current.scrollTop = li.offsetTop;\n }\n }, [cursor]);\n\n const optionsMemoized = useMemo(\n () =>\n options.map(([value, label, selected, disabled, type, url], i) => {\n switch (type) {\n case 'heading':\n return <OptionHeader key={value}>{label}</OptionHeader>;\n case 'divider':\n return <OptionDivider key={value} />;\n default:\n return (\n <OptionComponent\n role='option'\n label={label}\n onMouseDown={(e) => {\n if (disabled) return;\n\n prevent(e);\n onSelect([value, label, selected, disabled, type, url]);\n }}\n key={value}\n value={value}\n selected={!!selected}\n disabled={disabled}\n focus={cursor === i}\n />\n );\n }\n }),\n [options, cursor, onSelect, OptionComponent],\n );\n\n return (\n <Box rcx-options {...props}>\n <Tile padding={0} paddingBlock={'x12'} paddingInline={0} elevation='2'>\n <Scrollable vertical smooth>\n <Tile\n ref={liRef}\n elevation='0'\n padding='none'\n maxHeight={maxHeight}\n onMouseDown={prevent}\n onClick={prevent}\n is='ol'\n aria-multiselectable={multiple || true}\n role='listbox'\n id={id}\n aria-activedescendant={\n options?.[cursor]?.[0]\n ? String(options?.[cursor]?.[0])\n : undefined\n }\n >\n {!options.length && <EmptyComponent customEmpty={customEmpty} />}\n {optionsMemoized}\n </Tile>\n </Scrollable>\n </Tile>\n </Box>\n );\n}\n\nexport default Options;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Scrollable } from '../Scrollable';\nimport { Tile } from '../Tile';\n\nexport type OptionContainerProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement>;\n\nfunction OptionContainer(props: OptionContainerProps) {\n return (\n <Box rcx-options>\n <Tile padding={0} paddingBlock={'x12'} paddingInline={0}>\n <Scrollable vertical smooth>\n <Tile elevation='0' padding='none' maxHeight='x240' {...props} />\n </Scrollable>\n </Tile>\n </Box>\n );\n}\n\nexport default OptionContainer;\n","import {\n useStableCallback,\n useDebouncedState,\n} from '@rocket.chat/fuselage-hooks';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\n\nexport type VisibilityHandler = [\n visible:\n | typeof AnimatedVisibility.HIDDEN\n | typeof AnimatedVisibility.HIDING\n | typeof AnimatedVisibility.VISIBLE\n | typeof AnimatedVisibility.UNHIDING,\n hide: () => void,\n show: () => void,\n];\n\nexport const useVisible = (\n initialVisibility:\n | typeof AnimatedVisibility.HIDDEN\n | typeof AnimatedVisibility.HIDING\n | typeof AnimatedVisibility.VISIBLE\n | typeof AnimatedVisibility.UNHIDING = AnimatedVisibility.HIDDEN,\n): VisibilityHandler => {\n const [visible, setVisible] = useDebouncedState(initialVisibility, 10);\n const hide = useStableCallback(() => setVisible(AnimatedVisibility.HIDDEN));\n const show = useStableCallback(() => setVisible(AnimatedVisibility.VISIBLE));\n\n return [visible, hide, show];\n};\n","import { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { KeyboardEvent } from 'react';\nimport { useState } from 'react';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\n\nimport type { OptionType } from './OptionType';\nimport type { VisibilityHandler } from './useVisible';\nimport { useVisible } from './useVisible';\n\nconst keyCodes = {\n ESC: 27,\n KEY_UP: 38,\n KEY_DOWN: 40,\n HOME: 36,\n END: 35,\n TAB: 9,\n ENTER: 13,\n};\n\nconst findLastIndex = <T>(\n options: T[],\n predicate: (value: T, index: number, obj: T[]) => unknown,\n) => {\n for (let i = options.length - 1; i >= 0; i--) {\n if (predicate(options[i], i, options)) {\n return i;\n }\n }\n\n return -1;\n};\n\nconst findPreviousIndex = <T>(\n options: T[],\n predicate: (value: T, index: number, obj: T[]) => unknown,\n currentIndex: number,\n) => {\n for (let i = currentIndex - 1; i >= 0; i--) {\n if (predicate(options[i], i, options)) {\n return i;\n }\n }\n\n return -1;\n};\n\nconst findNextIndex = <T>(\n options: T[],\n predicate: (value: T, index: number, obj: T[]) => unknown,\n currentIndex: number,\n) => {\n for (let i = currentIndex + 1; i < options.length; i++) {\n if (predicate(options[i], i, options)) {\n return i;\n }\n }\n\n return -1;\n};\n\nexport const useCursor = <\n T extends readonly [\n value: unknown,\n label: unknown,\n selected?: unknown,\n disabled?: unknown,\n type?: OptionType[4],\n url?: string,\n ] = OptionType,\n>(\n initial: number,\n options: Array<T>,\n onChange: (option: T, visibilityHandler: VisibilityHandler) => void,\n): [\n cursor: number,\n handleKeyDown: (e: KeyboardEvent) => void,\n handleKeyUp: (e: KeyboardEvent) => void,\n reset: () => void,\n visibilityHandler: VisibilityHandler,\n] => {\n const [cursor, setCursor] = useState(initial);\n const visibilityHandler = useVisible();\n const [visibility, hide, show] = visibilityHandler;\n const reset = useStableCallback(() => setCursor(0));\n const handleKeyUp = useStableCallback((e: KeyboardEvent) => {\n const { keyCode } = e;\n if (AnimatedVisibility.HIDDEN === visibility && keyCode === keyCodes.TAB) {\n return show();\n }\n });\n\n const handleKeyDown = useStableCallback((e: KeyboardEvent) => {\n const isSelectableOption = ([, , , type]: T) => !type || type === 'option';\n const getLastIndex = () => findLastIndex(options, isSelectableOption);\n\n const { keyCode, key } = e;\n if (\n AnimatedVisibility.HIDDEN === visibility &&\n keyCode !== keyCodes.ESC &&\n keyCode !== keyCodes.TAB\n ) {\n show();\n }\n switch (keyCode) {\n case keyCodes.HOME:\n e.preventDefault();\n return reset();\n\n case keyCodes.END:\n e.preventDefault();\n return setCursor(getLastIndex());\n\n case keyCodes.KEY_UP:\n e.preventDefault();\n if (cursor < 1) {\n return setCursor(getLastIndex());\n }\n return setCursor((cursor) =>\n findPreviousIndex(options, isSelectableOption, cursor),\n );\n\n case keyCodes.KEY_DOWN:\n e.preventDefault();\n if (cursor === getLastIndex()) {\n return setCursor(0);\n }\n return setCursor((cursor) =>\n findNextIndex(options, isSelectableOption, cursor),\n );\n\n case keyCodes.ENTER:\n e.preventDefault();\n if (visibility === AnimatedVisibility.VISIBLE) {\n e.persist();\n e.nativeEvent.stopImmediatePropagation(); // TODO\n e.stopPropagation();\n }\n hide();\n onChange(options[cursor], visibilityHandler);\n return;\n\n case keyCodes.ESC:\n e.preventDefault();\n reset();\n hide();\n if (visibility === AnimatedVisibility.VISIBLE) {\n e.persist();\n e.nativeEvent.stopImmediatePropagation(); // TODO\n e.stopPropagation();\n return false;\n }\n break;\n\n default:\n if (key.match(/^[\\d\\w]$/i)) {\n const index = options.findIndex((option) => {\n if (!isSelectableOption(option)) {\n return false;\n }\n\n const [, label] = option;\n return typeof label === 'string' && label[0].toLowerCase() === key;\n });\n if (~index) setCursor(index);\n }\n }\n });\n\n return [cursor, handleKeyDown, handleKeyUp, reset, visibilityHandler];\n};\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport { usePosition } from '@rocket.chat/fuselage-hooks';\nimport type { RefObject, ReactElement } from 'react';\nimport { useRef, useMemo, cloneElement, useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useOwnerDocument } from '../../contexts';\nimport type { BoxProps } from '../Box';\n\nexport type PositionProps = Omit<BoxProps, 'children' | 'margin'> & {\n anchor: RefObject<Element | null>;\n children: ReactElement<any>;\n margin?: number;\n placement?: UsePositionOptions['placement'];\n};\n\nconst Position = ({\n anchor,\n children,\n placement,\n margin,\n className: _className,\n ...props\n}: PositionProps) => {\n const target = useRef<Element>(null);\n const { style: positionStyle, placement: positionPlacement } =\n usePosition(\n anchor,\n target,\n useMemo(() => ({ placement, margin }), [placement, margin]),\n ) || {};\n\n const style = useMemo(\n () => ({ position: 'fixed', ...positionStyle }),\n [positionStyle],\n );\n\n const { document: ownerDocument } = useOwnerDocument();\n\n const [portalContainer] = useState(() => {\n const prev = ownerDocument.getElementById('position-container');\n if (prev) {\n return prev;\n }\n const element = ownerDocument.createElement('div');\n\n element.id = 'position-container';\n\n ownerDocument.body.appendChild(element);\n return element;\n });\n\n useEffect(\n () => () => {\n if (portalContainer.childNodes.length === 0) {\n ownerDocument.body.removeChild(portalContainer);\n }\n },\n [portalContainer, ownerDocument],\n );\n\n return createPortal(\n cloneElement(children, {\n ref: target,\n style,\n ...props,\n placement: positionPlacement,\n }),\n portalContainer,\n );\n};\n\nexport default Position;\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport type { ReactElement, RefObject } from 'react';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport type { BoxProps } from '../Box';\n\nimport Position from './Position';\n\nexport type PositionAnimatedProps = Omit<BoxProps, 'children' | 'margin'> & {\n anchor: RefObject<Element | null>;\n children: ReactElement<any>;\n margin?: number;\n placement?: UsePositionOptions['placement'];\n visible?: 'hidden' | 'visible' | 'hiding' | 'unhiding';\n};\n\nconst PositionAnimated = ({\n width: _width,\n visible,\n children,\n ...props\n}: PositionAnimatedProps) => (\n <AnimatedVisibility visibility={visible}>\n <Position {...props}>{children}</Position>\n </AnimatedVisibility>\n);\n\nexport default PositionAnimated;\n","import {\n useStableCallback,\n useResizeObserver,\n useMergedRefs,\n} from '@rocket.chat/fuselage-hooks';\nimport type {\n AllHTMLAttributes,\n ChangeEvent,\n ComponentType,\n FocusEvent,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport { useEffect, useRef, useMemo, useState } from 'react';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Chip } from '../Chip';\nimport { Icon } from '../Icon';\nimport { Input } from '../InputBox';\nimport { Margins } from '../Margins';\nimport { useCursor, Options, type OptionType } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\n\nexport type AutoCompleteOption<TLabel> = {\n value: string;\n label: TLabel;\n};\n\nconst getSelected = <TLabel,>(\n value: string | string[] | undefined,\n options: AutoCompleteOption<TLabel>[],\n) => {\n if (!value) {\n return [];\n }\n return typeof value === 'string'\n ? options.filter((option) => option.value === value)\n : options?.filter((option) => value.includes(option.value));\n};\n\nconst isSelectedValid =\n <TLabel,>(value: string | string[] | undefined) =>\n (selected: AutoCompleteOption<TLabel>) => {\n if (!value) {\n return false;\n }\n\n return typeof value === 'string'\n ? selected.value === value\n : value.includes(selected.value);\n };\n\n/**\n * @deprecated Use `SelectFilteredProps` or `MultiSelectFilteredProps` instead.\n */\nexport type AutoCompleteProps<TLabel = ReactNode> = Omit<\n AllHTMLAttributes<HTMLInputElement>,\n 'value' | 'onChange' | 'is'\n> & {\n filter: string;\n setFilter?: (filter: string) => void;\n options?: AutoCompleteOption<TLabel>[];\n renderSelected?: ComponentType<{\n selected: AutoCompleteOption<TLabel>;\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n }>;\n onChange: (value: string | string[]) => void;\n renderItem?: ComponentType<{\n role?: string;\n label: TLabel;\n value: string;\n selected?: boolean;\n focus?: boolean;\n onMouseDown: MouseEventHandler;\n }>;\n renderEmpty?: ComponentType<{\n customEmpty?: string;\n }>;\n placeholder?: string;\n error?: boolean;\n disabled?: boolean;\n multiple?: boolean;\n value?: string | string[];\n} & RefAttributes<HTMLInputElement>;\n\n/**\n * An input for selection of options.\n *\n * @deprecated Use `SelectFiltered` or `MultiSelectFiltered` instead.\n */\nfunction AutoComplete<TLabel = ReactNode>({\n ref,\n value,\n filter,\n setFilter,\n options = [],\n renderItem,\n renderSelected: RenderSelected,\n onChange,\n renderEmpty,\n placeholder,\n error,\n disabled,\n multiple,\n onBlur: onBlurAction = () => {},\n ...props\n}: AutoCompleteProps<TLabel>) {\n const innerRef = useRef<HTMLInputElement>(null);\n const mergedRefs = useMergedRefs(ref, innerRef);\n const { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n const [selected, setSelected] = useState(\n () => getSelected(value, options) || [],\n );\n\n useEffect(() => {\n // Validates if selected items are still valid after value changes\n setSelected((selected) => {\n return !selected.every(isSelectedValid(value))\n ? selected.filter(isSelectedValid(value))\n : selected;\n });\n }, [value]);\n\n const handleSelect = useStableCallback(\n ([newValue]: OptionType<string, TLabel>) => {\n if (selected.some((item) => item.value === newValue)) {\n hide();\n return;\n }\n\n if (multiple) {\n setSelected([...selected, ...getSelected(newValue as string, options)]);\n onChange([...(value || []), newValue as string]);\n } else {\n setSelected(getSelected(newValue as string, options));\n onChange(newValue as string);\n }\n\n setFilter?.('');\n hide();\n },\n );\n\n const handleRemove = useStableCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n event.preventDefault();\n\n const filtered = selected.filter(\n (item) => item.value !== event.currentTarget.value,\n );\n\n const filteredValue =\n multiple && Array.isArray(value)\n ? value?.filter((item) => item !== event.currentTarget.value) || []\n : '';\n\n setSelected(filtered);\n onChange(filteredValue);\n hide();\n },\n );\n\n const memoizedOptions = useMemo(\n () =>\n options.map(\n ({ value, label }): OptionType<string, TLabel> => [value, label],\n ),\n [options],\n );\n\n const firstSelectedIndex = useMemo(\n () => options.findIndex((option) => selected[0]?.value === option.value),\n [options, selected],\n );\n\n const [cursor, handleKeyDown, , reset, [optionsAreVisible, hide, show]] =\n useCursor(firstSelectedIndex, memoizedOptions, handleSelect);\n\n const handleOnBlur = useStableCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n hide();\n onBlurAction(event);\n },\n );\n\n useEffect(reset, [filter, reset]);\n\n return (\n <Box\n animated\n rcx-autocomplete\n ref={containerRef}\n onClick={useStableCallback(() => innerRef.current?.focus())}\n flexGrow={1}\n className={useMemo(\n () => [error && 'invalid', disabled && 'disabled'],\n [error, disabled],\n )}\n >\n <Box\n display='flex'\n flexGrow={1}\n alignItems='center'\n flexWrap='wrap'\n margin='neg-x4'\n role='group'\n >\n <Margins all='x4'>\n <Input\n ref={mergedRefs}\n onChange={useStableCallback((e: ChangeEvent<HTMLInputElement>) =>\n setFilter?.(e.currentTarget.value),\n )}\n onBlur={handleOnBlur}\n onFocus={show}\n onKeyDown={handleKeyDown}\n placeholder={\n optionsAreVisible === AnimatedVisibility.HIDDEN || !value\n ? placeholder\n : undefined\n }\n order={1}\n rcx-input-box--undecorated\n value={filter}\n disabled={disabled}\n {...props}\n />\n {selected.map((itemSelected) =>\n RenderSelected ? (\n <RenderSelected\n key={itemSelected.value}\n selected={itemSelected}\n onRemove={handleRemove}\n />\n ) : (\n <Chip\n key={itemSelected.value}\n value={itemSelected.value}\n onClick={handleRemove}\n >\n {itemSelected.label as ReactNode}\n </Chip>\n ),\n )}\n </Margins>\n </Box>\n <Box rcx-autocomplete__addon>\n <Icon\n name={\n optionsAreVisible === AnimatedVisibility.VISIBLE\n ? 'cross'\n : 'magnifier'\n }\n size='x20'\n color='titles-labels'\n />\n </Box>\n <PositionAnimated visible={optionsAreVisible} anchor={containerRef}>\n <Options\n width={borderBoxSize.inlineSize}\n onSelect={handleSelect}\n renderItem={renderItem}\n renderEmpty={renderEmpty}\n cursor={cursor}\n value={value}\n options={memoizedOptions}\n />\n </PositionAnimated>\n </Box>\n );\n}\n\nexport default AutoComplete;\n","import type { ElementType, HTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type BadgeProps = {\n is?: ElementType<HTMLAttributes<HTMLSpanElement>>;\n variant?: 'secondary' | 'primary' | 'danger' | 'warning';\n small?: boolean;\n className?: string;\n children?: ReactNode;\n title?: string;\n} & HTMLAttributes<HTMLSpanElement>;\n\n/**\n * Communicates notification’s amount and types.\n */\nfunction Badge({\n is: Tag = 'span',\n variant = 'secondary',\n small,\n className,\n ...props\n}: BadgeProps) {\n const modifiers = [variant, small && 'small']\n .filter(Boolean)\n .map((modifier) => `rcx-badge--${modifier}`)\n .join(' ');\n\n return (\n <Tag\n className={prependClassName(\n className,\n `rcx-box rcx-box--full rcx-badge ${modifiers}`,\n )}\n {...props}\n />\n );\n}\n\nexport default Badge;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type ButtonProps = Omit<BoxProps, 'ref'> & {\n variant?:\n | 'primary'\n | 'secondary'\n | 'danger'\n | 'warning'\n | 'success'\n | 'secondary-danger'\n | 'secondary-warning'\n | 'secondary-success';\n size?: 'mini' | 'tiny' | 'small' | 'medium' | 'large';\n /** @deprecated Use `variant=\"primary\"` instead. */\n primary?: boolean;\n /** @deprecated Use `variant=\"secondary\"` instead. */\n secondary?: boolean;\n /** @deprecated Use `variant=\"danger\"` instead. */\n danger?: boolean;\n /** @deprecated Use `variant=\"warning\"` instead. */\n warning?: boolean;\n /** @deprecated Use `variant=\"success\"` instead. */\n success?: boolean;\n disabled?: boolean;\n loading?: boolean;\n /** @deprecated Use `size=\"mini\"` instead. */\n mini?: boolean;\n /** @deprecated Use `size=\"tiny\"` instead. */\n tiny?: boolean;\n /** @deprecated Use `size=\"small\"` instead. */\n small?: boolean;\n /** @deprecated Use `size=\"medium\"` instead. */\n medium?: boolean;\n /** @deprecated Use `size=\"large\"` instead. */\n large?: boolean;\n square?: boolean;\n external?: boolean;\n icon?: IconProps['name'];\n} & Omit<\n AllHTMLAttributes<HTMLButtonElement | HTMLAnchorElement>,\n 'is' | 'className' | 'size'\n > &\n RefAttributes<HTMLButtonElement | HTMLAnchorElement>;\n\n/**\n * Indicates an actionable user action.\n */\nfunction Button({\n ref,\n variant,\n primary,\n secondary,\n danger,\n warning,\n success,\n external,\n icon,\n is = 'button',\n rel: _rel,\n size,\n tiny,\n mini,\n small,\n medium,\n large,\n square,\n loading,\n disabled,\n children,\n ...props\n}: ButtonProps) {\n const extraProps =\n (is === 'a' && {\n rel: external ? 'noopener noreferrer' : undefined,\n target: external ? '_blank' : undefined,\n }) ||\n (is === 'button' && {\n type: 'button',\n }) ||\n {};\n\n const kindAndVariantProps = useMemo(() => {\n const kind =\n variant ||\n (primary && 'primary') ||\n (secondary && success && 'secondary-success') ||\n (secondary && warning && 'secondary-warning') ||\n (secondary && danger && 'secondary-danger') ||\n (success && 'success') ||\n (warning && 'warning') ||\n (danger && 'danger') ||\n (secondary && 'secondary');\n\n if (kind) {\n return {\n [`rcx-button--${kind}`]: true,\n };\n }\n\n return {};\n }, [variant, primary, secondary, danger, warning, success]);\n\n const effectiveSize =\n size ||\n (mini && 'mini') ||\n (tiny && 'tiny') ||\n (small && 'small') ||\n (medium && 'medium') ||\n (large && 'large') ||\n undefined;\n\n return (\n <Box\n is={is}\n type='button'\n rcx-button\n {...kindAndVariantProps}\n rcx-button--small={effectiveSize === 'small'}\n rcx-button--medium={effectiveSize === 'medium'}\n rcx-button--large={effectiveSize === 'large'}\n rcx-button--square={square}\n rcx-button--tiny-square={effectiveSize === 'tiny' && square}\n rcx-button--mini-square={effectiveSize === 'mini' && square}\n rcx-button--small-square={effectiveSize === 'small' && square}\n rcx-button--medium-square={effectiveSize === 'medium' && square}\n rcx-button--large-square={effectiveSize === 'large' && square}\n rcx-button--loading={loading}\n disabled={disabled || loading}\n ref={ref}\n {...extraProps}\n {...props}\n >\n <span className='rcx-button--content'>\n {icon && !loading && (\n <Icon size='x16' name={icon} marginInlineEnd={4} />\n )}\n {loading && <Icon size='x16' name='loading' marginInlineEnd={4} />}\n {children}\n </span>\n </Box>\n );\n}\n\nexport default Button;\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { isValidElement, useMemo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Icon } from '../Icon';\n\nexport type IconButtonSize = {\n large?: boolean;\n medium?: boolean;\n small?: boolean;\n tiny?: boolean;\n mini?: boolean;\n};\n\nexport type IconButtonProps = {\n icon: IconName | ReactElement<any>;\n /**\n * What to pin to the button's corner, if anything — a `Badge`, as a rule.\n *\n * It is hidden from assistive technology, always: `aria-label` replaces a button's contents rather than adding\n * to them, so a badge inside a labelled button is never read out. What it says has to reach `aria-label`\n * instead, which is the caller's to write.\n */\n badge?: ReactNode;\n primary?: boolean;\n secondary?: boolean;\n info?: boolean;\n danger?: boolean;\n warning?: boolean;\n success?: boolean;\n pressed?: boolean;\n} & IconButtonSize &\n BoxProps;\n\nconst getVariantClass = (variant: string) => {\n if (variant) {\n const variantClass = [\n `rcx-button--icon-${[variant].filter(Boolean).join('-')}`,\n ];\n return variantClass;\n }\n return [''];\n};\n\nconst getPressedClass = (variant: string) => {\n const variantClass = [\n `rcx-button--icon-${[variant].filter(Boolean).join('-')}-pressed`,\n ];\n return variantClass;\n};\n\nfunction IconButton({\n icon,\n badge,\n primary,\n info,\n secondary,\n danger,\n warning,\n success,\n mini,\n large,\n tiny,\n small,\n medium,\n pressed,\n children,\n ...props\n}: IconButtonProps) {\n const variant = useMemo(\n () =>\n (secondary && danger && 'secondary-danger') ||\n (secondary && warning && 'secondary-warning') ||\n (secondary && success && 'secondary-success') ||\n (secondary && info && 'secondary-info') ||\n (info && 'info') ||\n (success && 'success') ||\n (warning && 'warning') ||\n (danger && 'danger') ||\n (primary && 'secondary-info') ||\n (secondary && 'secondary') ||\n '',\n [danger, info, primary, secondary, success, warning],\n );\n\n const kindAndVariantProps = useMemo(() => {\n const variantProp = {} as any;\n if (variant) {\n variantProp[`${getVariantClass(variant)}`] = true;\n }\n if (pressed) {\n variantProp[`${getPressedClass(variant)}`] = true;\n }\n return variantProp;\n }, [variant, pressed]);\n\n const size = useMemo(\n () =>\n (mini && 'mini') ||\n (tiny && 'tiny') ||\n (small && 'small') ||\n (medium && 'medium') ||\n (large && 'large') ||\n 'large',\n [medium, mini, small, tiny, large],\n );\n\n const getSizeClass = () => ({ [`rcx-button--${size}-square`]: true });\n\n const getIconSize = () =>\n (large && 'x28') ||\n (medium && 'x24') ||\n (small && 'x20') ||\n (tiny && 'x16') ||\n (mini && 'x12') ||\n 'x28';\n\n return (\n <Box\n is='button'\n type='button'\n rcx-button\n rcx-button--icon\n rcx-button--square\n {...kindAndVariantProps}\n {...getSizeClass()}\n rcx-button--icon-pressed={pressed}\n rcx-button--with-badge={Boolean(badge)}\n {...props}\n >\n {isValidElement<any>(icon) ? (\n icon\n ) : (\n <Icon name={icon} size={getIconSize()} />\n )}\n {Boolean(badge) && (\n <span className='rcx-button__badge' aria-hidden='true'>\n {badge}\n </span>\n )}\n {children}\n </Box>\n );\n}\n\nexport default IconButton;\n","import {\n useBorderBoxSize,\n useButtonPattern,\n} from '@rocket.chat/fuselage-hooks';\nimport type {\n ReactNode,\n AllHTMLAttributes,\n HTMLAttributeAnchorTarget,\n MouseEvent,\n} from 'react';\nimport { useRef, useCallback, useMemo } from 'react';\n\nimport { composeClassNames as cx } from '../../helpers/composeClassNames';\nimport { IconButton } from '../Button';\n\nexport type BannerVariant =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nconst variants: BannerVariant[] = [\n 'neutral',\n 'info',\n 'success',\n 'warning',\n 'danger',\n];\n\nexport type BannerProps = {\n actionable?: boolean;\n closeable?: boolean;\n icon?: ReactNode;\n inline?: boolean;\n link?: string;\n linkTarget?: HTMLAttributeAnchorTarget;\n linkText?: string;\n onAction?: () => void;\n onClose?: () => void;\n title?: string;\n variant?: BannerVariant;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst Banner = ({\n actionable,\n children,\n className,\n closeable,\n icon,\n inline = false,\n link,\n linkText = 'More info',\n linkTarget = '_blank',\n onAction,\n onClose,\n title,\n variant = 'neutral',\n ...props\n}: BannerProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const { inlineSize } = useBorderBoxSize(ref, {\n debounceDelay: 70,\n });\n\n const isIconVisible = useMemo(() => inlineSize > 375, [inlineSize]);\n\n variant = variants.includes(variant) ? variant : variants[0];\n\n const handleBannerClick = useCallback(() => {\n if (onAction) {\n onAction();\n }\n }, [onAction]);\n\n const handleCloseButtonClick = useCallback(\n (event: MouseEvent) => {\n event.stopPropagation();\n\n if (onClose) {\n onClose();\n }\n },\n [onClose],\n );\n\n const buttonProps = useButtonPattern(handleBannerClick);\n\n return (\n <div\n className={cx('rcx-banner')(\n { [variant]: true, inline, actionable },\n className,\n )}\n ref={ref}\n {...(onAction ? { ...buttonProps } : { role: 'banner', tabIndex: -1 })}\n {...props}\n >\n {icon && isIconVisible && (\n <div\n className={cx(`rcx-banner__icon rcx-banner__icon--${variant}`)({\n inline,\n })}\n >\n {icon}\n </div>\n )}\n <div className={cx('rcx-banner__content')({ inline })}>\n {title && (\n <h6 className={cx('rcx-banner__title')({ inline })}>{title}</h6>\n )}\n {children}\n {link && (\n <a\n href={link}\n target={linkTarget}\n className={cx('rcx-banner__link')({ [variant]: true })}\n >\n {linkText}\n </a>\n )}\n </div>\n {closeable && (\n <div className={cx('rcx-banner__close-button')({ inline })}>\n <IconButton small onClick={handleCloseButtonClick} icon='cross' />\n </div>\n )}\n </div>\n );\n};\n\nexport default Banner;\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../Icon';\n\ntype BubbleButtonProps = {\n onClick: () => void;\n label?: ReactNode;\n secondary?: boolean;\n icon?: IconName;\n} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>;\n\nexport const BubbleButton = ({\n secondary,\n label,\n onClick,\n icon,\n ...props\n}: BubbleButtonProps) => (\n <button\n className={`rcx-box rcx-box--full rcx-bubble__button ${\n secondary\n ? 'rcx-bubble__button--secondary'\n : 'rcx-bubble__button--primary'\n }`}\n onClick={onClick}\n {...props}\n >\n {icon && <Icon name={icon} size='x16' />}\n {label && <span>{label}</span>}\n </button>\n);\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../Icon';\n\ntype BubbleItemProps = {\n label?: ReactNode;\n secondary?: boolean;\n icon?: IconName;\n} & HTMLAttributes<HTMLSpanElement>;\n\nexport const BubbleItem = ({\n secondary,\n label,\n icon,\n ...props\n}: BubbleItemProps) => (\n <span\n className={`rcx-bubble__item ${\n secondary ? 'rcx-bubble__item--secondary' : 'rcx-bubble__item--primary'\n }`}\n {...props}\n >\n {icon && <Icon name={icon} size='x16' marginInlineEnd={8} />}\n {label && <span>{label}</span>}\n </span>\n);\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { AllHTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { BubbleButton } from './BubbleButton';\nimport { BubbleItem } from './BubbleItem';\n\nexport type BubbleProps = {\n secondary?: boolean;\n children: ReactNode;\n small?: boolean;\n onClick?: () => void;\n icon?: IconName;\n onDismiss?: () => void;\n contentProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>;\n dismissProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>;\n} & Omit<AllHTMLAttributes<HTMLDivElement>, 'onClick'>;\n\nconst Bubble = ({\n secondary,\n children,\n onClick,\n icon,\n onDismiss,\n small,\n contentProps,\n dismissProps,\n ...props\n}: BubbleProps) => (\n <div\n className={[\n 'rcx-bubble',\n 'rcx-box',\n 'rcx-box--full',\n onDismiss && 'rcx-bubble__group',\n small && 'rcx-bubble--small',\n ].join(' ')}\n {...props}\n >\n {onClick ? (\n <BubbleButton\n onClick={onClick}\n secondary={secondary}\n icon={icon}\n label={children}\n {...contentProps}\n />\n ) : (\n <BubbleItem\n secondary={secondary}\n icon={icon}\n label={children}\n {...contentProps}\n />\n )}\n {onDismiss && (\n <BubbleButton\n onClick={onDismiss}\n secondary={secondary}\n icon='cross-small'\n {...{ 'aria-label': `Dismiss ${children}`, ...dismissProps }}\n />\n )}\n </div>\n);\n\nexport default Bubble;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type ButtonGroupProps = RefAttributes<HTMLDivElement> & {\n align?: 'start' | 'center' | 'end';\n stretch?: boolean;\n wrap?: boolean;\n vertical?: boolean;\n small?: boolean;\n large?: boolean;\n} & HTMLAttributes<HTMLDivElement>;\n\n/**\n * A container for grouping buttons that semantically share a common action context.\n */\nfunction ButtonGroup({\n align = 'start',\n children,\n stretch,\n vertical,\n wrap,\n small,\n large,\n className,\n ...props\n}: ButtonGroupProps) {\n return (\n <div\n className={[\n 'rcx-button-group',\n stretch && 'rcx-button-group--stretch',\n vertical && 'rcx-button-group--vertical',\n align && `rcx-button-group--align-${align}`,\n small && 'rcx-button-group--small',\n large && 'rcx-button-group--large',\n wrap && 'rcx-button-group--wrap',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n role='group'\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport default ButtonGroup;\n","import { useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type CalloutProps = Omit<BoxProps, 'type' | 'name'> & {\n type?: 'info' | 'success' | 'warning' | 'danger';\n title?: ReactNode;\n children?: ReactNode;\n icon?: IconProps['name'];\n actions?: ReactNode;\n};\n\nconst WRAPPER_LIMIT_SIZE = 420;\n\n/**\n * The `Callout` is used to get the user's attention explaining something important in the content of the current page.\n */\nconst Callout = ({\n type,\n title,\n children,\n icon,\n className,\n actions,\n ...props\n}: CalloutProps) => {\n const { ref, borderBoxSize } = useResizeObserver();\n const isLarge =\n borderBoxSize.inlineSize && borderBoxSize.inlineSize >= WRAPPER_LIMIT_SIZE;\n\n const defaultIcon =\n (type === 'info' && 'info-circled') ||\n (type === 'success' && 'checkmark-circled') ||\n (type === 'warning' && 'warning') ||\n (type === 'danger' && 'ban') ||\n 'info-circled';\n\n return (\n <Box\n ref={ref}\n is='section'\n className={['rcx-callout', type && `rcx-callout--${type}`, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <Icon\n className='rcx-callout__icon'\n name={icon || defaultIcon}\n size='x20'\n />\n <Box rcx-callout__wrapper rcx-callout__wrapper--large={isLarge}>\n <Box rcx-callout__wrapper-content>\n {title && <Box rcx-callout__title>{title}</Box>}\n {children && <Box rcx-callout__content>{children}</Box>}\n </Box>\n {actions && <Box rcx-callout__actions>{actions}</Box>}\n </Box>\n </Box>\n );\n};\n\nexport default Callout;\n","import { useBreakpoints } from '@rocket.chat/fuselage-hooks';\nimport type { AllHTMLAttributes } from 'react';\n\nimport { Box } from '../Box';\n\nexport type CardProps = {\n horizontal?: boolean;\n hero?: boolean;\n clickable?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst Card = ({ horizontal, hero, clickable, ...props }: CardProps) => {\n const breakpoints = useBreakpoints();\n const isMobile = !breakpoints.includes('sm');\n\n return (\n <Box\n rcx-card\n rcx-card__horizontal={horizontal}\n rcx-card__vertical={!horizontal}\n rcx-card__hero={hero}\n rcx-card__horizontal--wrap={horizontal && isMobile}\n rcx-card__clickable={clickable}\n {...props}\n />\n );\n};\n\nexport default Card;\n","import type { AllHTMLAttributes, CSSProperties, ReactNode } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type CardBodyProps = {\n flexDirection?: CSSProperties['flexDirection'];\n height?: BoxProps['height'];\n children: ReactNode;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst CardBody = ({\n children,\n flexDirection = 'row',\n height,\n ...props\n}: CardBodyProps) => (\n <Box\n fontScale='p2m'\n display='flex'\n flexDirection={flexDirection}\n flexGrow={1}\n height={height}\n rcx-card__body\n {...props}\n >\n {children}\n </Box>\n);\n\nexport default CardBody;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type CardColProps = {\n children: ReactNode;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst CardCol = ({ children, ...props }: CardColProps) => (\n <div className='rcx-card__col' {...props}>\n {children}\n </div>\n);\n\nexport default CardCol;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type CardRowProps = {\n children: ReactNode;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst CardRow = ({ children, ...props }: CardRowProps) => (\n <div className='rcx-card__row' {...props}>\n {children}\n </div>\n);\n\nexport default CardRow;\n","import { Box } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type LabelInfoProps = {\n title: string;\n id?: string;\n} & Omit<IconProps, 'name'>;\n\nexport const LabelInfo = ({ title, id, ...props }: LabelInfoProps) => (\n <Box is='span' marginInline={2} rcx-label__info>\n <span hidden id={id}>\n {title}\n </span>\n <Icon {...props} name='info-circled' title={title} />\n </Box>\n);\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nimport { Box } from '../Box';\nimport { LabelInfo } from '../Label/LabelInfo';\n\nexport type CardTitleProps = {\n children: ReactNode;\n info?: string;\n variant?: 'h3' | 'h4' | 'h5';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst CardTitle = ({\n children,\n info,\n variant = 'h4',\n ...props\n}: CardTitleProps) => (\n <Box fontScale={variant} is={variant} rcx-card__title {...props}>\n {children}\n {info && <LabelInfo title={info} />}\n </Box>\n);\n\nexport default CardTitle;\n","import type { HTMLAttributes } from 'react';\n\nexport type CardControlsProps = HTMLAttributes<HTMLDivElement>;\n\nconst CardControls = ({ ...props }: CardControlsProps) => (\n <div className='rcx-card__controls' {...props} />\n);\n\nexport default CardControls;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type CardHeaderProps = {\n children: ReactNode;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst CardHeader = ({ children, ...props }: CardHeaderProps) => (\n <div className='rcx-card__header' {...props}>\n {children}\n </div>\n);\n\nexport default CardHeader;\n","import { Box, type BoxProps } from '../Box';\n\nexport type GridItemProps = BoxProps & {\n xs?: 1 | 2 | 3 | 4;\n sm?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n md?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n lg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n xl?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n};\n\nconst GridItem = ({ xs, sm, md, lg, xl, ...props }: GridItemProps) => (\n <Box\n rcx-grid__item\n rcx-grid__item--xs={xs}\n rcx-grid__item--sm={sm}\n rcx-grid__item--md={md}\n rcx-grid__item--lg={lg}\n rcx-grid__item--xl={xl}\n {...props}\n />\n);\n\nexport default GridItem;\n","import { Box, type BoxProps } from '../Box';\n\nimport GridItem from './GridItem';\n\nexport type GridProps = BoxProps & {\n xs?: boolean;\n sm?: boolean;\n md?: boolean;\n lg?: boolean;\n xl?: boolean;\n};\n\nconst Grid = ({ xs, sm, md, lg, xl, ...props }: GridProps) => (\n <Box rcx-grid__wrapper>\n <Box\n rcx-grid\n rcx-grid--xs={xs}\n rcx-grid--sm={sm}\n rcx-grid--md={md}\n rcx-grid--lg={lg}\n rcx-grid--xl={xl}\n {...props}\n />\n </Box>\n);\n\nGrid.Item = GridItem;\n\nexport default Grid;\n","import type { ReactNode } from 'react';\nimport { Children } from 'react';\n\nimport type { GridItemProps } from '../Grid';\nimport { Grid, GridItem } from '../Grid';\n\nexport type CardGridProps = {\n children: ReactNode;\n breakpoints?: GridItemProps;\n};\n\nconst CardGrid = ({ children, breakpoints, ...props }: CardGridProps) => (\n <Grid rcx-card-grid margin={-8} {...props}>\n {Children.map(children, (child) => (\n <GridItem rcx-card-grid__item padding={8} {...breakpoints}>\n {child}\n </GridItem>\n ))}\n </Grid>\n);\n\nexport default CardGrid;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { Box } from '../Box';\n\nexport type CardGroupProps = {\n align?: 'start' | 'center' | 'end';\n stretch?: boolean;\n wrap?: boolean;\n vertical?: boolean;\n small?: boolean;\n large?: boolean;\n children?: ReactNode;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'wrap'>;\n\nconst CardGroup = ({\n align = 'start',\n children,\n stretch,\n vertical,\n wrap,\n ...props\n}: CardGroupProps) => (\n <Box\n rcx-card-group\n rcx-card-group--align={align}\n rcx-card-group--stretch={stretch}\n rcx-card-group--vertical={vertical}\n rcx-card-group--wrap={wrap}\n role='group'\n {...props}\n >\n {patchChildren(\n children,\n (childProps: { className: string | string[] }) => ({\n className: appendClassName(\n childProps.className,\n 'rcx-card-group__item',\n ),\n }),\n )}\n </Box>\n);\n\nexport default CardGroup;\n","import type { ReactElement } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Button } from '../Button';\nimport { Skeleton } from '../Skeleton';\n\nexport type CodeSnippetProps = BoxProps & {\n children: string;\n buttonText?: string;\n buttonDisabled?: boolean;\n onClick?: () => void;\n};\n\n/**\n * The `CodeSnippet` is used to show code or commands and make easier to copy them.\n *\n * The default button text is `Copy` but you can use the `buttonText` prop to handle translations in your project.\n *\n * Please check the `useClipBoard` hook in `fuselage-hooks` package, to handle the copy behaviour.\n */\nconst CodeSnippet = ({\n children,\n onClick,\n buttonText = 'Copy',\n buttonDisabled = false,\n ...props\n}: CodeSnippetProps): ReactElement<CodeSnippetProps> => {\n if (!children) {\n return (\n <Box is='pre' rcx-code-snippet {...props}>\n <Skeleton width='100%' aria-hidden aria-busy />\n </Box>\n );\n }\n\n return (\n <Box is='pre' rcx-code-snippet {...props}>\n <Box role='code' rcx-code-snippet__codebox>\n {children}\n </Box>\n {onClick && children && (\n <Box>\n <Button small primary onClick={onClick} disabled={buttonDisabled}>\n {buttonText}\n </Button>\n </Box>\n )}\n </Box>\n );\n};\n\nexport default CodeSnippet;\n","import type { RefAttributes } from 'react';\nimport { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ContextualbarProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The `Contextualbar` has the purpose to persist and input information about the scope of the related page.\n */\nfunction Contextualbar({\n width,\n position,\n backgroundColor = 'room',\n ...props\n}: ContextualbarProps) {\n return (\n <Box\n rcx-vertical-bar\n backgroundColor={backgroundColor}\n color='default'\n display='flex'\n flexDirection='column'\n flexShrink={0}\n width={width}\n borderInlineStartWidth='default'\n borderInlineStartColor='extra-light'\n borderInlineStartStyle='solid'\n height='full'\n position={position}\n insetInlineEnd='none'\n insetBlockStart='none'\n zIndex={10}\n {...props}\n />\n );\n}\n\nexport default memo(Contextualbar);\n","import { memo } from 'react';\n\nimport { IconButton, type IconButtonProps } from '../Button';\n\nexport type ContextualbarActionProps = {\n name: IconButtonProps['icon'];\n} & Omit<IconButtonProps, 'name' | 'icon'>;\n\nconst ContextualbarAction = ({ name, ...props }: ContextualbarActionProps) => (\n <IconButton {...props} small flexShrink={0} icon={name} />\n);\n\nexport default memo(ContextualbarAction);\n","import { memo } from 'react';\n\nimport { ButtonGroup, type ButtonGroupProps } from '../ButtonGroup';\n\nexport type ContextualbarActionsProps = ButtonGroupProps;\n\nconst ContextualbarActions = (props: ContextualbarActionsProps) => (\n <ButtonGroup {...props} />\n);\n\nexport default memo(ContextualbarActions);\n","import { memo } from 'react';\n\nimport { Button, type ButtonProps } from '../Button';\n\nexport type ContextualbarButtonProps = ButtonProps;\n\nconst ContextualbarButton = (props: ContextualbarButtonProps) => (\n <Button {...props} />\n);\n\nexport default memo(ContextualbarButton);\n","import type { RefAttributes } from 'react';\nimport { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ContextualbarContentProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement>;\n\nfunction ContextualbarContent(props: ContextualbarContentProps) {\n return (\n <Box\n rcx-vertical-bar__content\n paddingInline={24}\n display='flex'\n flexDirection='column'\n overflowY='hidden'\n height='full'\n {...props}\n />\n );\n}\n\nexport default memo(ContextualbarContent);\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst States = ({ children, ...props }: StatesProps) => (\n <div {...props} className='rcx-states'>\n {children}\n </div>\n);\n\nexport default States;\n","import { Icon, type IconProps } from '../Icon';\n\nexport type StatesIconProps = {\n variation?: 'danger' | 'success' | 'warning' | 'primary';\n} & IconProps;\n\nconst StatesIcon = ({ variation, ...props }: StatesIconProps) => (\n <Icon\n {...props}\n rcx-states__icon\n className={variation && `rcx-states__icon--${variation}`}\n size='x32'\n />\n);\n\nexport default StatesIcon;\n","import { Button, type ButtonProps } from '../Button';\n\nexport type StatesActionProps = ButtonProps;\n\nconst StatesAction = ({ primary = true, ...props }: StatesActionProps) => (\n <Button {...props} primary={primary} />\n);\n\nexport default StatesAction;\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport type StatesActionsProps = ButtonGroupProps;\n\nconst StatesActions = (props: StatesActionsProps) => <ButtonGroup {...props} />;\n\nexport default StatesActions;\n","import type { AllHTMLAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type StatesLinkProps = BoxProps & AllHTMLAttributes<HTMLAnchorElement>;\n\nconst StatesLink = (props: StatesLinkProps) => (\n <Box is='a' rcx-states__link {...props} />\n);\n\nexport default StatesLink;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSubtitleProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst StatesSubtitle = ({ children, ...props }: StatesSubtitleProps) => (\n <div {...props} className='rcx-states__subtitle'>\n {children}\n </div>\n);\n\nexport default StatesSubtitle;\n","import type { ReactNode, AllHTMLAttributes } from 'react';\n\nexport type StatesSuggestionProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst StatesSuggestion = ({ children, ...props }: StatesSuggestionProps) => (\n <div {...props} className='rcx-states__suggestion'>\n {children}\n </div>\n);\n\nexport default StatesSuggestion;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSuggestionListProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLUListElement>;\n\nconst StatesSuggestionList = ({\n children,\n ...props\n}: StatesSuggestionListProps) => (\n <ul {...props} className='rcx-states__list'>\n {children}\n </ul>\n);\n\nexport default StatesSuggestionList;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSuggestionListItemProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLLIElement>;\n\nconst StatesSuggestionListItem = ({\n children,\n ...props\n}: StatesSuggestionListItemProps) => (\n <li {...props} className='rcx-states__list-item'>\n <span className='rcx-states__list-item-wrapper'>{children}</span>\n </li>\n);\n\nexport default StatesSuggestionListItem;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSuggestionTextProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst StatesSuggestionText = ({\n children,\n ...props\n}: StatesSuggestionTextProps) => (\n <div {...props} className='rcx-states__suggestion-text'>\n {children}\n </div>\n);\n\nexport default StatesSuggestionText;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesTitleProps = {\n children?: ReactNode;\n} & AllHTMLAttributes<HTMLHeadingElement>;\n\nconst StatesTitle = ({ children, ...props }: StatesTitleProps) => (\n <h3 {...props} className='rcx-states__title'>\n {children}\n </h3>\n);\n\nexport default StatesTitle;\n","import { memo } from 'react';\n\nimport {\n StatesIcon,\n States,\n StatesTitle,\n StatesSubtitle,\n type StatesIconProps,\n} from '../States';\n\nimport type { ContextualbarContentProps } from './ContextualbarContent';\nimport ContextualbarContent from './ContextualbarContent';\n\nexport type ContextualbarEmptyContentProps = ContextualbarContentProps & {\n icon?: StatesIconProps['name'];\n title?: string;\n subtitle?: string;\n};\n\nfunction ContextualbarEmptyContent({\n icon = 'magnifier',\n title = 'Nothing Found',\n subtitle,\n ...props\n}: ContextualbarEmptyContentProps) {\n return (\n <ContextualbarContent justifyContent='center' {...props}>\n <States>\n <StatesIcon name={icon} />\n <StatesTitle>{title}</StatesTitle>\n {subtitle && <StatesSubtitle>{subtitle}</StatesSubtitle>}\n </States>\n </ContextualbarContent>\n );\n}\n\nexport default memo(ContextualbarEmptyContent);\n","import type { RefAttributes } from 'react';\nimport { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ContextualbarFooterProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement>;\n\nfunction ContextualbarFooter(props: ContextualbarFooterProps) {\n return <Box paddingInline={16} paddingBlock={20} {...props} />;\n}\n\nexport default memo(ContextualbarFooter);\n","import { css } from '@rocket.chat/css-in-js';\nimport { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ContextualbarHeaderProps = BoxProps;\n\nconst ContextualbarHeader = ({\n children,\n ...props\n}: ContextualbarHeaderProps) => (\n <Box\n display='flex'\n alignItems='center'\n height='x44'\n paddingInline={16}\n borderBlockEndWidth='default'\n borderBlockColor='extra-light'\n flexShrink={0}\n {...props}\n >\n <Box\n display='flex'\n alignItems='center'\n justifyContent='space-between'\n flexGrow={1}\n height='100%'\n overflow='hidden'\n marginInline={-4}\n paddingInline={4}\n className={css`\n gap: 8px;\n `}\n >\n {children}\n </Box>\n </Box>\n);\n\nexport default memo(ContextualbarHeader);\n","import { memo } from 'react';\n\nimport { Icon, type IconProps } from '../Icon';\n\nexport type ContextualbarIconProps = IconProps;\n\nconst ContextualbarIcon = (props: ContextualbarIconProps) => (\n <Icon {...props} paddingInline={2} size='x20' />\n);\n\nexport default memo(ContextualbarIcon);\n","import type { RefAttributes } from 'react';\nimport { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ContextualbarSectionProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement>;\n\nfunction ContextualbarSection(props: ContextualbarSectionProps) {\n return (\n <Box\n rcx-vertical-bar__section\n padding={16}\n display='flex'\n alignItems='center'\n flexGrow={1}\n borderBlockEndWidth='default'\n borderBlockColor='extra-light'\n {...props}\n />\n );\n}\n\nexport default memo(ContextualbarSection);\n","import { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\nimport { Skeleton } from '../Skeleton';\n\nimport Contextualbar from './Contextualbar';\nimport ContextualbarHeader from './ContextualbarHeader';\n\nexport type ContextualbarSkeletonProps = BoxProps;\n\nconst ContextualbarSkeleton = (props: ContextualbarSkeletonProps) => (\n <Contextualbar {...props}>\n <ContextualbarHeader>\n <Skeleton width='100%' />\n </ContextualbarHeader>\n <Box padding={24}>\n <Skeleton marginBlockEnd={4} width='32px' height='32px' variant='rect' />\n {Array(5)\n .fill(5)\n .map((_, index) => (\n <Skeleton key={index} />\n ))}\n </Box>\n </Contextualbar>\n);\n\nexport default memo(ContextualbarSkeleton);\n","import { memo } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ContextualbarTitleProps = BoxProps;\n\nconst ContextualbarTitle = (props: ContextualbarTitleProps) => (\n <Box\n flexShrink={1}\n flexGrow={1}\n fontScale='h5'\n withTruncatedText\n is='h5'\n {...props}\n />\n);\n\nexport default memo(ContextualbarTitle);\n","import type { CSSProperties, ReactNode, RefAttributes } from 'react';\n\nimport { Box, Tile } from '..';\n\nexport type DropdownDesktopProps = RefAttributes<HTMLElement> & {\n children: ReactNode;\n maxWidth?: string;\n maxHeight?: string;\n overflowY?: CSSProperties['overflowY'];\n style?: CSSProperties;\n};\n\nexport function DropdownDesktop({\n children,\n style,\n ...props\n}: DropdownDesktopProps) {\n return (\n <Tile\n style={style}\n elevation='2'\n paddingInline='0'\n paddingBlock='0'\n display='flex'\n flexDirection='column'\n overflow='auto'\n data-testid='dropdown'\n {...props}\n >\n <Box flexShrink={1} paddingBlock={12}>\n {style?.visibility === 'hidden' ? null : children}\n </Box>\n </Tile>\n );\n}\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport { usePosition } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode, RefAttributes, RefObject } from 'react';\n\nimport { DropdownDesktop } from './DropdownDesktop';\n\nexport type DropdownDesktopWrapperProps<T extends HTMLElement> =\n RefAttributes<HTMLElement> & {\n reference: RefObject<T | null>;\n placement?: UsePositionOptions['placement'];\n children: ReactNode;\n };\n\nexport function DropdownDesktopWrapper({\n ref,\n reference,\n placement = 'bottom-start',\n ...props\n}: DropdownDesktopWrapperProps<HTMLElement>) {\n const { style } = usePosition(\n reference,\n ref as RefObject<HTMLElement | null>,\n {\n placement,\n },\n );\n\n return <DropdownDesktop style={style} ref={ref} {...props} />;\n}\n","import type { ReactNode, RefAttributes } from 'react';\n\nimport { Box, Tile } from '..';\n\nexport type DropdownMobileProps = RefAttributes<HTMLElement> & {\n children: ReactNode;\n};\n\nexport function DropdownMobile({ children, ...props }: DropdownMobileProps) {\n return (\n <Tile\n elevation='2'\n paddingInline='0'\n paddingBlock='0'\n width='100vw'\n maxHeight='80%'\n position='fixed'\n display='flex'\n flexDirection='column'\n overflow='auto'\n style={{ bottom: 0, left: 0 }}\n zIndex={2}\n data-testid='dropdown'\n {...props}\n >\n <Box flexShrink={1} paddingBlock={16}>\n {children}\n </Box>\n </Tile>\n );\n}\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport { useMediaQuery } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode, RefAttributes, RefObject } from 'react';\n\nimport { DropdownDesktopWrapper } from './DropdownDesktopWrapper';\nimport { DropdownMobile } from './DropdownMobile';\n\nexport type DropdownProps<T extends HTMLElement> =\n RefAttributes<HTMLElement> & {\n reference: RefObject<T | null>;\n placement?: UsePositionOptions['placement'];\n children: ReactNode;\n };\n\nfunction Dropdown({\n ref,\n children,\n reference,\n placement = 'bottom-start',\n}: DropdownProps<HTMLElement>) {\n const notSmall = useMediaQuery('(min-width: 500px)');\n\n return notSmall ? (\n <DropdownDesktopWrapper\n reference={reference}\n placement={placement}\n ref={ref}\n >\n {children}\n </DropdownDesktopWrapper>\n ) : (\n <DropdownMobile ref={ref}>{children}</DropdownMobile>\n );\n}\n\nexport default Dropdown;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type EmailInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\n/**\n * An input for email addresses.\n */\nfunction EmailInput(props: EmailInputProps) {\n return <InputBox type='email' {...props} />;\n}\n\nexport default EmailInput;\n","import { createContext } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport const FieldContext = createContext(false);\n\nexport type FieldProps = BoxProps;\n\n/**\n * A `Field` is a wrapper representing an entry in a form.\n */\nfunction Field(props: FieldProps) {\n return (\n <FieldContext.Provider value={true}>\n <Box rcx-field {...props} />\n </FieldContext.Provider>\n );\n}\n\nexport default Field;\n","import type { Context, ReactNode } from 'react';\nimport { useContext } from 'react';\n\ntype WithErrorWrapperProps<T> = {\n context: Context<T>;\n children: ReactNode;\n componentName: string;\n parentComponent: 'Field';\n};\n\nfunction WithErrorWrapper<T>({\n context,\n componentName,\n children,\n parentComponent,\n}: WithErrorWrapperProps<T>) {\n const isInsideParent = useContext(context);\n if (!isInsideParent) {\n throw new Error(\n `${componentName} should be used as children of ${parentComponent} Component`,\n );\n }\n\n return children;\n}\n\nexport default WithErrorWrapper;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport { Box, type BoxProps } from '../Box';\n\nimport { FieldContext } from './Field';\n\nexport type FieldDescriptionProps = BoxProps;\n\nconst FieldDescription = (props: FieldDescriptionProps) => {\n const component = <Box is='span' rcx-field__description {...props} />;\n\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldDescription.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n};\n\nexport default FieldDescription;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport { Box, type BoxProps } from '../Box';\n\nimport { FieldContext } from './Field';\n\nexport type FieldErrorProps = BoxProps;\n\nconst FieldError = (props: FieldErrorProps) => {\n const component = <Box is='span' rcx-field__error {...props} />;\n\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldError.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n};\n\nexport default FieldError;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport { Box, type BoxProps } from '../Box';\n\nimport { FieldContext } from './Field';\n\nexport type FieldHintProps = BoxProps;\n\nconst FieldHint = (props: FieldHintProps) => {\n const component = <Box is='span' rcx-field__hint {...props} />;\n\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldHint.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n};\n\nexport default FieldHint;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { LabelProps } from '../Label';\nimport { Label } from '../Label';\n\nimport { FieldContext } from './Field';\n\nexport type FieldLabelProps = LabelProps;\n\nfunction FieldLabel(props: FieldLabelProps) {\n const component = <Label rcx-field__label {...props} />;\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldLabel.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n}\n\nexport default FieldLabel;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { LabelInfoProps } from '../Label/LabelInfo';\nimport { LabelInfo } from '../Label/LabelInfo';\n\nimport { FieldContext } from './Field';\n\nexport type FieldLabelInfoProps = LabelInfoProps;\n\nconst FieldLabelInfo = (props: FieldLabelInfoProps) => {\n const component = <LabelInfo {...props} />;\n\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldLabelInfo.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n};\n\nexport default FieldLabelInfo;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport { Box, type BoxProps } from '../Box';\n\nimport { FieldContext } from './Field';\n\nexport type FieldLinkProps = BoxProps;\n\nconst FieldLink = (props: FieldLinkProps) => {\n const component = <Box is='a' rcx-field__link {...props} />;\n\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldLink.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n};\n\nexport default FieldLink;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport { Box, type BoxProps } from '../Box';\n\nimport { FieldContext } from './Field';\n\nexport type FieldRowProps = BoxProps;\n\nconst FieldRow = (props: FieldRowProps) => {\n const component = <Box is='span' rcx-field__row {...props} />;\n\n if (process.env['NODE_ENV'] === 'development') {\n return (\n <WithErrorWrapper\n context={FieldContext}\n parentComponent='Field'\n componentName={FieldRow.name}\n >\n {component}\n </WithErrorWrapper>\n );\n }\n\n return component;\n};\n\nexport default FieldRow;\n","import { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { Box, type BoxProps } from '../Box';\n\nexport type FieldGroupProps = BoxProps;\n\n/**\n * A container for grouping fields that semantically share a common data context.\n */\nconst FieldGroup = ({ children, ...props }: FieldGroupProps) => (\n <Box is='fieldset' rcx-field-group role='group' {...props}>\n {patchChildren(\n children,\n (childProps: { className: string | string[] }) => ({\n className: appendClassName(\n childProps.className,\n 'rcx-field-group__item',\n ),\n }),\n )}\n </Box>\n);\n\nexport default FieldGroup;\n","import type { ReactNode } from 'react';\nimport { useCallback } from 'react';\n\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type FlexContainerProps = {\n children?: ReactNode;\n inline?: boolean;\n direction?: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n wrap?: 'no-wrap' | 'wrap' | 'wrap-reverse';\n alignItems?: 'stretch' | 'start' | 'center' | 'end' | 'baseline';\n alignContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';\n justifyContent?:\n | 'start'\n | 'center'\n | 'end'\n | 'space-between'\n | 'space-around';\n};\n\nfunction FlexContainer({\n inline = false,\n children,\n direction,\n wrap,\n alignItems,\n alignContent,\n justifyContent,\n}: FlexContainerProps) {\n const transformFn = useCallback(\n (props: any) => {\n if (inline !== undefined && props.display === undefined) {\n props.display = inline ? 'inline-flex' : 'flex';\n }\n\n if (direction !== undefined && props.flexDirection === undefined) {\n props.flexDirection = direction;\n }\n\n if (wrap !== undefined && props.flexWrap === undefined) {\n props.flexWrap = wrap === 'no-wrap' ? 'nowrap' : wrap;\n }\n\n if (alignItems !== undefined && props.alignItems === undefined) {\n props.alignItems =\n (alignItems === 'start' && 'flex-start') ||\n (alignItems === 'end' && 'flex-end') ||\n alignItems;\n }\n\n if (alignContent !== undefined && props.alignContent === undefined) {\n props.alignContent =\n (alignContent === 'start' && 'flex-start') ||\n (alignContent === 'end' && 'flex-end') ||\n alignContent;\n }\n\n if (justifyContent !== undefined && props.justifyContent === undefined) {\n props.justifyContent =\n (justifyContent === 'start' && 'flex-start') ||\n (justifyContent === 'end' && 'flex-end') ||\n justifyContent;\n }\n\n return props;\n },\n [alignContent, alignItems, direction, inline, justifyContent, wrap],\n );\n\n return (\n <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>\n {children}\n </BoxTransforms.Provider>\n );\n}\n\nexport default FlexContainer;\n","import type { ReactNode } from 'react';\nimport { useCallback } from 'react';\n\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type FlexItemProps = {\n children?: ReactNode;\n order?: number;\n grow?: number;\n shrink?: number;\n basis?: number | string | 'auto';\n align?: 'auto' | 'start' | 'end' | 'center' | 'stretch';\n};\n\nfunction FlexItem({\n children,\n order,\n grow,\n shrink,\n basis,\n align,\n}: FlexItemProps) {\n const transformFn = useCallback(\n (props: any) => {\n if (order !== undefined && props.order === undefined) {\n props.order = order;\n }\n\n if (grow !== undefined && props.flexGrow === undefined) {\n props.flexGrow = grow;\n }\n\n if (shrink !== undefined && props.flexShrink === undefined) {\n props.flexShrink = shrink;\n }\n\n if (basis !== undefined && props.flexBasis === undefined) {\n props.flexBasis = basis;\n }\n\n if (align !== undefined && props.alignSelf === undefined) {\n props.alignSelf =\n (align === 'start' && 'flex-start') ||\n (align === 'end' && 'flex-end') ||\n align;\n }\n\n return props;\n },\n [align, basis, grow, order, shrink],\n );\n\n return (\n <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>\n {children}\n </BoxTransforms.Provider>\n );\n}\n\nexport default FlexItem;\n","import type { Keys } from '@rocket.chat/icons';\nimport type { AllHTMLAttributes } from 'react';\n\nimport { Icon } from '../Icon';\n\nexport type FramedIconProps = {\n info?: boolean;\n success?: boolean;\n warning?: boolean;\n danger?: boolean;\n neutral?: boolean;\n icon: Keys;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst FramedIcon = ({\n info,\n success,\n warning,\n danger,\n neutral,\n icon,\n ...props\n}: FramedIconProps) => (\n <Icon\n {...props}\n rcx-framed-icon\n rcx-framed-icon--info={info}\n rcx-framed-icon--success={success}\n rcx-framed-icon--warning={warning}\n rcx-framed-icon--danger={danger}\n rcx-framed-icon--neutral={\n neutral || (!info && !success && !warning && !danger)\n }\n name={icon}\n size={20}\n />\n);\n\nexport default FramedIcon;\n","import { createContext, useContext } from 'react';\n\nexport type ItemContextValue = {\n descriptionIds: string[];\n registerDescription: (id: string) => () => void;\n};\n\nexport const ItemContext = createContext<ItemContextValue>({\n descriptionIds: [],\n registerDescription: () => () => undefined,\n});\n\nexport const useItemContext = () => useContext(ItemContext);\n","import { useCallback, useState } from 'react';\n\n/**\n * Collects the ids that descendants announce, so a parent can reference them\n * in ARIA relationships without the consumer wiring ids by hand.\n */\nexport const useIdRegistry = () => {\n const [ids, setIds] = useState<string[]>([]);\n\n const register = useCallback((id: string) => {\n setIds((prev) => (prev.includes(id) ? prev : [...prev, id]));\n\n return () => {\n setIds((prev) => prev.filter((value) => value !== id));\n };\n }, []);\n\n return [ids, register] as const;\n};\n","import type {\n AllHTMLAttributes,\n ElementType,\n MouseEvent,\n RefAttributes,\n} from 'react';\nimport { useMemo } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nimport { ItemContext } from './ItemContext';\nimport type { ItemInset } from './types';\nimport { useIdRegistry } from './useIdRegistry';\n\nexport type ItemProps = {\n /**\n * The element to render. Use `li` inside a list; set `role` for listbox options or menu items.\n */\n is?: ElementType;\n /**\n * Adds space between the row edge and its first and last slots.\n */\n inset?: ItemInset;\n selected?: boolean;\n /**\n * Emphasizes the title, icon, description and meta, as for unread rooms.\n */\n highlighted?: boolean;\n /**\n * Shows the hover surface for a virtual cursor, such as a listbox's active descendant.\n */\n focused?: boolean;\n /**\n * Dims the row and ignores clicks. Set the matching ARIA state through props.\n */\n disabled?: boolean;\n variant?: 'danger';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'selected' | 'disabled'> &\n RefAttributes<HTMLElement>;\n\n/**\n * A list row composed from slots: media, icon, content and actions.\n */\nconst Item = ({\n is: Tag = 'div',\n inset = 'none',\n selected,\n highlighted,\n focused,\n disabled,\n variant,\n className,\n onClick,\n children,\n ...props\n}: ItemProps) => {\n const [descriptionIds, registerDescription] = useIdRegistry();\n\n const contextValue = useMemo(\n () => ({ descriptionIds, registerDescription }),\n [descriptionIds, registerDescription],\n );\n\n const handleClick = onClick\n ? (event: MouseEvent<HTMLElement>) => {\n if (disabled) {\n return;\n }\n onClick(event);\n }\n : undefined;\n\n return (\n <ItemContext.Provider value={contextValue}>\n <Tag\n {...props}\n className={cx(\n cxx('rcx-item')({\n [`inset-${inset}`]: inset !== 'none',\n clickable: !!onClick,\n selected: !!selected,\n highlighted: !!highlighted,\n focused: !!focused,\n disabled: !!disabled,\n danger: variant === 'danger',\n }),\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </Tag>\n </ItemContext.Provider>\n );\n};\n\nexport default Item;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemActionsProps = {\n is?: ElementType;\n /**\n * `hover` hides the actions until the row is hovered, holds focus or has an expanded menu.\n * They stay in the tab order, and touch screens always show them.\n */\n reveal?: 'always' | 'hover';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The trailing buttons, icon buttons or menu trigger of an `Item` or `ItemGroupHeader`.\n * Placed as a direct child it spans every row; placed inside an `ItemRow` it only takes space from that row.\n */\nconst ItemActions = ({\n is: Tag = 'div',\n reveal = 'always',\n className,\n children,\n ...props\n}: ItemActionsProps) => (\n <Tag\n {...props}\n className={cx(\n cxx('rcx-item__actions')({ 'reveal-hover': reveal === 'hover' }),\n className,\n )}\n >\n {reveal === 'hover' ? (\n <div className='rcx-item__actions-inner'>{children}</div>\n ) : (\n children\n )}\n </Tag>\n);\n\nexport default ItemActions;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemContentProps = {\n is?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The flexible, truncating column that holds the title and description, or one `ItemRow` per line.\n */\nconst ItemContent = ({\n is: Tag = 'div',\n className,\n ...props\n}: ItemContentProps) => (\n <Tag {...props} className={cx('rcx-item__content', className)} />\n);\n\nexport default ItemContent;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemDescriptionProps = {\n is?: ElementType;\n /**\n * Places the description right after the title, as with a username after a name.\n * In narrow lists it moves to its own line.\n */\n inline?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The secondary line of an `Item`, such as a last message preview or a username.\n */\nconst ItemDescription = ({\n is,\n inline,\n className,\n ...props\n}: ItemDescriptionProps) => {\n const Tag = is ?? (inline ? 'span' : 'div');\n\n return (\n <Tag\n {...props}\n className={cx(\n cxx('rcx-item__description')({ inline: !!inline }),\n className,\n )}\n />\n );\n};\n\nexport default ItemDescription;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nimport type { ItemInset } from './types';\n\nexport type ItemDividerProps = {\n /**\n * The element to render. Inside an `ItemGroup` rendered as `ul`, pass `li` with `aria-hidden`.\n * Add `role='separator'` where the divider should be announced, as between menu sections.\n */\n is?: ElementType;\n /**\n * Aligns the line with the content of the rows. Without it, the line spans the full width.\n */\n inset?: ItemInset;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The divider between groups, menu sections, or a header and its rows.\n */\nconst ItemDivider = ({\n is: Tag = 'div',\n inset = 'none',\n className,\n ...props\n}: ItemDividerProps) => (\n <Tag\n {...props}\n className={cx(\n cxx('rcx-item-divider')({\n [`inset-${inset}`]: inset !== 'none',\n }),\n className,\n )}\n />\n);\n\nexport default ItemDivider;\n","import { createContext, useContext } from 'react';\n\nexport type ItemGroupContextValue = {\n registerTitle: (id: string) => () => void;\n};\n\nexport const ItemGroupContext = createContext<ItemGroupContextValue>({\n registerTitle: () => () => undefined,\n});\n\nexport const useItemGroupContext = () => useContext(ItemGroupContext);\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nimport { ItemGroupContext } from './ItemGroupContext';\nimport { useIdRegistry } from './useIdRegistry';\n\nexport type ItemGroupProps = {\n /**\n * The element to render. Use `ul` for a list, or set `role` for a listbox, group or menu.\n */\n is?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * A list of `Item` rows. An `ItemGroupTitle` inside it labels the group, and its width drives the narrow layout.\n */\nconst ItemGroup = ({\n is: Tag = 'div',\n className,\n children,\n ...props\n}: ItemGroupProps) => {\n const [titleIds, registerTitle] = useIdRegistry();\n\n const contextValue = useMemo(() => ({ registerTitle }), [registerTitle]);\n\n const hasOwnLabel = !!props['aria-label'] || !!props['aria-labelledby'];\n const ariaLabelledBy =\n !hasOwnLabel && titleIds.length > 0 ? titleIds.join(' ') : undefined;\n\n return (\n <ItemGroupContext.Provider value={contextValue}>\n <Tag\n aria-labelledby={ariaLabelledBy}\n {...props}\n className={cx('rcx-item-group', className)}\n >\n {children}\n </Tag>\n </ItemGroupContext.Provider>\n );\n};\n\nexport default ItemGroup;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nimport type { ItemInset } from './types';\n\nexport type ItemGroupHeaderProps = {\n /**\n * The element to render. Inside an `ItemGroup` rendered as `ul`, pass `li` with `aria-hidden`:\n * the title still names the list, and the list reports only its rows.\n * A header with interactive content, such as a collapse button, goes outside the list.\n */\n is?: ElementType;\n /**\n * Aligns the header with the rows below it. Use the same value as their `Item`.\n */\n inset?: ItemInset;\n /**\n * Pins the header to the top of its scroll container.\n */\n sticky?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The label row of a group, such as Favorites, Recent or Moderators. It holds an `ItemGroupTitle` and optional trailing content.\n */\nconst ItemGroupHeader = ({\n is: Tag = 'div',\n inset = 'none',\n sticky,\n className,\n ...props\n}: ItemGroupHeaderProps) => (\n <Tag\n {...props}\n className={cx(\n cxx('rcx-item-group-header')({\n [`inset-${inset}`]: inset !== 'none',\n sticky: !!sticky,\n }),\n className,\n )}\n />\n);\n\nexport default ItemGroupHeader;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useEffect, useId } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nimport { useItemGroupContext } from './ItemGroupContext';\n\nexport type ItemGroupTitleProps = {\n /**\n * The element to render. Use a heading level, or `button` when the owner makes the group collapsible.\n */\n is?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The text of an `ItemGroupHeader`. Inside an `ItemGroup`, it becomes the group's accessible name.\n */\nconst ItemGroupTitle = ({\n is: Tag = 'div',\n id: propId,\n className,\n type,\n ...props\n}: ItemGroupTitleProps) => {\n const generatedId = useId();\n const id = propId ?? generatedId;\n const { registerTitle } = useItemGroupContext();\n\n useEffect(() => registerTitle(id), [id, registerTitle]);\n\n return (\n <Tag\n {...props}\n type={Tag === 'button' ? (type ?? 'button') : type}\n id={id}\n className={cx('rcx-item-group-title', className)}\n />\n );\n};\n\nexport default ItemGroupTitle;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useEffect, useId } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nimport { useItemContext } from './ItemContext';\n\nexport type ItemIconProps = {\n is?: ElementType;\n /**\n * Names what the icon conveys, such as \"Private channel\" or \"Away\".\n * The label also describes the row's `ItemLink`. Without it, the icon is decorative.\n */\n label?: string;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'label'> &\n RefAttributes<HTMLElement>;\n\n/**\n * A 20px slot for the room type icon or a user status, placed before the title.\n */\nconst ItemIcon = ({\n is: Tag = 'div',\n label,\n id: propId,\n className,\n ...props\n}: ItemIconProps) => {\n const generatedId = useId();\n const id = propId ?? generatedId;\n const { registerDescription } = useItemContext();\n\n useEffect(() => {\n if (!label) {\n return undefined;\n }\n\n return registerDescription(id);\n }, [id, label, registerDescription]);\n\n const a11yProps = label\n ? { 'role': 'img', 'aria-label': label }\n : { 'aria-hidden': true };\n\n return (\n <Tag\n {...a11yProps}\n {...props}\n id={id}\n className={cx('rcx-item__icon', className)}\n />\n );\n};\n\nexport default ItemIcon;\n","import type {\n AnchorHTMLAttributes,\n ButtonHTMLAttributes,\n RefAttributes,\n} from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nimport { useItemContext } from './ItemContext';\n\ntype ItemLinkAnchorProps = {\n is?: 'a';\n href: string;\n} & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> &\n RefAttributes<HTMLAnchorElement>;\n\ntype ItemLinkButtonProps = {\n is: 'button';\n} & ButtonHTMLAttributes<HTMLButtonElement> &\n RefAttributes<HTMLButtonElement>;\n\nexport type ItemLinkProps = ItemLinkAnchorProps | ItemLinkButtonProps;\n\n/**\n * The primary target of an `Item`. It covers the whole row, so actions sit beside it instead of inside it.\n */\nconst ItemLink = (props: ItemLinkProps) => {\n const { descriptionIds } = useItemContext();\n\n const ariaDescribedBy =\n [props['aria-describedby'], ...descriptionIds].filter(Boolean).join(' ') ||\n undefined;\n\n if (props.is === 'button') {\n const { is: _is, className, type = 'button', ...rest } = props;\n\n return (\n <button\n {...rest}\n type={type}\n aria-describedby={ariaDescribedBy}\n className={cx('rcx-item__link', className)}\n />\n );\n }\n\n const { is: _is, className, children, ...rest } = props;\n\n return (\n <a\n {...rest}\n aria-describedby={ariaDescribedBy}\n className={cx('rcx-item__link', className)}\n >\n {children}\n </a>\n );\n};\n\nexport default ItemLink;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemMediaProps = {\n is?: ElementType;\n /**\n * `icon` centers its child in a 20px box, for icons and status bullets.\n */\n variant?: 'default' | 'icon';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The leading avatar, icon or thumbnail of an `Item`. Its box fits its child, so the child's size sets the row height.\n */\nconst ItemMedia = ({\n is: Tag = 'div',\n variant = 'default',\n className,\n ...props\n}: ItemMediaProps) => (\n <Tag\n {...props}\n className={cx(\n cxx('rcx-item__media')({ icon: variant === 'icon' }),\n className,\n )}\n />\n);\n\nexport default ItemMedia;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemMetaProps = {\n is?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * Short trailing text that never truncates, such as a timestamp, count or file size.\n */\nconst ItemMeta = ({ is: Tag = 'div', className, ...props }: ItemMetaProps) => (\n <Tag {...props} className={cx('rcx-item__meta', className)} />\n);\n\nexport default ItemMeta;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemRowProps = {\n is?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * A horizontal line inside `ItemContent`, such as a title with a timestamp or a description with a badge.\n */\nconst ItemRow = ({ is: Tag = 'div', className, ...props }: ItemRowProps) => (\n <Tag {...props} className={cx('rcx-item__row', className)} />\n);\n\nexport default ItemRow;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemTitleProps = {\n is?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n RefAttributes<HTMLElement>;\n\n/**\n * The main label of an `Item`. It truncates with an ellipsis.\n */\nconst ItemTitle = ({\n is: Tag = 'div',\n className,\n ...props\n}: ItemTitleProps) => (\n <Tag {...props} className={cx('rcx-item__title', className)} />\n);\n\nexport default ItemTitle;\n","import type { AvatarProps } from '../Avatar';\nimport { Skeleton } from '../Skeleton';\n\nimport type { ItemProps } from './Item';\nimport Item from './Item';\nimport ItemContent from './ItemContent';\nimport ItemDescription from './ItemDescription';\nimport ItemMedia from './ItemMedia';\nimport ItemTitle from './ItemTitle';\n\nexport type ItemSkeletonProps = Pick<ItemProps, 'is' | 'inset'> & {\n /**\n * The size of the avatar the loaded row shows.\n */\n mediaSize?: AvatarProps['size'];\n /**\n * Adds a second text line.\n */\n description?: boolean;\n};\n\n/**\n * A loading placeholder with the same height as an `Item` with the same media and lines.\n */\nconst ItemSkeleton = ({\n is,\n inset,\n mediaSize = 'x20',\n description = false,\n}: ItemSkeletonProps) => (\n <Item is={is} inset={inset} aria-hidden>\n <ItemMedia>\n <Skeleton variant='rect' width={mediaSize} height={mediaSize} />\n </ItemMedia>\n <ItemContent>\n <ItemTitle>\n <Skeleton variant='text' width='60%' />\n </ItemTitle>\n {description && (\n <ItemDescription>\n <Skeleton variant='text' width='40%' />\n </ItemDescription>\n )}\n </ItemContent>\n </Item>\n);\n\nexport default ItemSkeleton;\n","import type {\n ReactNode,\n MouseEvent,\n AllHTMLAttributes,\n RefAttributes,\n} from 'react';\nimport { memo } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport type { BoxProps } from '../Box';\n\nexport type MenuOptionProps = RefAttributes<Element> & {\n is?: BoxProps['is'];\n id?: string;\n children?: ReactNode;\n focus?: boolean;\n selected?: boolean;\n className?: BoxProps['className'];\n title?: string;\n disabled?: boolean;\n value?: string;\n variant?: 'danger' | 'success' | 'warning' | 'primary';\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n description?: ReactNode;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'label'>;\n\nfunction MenuOption({\n is: Tag = 'li',\n id,\n children,\n focus,\n selected,\n className,\n title,\n disabled,\n variant,\n onClick,\n ...props\n}: MenuOptionProps) {\n return (\n <Tag\n {...props}\n key={id}\n id={id}\n aria-selected={!!selected}\n aria-disabled={!!disabled}\n title={title}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n prevent(e);\n return;\n }\n onClick?.(e);\n }}\n className={[\n 'rcx-option',\n className,\n focus && 'rcx-option--focus',\n selected && 'rcx-option--selected',\n disabled && 'rcx-option--disabled',\n variant && `rcx-option--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </Tag>\n );\n}\n\nexport default memo(MenuOption);\n","import type { FocusableElement, Node } from '@react-types/shared';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { mergeProps, useMenuItem } from 'react-aria';\nimport type { TreeState } from 'react-stately';\n\nimport { MenuItemDescription } from '.';\nimport type { MenuOptionProps } from './MenuOption';\nimport MenuOption from './MenuOption';\n\ntype MenuItemProps = {\n item: Node<{\n description?: ReactNode;\n variant?: MenuOptionProps['variant'];\n }>;\n state: TreeState<unknown>;\n};\n\nfunction MenuItem({ item, state }: MenuItemProps) {\n const ref = useRef<FocusableElement>(null);\n const {\n menuItemProps: { onPointerUp, ...menuItemProps },\n isFocused,\n isDisabled,\n } = useMenuItem({ key: item.key }, state, ref);\n\n // There's an issue caused by conflicting event handlers. The popover opens on onPointerDown and the selection event for both, the menu (listbox), happens on onPointerUp.\n // As a workaround, we are overwriting `onPointerDown` event with `onPointerUp`\n\n return (\n <MenuOption\n {...mergeProps(menuItemProps, { onPointerDown: onPointerUp })}\n ref={ref}\n focus={isFocused}\n disabled={isDisabled}\n is='label'\n variant={item.value?.variant}\n >\n <div className='rcx-option__wrapper'>{item.rendered}</div>\n {item.value && item.value.description && (\n <MenuItemDescription>{item.value.description}</MenuItemDescription>\n )}\n </MenuOption>\n );\n}\n\nexport default MenuItem;\n","import type { ReactNode, RefObject } from 'react';\nimport { useRef } from 'react';\nimport type { AriaPopoverProps } from 'react-aria';\nimport { usePopover, DismissButton, Overlay } from 'react-aria';\nimport type { OverlayTriggerState } from 'react-stately';\n\nimport { useOwnerDocument } from '../../contexts';\n\nexport type PopoverProps = Omit<AriaPopoverProps, 'popoverRef'> & {\n children: ReactNode;\n state: OverlayTriggerState;\n portalContainer?: Element;\n popoverRef?: RefObject<HTMLDivElement | null>;\n};\n\nfunction Popover({\n portalContainer,\n popoverRef: popoverRefProp,\n ...props\n}: PopoverProps) {\n const fallbackRef = useRef<HTMLDivElement>(null);\n const popoverRef = popoverRefProp ?? fallbackRef;\n const { state, children, isNonModal } = props;\n\n const { document: ownerDocument } = useOwnerDocument();\n\n const { popoverProps, underlayProps } = usePopover(\n {\n ...props,\n popoverRef,\n boundaryElement: ownerDocument?.body,\n },\n state,\n );\n\n return (\n <Overlay portalContainer={portalContainer ?? ownerDocument?.body}>\n {!isNonModal && <div {...underlayProps} />}\n <div {...popoverProps} ref={popoverRef}>\n {!isNonModal && <DismissButton onDismiss={state.close} />}\n {children}\n <DismissButton onDismiss={state.close} />\n </div>\n </Overlay>\n );\n}\n\nexport default Popover;\n","import type { RefObject } from 'react';\nimport { createContext, useContext } from 'react';\n\n/**\n * Ref to the root menu popover's portal container.\n *\n * Submenu popovers portal into this container instead of straight into\n * `document.body`, so the whole menu tree lives in a single DOM subtree nested\n * under the root popover. This mirrors `react-aria-components`'\n * `PopoverGroupContext` and is what keeps focus tracking and `aria-hidden`\n * scoping correct across submenu levels — without it each portaled submenu\n * looks like \"outside\" to the root popover and close-on-blur tears the tree\n * down.\n *\n * `null` means there is no root yet, i.e. the consuming popover IS the root.\n */\nexport const MenuPortalContext =\n createContext<RefObject<HTMLElement | null> | null>(null);\n\nexport const useMenuPortalContainer =\n (): RefObject<HTMLElement | null> | null => useContext(MenuPortalContext);\n","import { useBreakpoints } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport type { AriaPopoverProps } from 'react-aria';\nimport { useInteractOutside } from 'react-aria';\nimport type { OverlayTriggerState } from 'react-stately';\n\nimport { DropdownDesktop } from '../Dropdown/DropdownDesktop';\nimport { DropdownMobile } from '../Dropdown/DropdownMobile';\nimport { Popover } from '../Popover';\n\nimport { MenuPortalContext, useMenuPortalContainer } from './MenuPortalContext';\n\ntype MenuPopoverProps = Omit<AriaPopoverProps, 'popoverRef'> & {\n children: ReactNode;\n state: OverlayTriggerState;\n maxWidth?: string;\n};\n\nfunction MenuPopover({\n children,\n state,\n offset = 4,\n maxWidth,\n ...props\n}: MenuPopoverProps) {\n const isMobile = !useBreakpoints().includes('sm');\n\n // The root popover (no container above it) renders a `display: contents`\n // mount point and shares it with the rest of the tree. Submenu popovers\n // portal into it, so their DOM nests under the root popover and the whole\n // tree behaves as one for focus/`aria-hidden` purposes — matching how\n // `react-aria-components` groups submenu popovers via `PopoverGroupContext`.\n const groupContainer = useMenuPortalContainer();\n const containerRef = useRef<HTMLDivElement>(null);\n const isSubmenu = groupContainer !== null;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n // react-aria only lets the *topmost* overlay dismiss on an outside click.\n // While a submenu is open it is topmost, but submenus are non-modal (hence\n // non-dismissable), so neither the submenu nor the root closes. Since every\n // open submenu portals into the root popover, the root popover element\n // contains the entire menu tree — so we close the whole menu on any\n // interaction outside it (ignoring the trigger, which toggles on its own).\n useInteractOutside({\n ref: popoverRef,\n isDisabled: isSubmenu,\n onInteractOutside: (event) => {\n const trigger = props.triggerRef?.current;\n if (trigger && trigger.contains(event.target as Node)) {\n return;\n }\n state.close();\n },\n });\n\n const popover = (\n <Popover\n state={state}\n offset={offset}\n popoverRef={popoverRef}\n {...props}\n portalContainer={\n isSubmenu ? (groupContainer?.current ?? undefined) : undefined\n }\n >\n {isMobile ? (\n <DropdownMobile>{children}</DropdownMobile>\n ) : (\n <DropdownDesktop maxHeight='80vh' overflowY='auto' maxWidth={maxWidth}>\n {children}\n </DropdownDesktop>\n )}\n {!isSubmenu && (\n <span ref={containerRef} style={{ display: 'contents' }} />\n )}\n </Popover>\n );\n\n if (isSubmenu) {\n return popover;\n }\n\n return (\n <MenuPortalContext.Provider value={containerRef}>\n {popover}\n </MenuPortalContext.Provider>\n );\n}\n\nexport default MenuPopover;\n","import type {\n CollectionChildren,\n FocusableElement,\n Key,\n KeyboardEvent,\n Node,\n} from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\nimport { mergeProps, useMenuItem, useSubmenuTrigger } from 'react-aria';\nimport type { RootMenuTriggerState, TreeState } from 'react-stately';\nimport { useSubmenuTriggerState } from 'react-stately';\n\nimport { Icon } from '../Icon';\n\nimport MenuDropDown from './MenuDropdown';\nimport type { MenuOptionProps } from './MenuOption';\nimport MenuOption from './MenuOption';\nimport MenuPopover from './MenuPopover';\n\ntype MenuSubmenuProps = {\n item: Node<{\n variant?: MenuOptionProps['variant'];\n }>;\n state: TreeState<unknown>;\n rootMenuTriggerState: RootMenuTriggerState;\n parentMenuRef: RefObject<HTMLElement | null>;\n onAction?: (key: Key) => void;\n};\n\n/**\n * Renders a menu item that opens a nested submenu.\n *\n * The trigger item belongs to the parent menu's tree state (so arrow-key\n * navigation keeps working), while the submenu renders its own `MenuDropDown`\n * built from the trigger's children — giving it an isolated collection and\n * focus scope, mirroring how `react-aria-components` handles `SubmenuTrigger`.\n */\nfunction MenuSubmenu({\n item,\n state,\n rootMenuTriggerState,\n parentMenuRef,\n onAction,\n}: MenuSubmenuProps) {\n const triggerRef = useRef<FocusableElement>(null);\n const submenuRef = useRef<HTMLDivElement>(null);\n\n const submenuTriggerState = useSubmenuTriggerState(\n { triggerKey: item.key },\n rootMenuTriggerState,\n );\n\n const { submenuTriggerProps, submenuProps, popoverProps } =\n useSubmenuTrigger<object>(\n { parentMenuRef, submenuRef },\n submenuTriggerState,\n triggerRef,\n );\n\n /** react-aria's submenu hooks bind Escape to `state.closeAll()`, tearing down the whole menu tree. We override Escape so it dismisses only this submenu level — keeping its ancestors open — matching react-aria-components, where Escape closes the latest open submenu one level at a time.\n **/\n const closeSubmenu = () => {\n // Mirror the ArrowLeft behavior: move focus back to the trigger so the parent menu stays keyboard-navigable and a subsequent Escape closes the next level up.\n triggerRef.current?.focus();\n submenuTriggerState.close();\n };\n\n /** Fires when focus is inside the submenu (keyboard navigation). */\n const onSubmenuKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n closeSubmenu();\n return;\n }\n submenuProps.onKeyDown?.(event);\n };\n\n /** Fires when focus is on the trigger itself (e.g. a hover/press-opened submenu). When this submenu is open, close just it; once it's closed, let Escape bubble so the parent menu handles the next level up.\n **/\n const onTriggerKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n if (submenuTriggerState.isOpen) {\n closeSubmenu();\n return;\n }\n event.continuePropagation();\n return;\n }\n submenuTriggerProps.onKeyDown?.(event);\n };\n\n const { menuItemProps, isFocused, isDisabled } = useMenuItem(\n { ...submenuTriggerProps, onKeyDown: onTriggerKeyDown, key: item.key },\n state,\n triggerRef,\n );\n\n return (\n <>\n <MenuOption\n {...mergeProps(menuItemProps, {\n 'id': submenuTriggerProps.id,\n 'aria-haspopup': submenuTriggerProps['aria-haspopup'],\n 'aria-expanded': submenuTriggerProps['aria-expanded'],\n 'aria-controls': submenuTriggerProps['aria-controls'],\n })}\n ref={triggerRef}\n focus={isFocused}\n disabled={isDisabled}\n is='div'\n variant={item.value?.variant}\n >\n <div className='rcx-option__wrapper'>\n {item.rendered}\n <div className='rcx-option__input'>\n <Icon name='chevron-left' size='x16' />\n </div>\n </div>\n </MenuOption>\n {submenuTriggerState.isOpen && (\n <MenuPopover\n {...popoverProps}\n state={submenuTriggerState}\n triggerRef={triggerRef}\n placement='right top'\n >\n <MenuDropDown\n {...submenuProps}\n onKeyDown={onSubmenuKeyDown}\n rootMenuTriggerState={rootMenuTriggerState}\n menuRef={submenuRef}\n onAction={onAction}\n >\n {item.props?.children as CollectionChildren<object>}\n </MenuDropDown>\n </MenuPopover>\n )}\n </>\n );\n}\n\nexport default MenuSubmenu;\n","import type { Key, Node } from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useMenuSection, useSeparator } from 'react-aria';\nimport type { RootMenuTriggerState, TreeState } from 'react-stately';\n\nimport { Box } from '../Box';\nimport { Divider } from '../Divider';\nimport { OptionTitle } from '../Option';\n\nimport MenuItem from './MenuItem';\nimport MenuSubmenu from './MenuSubmenu';\n\ntype MenuSectionProps<T extends object> = {\n section: Node<T>;\n state: TreeState<unknown>;\n rootMenuTriggerState: RootMenuTriggerState;\n parentMenuRef: RefObject<HTMLElement | null>;\n onAction?: (key: Key) => void;\n};\n\nfunction MenuSection<T extends object>({\n section,\n state,\n rootMenuTriggerState,\n parentMenuRef,\n onAction,\n}: MenuSectionProps<T>) {\n const { itemProps, headingProps, groupProps } = useMenuSection({\n 'heading': section.rendered,\n 'aria-label': section['aria-label'],\n });\n\n const { separatorProps } = useSeparator({\n elementType: 'span',\n });\n\n // If the section is not the first, add a separator element.\n return (\n <>\n {section.key !== state.collection.getFirstKey() && (\n <Divider {...separatorProps} />\n )}\n <div {...itemProps}>\n {section.rendered && (\n <OptionTitle {...headingProps}>{section.rendered}</OptionTitle>\n )}\n <Box {...groupProps} padding='0'>\n {[...section.childNodes].map((node) =>\n node.hasChildNodes ? (\n <MenuSubmenu\n key={node.key}\n item={node as any}\n state={state}\n rootMenuTriggerState={rootMenuTriggerState}\n parentMenuRef={parentMenuRef}\n onAction={onAction}\n />\n ) : (\n <MenuItem key={node.key} item={node as any} state={state} />\n ),\n )}\n </Box>\n </div>\n </>\n );\n}\n\nexport default MenuSection;\n","import type { KeyboardEvent } from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\nimport type { AriaMenuProps } from 'react-aria';\nimport { useMenu } from 'react-aria';\nimport type { RootMenuTriggerState } from 'react-stately';\nimport { useTreeState } from 'react-stately';\n\nimport MenuItem from './MenuItem';\nimport MenuSection from './MenuSection';\nimport MenuSubmenu from './MenuSubmenu';\n\nexport type MenuDropDownProps<T extends object> = AriaMenuProps<T> & {\n /**\n * The root menu trigger state, shared across every (sub)menu level so the\n * submenu hooks can track the open submenu stack.\n */\n rootMenuTriggerState: RootMenuTriggerState;\n /**\n * Ref of the menu container. Submenus pass their `submenuRef` here so\n * `useSubmenuTrigger` can wire pointer/keyboard behavior to the right element.\n */\n menuRef?: RefObject<HTMLDivElement | null>;\n /** The nesting level of the menu, provided by `useSubmenuTrigger` for submenus. */\n submenuLevel?: number;\n /**\n * Keydown handler forwarded to the underlying menu element. Submenus use this\n * to override the Escape behavior so it closes a single level at a time.\n */\n onKeyDown?: (event: KeyboardEvent) => void;\n};\n\nfunction MenuDropDown<T extends object>({\n rootMenuTriggerState,\n menuRef,\n ...props\n}: MenuDropDownProps<T>) {\n const state = useTreeState(props);\n\n const fallbackRef = useRef<HTMLDivElement>(null);\n const ref = menuRef ?? fallbackRef;\n const { menuProps } = useMenu(props, state, ref);\n\n return (\n <div {...menuProps} ref={ref}>\n {[...state.collection].map((item) => {\n if (item.type === 'section') {\n return (\n <MenuSection\n key={item.key}\n section={item}\n state={state}\n rootMenuTriggerState={rootMenuTriggerState}\n parentMenuRef={ref}\n onAction={props.onAction}\n />\n );\n }\n\n if (item.hasChildNodes) {\n return (\n <MenuSubmenu\n key={item.key}\n item={item}\n state={state}\n rootMenuTriggerState={rootMenuTriggerState}\n parentMenuRef={ref}\n onAction={props.onAction}\n />\n );\n }\n\n return <MenuItem key={item.key} item={item} state={state} />;\n })}\n </div>\n );\n}\n\nexport default MenuDropDown;\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\n\ntype ReactAriaPlacement =\n | 'bottom'\n | 'bottom left'\n | 'bottom right'\n | 'bottom start'\n | 'bottom end'\n | 'top'\n | 'top left'\n | 'top right'\n | 'top start'\n | 'top end'\n | 'left'\n | 'left top'\n | 'left bottom'\n | 'start'\n | 'start top'\n | 'start bottom'\n | 'right'\n | 'right top'\n | 'right bottom'\n | 'end'\n | 'end top'\n | 'end bottom';\n\nexport const getPlacement = (\n placement: UsePositionOptions['placement'],\n): ReactAriaPlacement => {\n // switch case for placement from usePosition placement to react-aria\n switch (placement) {\n case 'bottom':\n return 'bottom';\n\n case 'bottom-start':\n return 'bottom start';\n case 'bottom-end':\n return 'bottom end';\n case 'top':\n return 'top';\n\n case 'top-start':\n return 'top start';\n case 'top-end':\n return 'top end';\n case 'left':\n return 'left';\n case 'left-start':\n return 'left top';\n case 'left-end':\n return 'left bottom';\n case 'right':\n return 'right';\n case 'right-start':\n return 'right top';\n case 'right-end':\n return 'right bottom';\n default:\n return 'bottom start';\n }\n};\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport type { ElementType, ReactElement } from 'react';\nimport { cloneElement, useRef } from 'react';\nimport type { AriaMenuProps } from 'react-aria';\nimport { useButton, useMenuTrigger } from 'react-aria';\nimport { createPortal } from 'react-dom';\nimport type { MenuTriggerProps } from 'react-stately';\nimport { useMenuTriggerState } from 'react-stately';\n\nimport { useOwnerDocument } from '../../contexts';\nimport type { BoxProps } from '../Box';\nimport { IconButton } from '../Button';\nimport type { IconButtonProps } from '../Button/IconButton';\n\nimport MenuDropDown from './MenuDropdown';\nimport MenuPopover from './MenuPopover';\nimport { getPlacement } from './helpers/helpers';\n\nexport type MenuProps<T> = AriaMenuProps<T> &\n MenuTriggerProps & {\n icon?: IconButtonProps['icon'];\n large?: boolean;\n medium?: boolean;\n small?: boolean;\n tiny?: boolean;\n mini?: boolean;\n placement?: UsePositionOptions['placement'];\n title?: string;\n detached?: boolean;\n /**\n * A component that renders an IconButton\n */\n is?: ElementType;\n className?: BoxProps['className'];\n pressed?: boolean;\n maxWidth?: string;\n button?: ReactElement<any>;\n };\n\nconst Menu = <T extends object>({\n icon = 'kebab',\n placement = 'bottom-start',\n title,\n is: MenuButton = IconButton,\n className,\n pressed,\n maxWidth = 'x250',\n button,\n detached,\n ...props\n}: MenuProps<T>) => {\n const state = useMenuTriggerState(props);\n\n const ref = useRef<Element>(null);\n const { menuTriggerProps, menuProps } = useMenuTrigger<T>({}, state, ref);\n\n const { buttonProps } = useButton(\n {\n ...menuTriggerProps,\n 'aria-label': props['aria-label'] || title,\n ...{ preventFocusOnPress: true },\n },\n ref,\n );\n\n const { large, medium, tiny, mini } = props;\n const sizes = { large, medium, tiny, mini };\n const defaultSmall = !large && !medium && !tiny && !mini;\n\n const { document: ownerDocument } = useOwnerDocument();\n\n const popover = state.isOpen && (\n <MenuPopover\n state={state}\n triggerRef={ref}\n placement={getPlacement(placement)}\n maxWidth={maxWidth}\n >\n <MenuDropDown {...props} {...menuProps} rootMenuTriggerState={state} />\n </MenuPopover>\n );\n\n return (\n <>\n {button ? (\n cloneElement(button, {\n ...buttonProps,\n ref,\n icon,\n className,\n title,\n pressed: pressed || state.isOpen,\n })\n ) : (\n <MenuButton\n {...buttonProps}\n ref={ref}\n icon={icon}\n className={className}\n title={title}\n pressed={pressed || state.isOpen}\n small={defaultSmall}\n {...sizes}\n />\n )}\n {detached\n ? createPortal(popover, ownerDocument?.body || document.body)\n : popover}\n </>\n );\n};\n\nexport default Menu;\n","import type { ItemProps } from '@react-types/shared';\nimport { Children } from 'react';\n\nimport type { PartialNode } from './PartialNode';\n\nexport type MenuItemProps<T> = ItemProps<T>;\n\nfunction MenuItem<T>(_props: MenuItemProps<T>) {\n return null;\n}\n\nMenuItem.getCollectionNode = function* getCollectionNode<T>(\n props: MenuItemProps<T>,\n context: any,\n): Generator<PartialNode<T>> {\n const { childItems, title, children } = props;\n\n const rendered = props.title || props.children;\n const textValue =\n props.textValue ||\n (typeof rendered === 'string' ? rendered : '') ||\n props['aria-label'] ||\n '';\n\n if (!textValue && !context?.suppressTextValueWarning) {\n console.warn(\n '<Item> with non-plain text contents is unsupported by type to select for accessibility. Please add a `textValue` prop.',\n );\n }\n\n yield {\n 'type': 'item',\n props,\n rendered,\n textValue,\n 'aria-label': props['aria-label'],\n 'hasChildNodes': hasChildItems(props),\n *'childNodes'() {\n if (childItems) {\n for (const child of childItems) {\n yield {\n type: 'item',\n value: child,\n };\n }\n } else if (title) {\n const items: PartialNode<T>[] = [];\n Children.forEach(children, (child) => {\n items.push({\n type: 'item',\n element: child,\n });\n });\n\n yield* items;\n }\n },\n };\n};\n\nfunction hasChildItems<T>(props: MenuItemProps<T>) {\n if (props.hasChildItems != null) {\n return props.hasChildItems;\n }\n\n if (props.childItems) {\n return true;\n }\n\n if (props.title && Children.count(props.children) > 0) {\n return true;\n }\n\n return false;\n}\n\nexport default MenuItem;\n","import type { ItemProps } from '@react-types/shared';\nimport type { ReactElement, ReactNode } from 'react';\nimport { isValidElement } from 'react';\n\nimport type { PartialNode } from './PartialNode';\n\nexport type MenuSubmenuTriggerProps<T> = Omit<\n ItemProps<T>,\n 'title' | 'children'\n> & {\n /**\n * The trigger item followed by the submenu items.\n *\n * The **first** child is rendered as the entry in the parent menu — it may\n * use the rich `MenuItem*` sub-components (`MenuItemIcon`, `MenuItemContent`,\n * …). The **remaining** children populate the submenu that opens beside it.\n */\n children: ReactNode;\n variant?: 'danger' | 'success' | 'warning' | 'primary';\n};\n\nfunction MenuSubmenuTrigger<T>(_props: MenuSubmenuTriggerProps<T>) {\n return null;\n}\n\nconst toElementArray = (children: ReactNode): ReactElement<any>[] => {\n const result: ReactElement<any>[] = [];\n\n const visit = (node: ReactNode) => {\n if (Array.isArray(node)) {\n node.forEach(visit);\n return;\n }\n if (isValidElement(node)) {\n result.push(node);\n }\n };\n\n visit(children);\n return result;\n};\n\nMenuSubmenuTrigger.getCollectionNode = function* getCollectionNode<T>(\n props: MenuSubmenuTriggerProps<T>,\n context: any,\n): Generator<PartialNode<T>> {\n const [trigger, ...submenuItems] = toElementArray(props.children);\n\n if (!trigger || submenuItems.length === 0) {\n throw new Error(\n 'A <MenuSubmenuTrigger> must have at least two children: the trigger item followed by one or more submenu items.',\n );\n }\n\n const rendered = trigger.props.children;\n const textValue =\n props.textValue ||\n trigger.props.textValue ||\n (typeof rendered === 'string' ? rendered : '') ||\n props['aria-label'] ||\n trigger.props['aria-label'] ||\n '';\n\n if (!textValue && !context?.suppressTextValueWarning) {\n console.warn(\n '<MenuSubmenuTrigger> with non-plain text contents is unsupported by type to select for accessibility. Please add a `textValue` prop.',\n );\n }\n\n yield {\n 'type': 'item',\n // Only the submenu items are forwarded as children — the trigger element is\n // consumed here and rendered separately by `MenuSubmenu`.\n 'props': { ...props, children: submenuItems },\n rendered,\n textValue,\n 'aria-label': props['aria-label'] || trigger.props['aria-label'],\n 'value': (props.variant\n ? { variant: props.variant }\n : undefined) as unknown as T,\n 'hasChildNodes': true,\n *'childNodes'() {\n for (const item of submenuItems) {\n yield {\n type: 'item',\n element: item,\n };\n }\n },\n };\n};\n\nexport default MenuSubmenuTrigger;\n","import type { SectionProps } from '@react-types/shared';\nimport { Children } from 'react';\n\nimport type { PartialNode } from './PartialNode';\n\nexport type MenuSectionProps<T> = SectionProps<T>;\n\nfunction MenuSection<T>(_props: MenuSectionProps<T>) {\n return null;\n}\n\nMenuSection.getCollectionNode = function* getCollectionNode<T>(\n props: MenuSectionProps<T>,\n): Generator<PartialNode<T>> {\n const { children, title, items } = props;\n yield {\n 'type': 'section',\n props,\n 'hasChildNodes': true,\n 'rendered': title,\n 'aria-label': props['aria-label'],\n *'childNodes'() {\n if (typeof children === 'function') {\n if (!items) {\n throw new Error(\n 'props.children was a function but props.items is missing',\n );\n }\n\n for (const item of items) {\n yield {\n type: 'item',\n value: item,\n element: children(item),\n } as PartialNode<T>;\n }\n } else {\n const items: PartialNode<T>[] = [];\n Children.forEach(children, (child) => {\n items.push({\n type: 'item',\n element: child ?? undefined,\n });\n });\n\n yield* items;\n }\n },\n };\n};\n\nexport default MenuSection;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type MessageProps = AllHTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement> & {\n clickable?: boolean;\n sequential?: boolean;\n className?: string;\n isSelected?: boolean;\n isEditing?: boolean;\n isPending?: boolean;\n highlight?: boolean;\n };\n\nfunction Message({\n className,\n clickable,\n sequential,\n isSelected,\n isEditing,\n isPending,\n highlight,\n ...props\n}: MessageProps) {\n return (\n <div\n className={prependClassName(\n className,\n [\n 'rcx-message',\n (clickable || props.onClick) && 'rcx-message--clickable',\n sequential && 'rcx-message--sequential',\n isSelected && 'rcx-message--selected',\n isEditing && 'rcx-message--editing',\n isPending && 'rcx-message--pending',\n highlight && 'rcx-message--highlight',\n ]\n .filter(Boolean)\n .join(' '),\n )}\n {...props}\n />\n );\n}\n\nexport default Message;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type MessageBlockProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLDivElement> & {\n fixedWidth?: boolean;\n };\n\nfunction MessageBlock({\n className: _className,\n fixedWidth,\n ...props\n}: MessageBlockProps) {\n return (\n <Box\n rcx-message-block\n rcx-message-block--width-fixed={fixedWidth}\n {...props}\n />\n );\n}\n\nexport default MessageBlock;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type MessageBodyProps = HTMLAttributes<HTMLDivElement> & {\n clamp?: 2 | 3 | 4;\n};\n\nconst MessageBody = ({ clamp, className, ...props }: MessageBodyProps) => (\n <div\n className={\n prependClassName(\n className,\n [\n 'rcx-message-body',\n clamp && `rcx-message-body--clamp rcx-message-body--clamp-${clamp}`,\n ]\n .filter(Boolean)\n .join(' '),\n ) as string\n }\n {...props}\n />\n);\n\nexport default MessageBody;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageContainer = (props: MessageContainerProps) => (\n <div className='rcx-box rcx-box--full rcx-message-container' {...props} />\n);\n\nexport default MessageContainer;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageContainerFixedProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageContainerFixed = (props: MessageContainerFixedProps) => (\n <div\n className='rcx-box rcx-box--full rcx-message-container rcx-message-container--fixed'\n {...props}\n />\n);\n\nexport default MessageContainerFixed;\n","import type { ReactNode } from 'react';\n\nexport type MessageDividerProps = {\n children?: ReactNode;\n unreadLabel?: string;\n};\n\nconst MessageDivider = ({\n children,\n unreadLabel,\n ...props\n}: MessageDividerProps) => (\n <div\n role='separator'\n className={\n !unreadLabel\n ? 'rcx-message-divider'\n : 'rcx-message-divider rcx-message-divider--unread'\n }\n {...props}\n >\n {children && (\n <>\n <div className='rcx-message-divider__bar' />\n <div className='rcx-message-divider__wrapper'>{children}</div>{' '}\n </>\n )}\n <div className='rcx-message-divider__bar'>\n {unreadLabel && (\n <div className='rcx-message-divider__wrapper--unread'>\n {unreadLabel}\n </div>\n )}\n </div>\n </div>\n);\n\nexport default MessageDivider;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageEmojiBaseProps = {\n name: string;\n image?: string;\n} & HTMLAttributes<HTMLSpanElement>;\n\nconst MessageEmojiBase = ({\n name,\n image,\n className,\n ...props\n}: MessageEmojiBaseProps) => (\n <span\n className={`${className || ''} ${name}`}\n style={image && image.length ? { backgroundImage: image } : undefined}\n {...props}\n />\n);\n\nexport default MessageEmojiBase;\n","import type { MessageEmojiBaseProps } from './MessageEmojiBase';\nimport MessageEmojiBase from './MessageEmojiBase';\n\nexport type MessageEmojiProps = MessageEmojiBaseProps & {\n big?: boolean;\n};\n\nconst MessageEmoji = ({\n name,\n className,\n image,\n big,\n ...props\n}: MessageEmojiProps) => (\n <MessageEmojiBase\n className={[\n 'rcx-message__emoji',\n className,\n big && 'rcx-message__emoji--big',\n ]\n .filter(Boolean)\n .join(' ')}\n name={name}\n image={image}\n {...props}\n />\n);\n\nexport default MessageEmoji;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageGenericPreviewProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageGenericPreview = (props: MessageGenericPreviewProps) => (\n <div className='rcx-message-generic-preview' {...props} />\n);\n\nexport default MessageGenericPreview;\n","import type { ReactNode } from 'react';\n\nexport type MessageGenericPreviewContentProps = {\n children?: ReactNode;\n thumb?: ReactNode;\n};\n\nconst MessageGenericPreviewContent = ({\n thumb,\n ...props\n}: MessageGenericPreviewContentProps) => (\n <div className='rcx-message-generic-preview__content'>\n {thumb}\n <div className='rcx-message-generic-preview__content-wrapper' {...props} />\n </div>\n);\n\nexport default MessageGenericPreviewContent;\n","import type { ReactNode } from 'react';\n\nexport type MessageGenericPreviewDescriptionProps = {\n children?: ReactNode;\n clamp?: boolean;\n};\n\nconst MessageGenericPreviewDescription = ({\n children,\n clamp = false,\n}: MessageGenericPreviewDescriptionProps) => (\n <div\n className={[\n 'rcx-message-generic-preview__description',\n clamp && 'rcx-message-generic-preview__description--clamp',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n);\n\nexport default MessageGenericPreviewDescription;\n","import type { ReactNode } from 'react';\n\nexport type MessageGenericPreviewFooterProps = {\n children?: ReactNode;\n clamp?: boolean;\n};\n\nconst MessageGenericPreviewFooter = ({\n children,\n}: MessageGenericPreviewFooterProps) => (\n <div className={'rcx-message-generic-preview__footer'}>{children}</div>\n);\n\nexport default MessageGenericPreviewFooter;\n","import { prependClassName } from '../../../helpers/prependClassName';\n\nexport type MessageGenericPreviewCoverImageProps = {\n url: string;\n width: number;\n height: number;\n className?: string;\n};\n\nconst MessageGenericPreviewCoverImage = ({\n url,\n width,\n height,\n className,\n ...props\n}: MessageGenericPreviewCoverImageProps) => (\n <div\n className={prependClassName(\n className,\n 'rcx-message-generic-preview__preview',\n )}\n style={{ backgroundImage: `url(${url})`, maxWidth: '100%' }}\n data-testid='preview-image'\n {...props}\n >\n <div style={{ paddingTop: `${(height / width) * 100}%` }} />\n </div>\n);\n\nexport default MessageGenericPreviewCoverImage;\n","import type { ImgHTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../helpers/prependClassName';\n\nexport type MessageGenericPreviewImageProps = {\n url: string;\n className?: string;\n} & ImgHTMLAttributes<HTMLImageElement>;\n\nconst MessageGenericPreviewImage = ({\n url,\n className,\n ...props\n}: MessageGenericPreviewImageProps) => (\n <img\n src={url}\n className={prependClassName(\n className,\n 'rcx-message-generic-preview__image',\n )}\n alt=''\n {...props}\n />\n);\n\nexport default MessageGenericPreviewImage;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageGenericPreviewThumbProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageGenericPreviewThumb = (props: MessageGenericPreviewThumbProps) => (\n <div className='rcx-message-generic-preview__thumb' {...props} />\n);\n\nexport default MessageGenericPreviewThumb;\n","import type { AnchorHTMLAttributes, HTMLAttributes } from 'react';\n\nexport type MessageGenericPreviewTitleProps = {\n externalUrl?: string;\n} & HTMLAttributes<HTMLSpanElement> &\n AnchorHTMLAttributes<HTMLAnchorElement>;\n\nconst MessageGenericPreviewTitle = ({\n externalUrl,\n children,\n ...props\n}: MessageGenericPreviewTitleProps) => {\n if (externalUrl) {\n return (\n <a\n className='rcx-message-generic-preview__title rcx-message-generic-preview__title-link'\n href={externalUrl}\n target='_blank'\n {...props}\n >\n {children}\n </a>\n );\n }\n\n return <span className='rcx-message-generic-preview__title' {...props} />;\n};\n\nexport default MessageGenericPreviewTitle;\n","import { Icon, type IconProps } from '../../Icon';\n\nexport type MessageGenericPreviewIconProps = IconProps & {\n type: string;\n};\n\nconst MessageGenericPreviewIcon = ({\n name = 'attachment-file',\n size = 32,\n color = 'default',\n type = 'file',\n}: MessageGenericPreviewIconProps) => (\n <div className='rcx-message-generic-preview__icon'>\n <Icon name={name} color={color} size={size} />\n <div className='rcx-message-generic-preview__icon-title'>{type}</div>\n </div>\n);\n\nexport default MessageGenericPreviewIcon;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageHeader = ({ children, ...props }: MessageHeaderProps) => (\n <div className='rcx-box rcx-box--full rcx-message-header' {...props}>\n <div className='rcx-box rcx-box--full rcx-message-header__wrapper'>\n {children}\n </div>\n </div>\n);\n\nexport default MessageHeader;\n","import type { ElementType, HTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type MessageHighlightProps = {\n is?: ElementType;\n clickable?: boolean;\n variant?: 'critical' | 'relevant' | 'other' | 'link';\n className?: string;\n children: ReactNode;\n title?: string;\n} & HTMLAttributes<HTMLElement>;\n\nfunction MessageHighlight({\n is: Tag = 'span',\n variant = 'other',\n className,\n clickable,\n ...props\n}: MessageHighlightProps) {\n const modifiers = [variant, clickable && 'clickable']\n .filter(Boolean)\n .map((modifier) => `rcx-message__highlight--${modifier}`)\n .join(' ');\n\n return (\n <Tag\n className={prependClassName(\n className,\n `rcx-box rcx-box--full rcx-message__highlight ${modifiers}`,\n )}\n {...props}\n />\n );\n}\n\nexport default MessageHighlight;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageLeftContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageLeftContainer = (props: MessageLeftContainerProps) => (\n <div\n className='rcx-box rcx-box--full rcx-message-container rcx-message-container--left'\n {...props}\n />\n);\n\nexport default MessageLeftContainer;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageMetricsContentItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsContentItem = (props: MessageMetricsContentItemProps) => (\n <div className='rcx-message-metrics__content-item' {...props} />\n);\n\nexport default MessageMetricsContentItem;\n","import type { HTMLAttributes } from 'react';\n\nimport MessageMetricsContentItem from './MessageMetricsContentItem';\n\nexport type MessageMetricsProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetrics = (props: MessageMetricsProps) => (\n <MessageMetricsContentItem>\n <div className='rcx-message-metrics__content-wrapper' {...props} />\n </MessageMetricsContentItem>\n);\n\nexport default MessageMetrics;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../../helpers/prependClassName';\n\nexport type MessageMetricsItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItem = ({\n className,\n ...props\n}: MessageMetricsItemProps) => (\n <div\n className={prependClassName(className, 'rcx-message-metrics__item')}\n {...props}\n />\n);\n\nexport default MessageMetricsItem;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../../helpers/prependClassName';\n\nexport type MessageMetricsItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItemAvatarRow = ({\n className,\n ...props\n}: MessageMetricsItemProps) => (\n <div\n className={prependClassName(className, 'rcx-message-metrics__avatar-row')}\n {...props}\n />\n);\n\nexport default MessageMetricsItemAvatarRow;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../../helpers/prependClassName';\n\nexport type MessageMetricsItemAvatarRowContentProps =\n HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItemAvatarRowContent = ({\n className,\n ...props\n}: MessageMetricsItemAvatarRowContentProps) => (\n <div\n className={prependClassName(\n className,\n 'rcx-message-metrics__avatar-row__content',\n )}\n {...props}\n />\n);\n\nexport default MessageMetricsItemAvatarRowContent;\n","import { Icon, type IconProps } from '../../../Icon';\n\nexport type MessageMetricsItemIconProps = {\n name: 'thread' | 'user' | 'clock' | 'discussion';\n} & Omit<IconProps, 'name'>;\n\nconst MessageMetricsItemIcon = (props: MessageMetricsItemIconProps) => (\n <Icon size='x20' {...props} />\n);\n\nexport default MessageMetricsItemIcon;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageMetricsItemLabelProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItemLabel = (props: MessageMetricsItemLabelProps) => (\n <div className='rcx-message-metrics__item-label' {...props} />\n);\n\nexport default MessageMetricsItemLabel;\n","import type { ReactNode } from 'react';\n\nimport { IconButton, type IconButtonProps } from '../../Button';\n\nexport type MessageMetricsFollowingProps = {\n name: 'bell' | 'bell-off';\n badge?: ReactNode;\n} & Omit<IconButtonProps, 'icon'>;\n\nconst MessageMetricsFollowing = ({\n name,\n badge,\n ...props\n}: MessageMetricsFollowingProps) => (\n <IconButton\n position='relative'\n overflow='visible'\n {...props}\n small\n icon={name}\n >\n {badge && (\n <div className='rcx-message-metrics__item__follow-badge'>{badge}</div>\n )}\n </IconButton>\n);\n\nexport default MessageMetricsFollowing;\n","import { Button, type ButtonProps } from '../../Button';\n\nimport { MessageMetricsItem } from './MessageMetricsItem';\n\nexport type MessageMetricsReplyProps = ButtonProps;\n\nconst MessageMetricsReply = (props: MessageMetricsReplyProps) => (\n <MessageMetricsItem>\n <Button primary {...props} small />\n </MessageMetricsItem>\n);\n\nexport default MessageMetricsReply;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageNameProps = HTMLAttributes<HTMLSpanElement>;\n\nconst MessageName = (props: MessageNameProps) => (\n <span className='rcx-box rcx-box--full rcx-message-header__name' {...props} />\n);\n\nexport default MessageName;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type MessageNameContainerProps = HTMLAttributes<HTMLSpanElement> &\n RefAttributes<HTMLSpanElement>;\n\nfunction MessageNameContainer(props: MessageNameContainerProps) {\n return (\n <span\n className='rcx-box rcx-box--full rcx-message-header__name-container'\n {...props}\n />\n );\n}\n\nexport default MessageNameContainer;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport MessageBlock from '../MessageBlock';\n\nexport type MessageReactionsProps = HTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement>;\n\nfunction MessageReactions(props: MessageReactionsProps) {\n return (\n <MessageBlock className='rcx-message-reactions'>\n <div className='rcx-message-reactions__container' {...props} />\n </MessageBlock>\n );\n}\n\nexport default MessageReactions;\n","export type MessageReactionCounterProps = {\n counter: number;\n className?: string;\n};\n\nconst MessageReactionCounter = ({\n counter,\n className,\n}: MessageReactionCounterProps) => (\n <div className={`rcx-message-reactions__counter ${className}`}>{counter}</div>\n);\n\nexport default MessageReactionCounter;\n","import type { MessageEmojiBaseProps } from '../MessageEmojiBase';\nimport MessageEmojiBase from '../MessageEmojiBase';\n\nexport type MessageReactionEmojiProps = MessageEmojiBaseProps;\n\nconst MessageReactionEmoji = ({\n className,\n ...props\n}: MessageReactionEmojiProps) => (\n <MessageEmojiBase\n className={`rcx-message-reactions__emoji ${className || ''}`}\n {...props}\n />\n);\n\nexport default MessageReactionEmoji;\n","import type { HTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport MessageReactionCounter from './MessageReactionCounter';\nimport MessageReactionEmoji from './MessageReactionEmoji';\n\nexport type MessageReactionProps = RefAttributes<HTMLDivElement> & {\n name?: string;\n counter?: number;\n mine?: boolean;\n children?: ReactNode;\n} & HTMLAttributes<HTMLDivElement>;\n\nfunction MessageReaction({\n name,\n counter,\n mine,\n children,\n className,\n ...props\n}: MessageReactionProps) {\n return (\n <div\n className={[\n `rcx-message-reactions__reaction`,\n mine && 'rcx-message-reactions__reaction--mine',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n role='button'\n tabIndex={0}\n {...props}\n >\n {children || (\n <>\n {name && <MessageReactionEmoji name={name} />}\n {counter && <MessageReactionCounter counter={counter} />}\n </>\n )}\n </div>\n );\n}\n\nexport default MessageReaction;\n","import type { HTMLAttributes } from 'react';\n\nimport { Icon } from '../../Icon';\n\nexport type MessageReactionActionProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageReactionAction = ({\n className,\n ...props\n}: MessageReactionActionProps) => (\n <div\n role='button'\n tabIndex={0}\n className={[\n 'rcx-message-reactions__reaction rcx-message-reactions__reaction--action',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <Icon name='emoji-plus' size='x16' />\n </div>\n);\n\nexport default MessageReactionAction;\n","import type { ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\nimport { Box, type BoxProps } from '../Box';\n\nexport type TagProps = {\n medium?: boolean;\n large?: boolean;\n /**\n * Fully rounded shape. Use for interactive tags such as filters\n */\n pill?: boolean;\n variant?:\n | 'primary'\n | 'secondary'\n | 'danger'\n | 'warning'\n | 'secondary-danger'\n | 'secondary-warning'\n | 'secondary-info'\n | 'featured';\n disabled?: boolean;\n icon?: ReactNode;\n} & Omit<BoxProps, 'is'>;\n\n/**\n * Used for mentions\n */\nconst Tag = ({\n large,\n medium,\n pill,\n className,\n disabled,\n onClick,\n variant,\n children,\n icon,\n href,\n ...props\n}: TagProps) => {\n const modifiers = [\n variant,\n medium && 'medium',\n large && 'large',\n pill && 'pill',\n disabled && 'disabled',\n onClick && 'clickable',\n href && 'clickable',\n ]\n .filter(Boolean)\n .map((modifier) => `rcx-tag--${modifier}`)\n .join(' ');\n\n return (\n <Box\n is={href ? 'a' : 'span'}\n className={prependClassName(className as string, `rcx-tag ${modifiers}`)}\n onClick={onClick}\n href={href}\n {...props}\n >\n {icon}\n <span className='rcx-tag__inner'>{children}</span>\n </Box>\n );\n};\n\nexport default Tag;\n","import type { TagProps } from '../Tag';\nimport { Tag } from '../Tag';\n\nexport type MessageRoleProps = TagProps;\n\nconst MessageRole = (props: MessageRoleProps) => (\n <Tag className='rcx-box rcx-box--full rcx-message-header__role' {...props} />\n);\n\nexport default MessageRole;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageRolesProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageRoles = (props: MessageRolesProps) => (\n <div className='rcx-box rcx-box--full rcx-message-header__roles' {...props} />\n);\n\nexport default MessageRoles;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\n\nexport type MessageStatusIndicatorProps = AllHTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement>;\n\nfunction MessageStatusIndicator(props: MessageStatusIndicatorProps) {\n return <div className='rcx-message-status-indicator' {...props} />;\n}\n\nexport default MessageStatusIndicator;\n","import type { ReactNode } from 'react';\n\nexport type MessageStatusIndicatorTextProps = {\n children: ReactNode;\n};\n\nconst MessageStatusIndicatorText = ({\n children,\n}: MessageStatusIndicatorTextProps) => (\n <span className='rcx-message-status-indicator__text' aria-hidden>\n {children}\n </span>\n);\n\nexport default MessageStatusIndicatorText;\n","import type { AllHTMLAttributes } from 'react';\n\nimport { Icon, type IconProps } from '../../Icon';\n\nexport type MessageStatusIndicatorItemProps = {\n name: IconProps['name'];\n variant?: 'success' | 'danger' | 'warning' | 'primary';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst MessageStatusIndicatorItem = ({\n name,\n variant,\n ...props\n}: MessageStatusIndicatorItemProps) => (\n <Icon\n name={name}\n size='x16'\n className={[\n 'rcx-message-status-indicator__item',\n variant && `rcx-message-status-indicator__item--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n\nexport default MessageStatusIndicatorItem;\n","import type { ReactNode } from 'react';\n\nimport type { MessageStatusIndicatorItemProps } from './MessageStatusIndicatorItem';\n\nexport type MessageStatusPrivateIndicatorProps = {\n children?: ReactNode;\n variant?: MessageStatusIndicatorItemProps['variant'];\n};\n\nconst MessageStatusPrivateIndicator = ({\n children,\n variant,\n}: MessageStatusPrivateIndicatorProps) => (\n <span\n className={[\n 'rcx-message-status-indicator__item `rcx-message-status-indicator__item--private',\n variant && `rcx-message-status-indicator__item--${variant}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </span>\n);\n\nexport default MessageStatusPrivateIndicator;\n","import type {\n ReactNode,\n MouseEvent as ReactMouseEvent,\n AllHTMLAttributes,\n} from 'react';\n\nexport type MessageSystemProps = {\n children?: ReactNode;\n title?: string;\n isSelected?: boolean;\n onClick?: (e: ReactMouseEvent<HTMLDivElement, MouseEvent>) => void;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst MessageSystem = ({\n children,\n title,\n isSelected,\n ...props\n}: MessageSystemProps) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-message-system',\n isSelected && 'rcx-message-system--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n title={title}\n {...props}\n >\n {children}\n </div>\n);\n\nexport default MessageSystem;\n","import type { ReactNode } from 'react';\n\nexport type MessageSystemBlockProps = {\n children?: ReactNode;\n};\n\nconst MessageSystemBlock = (props: MessageSystemBlockProps) => (\n <div className='rcx-message-system__block' {...props} />\n);\n\nexport default MessageSystemBlock;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageSystemBodyProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageSystemBody = (props: MessageSystemBodyProps) => (\n <div className='rcx-message-system__body' {...props} />\n);\n\nexport default MessageSystemBody;\n","import type { ReactNode } from 'react';\n\nexport type MessageSystemContainerProps = {\n children?: ReactNode;\n};\n\nconst MessageSystemContainer = (props: MessageSystemContainerProps) => (\n <div\n className='rcx-box rcx-box--full rcx-message-system__container'\n {...props}\n />\n);\n\nexport default MessageSystemContainer;\n","import type { MessageNameProps } from '../MessageName';\n\nexport type MessageSystemNameProps = MessageNameProps;\n\nconst MessageSystemName = (props: MessageSystemNameProps) => (\n <span className='rcx-box rcx-box--full rcx-message-system__name' {...props} />\n);\n\nexport default MessageSystemName;\n","import type { ReactNode } from 'react';\n\nexport type MessageSystemTimestampProps = {\n children: ReactNode;\n title?: string;\n};\n\nconst MessageSystemTimestamp = (props: MessageSystemTimestampProps) => (\n <span className='rcx-box rcx-box--full rcx-message-system__time' {...props} />\n);\n\nexport default MessageSystemTimestamp;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageTimestampProps = HTMLAttributes<HTMLSpanElement>;\n\nconst MessageTimestamp = (props: MessageTimestampProps) => (\n <span className='rcx-box rcx-box--full rcx-message-header__time' {...props} />\n);\n\nexport default MessageTimestamp;\n","import { ButtonGroup, type ButtonGroupProps } from '../../ButtonGroup';\n\nexport type MessageToolbarProps = ButtonGroupProps;\n\nfunction MessageToolbar(props: MessageToolbarProps) {\n return (\n <div className='rcx-box rcx-box--full rcx-message-toolbar'>\n <ButtonGroup role='toolbar' small {...props} />\n </div>\n );\n}\n\nexport default MessageToolbar;\n","import type { RefAttributes } from 'react';\n\nimport { IconButton } from '../../Button';\nimport type { IconButtonProps } from '../../Button/IconButton';\n\nexport type MessageToolbarItemProps = Omit<IconButtonProps, 'ref'> &\n RefAttributes<HTMLButtonElement>;\n\nfunction MessageToolbarItem(props: MessageToolbarItemProps) {\n return <IconButton small {...props} />;\n}\n\nexport default MessageToolbarItem;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type MessageToolbarWrapperProps = HTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement> & {\n visible?: boolean;\n };\n\nfunction MessageToolbarWrapper({\n className,\n visible,\n ...props\n}: MessageToolbarWrapperProps) {\n return (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-message-toolbar__wrapper',\n visible && 'rcx-message-toolbar__wrapper--visible',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n );\n}\n\nexport default MessageToolbarWrapper;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageUsernameProps = HTMLAttributes<HTMLSpanElement>;\n\nconst MessageUsername = (props: MessageUsernameProps) => (\n <span\n className='rcx-box rcx-box--full rcx-message-header__username'\n {...props}\n />\n);\n\nexport default MessageUsername;\n","import Message, { type MessageProps } from '../Message';\n\nexport type ThreadMessageProps = MessageProps;\n\nconst ThreadMessage = (props: ThreadMessageProps) => (\n <Message className='rcx-message-thread' {...props} />\n);\n\nexport default ThreadMessage;\n","import type { ReactNode } from 'react';\n\nexport type ThreadMessageBodyProps = {\n children?: ReactNode;\n};\n\nconst ThreadMessageBody = (props: ThreadMessageBodyProps) => (\n <div\n className='rcx-box rcx-box--full rcx-message-thread__message'\n {...props}\n />\n);\n\nexport default ThreadMessageBody;\n","import type { ReactNode } from 'react';\n\nexport type ThreadMessageContainerProps = {\n children?: ReactNode;\n};\n\nconst ThreadMessageContainer = (props: ThreadMessageContainerProps) => (\n <div\n className='rcx-box rcx-box--full rcx-message-thread__container'\n {...props}\n />\n);\n\nexport default ThreadMessageContainer;\n","import type { MessageEmojiBaseProps } from '../MessageEmojiBase';\nimport MessageEmojiBase from '../MessageEmojiBase';\n\nexport type ThreadMessageEmojiProps = MessageEmojiBaseProps;\n\nconst ThreadMessageEmoji = ({\n className,\n ...props\n}: ThreadMessageEmojiProps) => (\n <MessageEmojiBase\n className={`rcx-message-thread__emoji ${className || ''}`}\n {...props}\n />\n);\n\nexport default ThreadMessageEmoji;\n","import { Icon, type IconProps } from '../../Icon';\n\nexport type ThreadMessageIconProps = IconProps;\n\nconst ThreadMessageIcon = ({ ...props }: IconProps) => (\n <Icon\n className='rcx-box rcx-box--full rcx-message-thread__icon'\n size='x16'\n {...props}\n />\n);\n\nexport default ThreadMessageIcon;\n","import ThreadMessageIcon from './ThreadMessageIcon';\n\nconst ThreadMessageFollow = () => (\n <ThreadMessageIcon\n className='rcx-box rcx-box--full rcx-message-thread__icon rcx-message-thread__icon--follow'\n name='bell'\n />\n);\n\nexport default ThreadMessageFollow;\n","import ThreadMessageIcon from './ThreadMessageIcon';\n\nconst ThreadMessageIconThread = () => <ThreadMessageIcon name='thread' />;\n\nexport default ThreadMessageIconThread;\n","import type { ReactNode } from 'react';\n\nexport type ThreadMessageOriginProps = {\n children?: ReactNode;\n system?: boolean;\n};\n\nconst ThreadMessageOrigin = ({\n children,\n system,\n}: ThreadMessageOriginProps) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-message-thread__origin',\n system && 'rcx-box rcx-box--full rcx-message-thread__origin--system',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n);\n\nexport default ThreadMessageOrigin;\n","import type { HTMLAttributes } from 'react';\n\nexport type ThreadMessageRowProps = HTMLAttributes<HTMLDivElement>;\n\nconst ThreadMessageRow = (props: ThreadMessageRowProps) => (\n <div className='rcx-box rcx-box--full rcx-message-thread__row' {...props} />\n);\n\nexport default ThreadMessageRow;\n","import ThreadMessageIcon from './ThreadMessageIcon';\n\nconst ThreadMessageUnfollow = () => (\n <ThreadMessageIcon\n className='rcx-box rcx-box--full rcx-message-thread__icon rcx-message-thread__icon--unfollow'\n name='bell-off'\n />\n);\n\nexport default ThreadMessageUnfollow;\n","import type { HTMLAttributes } from 'react';\n\nexport type ThreadMessageLeftContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst ThreadMessageLeftContainer = (props: ThreadMessageLeftContainerProps) => (\n <div\n className='rcx-box rcx-box--full rcx-message-container rcx-message-container--left'\n {...props}\n />\n);\n\nexport default ThreadMessageLeftContainer;\n","import type { ElementType, ReactNode, RefAttributes } from 'react';\nimport { createElement } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ModalProps = Omit<BoxProps, 'ref'> &\n RefAttributes<Element> & {\n wrapperFunction?: (\n props: Pick<BoxProps, 'elevation' | 'className' | 'children'>,\n ) => ReactNode;\n wrapper?: ElementType<\n Pick<BoxProps, 'elevation' | 'className' | 'children'>\n >;\n };\n\nconst Modal = ({\n children,\n wrapper = Box,\n wrapperFunction,\n ...props\n}: ModalProps) => {\n const wrapperProps = {\n children,\n className: 'rcx-modal__inner',\n elevation: '2',\n } as const;\n\n return (\n <Box is='dialog' open aria-modal='true' rcx-modal {...props}>\n {wrapperFunction\n ? wrapperFunction(wrapperProps)\n : createElement(wrapper, wrapperProps)}\n </Box>\n );\n};\n\nexport default Modal;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalBackdropProps = BoxProps;\n\nconst ModalBackdrop = (props: ModalBackdropProps) => (\n <Box rcx-modal__backdrop {...props} />\n);\n\nexport default ModalBackdrop;\n","import type { BoxProps } from '../Box';\nimport { IconButton } from '../Button';\n\nexport type ModalCloseProps = BoxProps;\n\nconst ModalClose = (props: ModalCloseProps) => (\n <IconButton aria-label='Close' {...props} small icon='cross' />\n);\n\nexport default ModalClose;\n","import { Box, type BoxProps } from '../Box';\nimport { Scrollable } from '../Scrollable';\n\nexport type ModalContentProps = BoxProps & {\n onScrollContent?: ((touching: { top: boolean }) => void) | undefined;\n};\n\nconst ModalContent = ({\n children,\n onScrollContent,\n ...props\n}: ModalContentProps) => (\n <Scrollable vertical onScrollContent={onScrollContent}>\n <Box rcx-modal__content>\n <Box rcx-modal__content-wrapper marginInline={24} {...props}>\n {children}\n </Box>\n </Box>\n </Scrollable>\n);\n\nexport default ModalContent;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalFooterProps = BoxProps;\n\nconst ModalFooter = ({\n children,\n justifyContent = 'end',\n}: ModalFooterProps) => (\n <Box justifyContent={justifyContent} rcx-modal__footer>\n {children}\n </Box>\n);\n\nexport default ModalFooter;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalFooterAnnotationProps = BoxProps;\n\nconst ModalFooterAnnotation = ({ children }: ModalFooterAnnotationProps) => (\n <Box rcx-modal__footer-annotation>{children}</Box>\n);\n\nexport default ModalFooterAnnotation;\n","import type { ButtonGroupProps } from '..';\nimport { ButtonGroup } from '..';\n\nexport type ModalFooterControllersProps = ButtonGroupProps;\n\nconst ModalFooterControllers = ({ children }: ModalFooterControllersProps) => (\n <ButtonGroup align='end'>{children}</ButtonGroup>\n);\n\nexport default ModalFooterControllers;\n","import { Box, type BoxProps } from '../Box';\nimport { Margins } from '../Margins';\n\nexport type ModalHeaderProps = BoxProps;\n\nconst ModalHeader = ({ children, ...props }: ModalHeaderProps) => (\n <Box rcx-modal__header is='header' {...props}>\n <Box rcx-modal__header-inner>\n <Margins all='x4'>{children}</Margins>\n </Box>\n </Box>\n);\n\nexport default ModalHeader;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalHeaderTextProps = BoxProps;\n\nconst ModalHeaderText = ({ children, ...props }: ModalHeaderTextProps) => (\n <Box rcx-modal__header-text {...props}>\n {children}\n </Box>\n);\n\nexport default ModalHeaderText;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalHeroImageProps = BoxProps;\n\nconst ModalHeroImage = ({ ...props }: ModalHeroImageProps) => (\n <figure className='rcx-modal__hero-image-wrapper'>\n <Box rcx-modal__hero-image is='img' {...props} />\n </figure>\n);\n\nexport default ModalHeroImage;\n","import { Box, type BoxProps } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type ModalIconProps = BoxProps & {\n name: IconProps['name'];\n};\n\nconst ModalIcon = ({\n size = 'x20',\n name,\n alignItems = 'center',\n ...props\n}: ModalIconProps) => (\n <Box {...props} display='flex' alignItems={alignItems}>\n <Icon marginBlock={4} name={name} size={size} />\n </Box>\n);\n\nexport default ModalIcon;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalTaglineProps = BoxProps;\n\nconst ModalTagline = ({ children, ...props }: ModalTaglineProps) => (\n <Box rcx-modal__tagline {...props}>\n {children}\n </Box>\n);\n\nexport default ModalTagline;\n","import { Avatar, type AvatarProps } from '../Avatar';\nimport { Box } from '../Box';\n\nexport type ModalThumbProps = AvatarProps;\n\nconst ModalThumb = (props: ModalThumbProps) => (\n <Box>\n <Avatar size='x28' {...props} />\n </Box>\n);\n\nexport default ModalThumb;\n","import { Box, type BoxProps } from '../Box';\n\nexport type ModalTitleProps = BoxProps;\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => (\n <Box is='h2' rcx-modal__title {...props}>\n {children}\n </Box>\n);\n\nexport default ModalTitle;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\ntype AddonProps = Omit<BoxProps, 'ref'> & RefAttributes<HTMLDivElement>;\n\nfunction SelectAddon(props: AddonProps) {\n return <Box is='div' rcx-select__addon {...props} />;\n}\n\nexport default SelectAddon;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\ntype SelectFocusProps = Omit<BoxProps, 'ref'> & RefAttributes<Element>;\n\nfunction SelectFocus(props: SelectFocusProps) {\n return (\n <Box\n fontScale='p2m'\n color='hint'\n rcx-select__focus\n is='button'\n type='button'\n {...props}\n />\n );\n}\n\nexport default SelectFocus;\n","import type {\n AriaAttributes,\n FocusEventHandler,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactNode,\n RefAttributes,\n} from 'react';\n\nimport SelectFocus from '../Select/SelectFocus';\n\ntype MultiSelectAnchorProps = RefAttributes<Element> & {\n children: ReactNode;\n disabled: boolean;\n onClick: MouseEventHandler;\n onBlur: FocusEventHandler;\n onKeyUp: KeyboardEventHandler;\n onKeyDown: KeyboardEventHandler;\n role?: string;\n id?: string;\n name?: string;\n} & AriaAttributes;\n\nfunction MultiSelectAnchor(props: MultiSelectAnchorProps) {\n return <SelectFocus rcx-input-box--undecorated order={1} {...props} />;\n}\n\nexport default MultiSelectAnchor;\n","import type { MouseEvent, ReactNode } from 'react';\nimport { memo } from 'react';\n\nimport { Chip } from '../Chip';\n\ntype SelectedOptionsProps = {\n children: ReactNode;\n tabIndex: number;\n key: string;\n onMouseDown: (e: MouseEvent) => void;\n};\n\nexport const SelectedOptions = memo(function SelectedOptions(\n props: SelectedOptionsProps,\n) {\n return <Chip {...props} />;\n});\n","import {\n useMergedRefs,\n useStableCallback,\n useResizeObserver,\n useOutsideClick,\n} from '@rocket.chat/fuselage-hooks';\nimport type {\n ElementType,\n MouseEventHandler,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport { useState, useRef, useEffect } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box, type BoxProps } from '../Box';\nimport { FlexContainer, FlexItem } from '../Flex';\nimport type { IconProps } from '../Icon';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\nimport { CheckOption } from '../Option';\nimport { Options, useCursor } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\nimport type { SelectOption } from '../Select';\nimport SelectAddon from '../Select/SelectAddon';\n\nimport MultiSelectAnchor from './MultiSelectAnchor';\nimport type { MultiSelectAnchorParams } from './MultiSelectAnchorParams';\nimport { SelectedOptions } from './SelectedOptions';\n\nexport type MultiSelectProps = Omit<BoxProps, 'ref' | 'onChange' | 'value'> &\n RefAttributes<HTMLInputElement> & {\n value?: SelectOption[0][];\n error?: string;\n options: SelectOption[];\n onChange: (params: SelectOption[0][]) => void;\n getLabel?: (params: SelectOption) => SelectOption[1];\n getValue?: (params: SelectOption) => SelectOption[0];\n customEmpty?: string;\n anchor?: ElementType<MultiSelectAnchorParams>;\n renderOptions?: ElementType;\n renderItem?: ElementType;\n renderSelected?: ElementType<{\n value: SelectOption[0];\n label: SelectOption[1];\n onMouseDown: MouseEventHandler;\n children: ReactNode;\n }>;\n addonIcon?: IconProps['name'];\n setFilter?: (filter: string) => void;\n };\n\n/**\n * An input for selection of options.\n */\nfunction MultiSelect({\n ref,\n value,\n filter,\n setFilter,\n options = [],\n error,\n disabled,\n anchor: Anchor = MultiSelectAnchor,\n onChange = () => {},\n getLabel = ([, label] = ['', '']) => label,\n getValue = ([value]) => value,\n placeholder,\n renderOptions: _Options = Options,\n renderItem,\n customEmpty,\n renderSelected: RenderSelected,\n addonIcon,\n ...props\n}: MultiSelectProps) {\n const [internalValue, setInternalValue] = useState<SelectOption[0][]>(\n value || [],\n );\n\n useEffect((): void => setInternalValue(value || []), [value]);\n\n const [currentOptionValue, setCurrentOption] = useState<SelectOption[0]>();\n\n const index = options.findIndex(\n (option) => getValue(option) === currentOptionValue,\n );\n\n const removeFocusClass = () =>\n innerRef.current?.classList.remove('focus-visible');\n\n const internalChanged = ([value]: SelectOption) => {\n if (internalValue.includes(value)) {\n setCurrentOption(undefined);\n const newValue = internalValue.filter((item) => item !== value);\n setInternalValue(newValue);\n return onChange(newValue);\n }\n setFilter?.('');\n setCurrentOption(value);\n const newValue = [...internalValue, value];\n setInternalValue(newValue);\n return onChange(newValue);\n };\n\n const mapOptions = ([value, label]: SelectOption): SelectOption => {\n if (internalValue.includes(value)) {\n return [value, label, true];\n }\n return [value, label];\n };\n\n const applyFilter = ([, option]: SelectOption) =>\n !filter || option.toLowerCase().includes(filter.toLowerCase());\n\n const filteredOptions: SelectOption[] = options\n .filter(applyFilter)\n .map(mapOptions);\n\n const [cursor, handleKeyDown, handleKeyUp, reset, [visible, hide, show]] =\n useCursor(index, filteredOptions, internalChanged);\n\n useEffect(reset, [filter]);\n\n const innerRef = useRef<HTMLElement>(null);\n const anchorRef = useMergedRefs(ref, innerRef);\n\n const { ref: containerRef, borderBoxSize } = useResizeObserver();\n useOutsideClick([containerRef], removeFocusClass);\n\n const handleClick = useStableCallback(() => {\n if (visible === AnimatedVisibility.VISIBLE) {\n return hide();\n }\n innerRef.current?.focus();\n return show();\n });\n\n const listboxId = props.id ? `${props.id}-listbox` : undefined;\n\n const {\n id,\n name,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n 'aria-required': ariaRequired,\n ...containerProps\n } = props;\n\n return (\n <Box\n is='div'\n animated\n rcx-select\n className={[error && 'invalid', disabled && 'disabled']}\n ref={containerRef}\n onClick={handleClick}\n disabled={disabled}\n {...containerProps}\n >\n <FlexItem grow={1}>\n <Margins inline='x4'>\n <FlexContainer>\n <Box is='div'>\n <Box\n is='div'\n display='flex'\n alignItems='center'\n flexWrap='wrap'\n margin='-x8'\n >\n <Margins all='x4'>\n <Anchor\n ref={anchorRef}\n disabled={disabled ?? false}\n onClick={show}\n onBlur={hide}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n role='combobox'\n aria-expanded={visible === AnimatedVisibility.VISIBLE}\n aria-haspopup='listbox'\n aria-controls={listboxId}\n id={id}\n name={name}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n aria-required={ariaRequired}\n >\n {internalValue.length === 0 ? placeholder : null}\n </Anchor>\n {internalValue.map((value: SelectOption[0]) => {\n const currentOption = options.find(\n ([val]) => val === value,\n ) as SelectOption;\n return RenderSelected ? (\n <RenderSelected\n value={value}\n key={value}\n label={getLabel(currentOption)}\n onMouseDown={(e) => {\n prevent(e);\n internalChanged(currentOption);\n removeFocusClass();\n }}\n >\n {getLabel(currentOption)}\n </RenderSelected>\n ) : (\n <SelectedOptions\n tabIndex={-1}\n key={String(value)}\n onMouseDown={(e) => {\n prevent(e);\n internalChanged(currentOption);\n removeFocusClass();\n }}\n >\n {getLabel(currentOption)}\n </SelectedOptions>\n );\n })}\n </Margins>\n </Box>\n </Box>\n </FlexContainer>\n </Margins>\n </FlexItem>\n <FlexItem grow={0} shrink={0}>\n <Margins inline='x4'>\n <SelectAddon>\n <Icon\n name={\n visible === AnimatedVisibility.VISIBLE\n ? 'chevron-up'\n : addonIcon || 'chevron-down'\n }\n size='x20'\n />\n </SelectAddon>\n </Margins>\n </FlexItem>\n <PositionAnimated visible={visible} anchor={containerRef}>\n <_Options\n width={borderBoxSize.inlineSize}\n onMouseDown={prevent}\n multiple\n filter={filter}\n renderItem={renderItem || CheckOption}\n id={listboxId}\n options={filteredOptions}\n onSelect={internalChanged}\n cursor={cursor}\n customEmpty={customEmpty}\n />\n </PositionAnimated>\n </Box>\n );\n}\n\nexport default MultiSelect;\n","import { createContext, type Dispatch, type SetStateAction } from 'react';\n\nexport const MultiSelectFilteredContext = createContext<{\n placeholder?: string;\n filter?: string;\n setFilter?: Dispatch<SetStateAction<string>>;\n}>({});\n","import { use, type InputEvent } from 'react';\n\nimport { FlexItem } from '../Flex';\nimport { Input } from '../InputBox';\n\nimport type { MultiSelectAnchorParams } from './MultiSelectAnchorParams';\nimport { MultiSelectFilteredContext } from './MultiSelectFilteredContext';\n\ntype MultiSelectFilteredAnchorProps = MultiSelectAnchorParams;\n\nfunction MultiSelectFilteredAnchor({\n children: _children,\n ...props\n}: MultiSelectFilteredAnchorProps) {\n const { placeholder, filter, setFilter } = use(MultiSelectFilteredContext);\n\n return (\n <FlexItem grow={1}>\n <Input\n placeholder={placeholder}\n value={filter}\n onInput={(e: InputEvent<HTMLInputElement>) =>\n setFilter?.(e.currentTarget.value)\n }\n {...props}\n rcx-input-box--undecorated\n order={1}\n autoComplete='off'\n />\n </FlexItem>\n );\n}\n\nexport default MultiSelectFilteredAnchor;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\n\nimport type { IconProps } from '../Icon';\n\nimport type { MultiSelectProps } from './MultiSelect';\nimport MultiSelect from './MultiSelect';\nimport MultiSelectFilteredAnchor from './MultiSelectFilteredAnchor';\nimport { MultiSelectFilteredContext } from './MultiSelectFilteredContext';\n\nexport type MultiSelectFilteredProps = MultiSelectProps & {\n filter?: string;\n setFilter?: Dispatch<SetStateAction<string>>;\n addonIcon?: IconProps['name'];\n};\n\nfunction MultiSelectFiltered({\n options,\n placeholder,\n filter: propFilter,\n setFilter: propSetFilter,\n ...props\n}: MultiSelectFilteredProps) {\n const [filter, setFilter] = useState('');\n\n return (\n <MultiSelectFilteredContext.Provider\n value={{\n placeholder,\n filter: propFilter || filter,\n setFilter: propSetFilter || setFilter,\n }}\n >\n <MultiSelect\n {...props}\n filter={propFilter || filter}\n setFilter={propSetFilter || setFilter}\n options={options}\n anchor={MultiSelectFilteredAnchor}\n />\n </MultiSelectFilteredContext.Provider>\n );\n}\n\nexport default MultiSelectFiltered;\n","import type { HTMLAttributes } from 'react';\n\nexport type NavBarProps = HTMLAttributes<HTMLElement>;\n\nconst NavBar = (props: NavBarProps) => (\n <nav className='rcx-navbar' {...props} />\n);\n\nexport default NavBar;\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport type NavBarGroupProps = ButtonGroupProps;\n\nfunction NavBarGroup(props: NavBarGroupProps) {\n return <ButtonGroup className='rcx-navbar-group' {...props} />;\n}\n\nexport default NavBarGroup;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { IconButton } from '../Button';\nimport type { IconButtonProps } from '../Button/IconButton';\n\nexport type NavbarItemProps = HTMLAttributes<HTMLElement> &\n Partial<Omit<IconButtonProps, 'ref'>> &\n RefAttributes<HTMLElement>;\n\nfunction NavBarItem({ children, icon, ...props }: NavbarItemProps) {\n return (\n <>\n {icon ? (\n <IconButton rcx-navbar-item icon={icon} small {...props} />\n ) : (\n patchChildren(\n children,\n (childProps: { className: string | string[] }) => ({\n className: appendClassName(childProps.className, 'rcx-navbar-item'),\n ...props,\n }),\n )\n )}\n </>\n );\n}\n\nexport default NavBarItem;\n","import type { DividerProps } from '../Divider';\nimport { Divider } from '../Divider';\n\nexport type NavBarDividerProps = DividerProps;\n\nconst NavBarDivider = (props: NavBarDividerProps) => (\n <Divider rcx-navbar-divider vertical {...props} />\n);\n\nexport default NavBarDivider;\n","import type { HTMLAttributes } from 'react';\nimport { Fragment } from 'react';\nimport { isElement } from 'react-is';\nimport flattenChildren from 'react-keyed-flatten-children';\n\nimport NavBarDivider from './NavBarDivider';\n\nexport type NavbarSectionProps = HTMLAttributes<HTMLSpanElement>;\n\nconst NavBarSection = ({ children, ...props }: NavbarSectionProps) => {\n const groups = flattenChildren(children).filter(isElement);\n\n return (\n <span className='rcx-navbar-section' {...props}>\n {groups.map((child, index) => (\n <Fragment key={index}>\n {child}\n {index < groups.length - 1 && <NavBarDivider />}\n </Fragment>\n ))}\n </span>\n );\n};\n\nexport default NavBarSection;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type NumberInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\n/**\n * An input for numbers.\n */\nfunction NumberInput(props: NumberInputProps) {\n return <InputBox type='number' {...props} />;\n}\n\nexport default NumberInput;\n","import {\n useStableCallback,\n useDebouncedState,\n} from '@rocket.chat/fuselage-hooks';\nimport type {\n ComponentType,\n ElementType,\n MouseEvent,\n ReactNode,\n RefAttributes,\n} from 'react';\nimport { memo } from 'react';\nimport { Virtuoso } from 'react-virtuoso';\n\nimport { prevent } from '../../helpers/prevent';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box, type BoxProps } from '../Box';\nimport { CheckBox } from '../CheckBox';\nimport type { OptionProps } from '../Option';\nimport { Option } from '../Option';\nimport { Tile } from '../Tile';\n\nexport type OptionsPaginatedProps = Omit<BoxProps, 'ref' | 'onSelect'> &\n RefAttributes<Element> & {\n multiple?: boolean;\n options: { value: string | number; label: string; selected?: boolean }[];\n cursor: number;\n withTitle?: boolean;\n renderItem?: ComponentType<{\n role?: string;\n label?: ReactNode;\n title?: string;\n selected?: boolean;\n index?: number;\n focus?: boolean;\n value?: string | number;\n onMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n }>;\n renderEmpty?: ElementType<object>;\n onSelect: (option: [unknown, string]) => void;\n endReached?: (start?: number | undefined, end?: number | undefined) => void;\n };\n\nexport const Empty = memo(() => <Option label='Empty' />);\n\ntype CheckOptionProps = OptionProps;\n\nexport const CheckOption = memo(function CheckOption({\n selected,\n children: label,\n ...options\n}: CheckOptionProps) {\n return (\n <Option label={label as string} selected={selected} {...options}>\n <CheckBox checked={selected} />\n </Option>\n );\n});\n\n/**\n * An input for selection of options.\n */\nexport function OptionsPaginated({\n ref,\n withTitle,\n multiple,\n renderEmpty: EmptyComponent = Empty,\n options,\n cursor,\n renderItem: OptionComponent = Option,\n onSelect,\n endReached,\n ...props\n}: OptionsPaginatedProps) {\n const OptionsComponentWithData = ({\n index,\n data,\n }: {\n index: number;\n data: OptionsPaginatedProps['options'][0];\n }) => {\n const { value, label, selected } = data;\n return (\n <OptionComponent\n {...(withTitle && { title: label })}\n index={index}\n role='option'\n label={label}\n onMouseDown={(e) => {\n prevent(e);\n onSelect([value, label]);\n return false;\n }}\n key={value}\n value={value}\n selected={!!selected}\n focus={cursor === index || undefined} // FIXME: undefined???\n />\n );\n };\n\n return (\n <Box rcx-options {...props} ref={ref}>\n <Tile padding={0} paddingBlock={'x12'} paddingInline={0} elevation='2'>\n {!options.length ? (\n <EmptyComponent />\n ) : (\n <Virtuoso\n endReached={endReached}\n style={{ height: '144px' }}\n totalCount={options.length}\n data={options}\n // TODO Add a scroller element\n // components={{ Scroller: ScrollableContentWrapper }}\n itemContent={(index, data) => (\n <OptionsComponentWithData index={index} data={data} />\n )}\n />\n )}\n </Tile>\n </Box>\n );\n}\n\nexport const useVisible = (initialVisibility = AnimatedVisibility.HIDDEN) => {\n const [visible, setVisible] = useDebouncedState(initialVisibility, 10);\n const hide = useStableCallback(() => setVisible(AnimatedVisibility.HIDDEN));\n const show = useStableCallback(() => setVisible(AnimatedVisibility.VISIBLE));\n\n return [visible, hide, show];\n};\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\ntype PaginatedSelectWrapperProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLDivElement>;\n\nfunction PaginatedSelectWrapper(props: PaginatedSelectWrapperProps) {\n return <Box is='div' rcx-select__wrapper {...props} />;\n}\n\nexport default PaginatedSelectWrapper;\n","import {\n useStableCallback,\n useResizeObserver,\n} from '@rocket.chat/fuselage-hooks';\nimport { type ElementType, useState, useRef, useMemo } from 'react';\n\nimport type { OptionType, SelectOption, SelectProps } from '..';\nimport { prevent } from '../../helpers/prevent';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\nimport { Option } from '../Option';\nimport { useVisible } from '../Options/useVisible';\nimport { OptionsPaginated } from '../OptionsPaginated';\nimport { PositionAnimated } from '../PositionAnimated';\nimport SelectAddon from '../Select/SelectAddon';\nimport SelectFocus from '../Select/SelectFocus';\n\nimport PaginatedSelectWrapper from './PaginatedSelectWrapper';\n\nexport type PaginatedOptionType = {\n value: string | number;\n label: string;\n};\n\nexport type PaginatedSelectProps = Omit<SelectProps, 'options'> & {\n anchor?: ElementType;\n options: PaginatedOptionType[];\n withTitle?: boolean;\n endReached?: (index: number) => void;\n setFilter?: (value: string | undefined | number) => void;\n};\n\nexport const PaginatedSelect = ({\n value,\n withTitle,\n filter,\n setFilter: _setFilter,\n error,\n disabled,\n options = [],\n anchor: Anchor = SelectFocus,\n onChange = () => {},\n placeholder,\n renderOptions: _Options = OptionsPaginated,\n renderItem = Option,\n endReached,\n ...props\n}: PaginatedSelectProps) => {\n const [internalValue, setInternalValue] = useState(value);\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const option = options.find((option) => option?.value === currentValue);\n\n const [visible, hide, show] = useVisible();\n\n const internalChangedByClick = useStableCallback(([value]: OptionType) => {\n setInternalValue(value);\n onChange(value as SelectOption[0]); // FIXME\n hide();\n });\n\n const ref = useRef<HTMLInputElement>(null);\n\n const { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n const valueLabel = option?.label;\n\n const isUnfilteredOrHidden =\n filter === undefined || visible === AnimatedVisibility.HIDDEN;\n\n const visibleText = isUnfilteredOrHidden\n ? valueLabel || placeholder\n : undefined;\n\n const handleClick = useStableCallback(() => {\n if (visible === AnimatedVisibility.VISIBLE) {\n return hide();\n }\n if (ref && ref.current) {\n ref.current.focus();\n return show();\n }\n });\n\n return (\n <Box\n animated\n rcx-select\n disabled={disabled}\n ref={containerRef}\n onClick={handleClick}\n className={useMemo(\n () => [error && 'invalid', disabled && 'disabled'],\n [error, disabled],\n )}\n {...props}\n >\n <PaginatedSelectWrapper\n display='flex'\n marginInline='neg-x4'\n rcx-select__wrapper--hidden={!!visibleText}\n >\n {visibleText && (\n <Box\n flexGrow={1}\n is='span'\n marginInline={4}\n rcx-select__item\n fontScale='p2m'\n color={valueLabel ? 'titles-labels' : 'hint'}\n >\n {visibleText}\n </Box>\n )}\n <Anchor\n disabled={disabled}\n rcx-input-box--undecorated\n filter={filter}\n ref={ref}\n aria-haspopup='listbox'\n onClick={show}\n onBlur={hide}\n />\n <Margins inline='x4'>\n <SelectAddon>\n <Icon\n name={\n visible === AnimatedVisibility.VISIBLE\n ? 'chevron-up'\n : 'chevron-down'\n }\n size='x20'\n />\n </SelectAddon>\n </Margins>\n </PaginatedSelectWrapper>\n <PositionAnimated visible={visible} anchor={containerRef}>\n <_Options\n withTitle={withTitle}\n width={borderBoxSize.inlineSize}\n role='listbox'\n filter={filter}\n options={options}\n onSelect={internalChangedByClick}\n endReached={endReached}\n onMouseDown={prevent}\n renderItem={renderItem}\n />\n </PositionAnimated>\n </Box>\n );\n};\n","import type { ChangeEvent, RefAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport { Input } from '../InputBox';\n\nimport type { PaginatedSelectProps } from './PaginatedSelect';\nimport { PaginatedSelect } from './PaginatedSelect';\n\nexport type PaginatedSelectFilteredProps = Omit<\n PaginatedSelectProps,\n 'setFilter'\n> &\n RefAttributes<HTMLInputElement> & {\n setFilter: (value: string | undefined | number) => void;\n };\n\nconst PaginatedSelectFiltered = ({\n filter,\n setFilter,\n options,\n placeholder,\n ...props\n}: PaginatedSelectFilteredProps) => {\n const anchor = useMemo(\n () =>\n ({\n filter,\n onChange: _onChange,\n ...props\n }: PaginatedSelectFilteredProps) => (\n <Input\n marginInline={4}\n flexGrow={1}\n className='rcx-select__focus'\n placeholder={placeholder}\n value={filter}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilter(e.currentTarget.value);\n }}\n {...props}\n rcx-input-box--undecorated\n />\n ),\n [placeholder, setFilter],\n );\n\n return (\n <PaginatedSelect\n placeholder={undefined}\n filter={filter}\n options={options}\n {...props}\n anchor={anchor}\n />\n );\n};\n\nexport default PaginatedSelectFiltered;\n","import {\n useStableCallback,\n useResizeObserver,\n} from '@rocket.chat/fuselage-hooks';\nimport {\n useState,\n useRef,\n type ComponentType,\n type ReactNode,\n type MouseEvent,\n type CSSProperties,\n} from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box, type BoxProps } from '../Box';\nimport { Chip } from '../Chip';\nimport { FlexContainer, FlexItem } from '../Flex';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\nimport { Option } from '../Option';\nimport { useVisible } from '../Options/useVisible';\nimport { OptionsPaginated } from '../OptionsPaginated';\nimport { PositionAnimated } from '../PositionAnimated';\nimport SelectAddon from '../Select/SelectAddon';\nimport SelectFocus from '../Select/SelectFocus';\n\nexport type PaginatedMultiSelectOption = {\n value: string | number;\n label: string;\n};\n\nexport type PaginatedMultiSelectProps = Omit<BoxProps, 'onChange' | 'value'> & {\n error?: boolean;\n options: PaginatedMultiSelectOption[];\n withTitle?: boolean;\n placeholder?: string;\n endReached?: (start?: number, end?: number) => void;\n value?: PaginatedMultiSelectOption[];\n onChange: (values: PaginatedMultiSelectOption[]) => void;\n renderOptions?: ComponentType<{\n width?: CSSProperties['width'];\n multiple?: boolean;\n filter?: string;\n role?: string;\n options: PaginatedMultiSelectOption[];\n cursor: number;\n endReached?: (start?: number, end?: number) => void;\n renderItem?: ComponentType<{\n role?: string;\n label?: ReactNode;\n title?: string;\n selected?: boolean;\n index?: number;\n focus?: boolean;\n value?: string | number;\n onMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n }>;\n onSelect: (option: [unknown, string]) => void;\n onMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n }>;\n renderItem?: ComponentType<{\n role?: string;\n label?: ReactNode;\n title?: string;\n selected?: boolean;\n index?: number;\n focus?: boolean;\n value?: string | number;\n onMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n }>;\n anchor?: any;\n};\n\nconst PaginatedMultiSelect = ({\n withTitle,\n value,\n filter,\n options = [],\n error,\n disabled,\n anchor: Anchor = SelectFocus,\n onChange = () => {},\n placeholder,\n renderOptions: OptionsComponent = OptionsPaginated,\n renderItem = Option,\n endReached,\n ...props\n}: PaginatedMultiSelectProps) => {\n const [internalValue, setInternalValue] = useState(value || []);\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const selectedOptions = options.filter((option) =>\n currentValue.some((opt) => opt.value === option.value),\n );\n\n const [visible, hide, show] = useVisible();\n\n const ref = useRef<HTMLInputElement>(null);\n const { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n const handleClick = useStableCallback(() => {\n if (visible === AnimatedVisibility.VISIBLE) {\n return hide();\n }\n if (ref && ref.current) {\n ref.current.focus();\n return show();\n }\n });\n\n const addOption = (value: unknown) => {\n const option = options.find((opt) => opt.value === value);\n if (!option) {\n return;\n }\n\n const newValue = [...currentValue, option];\n setInternalValue(newValue);\n onChange(newValue);\n };\n\n const removeOption = (value: unknown) => {\n const newValue = currentValue.filter((opt) => opt.value !== value);\n\n setInternalValue(newValue);\n onChange(newValue);\n };\n\n const toggleOption = (value: unknown) => {\n if (currentValue.some((opt) => opt.value === value)) {\n removeOption(value);\n return;\n }\n\n addOption(value);\n };\n\n return (\n <Box\n is='div'\n rcx-select\n className={[error && 'invalid', disabled && 'disabled']}\n onClick={handleClick}\n disabled={disabled}\n {...props}\n ref={containerRef}\n >\n <FlexItem grow={1}>\n <Margins inline='x4'>\n <FlexContainer>\n <Box is='div'>\n <Box\n is='div'\n display='flex'\n alignItems='center'\n flexWrap='wrap'\n margin='-x8'\n role='listbox'\n >\n <Margins all='x4'>\n <Anchor\n disabled={disabled}\n ref={ref}\n aria-haspopup='listbox'\n onClick={show}\n onBlur={hide}\n order={1}\n rcx-input-box--undecorated\n >\n {placeholder ?? null}\n </Anchor>\n\n {selectedOptions.map(({ value, label }, index) => (\n <Chip\n key={value ?? index}\n maxWidth='x150'\n withTruncatedText\n title={withTitle ? label : undefined}\n tabIndex={-1}\n role='option'\n onClick={(e) => {\n prevent(e);\n removeOption(value);\n }}\n >\n {label}\n </Chip>\n ))}\n </Margins>\n </Box>\n </Box>\n </FlexContainer>\n </Margins>\n </FlexItem>\n <FlexItem grow={0} shrink={0}>\n <Margins inline='x4'>\n <SelectAddon>\n <Icon\n name={\n visible === AnimatedVisibility.VISIBLE\n ? 'cross'\n : 'chevron-down'\n }\n size='x20'\n />\n </SelectAddon>\n </Margins>\n </FlexItem>\n <PositionAnimated visible={visible} anchor={containerRef}>\n <OptionsComponent\n width={borderBoxSize.inlineSize}\n onMouseDown={prevent}\n multiple\n filter={filter}\n role='listbox'\n options={options}\n cursor={-1}\n endReached={endReached}\n renderItem={renderItem}\n onSelect={([value]) => {\n toggleOption(value);\n }}\n />\n </PositionAnimated>\n </Box>\n );\n};\n\nexport default PaginatedMultiSelect;\n","import { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { InputEvent } from 'react';\n\nimport { FlexItem } from '../Flex';\nimport { Input, type InputProps } from '../InputBox';\n\nimport type { PaginatedMultiSelectProps } from './PaginatedMultiSelect';\nimport PaginatedMultiSelect from './PaginatedMultiSelect';\n\nexport type PaginatedMultiSelectFilteredProps = {\n setFilter?: (value: string) => void;\n} & PaginatedMultiSelectProps;\n\nconst PaginatedMultiSelectFiltered = ({\n filter,\n setFilter,\n options,\n placeholder,\n ...props\n}: PaginatedMultiSelectFilteredProps) => {\n const anchor = useStableCallback(\n ({\n children: _children,\n filter,\n ...props\n }: InputProps<HTMLInputElement>) => (\n <FlexItem grow={1}>\n <Input\n placeholder={placeholder}\n value={filter}\n onInput={(e: InputEvent<HTMLInputElement>) =>\n setFilter?.(e.currentTarget.value)\n }\n {...props}\n rcx-input-box--undecorated\n />\n </FlexItem>\n ),\n );\n\n return (\n <PaginatedMultiSelect\n filter={filter}\n options={options}\n anchor={anchor}\n {...props}\n />\n );\n};\n\nexport default PaginatedMultiSelectFiltered;\n","import type { Dispatch, HTMLAttributes, SetStateAction } from 'react';\nimport { useId, useMemo } from 'react';\n\nimport { Chevron } from '../Chevron';\n\nexport type ItemsPerPage = 25 | 50 | 100;\n\nexport type PaginationProps = {\n count: number;\n current?: number;\n divider?: boolean;\n itemsPerPage?: ItemsPerPage;\n itemsPerPageLabel?: (context: {\n count: number;\n current: number;\n itemsPerPage: ItemsPerPage;\n }) => string;\n showingResultsLabel?: (context: {\n count: number;\n current: number;\n itemsPerPage: ItemsPerPage;\n }) => string;\n onSetCurrent?: Dispatch<SetStateAction<number>>;\n onSetItemsPerPage?: Dispatch<SetStateAction<ItemsPerPage>>;\n} & HTMLAttributes<HTMLElement>;\n\nconst defaultItemsPerPageLabel = () => 'Items per page:';\n\nconst defaultShowingResultsLabel = ({\n count,\n current,\n itemsPerPage,\n}: {\n count: number;\n current: number;\n itemsPerPage: ItemsPerPage;\n}) =>\n `Showing results ${current + 1} - ${Math.min(\n current + itemsPerPage,\n count,\n )} of ${count}`;\n\nconst itemsPerPageOptions = [25, 50, 100] as const;\n\nconst Pagination = ({\n count,\n current = 0,\n itemsPerPage = 25,\n itemsPerPageLabel = defaultItemsPerPageLabel,\n showingResultsLabel = defaultShowingResultsLabel,\n onSetItemsPerPage,\n onSetCurrent,\n divider,\n ...props\n}: PaginationProps) => {\n const paginationResultLabelId = useId();\n const itemsPerPageLabelId = useId();\n\n const hasItemsPerPageSelection = itemsPerPageOptions.length > 1;\n const currentPage = Math.floor(current / itemsPerPage);\n const pages = Math.ceil(count / itemsPerPage);\n const displayedPages = useMemo(() => {\n if (pages <= 7) {\n // 0 1 2 3 4 5 6\n return Array.from({ length: pages }, (_, i) => i);\n }\n\n if (currentPage < 5) {\n // 0 1 2 3 4 ... N\n return [0, 1, 2, 3, 4, '⋯', pages - 1];\n }\n\n if (currentPage > pages - 5) {\n // 0 ... N-4 N-3 N-2 N-1 N\n return [0, '⋯', pages - 5, pages - 4, pages - 3, pages - 2, pages - 1];\n }\n\n // 0 ... x-1 x x-2 ... N\n return [\n 0,\n '⋯',\n currentPage - 1,\n currentPage,\n currentPage + 1,\n '⋯',\n pages - 1,\n ];\n }, [pages, currentPage]);\n\n const renderingContext = { count, pages, current, currentPage, itemsPerPage };\n\n const handleSetItemsPerPageLinkClick =\n (itemsPerPageOption: ItemsPerPage) => () => {\n onSetItemsPerPage?.(itemsPerPageOption);\n };\n\n const handleSetPageLinkClick = (page: number) => () => {\n onSetCurrent?.(page * itemsPerPage);\n };\n\n return (\n <nav\n className={[\n 'rcx-box rcx-box--full rcx-pagination',\n divider && 'rcx-pagination--divider',\n ]\n .filter(Boolean)\n .join(' ')}\n aria-label='Pagination Navigation'\n {...props}\n >\n {hasItemsPerPageSelection && (\n <div className='rcx-pagination__left'>\n <span className='rcx-pagination__label' id={itemsPerPageLabelId}>\n {itemsPerPageLabel(renderingContext)}\n </span>\n <ol\n className='rcx-box rcx-box--full rcx-pagination__list'\n aria-labelledby={itemsPerPageLabelId}\n >\n {itemsPerPageOptions.map((itemsPerPageOption) => (\n <li\n key={itemsPerPageOption}\n className='rcx-pagination__list-item'\n >\n <button\n className='rcx-box rcx-box--full rcx-pagination__link'\n tabIndex={itemsPerPage === itemsPerPageOption ? -1 : 0}\n disabled={itemsPerPage === itemsPerPageOption}\n aria-label={`Show ${itemsPerPageOption} items per page`}\n onClick={handleSetItemsPerPageLinkClick(itemsPerPageOption)}\n >\n {itemsPerPageOption}\n </button>\n </li>\n ))}\n </ol>\n </div>\n )}\n <div className='rcx-pagination__right'>\n <span className='rcx-pagination__label' id={paginationResultLabelId}>\n {showingResultsLabel(renderingContext)}\n </span>\n <ol\n className='rcx-box rcx-box--full rcx-pagination__list'\n aria-labelledby={paginationResultLabelId}\n >\n <li className='rcx-pagination__list-item'>\n <button\n className='rcx-box rcx-box--full rcx-pagination__back'\n disabled={currentPage === 0}\n aria-label='Previous page'\n onClick={handleSetPageLinkClick(currentPage - 1)}\n >\n <Chevron left size='x16' />\n </button>\n </li>\n {displayedPages.map((page, i) => (\n <li key={i} className='rcx-pagination__list-item'>\n {page === '⋯' ? (\n '⋯'\n ) : (\n <button\n className='rcx-box rcx-box--full rcx-pagination__link'\n disabled={currentPage === page}\n aria-label={`Page ${Number(page) + 1}`}\n onClick={handleSetPageLinkClick(Number(page))}\n >\n {Number(page) + 1}\n </button>\n )}\n </li>\n ))}\n <li className='rcx-pagination__list-item'>\n <button\n className='rcx-box rcx-box--full rcx-pagination__forward'\n disabled={currentPage === pages - 1}\n aria-label='Next page'\n onClick={handleSetPageLinkClick(currentPage + 1)}\n >\n <Chevron right size='x16' />\n </button>\n </li>\n </ol>\n </div>\n </nav>\n );\n};\n\nexport default Pagination;\n","export const convertToCss = (\n values: Record<string, string>,\n prefix: string,\n selector = ':root',\n) =>\n `${selector} {\\n${Object.entries(values)\n .map(([name, color]) => `${prefix}-${name}: ${color};`)\n .join('\\n')}\\n}`;\n","import { useMemo } from 'react';\n\nimport { useOwnerDocument } from '../../../contexts';\n\nexport const useCreateStyleContainer = (id: string) => {\n const { document: ownerDocument } = useOwnerDocument();\n return useMemo(() => {\n const refElement =\n ownerDocument.getElementById('rcx-styles') ||\n ownerDocument.head.lastChild;\n\n const el = ownerDocument.getElementById(id);\n\n if (el) {\n return el;\n }\n\n const styleElement = ownerDocument.createElement('style');\n styleElement.setAttribute('id', id);\n\n ownerDocument.head.insertBefore(styleElement, refElement);\n ownerDocument.head.appendChild(ownerDocument.createElement('style'));\n return styleElement;\n }, [id, ownerDocument]);\n};\n","import badge from '@rocket.chat/fuselage-tokens/dist/badge.json';\nimport button from '@rocket.chat/fuselage-tokens/dist/button.json';\nimport font from '@rocket.chat/fuselage-tokens/dist/font.json';\nimport shadow from '@rocket.chat/fuselage-tokens/dist/shadow.json';\nimport status from '@rocket.chat/fuselage-tokens/dist/status.json';\nimport statusBullet from '@rocket.chat/fuselage-tokens/dist/statusBullet.json';\nimport stroke from '@rocket.chat/fuselage-tokens/dist/stroke.json';\nimport surface from '@rocket.chat/fuselage-tokens/dist/surface.json';\n\nimport type { Themes } from '../types/themes';\n\nexport const getTokens = (theme: Themes) => {\n const tokens = {\n badge: badge[theme],\n button: button[theme],\n font: font[theme],\n shadow: shadow[theme],\n status: status[theme],\n statusBullet: statusBullet[theme],\n stroke: stroke[theme],\n surface: surface[theme],\n };\n\n return tokens;\n};\n\nexport const getThemePalette = (theme: Themes) => {\n const { badge, button, font, shadow, status, statusBullet, stroke, surface } =\n getTokens(theme);\n\n const palette = [\n {\n category: 'Stroke',\n description: \"Use as component's outline, stroke, dividers\",\n list: [\n { name: 'stroke-extra-light', color: stroke.extraLight },\n { name: 'stroke-light', color: stroke.light },\n { name: 'stroke-medium', color: stroke.medium },\n { name: 'stroke-dark', color: stroke.dark },\n { name: 'stroke-extra-dark', color: stroke.extraDark },\n {\n name: 'stroke-extra-light-highlight',\n color: stroke.extraLightHighlight,\n },\n { name: 'stroke-highlight', color: stroke.highlight },\n { name: 'stroke-extra-light-error', color: stroke.extraLightError },\n { name: 'stroke-error', color: stroke.error },\n ],\n },\n {\n category: 'Surface',\n description: 'Use as a container on top of the background',\n list: [\n { name: 'surface-light', color: surface.light },\n { name: 'surface-tint', color: surface.tint },\n { name: 'surface-room', color: surface.room },\n { name: 'surface-neutral', color: surface.neutral },\n { name: 'surface-disabled', color: surface.disabled },\n { name: 'surface-hover', color: surface.hover },\n { name: 'surface-selected', color: surface.selected },\n { name: 'surface-dark', color: surface.dark },\n { name: 'surface-featured', color: surface.featured },\n { name: 'surface-featured-hover', color: surface.featuredHover },\n { name: 'surface-overlay', color: surface.overlay },\n { name: 'surface-sidebar', color: surface.sidebar },\n ],\n },\n {\n category: 'Shadow',\n description: 'Use as a shadow color',\n list: [\n { name: 'shadow-highlight', color: shadow.highlight },\n { name: 'shadow-danger', color: shadow.danger },\n { name: 'shadow-elevation-border', color: shadow['elevation-border'] },\n { name: 'shadow-elevation-1', color: shadow['elevation-1'] },\n {\n name: 'shadow-elevation-2x',\n color: shadow['elevation-2x'],\n },\n {\n name: 'shadow-elevation-2y',\n color: shadow['elevation-2y'],\n },\n ],\n },\n {\n category: 'Font',\n description: 'These should be applied according to surfaces',\n list: [\n { name: 'font-white', color: font.white },\n { name: 'font-disabled', color: font.disabled },\n { name: 'font-annotation', color: font.annotation },\n { name: 'font-hint', color: font.hint },\n { name: 'font-secondary-info', color: font.secondaryInfo },\n { name: 'font-default', color: font.default },\n { name: 'font-titles-labels', color: font.titlesLabels },\n { name: 'font-info', color: font.info },\n { name: 'font-danger', color: font.danger },\n { name: 'font-pure-black', color: font.pureBlack },\n { name: 'font-pure-white', color: font.pureWhite },\n ],\n },\n {\n category: 'Status',\n description: 'Status Background',\n list: [\n { name: 'status-background-info', color: status.info },\n { name: 'status-background-success', color: status.success },\n { name: 'status-background-danger', color: status.danger },\n { name: 'status-background-warning', color: status.warning },\n { name: 'status-background-warning-2', color: status['warning-2'] },\n {\n name: 'status-background-service-1',\n color: status['service-1'],\n },\n {\n name: 'status-background-service-2',\n color: status['service-2'],\n },\n {\n name: 'status-background-service-3',\n color: status['service-3'],\n },\n ],\n },\n {\n description: 'Status Font',\n list: [\n { name: 'status-font-on-info', color: status['font-on-info'] },\n { name: 'status-font-on-success', color: status['font-on-success'] },\n { name: 'status-font-on-danger', color: status['font-on-danger'] },\n { name: 'status-font-on-warning', color: status['font-on-warning'] },\n {\n name: 'status-font-on-warning-2',\n color: status['font-on-warning-2'],\n },\n {\n name: 'status-font-on-service-1',\n color: status['font-on-service-1'],\n },\n {\n name: 'status-font-on-service-2 ',\n color: status['font-on-service-2'],\n },\n {\n name: 'status-font-on-service-3 ',\n color: status['font-on-service-3'],\n },\n ],\n },\n {\n category: 'Badge',\n description: 'Badge Background',\n list: [\n { name: 'badge-background-level-0', color: badge['level-0'] },\n { name: 'badge-background-level-1', color: badge['level-1'] },\n { name: 'badge-background-level-2', color: badge['level-2'] },\n { name: 'badge-background-level-3', color: badge['level-3'] },\n { name: 'badge-background-level-4', color: badge['level-4'] },\n ],\n },\n {\n category: 'Status Bullet',\n description: 'Used to show user status',\n list: [\n { name: 'status-bullet-online', color: statusBullet.online },\n { name: 'status-bullet-away', color: statusBullet.away },\n { name: 'status-bullet-busy', color: statusBullet.busy },\n { name: 'status-bullet-disabled', color: statusBullet.disabled },\n { name: 'status-bullet-offline', color: statusBullet.offline },\n { name: 'status-bullet-loading', color: statusBullet.loading },\n ],\n },\n {\n category: 'Button',\n description: 'Primary Background',\n list: [\n {\n name: 'button-background-primary-default',\n color: button.backgroundPrimaryDefault,\n },\n {\n name: 'button-background-primary-hover',\n color: button.backgroundPrimaryHover,\n },\n {\n name: 'button-background-primary-press',\n color: button.backgroundPrimaryPress,\n },\n {\n name: 'button-background-primary-focus',\n color: button.backgroundPrimaryFocus,\n },\n {\n name: 'button-background-primary-keyfocus',\n color: button.backgroundPrimaryKeyfocus,\n },\n {\n name: 'button-background-primary-disabled',\n color: button.backgroundPrimaryDisabled,\n },\n ],\n },\n {\n description: 'Secondary Background',\n list: [\n {\n name: 'button-background-secondary-default',\n color: button.backgroundSecondaryDefault,\n },\n {\n name: 'button-background-secondary-hover',\n color: button.backgroundSecondaryHover,\n },\n {\n name: 'button-background-secondary-press',\n color: button.backgroundSecondaryPress,\n },\n {\n name: 'button-background-secondary-focus',\n color: button.backgroundSecondaryFocus,\n },\n {\n name: 'button-background-secondary-keyfocus',\n color: button.backgroundSecondaryKeyfocus,\n },\n {\n name: 'button-background-secondary-disabled',\n color: button.backgroundSecondaryDisabled,\n },\n ],\n },\n {\n description: 'Secondary Danger Background',\n list: [\n {\n name: 'button-background-secondary-danger-default',\n color: button.backgroundSecondaryDangerDefault,\n },\n {\n name: 'button-background-secondary-danger-hover',\n color: button.backgroundSecondaryDangerHover,\n },\n {\n name: 'button-background-secondary-danger-press',\n color: button.backgroundSecondaryDangerPress,\n },\n {\n name: 'button-background-secondary-danger-focus',\n color: button.backgroundSecondaryDangerFocus,\n },\n {\n name: 'button-background-secondary-danger-keyfocus',\n color: button.backgroundSecondaryDangerKeyfocus,\n },\n {\n name: 'button-background-secondary-danger-disabled',\n color: button.backgroundDangerDisabled,\n },\n ],\n },\n {\n description: 'Danger Background',\n list: [\n {\n name: 'button-background-danger-default',\n color: button.backgroundDangerDefault,\n },\n {\n name: 'button-background-danger-hover',\n color: button.backgroundDangerHover,\n },\n {\n name: 'button-background-danger-press',\n color: button.backgroundDangerPress,\n },\n {\n name: 'button-background-danger-focus',\n color: button.backgroundDangerFocus,\n },\n {\n name: 'button-background-danger-keyfocus',\n color: button.backgroundDangerKeyfocus,\n },\n {\n name: 'button-background-danger-disabled',\n color: button.backgroundDangerDisabled,\n },\n ],\n },\n {\n description: 'Success Background',\n list: [\n {\n name: 'button-background-success-default',\n color: button.backgroundSuccessDefault,\n },\n {\n name: 'button-background-success-hover',\n color: button.backgroundSuccessHover,\n },\n {\n name: 'button-background-success-press',\n color: button.backgroundSuccessPress,\n },\n {\n name: 'button-background-success-focus',\n color: button.backgroundSuccessFocus,\n },\n {\n name: 'button-background-success-keyfocus',\n color: button.backgroundSuccessKeyfocus,\n },\n {\n name: 'button-background-success-disabled',\n color: button.backgroundSuccessDisabled,\n },\n ],\n },\n {\n description: 'Font',\n list: [\n { name: 'button-font-on-primary', color: button.fontOnPrimary },\n {\n name: 'button-font-on-primary-disabled',\n color: button.fontOnPrimaryDisabled,\n },\n {\n name: 'button-font-on-secondary',\n color: button.fontOnSecondary,\n },\n {\n name: 'button-font-on-secondary-disabled',\n color: button.fontOnSecondaryDisabled,\n },\n {\n name: 'button-font-on-secondary-danger',\n color: button.fontOnSecondaryDanger,\n },\n {\n name: 'button-font-on-secondary-danger-disabled',\n color: button.onSecondaryDangerDisabled,\n },\n { name: 'button-font-on-danger', color: button.fontOnDanger },\n {\n name: 'button-font-on-danger-disabled',\n color: button.fontOnDangerDisabled,\n },\n { name: 'button-font-on-success', color: button.fontOnSuccess },\n {\n name: 'button-font-on-success-disabled',\n color: button.fontOnSuccessDisabled,\n },\n ],\n },\n ];\n\n return {\n ...palette.reduce(\n (rec, group) => ({\n ...rec,\n ...group.list.reduce(\n (rec, item) => ({\n ...rec,\n [item.name]: item.color,\n }),\n {} as Record<string, string>,\n ),\n }),\n {} as Record<string, string>,\n ),\n };\n};\n","import { getThemePalette } from '../helpers/getPalette';\n\nexport const light = getThemePalette('light');\nexport const highContrast = getThemePalette('high-contrast');\nexport const dark = getThemePalette('dark');\n","import { memo } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { convertToCss } from './helpers/convertToCss';\nimport { useCreateStyleContainer } from './hooks/useCreateStyleContainer';\nimport { dark, highContrast, light } from './lib/themePalettes';\nimport type { Themes } from './types/themes';\n\nconst themes = {\n light,\n dark,\n 'high-contrast': highContrast,\n};\n\nexport type PaletteStyleTagProps = {\n theme?: Themes;\n /**\n * Default is `main-palette`.\n */\n tagId?: string;\n /**\n * Token prefix. Default is `--rcx-color`.\n */\n prefix?: string;\n /**\n * Default is `:root`.\n */\n selector?: string;\n /**\n * CSS containing custom palette styles to be used.\n */\n palette?: string;\n};\n\n/**\n * Style tag to handle the theme of the application.\n *\n * Import `PaletteStyleTag` and use it on the application informing the desired theme.\n *\n * Toggle the theme on Storybook's Control panel to see the color changes.\n */\nfunction PaletteStyleTag({\n theme = 'light',\n tagId = 'main-palette',\n prefix = '--rcx-color',\n selector,\n palette,\n}: PaletteStyleTagProps) {\n const themePalette = palette || convertToCss(themes[theme], prefix, selector);\n\n return <>{createPortal(themePalette, useCreateStyleContainer(tagId))}</>;\n}\n\nexport default memo(PaletteStyleTag);\n","import { useToggle } from '@rocket.chat/fuselage-hooks';\n\nimport { Icon } from '../Icon';\nimport { InputBox, type InputBoxProps } from '../InputBox';\n\n// TODO: fix a11y issues\n\nexport type PasswordInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\nfunction PasswordInput(props: PasswordInputProps) {\n const [hidden, toggle] = useToggle(true);\n const handleAddonClick = () => {\n toggle();\n };\n\n return (\n <InputBox\n type={hidden ? 'password' : 'text'}\n endAddon={\n <Icon\n name={hidden ? 'eye-off' : 'eye'}\n size={20}\n onClick={handleAddonClick}\n />\n }\n {...props}\n />\n );\n}\n\nexport default PasswordInput;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\n\nconst getWidth = (percentage: number): string =>\n `${Math.min(Math.max(0, percentage), 100).toFixed(1)}%`;\n\nconst colors = {\n info: 'status-font-on-info',\n success: 'status-font-on-success',\n warning: 'status-font-on-warning',\n danger: 'status-font-on-danger',\n};\nconst lightColors = {\n info: 'status-background-info',\n success: 'status-background-success',\n warning: 'status-background-warning',\n danger: 'status-background-danger',\n};\n\nconst getColor = (\n isLight: boolean,\n variant: 'info' | 'success' | 'warning' | 'danger',\n error?: string,\n) => {\n if (error) {\n return isLight ? lightColors.danger : colors.danger;\n }\n return isLight ? lightColors[variant] : colors[variant];\n};\n\nexport type ProgressBarProps = RefAttributes<unknown> & {\n percentage: number;\n variant?: 'info' | 'success' | 'warning' | 'danger';\n error?: string;\n animated?: boolean;\n light?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\n/**\n * The `ProgressBar` is used to inform the user the progress of an operation.\n */\nfunction ProgressBar({\n percentage,\n variant = 'info',\n error,\n animated,\n light = false,\n ...props\n}: ProgressBarProps) {\n return (\n <Box\n rcx-progress-bar\n title={error || undefined}\n overflow='hidden'\n {...props}\n >\n <Box\n backgroundColor={getColor(light, variant, error)}\n rcx-progress-bar__fill--animated={animated}\n rcx-progress-bar__fill\n width={getWidth(percentage)}\n />\n </Box>\n );\n}\n\nexport default ProgressBar;\n","import type { AllHTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type RadioButtonProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLInputElement> &\n AllHTMLAttributes<HTMLInputElement> & {\n labelChildren?: ReactNode;\n };\n\nfunction RadioButton({ className, labelChildren, ...props }: RadioButtonProps) {\n return (\n <Box is='label' className={className} rcx-radio-button>\n {labelChildren}\n <Box is='input' rcx-radio-button__input type='radio' {...props} />\n <Box is='i' rcx-radio-button__fake aria-hidden='true' />\n </Box>\n );\n}\n\nexport default RadioButton;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type SearchInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\n/**\n * An input for search queries.\n */\nfunction SearchInput(props: SearchInputProps) {\n return <InputBox type='search' {...props} />;\n}\n\nexport default SearchInput;\n","import {\n useMergedRefs,\n useStableCallback,\n useResizeObserver,\n useOutsideClick,\n} from '@rocket.chat/fuselage-hooks';\nimport type { DependencyList, ElementType, RefAttributes } from 'react';\nimport { useState, useRef, useEffect, useMemo } from 'react';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box, type BoxProps } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\nimport { Margins } from '../Margins';\nimport type { OptionType } from '../Options';\nimport { Options, useCursor } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\n\nimport SelectAddon from './SelectAddon';\nimport SelectFocus from './SelectFocus';\n\nexport type SelectOption = readonly [\n value: string,\n label: string,\n selected?: boolean,\n];\n\ntype WrapperProps = BoxProps;\n\nconst Wrapper = (props: WrapperProps) => (\n <Box is='div' rcx-select__wrapper {...props} />\n);\n\nconst useDidUpdate = (func: () => void, deps: DependencyList | undefined) => {\n const didMount = useRef(false);\n const fn = useStableCallback(func);\n\n useEffect(() => {\n if (didMount.current) {\n fn();\n }\n didMount.current = true;\n }, deps || []);\n};\n\nexport type SelectProps = Omit<BoxProps, 'ref' | 'onChange'> &\n RefAttributes<HTMLInputElement> & {\n anchor?: ElementType;\n error?: string;\n options: SelectOption[];\n onChange: (value: SelectOption[0]) => void;\n getLabel?: (params: SelectOption) => SelectOption[1];\n getValue?: (params: SelectOption) => SelectOption[0];\n filter?: string;\n renderOptions?: ElementType;\n renderItem?: ElementType;\n renderSelected?: ElementType;\n customEmpty?: string;\n addonIcon?: IconProps['name'];\n };\n\nfunction SelectLegacy({\n ref,\n value,\n filter,\n error,\n disabled,\n options = [],\n anchor: Anchor = SelectFocus,\n onChange = () => {},\n getValue = ([value] = ['', '']) => value,\n getLabel = ([, label] = ['', '']) => label,\n placeholder = '',\n renderItem,\n renderSelected: RenderSelected,\n renderOptions: _Options = Options,\n addonIcon,\n customEmpty,\n ...props\n}: SelectProps) {\n const [internalValue, setInternalValue] = useState(value || '');\n\n const internalChangedByKeyboard = useStableCallback(([value]: OptionType) => {\n setInternalValue(value);\n onChange(value as SelectOption[0]); // FIXME\n });\n\n const option = options.find(\n (option) => getValue(option) === internalValue,\n ) as SelectOption;\n\n const index = options.indexOf(option);\n\n const filteredOptions = useMemo<OptionType[]>((): OptionType[] => {\n const mapOptions = ([value, label]: SelectOption): OptionType => {\n if (internalValue === value) {\n return [value, label, true];\n }\n return [value, label];\n };\n\n const applyFilter = ([, option]: SelectOption) =>\n !filter || ~option.toLowerCase().indexOf(filter.toLowerCase());\n\n return options.filter(applyFilter).map(mapOptions);\n }, [options, internalValue, filter]);\n\n const [cursor, handleKeyDown, handleKeyUp, reset, [visible, hide, show]] =\n useCursor(index, filteredOptions, internalChangedByKeyboard);\n\n const innerRef = useRef<HTMLInputElement | null>(null);\n const anchorRef = useMergedRefs(ref, innerRef);\n\n const removeFocusClass = () =>\n innerRef.current?.classList.remove('focus-visible');\n\n const internalChangedByClick = useStableCallback(([value]: OptionType) => {\n setInternalValue(value);\n onChange(value as SelectOption[0]); // FIXME\n removeFocusClass();\n hide();\n });\n\n const { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n useDidUpdate(reset, [filter, internalValue]);\n useOutsideClick([containerRef], removeFocusClass);\n\n const valueLabel = getLabel(option);\n\n const visibleText =\n (filter === undefined || visible === AnimatedVisibility.HIDDEN) &&\n (valueLabel || placeholder || typeof placeholder === 'string');\n\n const handleClick = useStableCallback(() => {\n if (innerRef.current?.classList.contains('focus-visible')) {\n removeFocusClass();\n return hide();\n }\n\n innerRef.current?.classList.add('focus-visible');\n innerRef.current?.focus();\n return show();\n });\n\n return (\n <Box\n animated\n rcx-select\n disabled={disabled}\n ref={containerRef}\n onClick={handleClick}\n className={useMemo(\n () => [error && 'invalid', disabled && 'disabled'],\n [error, disabled],\n )}\n {...props}\n >\n <Wrapper\n display='flex'\n marginInline='neg-x4'\n rcx-select__wrapper--hidden={!!visibleText}\n >\n {visibleText &&\n (RenderSelected ? (\n <RenderSelected\n role='option'\n value={getValue(option)}\n label={valueLabel}\n key={getValue(option)}\n onClick={internalChangedByClick}\n />\n ) : (\n <Box\n flexGrow={1}\n is='span'\n marginInline={4}\n rcx-select__item\n fontScale='p2'\n color={valueLabel ? 'titles-labels' : 'hint'}\n >\n {visibleText}\n </Box>\n ))}\n <Anchor\n ref={anchorRef}\n disabled={disabled ?? false}\n onClick={show}\n onBlur={hide}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n >\n {!value ? option || placeholder : null}\n </Anchor>\n <Margins inline='x4'>\n <SelectAddon>\n <Icon\n name={\n visible === AnimatedVisibility.VISIBLE\n ? 'chevron-up'\n : addonIcon || 'chevron-down'\n }\n size='x20'\n />\n </SelectAddon>\n </Margins>\n </Wrapper>\n <PositionAnimated visible={visible} anchor={containerRef}>\n <_Options\n width={borderBoxSize.inlineSize}\n role='listbox'\n filter={filter}\n options={filteredOptions}\n onSelect={internalChangedByClick}\n renderItem={renderItem}\n cursor={cursor}\n customEmpty={customEmpty}\n />\n </PositionAnimated>\n </Box>\n );\n}\n\nexport default SelectLegacy;\n","import type { Node } from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\nimport type { AriaListBoxOptions } from 'react-aria';\nimport { useListBox, useListBoxSection, useOption } from 'react-aria';\nimport type { ListState } from 'react-stately';\n\nimport { Option } from '../Option';\n\ntype ListBoxProps = AriaListBoxOptions<unknown> & {\n listBoxRef?: RefObject<HTMLDivElement | null>;\n state: ListState<unknown>;\n};\n\ntype SectionProps = {\n section: Node<unknown>;\n state: ListState<unknown>;\n};\n\ntype OptionProps = {\n item: Node<unknown>;\n state: ListState<unknown>;\n};\n\nexport function ListBox(props: ListBoxProps) {\n const ref = useRef<HTMLDivElement>(null);\n const { listBoxRef = ref, state } = props;\n const { listBoxProps } = useListBox(props, state, listBoxRef);\n\n return (\n <div {...listBoxProps} ref={listBoxRef}>\n {[...state.collection].map((item) =>\n item.type === 'section' ? (\n <ListBoxSection key={item.key} section={item} state={state} />\n ) : (\n <OptionAria key={item.key} item={item} state={state} />\n ),\n )}\n </div>\n );\n}\n\nfunction ListBoxSection({ section, state }: SectionProps) {\n const { itemProps, headingProps, groupProps } = useListBoxSection({\n 'heading': section.rendered,\n 'aria-label': section['aria-label'],\n });\n\n return (\n <>\n <li {...itemProps} className='pt-2'>\n {section.rendered && (\n <span\n {...headingProps}\n className='text-xs font-bold uppercase text-gray-500 mx-3'\n >\n {section.rendered}\n </span>\n )}\n <ul {...groupProps}>\n {[...section.childNodes].map((node) => (\n <OptionAria key={node.key} item={node} state={state} />\n ))}\n </ul>\n </li>\n </>\n );\n}\n\nfunction OptionAria({ item, state }: OptionProps) {\n const ref = useRef<HTMLLIElement>(null);\n const { optionProps, isDisabled, isSelected, isFocused } = useOption(\n {\n key: item.key,\n },\n state,\n ref,\n );\n\n return (\n <Option\n ref={ref}\n disabled={isDisabled}\n selected={isSelected}\n focus={isFocused}\n key={item.key}\n label={item.rendered}\n {...optionProps}\n >\n {item.rendered}\n </Option>\n );\n}\n","import type { AllHTMLAttributes, RefAttributes, RefObject } from 'react';\nimport { useButton, type AriaButtonProps } from 'react-aria';\n\nimport { Box } from '../Box';\n\ntype SelectTriggerProps = AriaButtonProps &\n AllHTMLAttributes<HTMLButtonElement> &\n RefAttributes<HTMLButtonElement> & {\n small?: boolean;\n error?: string;\n focus?: boolean;\n };\n\nexport function SelectTrigger({\n ref,\n small,\n error,\n isDisabled,\n focus,\n id,\n ...props\n}: SelectTriggerProps) {\n const { buttonProps } = useButton(\n props,\n ref as RefObject<HTMLButtonElement | null>,\n );\n\n return (\n <Box\n {...buttonProps}\n id={id}\n animated\n rcx-select\n ref={ref}\n is='button'\n display='flex'\n flexDirection='row'\n fontScale='p2'\n justifyContent='space-between'\n rcx-input-box--small={small}\n className={[\n error && 'invalid',\n isDisabled && 'disabled',\n focus && 'focus',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {props.children}\n </Box>\n );\n}\n","import type { AriaSelectProps } from '@react-types/select';\nimport { useMergedRefs, useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport type { AllHTMLAttributes, Key, RefAttributes } from 'react';\nimport { useSelect, HiddenSelect, mergeProps, useFocusRing } from 'react-aria';\nimport { useSelectState } from 'react-stately';\n\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport { OptionContainer } from '../Options';\nimport { Popover } from '../Popover';\n\nimport { ListBox } from './Listbox';\nimport { SelectTrigger } from './SelectTrigger';\n\nexport { Item } from 'react-stately';\n\nexport type SelectAriaProps<T extends object> = AriaSelectProps<T> &\n RefAttributes<HTMLElement> & {\n error?: string;\n placeholder?: string;\n value?: Key | null;\n onChange?: (key: Key) => void;\n small?: boolean;\n } & AllHTMLAttributes<HTMLElement>;\n\nexport function SelectAria({\n ref: outerRef,\n error,\n placeholder,\n value,\n onChange,\n small,\n isDisabled: isDisabledProps,\n disabled,\n id,\n ...props\n}: SelectAriaProps<object>) {\n const isDisabled = isDisabledProps || disabled;\n\n const state = useSelectState({\n isDisabled,\n selectedKey: typeof value !== 'bigint' ? value : null,\n onSelectionChange: onChange,\n ...props,\n });\n\n const { ref, borderBoxSize } = useResizeObserver<any>();\n const mergedRef = useMergedRefs(outerRef, ref);\n\n const { triggerProps, valueProps, menuProps } = useSelect(\n { isDisabled, ...props },\n state,\n ref,\n );\n\n const { focusProps, isFocusVisible } = useFocusRing();\n\n return (\n <>\n <Box position='relative' size={0}>\n <HiddenSelect\n state={state}\n triggerRef={ref}\n label={props.label}\n name={props.name}\n isDisabled={isDisabled}\n />\n </Box>\n <SelectTrigger\n {...mergeProps(focusProps, triggerProps)}\n ref={mergedRef}\n small={small}\n focus={isFocusVisible || state.isOpen}\n error={error}\n id={id}\n >\n <Box\n is='span'\n color={state.selectedItem ? 'titles-labels' : 'hint'}\n {...valueProps}\n {...(small && { fontScale: 'c1' })}\n >\n {state.selectedItem ? state.selectedItem.rendered : placeholder}\n </Box>\n <Icon\n color='titles-labels'\n name={state.isOpen ? 'chevron-up' : 'chevron-down'}\n size='x20'\n />\n </SelectTrigger>\n {state.isOpen && (\n <Popover\n state={state}\n triggerRef={ref}\n placement='bottom'\n offset={4}\n containerPadding={8}\n >\n <OptionContainer\n style={{\n width: borderBoxSize?.inlineSize,\n }}\n >\n <ListBox {...menuProps} state={state} />\n </OptionContainer>\n </Popover>\n )}\n </>\n );\n}\n","import type { AriaSelectProps } from '@react-types/select';\nimport type { AllHTMLAttributes, Key, RefAttributes } from 'react';\nimport { Item } from 'react-stately';\n\nimport type { SelectAriaProps } from './SelectAria';\nimport { SelectAria } from './SelectAria';\nimport type { SelectOption } from './SelectLegacy';\n\nexport type SelectProps<T, V extends Key> = Omit<\n AriaSelectProps<T>,\n 'value' | 'onChange' | 'children'\n> &\n RefAttributes<HTMLElement> & {\n error?: string;\n placeholder?: string;\n value?: V | null;\n onChange?: ((key: V) => any) | undefined;\n options: SelectOption[];\n small?: boolean;\n } & Omit<AllHTMLAttributes<HTMLElement>, 'value' | 'onChange'>;\n\n/**\n * An input for selection of options.\n */\nfunction Select<T, V extends Key>({\n options,\n ref,\n ...props\n}: SelectProps<T, V>) {\n return (\n <SelectAria ref={ref} {...(props as SelectAriaProps<object>)}>\n {options.map((option) => (\n <Item\n title={option[1] ?? option[0]}\n textValue={option[0]}\n key={option[0]}\n >\n {option[1] ?? option[0]}\n </Item>\n ))}\n </SelectAria>\n );\n}\n\nexport default Select;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { createContext } from 'react';\n\nexport const SelectFilteredContext = createContext<{\n placeholder?: string;\n filter?: string;\n setFilter?: Dispatch<SetStateAction<string>>;\n}>({});\n","import { use, type InputEvent } from 'react';\n\nimport { Input } from '../InputBox';\n\nimport type { SelectAnchorParams } from './SelectAnchorParams';\nimport { SelectFilteredContext } from './SelectFilteredContext';\n\ntype SelectFilteredAnchorProps = SelectAnchorParams;\n\nfunction SelectFilteredAnchor({\n children: _children,\n ...props\n}: SelectFilteredAnchorProps) {\n const { placeholder, filter, setFilter } = use(SelectFilteredContext);\n\n return (\n <Input\n marginInline={4}\n flexGrow={1}\n className='rcx-select__focus'\n placeholder={placeholder}\n value={filter}\n onInput={(e: InputEvent<HTMLInputElement>) =>\n setFilter?.(e.currentTarget.value)\n }\n {...props}\n rcx-input-box--undecorated\n />\n );\n}\n\nexport default SelectFilteredAnchor;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\n\nimport type { IconProps } from '..';\n\nimport SelectFilteredAnchor from './SelectFilteredAnchor';\nimport { SelectFilteredContext } from './SelectFilteredContext';\nimport type { SelectProps } from './SelectLegacy';\nimport SelectLegacy from './SelectLegacy';\n\nexport type SelectFilteredProps = Omit<SelectProps, 'anchor'> & {\n filter?: string;\n setFilter?: Dispatch<SetStateAction<string>>;\n addonIcon?: IconProps['name'];\n};\n\nfunction SelectFiltered({\n options,\n placeholder,\n filter: propFilter,\n setFilter: propSetFilter,\n ...props\n}: SelectFilteredProps) {\n const [filter, setFilter] = useState('');\n\n return (\n <SelectFilteredContext.Provider\n value={{\n placeholder,\n filter: propFilter || filter,\n setFilter: propSetFilter || setFilter,\n }}\n >\n <SelectLegacy\n placeholder={placeholder}\n filter={propFilter || filter}\n options={options}\n {...props}\n anchor={SelectFilteredAnchor}\n />\n </SelectFilteredContext.Provider>\n );\n}\n\nexport default SelectFiltered;\n","import type { RefAttributes, HTMLAttributes } from 'react';\n\nexport type SidebarProps = HTMLAttributes<HTMLElement> &\n RefAttributes<HTMLElement> & {\n collapsed?: boolean;\n };\n\nexport function Sidebar({ collapsed, className, ...props }: SidebarProps) {\n return (\n <nav\n className={[\n 'rcx-box rcx-box--full rcx-sidebar',\n 'rcx-box--animated',\n collapsed && 'rcx-sidebar--collapsed',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n );\n}\n","import type { HTMLAttributes } from 'react';\n\nexport type SidebarAccordionProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidebarAccordion = ({\n className,\n children,\n ...props\n}: SidebarAccordionProps) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-accordion rcx-box--animated',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <div className='rcx-sidebar-accordion__wrapper'>{children}</div>\n </div>\n);\n\nexport default SidebarAccordion;\n","import { useToggle } from '@rocket.chat/fuselage-hooks';\nimport { useId, type KeyboardEventHandler, type MouseEvent } from 'react';\n\nconst hasPropExpanded = (expanded: boolean | undefined) =>\n expanded !== undefined;\n\nexport const useCollapse = ({\n expanded: propExpanded,\n defaultExpanded,\n disabled,\n noncollapsible,\n tabIndex = 0,\n}: {\n expanded?: boolean;\n defaultExpanded?: boolean;\n disabled?: boolean;\n noncollapsible?: boolean;\n tabIndex?: number;\n}) => {\n const [stateExpanded, toggleStateExpanded] = useToggle(defaultExpanded);\n const expanded = hasPropExpanded(propExpanded) ? propExpanded : stateExpanded;\n\n const panelExpanded = noncollapsible || expanded;\n\n const titleId = useId();\n const panelId = useId();\n\n const handleClick = (e: MouseEvent<HTMLElement>) => {\n if (disabled) {\n return;\n }\n e.currentTarget?.blur();\n toggleStateExpanded();\n };\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (disabled || event.currentTarget !== event.target) {\n return;\n }\n\n if (['Enter', 'Space'].includes(event.code)) {\n event.preventDefault();\n\n if (event.repeat) {\n return;\n }\n\n toggleStateExpanded();\n }\n };\n\n const collapsibleProps = {\n 'aria-controls': panelId,\n 'aria-expanded': expanded ? 'true' : 'false',\n 'tabIndex': !disabled ? tabIndex : undefined,\n 'onClick': handleClick,\n 'onKeyDown': handleKeyDown,\n } as const;\n\n const nonCollapsibleProps = {\n 'aria-disabled': 'true',\n 'aria-expanded': 'true',\n 'aria-labelledby': titleId,\n } as const;\n\n const barProps = noncollapsible ? nonCollapsibleProps : collapsibleProps;\n\n return { barProps, titleId, panelId, panelExpanded, expanded };\n};\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Chevron } from '../Chevron';\n\nimport { useCollapse } from './hooks/useCollapse';\n\nexport type SidebarAccordionItemProps = {\n children?: ReactNode;\n className?: string;\n defaultExpanded?: boolean;\n disabled?: boolean;\n expanded?: boolean;\n title: ReactNode;\n noncollapsible?: boolean;\n badge?: ReactNode;\n} & HTMLAttributes<HTMLElement>;\n\nconst SidebarAccordionItem = ({\n children,\n title,\n badge,\n noncollapsible,\n disabled,\n expanded: propExpanded,\n defaultExpanded,\n tabIndex,\n ...props\n}: SidebarAccordionItemProps) => {\n const { barProps, expanded, panelExpanded, panelId, titleId } = useCollapse({\n expanded: propExpanded,\n defaultExpanded,\n tabIndex,\n disabled,\n noncollapsible,\n });\n\n return (\n <section\n className='rcx-box rcx-box--full rcx-sidebar-accordion-item'\n {...props}\n >\n <div\n role='button'\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-accordion-item__bar rcx-box--animated',\n disabled && 'rcx-sidebar-accordion-item__bar--disabled',\n ]\n .filter(Boolean)\n .join(' ')}\n {...barProps}\n >\n {!noncollapsible && (\n <Chevron\n className='rcx-sidebar-accordion-item__chevron'\n size='x16'\n right={!expanded}\n />\n )}\n {title && (\n <h5 className='rcx-sidebar-accordion-item__title' id={titleId}>\n {title}\n </h5>\n )}\n {!expanded && badge && badge}\n </div>\n <div\n className={[\n 'rcx-sidebar-accordion-item__panel',\n 'rcx-box--animated',\n panelExpanded && 'rcx-sidebar-accordion-item__panel--expanded',\n ]\n .filter(Boolean)\n .join(' ')}\n id={panelId}\n >\n {children}\n </div>\n </section>\n );\n};\n\nexport default SidebarAccordionItem;\n","import type { RefAttributes } from 'react';\n\nimport { IconButton } from '../Button';\nimport type { IconButtonProps } from '../Button/IconButton';\n\nexport type SidebarActionProps = Omit<IconButtonProps, 'ref'> &\n RefAttributes<HTMLElement>;\n\nfunction SidebarAction(props: SidebarActionProps) {\n return <IconButton small {...props} />;\n}\n\nexport default SidebarAction;\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport type SidebarActionsProps = ButtonGroupProps;\n\nfunction SidebarActions(props: SidebarActionsProps) {\n return <ButtonGroup {...props} />;\n}\n\nexport default SidebarActions;\n","import type { Keys as Icons } from '@rocket.chat/icons';\nimport type { LinkHTMLAttributes, ReactNode } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { Icon } from '../Icon';\n\nexport type SidebarLinkProps = {\n selected?: boolean;\n icon?: Icons;\n badge?: ReactNode;\n menu?: ReactNode;\n} & LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst SidebarLink = ({\n selected,\n icon,\n badge,\n menu,\n ...props\n}: SidebarLinkProps) => (\n <a\n role='link'\n tabIndex={0}\n className={[\n 'rcx-box rcx-box--full',\n 'rcx-sidebar-link',\n 'rcx-sidebar-item',\n selected && 'rcx-sidebar-item--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => e.code === 'Enter' && e.stopPropagation()}\n {...props}\n >\n {icon && <Icon name={icon} size='x20' className='rcx-sidebar-item__icon' />}\n <span className='rcx-box rcx-box--full rcx-sidebar-item__title'>\n {props.children}\n </span>\n {badge}\n {menu &&\n patchChildren(\n <span className='rcx-box rcx-box--full rcx-sidebar-item__menu-wrapper'>\n {menu}\n </span>,\n (childProps: { className: string | string[] }) => ({\n className: appendClassName(\n childProps.className,\n 'rcx-box rcx-box--full rcx-sidebar-item__menu rcx-box--animated',\n ),\n }),\n )}\n </a>\n);\n\nexport default SidebarLink;\n","import type { AllHTMLAttributes, ElementType } from 'react';\n\nexport type SidebarItemProps = {\n selected?: boolean;\n level?: number;\n is?: ElementType;\n} & AllHTMLAttributes<HTMLAnchorElement>;\n\nexport const SidebarItem = ({\n selected,\n level = 1,\n className,\n children,\n is: Tag = 'a',\n ...props\n}: SidebarItemProps) => (\n <Tag\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item',\n selected && 'rcx-sidebar-item--selected',\n level && `rcx-sidebar-item--level-${level}`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {children}\n </Tag>\n);\n","import type { Keys as Icons } from '@rocket.chat/icons';\nimport type { HTMLAttributes } from 'react';\n\nimport { Icon } from '../../Icon';\n\nexport const SidebarItemAction = ({\n children,\n className,\n icon = 'plus-small',\n ...props\n}: {\n onClick: (e: Event) => void;\n icon?: Icons;\n} & HTMLAttributes<HTMLDivElement>) => (\n <div\n role='button'\n tabIndex={0}\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item rcx-sidebar-item__action',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <Icon name={icon} size='x20' />\n {children}\n </div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarItemAvatarWrapper = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className={['rcx-box rcx-box--full rcx-sidebar-item__avatar', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import { Badge, type BadgeProps } from '../../Badge';\n\nexport const SidebarItemBadge = ({ className, ...props }: BadgeProps) => (\n <Badge\n className={['rcx-box rcx-box--full rcx-sidebar-item__badge', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import type { Keys as IconKeys } from '@rocket.chat/icons';\nimport { isValidElement, type ReactElement } from 'react';\n\nimport { Icon, type IconProps } from '../../Icon';\n\nexport type SidebarItemIconProps = Omit<IconProps, 'name'> & {\n icon: IconKeys | ReactElement<any>;\n highlighted?: boolean;\n};\n\nexport const SidebarItemIcon = ({\n icon,\n className,\n highlighted,\n ...props\n}: SidebarItemIconProps) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item__icon',\n highlighted && 'rcx-sidebar-item__icon--highlighted',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {isValidElement(icon) ? (\n icon\n ) : (\n <Icon name={icon as IconKeys} size='x20' {...props} />\n )}\n </div>\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { appendClassName } from '../../../helpers/appendClassName';\nimport { patchChildren } from '../../../helpers/patchChildren';\n\nexport const SidebarItemMenu = ({\n children,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className='rcx-box rcx-box--full rcx-sidebar-item__menu-wrapper rcx-box--animated'\n {...props}\n >\n {patchChildren(\n <span className='rcx-box rcx-box--full rcx-sidebar-item__menu'>\n {children}\n </span>,\n (childProps: { className: string | string[] }) => ({\n className: appendClassName(\n childProps.className,\n 'rcx-sidebar-item__menu',\n ),\n }),\n )}\n </div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarItemTitle = ({\n className,\n unread,\n ...props\n}: { unread?: boolean } & HTMLAttributes<HTMLDivElement>) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item__title',\n unread && 'rcx-sidebar-item__title--highlighted',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarItemRow = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className={['rcx-box rcx-box--full rcx-sidebar-item__row', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarItemCol = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className={['rcx-box rcx-box--full rcx-sidebar-item__col', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarItemTimestamp = ({\n className,\n unread,\n ...props\n}: { unread?: boolean } & HTMLAttributes<HTMLDivElement>) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item__timestamp',\n unread && 'rcx-sidebar-item__timestamp--highlighted',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\ntype SidebarListItemProps = HTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement> & {\n selected?: boolean;\n };\n\nexport function SidebarListItem({\n className,\n children,\n ...props\n}: SidebarListItemProps) {\n return (\n <div\n role='listitem'\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item__list-item',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarItemContent = ({\n className,\n unread,\n ...props\n}: { unread?: boolean } & HTMLAttributes<HTMLDivElement>) => (\n <div\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-item__subtitle',\n unread && 'rcx-sidebar-item__subtitle--highlighted',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Away = ({ size, className, ...props }: StatusBulletProps) => (\n <svg\n {...props}\n width='10'\n height='10'\n viewBox='0 0 10 10'\n aria-hidden='true'\n className={`rcx-status-bullet rcx-status-bullet--away ${className} ${\n size === 'small' ? 'rcx-status-bullet--small' : ''\n }`}\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M5.13337 9.93325C7.78434 9.93325 9.93338 7.78422 9.93338 5.13325C9.93338 2.48229 7.78434 0.333252 5.13337 0.333252C2.48241 0.333252 0.333374 2.48229 0.333374 5.13325C0.333374 7.78422 2.48241 9.93325 5.13337 9.93325ZM5.80004 2.33325C5.80004 1.96506 5.50156 1.66659 5.13337 1.66659C4.76518 1.66659 4.46671 1.96506 4.46671 2.33325V5.13325V5.45367L4.71691 5.65383L6.71691 7.25383C7.00442 7.48384 7.42395 7.43722 7.65395 7.14972C7.88396 6.86221 7.83735 6.44268 7.54984 6.21267L5.80004 4.81284V2.33325Z'\n />\n </svg>\n);\n\nexport default Away;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Busy = ({ size, className, ...props }: StatusBulletProps) => (\n <svg\n {...props}\n width='10'\n height='10'\n viewBox='0 0 10 10'\n aria-hidden='true'\n className={`rcx-status-bullet rcx-status-bullet--busy ${className} ${\n size === 'small' ? 'rcx-status-bullet--small' : ''\n }`}\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M5.13337 9.93325C7.78434 9.93325 9.93338 7.78422 9.93338 5.13325C9.93338 2.48229 7.78434 0.333252 5.13337 0.333252C2.48241 0.333252 0.333374 2.48229 0.333374 5.13325C0.333374 7.78422 2.48241 9.93325 5.13337 9.93325ZM3.53338 4.46655C3.16519 4.46655 2.86671 4.76503 2.86671 5.13322C2.86671 5.50141 3.16519 5.79989 3.53338 5.79989H6.73338C7.10157 5.79989 7.40004 5.50141 7.40004 5.13322C7.40004 4.76503 7.10157 4.46655 6.73338 4.46655H3.53338Z'\n />\n </svg>\n);\n\nexport default Busy;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Disabled = ({ size, className, ...props }: StatusBulletProps) => (\n <svg\n {...props}\n width='24'\n height='24'\n viewBox='0 0 24 24'\n aria-hidden='true'\n className={`rcx-status-bullet rcx-status-bullet--disabled ${className} ${\n size === 'small' ? 'rcx-status-bullet--small' : ''\n }`}\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM13.3367 5.33333C13.3367 4.59695 12.7398 4 12.0034 4C11.267 4 10.67 4.59695 10.67 5.33333V14.6667C10.67 15.403 11.267 16 12.0034 16C12.7398 16 13.3367 15.403 13.3367 14.6667V5.33333ZM13.3367 18.6667C13.3367 17.9303 12.7398 17.3333 12.0034 17.3333C11.267 17.3333 10.67 17.9303 10.67 18.6667C10.67 19.403 11.267 20 12.0034 20C12.7398 20 13.3367 19.403 13.3367 18.6667Z'\n />\n </svg>\n);\n\nexport default Disabled;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Loading = ({ size, className, ...props }: StatusBulletProps) => (\n <svg\n {...props}\n width='12'\n height='12'\n viewBox='0 0 12 12'\n fill='none'\n aria-hidden='true'\n xmlns='http://www.w3.org/2000/svg'\n className={`rcx-status-bullet rcx-status-bullet--loading ${className} ${\n size === 'small' ? 'rcx-status-bullet--small' : ''\n }`}\n >\n <circle\n cx='6'\n cy='6'\n r='5'\n className='rcx-status-bullet rcx-status-bullet--loading'\n strokeWidth='2'\n strokeDasharray='2 2'\n />\n </svg>\n);\n\nexport default Loading;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Offline = ({ size, className, ...props }: StatusBulletProps) => (\n <svg\n {...props}\n width='12'\n height='12'\n viewBox='0 0 12 12'\n fill='none'\n aria-hidden='true'\n xmlns='http://www.w3.org/2000/svg'\n className={`rcx-status-bullet rcx-status-bullet--offline ${className} ${\n size === 'small' ? 'rcx-status-bullet--small' : ''\n }`}\n >\n <circle\n cx='6'\n cy='6'\n r='5'\n className={`rcx-status-bullet rcx-status-bullet--offline`}\n strokeWidth='2'\n />\n </svg>\n);\n\nexport default Offline;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Online = ({ size, className, ...props }: StatusBulletProps) => (\n <svg\n {...props}\n width='24'\n height='24'\n viewBox='0 0 24 24'\n aria-hidden='true'\n className={`rcx-status-bullet rcx-status-bullet--online ${className} ${\n size === 'small' ? 'rcx-status-bullet--small' : ''\n }`}\n xmlns='http://www.w3.org/2000/svg'\n >\n <path d='M24 12.0001C24 18.6275 18.6274 24.0001 12 24.0001C5.37255 24.0001 -3.05176e-05 18.6275 -3.05176e-05 12.0001C-3.05176e-05 5.37271 5.37255 0.00012207 12 0.00012207C18.6274 0.00012207 24 5.37271 24 12.0001Z' />\n </svg>\n);\n\nexport default Online;\n","import type { AllHTMLAttributes } from 'react';\n\nimport Away from './icons/Away';\nimport Busy from './icons/Busy';\nimport Disabled from './icons/Disabled';\nimport Loading from './icons/Loading';\nimport Offline from './icons/Offline';\nimport Online from './icons/Online';\n\nexport type StatusBulletProps = {\n status?: 'loading' | 'online' | 'busy' | 'away' | 'offline' | 'disabled';\n size?: 'small' | 'large';\n} & Omit<AllHTMLAttributes<SVGElement>, 'size'>;\n\n/**\n * The `StatusBullet` is used to inform the user status.\n */\nconst StatusBullet = ({ status = 'loading', ...props }: StatusBulletProps) => {\n switch (status) {\n case 'online':\n return <Online {...props} />;\n case 'away':\n return <Away {...props} />;\n case 'busy':\n return <Busy {...props} />;\n case 'disabled':\n return <Disabled {...props} />;\n case 'offline':\n return <Offline {...props} />;\n default:\n return <Loading {...props} />;\n }\n};\n\nexport default StatusBullet;\n","import type { StatusBulletProps } from '../../StatusBullet';\nimport { StatusBullet } from '../../StatusBullet';\n\nexport const SidebarItemStatusBullet = (props: StatusBulletProps) => (\n <div className='rcx-box rcx-box--full rcx-sidebar-item__status-bullet'>\n <StatusBullet {...props} />\n </div>\n);\n","import type { AriaAttributes, HTMLAttributes, ReactNode } from 'react';\n\nimport { Chevron } from '../Chevron';\n\nexport type SidebarGroupTitleProps = {\n expanded?: boolean;\n empty?: boolean;\n title?: string;\n titleId?: string;\n badge?: ReactNode;\n menu?: ReactNode;\n barProps?: AriaAttributes;\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const SidebarGroupTitle = ({\n title,\n titleId,\n badge,\n menu,\n barProps,\n expanded,\n empty,\n role,\n ...props\n}: SidebarGroupTitleProps) => (\n <div\n className={[\n 'rcx-box rcx-box--full',\n 'rcx-sidebar-collapse-group__bar',\n !expanded && empty && 'rcx-sidebar-collapse-group__bar--empty',\n !expanded && badge && 'rcx-sidebar-collapse-group__bar--unread',\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <div\n className='rcx-box rcx-sidebar-collapse-group__bar-button'\n role={role}\n {...barProps}\n >\n <div className='rcx-box rcx-sidebar-collapse-group__heading'>\n {title && (\n <h4\n className='rcx-box rcx-box--full rcx-sidebar-collapse-group__title'\n id={titleId}\n >\n {title}\n </h4>\n )}\n {expanded !== undefined && <Chevron size='x20' right={!expanded} />}\n </div>\n {!expanded && badge && badge}\n </div>\n {menu}\n </div>\n);\n","import type { HTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport { SidebarGroupTitle } from './SidebarGroupTitle';\nimport { useCollapse } from './hooks/useCollapse';\n\ntype SidebarCollapseGroupProps = HTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement> & {\n expanded?: boolean;\n defaultExpanded?: boolean;\n tabIndex?: number;\n title: string;\n empty?: boolean;\n badge?: ReactNode;\n menu?: ReactNode;\n actions?: ReactNode;\n };\n\nexport function SidebarCollapseGroup({\n ref,\n expanded: propExpanded,\n defaultExpanded,\n tabIndex,\n children,\n badge,\n menu,\n title,\n empty,\n role = 'group',\n ...props\n}: SidebarCollapseGroupProps) {\n const { barProps, expanded, panelExpanded, panelId, titleId } = useCollapse({\n expanded: propExpanded,\n defaultExpanded,\n tabIndex,\n });\n\n const labelledBy = props['aria-label'] ? undefined : titleId;\n\n return (\n <div\n className='rcx-box rcx-box--full rcx-sidebar-collapse-group'\n role={role}\n aria-labelledby={labelledBy}\n {...props}\n >\n <SidebarGroupTitle\n expanded={expanded}\n empty={empty}\n title={title}\n titleId={titleId}\n badge={badge}\n menu={menu}\n barProps={barProps}\n role='button'\n />\n <div\n role='list'\n ref={ref}\n className={[\n 'rcx-box rcx-box--full rcx-sidebar-collapse-group__panel rcx-box--animated',\n panelExpanded && 'rcx-sidebar-collapse-group__panel--expanded',\n ]\n .filter(Boolean)\n .join(' ')}\n id={panelId}\n >\n {children}\n </div>\n </div>\n );\n}\n","import type { HTMLAttributes } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\n\nexport const SidebarCollapseGroupMenu = ({\n children,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className='rcx-box rcx-box--full rcx-sidebar-collapse-group__menu-wrapper rcx-box--animated'\n {...props}\n >\n {patchChildren(\n <span className='rcx-box rcx-box--full rcx-sidebar-collapse-group__menu'>\n {children}\n </span>,\n (childProps: { className: string | string[] }) => ({\n className: appendClassName(\n childProps.className,\n 'rcx-sidebar-collapse-group__menu',\n ),\n }),\n )}\n </div>\n);\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nimport { IconButton } from '../Button';\n\nexport type SidebarBannerVariant =\n | 'default'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nexport type SidebarBannerProps = {\n title?: ReactNode;\n linkText?: string;\n linkProps?: AllHTMLAttributes<HTMLAnchorElement>;\n onClick?: () => void;\n variant?: SidebarBannerVariant;\n onClose?: () => void;\n children?: ReactNode;\n addon?: ReactNode;\n};\n\nexport const SidebarBanner = ({\n title,\n linkText,\n linkProps,\n variant = 'default',\n addon,\n onClose,\n children,\n ...props\n}: SidebarBannerProps) => (\n <div\n className={`rcx-box rcx-box--full rcx-sidebar-banner rcx-sidebar-banner--${variant}`}\n {...props}\n >\n <div className='rcx-box rcx-box--full rcx-sidebar-banner__content'>\n {title && (\n <h5 className='rcx-box rcx-box--full rcx-sidebar-banner__title'>\n {title}\n </h5>\n )}\n {linkText && (\n <a\n className='rcx-box rcx-box--full rcx-sidebar-banner__link'\n {...linkProps}\n >\n {linkText}\n </a>\n )}\n {children}\n </div>\n <div className='rcx-box rcx-box--full rcx-sidebar-banner__addon'>\n {addon}\n {onClose && <IconButton onClick={onClose} tiny icon='cross' />}\n </div>\n </div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarFooter = ({\n children,\n ...props\n}: HTMLAttributes<HTMLElement>) => (\n <footer className='rcx-sidebar-footer' {...props}>\n {children}\n </footer>\n);\n","import { Box, type BoxProps } from '../../Box';\n\nexport const SidebarFooterContent = ({ children, ...props }: BoxProps) => (\n <Box className='rcx-sidebar-footer__content' {...props}>\n {children}\n </Box>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarMedia = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className={['rcx-sidebar-media', className].filter(Boolean).join(' ')}\n {...props}\n />\n);\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport const SidebarButtonGroup = ({\n align = 'end',\n small = true,\n ...props\n}: ButtonGroupProps) => <ButtonGroup align={align} small={small} {...props} />;\n","import type { HTMLAttributes } from 'react';\n\nimport { SidebarButtonGroup } from '../SidebarButtonGroup';\n\nexport const SidebarMediaController = ({\n className,\n label,\n children,\n ...props\n}: { label?: string } & HTMLAttributes<HTMLDivElement>) => (\n <div\n className={['rcx-sidebar-media__controller', className]\n .filter(Boolean)\n .join(' ')}\n >\n <div className='rcx-sidebar-media__controller__label'>{label}</div>\n <SidebarButtonGroup small align='end' {...props}>\n {children}\n </SidebarButtonGroup>\n </div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarMediaTitle = ({\n className,\n ...props\n}: HTMLAttributes<HTMLDivElement>) => (\n <div\n className={['rcx-sidebar-media__title', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n","import { Divider } from '../Divider';\n\nexport const SidebarDivider = () => (\n <Divider rcx-sidebar--divider marginBlockStart={-2} marginBlockEnd={0} />\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { SidebarDivider } from './SidebarDivider';\n\nexport const SidebarSection = (props: HTMLAttributes<HTMLDivElement>) => (\n <div>\n <div className='rcx-box rcx-box--full rcx-sidebar-section' {...props} />\n <SidebarDivider />\n </div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelProps = HTMLAttributes<HTMLDivElement>;\n\nconst Sidepanel = ({ className, ...props }: SidepanelProps) => (\n <div\n className={['rcx-sidepanel', className].filter(Boolean).join(' ')}\n {...props}\n />\n);\n\nexport default Sidepanel;\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelSectionProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelSection = ({ className, ...props }: SidepanelSectionProps) => (\n <div\n className={['rcx-sidepanel-section', className].filter(Boolean).join(' ')}\n {...props}\n />\n);\n\nexport default SidepanelSection;\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelSectionActionProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelSectionAction = ({\n className,\n ...props\n}: SidepanelSectionActionProps) => (\n <div\n className={['rcx-sidepanel-section__action', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n\nexport default SidepanelSectionAction;\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelHeaderTitleProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelHeaderTitle = ({\n className,\n ...props\n}: SidepanelHeaderTitleProps) => (\n <div\n className={['rcx-sidepanel-header__title', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n);\n\nexport default SidepanelHeaderTitle;\n","import { Divider } from '../Divider';\n\nconst SidepanelDivider = () => (\n <Divider rcx-sidepanel--divider marginBlockStart={-2} marginBlockEnd={0} />\n);\n\nexport default SidepanelDivider;\n","import type { HTMLAttributes } from 'react';\n\nimport SidepanelDivider from './SidepanelDivider';\n\nexport type SidepanelHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelHeader = ({ className, ...props }: SidepanelHeaderProps) => (\n <div className='rcx-sidepanel-header-wrapper'>\n <div\n className={['rcx-sidepanel-header', className].filter(Boolean).join(' ')}\n {...props}\n />\n <SidepanelDivider />\n </div>\n);\n\nexport default SidepanelHeader;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type SidepanelListProps = HTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement>;\n\nfunction SidepanelList({ className, ...props }: SidepanelListProps) {\n return (\n <div\n role='list'\n className={['rcx-sidepanel-list', className].filter(Boolean).join(' ')}\n {...props}\n />\n );\n}\n\nexport default SidepanelList;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type SidepanelListItemProps = HTMLAttributes<HTMLDivElement> &\n RefAttributes<HTMLDivElement>;\n\nfunction SidepanelListItem({ className, ...props }: SidepanelListItemProps) {\n return (\n <div\n role='listitem'\n className={['rcx-sidepanel-list__item', className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n );\n}\n\nexport default SidepanelListItem;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type SplitButtonProps = RefAttributes<HTMLDivElement> &\n HTMLAttributes<HTMLDivElement> & {\n danger?: boolean;\n warning?: boolean;\n success?: boolean;\n primary?: boolean;\n } & ({ 'aria-label': string } | { 'aria-labelledby': string });\n\n/**\n * Fuses a menu trigger and its primary action into a single control, e.g. an\n * audio device menu next to a microphone toggle. The menu trigger is a\n * `SplitButtonTrigger`, rendered as a ghost segment wherever it sits.\n */\nfunction SplitButton({\n className,\n danger,\n warning,\n success,\n primary,\n ...props\n}: SplitButtonProps) {\n return (\n <div\n role='group'\n className={[\n 'rcx-split-button',\n danger && 'rcx-split-button--danger',\n warning && 'rcx-split-button--warning',\n success && 'rcx-split-button--success',\n primary && 'rcx-split-button--primary',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n );\n}\n\nexport default SplitButton;\n","import { IconButton, type IconButtonProps } from '../Button';\n\nexport type SplitButtonTriggerProps = IconButtonProps;\n\n/**\n * The ghost segment of a `SplitButton`: the menu trigger fused next to the\n * primary action. Pass it as a `Menu`'s `button`.\n */\nfunction SplitButtonTrigger(props: SplitButtonTriggerProps) {\n return <IconButton rcx-split-button__trigger {...props} />;\n}\n\nexport default SplitButtonTrigger;\n","import { Box, type BoxProps } from '../Box';\n\nexport type TableProps = BoxProps & {\n striped?: boolean;\n sticky?: boolean;\n fixed?: boolean;\n};\n\nconst Table = ({ striped, sticky, fixed = false, ...props }: TableProps) => (\n <Box rcx-table__wrapper>\n <Box\n is='table'\n rcx-table\n rcx-table--fixed={fixed}\n rcx-table--sticky={sticky}\n rcx-table--striped={striped}\n {...props}\n />\n </Box>\n);\n\nexport default Table;\n","import { Box } from '../Box';\n\nimport type { TableProps } from './Table';\n\nexport type TableBodyProps = TableProps;\n\nconst TableBody = (props: TableBodyProps) => (\n <Box is='tbody' rcx-table__body {...props} />\n);\n\nexport default TableBody;\n","import { createContext } from 'react';\n\nimport { Box } from '../Box';\n\nimport type { TableProps } from './Table';\n\nexport const TableHeadContext = createContext(false);\n\nexport type TableHeadProps = TableProps;\n\nconst TableHead = (props: TableHeadProps) => (\n <TableHeadContext.Provider value={true}>\n <Box is='thead' rcx-table__head {...props} />\n </TableHeadContext.Provider>\n);\n\nexport default TableHead;\n","import { useContext } from 'react';\n\nimport { Box } from '../Box';\n\nimport type { TableProps } from './Table';\nimport { TableHeadContext } from './TableHead';\n\nexport type TableCellProps = TableProps & {\n align?: 'start' | 'center' | 'end' | 'justify' | object;\n clickable?: boolean;\n};\n\nconst TableCell = ({\n align,\n clickable,\n children,\n ...props\n}: TableCellProps) => {\n const isInsideHead = useContext(TableHeadContext);\n\n const innerElement =\n children ??\n (!isInsideHead ? (\n <Box display='inline-block' is='hr' width='x14' borderWidth='default' />\n ) : undefined);\n\n return (\n <Box\n is={isInsideHead ? 'th' : 'td'}\n rcx-table__cell\n rcx-table__cell--align={align}\n rcx-table__cell--header={isInsideHead}\n rcx-table__cell--clickable={clickable}\n {...props}\n >\n {innerElement}\n </Box>\n );\n};\n\nexport default TableCell;\n","import { Box } from '../Box';\n\nimport type { TableProps } from './Table';\n\nexport type TableFootProps = TableProps;\n\nconst TableFoot = (props: TableFootProps) => (\n <Box is='tfoot' rcx-table__foot {...props} />\n);\n\nexport default TableFoot;\n","import { Box, type BoxProps } from '../Box';\n\nexport type TableRowProps = Omit<BoxProps, 'action'> & {\n action?: boolean;\n hasAction?: boolean;\n};\n\nconst TableRow = ({ action, selected, ...props }: TableRowProps) => (\n <Box\n is='tr'\n rcx-table__row\n rcx-table__row--selected={selected}\n rcx-table__row--action={action}\n {...props}\n />\n);\n\nexport default TableRow;\n","import { Box, type BoxProps } from '../../Box';\n\nexport type TableSelectionProps = BoxProps & {\n text?: string;\n};\n\nconst TableSelection = ({ children, text, ...props }: TableSelectionProps) => (\n <Box\n rcx-table__selection\n display='flex'\n alignItems='center'\n justifyContent='space-between'\n paddingInline={24}\n elevation='2'\n {...props}\n >\n <Box fontScale='p2b' marginBlock={16} flexShrink={1} withTruncatedText>\n {text}\n </Box>\n {children && (\n <Box marginInline='neg-x8' fontScale='p2m' flexShrink={0}>\n {children}\n </Box>\n )}\n </Box>\n);\n\nexport default TableSelection;\n","import { Button, type ButtonProps } from '../../Button';\n\nexport type TableSelectionButtonProps = ButtonProps;\n\nconst TableSelectionButton = (props: TableSelectionButtonProps) => (\n <Button small flexShrink={0} {...props} />\n);\n\nexport default TableSelectionButton;\n","import type { ButtonGroupProps } from '../../ButtonGroup';\nimport { ButtonGroup } from '../../ButtonGroup';\n\nexport type TableSelectionButtonGroupProps = ButtonGroupProps;\n\nconst TableSelectionButtonGroup = (props: TableSelectionButtonGroupProps) => (\n <ButtonGroup {...props} />\n);\n\nexport default TableSelectionButtonGroup;\n","import { Box, type BoxProps } from '../Box';\n\nexport type TabsProps = BoxProps & { divider?: boolean };\n\n/**\n * Tabs is a component to navigate around the UI using buttons arranged together with the selected tab highlighted.\n */\nfunction Tabs({ children, divider = true, ...props }: TabsProps) {\n return (\n <Box is='div' rcx-tabs rcx-tabs--with-divider={divider} {...props}>\n <Box is='div' rcx-tabs__scroll-box>\n <Box is='div' rcx-tabs__wrapper role='tablist'>\n {children}\n </Box>\n </Box>\n </Box>\n );\n}\n\nexport default Tabs;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type TabsItemProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLButtonElement> & {\n selected?: boolean;\n disabled?: boolean;\n };\n\nfunction TabsItem({ selected, disabled, ...props }: TabsItemProps) {\n return (\n <Box\n is='button'\n rcx-tabs__item\n rcx-tabs__item--selected={selected}\n rcx-tabs__item--disabled={disabled}\n rcx-tabs__item--selected--disabled={selected && disabled}\n aria-selected={selected ? 'true' : 'false'}\n role='tab'\n {...props}\n />\n );\n}\n\nexport default TabsItem;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type TextAreaInputProps = Omit<\n InputBoxProps<HTMLTextAreaElement>,\n 'type'\n>;\n\n/**\n * An input for multi-line plain-text editing.\n */\nfunction TextAreaInput(props: TextAreaInputProps) {\n return <InputBox type='textarea' {...props} />;\n}\n\nexport default TextAreaInput;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type TextInputProps = Omit<InputBoxProps, 'type'>;\n\n/**\n * An input for any kind of single-line text.\n */\nfunction TextInput(props: TextInputProps) {\n return <InputBox type='text' {...props} />;\n}\n\nexport default TextInput;\n","import { css } from '@rocket.chat/css-in-js';\nimport type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\ntype CircleProps = {\n circleCount: number;\n iteration: number;\n inheritColor?: boolean;\n disabled?: boolean;\n} & Pick<BoxProps, 'size'>;\n\nfunction Circle({\n disabled,\n circleCount,\n iteration,\n inheritColor,\n ...props\n}: CircleProps) {\n return (\n <Box\n is='span'\n className={css`\n animation-duration: ${circleCount * 0.466}s;\n animation-delay: ${iteration * 0.16}s;\n `}\n rcx-throbber__circle\n rcx-throbber__circle--disabled={disabled}\n rcx-throbber__circle--inherit-color={inheritColor}\n {...props}\n />\n );\n}\n\nexport type ThrobberProps = Omit<BoxProps, 'ref' | 'disabled'> &\n RefAttributes<HTMLElement> & {\n circleCount?: number;\n disabled?: boolean;\n inheritColor?: boolean;\n };\n\n/**\n * Indicates content that has not loaded yet.\n */\nfunction Throbber({\n disabled,\n size = 'x16',\n circleCount = 3,\n inheritColor,\n ...props\n}: ThrobberProps) {\n return (\n <Box rcx-throbber {...props}>\n {Array.from({ length: circleCount || 3 }, (_, iteration) => (\n <Circle\n key={iteration}\n circleCount={circleCount}\n iteration={iteration}\n disabled={!!disabled}\n size={size}\n inheritColor={!!inheritColor}\n />\n ))}\n </Box>\n );\n}\n\nexport default Throbber;\n","import { css, keyframes } from '@rocket.chat/css-in-js';\nimport { type ReactNode, type AllHTMLAttributes, useId } from 'react';\n\nimport { Box } from '../Box';\nimport { IconButton } from '../Button';\nimport { Icon } from '../Icon';\n\nexport type ToastBarProps = {\n variant?: 'info' | 'success' | 'error';\n className?: string;\n children?: ReactNode;\n time?: number;\n isPaused?: boolean;\n id?: string;\n onClose?: (id: string) => void;\n buttonLabel?: string;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\n/**\n * Shows alerts in a toast component.\n */\nfunction ToastBar({\n children,\n className = '',\n variant = 'info',\n time = 5,\n isPaused,\n id,\n onClose,\n buttonLabel = 'Dismiss alert',\n ...props\n}: ToastBarProps) {\n const iconName =\n (variant === 'success' && 'circle-check') ||\n (variant === 'error' && 'ban') ||\n 'info';\n\n const sideOpen = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n `;\n\n const progressBar = keyframes`\n from {\n width: 0%;\n }\n\n to {\n width: 100%;\n }\n `;\n\n const toastBarAnimation = css`\n animation: ${sideOpen} 0.5s;\n `;\n\n const progressBarAnimation = css`\n &::after {\n width: 0%;\n animation: ${progressBar} ${time}s;\n animation-fill-mode: forwards;\n animation-play-state: ${isPaused ? 'paused' : 'running'};\n }\n `;\n\n const uniqueId = useId();\n const toastId = id || uniqueId;\n\n const role = variant === 'error' ? 'alert' : 'status';\n\n return (\n <Box\n className={[\n `rcx-toastbar rcx-toastbar--${variant} ${className}`,\n toastBarAnimation,\n ]}\n elevation='2nb'\n borderRadius='medium'\n {...props}\n >\n <div className='rcx-toastbar_inner'>\n <Icon\n className={`rcx-toastbar_icon--${variant}`}\n size='x20'\n name={iconName}\n />\n <div role={role} className='rcx-toastbar_content'>\n {children}\n </div>\n {onClose && (\n <div className='rcx-toastbar-close'>\n <IconButton\n tiny\n aria-label={buttonLabel}\n onClick={() => onClose(toastId)}\n icon='cross'\n />\n </div>\n )}\n </div>\n <Box className={[progressBarAnimation, 'rcx-toastbar_progressbar']} />\n </Box>\n );\n}\n\nexport default ToastBar;\n","import type { AllHTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type ToggleSwitchProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLInputElement> &\n AllHTMLAttributes<HTMLInputElement> & {\n labelChildren?: ReactNode;\n };\n\nfunction ToggleSwitch({\n className,\n labelChildren,\n ...props\n}: ToggleSwitchProps) {\n return (\n <Box is='label' className={className} rcx-toggle-switch>\n {labelChildren}\n\n <Box is='input' rcx-toggle-switch__input type='checkbox' {...props} />\n <Box is='i' rcx-toggle-switch__fake aria-hidden='true' />\n </Box>\n );\n}\n\nexport default ToggleSwitch;\n","import type { RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nconst parsePlacement = (placement: string | null | undefined) => {\n const [direction, position] = placement\n ? placement.split('-')\n : [undefined, undefined];\n\n if (direction === 'right' || direction === 'left') {\n return [direction, undefined];\n }\n\n return [direction, position];\n};\n\nexport type TooltipProps = Omit<BoxProps, 'ref'> &\n RefAttributes<HTMLElement> & {\n variation?: 'dark' | 'light';\n placement?:\n | 'top-start'\n | 'top-middle'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-middle'\n | 'bottom-end'\n | 'top'\n | 'left'\n | 'bottom'\n | 'right'\n | null;\n };\n\nfunction Tooltip({ variation = 'dark', placement, ...props }: TooltipProps) {\n const [direction, position] = parsePlacement(placement);\n\n return (\n <Box\n is='div'\n rcx-tooltip\n rcx-tooltip--dir={direction}\n rcx-tooltip--pos={position}\n rcx-tooltip--light={variation === 'light'}\n rcx-tooltip--dark={variation === 'dark'}\n {...props}\n />\n );\n}\n\nexport default Tooltip;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type UrlInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\nfunction UrlInput(props: UrlInputProps) {\n return <InputBox type='url' {...props} />;\n}\n\nexport default UrlInput;\n"],"mappings":"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AChB;IACF;GACF;GACA;IACE,aAAa;IACb,MAAM;KACJ;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;IACF;GACF;GACA;IACE,aAAa;IACb,MAAM;KACJ;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;IACF;GACF;GACA;IACE,aAAa;IACb,MAAM;KACJ;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;IACF;GACF;GACA;IACE,aAAa;IACb,MAAM;KACJ;MAAE,MAAM;MAA0B,OAAO,OAAO;KAAc;KAC9D;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MAAE,MAAM;MAAyB,OAAO,OAAO;KAAa;KAC5D;MACE,MAAM;MACN,OAAO,OAAO;KAChB;KACA;MAAE,MAAM;MAA0B,OAAO,OAAO;KAAc;KAC9D;MACE,MAAM;MACN,OAAO,OAAO;KAChB;IACF;GACF;EAIG,CAAA,CAAQ,QACR,KAAK,WAAW;GACf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"}
1
+ {"version":3,"file":"fuselage.development.js","names":["createContext","useContext","useMemo","colors","surface","stroke","font","status","badge","shadow","tokenColors","mapTypeToPrefix","tokenSpacing","memoize","tokenBorder","tokenTypography","createContext","useContext","useMemo","createClassName","escapeName","transpile","attachRules","createElement","memo","cloneElement","Box","nameToCharacterMapping","useMemo","Box","useToggle","useId","useState","useCallback","createContext","useContext","Box","_Fragment","useRef","useSliderThumb","useFocusRing","VisuallyHidden","mergeProps","light","useMemo","useRef","useNumberFormatter","useSliderState","useSlider","useMemo","Box","useRef","useMergedRefs","useState","useResizeObserver","Box","flattenChildren","flattenChildren","isElement","cloneElement","useCallback","Box","Box","Box","Box","useRef","useMergedRefs","useCallback","Box","createContext","useContext","useState","useCallback","useMemo","createContext","useContext","useMemo","useId","useId","useId","useRef","useMergedRefs","useCallback","Box","memo","Option","memo","Box","Option","Box","useRef","useStableCallback","useCallback","Option","memo","OptionsEmpty","Option","useRef","useMemo","Box","Box","useDebouncedState","useStableCallback","useState","useStableCallback","useRef","usePosition","useMemo","useState","createPortal","cloneElement","useRef","useMergedRefs","useResizeObserver","useState","useStableCallback","useMemo","Box","Chip","useMemo","Box","useMemo","Box","isValidElement","useRef","useBorderBoxSize","useMemo","useCallback","useButtonPattern","cx","useResizeObserver","Box","useBreakpoints","Box","Box","Box","Box","Box","Box","Box","Children","isValidElement","Box","Box","Box","memo","memo","memo","memo","Box","memo","Box","ContextualbarContent","Box","memo","Box","memo","Box","memo","memo","Box","memo","Contextualbar","ContextualbarHeader","Box","memo","Box","memo","Box","usePosition","Box","useMediaQuery","createContext","Box","useContext","Box","Box","Box","Box","Box","Box","useCallback","useCallback","Box","Option","memo","MenuItem","useRef","useFocusVisible","useMenuItem","mergeProps","useRef","usePopover","Overlay","DismissButton","createContext","useContext","useBreakpoints","useRef","Box","useRef","useSubmenuTriggerState","useSubmenuTrigger","useFocusVisible","useMenuItem","_Fragment","mergeProps","MenuSection","useMenuSection","useSeparator","_Fragment","MenuItem","useTreeState","useRef","useMenu","MenuSection","MenuItem","useMenuTriggerState","useRef","useMenuTrigger","useButton","_Fragment","cloneElement","createPortal","Children","isValidElement","Box","_Fragment","_Fragment","Box","Box","createElement","Box","Box","Box","Box","Box","Box","Box","Box","Box","Box","Box","Box","memo","Chip","Box","useState","useRef","useMergedRefs","useResizeObserver","useStableCallback","Box","CheckOption","createContext","use","useState","_Fragment","flattenChildren","isElement","Fragment","memo","Option","Box","Virtuoso","Box","Option","useState","useStableCallback","useRef","useResizeObserver","Box","useMemo","useMemo","Option","useState","useRef","useResizeObserver","useStableCallback","Box","Chip","useStableCallback","useId","useMemo","useMemo","badge","button","font","shadow","status","statusBullet","stroke","surface","_Fragment","createPortal","memo","useToggle","Box","Box","useRef","useStableCallback","useState","useMemo","useMergedRefs","useResizeObserver","Box","useRef","useStableCallback","useId","useCallback","useState","useOverlayTriggerState","useActiveDescendant","useRef","useResizeObserver","useMergedRefs","useStableCallback","_Fragment","Box","ListboxOption","createContext","use","useState","useToggle","useId","isValidElement","Box","Box","Box","Box","createContext","Box","useContext","Box","Box","Box","Box","Box","Box","createElement","Box","Box","useId","Box","Box","Box"],"sources":["../src/helpers/exhaustiveCheck.ts","../src/helpers/composeClassNames.ts","../src/components/Box/BoxTransforms.ts","../src/helpers/toCSSValue.ts","../src/Theme.ts","../src/helpers/fromCamelToKebab.ts","../src/getPaletteColor.ts","../src/styleTokens.ts","../src/components/Box/stylingProps.ts","../src/helpers/appendClassName.ts","../src/contexts/OwnerDocument.ts","../src/hooks/useStyle.ts","../src/components/Box/useStylingProps.ts","../src/hooks/useArrayLikeClassNameProp.ts","../src/helpers/prependClassName.ts","../src/hooks/useBoxOnlyProps.ts","../src/components/Box/Box.tsx","../src/components/Box/StylingBox.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Icon/Icon.tsx","../src/components/Chevron/Chevron.tsx","../src/components/Accordion/AccordionItem.tsx","../src/components/AnimatedVisibility/AnimatedVisibility.tsx","../src/components/Label/Label.tsx","../src/components/Slider/SliderHead.tsx","../src/components/Slider/SliderThumb.tsx","../src/components/Slider/SliderTrack.tsx","../src/components/Slider/Slider.tsx","../src/components/AudioPlayer/AudioPlayerControls.tsx","../src/components/AudioPlayer/AudioPlayer.tsx","../src/components/Avatar/AvatarContainer.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Avatar/AvatarStack.tsx","../src/components/Box/withBoxStyling.tsx","../src/helpers/shallowEqual.ts","../src/helpers/patchChildren.ts","../src/components/Margins/Margins.tsx","../src/components/Chip/Chip.tsx","../src/components/InputBox/Input.tsx","../src/components/InputBox/InputBoxAddon.tsx","../src/components/InputBox/InputBoxWrapper.tsx","../src/components/InputBox/InputBox.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/InputBox/InputBoxSkeleton.tsx","../src/helpers/prevent.ts","../src/components/Item/ItemContext.ts","../src/components/Item/useIdRegistry.ts","../src/components/Item/Item.tsx","../src/components/Item/ItemActions.tsx","../src/components/Item/ItemContent.tsx","../src/components/Item/ItemDescription.tsx","../src/components/Item/ItemDivider.tsx","../src/components/Item/ItemGroupContext.ts","../src/components/Item/ItemGroup.tsx","../src/components/Item/ItemGroupHeader.tsx","../src/components/Item/ItemGroupTitle.tsx","../src/components/Item/ItemIcon.tsx","../src/components/Item/ItemLink.tsx","../src/components/Item/ItemMedia.tsx","../src/components/Item/ItemMeta.tsx","../src/components/Item/ItemRow.tsx","../src/components/Item/ItemTitle.tsx","../src/components/Item/ItemSkeleton.tsx","../src/components/CheckBox/CheckBox.tsx","../src/components/Option/Option.tsx","../src/components/Option/CheckOption.tsx","../src/components/Option/OptionAvatar.tsx","../src/components/Option/OptionColumn.tsx","../src/components/Option/OptionContent.tsx","../src/components/Option/OptionDescription.tsx","../src/components/Option/OptionDescriptionBlock.tsx","../src/components/Divider/Divider.tsx","../src/components/Option/OptionDivider.tsx","../src/components/Option/OptionIcon.tsx","../src/components/Option/OptionInput.tsx","../src/components/Option/OptionMenu.tsx","../src/components/Option/OptionSkeleton.tsx","../src/components/Option/OptionTitle.tsx","../src/components/Option/OptionHeader.tsx","../src/components/PopoverSurface/PopoverSurface.tsx","../src/components/Scrollable/Scrollable.tsx","../src/components/Options/OptionsEmpty.tsx","../src/components/Options/Options.tsx","../src/components/Options/OptionContainer.tsx","../src/components/Options/useVisible.ts","../src/components/Options/useCursor.ts","../src/components/PositionAnimated/Position.tsx","../src/components/PositionAnimated/PositionAnimated.tsx","../src/components/AutoComplete/AutoComplete.tsx","../src/components/Badge/Badge.tsx","../src/components/Button/Button.tsx","../src/components/Button/IconButton.tsx","../src/components/Banner/Banner.tsx","../src/components/Bubble/BubbleButton.tsx","../src/components/Bubble/BubbleItem.tsx","../src/components/Bubble/Bubble.tsx","../src/components/ButtonGroup/ButtonGroup.tsx","../src/components/Callout/Callout.tsx","../src/components/Card/Card.tsx","../src/components/Card/CardBody.tsx","../src/components/Card/CardCol.tsx","../src/components/Card/CardRow.tsx","../src/components/Label/LabelInfo.tsx","../src/components/Card/CardTitle.tsx","../src/components/Card/CardControls.tsx","../src/components/Card/CardHeader.tsx","../src/components/Grid/GridItem.tsx","../src/components/Grid/Grid.tsx","../src/components/CardGrid/CardGridItem.tsx","../src/components/CardGrid/CardGrid.tsx","../src/components/CardGroup/CardGroup.tsx","../src/components/CodeSnippet/CodeSnippet.tsx","../src/components/Contextualbar/Contextualbar.tsx","../src/components/Contextualbar/ContextualbarAction.tsx","../src/components/Contextualbar/ContextualbarActions.tsx","../src/components/Contextualbar/ContextualbarButton.tsx","../src/components/Contextualbar/ContextualbarContent.tsx","../src/components/States/States.tsx","../src/components/States/StatesIcon.tsx","../src/components/States/StatesAction.tsx","../src/components/States/StatesActions.tsx","../src/components/States/StatesLink.tsx","../src/components/States/StatesSubtitle.tsx","../src/components/States/StatesSuggestion.tsx","../src/components/States/StatesSuggestionList.tsx","../src/components/States/StatesSuggestionListItem.tsx","../src/components/States/StatesSuggestionText.tsx","../src/components/States/StatesTitle.tsx","../src/components/Contextualbar/ContextualbarEmptyContent.tsx","../src/components/Contextualbar/ContextualbarFooter.tsx","../src/components/Contextualbar/ContextualbarHeader.tsx","../src/components/Contextualbar/ContextualbarIcon.tsx","../src/components/Contextualbar/ContextualbarSection.tsx","../src/components/Contextualbar/ContextualbarSkeleton.tsx","../src/components/Contextualbar/ContextualbarTitle.tsx","../src/components/Dropdown/DropdownDesktop.tsx","../src/components/Dropdown/DropdownDesktopWrapper.tsx","../src/components/Dropdown/DropdownMobile.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/EmailInput/EmailInput.tsx","../src/components/Field/Field.tsx","../src/helpers/WithErrorWrapper.tsx","../src/components/Field/FieldDescription.tsx","../src/components/Field/FieldError.tsx","../src/components/Field/FieldHint.tsx","../src/components/Field/FieldLabel.tsx","../src/components/Field/FieldLabelInfo.tsx","../src/components/Field/FieldLink.tsx","../src/components/Field/FieldRow.tsx","../src/components/FieldGroup/FieldGroup.tsx","../src/components/Flex/FlexContainer.tsx","../src/components/Flex/FlexItem.tsx","../src/components/FramedIcon/FramedIcon.tsx","../src/components/Listbox/Listbox.tsx","../src/components/Listbox/ListboxOption.tsx","../src/components/Menu/MenuItem.tsx","../src/components/Popover/Popover.tsx","../src/components/Menu/MenuPortalContext.ts","../src/components/Menu/MenuPopover.tsx","../src/components/Menu/MenuSubmenu.tsx","../src/components/Menu/MenuSection.tsx","../src/components/Menu/MenuDropdown.tsx","../src/components/Menu/helpers/helpers.ts","../src/components/Menu/Menu.tsx","../src/components/Menu/stately/MenuItem.tsx","../src/components/Menu/stately/MenuSubmenuTrigger.tsx","../src/components/Menu/stately/MenuSection.tsx","../src/components/Message/Message.tsx","../src/components/Message/MessageBlock.tsx","../src/components/Message/MessageBody.tsx","../src/components/Message/MessageContainer.tsx","../src/components/Message/MessageContainerFixed.tsx","../src/components/Message/MessageDivider/MessageDivider.tsx","../src/components/Message/MessageEmojiBase.tsx","../src/components/Message/MessageEmoji.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreview.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewContent.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewDescription.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewFooter.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewCoverImage.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewImage.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewThumb.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewTitle.tsx","../src/components/Message/MessageGenericPreview/MessageGenericPreviewIcon.tsx","../src/components/Message/MessageHeader.tsx","../src/components/Message/MessageHighlight.tsx","../src/components/Message/MessageLeftContainer.tsx","../src/components/Message/MessageMetrics/MessageMetricsContentItem.tsx","../src/components/Message/MessageMetrics/MessageMetrics.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItem.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemAvatarRow.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemAvatarRowContent.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemIcon.tsx","../src/components/Message/MessageMetrics/MessageMetricsItem/MessageMetricsItemLabel.tsx","../src/components/Message/MessageMetrics/MessageMetricsFollowing.tsx","../src/components/Message/MessageMetrics/MessageMetricsReply.tsx","../src/components/Message/MessageName.tsx","../src/components/Message/MessageNameContainer.tsx","../src/components/Message/MessageReactions/MessageReactions.tsx","../src/components/Message/MessageReactions/MessageReactionCounter.tsx","../src/components/Message/MessageReactions/MessageReactionEmoji.tsx","../src/components/Message/MessageReactions/MessageReaction.tsx","../src/components/Message/MessageReactions/MessageReactionAction.tsx","../src/components/Tag/Tag.tsx","../src/components/Message/MessageRole.tsx","../src/components/Message/MessageRoles.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusIndicator.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusIndicatorText.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusIndicatorItem.tsx","../src/components/Message/MessageStatusIndicator/MessageStatusPrivateIndicator.tsx","../src/components/Message/MessageSystem/MessageSystem.tsx","../src/components/Message/MessageSystem/MessageSystemBlock.tsx","../src/components/Message/MessageSystem/MessageSystemBody.tsx","../src/components/Message/MessageSystem/MessageSystemContainer.tsx","../src/components/Message/MessageSystem/MessageSystemName.tsx","../src/components/Message/MessageSystem/MessageSystemTimestamp.tsx","../src/components/Message/MessageTimestamp.tsx","../src/components/Message/MessageToolbar/MessageToolbar.tsx","../src/components/Message/MessageToolbar/MessageToolbarItem.tsx","../src/components/Message/MessageToolbar/MessageToolbarWrapper.tsx","../src/components/Message/MessageUsername.tsx","../src/components/Message/ThreadMessage/ThreadMessage.tsx","../src/components/Message/ThreadMessage/ThreadMessageBody.tsx","../src/components/Message/ThreadMessage/ThreadMessageContainer.tsx","../src/components/Message/ThreadMessage/ThreadMessageEmoji.tsx","../src/components/Message/ThreadMessage/ThreadMessageIcon.tsx","../src/components/Message/ThreadMessage/ThreadMessageFollow.tsx","../src/components/Message/ThreadMessage/ThreadMessageIconThread.tsx","../src/components/Message/ThreadMessage/ThreadMessageOrigin.tsx","../src/components/Message/ThreadMessage/ThreadMessageRow.tsx","../src/components/Message/ThreadMessage/ThreadMessageUnfollow.tsx","../src/components/Message/ThreadMessage/ThreadMessageLeftContainer.tsx","../src/components/Modal/Modal.tsx","../src/components/Modal/ModalBackdrop.tsx","../src/components/Modal/ModalClose.tsx","../src/components/Modal/ModalContent.tsx","../src/components/Modal/ModalFooter.tsx","../src/components/Modal/ModalFooterAnnotation.tsx","../src/components/Modal/ModalFooterControllers.tsx","../src/components/Modal/ModalHeader.tsx","../src/components/Modal/ModalHeaderText.tsx","../src/components/Modal/ModalHeroImage.tsx","../src/components/Modal/ModalIcon.tsx","../src/components/Modal/ModalTagline.tsx","../src/components/Modal/ModalThumb.tsx","../src/components/Modal/ModalTitle.tsx","../src/components/MultiSelect/MultiSelectAnchor.tsx","../src/components/MultiSelect/SelectedOptions.tsx","../src/components/Select/SelectAddon.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/MultiSelect/MultiSelectFilteredContext.ts","../src/components/MultiSelect/MultiSelectFilteredAnchor.tsx","../src/components/MultiSelect/MultiSelectFiltered.tsx","../src/components/NavBar/NavBar.tsx","../src/components/NavBar/NavBarGroup.tsx","../src/components/NavBar/NavBarItem.tsx","../src/components/NavBar/NavBarDivider.tsx","../src/components/NavBar/NavBarSection.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/OptionsPaginated/OptionsPaginated.tsx","../src/components/Select/SelectFocus.tsx","../src/components/PaginatedSelect/PaginatedSelect.tsx","../src/components/PaginatedSelect/PaginatedSelectFiltered.tsx","../src/components/PaginatedSelect/PaginatedMultiSelect.tsx","../src/components/PaginatedSelect/PaginatedMultiSelectFiltered.tsx","../src/components/Pagination/Pagination.tsx","../src/components/PaletteStyleTag/helpers/convertToCss.ts","../src/components/PaletteStyleTag/hooks/useCreateStyleContainer.ts","../src/components/PaletteStyleTag/helpers/getPalette.ts","../src/components/PaletteStyleTag/lib/themePalettes.ts","../src/components/PaletteStyleTag/PaletteStyleTag.tsx","../src/components/PasswordInput/PasswordInput.tsx","../src/components/ProgressBar/ProgressBar.tsx","../src/components/RadioButton/RadioButton.tsx","../src/components/SearchInput/SearchInput.tsx","../src/components/Select/SelectLegacy.tsx","../src/components/Select/useTypeahead.ts","../src/components/Select/Select.tsx","../src/components/Select/SelectFilteredContext.ts","../src/components/Select/SelectFilteredAnchor.tsx","../src/components/Select/SelectFiltered.tsx","../src/components/Sidebar/Sidebar.tsx","../src/components/Sidebar/SidebarAccordion.tsx","../src/components/Sidebar/hooks/useCollapse.tsx","../src/components/Sidebar/SidebarAccordionItem.tsx","../src/components/Sidebar/SidebarAction.tsx","../src/components/Sidebar/SidebarActions.tsx","../src/components/Sidebar/SidebarLink.tsx","../src/components/Sidebar/SidebarItem/SidebarItem.tsx","../src/components/Sidebar/SidebarItem/SidebarItemAction.tsx","../src/components/Sidebar/SidebarItem/SidebarItemActions.tsx","../src/components/Sidebar/SidebarItem/SidebarItemAvatarWrapper.tsx","../src/components/Sidebar/SidebarItem/SidebarItemBadge.tsx","../src/components/Sidebar/SidebarItem/SidebarItemIcon.tsx","../src/components/Sidebar/SidebarItem/SidebarItemLink.tsx","../src/components/Sidebar/SidebarItem/SidebarItemMenu.tsx","../src/components/Sidebar/SidebarItem/SidebarItemTitle.tsx","../src/components/Sidebar/SidebarItem/SidebarItemRow.tsx","../src/components/Sidebar/SidebarItem/SidebarItemCol.tsx","../src/components/Sidebar/SidebarItem/SidebarItemTimestamp.tsx","../src/components/Sidebar/SidebarItem/SidebarListItem.tsx","../src/components/Sidebar/SidebarItem/SidebarItemContent.tsx","../src/components/StatusBullet/icons/Away.tsx","../src/components/StatusBullet/icons/Busy.tsx","../src/components/StatusBullet/icons/Disabled.tsx","../src/components/StatusBullet/icons/Loading.tsx","../src/components/StatusBullet/icons/Offline.tsx","../src/components/StatusBullet/icons/Online.tsx","../src/components/StatusBullet/StatusBullet.tsx","../src/components/Sidebar/SidebarItem/SidebarItemStatusBullet.tsx","../src/components/Sidebar/SidebarGroupTitle.tsx","../src/components/Sidebar/SidebarCollapseGroup.tsx","../src/components/Sidebar/SidebarCollapseGroupMenu.tsx","../src/components/Sidebar/SidebarBanner.tsx","../src/components/Sidebar/SidebarFooter/SidebarFooter.tsx","../src/components/Sidebar/SidebarFooter/SidebarFooterContent.tsx","../src/components/Sidebar/SidebarMedia/SidebarMedia.tsx","../src/components/Sidebar/SidebarButtonGroup.tsx","../src/components/Sidebar/SidebarMedia/SidebarMediaController.tsx","../src/components/Sidebar/SidebarMedia/SidebarMediaTitle.tsx","../src/components/Sidebar/SidebarDivider.tsx","../src/components/Sidebar/SidebarSection.tsx","../src/components/Sidepanel/Sidepanel.tsx","../src/components/Sidepanel/SidepanelSection.tsx","../src/components/Sidepanel/SidepanelSectionAction.tsx","../src/components/Sidepanel/SidepanelHeaderTitle.tsx","../src/components/Sidepanel/SidepanelHeader.tsx","../src/components/Sidepanel/SidepanelList.tsx","../src/components/Sidepanel/SidepanelListItem.tsx","../src/components/Sidepanel/SidepanelDivider.tsx","../src/components/SplitButton/SplitButton.tsx","../src/components/SplitButton/SplitButtonTrigger.tsx","../src/components/Stack/Stack.tsx","../src/components/Table/Table.tsx","../src/components/Table/TableBody.tsx","../src/components/Table/TableHead.tsx","../src/components/Table/TableCell.tsx","../src/components/Table/TableFoot.tsx","../src/components/Table/TableRow.tsx","../src/components/Table/TableSelection/TableSelection.tsx","../src/components/Table/TableSelection/TableSelectionButton.tsx","../src/components/Table/TableSelection/TableSelectionButtonGroup.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabsItem.tsx","../src/components/Text/Text.tsx","../src/components/TextAreaInput/TextAreaInput.tsx","../src/components/TextInput/TextInput.tsx","../src/components/Throbber/Throbber.tsx","../src/components/Tile/Tile.tsx","../src/components/ToastBar/ToastBar.tsx","../src/components/ToggleSwitch/ToggleSwitch.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/UrlInput/UrlInput.tsx"],"sourcesContent":["/**\n * Utility function to check exhaustiveness of a switch statement or if-else statements.\n *\n * In TypeScript, variables going through a sequence of conditionals, like cases in switch statements or if-else\n * statements, the variable type is incrementally narrowed as the conditionals are evaluated until it reaches the\n * `never` type, meaning all possible cases have been covered. This function is used to check, at compilation time, that\n * all possible cases have been covered (i.e. if the conditional checks were exhaustive) and should only be called in\n * unreachable blocks of code.\n *\n * @example\n * ```ts\n * declare const value: 'foo' | 'bar';\n * switch (value) {\n * case 'foo':\n * // ...\n * break;\n * case 'bar':\n * // ...\n * break;\n * default: // should be unreachable\n * exhaustiveCheck(value); // `value` type should be `never`, otherwise the compilation fails\n * }\n * ```\n *\n * @param _ the value which type should be `never`\n * @throws {Error} will always throw an error if it's reached\n */\nexport const exhaustiveCheck = (_: never): never => {\n\tthrow new Error('Exhaustive check failed');\n};\n","import { exhaustiveCheck } from './exhaustiveCheck';\nimport type { Falsy } from '../types/Falsy';\n\nconst withPrefix = (prefix?: string) => (modifier: string) => (prefix ? `${prefix}--${modifier}` : modifier);\n\nexport const composeClassNames =\n\t(prefix?: string) =>\n\t(...args: unknown[]) => {\n\t\tconst addPrefix = withPrefix(prefix);\n\n\t\tconst classNames = args\n\t\t\t.map((arg) => {\n\t\t\t\tif (typeof arg === 'string') {\n\t\t\t\t\treturn arg;\n\t\t\t\t}\n\n\t\t\t\tif (typeof arg === 'object' && Array.isArray(arg)) {\n\t\t\t\t\treturn arg.filter(Boolean).map(addPrefix).join(' ');\n\t\t\t\t}\n\n\t\t\t\tif (typeof arg === 'object' && arg !== null) {\n\t\t\t\t\treturn Object.entries(arg)\n\t\t\t\t\t\t.map(([key, value]) => {\n\t\t\t\t\t\t\tif (typeof value === 'boolean') {\n\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\treturn addPrefix(key);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof value === 'string' || typeof value === 'number') {\n\t\t\t\t\t\t\t\treturn addPrefix(`${key}-${value}`);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t.join(' ');\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t})\n\t\t\t.concat()\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ');\n\n\t\treturn [prefix, classNames].filter(Boolean).join(' ');\n\t};\n\ntype CxArg = Falsy | string | { [className: string]: boolean | string | number };\n\n/**\n * Composes class names into a single string based on flags.\n *\n * Any falsy value passed as an argument will be ignored.\n *\n * If a string is passed, it will be used as a class name.\n *\n * If a dictionary object is passed, its keys will be used as class names and its values will be used as modifiers --\n * unless the value is a boolean, in which case the key will be used as a class name if the value is `true`.\n *\n * @example\n * ```ts\n * cx('a', false, 'b', null, { c: true, d: false, e: 'f', f: 1 }); // 'a b c e-f f-1'\n * ```\n *\n * @param args a sequence of falsy values, strings and dictionary objects containing the class names\n * @returns a space-separated string of class names\n */\nexport const cx = (...args: CxArg[]): string =>\n\targs\n\t\t.flatMap((arg) => {\n\t\t\tif (!arg) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif (typeof arg === 'string') {\n\t\t\t\treturn arg;\n\t\t\t}\n\n\t\t\tif (typeof arg === 'object') {\n\t\t\t\treturn Object.entries(arg).flatMap(([className, value]) => {\n\t\t\t\t\tif (typeof value === 'boolean') {\n\t\t\t\t\t\treturn value ? className : [];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn `${className}-${value}`;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn exhaustiveCheck(arg);\n\t\t})\n\t\t.join(' ');\n\n/**\n * Composes class name modifiers under a class name into a single class names' string based on flags.\n *\n * This function returns a function similar to `cx`, with the difference it handles the arguments as class name\n * modifiers (based on BEM CSS conventions). However, it's recommended to use `cxx` as a curried function.\n *\n * @example\n * ```ts\n * cxx('z')('a', false, 'b', null, { c: true, d: false, e: 'f', f: 1 }); // 'z z--a z--b z--c z--e-f z--f-1'\n * ```\n * @param className the class name\n * @param args a sequence of falsy values, strings and dictionary objects containing the modifiers\n * @returns a space-separated string of class names\n */\nexport const cxx =\n\t(className: string) =>\n\t(...args: CxArg[]): string => {\n\t\tconst classNames = args.flatMap((arg) => {\n\t\t\tif (!arg) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif (typeof arg === 'string') {\n\t\t\t\treturn `${className}--${arg}`;\n\t\t\t}\n\n\t\t\tif (typeof arg === 'object') {\n\t\t\t\treturn Object.entries(arg).flatMap(([modifier, value]) => {\n\t\t\t\t\tif (typeof value === 'boolean') {\n\t\t\t\t\t\treturn value ? `${className}--${modifier}` : [];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn `${className}--${modifier}-${value}`;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn exhaustiveCheck(arg);\n\t\t});\n\n\t\tclassNames.unshift(className);\n\n\t\treturn classNames.join(' ');\n\t};\n","import { createContext, useContext, useMemo } from 'react';\n\nexport const BoxTransforms = createContext<null | ((props: any) => any)>(null);\n\nexport const useBoxTransform = () => useContext(BoxTransforms);\n\nexport const useComposedBoxTransform = (fn: (props: any) => any) => {\n\tconst parentFn = useContext(BoxTransforms);\n\n\treturn useMemo(() => {\n\t\tif (!parentFn) {\n\t\t\treturn fn;\n\t\t}\n\n\t\tif (!fn) {\n\t\t\treturn parentFn;\n\t\t}\n\n\t\treturn (props: any) => fn(parentFn(props));\n\t}, [fn, parentFn]);\n};\n","type cssToValueType = <T extends string | { toString: () => string }>(label: string, value: T) => string;\nexport const toCSSValue: cssToValueType = (label, value) => `var(${label}, ${value})`;\n\nexport const toCSSFontValue = ((label: string, value: string) => toCSSValue(`--rcx-font-family-${label}`, value)) as cssToValueType;\nexport const toCSSColorValue = ((label: string, value: string) => toCSSValue(`--rcx-color-${label}`, value)) as cssToValueType;\n","import badge from '@rocket.chat/fuselage-tokens/dist/badge.json';\nimport colors from '@rocket.chat/fuselage-tokens/dist/colors.json';\nimport font from '@rocket.chat/fuselage-tokens/dist/font.json';\nimport shadow from '@rocket.chat/fuselage-tokens/dist/shadow.json';\nimport status from '@rocket.chat/fuselage-tokens/dist/status.json';\nimport stroke from '@rocket.chat/fuselage-tokens/dist/stroke.json';\nimport surface from '@rocket.chat/fuselage-tokens/dist/surface.json';\n\nimport { toCSSColorValue } from './helpers/toCSSValue';\n\nexport class Var {\n\tprivate name: string;\n\n\tprivate value: string;\n\n\tconstructor(name: string, value: string) {\n\t\tthis.name = name;\n\t\tthis.value = value;\n\t}\n\n\ttoString() {\n\t\treturn toCSSColorValue(this.name, this.value);\n\t}\n\n\ttheme(name: string) {\n\t\treturn new Var(name, this.toString());\n\t}\n}\n\nexport let throwErrorOnInvalidToken = false;\nexport const __setThrowErrorOnInvalidToken__ = (value: boolean) => {\n\tthrowErrorOnInvalidToken = value;\n};\n\nexport const neutral = {\n\t100: new Var('neutral-100', colors.n100),\n\t200: new Var('neutral-200', colors.n200),\n\t250: new Var('neutral-250', colors.n250),\n\t300: new Var('neutral-300', colors.n300),\n\t400: new Var('neutral-400', colors.n400),\n\t450: new Var('neutral-450', colors.n450),\n\t500: new Var('neutral-500', colors.n500),\n\t600: new Var('neutral-600', colors.n600),\n\t700: new Var('neutral-700', colors.n700),\n\t800: new Var('neutral-800', colors.n800),\n\t900: new Var('neutral-900', colors.n900),\n};\n\nconst surfaceTokens = surface.light;\n\nexport const surfaceColors = {\n\t'surface-light': new Var('surface-light', surfaceTokens.light),\n\t'surface-tint': new Var('surface-tint', surfaceTokens.tint),\n\t'surface-room': new Var('surface-room', surfaceTokens.room),\n\t'surface-neutral': new Var('surface-neutral', surfaceTokens.neutral),\n\t'surface-disabled': new Var('surface-disabled', surfaceTokens.disabled),\n\t'surface-hover': new Var('surface-hover', surfaceTokens.hover),\n\t'surface-selected': new Var('surface-selected', surfaceTokens.selected),\n\t'surface-dark': new Var('surface-dark', surfaceTokens.dark),\n\t'surface-featured': new Var('surface-featured', surfaceTokens.featured),\n\t'surface-featured-hover': new Var('surface-featured-hover', surfaceTokens.featuredHover),\n\t'surface-overlay': new Var('surface-overlay', surfaceTokens.overlay),\n\t'surface-transparent': 'transparent',\n\t'surface-sidebar': new Var('surface-sidebar', surfaceTokens.sidebar),\n};\n\ntype SurfaceColors = keyof typeof surfaceColors;\n\nconst strokeTokens = stroke.light;\n\nexport const strokeColors = {\n\t'stroke-extra-light': new Var('stroke-extra-light', strokeTokens.extraLight),\n\t'stroke-light': new Var('stroke-light', strokeTokens.light),\n\t'stroke-medium': new Var('stroke-medium', strokeTokens.medium),\n\t'stroke-dark': new Var('stroke-dark', strokeTokens.dark),\n\t'stroke-extra-dark': new Var('stroke-extra-dark', strokeTokens.extraDark),\n\t'stroke-extra-light-highlight': new Var('stroke-extra-light-highlight', strokeTokens.extraLightHighlight),\n\t'stroke-highlight': new Var('stroke-highlight', strokeTokens.highlight),\n\t'stroke-extra-light-error': new Var('stroke-extra-light-error', strokeTokens.extraLightError),\n\t'stroke-error': new Var('stroke-error', strokeTokens.error),\n};\n\ntype StrokeColor = keyof typeof strokeColors;\n\nconst fontTokens = font.light;\n\nexport const textIconColors = {\n\t'font-white': new Var('font-white', fontTokens.white),\n\t'font-disabled': new Var('font-disabled', fontTokens.disabled),\n\t'font-annotation': new Var('font-annotation', fontTokens.annotation),\n\t'font-hint': new Var('font-hint', fontTokens.hint),\n\t'font-secondary-info': new Var('font-secondary-info', fontTokens.secondaryInfo),\n\t'font-default': new Var('font-default', fontTokens.default),\n\t'font-titles-labels': new Var('font-titles-labels', fontTokens.titlesLabels),\n\t'font-info': new Var('font-info', fontTokens.info),\n\t'font-danger': new Var('font-danger', fontTokens.danger),\n\t'font-pure-black': new Var('font-pure-black', fontTokens.pureBlack),\n\t'font-pure-white': new Var('font-pure-white', fontTokens.pureWhite),\n};\n\ntype TextIconColors = keyof typeof textIconColors;\n\nconst statusTokens = status.light;\n\nexport const statusBackgroundColors = {\n\t'status-background-info': new Var('status-background-info', statusTokens.info),\n\t'status-background-success': new Var('status-background-success', statusTokens.success),\n\t'status-background-danger': new Var('status-background-danger', statusTokens.danger),\n\t'status-background-warning': new Var('status-background-warning', statusTokens.warning),\n\t'status-background-warning-2': new Var('status-background-warning-2', statusTokens['warning-2']),\n\t'status-background-service-1': new Var('status-background-service-1', statusTokens['service-1']),\n\t'status-background-service-2': new Var('status-background-service-2', statusTokens['service-2']),\n};\n\ntype StatusBackgroundColors = keyof typeof statusBackgroundColors;\n\nexport const statusColors = {\n\t'status-font-on-info': new Var('status-font-on-info', statusTokens['font-on-info']),\n\t'status-font-on-success': new Var('status-font-on-success', statusTokens['font-on-success']),\n\t'status-font-on-warning': new Var('status-font-on-warning', statusTokens['font-on-warning']),\n\t'status-font-on-warning-2': new Var('status-font-on-warning-2', statusTokens['font-on-warning-2']),\n\t'status-font-on-danger': new Var('status-font-on-danger', statusTokens['font-on-danger']),\n\t'status-font-on-service-1': new Var('status-font-on-service-1', statusTokens['font-on-service-1']),\n\t'status-font-on-service-2': new Var('status-font-on-service-2', statusTokens['font-on-service-2']),\n};\n\ntype StatusColors = keyof typeof statusColors;\n\nconst badgeTokens = badge.light;\n\nexport const badgeBackgroundColors = {\n\t'badge-background-level-0': new Var('badge-background-level-0', badgeTokens['level-0']),\n\t'badge-background-level-1': new Var('badge-background-level-1', badgeTokens['level-1']),\n\t'badge-background-level-2': new Var('badge-background-level-2', badgeTokens['level-2']),\n\t'badge-background-level-3': new Var('badge-background-level-3', badgeTokens['level-3']),\n\t'badge-background-level-4': new Var('badge-background-level-4', badgeTokens['level-4']),\n};\n\ntype BadgeBackgroundColors = keyof typeof badgeBackgroundColors;\n\nconst shadowTokens = shadow.light;\n\nexport const shadowColors = {\n\t'shadow-elevation-border': new Var('shadow-elevation-border', shadowTokens['elevation-border']),\n\t'shadow-elevation-1': new Var('shadow-elevation-1', shadowTokens['elevation-1']),\n\t'shadow-elevation-2x': new Var('shadow-elevation-2x', shadowTokens['elevation-2x']),\n\t'shadow-elevation-2y': new Var('shadow-elevation-2y', shadowTokens['elevation-2y']),\n\t'shadow-highlight': new Var('shadow-highlight', shadowTokens.highlight),\n\t'shadow-danger': new Var('shadow-danger', shadowTokens.danger),\n};\n\ntype ShadowColors = keyof typeof shadowColors;\n\nexport const isSurfaceColor = (color: unknown): color is SurfaceColors => typeof color === 'string' && color in surfaceColors;\n\nexport const isStrokeColor = (color: unknown): color is StrokeColor => typeof color === 'string' && color in strokeColors;\n\nexport const isTextIconColor = (color: unknown): color is TextIconColors => typeof color === 'string' && color in textIconColors;\n\nexport const isBadgeColor = (color: unknown): color is BadgeBackgroundColors => typeof color === 'string' && color in badgeBackgroundColors;\n\nexport const isStatusBackgroundColor = (color: unknown): color is StatusBackgroundColors =>\n\ttypeof color === 'string' && color in statusBackgroundColors;\n\nexport const isStatusColor = (color: unknown): color is StatusColors => typeof color === 'string' && color in statusColors;\n\nexport const isShadowColor = (color: unknown): color is ShadowColors => typeof color === 'string' && color in shadowColors;\n\nexport const Palette = {\n\tsurface: surfaceColors,\n\tstatus: statusBackgroundColors,\n\tstatusColor: statusColors,\n\tbadge: badgeBackgroundColors,\n\ttext: textIconColors,\n\tstroke: strokeColors,\n\tshadow: shadowColors,\n};\n","export const fromCamelToKebab = (string: string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n","import tokenColors from '@rocket.chat/fuselage-tokens/dist/colors.json';\nimport invariant from 'invariant';\n\nconst isPaletteColorRef = (ref: unknown): ref is keyof typeof tokenColors => typeof ref === 'string' && ref in tokenColors;\n\nconst mapTypeToPrefix = {\n\tneutral: 'n',\n\tblue: 'b',\n\tgreen: 'g',\n\tyellow: 'y',\n\tred: 'r',\n\torange: 'o',\n\tpurple: 'p',\n} as const;\n\nexport const getPaletteColor = (\n\ttype: keyof typeof mapTypeToPrefix,\n\tgrade: 100 | 200 | 250 | 300 | 400 | 450 | 500 | 600 | 700 | 800 | 900 | 1000,\n\talpha?: number,\n): [customPropertyName: string, value: string] => {\n\tconst ref = `${mapTypeToPrefix[type]}${grade}`;\n\tinvariant(isPaletteColorRef(ref), 'invalid color reference');\n\n\tconst baseColor = tokenColors[ref];\n\n\tconst matches = /^#([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/.exec(baseColor);\n\n\tinvariant(!!matches, 'invalid color token format');\n\n\tif (alpha !== undefined) {\n\t\tconst [, r, g, b] = matches;\n\t\treturn [\n\t\t\t`--rcx-color-${type}-${grade}-${(alpha * 100).toFixed(0)}`,\n\t\t\t`rgba(${parseInt(r, 16)}, ${parseInt(g, 16)}, ${parseInt(b, 16)}, ${alpha * 100}%)`,\n\t\t];\n\t}\n\n\treturn [`--rcx-color-${type}-${grade}`, baseColor];\n};\n","import tokenBorder from '@rocket.chat/fuselage-tokens/dist/border.json';\nimport tokenSpacing from '@rocket.chat/fuselage-tokens/dist/spacing.json';\nimport tokenTypography from '@rocket.chat/fuselage-tokens/dist/typography.json';\nimport { memoize } from '@rocket.chat/memo';\nimport invariant from 'invariant';\n\nimport {\n\tisStatusBackgroundColor,\n\tisStatusColor,\n\tisStrokeColor,\n\tisSurfaceColor,\n\tisTextIconColor,\n\tneutral,\n\tstatusBackgroundColors,\n\tstrokeColors,\n\tsurfaceColors,\n\ttextIconColors,\n\tstatusColors,\n\tthrowErrorOnInvalidToken,\n\tisBadgeColor,\n\tbadgeBackgroundColors,\n} from './Theme';\nimport { getPaletteColor } from './getPaletteColor';\nimport { toCSSColorValue, toCSSFontValue, toCSSValue } from './helpers/toCSSValue';\n\nexport type BorderWidth = keyof typeof tokenBorder.width;\nexport type BorderRadius = keyof typeof tokenBorder.radius;\nexport type SpacingToken = keyof typeof tokenSpacing;\n\nexport const spacingScale: Readonly<Record<SpacingToken, number>> = tokenSpacing;\n\nconst isSpacingToken = (value: string): value is SpacingToken => Object.hasOwn(tokenSpacing, value);\n\nconst measure = (computeSpecialValue?: (value: string) => null | undefined | string) =>\n\tmemoize((value) => {\n\t\tif (typeof value === 'number') {\n\t\t\treturn `${value}px`;\n\t\t}\n\n\t\tif (typeof value !== 'string') {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst xRegExp = /^(neg-|-)?x(\\d+)$/;\n\t\tconst matches = xRegExp.exec(value);\n\t\tif (matches) {\n\t\t\tconst [, negativeMark, measureInPixelsAsString] = matches;\n\t\t\tconst measureInPixels = (negativeMark ? -1 : 1) * parseInt(measureInPixelsAsString, 10);\n\t\t\treturn `${measureInPixels / 16}rem`;\n\t\t}\n\n\t\tif (computeSpecialValue) {\n\t\t\treturn computeSpecialValue(value) || value;\n\t\t}\n\n\t\treturn value;\n\t});\n\nexport const borderWidth = (value: unknown) => {\n\tif (typeof value === 'string' && value in tokenBorder.width) {\n\t\treturn `${tokenBorder.width[value as keyof typeof tokenBorder.width]}px`;\n\t}\n\n\treturn undefined;\n};\n\nexport const borderRadius = (value: unknown) => {\n\tif (typeof value === 'string' && value in tokenBorder.radius) {\n\t\treturn `${tokenBorder.radius[value as keyof typeof tokenBorder.radius] / 16}rem`;\n\t}\n\n\treturn undefined;\n};\n\nconst mapTypeToPrefix = {\n\tneutral: 'n',\n\tblue: 'b',\n\tgreen: 'g',\n\tyellow: 'y',\n\tred: 'r',\n\torange: 'o',\n\tpurple: 'p',\n} as const;\n\nconst isPaletteColorType = (type: unknown): type is keyof typeof mapTypeToPrefix => typeof type === 'string' && type in mapTypeToPrefix;\n\nconst isPaletteColorGrade = (grade: unknown): grade is 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 =>\n\ttypeof grade === 'number' && grade % 100 === 0 && grade / 100 >= 1 && grade / 100 <= 9;\n\nconst isPaletteColorAlpha = (alpha: unknown): alpha is number | undefined =>\n\talpha === undefined || (typeof alpha === 'number' && alpha >= 0 && alpha <= 1);\n\nconst paletteColorRegex = /^(neutral|blue|green|yellow|red|orange|purple)-(\\d+)(-(\\d+))?$/;\n\nexport const strokeColor = memoize((value) => {\n\tconst colorName = `stroke-${value}`;\n\tif (isStrokeColor(colorName)) {\n\t\treturn strokeColors[colorName].toString();\n\t}\n\treturn color(value);\n});\n\nexport const backgroundColor = memoize((value) => {\n\tconst colorName = `surface-${value}`;\n\n\tif (isSurfaceColor(value)) {\n\t\treturn surfaceColors[value].toString();\n\t}\n\n\tif (isSurfaceColor(colorName)) {\n\t\treturn surfaceColors[colorName].toString();\n\t}\n\n\tif (isStatusBackgroundColor(value)) {\n\t\treturn statusBackgroundColors[value].toString();\n\t}\n\n\tif (isStatusColor(value)) {\n\t\tif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n\t\t\tconsole.warn(`${value} shouldn't be used as a backgroundColor.`);\n\t\t}\n\t\treturn statusColors[value].toString();\n\t}\n\n\tif (isBadgeColor(value)) {\n\t\treturn badgeBackgroundColors[value].toString();\n\t}\n\n\treturn color(value);\n});\n\nexport const fontColor = memoize((value) => {\n\tconst colorName = `font-${value}`;\n\tif (isTextIconColor(colorName)) {\n\t\treturn textIconColors[colorName].toString();\n\t}\n\tif (isStatusColor(value)) {\n\t\treturn statusColors[value].toString();\n\t}\n\treturn color(value);\n});\n\n/** @deprecated **/\nexport const color = memoize((value) => {\n\tif (typeof value !== 'string') {\n\t\treturn;\n\t}\n\tif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n\t\tconsole.warn(`invalid color: ${value}`, new Error().stack);\n\t}\n\tif (throwErrorOnInvalidToken) {\n\t\tthrow new Error(`The color token \"${value}\" is deprecated. Please use the new color tokens instead.`);\n\t}\n\n\tif (isSurfaceColor(value)) {\n\t\treturn surfaceColors[value].toString();\n\t}\n\n\tif (isStatusBackgroundColor(value)) {\n\t\treturn statusBackgroundColors[value].toString();\n\t}\n\n\tif (isStrokeColor(value)) {\n\t\treturn strokeColors[value].toString();\n\t}\n\tif (isTextIconColor(value)) {\n\t\treturn textIconColors[value].toString();\n\t}\n\n\tif (value === 'surface' || value === 'surface-light') {\n\t\treturn surfaceColors['surface-light'].toString();\n\t}\n\n\tif (value === 'surface-tint') {\n\t\treturn toCSSColorValue(value, neutral[100]);\n\t}\n\n\tif (value === 'secondary-info') {\n\t\treturn toCSSColorValue(value, neutral[700]);\n\t}\n\n\tif (value === 'surface-neutral') {\n\t\treturn toCSSColorValue(value, neutral[400]);\n\t}\n\n\tconst paletteMatches = paletteColorRegex.exec(String(value));\n\tif (typeof paletteMatches?.length === 'number' && paletteMatches?.length >= 5) {\n\t\tconst [, type, gradeString, , alphaString] = paletteMatches;\n\t\tconst grade = parseInt(gradeString, 10);\n\t\tconst alpha = alphaString !== undefined ? parseInt(alphaString, 10) / 100 : undefined;\n\n\t\tinvariant(isPaletteColorType(type), 'invalid color type');\n\t\tinvariant(isPaletteColorGrade(grade), 'invalid color grade');\n\t\tinvariant(isPaletteColorAlpha(alpha), 'invalid color alpha');\n\n\t\tconst [customProperty, color] = getPaletteColor(type, grade, alpha);\n\n\t\tif (customProperty) {\n\t\t\treturn toCSSValue(customProperty, color);\n\t\t}\n\n\t\treturn color;\n\t}\n\treturn value;\n});\n\nexport const size = measure((value: unknown) => {\n\tif (value === 'none') {\n\t\treturn '0px';\n\t}\n\n\tif (value === 'full') {\n\t\treturn '100%';\n\t}\n\n\tif (value === 'sw') {\n\t\treturn '100vw';\n\t}\n\n\tif (value === 'sh') {\n\t\treturn '100vh';\n\t}\n\n\treturn undefined;\n});\n\nexport const spacing = memoize((value: unknown) => {\n\tif (typeof value === 'number') {\n\t\treturn `${value}px`;\n\t}\n\n\tif (typeof value !== 'string') {\n\t\treturn undefined;\n\t}\n\n\tif (value === 'none') {\n\t\treturn '0px';\n\t}\n\n\tconst [, negativeMark, step] = /^(neg-|-)?x(\\d+)$/.exec(value) ?? [];\n\tif (!step) {\n\t\treturn value;\n\t}\n\n\tconst token = `x${step}`;\n\tconst pixels = isSpacingToken(token) ? tokenSpacing[token] : Number(step);\n\treturn `${(negativeMark ? -1 : 1) * pixels}px`;\n});\n\n/** @internal */\nexport const inset = measure((value: unknown) => {\n\tif (value === 'none') {\n\t\treturn '0px';\n\t}\n\n\treturn undefined;\n});\n\ntype FontFamily = keyof typeof tokenTypography.fontFamily;\n\nconst isFontFamily = (value: unknown): value is FontFamily => typeof value === 'string' && value in tokenTypography.fontFamily;\n\nexport const fontFamily = memoize((value: unknown): string | undefined => {\n\tif (!isFontFamily(value)) {\n\t\treturn undefined;\n\t}\n\n\tconst fontFamily = tokenTypography.fontFamily[value].map((fontFace) => (fontFace.includes(' ') ? `'${fontFace}'` : fontFace)).join(', ');\n\n\treturn toCSSFontValue(value, fontFamily);\n});\n\ntype FontScale = keyof typeof tokenTypography.fontScale;\n\nconst isFontScale = (value: unknown): value is FontScale => typeof value === 'string' && value in tokenTypography.fontScale;\n\nexport const fontScale = memoize(\n\t(\n\t\tvalue: unknown,\n\t):\n\t\t| {\n\t\t\t\tfontSize: string;\n\t\t\t\tfontWeight: number;\n\t\t\t\tlineHeight: string;\n\t\t\t\tletterSpacing: string;\n\t\t }\n\t\t| undefined => {\n\t\tif (!isFontScale(value)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst { fontSize, fontWeight, lineHeight, letterSpacing } = tokenTypography.fontScale[value];\n\n\t\treturn {\n\t\t\tfontSize: `${fontSize / 16}rem`,\n\t\t\tfontWeight,\n\t\t\tlineHeight: `${lineHeight / 16}rem`,\n\t\t\tletterSpacing: `${letterSpacing / 16}rem`,\n\t\t};\n\t},\n);\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport { css } from '@rocket.chat/css-in-js';\nimport type { CSSProperties } from 'react';\n\nimport type { Var } from '../../Theme';\nimport { Palette } from '../../Theme';\nimport { fromCamelToKebab } from '../../helpers/fromCamelToKebab';\nimport type { BorderRadius, BorderWidth } from '../../styleTokens';\nimport {\n\tborderRadius,\n\tborderWidth,\n\tbackgroundColor,\n\tfontColor,\n\tfontFamily,\n\tfontScale,\n\tinset,\n\tspacing,\n\tsize,\n\tstrokeColor,\n} from '../../styleTokens';\n\nexport type FontScale = 'hero' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p1' | 'p1m' | 'p1b' | 'p2' | 'p2m' | 'p2b' | 'c1' | 'c2' | 'micro';\n\nexport type StylingProps = {\n\tborder: CSSProperties['border'];\n\tborderBlock: CSSProperties['borderBlock'];\n\tborderBlockStart: CSSProperties['borderBlockStart'];\n\tborderBlockEnd: CSSProperties['borderBlockEnd'];\n\tborderInline: CSSProperties['borderInline'];\n\tborderInlineStart: CSSProperties['borderInlineStart'];\n\tborderInlineEnd: CSSProperties['borderInlineEnd'];\n\tborderWidth: BorderWidth;\n\tborderBlockWidth: BorderWidth;\n\tborderBlockStartWidth: BorderWidth;\n\tborderBlockEndWidth: BorderWidth;\n\tborderInlineWidth: BorderWidth;\n\tborderInlineStartWidth: BorderWidth;\n\tborderInlineEndWidth: BorderWidth;\n\tborderStyle: CSSProperties['borderStyle'];\n\tborderBlockStyle: CSSProperties['borderBlockStyle'];\n\tborderBlockStartStyle: CSSProperties['borderBlockStartStyle'];\n\tborderBlockEndStyle: CSSProperties['borderBlockEndStyle'];\n\tborderInlineStyle: CSSProperties['borderInlineStyle'];\n\tborderInlineStartStyle: CSSProperties['borderInlineStartStyle'];\n\tborderInlineEndStyle: CSSProperties['borderInlineEndStyle'];\n\tborderColor: CSSProperties['borderColor'];\n\tborderBlockColor: CSSProperties['borderBlockColor'];\n\tborderBlockStartColor: CSSProperties['borderBlockStartColor'];\n\tborderBlockEndColor: CSSProperties['borderBlockEndColor'];\n\tborderInlineColor: CSSProperties['borderInlineColor'];\n\tborderInlineStartColor: CSSProperties['borderInlineStartColor'];\n\tborderInlineEndColor: CSSProperties['borderInlineEndColor'];\n\tborderRadius: BorderRadius;\n\tborderStartStartRadius: BorderRadius;\n\tborderStartEndRadius: BorderRadius;\n\tborderEndStartRadius: BorderRadius;\n\tborderEndEndRadius: BorderRadius;\n\n\tcolor: CSSProperties['color'] | Var;\n\tbackgroundColor: CSSProperties['backgroundColor'] | Var;\n\topacity: CSSProperties['opacity'];\n\n\talignItems: CSSProperties['alignItems'];\n\talignContent: CSSProperties['alignContent'];\n\tjustifyItems: CSSProperties['justifyItems'];\n\tjustifyContent: CSSProperties['justifyContent'];\n\tflexWrap: CSSProperties['flexWrap'];\n\tflexDirection: CSSProperties['flexDirection'];\n\tflexGrow: CSSProperties['flexGrow'];\n\tflexShrink: CSSProperties['flexShrink'];\n\tflexBasis: CSSProperties['flexBasis'];\n\tjustifySelf: CSSProperties['justifySelf'];\n\talignSelf: CSSProperties['alignSelf'];\n\torder: CSSProperties['order'];\n\tgap: CSSProperties['gap'];\n\trowGap: CSSProperties['rowGap'];\n\tcolumnGap: CSSProperties['columnGap'];\n\n\twidth: CSSProperties['width'];\n\tminWidth: CSSProperties['minWidth'];\n\tmaxWidth: CSSProperties['maxWidth'];\n\theight: CSSProperties['height'];\n\tminHeight: CSSProperties['minHeight'];\n\tmaxHeight: CSSProperties['maxHeight'];\n\tdisplay: CSSProperties['display'];\n\tverticalAlign: CSSProperties['verticalAlign'];\n\toverflow: CSSProperties['overflow'];\n\toverflowX: CSSProperties['overflowX'];\n\toverflowY: CSSProperties['overflowY'];\n\tobjectFit: CSSProperties['objectFit'];\n\n\tposition: CSSProperties['position'];\n\tzIndex: CSSProperties['zIndex'];\n\tinset: CSSProperties['inset'];\n\tinsetBlock: CSSProperties['insetBlock'];\n\tinsetBlockStart: CSSProperties['insetBlockStart'];\n\tinsetBlockEnd: CSSProperties['insetBlockEnd'];\n\tinsetInline: CSSProperties['insetInline'];\n\tinsetInlineStart: CSSProperties['insetInlineStart'];\n\tinsetInlineEnd: CSSProperties['insetInlineEnd'];\n\n\tmargin: CSSProperties['margin'];\n\tmarginBlock: CSSProperties['marginBlock'];\n\tmarginBlockStart: CSSProperties['marginBlockStart'];\n\tmarginBlockEnd: CSSProperties['marginBlockEnd'];\n\tmarginInline: CSSProperties['marginInline'];\n\tmarginInlineStart: CSSProperties['marginInlineStart'];\n\tmarginInlineEnd: CSSProperties['marginInlineEnd'];\n\tpadding: CSSProperties['padding'];\n\tpaddingBlock: CSSProperties['paddingBlock'];\n\tpaddingBlockStart: CSSProperties['paddingBlockStart'];\n\tpaddingBlockEnd: CSSProperties['paddingBlockEnd'];\n\tpaddingInline: CSSProperties['paddingInline'];\n\tpaddingInlineStart: CSSProperties['paddingInlineStart'];\n\tpaddingInlineEnd: CSSProperties['paddingInlineEnd'];\n\n\tfontFamily: CSSProperties['fontFamily'] | FontScale;\n\tfontSize: CSSProperties['fontSize'] | FontScale;\n\tfontStyle: CSSProperties['fontStyle'];\n\tfontWeight: CSSProperties['fontWeight'] | FontScale;\n\tletterSpacing: CSSProperties['letterSpacing'] | FontScale;\n\tlineHeight: CSSProperties['lineHeight'] | FontScale;\n\ttextAlign: CSSProperties['textAlign'];\n\ttextTransform: CSSProperties['textTransform'];\n\ttextDecorationLine: CSSProperties['textDecorationLine'];\n\twordBreak: CSSProperties['wordBreak'];\n\n\televation: '0' | '1' | '2' | '1nb' | '2nb';\n\tinvisible: boolean;\n\twithTruncatedText: boolean;\n\tsize: CSSProperties['blockSize'];\n\tminSize: CSSProperties['blockSize'];\n\tmaxSize: CSSProperties['blockSize'];\n\tfontScale: FontScale;\n};\n\ntype PropDefinition =\n\t| {\n\t\t\ttoCSSValue: (value: unknown) => string | undefined;\n\t }\n\t| {\n\t\t\ttoStyle: (value: unknown) => cssFn | undefined;\n\t };\n\nconst stringProp: PropDefinition = {\n\ttoCSSValue: (value) => (typeof value === 'string' ? value : undefined),\n};\n\nconst numberOrStringProp: PropDefinition = {\n\ttoCSSValue: (value) => {\n\t\tif (typeof value === 'number' || typeof value === 'string') {\n\t\t\treturn String(value);\n\t\t}\n\n\t\treturn undefined;\n\t},\n};\n\nconst borderWidthProp: PropDefinition = {\n\ttoCSSValue: borderWidth,\n};\n\nconst borderRadiusProp: PropDefinition = {\n\ttoCSSValue: borderRadius,\n};\n\nconst backgroundColorProp: PropDefinition = {\n\ttoCSSValue: backgroundColor,\n};\n\nconst fontColorProp: PropDefinition = {\n\ttoCSSValue: fontColor,\n};\n\nconst strokeColorProp: PropDefinition = {\n\ttoCSSValue: strokeColor,\n};\n\nconst sizeProp: PropDefinition = {\n\ttoCSSValue: size,\n};\n\nconst insetProp: PropDefinition = {\n\ttoCSSValue: inset,\n};\n\nconst marginProp: PropDefinition = {\n\ttoCSSValue: spacing,\n};\n\nconst paddingProp: PropDefinition = {\n\ttoCSSValue: spacing,\n};\n\nconst gapProp: PropDefinition = {\n\ttoCSSValue: spacing,\n};\n\nconst fontFamilyProp: PropDefinition = {\n\ttoCSSValue: fontFamily,\n};\n\nconst fontSizeProp: PropDefinition = {\n\ttoCSSValue: (value) => fontScale(value)?.fontSize || size(value),\n};\n\nconst fontWeightProp: PropDefinition = {\n\ttoCSSValue: (value) => (value ? String(fontScale(value)?.fontWeight || value) : undefined),\n};\n\nconst lineHeightProp: PropDefinition = {\n\ttoCSSValue: (value) => fontScale(value)?.lineHeight || size(value),\n};\n\nconst letterSpacingProp: PropDefinition = {\n\ttoCSSValue: (value) => (value ? String(fontScale(value)?.letterSpacing || value) : undefined),\n};\n\nexport const propDefs: Record<keyof StylingProps, PropDefinition> = {\n\tborder: stringProp,\n\tborderBlock: stringProp,\n\tborderBlockStart: stringProp,\n\tborderBlockEnd: stringProp,\n\tborderInline: stringProp,\n\tborderInlineStart: stringProp,\n\tborderInlineEnd: stringProp,\n\tborderWidth: borderWidthProp,\n\tborderBlockWidth: borderWidthProp,\n\tborderBlockStartWidth: borderWidthProp,\n\tborderBlockEndWidth: borderWidthProp,\n\tborderInlineWidth: borderWidthProp,\n\tborderInlineStartWidth: borderWidthProp,\n\tborderInlineEndWidth: borderWidthProp,\n\tborderStyle: stringProp,\n\tborderBlockStyle: stringProp,\n\tborderBlockStartStyle: stringProp,\n\tborderBlockEndStyle: stringProp,\n\tborderInlineStyle: stringProp,\n\tborderInlineStartStyle: stringProp,\n\tborderInlineEndStyle: stringProp,\n\tborderColor: strokeColorProp,\n\tborderBlockColor: strokeColorProp,\n\tborderBlockStartColor: strokeColorProp,\n\tborderBlockEndColor: strokeColorProp,\n\tborderInlineColor: strokeColorProp,\n\tborderInlineStartColor: strokeColorProp,\n\tborderInlineEndColor: strokeColorProp,\n\tborderRadius: borderRadiusProp,\n\tborderStartStartRadius: borderRadiusProp,\n\tborderStartEndRadius: borderRadiusProp,\n\tborderEndStartRadius: borderRadiusProp,\n\tborderEndEndRadius: borderRadiusProp,\n\n\tcolor: fontColorProp,\n\tbackgroundColor: backgroundColorProp,\n\topacity: numberOrStringProp,\n\n\talignItems: stringProp,\n\talignContent: stringProp,\n\tjustifyItems: stringProp,\n\tjustifyContent: stringProp,\n\tflexWrap: stringProp,\n\tflexDirection: stringProp,\n\tflexGrow: numberOrStringProp,\n\tflexShrink: numberOrStringProp,\n\tflexBasis: stringProp,\n\tjustifySelf: stringProp,\n\talignSelf: stringProp,\n\torder: numberOrStringProp,\n\tgap: gapProp,\n\trowGap: gapProp,\n\tcolumnGap: gapProp,\n\n\twidth: sizeProp,\n\tminWidth: sizeProp,\n\tmaxWidth: sizeProp,\n\theight: sizeProp,\n\tminHeight: sizeProp,\n\tmaxHeight: sizeProp,\n\tdisplay: stringProp,\n\tverticalAlign: stringProp,\n\toverflow: stringProp,\n\toverflowX: stringProp,\n\toverflowY: stringProp,\n\tobjectFit: stringProp,\n\n\tposition: stringProp,\n\tzIndex: numberOrStringProp,\n\tinset: insetProp,\n\tinsetBlock: insetProp,\n\tinsetBlockStart: insetProp,\n\tinsetBlockEnd: insetProp,\n\tinsetInline: insetProp,\n\tinsetInlineStart: insetProp,\n\tinsetInlineEnd: insetProp,\n\n\tmargin: marginProp,\n\tmarginBlock: marginProp,\n\tmarginBlockStart: marginProp,\n\tmarginBlockEnd: marginProp,\n\tmarginInline: marginProp,\n\tmarginInlineStart: marginProp,\n\tmarginInlineEnd: marginProp,\n\tpadding: paddingProp,\n\tpaddingBlock: paddingProp,\n\tpaddingBlockStart: paddingProp,\n\tpaddingBlockEnd: paddingProp,\n\tpaddingInline: paddingProp,\n\tpaddingInlineStart: paddingProp,\n\tpaddingInlineEnd: paddingProp,\n\n\tfontFamily: fontFamilyProp,\n\tfontSize: fontSizeProp,\n\tfontStyle: stringProp,\n\tfontWeight: fontWeightProp,\n\tletterSpacing: letterSpacingProp,\n\tlineHeight: lineHeightProp,\n\ttextAlign: stringProp,\n\ttextTransform: stringProp,\n\ttextDecorationLine: stringProp,\n\twordBreak: stringProp,\n\n\televation: {\n\t\ttoStyle: (value) => {\n\t\t\tif (value === '0') {\n\t\t\t\treturn css`\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t`;\n\t\t\t}\n\n\t\t\tif (value === '1') {\n\t\t\t\treturn css`\n\t\t\t\t\tbox-shadow: 0px 0px 12px 0px ${Palette.shadow['shadow-elevation-1']};\n\t\t\t\t\tborder: 1px solid ${Palette.shadow['shadow-elevation-border']};\n\t\t\t\t`;\n\t\t\t}\n\n\t\t\tif (value === '1nb') {\n\t\t\t\treturn css`\n\t\t\t\t\tbox-shadow: 0px 0px 12px 0px ${Palette.shadow['shadow-elevation-1']};\n\t\t\t\t`;\n\t\t\t}\n\n\t\t\tif (value === '2') {\n\t\t\t\treturn css`\n\t\t\t\t\tbox-shadow:\n\t\t\t\t\t\t0px 0px 2px 0px ${Palette.shadow['shadow-elevation-2x']},\n\t\t\t\t\t\t0px 0px 12px 0px ${Palette.shadow['shadow-elevation-2y']};\n\t\t\t\t\tborder: 1px solid ${Palette.shadow['shadow-elevation-border']};\n\t\t\t\t`;\n\t\t\t}\n\n\t\t\tif (value === '2nb') {\n\t\t\t\treturn css`\n\t\t\t\t\tbox-shadow:\n\t\t\t\t\t\t0px 0px 2px 0px ${Palette.shadow['shadow-elevation-2x']},\n\t\t\t\t\t\t0px 0px 12px 0px ${Palette.shadow['shadow-elevation-2y']};\n\t\t\t\t`;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t},\n\t},\n\tinvisible: {\n\t\ttoStyle: (value) =>\n\t\t\tvalue\n\t\t\t\t? css`\n\t\t\t\t\t\tvisibility: hidden;\n\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t`\n\t\t\t\t: undefined,\n\t},\n\twithTruncatedText: {\n\t\ttoStyle: (value) =>\n\t\t\tvalue\n\t\t\t\t? css`\n\t\t\t\t\t\toverflow: hidden;\n\t\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t`\n\t\t\t\t: undefined,\n\t},\n\tsize: {\n\t\ttoStyle: (value) =>\n\t\t\tsize(value)\n\t\t\t\t? css`\n\t\t\t\t\t\twidth: ${size(value)} !important;\n\t\t\t\t\t\theight: ${size(value)} !important;\n\t\t\t\t\t`\n\t\t\t\t: undefined,\n\t},\n\tminSize: {\n\t\ttoStyle: (value) =>\n\t\t\tsize(value)\n\t\t\t\t? css`\n\t\t\t\t\t\tmin-width: ${size(value)} !important;\n\t\t\t\t\t\tmin-height: ${size(value)} !important;\n\t\t\t\t\t`\n\t\t\t\t: undefined,\n\t},\n\tmaxSize: {\n\t\ttoStyle: (value) =>\n\t\t\tsize(value)\n\t\t\t\t? css`\n\t\t\t\t\t\tmax-width: ${size(value)} !important;\n\t\t\t\t\t\tmax-height: ${size(value)} !important;\n\t\t\t\t\t`\n\t\t\t\t: undefined,\n\t},\n\tfontScale: {\n\t\ttoStyle: (value) => css`\n\t\t\tfont-size: ${fontScale(value)?.fontSize} !important;\n\t\t\tfont-weight: ${fontScale(value)?.fontWeight} !important;\n\t\t\tletter-spacing: ${fontScale(value)?.letterSpacing} !important;\n\t\t\tline-height: ${fontScale(value)?.lineHeight} !important;\n\t\t`,\n\t},\n};\n\nconst compiledPropDefs = new Map(\n\t(Object.entries(propDefs) as [keyof StylingProps, PropDefinition][]).map(\n\t\t([propName, propDef]): [propName: string, inject: (value: unknown, stylingProps: Map<keyof StylingProps, cssFn>) => void] => {\n\t\t\tif ('toCSSValue' in propDef) {\n\t\t\t\tconst cssProperty = fromCamelToKebab(propName);\n\t\t\t\tconst { toCSSValue } = propDef;\n\t\t\t\treturn [\n\t\t\t\t\tpropName,\n\t\t\t\t\t(value, stylingProps) => {\n\t\t\t\t\t\tconst cssValue = toCSSValue(value);\n\n\t\t\t\t\t\tif (cssValue === undefined) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstylingProps.set(\n\t\t\t\t\t\t\tpropName,\n\t\t\t\t\t\t\tcss`\n\t\t\t\t\t\t\t\t${cssProperty}: ${cssValue} !important;\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tconst { toStyle } = propDef;\n\n\t\t\treturn [\n\t\t\t\tpropName,\n\t\t\t\t(value, stylingProps) => {\n\t\t\t\t\tconst style = toStyle(value);\n\n\t\t\t\t\tif (style === undefined) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstylingProps.set(propName, style);\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t),\n);\n\nexport const extractStylingProps = <TProps extends Record<string, unknown>>(\n\tprops: TProps & Partial<StylingProps>,\n): [props: TProps, styles: cssFn | undefined] => {\n\tconst stylingProps = new Map<keyof StylingProps, cssFn>();\n\tconst newProps: Record<string, unknown> = {};\n\n\tfor (const [propName, value] of Object.entries(props)) {\n\t\tconst inject = compiledPropDefs.get(propName);\n\n\t\tif (!inject) {\n\t\t\tnewProps[propName] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (value === undefined) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tinject(value, stylingProps);\n\t}\n\n\tconst styles = stylingProps.size\n\t\t? css`\n\t\t\t\t${Array.from(stylingProps.values())}\n\t\t\t`\n\t\t: undefined;\n\n\treturn [newProps as TProps, styles];\n};\n","type R<T> = T extends void ? string : T extends string ? string : string[];\n\nexport const appendClassName = <T extends string | string[] | undefined>(currentClassName: T, newClassName: string): R<T> => {\n\tif (currentClassName === undefined || currentClassName === '') {\n\t\treturn newClassName as R<T>;\n\t}\n\n\tif (Array.isArray(currentClassName)) {\n\t\treturn [...currentClassName, newClassName] as R<T>;\n\t}\n\n\treturn `${currentClassName} ${newClassName}` as R<T>;\n};\n","import { createContext, useContext } from 'react';\n\nexport const OwnerDocument = createContext<{\n\tdocument: Document;\n}>({ document: window.document });\n\nexport const useOwnerDocument = () => {\n\treturn useContext(OwnerDocument);\n};\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport { createClassName, escapeName, transpile, attachRules } from '@rocket.chat/css-in-js';\nimport { useDebugValue, useInsertionEffect, useMemo } from 'react';\n\nimport { useOwnerDocument } from '../contexts';\n\n/** Attaches a `css` style to the document and returns its class name, for a `className` that takes strings only. */\nexport const useStyle = (cssFn: cssFn | undefined, arg?: unknown) => {\n\tconst content = useMemo(() => (cssFn ? cssFn(arg) : undefined), [arg, cssFn]);\n\n\tconst className = useMemo(() => {\n\t\tif (!content) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn content ? createClassName(content) : undefined;\n\t}, [content]);\n\n\tuseDebugValue(className);\n\n\tconst { document } = useOwnerDocument();\n\n\tuseInsertionEffect(() => {\n\t\tif (!content || !className) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst escapedClassName = escapeName(className);\n\t\tconst transpiledContent = transpile(`.${escapedClassName}`, content);\n\t\tconst detach = attachRules(transpiledContent, { document });\n\n\t\treturn () => {\n\t\t\tsetTimeout(detach, 1000);\n\t\t};\n\t}, [className, content, document]);\n\n\treturn className;\n};\n","import type { StylingProps } from './stylingProps';\nimport { extractStylingProps } from './stylingProps';\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { useStyle } from '../../hooks/useStyle';\n\nexport const useStylingProps = <TProps extends { className?: string }>(originalProps: TProps): Omit<TProps, keyof StylingProps> => {\n\tconst [props, styles] = extractStylingProps(originalProps);\n\n\tconst newClassName = useStyle(styles, undefined);\n\n\tif (newClassName) {\n\t\tprops.className = props.className ? appendClassName(props.className, newClassName) : newClassName;\n\t}\n\n\treturn props;\n};\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport { css } from '@rocket.chat/css-in-js';\n\nimport { useStyle } from './useStyle';\nimport { appendClassName } from '../helpers/appendClassName';\nimport type { Falsy } from '../types/Falsy';\n\nexport const useArrayLikeClassNameProp = <\n\tT extends {\n\t\tclassName?: string | cssFn | (string | cssFn | Falsy)[];\n\t},\n>(\n\tprops: T,\n): T & { className: string } => {\n\tconst classNames = props.className ? ([] as (string | cssFn | Falsy)[]).concat(props.className) : [];\n\n\tconst cssFns = classNames.filter((value): value is cssFn => typeof value === 'function');\n\tconst stylesClassName = useStyle(\n\t\tcss`\n\t\t\t${cssFns}\n\t\t`,\n\t\tprops,\n\t);\n\n\tconst strings = classNames.filter((value): value is string => typeof value === 'string');\n\n\tconst className = strings.reduce((className, string) => appendClassName(className, string), stylesClassName || '');\n\n\treturn Object.assign(props, { className });\n};\n","const isStringArray = (value: string | string[] | undefined): value is string[] => Array.isArray(value);\n\nexport const prependClassName: {\n\t(currentClassName: string[] | undefined, newClassName: string): string[];\n\t(currentClassName: string | undefined, newClassName: string): string;\n} = (currentClassName: string | string[] | undefined, newClassName: string): any => {\n\tif (isStringArray(currentClassName)) {\n\t\treturn [newClassName, ...currentClassName];\n\t}\n\n\tif (currentClassName) {\n\t\treturn `${newClassName} ${currentClassName}`;\n\t}\n\n\treturn newClassName;\n};\n","import type { AllHTMLAttributes } from 'react';\n\nimport { prependClassName } from '../helpers/prependClassName';\n\nexport const useBoxOnlyProps = <\n\tT extends {\n\t\tclassName: string;\n\t},\n>(\n\tprops: T & {\n\t\tanimated?: boolean;\n\t\twithRichContent?: boolean | 'inlineWithoutBreaks';\n\t\thtmlSize?: AllHTMLAttributes<HTMLElement>['size'];\n\t\tsize?: AllHTMLAttributes<HTMLElement>['size'];\n\t\tfocusable?: boolean;\n\t},\n): T => {\n\tObject.entries(props).forEach(([key, value]) => {\n\t\tif (key.slice(0, 4) === 'rcx-') {\n\t\t\ttry {\n\t\t\t\tif (!value) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst newClassName = value === true ? key : `${key}-${value}`;\n\t\t\t\tprops.className = prependClassName(props.className, newClassName);\n\t\t\t} finally {\n\t\t\t\tdelete (props as Record<string, unknown>)[key];\n\t\t\t}\n\t\t}\n\t});\n\n\tif (props.animated) {\n\t\tprops.className = prependClassName(props.className, 'rcx-box--animated');\n\t\tdelete props.animated;\n\t}\n\n\tif (props.withRichContent) {\n\t\tif (props.withRichContent === 'inlineWithoutBreaks') {\n\t\t\tprops.className = prependClassName(props.className, 'rcx-box--with-inline-elements');\n\t\t} else {\n\t\t\tprops.className = prependClassName(props.className, 'rcx-box--with-inline-elements');\n\n\t\t\tprops.className = prependClassName(props.className, 'rcx-box--with-block-elements');\n\t\t}\n\t}\n\n\tif (props.htmlSize) {\n\t\tprops.size = props.htmlSize;\n\t\tdelete props.htmlSize;\n\t}\n\n\tif (props.focusable) {\n\t\tprops.className = prependClassName(props.className, 'rcx-box--focusable');\n\t\tdelete props.focusable;\n\t}\n\n\tdelete props.withRichContent;\n\n\tprops.className = prependClassName(props.className, 'rcx-box rcx-box--full');\n\n\treturn props;\n};\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport type { AllHTMLAttributes, ElementType, RefAttributes, SVGAttributes } from 'react';\nimport { createElement, memo } from 'react';\n\nimport { useBoxTransform, BoxTransforms } from './BoxTransforms';\nimport type { StylingProps } from './stylingProps';\nimport { useStylingProps } from './useStylingProps';\nimport { useArrayLikeClassNameProp } from '../../hooks/useArrayLikeClassNameProp';\nimport { useBoxOnlyProps } from '../../hooks/useBoxOnlyProps';\nimport type { Falsy } from '../../types/Falsy';\n\nexport type BoxProps = Partial<StylingProps> &\n\tOmit<AllHTMLAttributes<HTMLElement>, 'ref' | 'is' | 'className' | 'size' | 'elevation' | keyof StylingProps> &\n\tOmit<SVGAttributes<SVGElement>, keyof AllHTMLAttributes<HTMLElement> | 'elevation' | keyof StylingProps> &\n\tRefAttributes<any> & {\n\t\t/**\n\t\t * The `is` prop is used to render the Box as a different HTML tag. It can also be used to render a different fuselage component.\n\t\t */\n\t\tis?: ElementType;\n\t\tclassName?: string | cssFn | (string | cssFn | Falsy)[];\n\t\tanimated?: boolean;\n\t\twithRichContent?: boolean | 'inlineWithoutBreaks';\n\t\thtmlSize?: AllHTMLAttributes<HTMLElement>['size'];\n\t\tfocusable?: boolean;\n\t};\n\nfunction Box({ is = 'div', ...props }: BoxProps) {\n\tlet propsWithStringClassName = useArrayLikeClassNameProp(props);\n\n\tconst transformFn = useBoxTransform();\n\tif (transformFn) {\n\t\tpropsWithStringClassName = transformFn(propsWithStringClassName);\n\t}\n\n\tconst propsWithoutStylingProps = useStylingProps(propsWithStringClassName);\n\tconst propsWithoutBoxOnlyProps = useBoxOnlyProps(propsWithoutStylingProps);\n\n\tconst element = createElement(is, propsWithoutBoxOnlyProps);\n\n\tif (transformFn) {\n\t\treturn <BoxTransforms.Provider value={null}>{element}</BoxTransforms.Provider>;\n\t}\n\n\treturn element;\n}\n\nexport default memo(Box);\n","import type { cssFn } from '@rocket.chat/css-in-js';\nimport type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\n\nimport type { StylingProps } from './stylingProps';\nimport { useStylingProps } from './useStylingProps';\nimport { useArrayLikeClassNameProp } from '../../hooks/useArrayLikeClassNameProp';\nimport type { Falsy } from '../../types/Falsy';\n\nexport type StylingBoxProps = {\n\tchildren: ReactElement<{ className?: string }>;\n\tclassName?: string | cssFn | (string | cssFn | Falsy)[];\n} & Partial<StylingProps>;\n\n/**\n * Merges its `StylingProps` props into a `className` prop passed to a child element.\n *\n * This is intended to be used as a wrapper for components that accept styling props but don't need the weight of the\n * `Box` component prop handling internally.\n */\nexport const StylingBox = ({ children, ...props }: StylingBoxProps) => {\n\tconst propsWithStringClassName = useArrayLikeClassNameProp(props);\n\tpropsWithStringClassName.className = [children.props.className, propsWithStringClassName.className].filter(Boolean).join(' ');\n\tconst propsWithoutStylingProps = useStylingProps(propsWithStringClassName);\n\n\treturn cloneElement(children, propsWithoutStylingProps);\n};\n\nexport default StylingBox;\n","import type { ReactNode } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport { StylingBox } from '../Box';\nimport type { StylingProps } from '../Box/stylingProps';\n\nexport type AccordionProps = {\n\tchildren: ReactNode;\n} & Partial<StylingProps>;\n\n/**\n * An `Accordion` allows users to toggle the display of sections of content.\n */\nconst Accordion = ({ children, ...props }: AccordionProps) => (\n\t<StylingBox {...props}>\n\t\t<div className={cx(cxx('rcx-box')('full', 'animated'), 'rcx-accordion')}>{children}</div>\n\t</StylingBox>\n);\n\nexport default Accordion;\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport nameToCharacterMapping from '@rocket.chat/icons';\n\nimport type { statusColors, textIconColors } from '../../Theme';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\n\ntype FontColor<T> = T extends `font-${infer Color}` ? Color : never;\n\n/** A semantic text or status font token. */\nexport type IconColor = FontColor<keyof typeof textIconColors> | keyof typeof statusColors;\n\nexport type IconProps = ElementProps<HTMLElement> & {\n\tname: IconName;\n\tsize?: BoxProps['width'];\n\t/** The colour of the glyph; without it, the icon takes the colour of the text around it. */\n\tcolor?: IconColor;\n};\n\nfunction Icon({ name, size, ...props }: IconProps) {\n\treturn (\n\t\t<Box is='i' rcx-icon rcx-icon--name={name} aria-hidden='true' fontSize={size} {...props}>\n\t\t\t{nameToCharacterMapping[name]}\n\t\t</Box>\n\t);\n}\n\nexport default Icon;\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\nimport { Icon } from '../Icon';\n\nexport type ChevronProps = ElementProps<HTMLSpanElement> & {\n\tsize?: BoxProps['width'];\n\tup?: boolean;\n\tright?: boolean;\n\tleft?: boolean;\n\tdown?: boolean;\n\ttop?: boolean;\n\tbottom?: boolean;\n};\n\nfunction Chevron({ up, right, down, left, size, ...props }: ChevronProps): ReactElement<ChevronProps> {\n\tconst children = useMemo(() => <Icon name='chevron-down' size={size} />, [size]);\n\n\treturn (\n\t\t<Box is='span' rcx-chevron rcx-chevron--up={up} rcx-chevron--right={right} rcx-chevron--down={down} rcx-chevron--left={left} {...props}>\n\t\t\t{children}\n\t\t</Box>\n\t);\n}\n\nexport default Chevron;\n","import { useToggle } from '@rocket.chat/fuselage-hooks';\nimport { useId, type KeyboardEvent, type MouseEvent, type ReactNode } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport { StylingBox } from '../Box';\nimport { Chevron } from '../Chevron';\n\nexport type AccordionItemProps = {\n\tchildren?: ReactNode;\n\tclassName?: string;\n\tdefaultExpanded?: boolean;\n\tdisabled?: boolean;\n\texpanded?: boolean;\n\ttabIndex?: number;\n\ttitle: ReactNode;\n\tnoncollapsible?: boolean;\n};\n\nconst AccordionItem = ({\n\tchildren,\n\tdefaultExpanded,\n\tdisabled = false,\n\texpanded: propExpanded,\n\ttabIndex = 0,\n\ttitle,\n\tnoncollapsible = !title,\n\t...props\n}: AccordionItemProps) => {\n\tconst [stateExpanded, toggleStateExpanded] = useToggle(defaultExpanded);\n\tconst expanded = propExpanded || stateExpanded;\n\n\tconst panelExpanded = noncollapsible || expanded;\n\n\tconst titleId = useId();\n\tconst panelId = useId();\n\n\tconst handleClick = (e: MouseEvent<HTMLElement>) => {\n\t\tif (disabled) {\n\t\t\treturn;\n\t\t}\n\t\te.currentTarget?.blur();\n\t\ttoggleStateExpanded();\n\t};\n\n\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\tif (disabled || event.currentTarget !== event.target) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (![' ', 'Enter'].includes(event.key)) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tif (event.repeat) {\n\t\t\treturn;\n\t\t}\n\n\t\ttoggleStateExpanded();\n\t};\n\n\tconst collapsibleProps = {\n\t\t'aria-controls': panelId,\n\t\t'aria-expanded': expanded ? 'true' : 'false',\n\t\t'tabIndex': !disabled ? tabIndex : undefined,\n\t\t'onClick': handleClick,\n\t\t'onKeyDown': handleKeyDown,\n\t} as const;\n\n\tconst nonCollapsibleProps = {\n\t\t'aria-disabled': 'true',\n\t\t'aria-expanded': 'true',\n\t\t'aria-labelledby': titleId,\n\t} as const;\n\n\tconst barProps = noncollapsible ? nonCollapsibleProps : collapsibleProps;\n\n\treturn (\n\t\t<StylingBox {...props}>\n\t\t\t<section className={cx(cxx('rcx-box')('full'), 'rcx-accordion-item')}>\n\t\t\t\t{title && (\n\t\t\t\t\t<div role='button' className={cx(cxx('rcx-box')('full', 'animated'), cxx('rcx-accordion-item__bar')({ disabled }))} {...barProps}>\n\t\t\t\t\t\t<h2 className={cx(cxx('rcx-box')('full'), 'rcx-accordion-item__title')} id={titleId}>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t{!noncollapsible && <Chevron size='x24' up={expanded} />}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div className={cx(cxx('rcx-box')('full', 'animated'), cxx('rcx-accordion-item__panel')({ expanded: panelExpanded }))} id={panelId}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</StylingBox>\n\t);\n};\n\nexport default AccordionItem;\n","import { css, keyframes } from '@rocket.chat/css-in-js';\nimport type { ReactNode } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { useStyle } from '../../hooks/useStyle';\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type VisibilityType = 'hidden' | 'visible' | 'hiding' | 'unhiding' | undefined;\n\nexport type AnimatedVisibilityProps = {\n\tchildren: ReactNode;\n\tvisibility?: VisibilityType;\n};\n\nconst AnimatedVisibility = (props: AnimatedVisibilityProps) => {\n\tconst propVisibility = props.visibility || AnimatedVisibility.HIDDEN;\n\n\tconst [visibility, setVisibility] = useState<VisibilityType>(propVisibility);\n\n\tuseEffect(() => {\n\t\tsetVisibility((visibility) => {\n\t\t\tif (propVisibility === AnimatedVisibility.VISIBLE && visibility !== propVisibility) {\n\t\t\t\treturn AnimatedVisibility.UNHIDING;\n\t\t\t}\n\n\t\t\tif (propVisibility === AnimatedVisibility.HIDDEN && visibility !== propVisibility) {\n\t\t\t\treturn AnimatedVisibility.HIDING;\n\t\t\t}\n\n\t\t\treturn visibility;\n\t\t});\n\t}, [propVisibility]);\n\n\tconst className = useStyle(\n\t\tcss`\n\t\t\tanimation-duration: 230ms;\n\t\t\tanimation-fill-mode: both;\n\n\t\t\t${\n\t\t\t\tvisibility === AnimatedVisibility.HIDING &&\n\t\t\t\tcss`\n\t\t\t\t\tanimation-name: ${keyframes`\n from {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n\n to {\n transform: translate3d(0, 1rem, 0);\n opacity: 0;\n }\n `};\n\t\t\t\t`\n\t\t\t}\n\n\t\t\t${\n\t\t\t\tvisibility === AnimatedVisibility.UNHIDING &&\n\t\t\t\tcss`\n\t\t\t\t\tanimation-name: ${keyframes`\n from {\n transform: translate3d(0, 1rem, 0);\n opacity: 0;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n `};\n\t\t\t\t`\n\t\t\t}\n\t\t`,\n\t\tnull,\n\t);\n\n\tconst handleAnimationEnd = useCallback(\n\t\t() =>\n\t\t\tsetVisibility((visibility) => {\n\t\t\t\tif (visibility === AnimatedVisibility.HIDING) {\n\t\t\t\t\treturn AnimatedVisibility.HIDDEN;\n\t\t\t\t}\n\n\t\t\t\tif (visibility === AnimatedVisibility.UNHIDING) {\n\t\t\t\t\treturn AnimatedVisibility.VISIBLE;\n\t\t\t\t}\n\n\t\t\t\treturn visibility;\n\t\t\t}),\n\t\t[],\n\t);\n\n\tconst transformFn = useCallback(\n\t\t(props: any) => {\n\t\t\tif (props.onAnimationEnd === undefined) {\n\t\t\t\tprops.onAnimationEnd = handleAnimationEnd;\n\t\t\t}\n\t\t\tprops.className = className && appendClassName(props.className, className);\n\t\t\treturn props;\n\t\t},\n\t\t[className, handleAnimationEnd],\n\t);\n\n\tconst composedFn = useComposedBoxTransform(transformFn);\n\tif (visibility === AnimatedVisibility.HIDDEN) {\n\t\treturn null;\n\t}\n\n\treturn <BoxTransforms.Provider value={composedFn}>{props.children}</BoxTransforms.Provider>;\n};\n\nAnimatedVisibility.HIDDEN = 'hidden' as VisibilityType;\nAnimatedVisibility.VISIBLE = 'visible' as VisibilityType;\nAnimatedVisibility.HIDING = 'hiding' as VisibilityType;\nAnimatedVisibility.UNHIDING = 'unhiding' as VisibilityType;\n\nexport default AnimatedVisibility;\n","import type { ElementType, LabelHTMLAttributes } from 'react';\nimport { createContext, useContext } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nconst LabelContext = createContext(false);\n\nexport type LabelProps = ElementProps<HTMLElement, LabelHTMLAttributes<HTMLElement>> & {\n\t/** Renders another element, such as a `legend` or a `span`. */\n\tis?: ElementType;\n\tdisabled?: boolean;\n\trequired?: boolean;\n};\n\n/**\n * A caption for an input component.\n */\nfunction Label({ disabled, is, required, children, ...props }: LabelProps) {\n\tconst isInsideLabel = useContext(LabelContext);\n\tconst component = is || (isInsideLabel && 'span') || 'label';\n\n\treturn (\n\t\t<LabelContext.Provider value={true}>\n\t\t\t<Box is={component} rcx-label rcx-label--disabled={disabled} {...props}>\n\t\t\t\t{children}\n\t\t\t\t{required && (\n\t\t\t\t\t<Box is='span' rcx-label__required marginInlineStart='x4' aria-hidden='true'>\n\t\t\t\t\t\t*\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Box>\n\t\t</LabelContext.Provider>\n\t);\n}\n\nexport default Label;\n","import { css } from '@rocket.chat/css-in-js';\nimport type { LabelHTMLAttributes, OutputHTMLAttributes } from 'react';\nimport type { SliderState } from 'react-stately';\n\nimport { useStyle } from '../../hooks/useStyle';\nimport { Label } from '../Label';\n\ntype SliderHeadProps = {\n\tstate: SliderState;\n\tlabelProps: Omit<LabelHTMLAttributes<HTMLLabelElement>, 'is'>;\n\toutputProps: Omit<OutputHTMLAttributes<HTMLOutputElement>, 'is'>;\n\tlabel?: string;\n\tshowOutput?: boolean;\n\tmultiThumb?: boolean;\n};\nexport const SliderHead = ({ state, labelProps, outputProps, label, showOutput = true, multiThumb }: SliderHeadProps) => {\n\tconst labelContainer = useStyle(\n\t\tcss`\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\t${\n\t\t\t\tstate.orientation === 'vertical' &&\n\t\t\t\tcss`\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t`\n\t\t\t}\n\t\t`,\n\t\tnull,\n\t);\n\tconst output = (\n\t\t<Label {...(outputProps as any)}>\n\t\t\t{multiThumb ? (\n\t\t\t\t<Label {...outputProps} data-testid='slider-output'>\n\t\t\t\t\t{`${state.getThumbValueLabel(0)} - ${state.getThumbValueLabel(1)}`}\n\t\t\t\t</Label>\n\t\t\t) : (\n\t\t\t\t<Label {...outputProps} data-testid='slider-output'>\n\t\t\t\t\t{state.getThumbValueLabel(0)}\n\t\t\t\t</Label>\n\t\t\t)}\n\t\t</Label>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{label ? (\n\t\t\t\t<div className={labelContainer}>\n\t\t\t\t\t<Label {...labelProps}>{label}</Label>\n\t\t\t\t\t{showOutput && output}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tshowOutput && output\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport { useRef } from 'react';\nimport { mergeProps, useFocusRing, useSliderThumb, VisuallyHidden } from 'react-aria';\n\nimport { Palette } from '../../Theme';\nimport { useStyle } from '../../hooks/useStyle';\n\nexport const SliderThumb = (props: any) => {\n\tconst { state, trackRef, index } = props;\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst { thumbProps, inputProps, isDragging } = useSliderThumb(\n\t\t{\n\t\t\tindex,\n\t\t\ttrackRef,\n\t\t\tinputRef,\n\t\t},\n\t\tstate,\n\t);\n\n\tconst { focusProps, isFocusVisible } = useFocusRing();\n\n\tconst thumb = useStyle(\n\t\tcss`\n\t\t\twidth: 12px;\n\t\t\theight: 12px;\n\n\t\t\tcursor: ${state.isDisabled ? 'not-allowed' : 'pointer'};\n\t\t\tborder-radius: 50%;\n\t\t\tbackground: ${isFocusVisible || isDragging ? Palette.text['font-info'] : Palette.stroke['stroke-highlight']};\n\t\t\t${\n\t\t\t\tstate.orientation === 'horizontal'\n\t\t\t\t\t? css`\n\t\t\t\t\t\t\ttop: 50%;\n\t\t\t\t\t\t`\n\t\t\t\t\t: css`\n\t\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\t`\n\t\t\t}\n\t\t`,\n\t\t{ isFocusVisible, isDragging },\n\t);\n\treturn (\n\t\t<div {...thumbProps} className={thumb}>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<input ref={inputRef} {...mergeProps(inputProps, focusProps)} />\n\t\t\t</VisuallyHidden>\n\t\t</div>\n\t);\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport type { DOMAttributes, RefObject, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { SliderState } from 'react-stately';\n\nimport { Palette } from '../../Theme';\nimport { useStyle } from '../../hooks/useStyle';\n\ntype SliderTrackProps = {\n\ttrackProps: DOMAttributes<Element>;\n\ttrackRef: RefObject<HTMLDivElement | null>;\n\tstate: SliderState;\n\tchildren: ReactNode;\n\tmultiThumb?: boolean;\n};\n\nconst highlight = Palette.stroke['stroke-highlight'];\nconst light = Palette.stroke['stroke-light'];\n\nexport const SliderTrack = ({ trackProps, trackRef, state, multiThumb, children }: SliderTrackProps) => {\n\tconst isHorizontal = useMemo(() => state.orientation === 'horizontal', [state.orientation]);\n\tconst isVertical = useMemo(() => state.orientation === 'vertical', [state.orientation]);\n\n\tconst getThumbPosition = useMemo(\n\t\t() => (value: number) => {\n\t\t\tconst maxValue = state.getThumbMaxValue(1) || state.getThumbMaxValue(0);\n\t\t\tconst minValue = state.getThumbMinValue(0);\n\t\t\treturn (value / (maxValue - minValue)) * 100;\n\t\t},\n\t\t[state],\n\t);\n\n\tconst getTrackGradient = () => {\n\t\tif (isHorizontal) {\n\t\t\treturn multiThumb\n\t\t\t\t? `to right, ${light} ${getThumbPosition(state.values[0])}%, ${highlight} 0, ${highlight} ${getThumbPosition(\n\t\t\t\t\t\tstate.values[1],\n\t\t\t\t\t)}%, ${light} 0`\n\t\t\t\t: `to right, ${highlight} ${getThumbPosition(state.values[0])}%, ${light} 0%`;\n\t\t}\n\n\t\tif (isVertical) {\n\t\t\treturn multiThumb\n\t\t\t\t? `to top, ${light} ${getThumbPosition(state.values[0])}%, ${highlight} 0, ${highlight} ${getThumbPosition(\n\t\t\t\t\t\tstate.values[1],\n\t\t\t\t\t)}%, ${light} 0`\n\t\t\t\t: `to top, ${highlight} ${getThumbPosition(state.values[0])}%, ${light} 0%`;\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tconst track = useStyle(\n\t\tcss`\n\t\t\t&::before {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tcontent: '';\n\n\t\t\t\tbackground: linear-gradient(${getTrackGradient()});\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-radius: 1rem;\n\t\t\t}\n\t\t\t${\n\t\t\t\tisHorizontal &&\n\t\t\t\tcss`\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\theight: 30px;\n\t\t\t\t\t&::before {\n\t\t\t\t\t\ttop: 50%;\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\theight: 4px;\n\t\t\t\t\t\ttransform: translateY(-50%);\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t};\n\t\t\t${\n\t\t\t\tisVertical &&\n\t\t\t\tcss`\n\t\t\t\t\twidth: 30px;\n\t\t\t\t\theight: 100%;\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\twidth: 4px;\n\t\t\t\t\t\theight: 100%;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t};\n\t\t\t${\n\t\t\t\tstate.isDisabled &&\n\t\t\t\tcss`\n\t\t\t\t\tcursor: not-allowed;\n\t\t\t\t\topacity: 0.4;\n\t\t\t\t`\n\t\t\t};\n\t\t`,\n\t\tstate,\n\t);\n\n\treturn (\n\t\t<div {...trackProps} ref={trackRef} className={track}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport type { AriaAttributes, RefAttributes } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { AriaSliderProps } from 'react-aria';\nimport { useNumberFormatter, useSlider } from 'react-aria';\nimport { useSliderState } from 'react-stately';\n\nimport { SliderHead } from './SliderHead';\nimport { SliderThumb } from './SliderThumb';\nimport { SliderTrack } from './SliderTrack';\nimport { useStyle } from '../../hooks/useStyle';\n\nexport type SliderProps<T extends number | number[]> = AriaAttributes &\n\tRefAttributes<HTMLDivElement> & {\n\t\t/**\n\t\t * The display format of the value output.\n\t\t */\n\t\tformatOptions?: Intl.NumberFormatOptions;\n\t\t/**\n\t\t * The id of the slider input element, used to connect with an external label.\n\t\t */\n\t\tid?: string;\n\t\tlabel?: string;\n\t\tshowOutput?: boolean;\n\t\t/**\n\t\t * Slider with multiple thumbs.\n\t\t * @default false\n\t\t */\n\t\tmultiThumb?: T extends number[] ? true : false;\n\t\tstep?: number;\n\t\t/**\n\t\t * @default 0\n\t\t */\n\t\tminValue?: number;\n\t\t/**\n\t\t * @default 100\n\t\t */\n\t\tmaxValue?: number;\n\t\torientation?: 'horizontal' | 'vertical';\n\t\tdisabled?: boolean;\n\t\tdefaultValue?: T;\n\t} & (\n\t\t| {\n\t\t\t\tvalue: T;\n\t\t\t\tonChange: (value: T) => void;\n\t\t }\n\t\t| {\n\t\t\t\tvalue?: never;\n\t\t\t\tonChange?: never;\n\t\t }\n\t);\n\nfunction Slider<T extends number | [min: number, max: number]>({\n\tref,\n\t...props\n}: T extends number ? SliderProps<number> : SliderProps<[min: number, max: number]>) {\n\tconst { label, formatOptions, showOutput = true, multiThumb, maxValue, minValue } = props;\n\n\t// Get a defaultValue in the range for multiThumb\n\tconst getMultiThumbDefaultValue = (): T | undefined => {\n\t\tif (multiThumb && !props.defaultValue) {\n\t\t\tif (minValue && maxValue) {\n\t\t\t\treturn [minValue, maxValue] as T;\n\t\t\t}\n\t\t\tif (minValue) {\n\t\t\t\treturn [minValue, 100] as T;\n\t\t\t}\n\t\t\tif (maxValue) {\n\t\t\t\treturn [0, maxValue] as T;\n\t\t\t}\n\t\t\treturn [0, 100] as T;\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tconst { defaultValue = getMultiThumbDefaultValue() } = props;\n\n\tconst sliderProps = {\n\t\t...props,\n\t\tisDisabled: props.disabled,\n\t} as AriaSliderProps<number | number[]>;\n\n\tconst trackRef = useRef<HTMLDivElement>(null);\n\tconst numberFormatter = useNumberFormatter(formatOptions);\n\tconst sliderState = useSliderState({\n\t\tdefaultValue,\n\t\t...sliderProps,\n\t\tnumberFormatter,\n\t});\n\n\tconst { groupProps, trackProps, labelProps, outputProps } = useSlider(sliderProps, sliderState, trackRef);\n\n\tconst isHorizontal = useMemo(() => sliderState.orientation === 'horizontal', [sliderState.orientation]);\n\tconst isVertical = useMemo(() => sliderState.orientation === 'vertical', [sliderState.orientation]);\n\n\tconst slider = useStyle(\n\t\tcss`\n\t\t\tdisplay: flex;\n\t\t\t${\n\t\t\t\tisHorizontal &&\n\t\t\t\tcss`\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t`\n\t\t\t};\n\t\t\t${\n\t\t\t\tisVertical &&\n\t\t\t\tcss`\n\t\t\t\t\tflex-direction: row-reverse;\n\t\t\t\t\theight: 100%;\n\t\t\t\t`\n\t\t\t}\n\t\t`,\n\t\tsliderState,\n\t);\n\n\treturn (\n\t\t<div {...groupProps} ref={ref} className={slider}>\n\t\t\t<SliderHead\n\t\t\t\tlabelProps={labelProps}\n\t\t\t\toutputProps={outputProps}\n\t\t\t\tstate={sliderState}\n\t\t\t\tshowOutput={showOutput}\n\t\t\t\tlabel={label}\n\t\t\t\tmultiThumb={multiThumb}\n\t\t\t/>\n\t\t\t<SliderTrack state={sliderState} trackProps={trackProps} trackRef={trackRef} multiThumb={multiThumb}>\n\t\t\t\t<SliderThumb index={0} state={sliderState} trackRef={trackRef} />\n\t\t\t\t{multiThumb && <SliderThumb index={1} state={sliderState} trackRef={trackRef} />}\n\t\t\t</SliderTrack>\n\t\t</div>\n\t);\n}\n\nexport default Slider;\n","import type { MouseEvent } from 'react';\n\nimport { Box, Button, IconButton } from '../..';\nimport { Slider } from '../Slider';\n\nconst getMaskTime = (durationTime: number) => new Date(durationTime * 1000).toISOString().slice(durationTime > 60 * 60 ? 11 : 14, 19);\n\nexport type AudioPlayerControlsProps = {\n\tisPlaying: boolean;\n\tcurrentTime: number;\n\tdurationTime: number;\n\tplaybackSpeed: number;\n\tonTogglePlay: () => void;\n\tonSeek: (time: number) => void;\n\tonChangePlaybackSpeed: () => void;\n\tdownload?: boolean;\n\tdownloadHref?: string;\n\tonDownload?: (event: MouseEvent<HTMLElement>) => void;\n\tplayLabel?: string;\n\tpauseLabel?: string;\n\taudioPlaybackRangeLabel?: string;\n\tchangePlaybackSpeedLabel?: string;\n\tdownloadAudioFileLabel?: string;\n};\n\n/**\n * Presentational, fully controlled audio controls (play/pause, seek, elapsed\n * time, playback speed and optional download). It owns no `<audio>` element and\n * no playback state, so it can be driven by any source — a local element or a\n * shared/persistent one. `AudioPlayer` wraps this with its own element for the\n * common self-contained case.\n */\nconst AudioPlayerControls = ({\n\tisPlaying,\n\tcurrentTime,\n\tdurationTime,\n\tplaybackSpeed,\n\tonTogglePlay,\n\tonSeek,\n\tonChangePlaybackSpeed,\n\tdownload = false,\n\tdownloadHref,\n\tonDownload,\n\tplayLabel = 'Play',\n\tpauseLabel = 'Pause',\n\taudioPlaybackRangeLabel = 'Audio Playback Range',\n\tchangePlaybackSpeedLabel = 'Change Playback Speed',\n\tdownloadAudioFileLabel = 'Download Audio File',\n}: AudioPlayerControlsProps) => (\n\t<Box display='flex' alignItems='center' width='full'>\n\t\t<IconButton\n\t\t\tprimary\n\t\t\tmedium\n\t\t\tonClick={onTogglePlay}\n\t\t\taria-label={isPlaying ? pauseLabel : playLabel}\n\t\t\ticon={isPlaying ? 'pause-shape-filled' : 'play-shape-filled'}\n\t\t/>\n\t\t<Box display='flex' alignItems='center' flexGrow={1} marginInline={8} gap={16}>\n\t\t\t<Box fontScale='p2' color='secondary-info'>\n\t\t\t\t{isPlaying || currentTime > 0 ? getMaskTime(currentTime) : getMaskTime(durationTime)}\n\t\t\t</Box>\n\t\t\t<Box width='full'>\n\t\t\t\t<Slider\n\t\t\t\t\taria-label={audioPlaybackRangeLabel}\n\t\t\t\t\tshowOutput={false}\n\t\t\t\t\tvalue={currentTime}\n\t\t\t\t\tmaxValue={durationTime}\n\t\t\t\t\tonChange={(value) => onSeek(Array.isArray(value) ? value[0] : value)}\n\t\t\t\t/>\n\t\t\t</Box>\n\n\t\t\t<Button secondary small onClick={onChangePlaybackSpeed} aria-label={changePlaybackSpeedLabel}>\n\t\t\t\t{playbackSpeed}x\n\t\t\t</Button>\n\t\t</Box>\n\t\t{download && (\n\t\t\t<IconButton\n\t\t\t\tprimary\n\t\t\t\tmedium\n\t\t\t\tis='a'\n\t\t\t\thref={downloadHref}\n\t\t\t\tdownload\n\t\t\t\ticon='download'\n\t\t\t\taria-label={downloadAudioFileLabel}\n\t\t\t\tonClick={onDownload}\n\t\t\t/>\n\t\t)}\n\t</Box>\n);\n\nexport default AudioPlayerControls;\n","import { useMergedRefs, useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport type { RefAttributes, TrackHTMLAttributes } from 'react';\nimport { useState, useRef } from 'react';\n\nimport { Box } from '../..';\nimport AudioPlayerControls from './AudioPlayerControls';\nimport { useOwnerDocument } from '../../contexts';\n\nfunction forceDownload(ownerDocument: Document, url: string, fileName?: string) {\n\tconst xhr = new XMLHttpRequest();\n\txhr.open('GET', url, true);\n\txhr.responseType = 'blob';\n\txhr.onload = function () {\n\t\tconst urlCreator = window.URL || window.webkitURL;\n\t\tconst imageUrl = urlCreator.createObjectURL(this.response);\n\t\tconst tag = ownerDocument.createElement('a');\n\t\ttag.href = imageUrl;\n\t\tif (fileName) {\n\t\t\ttag.download = fileName;\n\t\t}\n\t\townerDocument.body.appendChild(tag);\n\t\ttag.click();\n\t\townerDocument.body.removeChild(tag);\n\t};\n\txhr.send();\n}\n\nconst getDurationForInfinityDurationAudioFile = (src: string, callback: (duration: number) => void) => {\n\tconst audioElement = new Audio();\n\taudioElement.src = src;\n\n\taudioElement.addEventListener('loadedmetadata', () => {\n\t\tconst { duration } = audioElement;\n\t\tif (duration === Infinity) {\n\t\t\taudioElement.currentTime = 1e101;\n\t\t\treturn;\n\t\t}\n\n\t\treturn callback(duration);\n\t});\n\n\taudioElement.addEventListener('durationchange', () => {\n\t\tif (audioElement.duration === Infinity) {\n\t\t\treturn;\n\t\t}\n\t\tcallback(audioElement.duration);\n\t\taudioElement.remove();\n\t});\n};\n\n/**\n * A Fuselage’s custom AudioPlayer.\n */\nexport type AudioPlayerProps = RefAttributes<HTMLAudioElement> & {\n\tsrc: string;\n\ttype?: string;\n\tmaxPlaybackSpeed?: number;\n\tminPlaybackSpeed?: number;\n\tplaybackSpeedStep?: number;\n\tdownload?: boolean;\n\tplayLabel?: string;\n\tpauseLabel?: string;\n\taudioPlaybackRangeLabel?: string;\n\tchangePlaybackSpeedLabel?: string;\n\tdownloadAudioFileLabel?: string;\n\ttrackProps?: TrackHTMLAttributes<HTMLTrackElement>;\n};\n\nconst AudioPlayer = ({\n\tref,\n\tsrc,\n\ttype = 'audio/mpeg',\n\tmaxPlaybackSpeed = 2,\n\tminPlaybackSpeed = 0.5,\n\tplaybackSpeedStep = 0.25,\n\tdownload = false,\n\tplayLabel = 'Play',\n\tpauseLabel = 'Pause',\n\taudioPlaybackRangeLabel = 'Audio Playback Range',\n\tchangePlaybackSpeedLabel = 'Change Playback Speed',\n\tdownloadAudioFileLabel = 'Download Audio File',\n\ttrackProps,\n}: AudioPlayerProps) => {\n\tconst audioRef = useRef<HTMLAudioElement>(null);\n\tconst refs = useMergedRefs(ref, audioRef);\n\tconst [isPlaying, setIsPlaying] = useState(false);\n\tconst [currentTime, setCurrentTime] = useState(0);\n\tconst [durationTime, setDurationTime] = useState(0);\n\tconst [playbackSpeed, setPlaybackSpeed] = useState(1);\n\tconst { ref: containerRef } = useResizeObserver();\n\n\tconst handlePlay = () => {\n\t\tconst isPlaying = audioRef.current?.paused;\n\n\t\tif (isPlaying) {\n\t\t\tvoid audioRef.current?.play();\n\t\t} else {\n\t\t\taudioRef.current?.pause();\n\t\t}\n\t};\n\n\tconst handlePlaybackSpeed = (mod: 1 | -1) => {\n\t\tif (audioRef.current) {\n\t\t\taudioRef.current.playbackRate += playbackSpeedStep * mod;\n\t\t}\n\t};\n\n\tconst handlePlaybackSpeedSingleControl = () => {\n\t\tif (!audioRef.current) return;\n\n\t\tconst reachedMaxPlaybackSpeed = maxPlaybackSpeed === audioRef?.current?.playbackRate;\n\n\t\tif (reachedMaxPlaybackSpeed) {\n\t\t\taudioRef.current.playbackRate = minPlaybackSpeed;\n\t\t\treturn;\n\t\t}\n\t\thandlePlaybackSpeed(1);\n\t};\n\n\tconst { document: ownerDocument } = useOwnerDocument();\n\n\treturn (\n\t\t<Box\n\t\t\tborderWidth='default'\n\t\t\tbackgroundColor='tint'\n\t\t\tborderColor='extra-light'\n\t\t\tpaddingBlock={12}\n\t\t\tpaddingInlineEnd={8}\n\t\t\tpaddingInlineStart={16}\n\t\t\tborderRadius='medium'\n\t\t\twidth='100%'\n\t\t\tmaxWidth='x300'\n\t\t\tref={containerRef}\n\t\t\tdisplay='flex'\n\t\t\talignItems='center'\n\t\t>\n\t\t\t<AudioPlayerControls\n\t\t\t\tisPlaying={isPlaying}\n\t\t\t\tcurrentTime={currentTime}\n\t\t\t\tdurationTime={durationTime}\n\t\t\t\tplaybackSpeed={playbackSpeed}\n\t\t\t\tonTogglePlay={handlePlay}\n\t\t\t\tonSeek={(time) => {\n\t\t\t\t\tif (audioRef.current) {\n\t\t\t\t\t\taudioRef.current.currentTime = time;\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonChangePlaybackSpeed={handlePlaybackSpeedSingleControl}\n\t\t\t\tdownload={download}\n\t\t\t\tdownloadHref={src}\n\t\t\t\tonDownload={(e) => {\n\t\t\t\t\tconst { host } = new URL(src);\n\t\t\t\t\tif (host !== ownerDocument.defaultView?.location.host) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tforceDownload(ownerDocument, src);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tplayLabel={playLabel}\n\t\t\t\tpauseLabel={pauseLabel}\n\t\t\t\taudioPlaybackRangeLabel={audioPlaybackRangeLabel}\n\t\t\t\tchangePlaybackSpeedLabel={changePlaybackSpeedLabel}\n\t\t\t\tdownloadAudioFileLabel={downloadAudioFileLabel}\n\t\t\t/>\n\t\t\t<audio\n\t\t\t\tstyle={{ display: 'none' }}\n\t\t\t\tonTimeUpdate={(e) => {\n\t\t\t\t\tsetCurrentTime((e.target as HTMLAudioElement).currentTime);\n\t\t\t\t}}\n\t\t\t\tonLoadedMetadata={(e) => {\n\t\t\t\t\tconst { duration } = e.target as HTMLAudioElement;\n\n\t\t\t\t\tif (duration !== Infinity) {\n\t\t\t\t\t\treturn setDurationTime(duration);\n\t\t\t\t\t}\n\n\t\t\t\t\tgetDurationForInfinityDurationAudioFile(src, setDurationTime);\n\t\t\t\t}}\n\t\t\t\tonEnded={() => setIsPlaying(false)}\n\t\t\t\tref={refs}\n\t\t\t\tpreload='metadata'\n\t\t\t\tonRateChange={(e) => {\n\t\t\t\t\tsetPlaybackSpeed((e.target as HTMLAudioElement).playbackRate);\n\t\t\t\t}}\n\t\t\t\tonPlay={() => {\n\t\t\t\t\tsetIsPlaying(true);\n\t\t\t\t}}\n\t\t\t\tonPause={() => {\n\t\t\t\t\tsetIsPlaying(false);\n\t\t\t\t}}\n\t\t\t\tcontrols\n\t\t\t>\n\t\t\t\t<source src={src} type={type} />\n\t\t\t\t<track kind='captions' {...trackProps} />\n\t\t\t</audio>\n\t\t</Box>\n\t);\n};\n\nexport default AudioPlayer;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type AvatarContainerProps = {\n\tsize?: 'x16' | 'x18' | 'x20' | 'x24' | 'x28' | 'x32' | 'x36' | 'x40' | 'x48' | 'x124' | 'x200' | 'x332';\n} & HTMLAttributes<HTMLElement>;\n\nconst AvatarContainer = ({ size = 'x36', children, ...props }: AvatarContainerProps) => {\n\tprops.className = prependClassName(\n\t\tprops.className,\n\t\t['rcx-box rcx-box--full rcx-avatar', size && `rcx-avatar--${size}`].filter(Boolean).join(' '),\n\t);\n\n\treturn <figure {...props}>{children}</figure>;\n};\n\nexport default AvatarContainer;\n","import type { AllHTMLAttributes, CSSProperties } from 'react';\n\nimport AvatarContainer, { type AvatarContainerProps } from './AvatarContainer';\n\nexport type AvatarProps = AvatarContainerProps & {\n\trounded?: boolean;\n\tobjectFit?: CSSProperties['objectFit'];\n\turl: string;\n} & Omit<AllHTMLAttributes<HTMLImageElement>, 'size'>;\n\nconst Avatar = ({ size = 'x36', rounded = false, objectFit, url, className, alt, ...props }: AvatarProps) => {\n\tconst innerClass = [\n\t\t'rcx-avatar__element',\n\t\tsize && `rcx-avatar__element--${size}`,\n\t\trounded && 'rcx-avatar__element--rounded',\n\t\tobjectFit && `rcx-avatar__element--object-fit-${objectFit}`,\n\t]\n\t\t.filter(Boolean)\n\t\t.join(' ');\n\n\treturn (\n\t\t<AvatarContainer size={size} className={className}>\n\t\t\t<img src={url} className={innerClass} alt={alt || ''} {...props} />\n\t\t</AvatarContainer>\n\t);\n};\n\nexport default Avatar;\n","import type { DetailedHTMLProps, HTMLAttributes } from 'react';\nimport flattenChildren from 'react-keyed-flatten-children';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type AvatarStackProps = DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n\nconst AvatarStack = ({ children, ...props }: AvatarStackProps) => {\n\tprops.className = prependClassName(props.className, 'rcx-avatar-stack');\n\treturn <div {...props}>{flattenChildren(children).reverse()}</div>;\n};\n\nexport default AvatarStack;\n","import type { ComponentPropsWithoutRef, ComponentType } from 'react';\n\nimport type { StylingProps } from './stylingProps';\nimport { useStylingProps } from './useStylingProps';\n\nexport const withBoxStyling = <\n\tTComponent extends ComponentType<{\n\t\tclassName?: string;\n\t}>,\n>(\n\tComponent: TComponent,\n) => {\n\tconst WithBoxStyling = (props: ComponentPropsWithoutRef<TComponent> & Partial<StylingProps>) => {\n\t\tconst propsWithoutStylingProps = useStylingProps(props);\n\t\treturn <Component {...(propsWithoutStylingProps as any)} />;\n\t};\n\n\tWithBoxStyling.displayName = `WithBoxStyling(${Component.displayName || Component.name || 'Component'})`;\n\n\treturn WithBoxStyling;\n};\n","const isObject = (value: unknown): value is Record<string | number | symbol, unknown> => typeof value === 'object' && value !== null;\n\nconst compareObjects = (a: Record<string | number | symbol, unknown>, b: Record<string | number | symbol, unknown>) => {\n\tconst keysA = Object.keys(a);\n\tconst keysB = Object.keys(b);\n\n\tif (keysA.length !== keysB.length) {\n\t\treturn false;\n\t}\n\n\treturn !keysA.some((key) => !b.hasOwnProperty(key) || a[key] !== b[key]);\n};\n\nexport const shallowEqual = (a: unknown, b: unknown) => {\n\tif (a === b) {\n\t\treturn true;\n\t}\n\n\tif (Number.isNaN(a) && Number.isNaN(b)) {\n\t\treturn true;\n\t}\n\n\tif (!isObject(a) || !isObject(b)) {\n\t\treturn false;\n\t}\n\n\treturn compareObjects(a, b);\n};\n","import type { ReactNode, Attributes } from 'react';\nimport { cloneElement } from 'react';\nimport { isElement } from 'react-is';\n\nimport { flattenChildren } from './flattenChildren';\nimport { shallowEqual } from './shallowEqual';\n\nexport const patchChildren = <TProps>(children: ReactNode, patch: (props: TProps) => TProps & Attributes): ReactNode => {\n\tlet dirty = false;\n\n\tconst newChildren = flattenChildren(children).map((child) => {\n\t\tif (!isElement(child)) {\n\t\t\treturn child;\n\t\t}\n\n\t\tconst mergedProps = patch(child.props as TProps);\n\n\t\tif (shallowEqual(child.props, mergedProps)) {\n\t\t\treturn child;\n\t\t}\n\n\t\tdirty = true;\n\t\treturn cloneElement(child, mergedProps);\n\t});\n\n\tif (dirty) {\n\t\treturn newChildren;\n\t}\n\n\treturn children;\n};\n","import { css } from '@rocket.chat/css-in-js';\nimport type { PropsWithChildren } from 'react';\nimport { useCallback } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { useStyle } from '../../hooks/useStyle';\nimport { spacing } from '../../styleTokens';\nimport type { BoxProps } from '../Box';\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type MarginsProps = PropsWithChildren<{\n\tall?: BoxProps['margin'];\n\tblock?: BoxProps['marginBlock'];\n\tblockStart?: BoxProps['marginBlockStart'];\n\tblockEnd?: BoxProps['marginBlockEnd'];\n\tinline?: BoxProps['marginInline'];\n\tinlineStart?: BoxProps['marginInlineStart'];\n\tinlineEnd?: BoxProps['marginInlineEnd'];\n\tclassName?: string;\n}>;\n\n/**\n * Add margins to the wrapped component.\n */\nconst Margins = (props: MarginsProps) => {\n\tconst { children, className, all, block, blockStart, blockEnd, inline, inlineStart, inlineEnd } = props;\n\n\tconst transformFn = useCallback(\n\t\t(props: any) => {\n\t\t\tif (all !== undefined && props.margin === undefined) {\n\t\t\t\tprops.margin = all;\n\t\t\t}\n\n\t\t\tif (block !== undefined && props.marginBlock === undefined) {\n\t\t\t\tprops.marginBlock = block;\n\t\t\t}\n\n\t\t\tif (blockStart !== undefined && props.marginBlockStart === undefined) {\n\t\t\t\tprops.marginBlockStart = blockStart;\n\t\t\t}\n\n\t\t\tif (blockEnd !== undefined && props.marginBlockEnd === undefined) {\n\t\t\t\tprops.marginBlockEnd = blockEnd;\n\t\t\t}\n\n\t\t\tif (inline !== undefined && props.marginInline === undefined) {\n\t\t\t\tprops.marginInline = inline;\n\t\t\t}\n\n\t\t\tif (inlineStart !== undefined && props.marginInlineStart === undefined) {\n\t\t\t\tprops.marginInlineStart = inlineStart;\n\t\t\t}\n\n\t\t\tif (inlineEnd !== undefined && props.marginInlineEnd === undefined) {\n\t\t\t\tprops.marginInlineEnd = inlineEnd;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t},\n\t\t[all, block, blockEnd, blockStart, inline, inlineEnd, inlineStart],\n\t);\n\n\tconst marginsClassName = useStyle(\n\t\tcss`\n\t\t\t&:not(.rcx-box--full) {\n\t\t\t\t${\n\t\t\t\t\tprops.all &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin: ${spacing(props.all)};\n\t\t\t\t\t`\n\t\t\t\t}\n\t\t\t\t${\n\t\t\t\t\tprops.inline &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin-inline: ${spacing(props.inline)};\n\t\t\t\t\t`\n\t\t\t\t}\n ${\n\t\t\t\t\tprops.inlineStart &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin-inline-start: ${spacing(props.inlineStart)};\n\t\t\t\t\t`\n\t\t\t\t}\n ${\n\t\t\t\t\tprops.inlineEnd &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin-inline-end: ${spacing(props.inlineEnd)};\n\t\t\t\t\t`\n\t\t\t\t}\n ${\n\t\t\t\t\tprops.block &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin-block: ${spacing(props.block)};\n\t\t\t\t\t`\n\t\t\t\t}\n ${\n\t\t\t\t\tprops.blockStart &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin-block-start: ${spacing(props.blockStart)};\n\t\t\t\t\t`\n\t\t\t\t}\n ${\n\t\t\t\t\tprops.blockEnd &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\tmargin-block-end: ${spacing(props.blockEnd)};\n\t\t\t\t\t`\n\t\t\t\t}\n\t\t\t}\n\t\t`,\n\t\tprops,\n\t) as string;\n\n\tconst patchedChildren = patchChildren(children, (childProps: { className: string | string[]; [index: string]: unknown }) => ({\n\t\tclassName: appendClassName(childProps.className, appendClassName(className, marginsClassName)),\n\t}));\n\n\treturn <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>{patchedChildren}</BoxTransforms.Provider>;\n};\n\nexport default Margins;\n","import type { ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\nimport { Avatar } from '../Avatar';\nimport { Box } from '../Box';\nimport { withBoxStyling } from '../Box/withBoxStyling';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\n\nexport type ChipProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'> & {\n\tthumbUrl?: string;\n\trenderThumb?: (props: { url: string }) => ReactNode;\n\trenderDismissSymbol?: () => ReactNode;\n\t/** Renders a 20px tall chip. */\n\tsmall?: boolean;\n\t/** Renders the text in uppercase, for chips that categorize rather than select. */\n\tlabel?: boolean;\n};\n\nconst defaultRenderThumb = ({ url }: { url: string }) => (\n\t<Box rcx-avatar>\n\t\t<Avatar size='x20' url={url} />\n\t</Box>\n);\nconst defaultRenderDismissSymbol = () => <Icon name='cross' size='x16' />;\n\nconst Chip = ({\n\tchildren,\n\tclassName,\n\tthumbUrl,\n\tonClick,\n\tonMouseDown,\n\trenderThumb = defaultRenderThumb,\n\trenderDismissSymbol = defaultRenderDismissSymbol,\n\tsmall,\n\tlabel,\n\t...rest\n}: ChipProps) => {\n\tconst onDismiss = onClick || onMouseDown;\n\n\treturn (\n\t\t<button\n\t\t\ttype='button'\n\t\t\tclassName={prependClassName(className, `rcx-box rcx-chip${small ? ' rcx-chip--small' : ''}${label ? ' rcx-chip--label' : ''}`)}\n\t\t\tdisabled={!onDismiss}\n\t\t\tonClick={onDismiss}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<Margins all='x4'>\n\t\t\t\t{thumbUrl && renderThumb?.({ url: thumbUrl })}\n\t\t\t\t{children && <span className='rcx-box rcx-chip__text'>{children}</span>}\n\t\t\t\t{onDismiss && renderDismissSymbol?.()}\n\t\t\t</Margins>\n\t\t</button>\n\t);\n};\n\nexport default withBoxStyling(Chip);\n","import type { AllHTMLAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type InputProps<T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> = ElementProps<T, AllHTMLAttributes<T>> & {\n\tis?: 'input' | 'textarea' | 'select';\n\thtmlSize?: number;\n\tinvisible?: boolean;\n};\n\nfunction Input<T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(props: InputProps<T>) {\n\treturn <Box is='input' animated rcx-input-box {...props} />;\n}\n\nexport default Input;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type InputBoxAddonProps = ElementProps<HTMLSpanElement>;\n\n/**\n * An addon for the input box.\n */\nfunction InputBoxAddon(props: InputBoxAddonProps) {\n\treturn <Box is='span' rcx-input-box__addon {...props} />;\n}\n\nexport default InputBoxAddon;\n","import type { LabelHTMLAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Label } from '../Label';\n\nexport type InputBoxWrapperProps = ElementProps<HTMLLabelElement, LabelHTMLAttributes<HTMLLabelElement>> & {\n\tinvisible?: boolean;\n};\n\nconst InputBoxWrapper = (props: InputBoxWrapperProps) => <Box animated is={Label} rcx-input-box__wrapper {...props} />;\n\nexport default InputBoxWrapper;\n","import { useMergedRefs } from '@rocket.chat/fuselage-hooks';\nimport type { AllHTMLAttributes, ChangeEvent, ReactNode } from 'react';\nimport { useCallback, useLayoutEffect, useRef } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Icon } from '../Icon';\nimport Input from './Input';\nimport InputBoxAddon from './InputBoxAddon';\nimport InputBoxWrapper from './InputBoxWrapper';\n\nexport type InputBoxProps<T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement = any> = Omit<\n\tElementProps<T, AllHTMLAttributes<T>>,\n\t'type'\n> & {\n\tinvisible?: boolean;\n\tstartAddon?: ReactNode;\n\tendAddon?: ReactNode;\n\t/** Reduces the end padding so a button in `endAddon` sits flush with the input's edge. */\n\tendAddonFlush?: boolean;\n\tinput?: ReactNode;\n\tmultiple?: boolean;\n\terror?: string;\n\tplaceholder?: string;\n\tplaceholderVisible?: boolean;\n\tsmall?: boolean;\n\ttype:\n\t\t| 'button'\n\t\t| 'checkbox'\n\t\t| 'color'\n\t\t| 'date'\n\t\t| 'datetime'\n\t\t| 'datetime-local'\n\t\t| 'email'\n\t\t| 'file'\n\t\t| 'hidden'\n\t\t| 'image'\n\t\t| 'month'\n\t\t| 'number'\n\t\t| 'password'\n\t\t| 'radio'\n\t\t| 'range'\n\t\t| 'reset'\n\t\t| 'search'\n\t\t| 'submit'\n\t\t| 'tel'\n\t\t| 'text'\n\t\t| 'time'\n\t\t| 'url'\n\t\t| 'week'\n\t\t| 'textarea'\n\t\t| 'select';\n};\n\n/**\n * A decorated input control with support for addons.\n *\n * Usually you'll perfer to use `-Input` (e.g. <LinkTo kind='Forms/TextInput' story='Default'>`TextInput`</LinkTo>)\n * components over this one because it works as a construction block for them.\n */\n// oxlint-disable-next-line complexity\nfunction InputBox<T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>({\n\tref,\n\tclassName,\n\tstartAddon,\n\tendAddon,\n\tendAddonFlush,\n\terror,\n\thidden,\n\tinvisible,\n\tmultiple,\n\tplaceholderVisible,\n\ttype = 'text',\n\tsmall,\n\tonChange,\n\t...props\n}: InputBoxProps<T>) {\n\tconst innerRef = useRef<T>(null);\n\tconst mergedRef = useMergedRefs(ref, innerRef);\n\tlet defaultAddon = endAddon;\n\n\tuseLayoutEffect(() => {\n\t\tif (innerRef.current && innerRef.current.setCustomValidity) {\n\t\t\tinnerRef.current.setCustomValidity(error || '');\n\t\t}\n\t}, [error]);\n\n\tuseLayoutEffect(() => {\n\t\tif (defaultAddon && innerRef.current && innerRef.current.parentElement) {\n\t\t\tinnerRef.current.parentElement.classList.toggle('invalid', !innerRef.current.checkValidity());\n\t\t}\n\t}, [defaultAddon, error]);\n\n\tconst handleChange = useCallback(\n\t\t(event: ChangeEvent<T>) => {\n\t\t\tif (defaultAddon && innerRef.current && innerRef.current.parentElement) {\n\t\t\t\tinnerRef.current.parentElement.classList.toggle('invalid', !innerRef.current.checkValidity());\n\t\t\t}\n\n\t\t\tonChange?.call(event.currentTarget, event);\n\t\t},\n\t\t[defaultAddon, onChange],\n\t);\n\n\tconst handleAddonClick = () => (innerRef.current as HTMLInputElement).showPicker();\n\n\tif (type === 'date') {\n\t\tdefaultAddon = <Icon name='calendar' size='x20' onClick={handleAddonClick} />;\n\t}\n\tif (type === 'time') {\n\t\tdefaultAddon = <Icon name='clock' size='x20' onClick={handleAddonClick} />;\n\t}\n\n\tif (!defaultAddon && !startAddon) {\n\t\treturn (\n\t\t\t<Input\n\t\t\t\tis={(type === 'textarea' && 'textarea') || (type === 'select' && 'select') || 'input'}\n\t\t\t\tclassName={className}\n\t\t\t\tcols={(type === 'textarea' && 1) || (type === 'select' && 0) || 0}\n\t\t\t\thidden={hidden}\n\t\t\t\tinvisible={invisible}\n\t\t\t\tmultiple={multiple}\n\t\t\t\tref={mergedRef}\n\t\t\t\thtmlSize={(type === 'textarea' && undefined) || (type === 'select' && 1) || 1}\n\t\t\t\ttype={type === 'textarea' || type === 'select' ? undefined : type}\n\t\t\t\tonChange={handleChange}\n\t\t\t\trcx-input-box--multiple={multiple}\n\t\t\t\trcx-input-box--placeholder-visible={placeholderVisible}\n\t\t\t\trcx-input-box--type={type}\n\t\t\t\trcx-input-box--small={small}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<InputBoxWrapper\n\t\t\tclassName={[props.disabled && 'disabled', className].filter(Boolean).join(' ')}\n\t\t\thidden={hidden}\n\t\t\tinvisible={invisible}\n\t\t\trcx-input-box__wrapper--end-addon-flush={endAddonFlush}\n\t\t>\n\t\t\t{startAddon && <InputBoxAddon>{startAddon}</InputBoxAddon>}\n\t\t\t<Input\n\t\t\t\tis={(type === 'textarea' && 'textarea') || (type === 'select' && 'select') || 'input'}\n\t\t\t\tclassName={className}\n\t\t\t\tcols={(type === 'textarea' && 1) || (type === 'select' && 0) || 0}\n\t\t\t\tmultiple={multiple}\n\t\t\t\tref={mergedRef}\n\t\t\t\thtmlSize={(type === 'textarea' && undefined) || (type === 'select' && 1) || 1}\n\t\t\t\ttype={type === 'textarea' || type === 'select' ? undefined : type}\n\t\t\t\tonChange={handleChange}\n\t\t\t\trcx-input-box--multiple={multiple}\n\t\t\t\trcx-input-box--placeholder-visible={placeholderVisible}\n\t\t\t\trcx-input-box--type={type}\n\t\t\t\trcx-input-box--undecorated\n\t\t\t\trcx-input-box--small={small}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t{defaultAddon && <InputBoxAddon>{defaultAddon}</InputBoxAddon>}\n\t\t</InputBoxWrapper>\n\t);\n}\n\nexport default InputBox;\n","import { cx, cxx } from '../../helpers/composeClassNames';\nimport type { ElementProps } from '../../types/ElementProps';\nimport type { BoxProps } from '../Box';\nimport { StylingBox } from '../Box';\n\nexport type SkeletonProps = ElementProps<HTMLSpanElement> & {\n\tvariant?: 'text' | 'rect' | 'circle';\n\t/** Whether the placeholder sits on a dark surface, such as a tooltip */\n\tinverted?: boolean;\n\t/** The size of the content the placeholder stands in for */\n\twidth?: BoxProps['width'];\n\theight?: BoxProps['height'];\n};\n\nconst Skeleton = ({ variant = 'text', inverted, ...props }: SkeletonProps) => (\n\t<StylingBox {...props}>\n\t\t<span\n\t\t\tclassName={cx(\n\t\t\t\tcxx('rcx-skeleton')({\n\t\t\t\t\ttext: variant === 'text',\n\t\t\t\t\trect: variant === 'rect',\n\t\t\t\t\tcircle: variant === 'circle',\n\t\t\t\t\tinverted: !!inverted,\n\t\t\t\t}),\n\t\t\t)}\n\t\t/>\n\t</StylingBox>\n);\n\nexport default Skeleton;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Skeleton } from '../Skeleton';\n\nexport type InputBoxSkeletonProps = ElementProps<HTMLDivElement>;\n\nconst InputBoxSkeleton = (props: InputBoxSkeletonProps) => (\n\t<Box rcx-skeleton__input {...props}>\n\t\t<Skeleton width='100%' />\n\t</Box>\n);\n\nexport default InputBoxSkeleton;\n","import type { SyntheticEvent } from 'react';\n\nexport const prevent = (event: SyntheticEvent) => {\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\tevent.nativeEvent.stopImmediatePropagation();\n};\n","import { createContext, useContext } from 'react';\n\nexport type ItemContextValue = {\n\tdescriptionIds: string[];\n\tregisterDescription: (id: string) => () => void;\n\tregisterTitle: (id: string) => () => void;\n};\n\nexport const ItemContext = createContext<ItemContextValue>({\n\tdescriptionIds: [],\n\tregisterDescription: () => () => undefined,\n\tregisterTitle: () => () => undefined,\n});\n\nexport const useItemContext = () => useContext(ItemContext);\n","import { useCallback, useState } from 'react';\n\n/**\n * Collects the ids that descendants announce, so a parent can reference them\n * in ARIA relationships without the consumer wiring ids by hand.\n */\nexport const useIdRegistry = () => {\n\tconst [ids, setIds] = useState<string[]>([]);\n\n\tconst register = useCallback((id: string) => {\n\t\tsetIds((prev) => (prev.includes(id) ? prev : [...prev, id]));\n\n\t\treturn () => {\n\t\t\tsetIds((prev) => prev.filter((value) => value !== id));\n\t\t};\n\t}, []);\n\n\treturn [ids, register] as const;\n};\n","import type { AllHTMLAttributes, ElementType, MouseEvent, RefAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport { ItemContext } from './ItemContext';\nimport type { ItemInset } from './types';\nimport { useIdRegistry } from './useIdRegistry';\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemProps = {\n\t/**\n\t * The element to render. Use `li` inside a list; set `role` for listbox options or menu items.\n\t */\n\tis?: ElementType;\n\t/**\n\t * Adds space between the row edge and its first and last slots.\n\t */\n\tinset?: ItemInset;\n\tselected?: boolean;\n\t/**\n\t * Emphasizes the title, icon, description and meta, as for unread rooms.\n\t */\n\thighlighted?: boolean;\n\t/**\n\t * Shows the hover surface for a virtual cursor, such as a listbox's active descendant.\n\t */\n\tfocused?: boolean;\n\t/**\n\t * Shows the focus ring for focus a script moves, such as a menu's, where the browser's `:focus-visible` also matches on hover.\n\t * Once set, it replaces `:focus-visible` for the row.\n\t */\n\tfocusVisible?: boolean;\n\t/**\n\t * Dims the row and ignores clicks. Set the matching ARIA state through props.\n\t */\n\tdisabled?: boolean;\n\tvariant?: 'danger';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'selected' | 'disabled'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * A list row composed from slots: media, icon, content and actions.\n */\nconst Item = ({\n\tis: Tag = 'div',\n\tinset = 'none',\n\tselected,\n\thighlighted,\n\tfocused,\n\tfocusVisible,\n\tdisabled,\n\tvariant,\n\tclassName,\n\tonClick,\n\tchildren,\n\t...props\n}: ItemProps) => {\n\tconst [descriptionIds, registerDescription] = useIdRegistry();\n\tconst [titleIds, registerTitle] = useIdRegistry();\n\n\tconst contextValue = useMemo(\n\t\t() => ({ descriptionIds, registerDescription, registerTitle }),\n\t\t[descriptionIds, registerDescription, registerTitle],\n\t);\n\n\t// A menu item is named by its titles and described by its labelled icons, as an `ItemLink` is.\n\tconst isMenuItem = !!props.role?.startsWith('menuitem');\n\n\tconst ariaLabelledBy = isMenuItem ? (props['aria-labelledby'] ?? (titleIds.join(' ') || undefined)) : props['aria-labelledby'];\n\n\tconst ariaDescribedBy = isMenuItem\n\t\t? [props['aria-describedby'], ...descriptionIds].filter(Boolean).join(' ') || undefined\n\t\t: props['aria-describedby'];\n\n\tconst handleClick = onClick\n\t\t? (event: MouseEvent<HTMLElement>) => {\n\t\t\t\tif (disabled) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonClick(event);\n\t\t\t}\n\t\t: undefined;\n\n\treturn (\n\t\t<ItemContext.Provider value={contextValue}>\n\t\t\t<Tag\n\t\t\t\t{...props}\n\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\tclassName={cx(\n\t\t\t\t\tcxx('rcx-item')({\n\t\t\t\t\t\t[`inset-${inset}`]: inset !== 'none',\n\t\t\t\t\t\t'clickable': !!onClick,\n\t\t\t\t\t\t'selected': !!selected,\n\t\t\t\t\t\t'highlighted': !!highlighted,\n\t\t\t\t\t\t'focused': !!focused,\n\t\t\t\t\t\t'focus-managed': focusVisible !== undefined,\n\t\t\t\t\t\t'focus-visible': !!focusVisible,\n\t\t\t\t\t\t'disabled': !!disabled,\n\t\t\t\t\t\t'danger': variant === 'danger',\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tonClick={handleClick}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t</ItemContext.Provider>\n\t);\n};\n\nexport default Item;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemActionsProps = {\n\tis?: ElementType;\n\t/**\n\t * `hover` hides the actions until the row is hovered, holds focus or has an expanded menu.\n\t * They stay in the tab order, and touch screens always show them.\n\t */\n\treveal?: 'always' | 'hover';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The trailing buttons, icon buttons or menu trigger of an `Item` or `ItemGroupHeader`.\n * Placed as a direct child it spans every row; placed inside an `ItemRow` it only takes space from that row.\n */\nconst ItemActions = ({ is: Tag = 'div', reveal = 'always', className, children, ...props }: ItemActionsProps) => (\n\t<Tag {...props} className={cx(cxx('rcx-item__actions')({ 'reveal-hover': reveal === 'hover' }), className)}>\n\t\t{reveal === 'hover' ? <div className='rcx-item__actions-inner'>{children}</div> : children}\n\t</Tag>\n);\n\nexport default ItemActions;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemContentProps = {\n\tis?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The flexible, truncating column that holds the title and description, or one `ItemRow` per line.\n */\nconst ItemContent = ({ is: Tag = 'div', className, ...props }: ItemContentProps) => (\n\t<Tag {...props} className={cx('rcx-item__content', className)} />\n);\n\nexport default ItemContent;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemDescriptionProps = {\n\tis?: ElementType;\n\t/**\n\t * Places the description right after the title, as with a username after a name.\n\t * In narrow lists it moves to its own line.\n\t */\n\tinline?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The secondary line of an `Item`, such as a last message preview or a username.\n */\nconst ItemDescription = ({ is, inline, className, ...props }: ItemDescriptionProps) => {\n\tconst Tag = is ?? (inline ? 'span' : 'div');\n\n\treturn <Tag {...props} className={cx(cxx('rcx-item__description')({ inline: !!inline }), className)} />;\n};\n\nexport default ItemDescription;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport type { ItemInset } from './types';\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemDividerProps = {\n\t/**\n\t * The element to render. Inside an `ItemGroup` rendered as `ul`, pass `li` with `aria-hidden`.\n\t * Add `role='separator'` where the divider should be announced, as between menu sections.\n\t */\n\tis?: ElementType;\n\t/**\n\t * Aligns the line with the content of the rows. Without it, the line spans the full width.\n\t */\n\tinset?: ItemInset;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The divider between groups, menu sections, or a header and its rows.\n */\nconst ItemDivider = ({ is: Tag = 'div', inset = 'none', className, ...props }: ItemDividerProps) => (\n\t<Tag\n\t\t{...props}\n\t\tclassName={cx(\n\t\t\tcxx('rcx-item-divider')({\n\t\t\t\t[`inset-${inset}`]: inset !== 'none',\n\t\t\t}),\n\t\t\tclassName,\n\t\t)}\n\t/>\n);\n\nexport default ItemDivider;\n","import { createContext, useContext } from 'react';\n\nexport type ItemGroupContextValue = {\n\tregisterTitle: (id: string) => () => void;\n};\n\nexport const ItemGroupContext = createContext<ItemGroupContextValue>({\n\tregisterTitle: () => () => undefined,\n});\n\nexport const useItemGroupContext = () => useContext(ItemGroupContext);\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport { ItemGroupContext } from './ItemGroupContext';\nimport { useIdRegistry } from './useIdRegistry';\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemGroupProps = {\n\t/**\n\t * The element to render. Use `ul` for a list, or set `role` for a listbox, group or menu.\n\t */\n\tis?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * A list of `Item` rows. An `ItemGroupTitle` inside it labels the group, and its width drives the narrow layout.\n */\nconst ItemGroup = ({ is: Tag = 'div', className, children, ...props }: ItemGroupProps) => {\n\tconst [titleIds, registerTitle] = useIdRegistry();\n\n\tconst contextValue = useMemo(() => ({ registerTitle }), [registerTitle]);\n\n\tconst hasOwnLabel = !!props['aria-label'] || !!props['aria-labelledby'];\n\tconst ariaLabelledBy = !hasOwnLabel && titleIds.length > 0 ? titleIds.join(' ') : undefined;\n\n\treturn (\n\t\t<ItemGroupContext.Provider value={contextValue}>\n\t\t\t<Tag aria-labelledby={ariaLabelledBy} {...props} className={cx('rcx-item-group', className)}>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t</ItemGroupContext.Provider>\n\t);\n};\n\nexport default ItemGroup;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport type { ItemInset } from './types';\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemGroupHeaderProps = {\n\t/**\n\t * The element to render. Inside an `ItemGroup` rendered as `ul`, pass `li` with `aria-hidden`:\n\t * the title still names the list, and the list reports only its rows.\n\t * A header with interactive content, such as a collapse button, goes outside the list.\n\t */\n\tis?: ElementType;\n\t/**\n\t * Aligns the header with the rows below it. Use the same value as their `Item`.\n\t */\n\tinset?: ItemInset;\n\t/**\n\t * Pins the header to the top of its scroll container.\n\t */\n\tsticky?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The label row of a group, such as Favorites, Recent or Moderators. It holds an `ItemGroupTitle` and optional trailing content.\n */\nconst ItemGroupHeader = ({ is: Tag = 'div', inset = 'none', sticky, className, ...props }: ItemGroupHeaderProps) => (\n\t<Tag\n\t\t{...props}\n\t\tclassName={cx(\n\t\t\tcxx('rcx-item-group-header')({\n\t\t\t\t[`inset-${inset}`]: inset !== 'none',\n\t\t\t\tsticky: !!sticky,\n\t\t\t}),\n\t\t\tclassName,\n\t\t)}\n\t/>\n);\n\nexport default ItemGroupHeader;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useEffect, useId } from 'react';\n\nimport { useItemGroupContext } from './ItemGroupContext';\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemGroupTitleProps = {\n\t/**\n\t * The element to render. Use a heading level, or `button` when the owner makes the group collapsible.\n\t */\n\tis?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The text of an `ItemGroupHeader`. Inside an `ItemGroup`, it becomes the group's accessible name.\n */\nconst ItemGroupTitle = ({ is: Tag = 'div', id: propId, className, type, ...props }: ItemGroupTitleProps) => {\n\tconst generatedId = useId();\n\tconst id = propId ?? generatedId;\n\tconst { registerTitle } = useItemGroupContext();\n\n\tuseEffect(() => registerTitle(id), [id, registerTitle]);\n\n\treturn <Tag {...props} type={Tag === 'button' ? (type ?? 'button') : type} id={id} className={cx('rcx-item-group-title', className)} />;\n};\n\nexport default ItemGroupTitle;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useEffect, useId } from 'react';\n\nimport { useItemContext } from './ItemContext';\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemIconProps = {\n\tis?: ElementType;\n\t/**\n\t * Names what the icon conveys, such as \"Private channel\" or \"Away\".\n\t * The label also describes the row's `ItemLink`, or the row itself when it is a menu item. Without it, the icon is decorative.\n\t */\n\tlabel?: string;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'label'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * A 20px slot for the room type icon or a user status, placed before the title.\n */\nconst ItemIcon = ({ is: Tag = 'div', label, id: propId, className, ...props }: ItemIconProps) => {\n\tconst generatedId = useId();\n\tconst id = propId ?? generatedId;\n\tconst { registerDescription } = useItemContext();\n\n\tuseEffect(() => {\n\t\tif (!label) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn registerDescription(id);\n\t}, [id, label, registerDescription]);\n\n\tconst a11yProps = label ? { 'role': 'img', 'aria-label': label } : { 'aria-hidden': true };\n\n\treturn <Tag {...a11yProps} {...props} id={id} className={cx('rcx-item__icon', className)} />;\n};\n\nexport default ItemIcon;\n","import type { AnchorHTMLAttributes, ButtonHTMLAttributes, RefAttributes } from 'react';\n\nimport { useItemContext } from './ItemContext';\nimport { cx } from '../../helpers/composeClassNames';\n\ntype ItemLinkAnchorProps = {\n\tis?: 'a';\n\thref: string;\n} & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> &\n\tRefAttributes<HTMLAnchorElement>;\n\ntype ItemLinkButtonProps = {\n\tis: 'button';\n} & ButtonHTMLAttributes<HTMLButtonElement> &\n\tRefAttributes<HTMLButtonElement>;\n\nexport type ItemLinkProps = ItemLinkAnchorProps | ItemLinkButtonProps;\n\n/**\n * The primary target of an `Item`. It covers the whole row, so actions sit beside it instead of inside it.\n */\nconst ItemLink = (props: ItemLinkProps) => {\n\tconst { descriptionIds } = useItemContext();\n\n\tconst ariaDescribedBy = [props['aria-describedby'], ...descriptionIds].filter(Boolean).join(' ') || undefined;\n\n\tif (props.is === 'button') {\n\t\tconst { is: _is, className, type = 'button', ...rest } = props;\n\n\t\treturn <button {...rest} type={type} aria-describedby={ariaDescribedBy} className={cx('rcx-item__link', className)} />;\n\t}\n\n\tconst { is: _is, className, children, ...rest } = props;\n\n\treturn (\n\t\t<a {...rest} aria-describedby={ariaDescribedBy} className={cx('rcx-item__link', className)}>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n\nexport default ItemLink;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemMediaProps = {\n\tis?: ElementType;\n\t/**\n\t * `icon` centers its child in a 20px box, for icons and status bullets.\n\t */\n\tvariant?: 'default' | 'icon';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The leading avatar, icon or thumbnail of an `Item`. Its box fits its child, so the child's size sets the row height.\n */\nconst ItemMedia = ({ is: Tag = 'div', variant = 'default', className, ...props }: ItemMediaProps) => (\n\t<Tag {...props} className={cx(cxx('rcx-item__media')({ icon: variant === 'icon' }), className)} />\n);\n\nexport default ItemMedia;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\n\nexport type ItemMetaProps = {\n\tis?: ElementType;\n\t/**\n\t * Lets longer trailing text, such as a command description, shrink and end in an ellipsis.\n\t */\n\ttruncate?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * Short trailing text, such as a timestamp, count or file size. It never truncates unless `truncate` is set.\n */\nconst ItemMeta = ({ is: Tag = 'div', truncate, className, ...props }: ItemMetaProps) => (\n\t<Tag {...props} className={cx(cxx('rcx-item__meta')({ truncate: !!truncate }), className)} />\n);\n\nexport default ItemMeta;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemRowProps = {\n\tis?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * A horizontal line inside `ItemContent`, such as a title with a timestamp or a description with a badge.\n */\nconst ItemRow = ({ is: Tag = 'div', className, ...props }: ItemRowProps) => <Tag {...props} className={cx('rcx-item__row', className)} />;\n\nexport default ItemRow;\n","import type { AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { useEffect, useId } from 'react';\n\nimport { useItemContext } from './ItemContext';\nimport { cx } from '../../helpers/composeClassNames';\n\nexport type ItemTitleProps = {\n\tis?: ElementType;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'> &\n\tRefAttributes<HTMLElement>;\n\n/**\n * The main label of an `Item`. It truncates with an ellipsis.\n */\nconst ItemTitle = ({ is: Tag = 'div', id: propId, className, ...props }: ItemTitleProps) => {\n\tconst generatedId = useId();\n\tconst id = propId ?? generatedId;\n\tconst { registerTitle } = useItemContext();\n\n\tuseEffect(() => registerTitle(id), [id, registerTitle]);\n\n\treturn <Tag {...props} id={id} className={cx('rcx-item__title', className)} />;\n};\n\nexport default ItemTitle;\n","import type { AvatarProps } from '../Avatar';\nimport { Skeleton } from '../Skeleton';\nimport type { ItemProps } from './Item';\nimport Item from './Item';\nimport ItemContent from './ItemContent';\nimport ItemDescription from './ItemDescription';\nimport ItemMedia from './ItemMedia';\nimport ItemTitle from './ItemTitle';\n\nexport type ItemSkeletonProps = Pick<ItemProps, 'is' | 'inset'> & {\n\t/**\n\t * The size of the avatar the loaded row shows.\n\t */\n\tmediaSize?: AvatarProps['size'];\n\t/**\n\t * Adds a second text line.\n\t */\n\tdescription?: boolean;\n};\n\n/**\n * A loading placeholder with the same height as an `Item` with the same media and lines.\n */\nconst ItemSkeleton = ({ is, inset, mediaSize = 'x20', description = false }: ItemSkeletonProps) => (\n\t<Item is={is} inset={inset} aria-hidden>\n\t\t<ItemMedia>\n\t\t\t<Skeleton variant='rect' width={mediaSize} height={mediaSize} />\n\t\t</ItemMedia>\n\t\t<ItemContent>\n\t\t\t<ItemTitle>\n\t\t\t\t<Skeleton variant='text' width='60%' />\n\t\t\t</ItemTitle>\n\t\t\t{description && (\n\t\t\t\t<ItemDescription>\n\t\t\t\t\t<Skeleton variant='text' width='40%' />\n\t\t\t\t</ItemDescription>\n\t\t\t)}\n\t\t</ItemContent>\n\t</Item>\n);\n\nexport default ItemSkeleton;\n","import { useMergedRefs } from '@rocket.chat/fuselage-hooks';\nimport type { ChangeEvent, InputHTMLAttributes, ReactNode } from 'react';\nimport { useLayoutEffect, useRef, useCallback } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type CheckBoxProps = ElementProps<HTMLInputElement, InputHTMLAttributes<HTMLInputElement>> & {\n\tindeterminate?: boolean;\n\tlabelChildren?: ReactNode;\n};\n\nfunction CheckBox({ ref, indeterminate, onChange, className, labelChildren, ...props }: CheckBoxProps) {\n\tconst innerRef = useRef<HTMLInputElement>(null);\n\tconst mergedRef = useMergedRefs(ref, innerRef);\n\n\tuseLayoutEffect(() => {\n\t\tif (innerRef && innerRef.current && indeterminate !== undefined) {\n\t\t\tinnerRef.current.indeterminate = indeterminate;\n\t\t}\n\t}, [innerRef, indeterminate]);\n\n\tconst handleChange = useCallback(\n\t\t(event: ChangeEvent<HTMLInputElement>) => {\n\t\t\tif (innerRef && innerRef.current && indeterminate !== undefined) {\n\t\t\t\tinnerRef.current.indeterminate = indeterminate;\n\t\t\t}\n\t\t\tonChange?.call(innerRef.current, event);\n\t\t},\n\t\t[innerRef, indeterminate, onChange],\n\t);\n\n\treturn (\n\t\t<Box is='label' className={className} rcx-check-box>\n\t\t\t{labelChildren}\n\t\t\t<Box is='input' type='checkbox' rcx-check-box__input ref={mergedRef} onChange={handleChange} {...props} />\n\t\t\t<Box is='i' rcx-check-box__fake aria-hidden='true' />\n\t\t</Box>\n\t);\n}\n\nexport default CheckBox;\n","import type { ReactNode, MouseEvent, AllHTMLAttributes, ElementType, RefAttributes } from 'react';\nimport { memo } from 'react';\n\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport { prevent } from '../../helpers/prevent';\nimport { useArrayLikeClassNameProp } from '../../hooks/useArrayLikeClassNameProp';\nimport { Icon, type IconProps } from '../Icon';\nimport { Item, ItemContent, ItemIcon, ItemMedia, ItemTitle } from '../Item';\n\nexport type OptionProps<TLabel = ReactNode> = RefAttributes<Element> & {\n\tis?: ElementType;\n\tid?: string;\n\tchildren?: ReactNode;\n\tlabel?: TLabel;\n\tfocus?: boolean;\n\t/** Shows the focus ring on the option when a script moves focus to it, such as a combobox's active descendant. */\n\tfocusVisible?: boolean;\n\tselected?: boolean;\n\tclassName?: string;\n\ticon?: IconProps['name'];\n\t/** Names what the `icon` conveys, such as \"Federated\". Without it, the icon is decorative. */\n\ticonLabel?: string;\n\tgap?: boolean;\n\tavatar?: ReactNode;\n\ttitle?: string;\n\tdisabled?: boolean;\n\tvalue?: string | number;\n\tvariant?: 'danger' | 'success' | 'warning' | 'primary';\n\tonClick?: (event: MouseEvent<HTMLElement>) => void;\n\tdescription?: ReactNode;\n} & Omit<\n\t\tAllHTMLAttributes<HTMLElement>,\n\t\t| 'is'\n\t\t| 'id'\n\t\t| 'children'\n\t\t| 'label'\n\t\t| 'focusVisible'\n\t\t| 'selected'\n\t\t| 'className'\n\t\t| 'ref'\n\t\t| 'icon'\n\t\t| 'gap'\n\t\t| 'avatar'\n\t\t| 'title'\n\t\t| 'disabled'\n\t\t| 'value'\n\t\t| 'variant'\n\t\t| 'onClick'\n\t\t| 'description'\n\t>;\n\n/**\n * The generic `Option` item of options. Can be freely used or inside the `Options` as well.\n *\n * It renders an `Item` row, so its content can also be composed from `Item` parts.\n */\nfunction Option<TLabel = ReactNode>({\n\tis = 'li',\n\tchildren,\n\tlabel,\n\tfocus,\n\tfocusVisible,\n\tselected,\n\tclassName,\n\ticon,\n\ticonLabel,\n\tgap,\n\tavatar,\n\tdisabled,\n\tvariant,\n\tonClick,\n\tdescription,\n\t...props\n}: OptionProps<TLabel>) {\n\tconst { className: normalizedClassName } = useArrayLikeClassNameProp({\n\t\tclassName,\n\t});\n\n\treturn (\n\t\t<Item\n\t\t\t{...(props as Omit<typeof props, 'ref'>)}\n\t\t\tref={props.ref as RefAttributes<HTMLElement>['ref']}\n\t\t\tis={is}\n\t\t\tinset='md'\n\t\t\tfocused={focus}\n\t\t\tfocusVisible={focusVisible}\n\t\t\tselected={selected}\n\t\t\tdisabled={disabled}\n\t\t\tvariant={variant === 'danger' ? 'danger' : undefined}\n\t\t\taria-selected={!!selected}\n\t\t\taria-disabled={!!disabled}\n\t\t\tonClickCapture={disabled ? prevent : undefined}\n\t\t\tonClick={(event: MouseEvent<HTMLElement>) => onClick?.(event)}\n\t\t\tclassName={cx(\n\t\t\t\tcxx('rcx-option')(\n\t\t\t\t\t{\n\t\t\t\t\t\t'focus': !!focus,\n\t\t\t\t\t\t'selected': !!selected,\n\t\t\t\t\t\t'disabled': !!disabled,\n\t\t\t\t\t\t'align-top': !!description,\n\t\t\t\t\t},\n\t\t\t\t\tvariant,\n\t\t\t\t),\n\t\t\t\tnormalizedClassName,\n\t\t\t)}\n\t\t>\n\t\t\t{avatar && <ItemMedia className='rcx-option__avatar'>{avatar}</ItemMedia>}\n\t\t\t{icon && (\n\t\t\t\t<ItemIcon className='rcx-option__column' label={iconLabel}>\n\t\t\t\t\t<Icon name={icon} size='x20' className='rcx-option__icon' />\n\t\t\t\t</ItemIcon>\n\t\t\t)}\n\t\t\t{gap && <ItemIcon className='rcx-option__column' />}\n\t\t\t{label && (\n\t\t\t\t<ItemContent className='rcx-option__content'>\n\t\t\t\t\t<ItemTitle>{label as ReactNode}</ItemTitle>\n\t\t\t\t</ItemContent>\n\t\t\t)}\n\t\t\t{label !== children && children}\n\t\t</Item>\n\t);\n}\n\nexport default memo(Option);\n","import { memo } from 'react';\n\nimport { CheckBox } from '../CheckBox';\nimport Option, { type OptionProps } from './Option';\n\nexport type CheckOptionProps = OptionProps;\n\n/**\n * An `Option` with a checkbox. Its selection is announced through `aria-selected`, so the checkbox is hidden from assistive technology.\n */\nconst CheckOption = ({ selected, children: label, ...options }: CheckOptionProps) => {\n\treturn (\n\t\t<Option label={label as string} selected={selected} {...options}>\n\t\t\t<CheckBox checked={!!selected} readOnly tabIndex={-1} aria-hidden inert />\n\t\t</Option>\n\t);\n};\n\nexport default memo(CheckOption);\n","import type { ReactNode } from 'react';\n\nimport { ItemMedia } from '../Item';\n\nexport type OptionAvatarProps = {\n\tchildren?: ReactNode;\n};\n\nconst OptionAvatar = (props: OptionAvatarProps) => <ItemMedia className='rcx-option__avatar' {...props} />;\n\nexport default OptionAvatar;\n","import type { ReactNode } from 'react';\n\nimport { ItemMedia } from '../Item';\n\nexport type OptionColumnProps = {\n\tchildren?: ReactNode;\n};\n\n/**\n * A slot of at least 20px for a status, an emoji or a short label. Empty, it lines up rows with and without icons.\n */\nconst OptionColumn = (props: OptionColumnProps) => <ItemMedia className='rcx-option__column' {...props} />;\n\nexport default OptionColumn;\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\nimport { ItemContent, ItemTitle } from '../Item';\n\nexport type OptionContentProps = HTMLAttributes<HTMLDivElement>;\n\nconst OptionContent = ({ className, children, ...props }: OptionContentProps) => (\n\t<ItemContent {...(props as Omit<OptionContentProps, 'is'>)} className={cx('rcx-option__content', className)}>\n\t\t<ItemTitle>{children}</ItemTitle>\n\t</ItemContent>\n);\n\nexport default OptionContent;\n","import type { ReactNode } from 'react';\n\nimport { ItemDescription } from '../Item';\n\nexport type OptionDescriptionProps = {\n\tchildren?: ReactNode;\n};\n\nconst OptionDescription = (props: OptionDescriptionProps) => <ItemDescription inline className='rcx-option__description' {...props} />;\n\nexport default OptionDescription;\n","import type { ReactNode } from 'react';\n\nexport type OptionDescriptionBlockProps = {\n\tchildren?: ReactNode;\n};\n\nconst OptionDescriptionBlock = (props: OptionDescriptionBlockProps) => <div className='rcx-option__description-block' {...props} />;\n\nexport default OptionDescriptionBlock;\n","import type { ReactNode } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type DividerProps = ElementProps<HTMLElement> & {\n\tvariation?: 'danger' | 'light';\n\tchildren?: ReactNode;\n\tvertical?: boolean;\n\t/** Removes the divider's own margin, leaving the spacing to its container. */\n\tflush?: boolean;\n\t/** Uses a 4px inline margin on a vertical divider instead of 8px. */\n\tsmall?: boolean;\n\t/** Makes a vertical divider as tall as its container instead of 20px. */\n\tstretch?: boolean;\n};\n\nconst Divider = ({ variation, children, vertical, flush, small, stretch, ...props }: DividerProps) => {\n\tif (!children) {\n\t\treturn (\n\t\t\t<Box\n\t\t\t\tis='hr'\n\t\t\t\trcx-divider\n\t\t\t\trcx-divider--vertical={vertical}\n\t\t\t\trcx-divider--small={vertical && small}\n\t\t\t\trcx-divider--stretch={vertical && stretch}\n\t\t\t\trcx-divider--flush={flush}\n\t\t\t\trcx-divider--danger={variation === 'danger'}\n\t\t\t\trcx-divider--light={variation === 'light'}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<Box rcx-message-divider rcx-divider--labelled role='separator' {...props}>\n\t\t\t<div className='rcx-divider__bar' />\n\t\t\t<div className='rcx-divider__wrapper'>{children}</div>\n\t\t\t<div className='rcx-divider__bar' />\n\t\t</Box>\n\t);\n};\n\nexport default Divider;\n","import { Divider, type DividerProps } from '../Divider';\n\nexport type OptionDividerProps = DividerProps;\n\nconst OptionDivider = (props: OptionDividerProps) => <Divider {...props} />;\n\nexport default OptionDivider;\n","import { Icon, type IconProps } from '../Icon';\nimport { ItemIcon } from '../Item';\n\nexport type OptionIconProps = IconProps;\n\nconst OptionIcon = ({ className, ...props }: OptionIconProps) => (\n\t<ItemIcon className='rcx-option__column'>\n\t\t<Icon size='x20' {...props} className={['rcx-option__icon', className].filter(Boolean).join(' ')} />\n\t</ItemIcon>\n);\n\nexport default OptionIcon;\n","import type { ReactNode } from 'react';\n\nimport { ItemActions } from '../Item';\n\nexport type OptionInputProps = {\n\tchildren?: ReactNode;\n};\n\nconst OptionInput = (props: OptionInputProps) => <ItemActions className='rcx-option__input' {...props} />;\n\nexport default OptionInput;\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\nimport { ItemActions } from '../Item';\n\nexport type OptionMenuProps = HTMLAttributes<HTMLDivElement>;\n\nconst OptionMenu = ({ className, ...props }: OptionMenuProps) => (\n\t<ItemActions {...(props as Omit<OptionMenuProps, 'is'>)} reveal='hover' className={cx('rcx-option__menu-wrapper', className)} />\n);\n\nexport default OptionMenu;\n","import { Skeleton } from '../Skeleton';\nimport Option from './Option';\n\nconst OptionSkeleton = () => (\n\t<Option aria-hidden>\n\t\t<Skeleton width='100%' />\n\t</Option>\n);\n\nexport default OptionSkeleton;\n","import type { ReactNode } from 'react';\n\nimport { ItemGroupHeader, ItemGroupTitle } from '../Item';\n\nexport type OptionTitleProps = {\n\tchildren?: ReactNode;\n};\n\nconst OptionTitle = ({ children, ...props }: OptionTitleProps) => (\n\t<ItemGroupHeader {...props} inset='md' className='rcx-option__title'>\n\t\t<ItemGroupTitle>{children}</ItemGroupTitle>\n\t</ItemGroupHeader>\n);\n\nexport default OptionTitle;\n","import type { ReactNode } from 'react';\n\nimport { ItemGroupHeader, ItemGroupTitle } from '../Item';\n\nexport type OptionHeaderProps = {\n\tchildren: ReactNode;\n};\n\n/**\n * A group label inside an `Options` listbox. It is presentational, so the listbox only reports its options.\n */\nconst OptionHeader = ({ children }: OptionHeaderProps) => (\n\t<ItemGroupHeader is='li' role='presentation' inset='md' className='rcx-option__header'>\n\t\t<ItemGroupTitle>{children}</ItemGroupTitle>\n\t</ItemGroupHeader>\n);\n\nexport default OptionHeader;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\n\nexport type PopoverSurfaceProps = Omit<HTMLAttributes<HTMLElement>, 'color' | 'is'> &\n\tRefAttributes<HTMLElement> & {\n\t\t/** Caps the height at a share of the viewport; the content scrolls past it. */\n\t\tmaxHeight?: 'half-screen' | 'most-of-screen';\n\t\t/** Drops the block padding, for content that reaches the surface's edges. */\n\t\tflush?: boolean;\n\t\t/** How far the surface is raised above the page. */\n\t\televation?: '1' | '2';\n\t};\n\nconst maxHeights = { 'half-screen': '50vh', 'most-of-screen': '80vh' } as const;\n\n/**\n * The raised surface of a dropdown or popover: it fills its positioner and scrolls its content.\n */\nfunction PopoverSurface({ maxHeight, flush, elevation = '2', ...props }: PopoverSurfaceProps) {\n\treturn (\n\t\t<Box\n\t\t\trcx-tile\n\t\t\trcx-tile--elevation={elevation}\n\t\t\tdisplay='flex'\n\t\t\tflexDirection='column'\n\t\t\toverflow='auto'\n\t\t\tpaddingBlock={flush ? undefined : 12}\n\t\t\tmaxHeight={maxHeight && maxHeights[maxHeight]}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default PopoverSurface;\n","import { css } from '@rocket.chat/css-in-js';\nimport { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { PropsWithChildren, MouseEvent, RefObject } from 'react';\nimport { useRef, useCallback } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { useStyle } from '../../hooks/useStyle';\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type ScrollableProps = PropsWithChildren<{\n\thorizontal?: boolean;\n\tvertical?: boolean;\n\tsmooth?: boolean;\n\tonScrollContent?: (touching: { top: boolean }) => void;\n}>;\n\nconst getTouchingEdges = (element: Element) => ({\n\ttop: !element.scrollTop,\n\tbottom: !(element.scrollTop + element.clientHeight - element.scrollHeight),\n\tleft: !element.scrollLeft,\n\tright: !(element.scrollLeft + element.clientWidth - element.scrollWidth),\n});\n\nconst pollTouchingEdges = (\n\telement: EventTarget & Element,\n\ttouchingEdgesRef: RefObject<Record<string, boolean>>,\n\tonScrollContent: ((touching: { top: boolean }) => void) | undefined,\n) => {\n\tconst touchingEdges = touchingEdgesRef.current;\n\tconst newTouchingEdges = getTouchingEdges(element);\n\n\tconst dirty =\n\t\ttouchingEdges &&\n\t\t(touchingEdges.top !== newTouchingEdges.top ||\n\t\t\ttouchingEdges.bottom !== newTouchingEdges.bottom ||\n\t\t\ttouchingEdges.left !== newTouchingEdges.left ||\n\t\t\ttouchingEdges.right !== newTouchingEdges.right);\n\n\tif (dirty) {\n\t\ttouchingEdgesRef.current = newTouchingEdges;\n\t\tonScrollContent?.(newTouchingEdges);\n\t}\n};\n\n/**\n * Add scroll capability to the wrapped component.\n */\nconst Scrollable = ({ children, horizontal, vertical, smooth, onScrollContent }: ScrollableProps) => {\n\tconst scrollTimeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\tconst touchingEdgesRef = useRef({});\n\n\tconst handleScroll = useStableCallback((event: MouseEvent) => {\n\t\tconst element = event.currentTarget;\n\n\t\tif (!scrollTimeoutRef.current) {\n\t\t\tpollTouchingEdges(element, touchingEdgesRef, onScrollContent);\n\t\t}\n\n\t\tif (scrollTimeoutRef.current) clearTimeout(scrollTimeoutRef.current);\n\n\t\tscrollTimeoutRef.current = setTimeout(() => {\n\t\t\tscrollTimeoutRef.current = undefined;\n\t\t\tpollTouchingEdges(element, touchingEdgesRef, onScrollContent);\n\t\t}, 200);\n\t});\n\n\tconst className = useStyle(\n\t\tcss`\n\t\t\tposition: relative;\n\n\t\t\t&::-webkit-scrollbar {\n\t\t\t\twidth: ${4 / 16}rem;\n\t\t\t\theight: ${4 / 16}rem;\n\t\t\t}\n\n\t\t\t&::-webkit-scrollbar-track {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n\t\t\t&::-webkit-scrollbar-thumb {\n\t\t\t\tbackground-color: rgba(0, 0, 0, 0.05);\n\t\t\t\tbackground-color: var(--rcx-theme-scrollbar-thumb-color, rgba(0, 0, 0, 0.05));\n\t\t\t}\n\n\t\t\t&:hover::-webkit-scrollbar-thumb {\n\t\t\t\tbackground-color: rgba(0, 0, 0, 0.15);\n\t\t\t\tbackground-color: var(--rcx-theme-scrollbar-thumb-hover-color, rgba(0, 0, 0, 0.15));\n\t\t\t}\n\n\t\t\t${\n\t\t\t\t(horizontal &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\toverflow-x: auto !important;\n\t\t\t\t\t`) ||\n\t\t\t\t(vertical &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\toverflow-y: auto !important;\n\t\t\t\t\t`) ||\n\t\t\t\tcss`\n\t\t\t\t\toverflow: auto !important;\n\t\t\t\t`\n\t\t\t}\n\t\t\t${\n\t\t\t\tsmooth &&\n\t\t\t\tcss`\n\t\t\t\t\tscroll-behavior: smooth !important;\n\t\t\t\t`\n\t\t\t}\n\t\t`,\n\t\tnull,\n\t);\n\n\tconst transformFn = useCallback(\n\t\t(props: any) => {\n\t\t\tprops.className = className && appendClassName(props.className, className);\n\n\t\t\tif (onScrollContent !== undefined && props.onScroll === undefined) {\n\t\t\t\tprops.onScroll = handleScroll;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t},\n\t\t[className, handleScroll, onScrollContent],\n\t);\n\n\treturn <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>{children}</BoxTransforms.Provider>;\n};\n\nexport default Scrollable;\n","import { memo } from 'react';\n\nimport { Option } from '../Option';\n\nexport type OptionsEmptyProps = {\n\tcustomEmpty?: string;\n};\n\nconst OptionsEmpty = ({ customEmpty }: OptionsEmptyProps) => <Option role='option' disabled label={customEmpty || 'Empty'} />;\n\nexport default memo(OptionsEmpty);\n","import type { ComponentType, MouseEventHandler, ReactNode } from 'react';\nimport { useLayoutEffect, useMemo, useRef } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\nimport { ItemDivider } from '../Item';\nimport { Option, OptionHeader } from '../Option';\nimport { PopoverSurface } from '../PopoverSurface';\nimport { Scrollable } from '../Scrollable';\nimport type { OptionType } from './OptionType';\nimport OptionsEmpty from './OptionsEmpty';\n\nexport type OptionsProps<TValue extends string | number = string | number, TLabel = ReactNode> = Omit<\n\tElementProps<HTMLElement>,\n\t'onSelect'\n> & {\n\tmaxHeight?: BoxProps['maxHeight'];\n\tmultiple?: boolean;\n\toptions: OptionType<TValue, TLabel>[];\n\tcursor: number;\n\trenderItem?: ComponentType<{\n\t\trole?: string;\n\t\tlabel: TLabel;\n\t\tvalue: TValue;\n\t\tselected?: boolean;\n\t\tfocus?: boolean;\n\t\tdisabled?: boolean;\n\t\tonMouseDown: MouseEventHandler;\n\t}>;\n\trenderEmpty?: ComponentType<{\n\t\tcustomEmpty?: string;\n\t}>;\n\tonSelect: (option: OptionType<TValue, TLabel>) => void;\n\tcustomEmpty?: string;\n};\n\n/**\n * An input for selection of options.\n */\nfunction Options<TValue extends string | number = string | number, TLabel = ReactNode>({\n\tmaxHeight = 'x144',\n\tmultiple,\n\trenderEmpty: EmptyComponent = OptionsEmpty,\n\toptions,\n\tcursor,\n\trenderItem: OptionComponent = Option,\n\tonSelect,\n\tcustomEmpty,\n\tid,\n\t...props\n}: OptionsProps<TValue, TLabel>) {\n\tconst liRef = useRef<HTMLElement>(null);\n\n\tuseLayoutEffect(() => {\n\t\tif (!liRef.current) {\n\t\t\treturn;\n\t\t}\n\t\tconst { current } = liRef;\n\t\tconst li = current?.querySelector<HTMLLIElement>('.rcx-option--focus, .rcx-item--focused');\n\t\tif (!li) {\n\t\t\treturn;\n\t\t}\n\t\tif (li.offsetTop + li.clientHeight > current.scrollTop + current.clientHeight || li.offsetTop - li.clientHeight < current.scrollTop) {\n\t\t\tcurrent.scrollTop = li.offsetTop;\n\t\t}\n\t}, [cursor]);\n\n\tconst optionsMemoized = useMemo(\n\t\t() =>\n\t\t\toptions.map(([value, label, selected, disabled, type, url], i) => {\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'heading':\n\t\t\t\t\t\treturn <OptionHeader key={value}>{label}</OptionHeader>;\n\t\t\t\t\tcase 'divider':\n\t\t\t\t\t\treturn <ItemDivider key={value} is='li' aria-hidden />;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<OptionComponent\n\t\t\t\t\t\t\t\trole='option'\n\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\tif (disabled) return;\n\n\t\t\t\t\t\t\t\t\tprevent(e);\n\t\t\t\t\t\t\t\t\tonSelect([value, label, selected, disabled, type, url]);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tselected={!!selected}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\tfocus={cursor === i}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}),\n\t\t[options, cursor, onSelect, OptionComponent],\n\t);\n\n\treturn (\n\t\t<Box rcx-options {...props}>\n\t\t\t<PopoverSurface>\n\t\t\t\t<Scrollable vertical smooth>\n\t\t\t\t\t<Box\n\t\t\t\t\t\tref={liRef}\n\t\t\t\t\t\tborderRadius='medium'\n\t\t\t\t\t\tbackgroundColor='light'\n\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\tonMouseDown={prevent}\n\t\t\t\t\t\tonClick={prevent}\n\t\t\t\t\t\tis='ol'\n\t\t\t\t\t\taria-multiselectable={multiple || true}\n\t\t\t\t\t\trole='listbox'\n\t\t\t\t\t\tid={id}\n\t\t\t\t\t\taria-activedescendant={options?.[cursor]?.[0] ? String(options?.[cursor]?.[0]) : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!options.length && <EmptyComponent customEmpty={customEmpty} />}\n\t\t\t\t\t\t{optionsMemoized}\n\t\t\t\t\t</Box>\n\t\t\t\t</Scrollable>\n\t\t\t</PopoverSurface>\n\t\t</Box>\n\t);\n}\n\nexport default Options;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { PopoverSurface } from '../PopoverSurface';\nimport { Scrollable } from '../Scrollable';\n\nexport type OptionContainerProps = ElementProps<HTMLElement>;\n\nfunction OptionContainer(props: OptionContainerProps) {\n\treturn (\n\t\t<Box rcx-options>\n\t\t\t<PopoverSurface elevation='1'>\n\t\t\t\t<Scrollable vertical smooth>\n\t\t\t\t\t<Box borderRadius='medium' backgroundColor='light' maxHeight='x240' {...props} />\n\t\t\t\t</Scrollable>\n\t\t\t</PopoverSurface>\n\t\t</Box>\n\t);\n}\n\nexport default OptionContainer;\n","import { useStableCallback, useDebouncedState } from '@rocket.chat/fuselage-hooks';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\n\nexport type VisibilityHandler = [visible: typeof AnimatedVisibility.HIDDEN, hide: () => void, show: () => void];\n\nexport const useVisible = (initialVisibility: typeof AnimatedVisibility.HIDDEN = AnimatedVisibility.HIDDEN): VisibilityHandler => {\n\tconst [visible, setVisible] = useDebouncedState(initialVisibility, 10);\n\tconst hide = useStableCallback(() => setVisible(AnimatedVisibility.HIDDEN));\n\tconst show = useStableCallback(() => setVisible(AnimatedVisibility.VISIBLE));\n\n\treturn [visible, hide, show];\n};\n","import { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { KeyboardEvent } from 'react';\nimport { useState } from 'react';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport type { OptionType } from './OptionType';\nimport type { VisibilityHandler } from './useVisible';\nimport { useVisible } from './useVisible';\n\nconst keyCodes = {\n\tESC: 27,\n\tKEY_UP: 38,\n\tKEY_DOWN: 40,\n\tHOME: 36,\n\tEND: 35,\n\tTAB: 9,\n\tENTER: 13,\n};\n\nconst findLastIndex = <T>(options: T[], predicate: (value: T, index: number, obj: T[]) => unknown) => {\n\tfor (let i = options.length - 1; i >= 0; i--) {\n\t\tif (predicate(options[i], i, options)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\n\treturn -1;\n};\n\nconst findPreviousIndex = <T>(options: T[], predicate: (value: T, index: number, obj: T[]) => unknown, currentIndex: number) => {\n\tfor (let i = currentIndex - 1; i >= 0; i--) {\n\t\tif (predicate(options[i], i, options)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\n\treturn -1;\n};\n\nconst findNextIndex = <T>(options: T[], predicate: (value: T, index: number, obj: T[]) => unknown, currentIndex: number) => {\n\tfor (let i = currentIndex + 1; i < options.length; i++) {\n\t\tif (predicate(options[i], i, options)) {\n\t\t\treturn i;\n\t\t}\n\t}\n\n\treturn -1;\n};\n\nexport const useCursor = <\n\tT extends readonly [value: unknown, label: unknown, selected?: unknown, disabled?: unknown, type?: OptionType[4], url?: string] =\n\t\tOptionType,\n>(\n\tinitial: number,\n\toptions: Array<T>,\n\tonChange: (option: T, visibilityHandler: VisibilityHandler) => void,\n): [\n\tcursor: number,\n\thandleKeyDown: (e: KeyboardEvent) => void,\n\thandleKeyUp: (e: KeyboardEvent) => void,\n\treset: () => void,\n\tvisibilityHandler: VisibilityHandler,\n] => {\n\tconst [cursor, setCursor] = useState(initial);\n\tconst visibilityHandler = useVisible();\n\tconst [visibility, hide, show] = visibilityHandler;\n\tconst reset = useStableCallback(() => setCursor(0));\n\tconst handleKeyUp = useStableCallback((e: KeyboardEvent) => {\n\t\tconst { keyCode } = e;\n\t\tif (AnimatedVisibility.HIDDEN === visibility && keyCode === keyCodes.TAB) {\n\t\t\treturn show();\n\t\t}\n\t});\n\n\tconst handleKeyDown = useStableCallback((e: KeyboardEvent) => {\n\t\tconst isSelectableOption = ([, , , type]: T) => !type || type === 'option';\n\t\tconst getLastIndex = () => findLastIndex(options, isSelectableOption);\n\n\t\tconst { keyCode, key } = e;\n\t\tif (AnimatedVisibility.HIDDEN === visibility && keyCode !== keyCodes.ESC && keyCode !== keyCodes.TAB) {\n\t\t\tshow();\n\t\t}\n\t\tswitch (keyCode) {\n\t\t\tcase keyCodes.HOME:\n\t\t\t\te.preventDefault();\n\t\t\t\treturn reset();\n\n\t\t\tcase keyCodes.END:\n\t\t\t\te.preventDefault();\n\t\t\t\treturn setCursor(getLastIndex());\n\n\t\t\tcase keyCodes.KEY_UP:\n\t\t\t\te.preventDefault();\n\t\t\t\tif (cursor < 1) {\n\t\t\t\t\treturn setCursor(getLastIndex());\n\t\t\t\t}\n\t\t\t\treturn setCursor((cursor) => findPreviousIndex(options, isSelectableOption, cursor));\n\n\t\t\tcase keyCodes.KEY_DOWN:\n\t\t\t\te.preventDefault();\n\t\t\t\tif (cursor === getLastIndex()) {\n\t\t\t\t\treturn setCursor(0);\n\t\t\t\t}\n\t\t\t\treturn setCursor((cursor) => findNextIndex(options, isSelectableOption, cursor));\n\n\t\t\tcase keyCodes.ENTER:\n\t\t\t\te.preventDefault();\n\t\t\t\tif (visibility === AnimatedVisibility.VISIBLE) {\n\t\t\t\t\te.persist();\n\t\t\t\t\te.nativeEvent.stopImmediatePropagation(); // TODO\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t\thide();\n\t\t\t\tonChange(options[cursor], visibilityHandler);\n\t\t\t\treturn;\n\n\t\t\tcase keyCodes.ESC:\n\t\t\t\te.preventDefault();\n\t\t\t\treset();\n\t\t\t\thide();\n\t\t\t\tif (visibility === AnimatedVisibility.VISIBLE) {\n\t\t\t\t\te.persist();\n\t\t\t\t\te.nativeEvent.stopImmediatePropagation(); // TODO\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tif (key.match(/^[\\d\\w]$/i)) {\n\t\t\t\t\tconst index = options.findIndex((option) => {\n\t\t\t\t\t\tif (!isSelectableOption(option)) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst [, label] = option;\n\t\t\t\t\t\treturn typeof label === 'string' && label[0].toLowerCase() === key;\n\t\t\t\t\t});\n\t\t\t\t\tif (~index) setCursor(index);\n\t\t\t\t}\n\t\t}\n\t});\n\n\treturn [cursor, handleKeyDown, handleKeyUp, reset, visibilityHandler];\n};\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport { usePosition, usePreventScrollOutside } from '@rocket.chat/fuselage-hooks';\nimport type { RefObject, ReactElement } from 'react';\nimport { useRef, useMemo, cloneElement, useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useOwnerDocument } from '../../contexts';\nimport type { ElementProps } from '../../types/ElementProps';\n\nexport type PositionProps = Omit<ElementProps<HTMLElement>, 'children'> & {\n\tanchor: RefObject<Element | null>;\n\tchildren: ReactElement<any>;\n\tmargin?: number;\n\tplacement?: UsePositionOptions['placement'];\n\t/** Holds the page still while the element is shown, so it cannot drift away from its anchor; it keeps scrolling itself. */\n\tpreventScroll?: boolean;\n};\n\nconst Position = ({ anchor, children, placement, margin, preventScroll = false, className: _className, ...props }: PositionProps) => {\n\tconst target = useRef<Element>(null);\n\tconst { style: positionStyle, placement: positionPlacement } =\n\t\tusePosition(\n\t\t\tanchor,\n\t\t\ttarget,\n\t\t\tuseMemo(() => ({ placement, margin }), [placement, margin]),\n\t\t) || {};\n\n\tusePreventScrollOutside(target, preventScroll);\n\n\tconst style = useMemo(() => ({ position: 'fixed', ...positionStyle }), [positionStyle]);\n\n\tconst { document: ownerDocument } = useOwnerDocument();\n\n\tconst [portalContainer] = useState(() => {\n\t\tconst prev = ownerDocument.getElementById('position-container');\n\t\tif (prev) {\n\t\t\treturn prev;\n\t\t}\n\t\tconst element = ownerDocument.createElement('div');\n\n\t\telement.id = 'position-container';\n\n\t\townerDocument.body.appendChild(element);\n\t\treturn element;\n\t});\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\t// Another positioned element leaving in the same commit may have removed the shared container already.\n\t\t\tif (!portalContainer.hasChildNodes()) {\n\t\t\t\tportalContainer.remove();\n\t\t\t}\n\t\t},\n\t\t[portalContainer],\n\t);\n\n\treturn createPortal(\n\t\tcloneElement(children, {\n\t\t\tref: target,\n\t\t\tstyle: { ...children.props.style, ...style },\n\t\t\t...props,\n\t\t\tplacement: positionPlacement,\n\t\t}),\n\t\tportalContainer,\n\t);\n};\n\nexport default Position;\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport type { ReactElement, RefObject } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport Position from './Position';\n\nexport type PositionAnimatedProps = Omit<ElementProps<HTMLElement>, 'children'> & {\n\tanchor: RefObject<Element | null>;\n\tchildren: ReactElement<any>;\n\tmargin?: number;\n\tplacement?: UsePositionOptions['placement'];\n\tpreventScroll?: boolean;\n\tvisible?: 'hidden' | 'visible' | 'hiding' | 'unhiding';\n};\n\nconst PositionAnimated = ({ visible, children, ...props }: PositionAnimatedProps) => (\n\t<AnimatedVisibility visibility={visible}>\n\t\t<Position {...props}>{children}</Position>\n\t</AnimatedVisibility>\n);\n\nexport default PositionAnimated;\n","import { useStableCallback, useResizeObserver, useMergedRefs } from '@rocket.chat/fuselage-hooks';\nimport type {\n\tAllHTMLAttributes,\n\tChangeEvent,\n\tComponentType,\n\tFocusEvent,\n\tMouseEvent,\n\tMouseEventHandler,\n\tReactNode,\n\tRefAttributes,\n} from 'react';\nimport { useEffect, useRef, useMemo, useState } from 'react';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Chip } from '../Chip';\nimport { Icon } from '../Icon';\nimport { Input } from '../InputBox';\nimport { useCursor, Options, type OptionType } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\n\nexport type AutoCompleteOption<TLabel> = {\n\tvalue: string;\n\tlabel: TLabel;\n};\n\nconst getSelected = <TLabel,>(value: string | string[] | undefined, options: AutoCompleteOption<TLabel>[]) => {\n\tif (!value) {\n\t\treturn [];\n\t}\n\treturn typeof value === 'string'\n\t\t? options.filter((option) => option.value === value)\n\t\t: options?.filter((option) => value.includes(option.value));\n};\n\nconst isSelectedValid =\n\t<TLabel,>(value: string | string[] | undefined) =>\n\t(selected: AutoCompleteOption<TLabel>) => {\n\t\tif (!value) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn typeof value === 'string' ? selected.value === value : value.includes(selected.value);\n\t};\n\n/**\n * @deprecated Use `SelectFilteredProps` or `MultiSelectFilteredProps` instead.\n */\nexport type AutoCompleteProps<TLabel = ReactNode> = Omit<AllHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'is'> & {\n\tfilter: string;\n\tsetFilter?: (filter: string) => void;\n\toptions?: AutoCompleteOption<TLabel>[];\n\trenderSelected?: ComponentType<{\n\t\tselected: AutoCompleteOption<TLabel>;\n\t\tonRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n\t}>;\n\tonChange: (value: string | string[]) => void;\n\trenderItem?: ComponentType<{\n\t\trole?: string;\n\t\tlabel: TLabel;\n\t\tvalue: string;\n\t\tselected?: boolean;\n\t\tfocus?: boolean;\n\t\tonMouseDown: MouseEventHandler;\n\t}>;\n\trenderEmpty?: ComponentType<{\n\t\tcustomEmpty?: string;\n\t}>;\n\tplaceholder?: string;\n\terror?: boolean;\n\tdisabled?: boolean;\n\tmultiple?: boolean;\n\tvalue?: string | string[];\n} & RefAttributes<HTMLInputElement>;\n\n/**\n * An input for selection of options.\n *\n * @deprecated Use `SelectFiltered` or `MultiSelectFiltered` instead.\n */\nfunction AutoComplete<TLabel = ReactNode>({\n\tref,\n\tvalue,\n\tfilter,\n\tsetFilter,\n\toptions = [],\n\trenderItem,\n\trenderSelected: RenderSelected,\n\tonChange,\n\trenderEmpty,\n\tplaceholder,\n\terror,\n\tdisabled,\n\tmultiple,\n\tonBlur: onBlurAction = () => {},\n\t...props\n}: AutoCompleteProps<TLabel>) {\n\tconst innerRef = useRef<HTMLInputElement>(null);\n\tconst mergedRefs = useMergedRefs(ref, innerRef);\n\tconst { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n\tconst [selected, setSelected] = useState(() => getSelected(value, options) || []);\n\n\tuseEffect(() => {\n\t\t// Validates if selected items are still valid after value changes\n\t\tsetSelected((selected) => {\n\t\t\treturn !selected.every(isSelectedValid(value)) ? selected.filter(isSelectedValid(value)) : selected;\n\t\t});\n\t}, [value]);\n\n\tconst handleSelect = useStableCallback(([newValue]: OptionType<string, TLabel>) => {\n\t\tif (selected.some((item) => item.value === newValue)) {\n\t\t\thide();\n\t\t\treturn;\n\t\t}\n\n\t\tif (multiple) {\n\t\t\tsetSelected([...selected, ...getSelected(newValue, options)]);\n\t\t\tonChange([...(value || []), newValue]);\n\t\t} else {\n\t\t\tsetSelected(getSelected(newValue, options));\n\t\t\tonChange(newValue);\n\t\t}\n\n\t\tsetFilter?.('');\n\t\thide();\n\t});\n\n\tconst handleRemove = useStableCallback((event: MouseEvent<HTMLButtonElement>) => {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\n\t\tconst filtered = selected.filter((item) => item.value !== event.currentTarget.value);\n\n\t\tconst filteredValue = multiple && Array.isArray(value) ? value?.filter((item) => item !== event.currentTarget.value) || [] : '';\n\n\t\tsetSelected(filtered);\n\t\tonChange(filteredValue);\n\t\thide();\n\t});\n\n\tconst memoizedOptions = useMemo(() => options.map(({ value, label }): OptionType<string, TLabel> => [value, label]), [options]);\n\n\tconst firstSelectedIndex = useMemo(() => options.findIndex((option) => selected[0]?.value === option.value), [options, selected]);\n\n\tconst [cursor, handleKeyDown, , reset, [optionsAreVisible, hide, show]] = useCursor(firstSelectedIndex, memoizedOptions, handleSelect);\n\n\tconst handleOnBlur = useStableCallback((event: FocusEvent<HTMLInputElement>) => {\n\t\thide();\n\t\tonBlurAction(event);\n\t});\n\n\tuseEffect(reset, [filter, reset]);\n\n\treturn (\n\t\t<Box\n\t\t\tanimated\n\t\t\trcx-autocomplete\n\t\t\tref={containerRef}\n\t\t\tonClick={useStableCallback(() => innerRef.current?.focus())}\n\t\t\tflexGrow={1}\n\t\t\tclassName={useMemo(() => [error && 'invalid', disabled && 'disabled'], [error, disabled])}\n\t\t>\n\t\t\t<Box display='flex' flexGrow={1} alignItems='center' flexWrap='wrap' gap={4} role='group'>\n\t\t\t\t<Input\n\t\t\t\t\tref={mergedRefs}\n\t\t\t\t\tonChange={useStableCallback((e: ChangeEvent<HTMLInputElement>) => setFilter?.(e.currentTarget.value))}\n\t\t\t\t\tonBlur={handleOnBlur}\n\t\t\t\t\tonFocus={show}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\tplaceholder={optionsAreVisible === AnimatedVisibility.HIDDEN || !value ? placeholder : undefined}\n\t\t\t\t\tvalue={filter}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t{...props}\n\t\t\t\t\tclassName={['rcx-input-box--undecorated', 'rcx-autocomplete__input', props.className].filter(Boolean).join(' ')}\n\t\t\t\t/>\n\t\t\t\t{selected.map((itemSelected) =>\n\t\t\t\t\tRenderSelected ? (\n\t\t\t\t\t\t<RenderSelected key={itemSelected.value} selected={itemSelected} onRemove={handleRemove} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Chip key={itemSelected.value} value={itemSelected.value} onClick={handleRemove}>\n\t\t\t\t\t\t\t{itemSelected.label as ReactNode}\n\t\t\t\t\t\t</Chip>\n\t\t\t\t\t),\n\t\t\t\t)}\n\t\t\t</Box>\n\t\t\t<Box rcx-autocomplete__addon color='titles-labels'>\n\t\t\t\t<Icon name={optionsAreVisible === AnimatedVisibility.VISIBLE ? 'cross' : 'magnifier'} size='x20' />\n\t\t\t</Box>\n\t\t\t<PositionAnimated visible={optionsAreVisible} anchor={containerRef}>\n\t\t\t\t<Options\n\t\t\t\t\tstyle={{ width: borderBoxSize.inlineSize }}\n\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t\trenderEmpty={renderEmpty}\n\t\t\t\t\tcursor={cursor}\n\t\t\t\t\toptions={memoizedOptions}\n\t\t\t\t/>\n\t\t\t</PositionAnimated>\n\t\t</Box>\n\t);\n}\n\nexport default AutoComplete;\n","import type { ElementType, HTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type BadgeProps = {\n\tis?: ElementType<HTMLAttributes<HTMLSpanElement>>;\n\tvariant?: 'secondary' | 'primary' | 'danger' | 'warning';\n\tsmall?: boolean;\n\tclassName?: string;\n\tchildren?: ReactNode;\n\ttitle?: string;\n} & HTMLAttributes<HTMLSpanElement>;\n\n/**\n * Communicates notification’s amount and types.\n */\nfunction Badge({ is: Tag = 'span', variant = 'secondary', small, className, ...props }: BadgeProps) {\n\tconst modifiers = [variant, small && 'small']\n\t\t.filter(Boolean)\n\t\t.map((modifier) => `rcx-badge--${modifier}`)\n\t\t.join(' ');\n\n\treturn <Tag className={prependClassName(className, `rcx-box rcx-box--full rcx-badge ${modifiers}`)} {...props} />;\n}\n\nexport default Badge;\n","import type { AllHTMLAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type ButtonProps = {\n\t/** Renders a link instead of a button, for actions that navigate or download. */\n\tis?: 'button' | 'a';\n\tvariant?: 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'secondary-danger' | 'secondary-warning' | 'secondary-success';\n\tsize?: 'mini' | 'tiny' | 'small' | 'medium' | 'large';\n\t/** @deprecated Use `variant=\"primary\"` instead. */\n\tprimary?: boolean;\n\t/** @deprecated Use `variant=\"secondary\"` instead. */\n\tsecondary?: boolean;\n\t/** @deprecated Use `variant=\"danger\"` instead. */\n\tdanger?: boolean;\n\t/** @deprecated Use `variant=\"warning\"` instead. */\n\twarning?: boolean;\n\t/** @deprecated Use `variant=\"success\"` instead. */\n\tsuccess?: boolean;\n\tdisabled?: boolean;\n\tloading?: boolean;\n\t/** @deprecated Use `size=\"mini\"` instead. */\n\tmini?: boolean;\n\t/** @deprecated Use `size=\"tiny\"` instead. */\n\ttiny?: boolean;\n\t/** @deprecated Use `size=\"small\"` instead. */\n\tsmall?: boolean;\n\t/** @deprecated Use `size=\"medium\"` instead. */\n\tmedium?: boolean;\n\t/** @deprecated Use `size=\"large\"` instead. */\n\tlarge?: boolean;\n\tsquare?: boolean;\n\t/** Lowers the minimum width so a label of one or two characters fits. */\n\tcompact?: boolean;\n\texternal?: boolean;\n\ticon?: IconProps['name'];\n} & ElementProps<HTMLButtonElement | HTMLAnchorElement, AllHTMLAttributes<HTMLButtonElement | HTMLAnchorElement>>;\n\n/**\n * Indicates an actionable user action.\n */\nfunction Button({\n\tref,\n\tvariant,\n\tprimary,\n\tsecondary,\n\tdanger,\n\twarning,\n\tsuccess,\n\texternal,\n\ticon,\n\tis = 'button',\n\trel: _rel,\n\tsize,\n\ttiny,\n\tmini,\n\tsmall,\n\tmedium,\n\tlarge,\n\tsquare,\n\tcompact,\n\tloading,\n\tdisabled,\n\tchildren,\n\t...props\n}: ButtonProps) {\n\tconst extraProps =\n\t\t(is === 'a' && {\n\t\t\trel: external ? 'noopener noreferrer' : undefined,\n\t\t\ttarget: external ? '_blank' : undefined,\n\t\t}) ||\n\t\t(is === 'button' && {\n\t\t\ttype: 'button',\n\t\t}) ||\n\t\t{};\n\n\tconst kindAndVariantProps = useMemo(() => {\n\t\tconst kind =\n\t\t\tvariant ||\n\t\t\t(primary && 'primary') ||\n\t\t\t(secondary && success && 'secondary-success') ||\n\t\t\t(secondary && warning && 'secondary-warning') ||\n\t\t\t(secondary && danger && 'secondary-danger') ||\n\t\t\t(success && 'success') ||\n\t\t\t(warning && 'warning') ||\n\t\t\t(danger && 'danger') ||\n\t\t\t(secondary && 'secondary');\n\n\t\tif (kind) {\n\t\t\treturn {\n\t\t\t\t[`rcx-button--${kind}`]: true,\n\t\t\t};\n\t\t}\n\n\t\treturn {};\n\t}, [variant, primary, secondary, danger, warning, success]);\n\n\tconst effectiveSize =\n\t\tsize || (mini && 'mini') || (tiny && 'tiny') || (small && 'small') || (medium && 'medium') || (large && 'large') || undefined;\n\n\treturn (\n\t\t<Box\n\t\t\tis={is}\n\t\t\trcx-button\n\t\t\t{...kindAndVariantProps}\n\t\t\trcx-button--small={effectiveSize === 'small'}\n\t\t\trcx-button--medium={effectiveSize === 'medium'}\n\t\t\trcx-button--large={effectiveSize === 'large'}\n\t\t\trcx-button--square={square}\n\t\t\trcx-button--compact={compact}\n\t\t\trcx-button--tiny-square={effectiveSize === 'tiny' && square}\n\t\t\trcx-button--mini-square={effectiveSize === 'mini' && square}\n\t\t\trcx-button--small-square={effectiveSize === 'small' && square}\n\t\t\trcx-button--medium-square={effectiveSize === 'medium' && square}\n\t\t\trcx-button--large-square={effectiveSize === 'large' && square}\n\t\t\trcx-button--loading={loading}\n\t\t\tdisabled={disabled || loading}\n\t\t\tref={ref}\n\t\t\t{...extraProps}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className='rcx-button--content'>\n\t\t\t\t{icon && !loading && <Icon className='rcx-button__icon' size='x16' name={icon} />}\n\t\t\t\t{loading && <Icon className='rcx-button__icon' size='x16' name='loading' />}\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t</Box>\n\t);\n}\n\nexport default Button;\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { AllHTMLAttributes, ReactElement, ReactNode, RefAttributes } from 'react';\nimport { isValidElement, useMemo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\n\nexport type IconButtonSize = {\n\t/** @deprecated Use `size=\"large\"` instead. */\n\tlarge?: boolean;\n\t/** @deprecated Use `size=\"medium\"` instead. */\n\tmedium?: boolean;\n\t/** @deprecated Use `size=\"small\"` instead. */\n\tsmall?: boolean;\n\t/** @deprecated Use `size=\"tiny\"` instead. */\n\ttiny?: boolean;\n\t/** @deprecated Use `size=\"mini\"` instead. */\n\tmini?: boolean;\n};\n\nexport type IconButtonProps = {\n\ticon: IconName | ReactElement<any>;\n\t/**\n\t * What to pin to the button's corner, if anything — a `Badge`, as a rule.\n\t *\n\t * It is hidden from assistive technology, always: `aria-label` replaces a button's contents rather than adding\n\t * to them, so a badge inside a labelled button is never read out. What it says has to reach `aria-label`\n\t * instead, which is the caller's to write.\n\t */\n\tbadge?: ReactNode;\n\t/** The corner the badge is pinned to. */\n\tbadgePosition?: 'top-end' | 'bottom-end';\n\tvariant?:\n\t\t'primary' | 'secondary' | 'info' | 'danger' | 'warning' | 'success' | 'secondary-danger' | 'secondary-warning' | 'secondary-success';\n\tsize?: 'mini' | 'tiny' | 'small' | 'medium' | 'large';\n\t/** @deprecated Use `variant=\"primary\"` instead. */\n\tprimary?: boolean;\n\t/** @deprecated Use `variant=\"secondary\"` instead. */\n\tsecondary?: boolean;\n\t/** @deprecated Use `variant=\"info\"` instead. */\n\tinfo?: boolean;\n\t/** @deprecated Use `variant=\"danger\"` instead. */\n\tdanger?: boolean;\n\t/** @deprecated Use `variant=\"warning\"` instead. */\n\twarning?: boolean;\n\t/** @deprecated Use `variant=\"success\"` instead. */\n\tsuccess?: boolean;\n\tpressed?: boolean;\n\t/** Renders a link instead of a button, for actions that navigate or download. */\n\tis?: 'button' | 'a';\n\t/** Opens the link in a new tab, without giving it access to this page. */\n\texternal?: boolean;\n\t/** Paints the glyph with a font token, for icon-only actions on light surfaces. */\n\tcolor?: 'default' | 'danger';\n} & IconButtonSize &\n\tOmit<ElementProps<HTMLButtonElement | HTMLAnchorElement, AllHTMLAttributes<HTMLButtonElement | HTMLAnchorElement>>, 'ref'> &\n\tRefAttributes<Element>;\n\nconst iconSizes = {\n\tmini: 'x12',\n\ttiny: 'x16',\n\tsmall: 'x20',\n\tmedium: 'x24',\n\tlarge: 'x28',\n} as const;\n\nconst getVariantClass = (variant: string) => {\n\tif (variant) {\n\t\tconst variantClass = [`rcx-button--icon-${[variant].filter(Boolean).join('-')}`];\n\t\treturn variantClass;\n\t}\n\treturn [''];\n};\n\nconst getPressedClass = (variant: string) => {\n\tconst variantClass = [`rcx-button--icon-${[variant].filter(Boolean).join('-')}-pressed`];\n\treturn variantClass;\n};\n\nfunction IconButton({\n\ticon,\n\tbadge,\n\tbadgePosition = 'top-end',\n\tvariant: variantProp,\n\tsize: sizeProp,\n\tprimary,\n\tinfo,\n\tsecondary,\n\tdanger,\n\twarning,\n\tsuccess,\n\tmini,\n\tlarge,\n\ttiny,\n\tsmall,\n\tmedium,\n\tpressed,\n\tis = 'button',\n\texternal,\n\tcolor,\n\tchildren,\n\t...props\n}: IconButtonProps) {\n\tconst variant = useMemo(\n\t\t() =>\n\t\t\t(variantProp === 'primary' ? 'secondary-info' : variantProp) ||\n\t\t\t(secondary && danger && 'secondary-danger') ||\n\t\t\t(secondary && warning && 'secondary-warning') ||\n\t\t\t(secondary && success && 'secondary-success') ||\n\t\t\t(secondary && info && 'secondary-info') ||\n\t\t\t(info && 'info') ||\n\t\t\t(success && 'success') ||\n\t\t\t(warning && 'warning') ||\n\t\t\t(danger && 'danger') ||\n\t\t\t(primary && 'secondary-info') ||\n\t\t\t(secondary && 'secondary') ||\n\t\t\t'',\n\t\t[variantProp, danger, info, primary, secondary, success, warning],\n\t);\n\n\tconst kindAndVariantProps = useMemo(() => {\n\t\tconst variantProp = {} as any;\n\t\tif (variant) {\n\t\t\tvariantProp[`${getVariantClass(variant)}`] = true;\n\t\t}\n\t\tif (pressed) {\n\t\t\tvariantProp[`${getPressedClass(variant)}`] = true;\n\t\t}\n\t\treturn variantProp;\n\t}, [variant, pressed]);\n\n\tconst size = useMemo(\n\t\t() => sizeProp || (mini && 'mini') || (tiny && 'tiny') || (small && 'small') || (medium && 'medium') || (large && 'large') || 'large',\n\t\t[sizeProp, medium, mini, small, tiny, large],\n\t);\n\n\tconst getSizeClass = () => ({ [`rcx-button--${size}-square`]: true });\n\n\tconst getIconSize = () =>\n\t\t(sizeProp && iconSizes[sizeProp]) ||\n\t\t(large && 'x28') ||\n\t\t(medium && 'x24') ||\n\t\t(small && 'x20') ||\n\t\t(tiny && 'x16') ||\n\t\t(mini && 'x12') ||\n\t\t'x28';\n\n\treturn (\n\t\t<Box\n\t\t\tis={is}\n\t\t\t{...(is === 'a'\n\t\t\t\t? { rel: external ? 'noopener noreferrer' : undefined, target: external ? '_blank' : undefined }\n\t\t\t\t: { type: 'button' })}\n\t\t\trcx-button\n\t\t\trcx-button--icon\n\t\t\trcx-button--square\n\t\t\t{...kindAndVariantProps}\n\t\t\t{...getSizeClass()}\n\t\t\trcx-button--icon-pressed={pressed}\n\t\t\trcx-button--with-badge={Boolean(badge)}\n\t\t\tcolor={color}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isValidElement<any>(icon) ? icon : <Icon name={icon} size={getIconSize()} />}\n\t\t\t{Boolean(badge) && (\n\t\t\t\t<span className={`rcx-button__badge rcx-button__badge--${badgePosition}`} aria-hidden='true'>\n\t\t\t\t\t{badge}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t{children}\n\t\t</Box>\n\t);\n}\n\nexport default IconButton;\n","import { useBorderBoxSize, useButtonPattern } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode, AllHTMLAttributes, HTMLAttributeAnchorTarget, MouseEvent } from 'react';\nimport { useRef, useCallback, useMemo } from 'react';\n\nimport { composeClassNames as cx } from '../../helpers/composeClassNames';\nimport { IconButton } from '../Button';\n\nexport type BannerVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger';\n\nconst variants: BannerVariant[] = ['neutral', 'info', 'success', 'warning', 'danger'];\n\nexport type BannerProps = {\n\tactionable?: boolean;\n\tcloseable?: boolean;\n\ticon?: ReactNode;\n\tinline?: boolean;\n\tlink?: string;\n\tlinkTarget?: HTMLAttributeAnchorTarget;\n\tlinkText?: string;\n\tonAction?: () => void;\n\tonClose?: () => void;\n\ttitle?: string;\n\tvariant?: BannerVariant;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst Banner = ({\n\tactionable,\n\tchildren,\n\tclassName,\n\tcloseable,\n\ticon,\n\tinline = false,\n\tlink,\n\tlinkText = 'More info',\n\tlinkTarget = '_blank',\n\tonAction,\n\tonClose,\n\ttitle,\n\tvariant = 'neutral',\n\t...props\n}: BannerProps) => {\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst { inlineSize } = useBorderBoxSize(ref, {\n\t\tdebounceDelay: 70,\n\t});\n\n\tconst isIconVisible = useMemo(() => inlineSize > 375, [inlineSize]);\n\n\tvariant = variants.includes(variant) ? variant : variants[0];\n\n\tconst handleBannerClick = useCallback(() => {\n\t\tif (onAction) {\n\t\t\tonAction();\n\t\t}\n\t}, [onAction]);\n\n\tconst handleCloseButtonClick = useCallback(\n\t\t(event: MouseEvent) => {\n\t\t\tevent.stopPropagation();\n\n\t\t\tif (onClose) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t},\n\t\t[onClose],\n\t);\n\n\tconst buttonProps = useButtonPattern(handleBannerClick);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cx('rcx-banner')({ [variant]: true, inline, actionable }, className)}\n\t\t\tref={ref}\n\t\t\t{...(onAction ? { ...buttonProps } : { role: 'banner', tabIndex: -1 })}\n\t\t\t{...props}\n\t\t>\n\t\t\t{icon && isIconVisible && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={cx(`rcx-banner__icon rcx-banner__icon--${variant}`)({\n\t\t\t\t\t\tinline,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{icon}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className={cx('rcx-banner__content')({ inline })}>\n\t\t\t\t{title && <h6 className={cx('rcx-banner__title')({ inline })}>{title}</h6>}\n\t\t\t\t{children}\n\t\t\t\t{link && (\n\t\t\t\t\t<a href={link} target={linkTarget} className={cx('rcx-banner__link')({ [variant]: true })}>\n\t\t\t\t\t\t{linkText}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{closeable && (\n\t\t\t\t<div className={cx('rcx-banner__close-button')({ inline })}>\n\t\t\t\t\t<IconButton size='small' onClick={handleCloseButtonClick} icon='cross' />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Banner;\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../Icon';\n\ntype BubbleButtonProps = {\n\tonClick: () => void;\n\tlabel?: ReactNode;\n\tsecondary?: boolean;\n\ticon?: IconName;\n} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>;\n\nexport const BubbleButton = ({ secondary, label, onClick, icon, ...props }: BubbleButtonProps) => (\n\t<button\n\t\tclassName={`rcx-box rcx-box--full rcx-bubble__button ${secondary ? 'rcx-bubble__button--secondary' : 'rcx-bubble__button--primary'}`}\n\t\tonClick={onClick}\n\t\t{...props}\n\t>\n\t\t{icon && <Icon name={icon} size='x16' />}\n\t\t{label && <span>{label}</span>}\n\t</button>\n);\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../Icon';\n\ntype BubbleItemProps = {\n\tlabel?: ReactNode;\n\tsecondary?: boolean;\n\ticon?: IconName;\n} & HTMLAttributes<HTMLSpanElement>;\n\nexport const BubbleItem = ({ secondary, label, icon, ...props }: BubbleItemProps) => (\n\t<span className={`rcx-bubble__item ${secondary ? 'rcx-bubble__item--secondary' : 'rcx-bubble__item--primary'}`} {...props}>\n\t\t{icon && <Icon name={icon} size='x16' />}\n\t\t{label && <span>{label}</span>}\n\t</span>\n);\n","import type { Keys as IconName } from '@rocket.chat/icons';\nimport type { AllHTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { BubbleButton } from './BubbleButton';\nimport { BubbleItem } from './BubbleItem';\n\nexport type BubbleProps = {\n\tsecondary?: boolean;\n\tchildren: ReactNode;\n\tsmall?: boolean;\n\tonClick?: () => void;\n\ticon?: IconName;\n\tonDismiss?: () => void;\n\tcontentProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>;\n\tdismissProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'>;\n} & Omit<AllHTMLAttributes<HTMLDivElement>, 'onClick'>;\n\nconst Bubble = ({ secondary, children, onClick, icon, onDismiss, small, contentProps, dismissProps, ...props }: BubbleProps) => (\n\t<div\n\t\tclassName={['rcx-bubble', 'rcx-box', 'rcx-box--full', onDismiss && 'rcx-bubble__group', small && 'rcx-bubble--small'].join(' ')}\n\t\t{...props}\n\t>\n\t\t{onClick ? (\n\t\t\t<BubbleButton onClick={onClick} secondary={secondary} icon={icon} label={children} {...contentProps} />\n\t\t) : (\n\t\t\t<BubbleItem secondary={secondary} icon={icon} label={children} {...contentProps} />\n\t\t)}\n\t\t{onDismiss && (\n\t\t\t<BubbleButton\n\t\t\t\tonClick={onDismiss}\n\t\t\t\tsecondary={secondary}\n\t\t\t\ticon='cross-small'\n\t\t\t\t{...{ 'aria-label': `Dismiss ${children}`, ...dismissProps }}\n\t\t\t/>\n\t\t)}\n\t</div>\n);\n\nexport default Bubble;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type ButtonGroupProps = RefAttributes<HTMLDivElement> & {\n\talign?: 'start' | 'center' | 'end';\n\t/** `equal` also gives every button the same width. */\n\tstretch?: boolean | 'equal';\n\twrap?: boolean;\n\tvertical?: boolean;\n\tsmall?: boolean;\n\tlarge?: boolean;\n} & HTMLAttributes<HTMLDivElement>;\n\n/**\n * A container for grouping buttons that semantically share a common action context.\n */\nfunction ButtonGroup({ align = 'start', children, stretch, vertical, wrap, small, large, className, ...props }: ButtonGroupProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={[\n\t\t\t\t'rcx-button-group',\n\t\t\t\tstretch && 'rcx-button-group--stretch',\n\t\t\t\tstretch === 'equal' && 'rcx-button-group--stretch-equal',\n\t\t\t\tvertical && 'rcx-button-group--vertical',\n\t\t\t\talign && `rcx-button-group--align-${align}`,\n\t\t\t\tsmall && 'rcx-button-group--small',\n\t\t\t\tlarge && 'rcx-button-group--large',\n\t\t\t\twrap && 'rcx-button-group--wrap',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' ')}\n\t\t\trole='group'\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n\nexport default ButtonGroup;\n","import { useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type CalloutProps = ElementProps<HTMLElement> & {\n\ttype?: 'info' | 'success' | 'warning' | 'danger';\n\ttitle?: ReactNode;\n\tchildren?: ReactNode;\n\ticon?: IconProps['name'];\n\tactions?: ReactNode;\n};\n\nconst WRAPPER_LIMIT_SIZE = 420;\n\n/**\n * The `Callout` is used to get the user's attention explaining something important in the content of the current page.\n */\nconst Callout = ({ type, title, children, icon, className, actions, ...props }: CalloutProps) => {\n\tconst { ref, borderBoxSize } = useResizeObserver();\n\tconst isLarge = borderBoxSize.inlineSize && borderBoxSize.inlineSize >= WRAPPER_LIMIT_SIZE;\n\n\tconst defaultIcon =\n\t\t(type === 'info' && 'info-circled') ||\n\t\t(type === 'success' && 'checkmark-circled') ||\n\t\t(type === 'warning' && 'warning') ||\n\t\t(type === 'danger' && 'ban') ||\n\t\t'info-circled';\n\n\treturn (\n\t\t<Box ref={ref} is='section' className={['rcx-callout', type && `rcx-callout--${type}`, className].filter(Boolean).join(' ')} {...props}>\n\t\t\t<Icon className='rcx-callout__icon' name={icon || defaultIcon} size='x20' />\n\t\t\t<Box rcx-callout__wrapper rcx-callout__wrapper--large={isLarge}>\n\t\t\t\t<Box rcx-callout__wrapper-content>\n\t\t\t\t\t{title && <Box rcx-callout__title>{title}</Box>}\n\t\t\t\t\t{children && <Box rcx-callout__content>{children}</Box>}\n\t\t\t\t</Box>\n\t\t\t\t{actions && <Box rcx-callout__actions>{actions}</Box>}\n\t\t\t</Box>\n\t\t</Box>\n\t);\n};\n\nexport default Callout;\n","import { useBreakpoints } from '@rocket.chat/fuselage-hooks';\nimport type { AllHTMLAttributes } from 'react';\n\nimport { Box } from '../Box';\n\nexport type CardProps = {\n\thorizontal?: boolean;\n\thero?: boolean;\n\tclickable?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst Card = ({ horizontal, hero, clickable, ...props }: CardProps) => {\n\tconst breakpoints = useBreakpoints();\n\tconst isMobile = !breakpoints.includes('sm');\n\n\treturn (\n\t\t<Box\n\t\t\trcx-card\n\t\t\trcx-card__horizontal={horizontal}\n\t\t\trcx-card__vertical={!horizontal}\n\t\t\trcx-card__hero={hero}\n\t\t\trcx-card__horizontal--wrap={horizontal && isMobile}\n\t\t\trcx-card__clickable={clickable}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nexport default Card;\n","import type { CSSProperties, ReactNode } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\n\nexport type CardBodyProps = {\n\tflexDirection?: CSSProperties['flexDirection'];\n\theight?: BoxProps['height'];\n\tchildren: ReactNode;\n} & ElementProps<HTMLDivElement>;\n\nconst CardBody = ({ children, flexDirection = 'row', height, ...props }: CardBodyProps) => (\n\t<Box fontScale='p2m' display='flex' flexDirection={flexDirection} flexGrow={1} height={height} rcx-card__body {...props}>\n\t\t{children}\n\t</Box>\n);\n\nexport default CardBody;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type CardColProps = {\n\tchildren: ReactNode;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst CardCol = ({ children, ...props }: CardColProps) => (\n\t<div className='rcx-card__col' {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport default CardCol;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type CardRowProps = {\n\tchildren: ReactNode;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst CardRow = ({ children, ...props }: CardRowProps) => (\n\t<div className='rcx-card__row' {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport default CardRow;\n","import { Box } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nexport type LabelInfoProps = {\n\ttitle: string;\n\tid?: string;\n} & Omit<IconProps, 'name'>;\n\nexport const LabelInfo = ({ title, id, ...props }: LabelInfoProps) => (\n\t<Box is='span' marginInline='x4' rcx-label__info>\n\t\t<span hidden id={id}>\n\t\t\t{title}\n\t\t</span>\n\t\t<Icon {...props} name='info-circled' title={title} />\n\t</Box>\n);\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nimport { Box } from '../Box';\nimport { LabelInfo } from '../Label/LabelInfo';\n\nexport type CardTitleProps = {\n\tchildren: ReactNode;\n\tinfo?: string;\n\tvariant?: 'h3' | 'h4' | 'h5';\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\nconst CardTitle = ({ children, info, variant = 'h4', ...props }: CardTitleProps) => (\n\t<Box fontScale={variant} is={variant} rcx-card__title {...props}>\n\t\t{children}\n\t\t{info && <LabelInfo title={info} />}\n\t</Box>\n);\n\nexport default CardTitle;\n","import type { HTMLAttributes } from 'react';\n\nexport type CardControlsProps = HTMLAttributes<HTMLDivElement>;\n\nconst CardControls = ({ ...props }: CardControlsProps) => <div className='rcx-card__controls' {...props} />;\n\nexport default CardControls;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type CardHeaderProps = {\n\tchildren: ReactNode;\n} & AllHTMLAttributes<HTMLElement>;\n\nconst CardHeader = ({ children, ...props }: CardHeaderProps) => (\n\t<div className='rcx-card__header' {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport default CardHeader;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type GridItemProps = ElementProps<HTMLDivElement> & {\n\txs?: 1 | 2 | 3 | 4;\n\tsm?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\tmd?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\tlg?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\txl?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n};\n\nconst GridItem = ({ xs, sm, md, lg, xl, ...props }: GridItemProps) => (\n\t<Box\n\t\trcx-grid__item\n\t\trcx-grid__item--xs={xs}\n\t\trcx-grid__item--sm={sm}\n\t\trcx-grid__item--md={md}\n\t\trcx-grid__item--lg={lg}\n\t\trcx-grid__item--xl={xl}\n\t\t{...props}\n\t/>\n);\n\nexport default GridItem;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport GridItem from './GridItem';\n\nexport type GridProps = ElementProps<HTMLDivElement> & {\n\txs?: boolean;\n\tsm?: boolean;\n\tmd?: boolean;\n\tlg?: boolean;\n\txl?: boolean;\n};\n\nconst Grid = ({ xs, sm, md, lg, xl, ...props }: GridProps) => (\n\t<Box rcx-grid__wrapper>\n\t\t<Box rcx-grid rcx-grid--xs={xs} rcx-grid--sm={sm} rcx-grid--md={md} rcx-grid--lg={lg} rcx-grid--xl={xl} {...props} />\n\t</Box>\n);\n\nGrid.Item = GridItem;\n\nexport default Grid;\n","import type { ReactNode } from 'react';\n\nimport type { GridItemProps } from '../Grid';\nimport { GridItem } from '../Grid';\n\nexport type CardGridItemProps = Pick<GridItemProps, 'xs' | 'sm' | 'md' | 'lg' | 'xl'> & {\n\tchildren: ReactNode;\n};\n\n/**\n * A `CardGrid` cell with its own column spans, for grids whose cards are not all the same width.\n */\nconst CardGridItem = ({ children, xs, sm, md, lg, xl }: CardGridItemProps) => (\n\t<GridItem className='rcx-card-grid__item' xs={xs} sm={sm} md={md} lg={lg} xl={xl}>\n\t\t{children}\n\t</GridItem>\n);\n\nexport default CardGridItem;\n","import { css } from '@rocket.chat/css-in-js';\nimport type { ReactNode } from 'react';\nimport { Children, isValidElement } from 'react';\n\nimport CardGridItem from './CardGridItem';\nimport { Box } from '../Box';\nimport type { GridItemProps } from '../Grid';\nimport { GridItem } from '../Grid';\n\nexport type CardGridProps = {\n\tchildren: ReactNode;\n\tbreakpoints?: GridItemProps;\n\t/** Minimum height of each row in pixels, gutters included. */\n\tminRowHeight?: number;\n};\n\nconst CardGrid = ({ children, breakpoints, minRowHeight }: CardGridProps) => (\n\t<Box rcx-grid__wrapper>\n\t\t<Box\n\t\t\trcx-grid\n\t\t\tclassName={[\n\t\t\t\t'rcx-card-grid',\n\t\t\t\tminRowHeight !== undefined &&\n\t\t\t\t\tcss`\n\t\t\t\t\t\t& > .rcx-card-grid__item {\n\t\t\t\t\t\t\tmin-height: ${minRowHeight}px;\n\t\t\t\t\t\t}\n\t\t\t\t\t`,\n\t\t\t]}\n\t\t>\n\t\t\t{Children.map(children, (child) => {\n\t\t\t\tif (child === null) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tif (isValidElement(child) && child.type === CardGridItem) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<GridItem className='rcx-card-grid__item' {...breakpoints}>\n\t\t\t\t\t\t{child}\n\t\t\t\t\t</GridItem>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Box>\n\t</Box>\n);\n\nexport default CardGrid;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { Box } from '../Box';\n\nexport type CardGroupProps = {\n\talign?: 'start' | 'center' | 'end';\n\tstretch?: boolean;\n\twrap?: boolean;\n\tvertical?: boolean;\n\tsmall?: boolean;\n\tlarge?: boolean;\n\tchildren?: ReactNode;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'wrap'>;\n\nconst CardGroup = ({ align = 'start', children, stretch, vertical, wrap, ...props }: CardGroupProps) => (\n\t<Box\n\t\trcx-card-group\n\t\trcx-card-group--align={align}\n\t\trcx-card-group--stretch={stretch}\n\t\trcx-card-group--vertical={vertical}\n\t\trcx-card-group--wrap={wrap}\n\t\trole='group'\n\t\t{...props}\n\t>\n\t\t{patchChildren(children, (childProps: { className: string | string[] }) => ({\n\t\t\tclassName: appendClassName(childProps.className, 'rcx-card-group__item'),\n\t\t}))}\n\t</Box>\n);\n\nexport default CardGroup;\n","import type { ReactElement } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Skeleton } from '../Skeleton';\n\nexport type CodeSnippetProps = ElementProps<HTMLPreElement> & {\n\tchildren: string;\n\tbuttonText?: string;\n\tbuttonDisabled?: boolean;\n\tonClick?: () => void;\n};\n\n/**\n * The `CodeSnippet` is used to show code or commands and make easier to copy them.\n *\n * The default button text is `Copy` but you can use the `buttonText` prop to handle translations in your project.\n *\n * Please check the `useClipBoard` hook in `fuselage-hooks` package, to handle the copy behaviour.\n */\nconst CodeSnippet = ({\n\tchildren,\n\tonClick,\n\tbuttonText = 'Copy',\n\tbuttonDisabled = false,\n\t...props\n}: CodeSnippetProps): ReactElement<CodeSnippetProps> => {\n\tif (!children) {\n\t\treturn (\n\t\t\t<Box is='pre' rcx-code-snippet {...props}>\n\t\t\t\t<Skeleton width='100%' aria-hidden aria-busy />\n\t\t\t</Box>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Box is='pre' rcx-code-snippet {...props}>\n\t\t\t<Box role='code' rcx-code-snippet__codebox>\n\t\t\t\t{children}\n\t\t\t</Box>\n\t\t\t{onClick && children && (\n\t\t\t\t<Box>\n\t\t\t\t\t<Button size='small' variant='primary' onClick={onClick} disabled={buttonDisabled}>\n\t\t\t\t\t\t{buttonText}\n\t\t\t\t\t</Button>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t</Box>\n\t);\n};\n\nexport default CodeSnippet;\n","import { memo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ContextualbarProps = ElementProps<HTMLElement> & {\n\t/** Makes the bar as wide as its container, as when it is positioned over the room. */\n\tstretch?: boolean;\n\t/** How the bar is placed: in the flow beside the room, or over it. */\n\tposition?: 'static' | 'relative' | 'absolute' | 'fixed';\n};\n\n/**\n * The `Contextualbar` has the purpose to persist and input information about the scope of the related page.\n */\nfunction Contextualbar({ stretch, position, ...props }: ContextualbarProps) {\n\treturn (\n\t\t<Box\n\t\t\trcx-vertical-bar\n\t\t\tbackgroundColor='room'\n\t\t\tcolor='default'\n\t\t\tdisplay='flex'\n\t\t\tflexDirection='column'\n\t\t\tflexShrink={0}\n\t\t\twidth={stretch ? '100%' : undefined}\n\t\t\tborderInlineStartWidth='default'\n\t\t\tborderInlineStartColor='extra-light'\n\t\t\tborderInlineStartStyle='solid'\n\t\t\theight='full'\n\t\t\tposition={position}\n\t\t\tinsetInlineEnd='none'\n\t\t\tinsetBlockStart='none'\n\t\t\tzIndex={10}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default memo(Contextualbar);\n","import { memo } from 'react';\n\nimport { IconButton, type IconButtonProps } from '../Button';\n\nexport type ContextualbarActionProps = {\n\tname: IconButtonProps['icon'];\n} & Omit<IconButtonProps, 'name' | 'icon'>;\n\nconst ContextualbarAction = ({ name, ...props }: ContextualbarActionProps) => <IconButton {...props} size='small' icon={name} />;\n\nexport default memo(ContextualbarAction);\n","import { memo } from 'react';\n\nimport { ButtonGroup, type ButtonGroupProps } from '../ButtonGroup';\n\nexport type ContextualbarActionsProps = ButtonGroupProps;\n\nconst ContextualbarActions = (props: ContextualbarActionsProps) => <ButtonGroup {...props} />;\n\nexport default memo(ContextualbarActions);\n","import { memo } from 'react';\n\nimport { Button, type ButtonProps } from '../Button';\n\nexport type ContextualbarButtonProps = ButtonProps;\n\nconst ContextualbarButton = (props: ContextualbarButtonProps) => <Button {...props} />;\n\nexport default memo(ContextualbarButton);\n","import { memo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ContextualbarContentProps = ElementProps<HTMLElement> & {\n\t/** Drops the inline padding, for content such as a list whose items bring their own. */\n\tflush?: boolean;\n\t/** Adds a 12px block padding, so the first and last items keep clear of the header and footer. */\n\tspaced?: boolean;\n};\n\nfunction ContextualbarContent({ flush, spaced, ...props }: ContextualbarContentProps) {\n\treturn (\n\t\t<Box\n\t\t\trcx-vertical-bar__content\n\t\t\tpaddingInline={flush ? 0 : 24}\n\t\t\tpaddingBlock={spaced ? 12 : undefined}\n\t\t\tdisplay='flex'\n\t\t\tflexDirection='column'\n\t\t\toverflowY='hidden'\n\t\t\theight='full'\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default memo(ContextualbarContent);\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst States = ({ children, ...props }: StatesProps) => (\n\t<div {...props} className='rcx-states'>\n\t\t{children}\n\t</div>\n);\n\nexport default States;\n","import { Icon, type IconProps } from '../Icon';\n\nexport type StatesIconProps = {\n\tvariation?: 'danger' | 'success' | 'warning' | 'primary';\n} & IconProps;\n\nconst StatesIcon = ({ variation, className, ...props }: StatesIconProps) => (\n\t<Icon\n\t\t{...props}\n\t\tclassName={['rcx-states__icon', variation && `rcx-states__icon--${variation}`, className].filter(Boolean).join(' ')}\n\t\tsize='x32'\n\t/>\n);\n\nexport default StatesIcon;\n","import { Button, type ButtonProps } from '../Button';\n\nexport type StatesActionProps = ButtonProps;\n\nconst StatesAction = ({ primary = true, variant = primary ? 'primary' : undefined, ...props }: StatesActionProps) => (\n\t<Button {...props} variant={variant} />\n);\n\nexport default StatesAction;\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport type StatesActionsProps = ButtonGroupProps;\n\nconst StatesActions = (props: StatesActionsProps) => <ButtonGroup {...props} />;\n\nexport default StatesActions;\n","import type { AnchorHTMLAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type StatesLinkProps = ElementProps<HTMLAnchorElement, AnchorHTMLAttributes<HTMLAnchorElement>>;\n\nconst StatesLink = (props: StatesLinkProps) => <Box is='a' rcx-states__link {...props} />;\n\nexport default StatesLink;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSubtitleProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst StatesSubtitle = ({ children, ...props }: StatesSubtitleProps) => (\n\t<div {...props} className='rcx-states__subtitle'>\n\t\t{children}\n\t</div>\n);\n\nexport default StatesSubtitle;\n","import type { ReactNode, AllHTMLAttributes } from 'react';\n\nexport type StatesSuggestionProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst StatesSuggestion = ({ children, ...props }: StatesSuggestionProps) => (\n\t<div {...props} className='rcx-states__suggestion'>\n\t\t{children}\n\t</div>\n);\n\nexport default StatesSuggestion;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSuggestionListProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLUListElement>;\n\nconst StatesSuggestionList = ({ children, ...props }: StatesSuggestionListProps) => (\n\t<ul {...props} className='rcx-states__list'>\n\t\t{children}\n\t</ul>\n);\n\nexport default StatesSuggestionList;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSuggestionListItemProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLLIElement>;\n\nconst StatesSuggestionListItem = ({ children, ...props }: StatesSuggestionListItemProps) => (\n\t<li {...props} className='rcx-states__list-item'>\n\t\t<span className='rcx-states__list-item-wrapper'>{children}</span>\n\t</li>\n);\n\nexport default StatesSuggestionListItem;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesSuggestionTextProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst StatesSuggestionText = ({ children, ...props }: StatesSuggestionTextProps) => (\n\t<div {...props} className='rcx-states__suggestion-text'>\n\t\t{children}\n\t</div>\n);\n\nexport default StatesSuggestionText;\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nexport type StatesTitleProps = {\n\tchildren?: ReactNode;\n} & AllHTMLAttributes<HTMLHeadingElement>;\n\nconst StatesTitle = ({ children, ...props }: StatesTitleProps) => (\n\t<h3 {...props} className='rcx-states__title'>\n\t\t{children}\n\t</h3>\n);\n\nexport default StatesTitle;\n","import { memo } from 'react';\n\nimport { Box } from '../Box';\nimport { StatesIcon, States, StatesTitle, StatesSubtitle, type StatesIconProps } from '../States';\nimport type { ContextualbarContentProps } from './ContextualbarContent';\nimport ContextualbarContent from './ContextualbarContent';\n\nexport type ContextualbarEmptyContentProps = ContextualbarContentProps & {\n\ticon?: StatesIconProps['name'];\n\ttitle?: string;\n\tsubtitle?: string;\n};\n\nfunction ContextualbarEmptyContent({ icon = 'magnifier', title = 'Nothing Found', subtitle, ...props }: ContextualbarEmptyContentProps) {\n\treturn (\n\t\t<ContextualbarContent {...props}>\n\t\t\t<Box display='flex' flexDirection='column' justifyContent='center' flexGrow={1}>\n\t\t\t\t<States>\n\t\t\t\t\t<StatesIcon name={icon} />\n\t\t\t\t\t<StatesTitle>{title}</StatesTitle>\n\t\t\t\t\t{subtitle && <StatesSubtitle>{subtitle}</StatesSubtitle>}\n\t\t\t\t</States>\n\t\t\t</Box>\n\t\t</ContextualbarContent>\n\t);\n}\n\nexport default memo(ContextualbarEmptyContent);\n","import { memo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ContextualbarFooterProps = ElementProps<HTMLElement>;\n\nfunction ContextualbarFooter(props: ContextualbarFooterProps) {\n\treturn <Box paddingInline={16} paddingBlock={20} {...props} />;\n}\n\nexport default memo(ContextualbarFooter);\n","import { css } from '@rocket.chat/css-in-js';\nimport { memo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ContextualbarHeaderProps = ElementProps<HTMLDivElement>;\n\nconst ContextualbarHeader = ({ children, ...props }: ContextualbarHeaderProps) => (\n\t<Box\n\t\tdisplay='flex'\n\t\talignItems='center'\n\t\theight='x44'\n\t\tpaddingInline={16}\n\t\tborderBlockEndWidth='default'\n\t\tborderBlockColor='extra-light'\n\t\tflexShrink={0}\n\t\t{...props}\n\t>\n\t\t<Box\n\t\t\tdisplay='flex'\n\t\t\talignItems='center'\n\t\t\tjustifyContent='space-between'\n\t\t\tflexGrow={1}\n\t\t\theight='100%'\n\t\t\toverflow='hidden'\n\t\t\tmarginInline={-4}\n\t\t\tpaddingInline={4}\n\t\t\tclassName={css`\n\t\t\t\tgap: 8px;\n\t\t\t`}\n\t\t>\n\t\t\t{children}\n\t\t</Box>\n\t</Box>\n);\n\nexport default memo(ContextualbarHeader);\n","import { memo } from 'react';\n\nimport { Icon, type IconProps } from '../Icon';\n\nexport type ContextualbarIconProps = IconProps;\n\nconst ContextualbarIcon = (props: ContextualbarIconProps) => <Icon {...props} size='x20' />;\n\nexport default memo(ContextualbarIcon);\n","import { memo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ContextualbarSectionProps = ElementProps<HTMLElement>;\n\nfunction ContextualbarSection(props: ContextualbarSectionProps) {\n\treturn (\n\t\t<Box\n\t\t\trcx-vertical-bar__section\n\t\t\tpadding={16}\n\t\t\tdisplay='flex'\n\t\t\talignItems='center'\n\t\t\tflexGrow={1}\n\t\t\tborderBlockEndWidth='default'\n\t\t\tborderBlockColor='extra-light'\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default memo(ContextualbarSection);\n","import { memo } from 'react';\n\nimport { Box } from '../Box';\nimport { Skeleton } from '../Skeleton';\nimport Contextualbar, { type ContextualbarProps } from './Contextualbar';\nimport ContextualbarHeader from './ContextualbarHeader';\n\nexport type ContextualbarSkeletonProps = ContextualbarProps;\n\nconst ContextualbarSkeleton = (props: ContextualbarSkeletonProps) => (\n\t<Contextualbar {...props}>\n\t\t<ContextualbarHeader>\n\t\t\t<Skeleton width='100%' />\n\t\t</ContextualbarHeader>\n\t\t<Box padding={24} display='flex' flexDirection='column' gap={4}>\n\t\t\t<Skeleton width='32px' height='32px' variant='rect' />\n\t\t\t<Box>\n\t\t\t\t{Array(5)\n\t\t\t\t\t.fill(5)\n\t\t\t\t\t.map((_, index) => (\n\t\t\t\t\t\t<Skeleton key={index} />\n\t\t\t\t\t))}\n\t\t\t</Box>\n\t\t</Box>\n\t</Contextualbar>\n);\n\nexport default memo(ContextualbarSkeleton);\n","import { memo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ContextualbarTitleProps = ElementProps<HTMLHeadingElement>;\n\nconst ContextualbarTitle = (props: ContextualbarTitleProps) => (\n\t<Box flexShrink={1} flexGrow={1} fontScale='h5' withTruncatedText is='h5' {...props} />\n);\n\nexport default memo(ContextualbarTitle);\n","import type { CSSProperties, ReactNode, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\nimport { PopoverSurface, type PopoverSurfaceProps } from '../PopoverSurface';\n\nexport type DropdownDesktopProps = RefAttributes<HTMLElement> & {\n\tchildren: ReactNode;\n\tmaxHeight?: PopoverSurfaceProps['maxHeight'];\n\tstyle?: CSSProperties;\n};\n\nexport function DropdownDesktop({ children, style, ...props }: DropdownDesktopProps) {\n\treturn (\n\t\t<PopoverSurface style={style} data-testid='dropdown' {...props}>\n\t\t\t<Box>{style?.visibility === 'hidden' ? null : children}</Box>\n\t\t</PopoverSurface>\n\t);\n}\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport { usePosition } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode, RefAttributes, RefObject } from 'react';\n\nimport { DropdownDesktop } from './DropdownDesktop';\n\nexport type DropdownDesktopWrapperProps<T extends HTMLElement> = RefAttributes<HTMLElement> & {\n\treference: RefObject<T | null>;\n\tplacement?: UsePositionOptions['placement'];\n\tchildren: ReactNode;\n};\n\nexport function DropdownDesktopWrapper({ ref, reference, placement = 'bottom-start', ...props }: DropdownDesktopWrapperProps<HTMLElement>) {\n\tconst { style } = usePosition(reference, ref as RefObject<HTMLElement | null>, {\n\t\tplacement,\n\t});\n\n\treturn <DropdownDesktop style={style} ref={ref} {...props} />;\n}\n","import type { ReactNode, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\nimport { PopoverSurface } from '../PopoverSurface';\n\nexport type DropdownMobileProps = RefAttributes<HTMLElement> & {\n\tchildren: ReactNode;\n};\n\nconst bottomSheet = { position: 'fixed', bottom: 0, left: 0, zIndex: 2, width: '100vw' } as const;\n\nexport function DropdownMobile({ children, ...props }: DropdownMobileProps) {\n\treturn (\n\t\t<PopoverSurface flush maxHeight='most-of-screen' style={bottomSheet} data-testid='dropdown' {...props}>\n\t\t\t<Box paddingBlock={16}>{children}</Box>\n\t\t</PopoverSurface>\n\t);\n}\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport { useMediaQuery } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode, RefAttributes, RefObject } from 'react';\n\nimport { DropdownDesktopWrapper } from './DropdownDesktopWrapper';\nimport { DropdownMobile } from './DropdownMobile';\n\nexport type DropdownProps<T extends HTMLElement> = RefAttributes<HTMLElement> & {\n\treference: RefObject<T | null>;\n\tplacement?: UsePositionOptions['placement'];\n\tchildren: ReactNode;\n};\n\nfunction Dropdown({ ref, children, reference, placement = 'bottom-start' }: DropdownProps<HTMLElement>) {\n\tconst notSmall = useMediaQuery('(min-width: 500px)');\n\n\treturn notSmall ? (\n\t\t<DropdownDesktopWrapper reference={reference} placement={placement} ref={ref}>\n\t\t\t{children}\n\t\t</DropdownDesktopWrapper>\n\t) : (\n\t\t<DropdownMobile ref={ref}>{children}</DropdownMobile>\n\t);\n}\n\nexport default Dropdown;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type EmailInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\n/**\n * An input for email addresses.\n */\nfunction EmailInput(props: EmailInputProps) {\n\treturn <InputBox type='email' {...props} />;\n}\n\nexport default EmailInput;\n","import { createContext } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport const FieldContext = createContext(false);\n\nexport type FieldProps = ElementProps<HTMLDivElement>;\n\n/**\n * A `Field` is a wrapper representing an entry in a form.\n */\nfunction Field(props: FieldProps) {\n\treturn (\n\t\t<FieldContext.Provider value={true}>\n\t\t\t<Box rcx-field {...props} />\n\t\t</FieldContext.Provider>\n\t);\n}\n\nexport default Field;\n","import type { Context, ReactNode } from 'react';\nimport { useContext } from 'react';\n\ntype WithErrorWrapperProps<T> = {\n\tcontext: Context<T>;\n\tchildren: ReactNode;\n\tcomponentName: string;\n\tparentComponent: 'Field';\n};\n\nfunction WithErrorWrapper<T>({ context, componentName, children, parentComponent }: WithErrorWrapperProps<T>) {\n\tconst isInsideParent = useContext(context);\n\tif (!isInsideParent) {\n\t\tthrow new Error(`${componentName} should be used as children of ${parentComponent} Component`);\n\t}\n\n\treturn children;\n}\n\nexport default WithErrorWrapper;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { FieldContext } from './Field';\n\nexport type FieldDescriptionProps = ElementProps<HTMLSpanElement>;\n\nconst FieldDescription = (props: FieldDescriptionProps) => {\n\tconst component = <Box is='span' rcx-field__description {...props} />;\n\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldDescription.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n};\n\nexport default FieldDescription;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { FieldContext } from './Field';\n\nexport type FieldErrorProps = ElementProps<HTMLSpanElement>;\n\nconst FieldError = (props: FieldErrorProps) => {\n\tconst component = <Box is='span' rcx-field__error {...props} />;\n\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldError.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n};\n\nexport default FieldError;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { FieldContext } from './Field';\n\nexport type FieldHintProps = ElementProps<HTMLSpanElement>;\n\nconst FieldHint = (props: FieldHintProps) => {\n\tconst component = <Box is='span' rcx-field__hint {...props} />;\n\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldHint.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n};\n\nexport default FieldHint;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport { prependClassName } from '../../helpers/prependClassName';\nimport type { LabelProps } from '../Label';\nimport { Label } from '../Label';\nimport { FieldContext } from './Field';\n\nexport type FieldLabelProps = LabelProps;\n\nfunction FieldLabel({ className, ...props }: FieldLabelProps) {\n\tconst component = <Label {...props} className={prependClassName(className, 'rcx-field__label')} />;\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldLabel.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n}\n\nexport default FieldLabel;\n","import { FieldContext } from './Field';\nimport WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { LabelInfoProps } from '../Label/LabelInfo';\nimport { LabelInfo } from '../Label/LabelInfo';\n\nexport type FieldLabelInfoProps = LabelInfoProps;\n\nconst FieldLabelInfo = (props: FieldLabelInfoProps) => {\n\tconst component = <LabelInfo {...props} />;\n\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldLabelInfo.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n};\n\nexport default FieldLabelInfo;\n","import type { AnchorHTMLAttributes } from 'react';\n\nimport WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { FieldContext } from './Field';\n\nexport type FieldLinkProps = ElementProps<HTMLAnchorElement, AnchorHTMLAttributes<HTMLAnchorElement>>;\n\nconst FieldLink = (props: FieldLinkProps) => {\n\tconst component = <Box is='a' rcx-field__link {...props} />;\n\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldLink.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n};\n\nexport default FieldLink;\n","import WithErrorWrapper from '../../helpers/WithErrorWrapper';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { FieldContext } from './Field';\n\nexport type FieldRowProps = ElementProps<HTMLSpanElement> & {\n\t/** Packs the row's content at the end of the line. */\n\tjustify?: 'end';\n};\n\nconst FieldRow = ({ justify, ...props }: FieldRowProps) => {\n\tconst component = <Box is='span' rcx-field__row rcx-field__row--justify-end={justify === 'end'} {...props} />;\n\n\tif (process.env.NODE_ENV === 'development') {\n\t\treturn (\n\t\t\t<WithErrorWrapper context={FieldContext} parentComponent='Field' componentName={FieldRow.name}>\n\t\t\t\t{component}\n\t\t\t</WithErrorWrapper>\n\t\t);\n\t}\n\n\treturn component;\n};\n\nexport default FieldRow;\n","import type { FieldsetHTMLAttributes } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type FieldGroupProps = ElementProps<HTMLFieldSetElement, FieldsetHTMLAttributes<HTMLFieldSetElement>>;\n\n/**\n * A container for grouping fields that semantically share a common data context.\n */\nconst FieldGroup = ({ children, ...props }: FieldGroupProps) => (\n\t<Box is='fieldset' rcx-field-group role='group' {...props}>\n\t\t{patchChildren(children, (childProps: { className: string | string[] }) => ({\n\t\t\tclassName: appendClassName(childProps.className, 'rcx-field-group__item'),\n\t\t}))}\n\t</Box>\n);\n\nexport default FieldGroup;\n","import type { ReactNode } from 'react';\nimport { useCallback } from 'react';\n\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type FlexContainerProps = {\n\tchildren?: ReactNode;\n\tinline?: boolean;\n\tdirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n\twrap?: 'no-wrap' | 'wrap' | 'wrap-reverse';\n\talignItems?: 'stretch' | 'start' | 'center' | 'end' | 'baseline';\n\talignContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';\n\tjustifyContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';\n};\n\nfunction FlexContainer({ inline = false, children, direction, wrap, alignItems, alignContent, justifyContent }: FlexContainerProps) {\n\tconst transformFn = useCallback(\n\t\t(props: any) => {\n\t\t\tif (inline !== undefined && props.display === undefined) {\n\t\t\t\tprops.display = inline ? 'inline-flex' : 'flex';\n\t\t\t}\n\n\t\t\tif (direction !== undefined && props.flexDirection === undefined) {\n\t\t\t\tprops.flexDirection = direction;\n\t\t\t}\n\n\t\t\tif (wrap !== undefined && props.flexWrap === undefined) {\n\t\t\t\tprops.flexWrap = wrap === 'no-wrap' ? 'nowrap' : wrap;\n\t\t\t}\n\n\t\t\tif (alignItems !== undefined && props.alignItems === undefined) {\n\t\t\t\tprops.alignItems = (alignItems === 'start' && 'flex-start') || (alignItems === 'end' && 'flex-end') || alignItems;\n\t\t\t}\n\n\t\t\tif (alignContent !== undefined && props.alignContent === undefined) {\n\t\t\t\tprops.alignContent = (alignContent === 'start' && 'flex-start') || (alignContent === 'end' && 'flex-end') || alignContent;\n\t\t\t}\n\n\t\t\tif (justifyContent !== undefined && props.justifyContent === undefined) {\n\t\t\t\tprops.justifyContent = (justifyContent === 'start' && 'flex-start') || (justifyContent === 'end' && 'flex-end') || justifyContent;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t},\n\t\t[alignContent, alignItems, direction, inline, justifyContent, wrap],\n\t);\n\n\treturn <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>{children}</BoxTransforms.Provider>;\n}\n\nexport default FlexContainer;\n","import type { ReactNode } from 'react';\nimport { useCallback } from 'react';\n\nimport { BoxTransforms, useComposedBoxTransform } from '../Box/BoxTransforms';\n\nexport type FlexItemProps = {\n\tchildren?: ReactNode;\n\torder?: number;\n\tgrow?: number;\n\tshrink?: number;\n\tbasis?: number | string | 'auto';\n\talign?: 'auto' | 'start' | 'end' | 'center' | 'stretch';\n};\n\nfunction FlexItem({ children, order, grow, shrink, basis, align }: FlexItemProps) {\n\tconst transformFn = useCallback(\n\t\t(props: any) => {\n\t\t\tif (order !== undefined && props.order === undefined) {\n\t\t\t\tprops.order = order;\n\t\t\t}\n\n\t\t\tif (grow !== undefined && props.flexGrow === undefined) {\n\t\t\t\tprops.flexGrow = grow;\n\t\t\t}\n\n\t\t\tif (shrink !== undefined && props.flexShrink === undefined) {\n\t\t\t\tprops.flexShrink = shrink;\n\t\t\t}\n\n\t\t\tif (basis !== undefined && props.flexBasis === undefined) {\n\t\t\t\tprops.flexBasis = basis;\n\t\t\t}\n\n\t\t\tif (align !== undefined && props.alignSelf === undefined) {\n\t\t\t\tprops.alignSelf = (align === 'start' && 'flex-start') || (align === 'end' && 'flex-end') || align;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t},\n\t\t[align, basis, grow, order, shrink],\n\t);\n\n\treturn <BoxTransforms.Provider value={useComposedBoxTransform(transformFn)}>{children}</BoxTransforms.Provider>;\n}\n\nexport default FlexItem;\n","import type { Keys } from '@rocket.chat/icons';\nimport type { AllHTMLAttributes } from 'react';\n\nimport { Icon } from '../Icon';\n\nexport type FramedIconProps = {\n\tinfo?: boolean;\n\tsuccess?: boolean;\n\twarning?: boolean;\n\tdanger?: boolean;\n\tneutral?: boolean;\n\ticon: Keys;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'color'>;\n\nconst FramedIcon = ({ info, success, warning, danger, neutral, icon, className, ...props }: FramedIconProps) => (\n\t<Icon\n\t\t{...props}\n\t\tclassName={[\n\t\t\tclassName,\n\t\t\t'rcx-framed-icon',\n\t\t\tinfo && 'rcx-framed-icon--info',\n\t\t\tsuccess && 'rcx-framed-icon--success',\n\t\t\twarning && 'rcx-framed-icon--warning',\n\t\t\tdanger && 'rcx-framed-icon--danger',\n\t\t\t(neutral || (!info && !success && !warning && !danger)) && 'rcx-framed-icon--neutral',\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')}\n\t\tname={icon}\n\t\tsize={20}\n\t/>\n);\n\nexport default FramedIcon;\n","import type { AllHTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\n\nexport type ListboxProps = {\n\t/** Referenced by the combobox's `aria-controls`. */\n\tid: string;\n\tchildren?: ReactNode;\n} & Omit<AllHTMLAttributes<HTMLUListElement>, 'id' | 'is' | 'role' | 'children'> &\n\tRefAttributes<HTMLUListElement>;\n\n/**\n * A popup list of `ListboxOption`s that a combobox controls: focus stays on the combobox, which marks the active option with `aria-activedescendant`.\n */\nfunction Listbox({ children, ...props }: ListboxProps) {\n\treturn (\n\t\t<Box is='ul' role='listbox' margin={0} padding={0} {...props}>\n\t\t\t{children}\n\t\t</Box>\n\t);\n}\n\nexport default Listbox;\n","import type { PointerEvent, ReactNode } from 'react';\nimport { memo } from 'react';\n\nimport { Option } from '../Option';\n\nexport type ListboxOptionProps = {\n\t/** Referenced by the combobox's `aria-activedescendant` while the option is active. */\n\tid: string;\n\tchildren: ReactNode;\n\t/** The option the combobox's value holds. */\n\tselected?: boolean;\n\t/** The option the keyboard or the pointer is on, which the combobox marks as its active descendant. */\n\tactive?: boolean;\n\t/** Shows the focus ring on the active option, while the keyboard drives the list. */\n\tfocusVisible?: boolean;\n\tdisabled?: boolean;\n\t/** Called when the pointer moves onto the option, to make it the active one. */\n\tonActivate?: () => void;\n\tonSelect?: () => void;\n};\n\nconst keepFocusOnCombobox = (event: PointerEvent) => event.preventDefault();\n\n/**\n * An option of a `Listbox`. It never takes focus, so pressing it leaves the focus on the combobox.\n */\nfunction ListboxOption({ id, children, selected, active, focusVisible, disabled, onActivate, onSelect }: ListboxOptionProps) {\n\treturn (\n\t\t<Option\n\t\t\tid={id}\n\t\t\trole='option'\n\t\t\tlabel={children}\n\t\t\tselected={selected}\n\t\t\tfocus={active}\n\t\t\tfocusVisible={!!focusVisible && !!active}\n\t\t\tdisabled={disabled}\n\t\t\tonPointerDown={keepFocusOnCombobox}\n\t\t\tonPointerMove={() => {\n\t\t\t\tif (!disabled && (!active || focusVisible)) {\n\t\t\t\t\tonActivate?.();\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonClick={() => onSelect?.()}\n\t\t/>\n\t);\n}\n\nexport default memo(ListboxOption);\n","import type { Node } from '@react-types/shared';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { mergeProps, useFocusVisible, useMenuItem } from 'react-aria';\nimport type { TreeState } from 'react-stately';\n\nimport { Item, ItemContent, ItemTitle } from '../Item';\nimport type { MenuOptionProps } from './MenuOption';\n\ntype MenuItemProps = {\n\titem: Node<{\n\t\tdescription?: ReactNode;\n\t\tvariant?: MenuOptionProps['variant'];\n\t}>;\n\tstate: TreeState<unknown>;\n};\n\n/**\n * Renders a menu item as an `Item` row, so its content is composed from `Item` parts.\n */\nfunction MenuItem({ item, state }: MenuItemProps) {\n\tconst ref = useRef<HTMLLabelElement>(null);\n\tconst { isFocusVisible } = useFocusVisible();\n\tconst {\n\t\tmenuItemProps: { onPointerUp, ...menuItemProps },\n\t\tisFocused,\n\t\tisDisabled,\n\t} = useMenuItem({ key: item.key }, state, ref);\n\n\tconst description = item.value?.description;\n\n\t// There's an issue caused by conflicting event handlers. The popover opens on onPointerDown and the selection event for both, the menu (listbox), happens on onPointerUp.\n\t// As a workaround, we are overwriting `onPointerDown` event with `onPointerUp`\n\n\treturn (\n\t\t<Item\n\t\t\t{...mergeProps(menuItemProps, { onPointerDown: onPointerUp })}\n\t\t\tref={ref}\n\t\t\tis='label'\n\t\t\tinset='md'\n\t\t\tfocused={isFocused}\n\t\t\tfocusVisible={isFocused && isFocusVisible}\n\t\t\tdisabled={isDisabled}\n\t\t\tvariant={item.value?.variant === 'danger' ? 'danger' : undefined}\n\t\t\tclassName={description ? 'rcx-menu-item--with-description' : undefined}\n\t\t>\n\t\t\t{typeof item.rendered === 'string' ? (\n\t\t\t\t<ItemContent>\n\t\t\t\t\t<ItemTitle>{item.rendered}</ItemTitle>\n\t\t\t\t</ItemContent>\n\t\t\t) : (\n\t\t\t\titem.rendered\n\t\t\t)}\n\t\t\t{description && <div className='rcx-menu-item__description'>{description}</div>}\n\t\t</Item>\n\t);\n}\n\nexport default MenuItem;\n","import type { ReactNode, RefObject } from 'react';\nimport { useRef } from 'react';\nimport type { AriaPopoverProps } from 'react-aria';\nimport { usePopover, DismissButton, Overlay } from 'react-aria';\nimport type { OverlayTriggerState } from 'react-stately';\n\nimport { useOwnerDocument } from '../../contexts';\n\nexport type PopoverProps = Omit<AriaPopoverProps, 'popoverRef'> & {\n\tchildren: ReactNode;\n\tstate: OverlayTriggerState;\n\tportalContainer?: Element;\n\tpopoverRef?: RefObject<HTMLDivElement | null>;\n};\n\nfunction Popover({ portalContainer, popoverRef: popoverRefProp, ...props }: PopoverProps) {\n\tconst fallbackRef = useRef<HTMLDivElement>(null);\n\tconst popoverRef = popoverRefProp ?? fallbackRef;\n\tconst { state, children, isNonModal } = props;\n\n\tconst { document: ownerDocument } = useOwnerDocument();\n\n\tconst { popoverProps, underlayProps } = usePopover(\n\t\t{\n\t\t\t...props,\n\t\t\tpopoverRef,\n\t\t\tboundaryElement: ownerDocument?.body,\n\t\t},\n\t\tstate,\n\t);\n\n\treturn (\n\t\t<Overlay portalContainer={portalContainer ?? ownerDocument?.body}>\n\t\t\t{!isNonModal && <div {...underlayProps} />}\n\t\t\t<div {...popoverProps} ref={popoverRef}>\n\t\t\t\t{!isNonModal && <DismissButton onDismiss={state.close} />}\n\t\t\t\t{children}\n\t\t\t\t<DismissButton onDismiss={state.close} />\n\t\t\t</div>\n\t\t</Overlay>\n\t);\n}\n\nexport default Popover;\n","import type { RefObject } from 'react';\nimport { createContext, useContext } from 'react';\n\n/**\n * Ref to the root menu popover's portal container.\n *\n * Submenu popovers portal into this container instead of straight into\n * `document.body`, so the whole menu tree lives in a single DOM subtree nested\n * under the root popover. This mirrors `react-aria-components`'\n * `PopoverGroupContext` and is what keeps focus tracking and `aria-hidden`\n * scoping correct across submenu levels — without it each portaled submenu\n * looks like \"outside\" to the root popover and close-on-blur tears the tree\n * down.\n *\n * `null` means there is no root yet, i.e. the consuming popover IS the root.\n */\nexport const MenuPortalContext = createContext<RefObject<HTMLElement | null> | null>(null);\n\nexport const useMenuPortalContainer = (): RefObject<HTMLElement | null> | null => useContext(MenuPortalContext);\n","import { useBreakpoints } from '@rocket.chat/fuselage-hooks';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport type { AriaPopoverProps } from 'react-aria';\nimport { useInteractOutside } from 'react-aria';\nimport type { OverlayTriggerState } from 'react-stately';\n\nimport { Box } from '../Box';\nimport { DropdownDesktop } from '../Dropdown/DropdownDesktop';\nimport { DropdownMobile } from '../Dropdown/DropdownMobile';\nimport { Popover } from '../Popover';\nimport { MenuPortalContext, useMenuPortalContainer } from './MenuPortalContext';\n\ntype MenuPopoverProps = Omit<AriaPopoverProps, 'popoverRef'> & {\n\tchildren: ReactNode;\n\tstate: OverlayTriggerState;\n\tmaxWidth?: string;\n};\n\nfunction MenuPopover({ children, state, offset = 4, maxWidth, ...props }: MenuPopoverProps) {\n\tconst isMobile = !useBreakpoints().includes('sm');\n\n\t// The root popover (no container above it) renders a `display: contents`\n\t// mount point and shares it with the rest of the tree. Submenu popovers\n\t// portal into it, so their DOM nests under the root popover and the whole\n\t// tree behaves as one for focus/`aria-hidden` purposes — matching how\n\t// `react-aria-components` groups submenu popovers via `PopoverGroupContext`.\n\tconst groupContainer = useMenuPortalContainer();\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst isSubmenu = groupContainer !== null;\n\n\tconst popoverRef = useRef<HTMLDivElement>(null);\n\n\t// react-aria only lets the *topmost* overlay dismiss on an outside click.\n\t// While a submenu is open it is topmost, but submenus are non-modal (hence\n\t// non-dismissable), so neither the submenu nor the root closes. Since every\n\t// open submenu portals into the root popover, the root popover element\n\t// contains the entire menu tree — so we close the whole menu on any\n\t// interaction outside it (ignoring the trigger, which toggles on its own).\n\tuseInteractOutside({\n\t\tref: popoverRef,\n\t\tisDisabled: isSubmenu,\n\t\tonInteractOutside: (event) => {\n\t\t\tconst trigger = props.triggerRef?.current;\n\t\t\tif (trigger && trigger.contains(event.target as Node)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tstate.close();\n\t\t},\n\t});\n\n\tconst popover = (\n\t\t<Popover\n\t\t\tstate={state}\n\t\t\toffset={offset}\n\t\t\tpopoverRef={popoverRef}\n\t\t\t{...props}\n\t\t\tportalContainer={isSubmenu ? (groupContainer?.current ?? undefined) : undefined}\n\t\t>\n\t\t\t{isMobile ? (\n\t\t\t\t<DropdownMobile>{children}</DropdownMobile>\n\t\t\t) : (\n\t\t\t\t<Box maxWidth={maxWidth}>\n\t\t\t\t\t<DropdownDesktop maxHeight='most-of-screen'>{children}</DropdownDesktop>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t{!isSubmenu && <span ref={containerRef} style={{ display: 'contents' }} />}\n\t\t</Popover>\n\t);\n\n\tif (isSubmenu) {\n\t\treturn popover;\n\t}\n\n\treturn <MenuPortalContext.Provider value={containerRef}>{popover}</MenuPortalContext.Provider>;\n}\n\nexport default MenuPopover;\n","import type { CollectionChildren, Key, KeyboardEvent, Node } from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\nimport { mergeProps, useFocusVisible, useMenuItem, useSubmenuTrigger } from 'react-aria';\nimport type { RootMenuTriggerState, TreeState } from 'react-stately';\nimport { useSubmenuTriggerState } from 'react-stately';\n\nimport { Icon } from '../Icon';\nimport { Item, ItemIcon } from '../Item';\nimport MenuDropDown from './MenuDropdown';\nimport type { MenuOptionProps } from './MenuOption';\nimport MenuPopover from './MenuPopover';\n\ntype MenuSubmenuProps = {\n\titem: Node<{\n\t\tvariant?: MenuOptionProps['variant'];\n\t}>;\n\tstate: TreeState<unknown>;\n\trootMenuTriggerState: RootMenuTriggerState;\n\tparentMenuRef: RefObject<HTMLElement | null>;\n\tonAction?: (key: Key) => void;\n};\n\n/**\n * Renders a menu item that opens a nested submenu.\n *\n * The trigger item belongs to the parent menu's tree state (so arrow-key\n * navigation keeps working), while the submenu renders its own `MenuDropDown`\n * built from the trigger's children — giving it an isolated collection and\n * focus scope, mirroring how `react-aria-components` handles `SubmenuTrigger`.\n */\nfunction MenuSubmenu({ item, state, rootMenuTriggerState, parentMenuRef, onAction }: MenuSubmenuProps) {\n\tconst triggerRef = useRef<HTMLDivElement>(null);\n\tconst submenuRef = useRef<HTMLDivElement>(null);\n\n\tconst submenuTriggerState = useSubmenuTriggerState({ triggerKey: item.key }, rootMenuTriggerState);\n\n\tconst { submenuTriggerProps, submenuProps, popoverProps } = useSubmenuTrigger<object>(\n\t\t{ parentMenuRef, submenuRef },\n\t\tsubmenuTriggerState,\n\t\ttriggerRef,\n\t);\n\n\t/** react-aria's submenu hooks bind Escape to `state.closeAll()`, tearing down the whole menu tree. We override Escape so it dismisses only this submenu level — keeping its ancestors open — matching react-aria-components, where Escape closes the latest open submenu one level at a time.\n\t **/\n\tconst closeSubmenu = () => {\n\t\t// Mirror the ArrowLeft behavior: move focus back to the trigger so the parent menu stays keyboard-navigable and a subsequent Escape closes the next level up.\n\t\ttriggerRef.current?.focus();\n\t\tsubmenuTriggerState.close();\n\t};\n\n\t/** Fires when focus is inside the submenu (keyboard navigation). */\n\tconst onSubmenuKeyDown = (event: KeyboardEvent) => {\n\t\tif (event.key === 'Escape') {\n\t\t\tevent.stopPropagation();\n\t\t\tcloseSubmenu();\n\t\t\treturn;\n\t\t}\n\t\tsubmenuProps.onKeyDown?.(event);\n\t};\n\n\t/** Fires when focus is on the trigger itself (e.g. a hover/press-opened submenu). When this submenu is open, close just it; once it's closed, let Escape bubble so the parent menu handles the next level up.\n\t **/\n\tconst onTriggerKeyDown = (event: KeyboardEvent) => {\n\t\tif (event.key === 'Escape') {\n\t\t\tif (submenuTriggerState.isOpen) {\n\t\t\t\tcloseSubmenu();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.continuePropagation();\n\t\t\treturn;\n\t\t}\n\t\tsubmenuTriggerProps.onKeyDown?.(event);\n\t};\n\n\tconst { isFocusVisible } = useFocusVisible();\n\tconst { menuItemProps, isFocused, isDisabled } = useMenuItem(\n\t\t{ ...submenuTriggerProps, onKeyDown: onTriggerKeyDown, key: item.key },\n\t\tstate,\n\t\ttriggerRef,\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Item\n\t\t\t\t{...mergeProps(menuItemProps, {\n\t\t\t\t\t'id': submenuTriggerProps.id,\n\t\t\t\t\t'aria-haspopup': submenuTriggerProps['aria-haspopup'],\n\t\t\t\t\t'aria-expanded': submenuTriggerProps['aria-expanded'],\n\t\t\t\t\t'aria-controls': submenuTriggerProps['aria-controls'],\n\t\t\t\t})}\n\t\t\t\tref={triggerRef}\n\t\t\t\tis='div'\n\t\t\t\tinset='md'\n\t\t\t\tfocused={isFocused}\n\t\t\t\tfocusVisible={isFocused && isFocusVisible}\n\t\t\t\tdisabled={isDisabled}\n\t\t\t\tvariant={item.value?.variant === 'danger' ? 'danger' : undefined}\n\t\t\t>\n\t\t\t\t{item.rendered}\n\t\t\t\t<ItemIcon>\n\t\t\t\t\t<Icon name='chevron-left' size='x16' />\n\t\t\t\t</ItemIcon>\n\t\t\t</Item>\n\t\t\t{submenuTriggerState.isOpen && (\n\t\t\t\t<MenuPopover {...popoverProps} state={submenuTriggerState} triggerRef={triggerRef} placement='right top'>\n\t\t\t\t\t<MenuDropDown\n\t\t\t\t\t\t{...submenuProps}\n\t\t\t\t\t\tonKeyDown={onSubmenuKeyDown}\n\t\t\t\t\t\trootMenuTriggerState={rootMenuTriggerState}\n\t\t\t\t\t\tmenuRef={submenuRef}\n\t\t\t\t\t\tonAction={onAction}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item.props?.children as CollectionChildren<object>}\n\t\t\t\t\t</MenuDropDown>\n\t\t\t\t</MenuPopover>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport default MenuSubmenu;\n","import type { Key, Node } from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useMenuSection, useSeparator } from 'react-aria';\nimport type { RootMenuTriggerState, TreeState } from 'react-stately';\n\nimport { ItemDivider, ItemGroupHeader, ItemGroupTitle } from '../Item';\nimport MenuItem from './MenuItem';\nimport MenuSubmenu from './MenuSubmenu';\n\ntype MenuSectionProps<T extends object> = {\n\tsection: Node<T>;\n\tstate: TreeState<unknown>;\n\trootMenuTriggerState: RootMenuTriggerState;\n\tparentMenuRef: RefObject<HTMLElement | null>;\n\tonAction?: (key: Key) => void;\n};\n\nfunction MenuSection<T extends object>({ section, state, rootMenuTriggerState, parentMenuRef, onAction }: MenuSectionProps<T>) {\n\tconst { itemProps, headingProps, groupProps } = useMenuSection({\n\t\t'heading': section.rendered,\n\t\t'aria-label': section['aria-label'],\n\t});\n\n\tconst { separatorProps } = useSeparator({\n\t\telementType: 'div',\n\t});\n\n\t// If the section is not the first, add a separator element.\n\treturn (\n\t\t<>\n\t\t\t{section.key !== state.collection.getFirstKey() && <ItemDivider {...separatorProps} />}\n\t\t\t<div {...itemProps}>\n\t\t\t\t{section.rendered && (\n\t\t\t\t\t<ItemGroupHeader inset='md'>\n\t\t\t\t\t\t<ItemGroupTitle {...headingProps}>{section.rendered}</ItemGroupTitle>\n\t\t\t\t\t</ItemGroupHeader>\n\t\t\t\t)}\n\t\t\t\t<div {...groupProps}>\n\t\t\t\t\t{[...section.childNodes].map((node) =>\n\t\t\t\t\t\tnode.hasChildNodes ? (\n\t\t\t\t\t\t\t<MenuSubmenu\n\t\t\t\t\t\t\t\tkey={node.key}\n\t\t\t\t\t\t\t\titem={node as any}\n\t\t\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\t\t\trootMenuTriggerState={rootMenuTriggerState}\n\t\t\t\t\t\t\t\tparentMenuRef={parentMenuRef}\n\t\t\t\t\t\t\t\tonAction={onAction}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<MenuItem key={node.key} item={node as any} state={state} />\n\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MenuSection;\n","import type { KeyboardEvent } from '@react-types/shared';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\nimport type { AriaMenuProps } from 'react-aria';\nimport { useMenu } from 'react-aria';\nimport type { RootMenuTriggerState } from 'react-stately';\nimport { useTreeState } from 'react-stately';\n\nimport MenuItem from './MenuItem';\nimport MenuSection from './MenuSection';\nimport MenuSubmenu from './MenuSubmenu';\n\nexport type MenuDropDownProps<T extends object> = AriaMenuProps<T> & {\n\t/**\n\t * The root menu trigger state, shared across every (sub)menu level so the\n\t * submenu hooks can track the open submenu stack.\n\t */\n\trootMenuTriggerState: RootMenuTriggerState;\n\t/**\n\t * Ref of the menu container. Submenus pass their `submenuRef` here so\n\t * `useSubmenuTrigger` can wire pointer/keyboard behavior to the right element.\n\t */\n\tmenuRef?: RefObject<HTMLDivElement | null>;\n\t/** The nesting level of the menu, provided by `useSubmenuTrigger` for submenus. */\n\tsubmenuLevel?: number;\n\t/**\n\t * Keydown handler forwarded to the underlying menu element. Submenus use this\n\t * to override the Escape behavior so it closes a single level at a time.\n\t */\n\tonKeyDown?: (event: KeyboardEvent) => void;\n};\n\nfunction MenuDropDown<T extends object>({ rootMenuTriggerState, menuRef, ...props }: MenuDropDownProps<T>) {\n\tconst state = useTreeState(props);\n\n\tconst fallbackRef = useRef<HTMLDivElement>(null);\n\tconst ref = menuRef ?? fallbackRef;\n\tconst { menuProps } = useMenu(props, state, ref);\n\n\treturn (\n\t\t<div {...menuProps} ref={ref}>\n\t\t\t{[...state.collection].map((item) => {\n\t\t\t\tif (item.type === 'section') {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuSection\n\t\t\t\t\t\t\tkey={item.key}\n\t\t\t\t\t\t\tsection={item}\n\t\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\t\trootMenuTriggerState={rootMenuTriggerState}\n\t\t\t\t\t\t\tparentMenuRef={ref}\n\t\t\t\t\t\t\tonAction={props.onAction}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (item.hasChildNodes) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuSubmenu\n\t\t\t\t\t\t\tkey={item.key}\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\t\trootMenuTriggerState={rootMenuTriggerState}\n\t\t\t\t\t\t\tparentMenuRef={ref}\n\t\t\t\t\t\t\tonAction={props.onAction}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn <MenuItem key={item.key} item={item} state={state} />;\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nexport default MenuDropDown;\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\n\ntype ReactAriaPlacement =\n\t| 'bottom'\n\t| 'bottom left'\n\t| 'bottom right'\n\t| 'bottom start'\n\t| 'bottom end'\n\t| 'top'\n\t| 'top left'\n\t| 'top right'\n\t| 'top start'\n\t| 'top end'\n\t| 'left'\n\t| 'left top'\n\t| 'left bottom'\n\t| 'start'\n\t| 'start top'\n\t| 'start bottom'\n\t| 'right'\n\t| 'right top'\n\t| 'right bottom'\n\t| 'end'\n\t| 'end top'\n\t| 'end bottom';\n\nexport const getPlacement = (placement: UsePositionOptions['placement']): ReactAriaPlacement => {\n\t// switch case for placement from usePosition placement to react-aria\n\tswitch (placement) {\n\t\tcase 'bottom':\n\t\t\treturn 'bottom';\n\n\t\tcase 'bottom-start':\n\t\t\treturn 'bottom start';\n\t\tcase 'bottom-end':\n\t\t\treturn 'bottom end';\n\t\tcase 'top':\n\t\t\treturn 'top';\n\n\t\tcase 'top-start':\n\t\t\treturn 'top start';\n\t\tcase 'top-end':\n\t\t\treturn 'top end';\n\t\tcase 'left':\n\t\t\treturn 'left';\n\t\tcase 'left-start':\n\t\t\treturn 'left top';\n\t\tcase 'left-end':\n\t\t\treturn 'left bottom';\n\t\tcase 'right':\n\t\t\treturn 'right';\n\t\tcase 'right-start':\n\t\t\treturn 'right top';\n\t\tcase 'right-end':\n\t\t\treturn 'right bottom';\n\t\tdefault:\n\t\t\treturn 'bottom start';\n\t}\n};\n","import type { UsePositionOptions } from '@rocket.chat/fuselage-hooks';\nimport type { ElementType, ReactElement } from 'react';\nimport { cloneElement, useRef } from 'react';\nimport type { AriaMenuProps } from 'react-aria';\nimport { useButton, useMenuTrigger } from 'react-aria';\nimport { createPortal } from 'react-dom';\nimport type { MenuTriggerProps } from 'react-stately';\nimport { useMenuTriggerState } from 'react-stately';\n\nimport { useOwnerDocument } from '../../contexts';\nimport { IconButton } from '../Button';\nimport MenuDropDown from './MenuDropdown';\nimport MenuPopover from './MenuPopover';\nimport type { IconButtonProps } from '../Button/IconButton';\nimport { getPlacement } from './helpers/helpers';\n\nexport type MenuProps<T> = AriaMenuProps<T> &\n\tMenuTriggerProps & {\n\t\ticon?: IconButtonProps['icon'];\n\t\t/** The size of the trigger. */\n\t\tsize?: IconButtonProps['size'];\n\t\t/** @deprecated Use `size=\"large\"` instead. */\n\t\tlarge?: boolean;\n\t\t/** @deprecated Use `size=\"medium\"` instead. */\n\t\tmedium?: boolean;\n\t\t/** @deprecated `small` is the default size. */\n\t\tsmall?: boolean;\n\t\t/** @deprecated Use `size=\"tiny\"` instead. */\n\t\ttiny?: boolean;\n\t\t/** @deprecated Use `size=\"mini\"` instead. */\n\t\tmini?: boolean;\n\t\tplacement?: UsePositionOptions['placement'];\n\t\ttitle?: string;\n\t\tdetached?: boolean;\n\t\t/**\n\t\t * A component that renders an IconButton\n\t\t */\n\t\tis?: ElementType;\n\t\tclassName?: string;\n\t\tpressed?: boolean;\n\t\tmaxWidth?: string;\n\t\tbutton?: ReactElement<any>;\n\t};\n\nconst Menu = <T extends object>({\n\ticon = 'kebab',\n\tplacement = 'bottom-start',\n\ttitle,\n\tis: MenuButton = IconButton,\n\tclassName,\n\tpressed,\n\tmaxWidth = 'x250',\n\tbutton,\n\tdetached,\n\t...props\n}: MenuProps<T>) => {\n\tconst state = useMenuTriggerState(props);\n\n\tconst ref = useRef<Element>(null);\n\tconst { menuTriggerProps, menuProps } = useMenuTrigger<T>({}, state, ref);\n\n\tconst { buttonProps } = useButton(\n\t\t{\n\t\t\t...menuTriggerProps,\n\t\t\t'aria-label': props['aria-label'] || title,\n\t\t\t...{ preventFocusOnPress: true },\n\t\t},\n\t\tref,\n\t);\n\n\tconst { size, large, medium, tiny, mini } = props;\n\tconst triggerSize = size || (mini && 'mini') || (tiny && 'tiny') || (medium && 'medium') || (large && 'large') || 'small';\n\n\tconst { document: ownerDocument } = useOwnerDocument();\n\n\tconst popover = state.isOpen && (\n\t\t<MenuPopover state={state} triggerRef={ref} placement={getPlacement(placement)} maxWidth={maxWidth}>\n\t\t\t<MenuDropDown {...props} {...menuProps} rootMenuTriggerState={state} />\n\t\t</MenuPopover>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{button ? (\n\t\t\t\tcloneElement(button, {\n\t\t\t\t\t...buttonProps,\n\t\t\t\t\tref,\n\t\t\t\t\ticon,\n\t\t\t\t\tclassName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tpressed: pressed || state.isOpen,\n\t\t\t\t})\n\t\t\t) : (\n\t\t\t\t<MenuButton\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t\tref={ref}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tpressed={pressed || state.isOpen}\n\t\t\t\t\tsize={triggerSize}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{detached ? createPortal(popover, ownerDocument?.body || document.body) : popover}\n\t\t</>\n\t);\n};\n\nexport default Menu;\n","import type { ItemProps } from '@react-types/shared';\nimport { Children } from 'react';\n\nimport type { PartialNode } from './PartialNode';\n\nexport type MenuItemProps<T> = ItemProps<T>;\n\nfunction MenuItem<T>(_props: MenuItemProps<T>) {\n\treturn null;\n}\n\nMenuItem.getCollectionNode = function* getCollectionNode<T>(props: MenuItemProps<T>, context: any): Generator<PartialNode<T>> {\n\tconst { childItems, title, children } = props;\n\n\tconst rendered = props.title || props.children;\n\tconst textValue = props.textValue || (typeof rendered === 'string' ? rendered : '') || props['aria-label'] || '';\n\n\tif (!textValue && !context?.suppressTextValueWarning) {\n\t\tconsole.warn('<Item> with non-plain text contents is unsupported by type to select for accessibility. Please add a `textValue` prop.');\n\t}\n\n\tyield {\n\t\t'type': 'item',\n\t\tprops,\n\t\trendered,\n\t\ttextValue,\n\t\t'aria-label': props['aria-label'],\n\t\t'hasChildNodes': hasChildItems(props),\n\t\t*'childNodes'() {\n\t\t\tif (childItems) {\n\t\t\t\tfor (const child of childItems) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\ttype: 'item',\n\t\t\t\t\t\tvalue: child,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else if (title) {\n\t\t\t\tconst items: PartialNode<T>[] = [];\n\t\t\t\tChildren.forEach(children, (child) => {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\ttype: 'item',\n\t\t\t\t\t\telement: child,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tyield* items;\n\t\t\t}\n\t\t},\n\t};\n};\n\nfunction hasChildItems<T>(props: MenuItemProps<T>) {\n\tif (props.hasChildItems != null) {\n\t\treturn props.hasChildItems;\n\t}\n\n\tif (props.childItems) {\n\t\treturn true;\n\t}\n\n\tif (props.title && Children.count(props.children) > 0) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nexport default MenuItem;\n","import type { ItemProps } from '@react-types/shared';\nimport type { ReactElement, ReactNode } from 'react';\nimport { isValidElement } from 'react';\n\nimport type { PartialNode } from './PartialNode';\n\nexport type MenuSubmenuTriggerProps<T> = Omit<ItemProps<T>, 'title' | 'children'> & {\n\t/**\n\t * The trigger item followed by the submenu items.\n\t *\n\t * The **first** child is rendered as the entry in the parent menu — it may\n\t * use the rich `MenuItem*` sub-components (`MenuItemIcon`, `MenuItemContent`,\n\t * …). The **remaining** children populate the submenu that opens beside it.\n\t */\n\tchildren: ReactNode;\n\tvariant?: 'danger' | 'success' | 'warning' | 'primary';\n};\n\nfunction MenuSubmenuTrigger<T>(_props: MenuSubmenuTriggerProps<T>) {\n\treturn null;\n}\n\nconst toElementArray = (children: ReactNode): ReactElement<any>[] => {\n\tconst result: ReactElement<any>[] = [];\n\n\tconst visit = (node: ReactNode) => {\n\t\tif (Array.isArray(node)) {\n\t\t\tnode.forEach(visit);\n\t\t\treturn;\n\t\t}\n\t\tif (isValidElement(node)) {\n\t\t\tresult.push(node);\n\t\t}\n\t};\n\n\tvisit(children);\n\treturn result;\n};\n\nMenuSubmenuTrigger.getCollectionNode = function* getCollectionNode<T>(\n\tprops: MenuSubmenuTriggerProps<T>,\n\tcontext: any,\n): Generator<PartialNode<T>> {\n\tconst [trigger, ...submenuItems] = toElementArray(props.children);\n\n\tif (!trigger || submenuItems.length === 0) {\n\t\tthrow new Error('A <MenuSubmenuTrigger> must have at least two children: the trigger item followed by one or more submenu items.');\n\t}\n\n\tconst rendered = trigger.props.children;\n\tconst textValue =\n\t\tprops.textValue ||\n\t\ttrigger.props.textValue ||\n\t\t(typeof rendered === 'string' ? rendered : '') ||\n\t\tprops['aria-label'] ||\n\t\ttrigger.props['aria-label'] ||\n\t\t'';\n\n\tif (!textValue && !context?.suppressTextValueWarning) {\n\t\tconsole.warn(\n\t\t\t'<MenuSubmenuTrigger> with non-plain text contents is unsupported by type to select for accessibility. Please add a `textValue` prop.',\n\t\t);\n\t}\n\n\tyield {\n\t\t'type': 'item',\n\t\t// Only the submenu items are forwarded as children — the trigger element is\n\t\t// consumed here and rendered separately by `MenuSubmenu`.\n\t\t'props': { ...props, children: submenuItems },\n\t\trendered,\n\t\ttextValue,\n\t\t'aria-label': props['aria-label'] || trigger.props['aria-label'],\n\t\t'value': (props.variant ? { variant: props.variant } : undefined) as unknown as T,\n\t\t'hasChildNodes': true,\n\t\t*'childNodes'() {\n\t\t\tfor (const item of submenuItems) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: 'item',\n\t\t\t\t\telement: item,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t};\n};\n\nexport default MenuSubmenuTrigger;\n","import type { SectionProps } from '@react-types/shared';\nimport { Children } from 'react';\n\nimport type { PartialNode } from './PartialNode';\n\nexport type MenuSectionProps<T> = SectionProps<T>;\n\nfunction MenuSection<T>(_props: MenuSectionProps<T>) {\n\treturn null;\n}\n\nMenuSection.getCollectionNode = function* getCollectionNode<T>(props: MenuSectionProps<T>): Generator<PartialNode<T>> {\n\tconst { children, title, items } = props;\n\tyield {\n\t\t'type': 'section',\n\t\tprops,\n\t\t'hasChildNodes': true,\n\t\t'rendered': title,\n\t\t'aria-label': props['aria-label'],\n\t\t*'childNodes'() {\n\t\t\tif (typeof children === 'function') {\n\t\t\t\tif (!items) {\n\t\t\t\t\tthrow new Error('props.children was a function but props.items is missing');\n\t\t\t\t}\n\n\t\t\t\tfor (const item of items) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\ttype: 'item',\n\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\telement: children(item),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst items: PartialNode<T>[] = [];\n\t\t\t\tChildren.forEach(children, (child) => {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\ttype: 'item',\n\t\t\t\t\t\telement: child ?? undefined,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tyield* items;\n\t\t\t}\n\t\t},\n\t};\n};\n\nexport default MenuSection;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type MessageProps = AllHTMLAttributes<HTMLDivElement> &\n\tRefAttributes<HTMLDivElement> & {\n\t\tclickable?: boolean;\n\t\tsequential?: boolean;\n\t\tclassName?: string;\n\t\tisSelected?: boolean;\n\t\tisEditing?: boolean;\n\t\tisPending?: boolean;\n\t\thighlight?: boolean;\n\t};\n\nfunction Message({ className, clickable, sequential, isSelected, isEditing, isPending, highlight, ...props }: MessageProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={prependClassName(\n\t\t\t\tclassName,\n\t\t\t\t[\n\t\t\t\t\t'rcx-message',\n\t\t\t\t\t(clickable || props.onClick) && 'rcx-message--clickable',\n\t\t\t\t\tsequential && 'rcx-message--sequential',\n\t\t\t\t\tisSelected && 'rcx-message--selected',\n\t\t\t\t\tisEditing && 'rcx-message--editing',\n\t\t\t\t\tisPending && 'rcx-message--pending',\n\t\t\t\t\thighlight && 'rcx-message--highlight',\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(' '),\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default Message;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type MessageBlockProps = ElementProps<HTMLDivElement> & {\n\tfixedWidth?: boolean;\n};\n\nfunction MessageBlock({ className: _className, fixedWidth, ...props }: MessageBlockProps) {\n\treturn <Box rcx-message-block rcx-message-block--width-fixed={fixedWidth} {...props} />;\n}\n\nexport default MessageBlock;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type MessageBodyProps = HTMLAttributes<HTMLDivElement> & {\n\tclamp?: 2 | 3 | 4;\n};\n\nconst MessageBody = ({ clamp, className, ...props }: MessageBodyProps) => (\n\t<div\n\t\tclassName={prependClassName(\n\t\t\tclassName,\n\t\t\t['rcx-message-body', clamp && `rcx-message-body--clamp rcx-message-body--clamp-${clamp}`].filter(Boolean).join(' '),\n\t\t)}\n\t\t{...props}\n\t/>\n);\n\nexport default MessageBody;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageContainer = (props: MessageContainerProps) => <div className='rcx-box rcx-box--full rcx-message-container' {...props} />;\n\nexport default MessageContainer;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageContainerFixedProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageContainerFixed = (props: MessageContainerFixedProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-container rcx-message-container--fixed' {...props} />\n);\n\nexport default MessageContainerFixed;\n","import type { ReactNode } from 'react';\n\nexport type MessageDividerProps = {\n\tchildren?: ReactNode;\n\tunreadLabel?: string;\n};\n\nconst MessageDivider = ({ children, unreadLabel, ...props }: MessageDividerProps) => (\n\t<div role='separator' className={!unreadLabel ? 'rcx-message-divider' : 'rcx-message-divider rcx-message-divider--unread'} {...props}>\n\t\t{children && (\n\t\t\t<>\n\t\t\t\t<div className='rcx-message-divider__bar' />\n\t\t\t\t<div className='rcx-message-divider__wrapper'>{children}</div>{' '}\n\t\t\t</>\n\t\t)}\n\t\t<div className='rcx-message-divider__bar'>\n\t\t\t{unreadLabel && <div className='rcx-message-divider__wrapper--unread'>{unreadLabel}</div>}\n\t\t</div>\n\t</div>\n);\n\nexport default MessageDivider;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageEmojiBaseProps = {\n\tname: string;\n\timage?: string;\n} & HTMLAttributes<HTMLSpanElement>;\n\nconst MessageEmojiBase = ({ name, image, className, ...props }: MessageEmojiBaseProps) => (\n\t<span className={`${className || ''} ${name}`} style={image?.length ? { backgroundImage: image } : undefined} {...props} />\n);\n\nexport default MessageEmojiBase;\n","import type { MessageEmojiBaseProps } from './MessageEmojiBase';\nimport MessageEmojiBase from './MessageEmojiBase';\n\nexport type MessageEmojiProps = MessageEmojiBaseProps & {\n\tbig?: boolean;\n};\n\nconst MessageEmoji = ({ name, className, image, big, ...props }: MessageEmojiProps) => (\n\t<MessageEmojiBase\n\t\tclassName={['rcx-message__emoji', className, big && 'rcx-message__emoji--big'].filter(Boolean).join(' ')}\n\t\tname={name}\n\t\timage={image}\n\t\t{...props}\n\t/>\n);\n\nexport default MessageEmoji;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageGenericPreviewProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageGenericPreview = (props: MessageGenericPreviewProps) => <div className='rcx-message-generic-preview' {...props} />;\n\nexport default MessageGenericPreview;\n","import type { ReactNode } from 'react';\n\nexport type MessageGenericPreviewContentProps = {\n\tchildren?: ReactNode;\n\tthumb?: ReactNode;\n};\n\nconst MessageGenericPreviewContent = ({ thumb, ...props }: MessageGenericPreviewContentProps) => (\n\t<div className='rcx-message-generic-preview__content'>\n\t\t{thumb}\n\t\t<div className='rcx-message-generic-preview__content-wrapper' {...props} />\n\t</div>\n);\n\nexport default MessageGenericPreviewContent;\n","import type { ReactNode } from 'react';\n\nexport type MessageGenericPreviewDescriptionProps = {\n\tchildren?: ReactNode;\n\tclamp?: boolean;\n};\n\nconst MessageGenericPreviewDescription = ({ children, clamp = false }: MessageGenericPreviewDescriptionProps) => (\n\t<div\n\t\tclassName={['rcx-message-generic-preview__description', clamp && 'rcx-message-generic-preview__description--clamp']\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')}\n\t>\n\t\t{children}\n\t</div>\n);\n\nexport default MessageGenericPreviewDescription;\n","import type { ReactNode } from 'react';\n\nexport type MessageGenericPreviewFooterProps = {\n\tchildren?: ReactNode;\n\tclamp?: boolean;\n};\n\nconst MessageGenericPreviewFooter = ({ children }: MessageGenericPreviewFooterProps) => (\n\t<div className='rcx-message-generic-preview__footer'>{children}</div>\n);\n\nexport default MessageGenericPreviewFooter;\n","import { prependClassName } from '../../../helpers/prependClassName';\n\nexport type MessageGenericPreviewCoverImageProps = {\n\turl: string;\n\twidth: number;\n\theight: number;\n\tclassName?: string;\n};\n\nconst MessageGenericPreviewCoverImage = ({ url, width, height, className, ...props }: MessageGenericPreviewCoverImageProps) => (\n\t<div\n\t\tclassName={prependClassName(className, 'rcx-message-generic-preview__preview')}\n\t\tstyle={{ backgroundImage: `url(${url})`, maxWidth: '100%' }}\n\t\tdata-testid='preview-image'\n\t\t{...props}\n\t>\n\t\t<div style={{ paddingTop: `${(height / width) * 100}%` }} />\n\t</div>\n);\n\nexport default MessageGenericPreviewCoverImage;\n","import type { ImgHTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../helpers/prependClassName';\n\nexport type MessageGenericPreviewImageProps = {\n\turl: string;\n\tclassName?: string;\n} & ImgHTMLAttributes<HTMLImageElement>;\n\nconst MessageGenericPreviewImage = ({ url, className, ...props }: MessageGenericPreviewImageProps) => (\n\t<img src={url} className={prependClassName(className, 'rcx-message-generic-preview__image')} alt='' {...props} />\n);\n\nexport default MessageGenericPreviewImage;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageGenericPreviewThumbProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageGenericPreviewThumb = (props: MessageGenericPreviewThumbProps) => (\n\t<div className='rcx-message-generic-preview__thumb' {...props} />\n);\n\nexport default MessageGenericPreviewThumb;\n","import type { AnchorHTMLAttributes, HTMLAttributes } from 'react';\n\nexport type MessageGenericPreviewTitleProps = {\n\texternalUrl?: string;\n} & HTMLAttributes<HTMLSpanElement> &\n\tAnchorHTMLAttributes<HTMLAnchorElement>;\n\nconst MessageGenericPreviewTitle = ({ externalUrl, children, ...props }: MessageGenericPreviewTitleProps) => {\n\tif (externalUrl) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\tclassName='rcx-message-generic-preview__title rcx-message-generic-preview__title-link'\n\t\t\t\thref={externalUrl}\n\t\t\t\ttarget='_blank'\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn <span className='rcx-message-generic-preview__title' {...props} />;\n};\n\nexport default MessageGenericPreviewTitle;\n","import { Icon, type IconProps } from '../../Icon';\n\nexport type MessageGenericPreviewIconProps = Omit<IconProps, 'color'> & {\n\ttype: string;\n};\n\nconst MessageGenericPreviewIcon = ({ name = 'attachment-file', size = 32, type = 'file' }: MessageGenericPreviewIconProps) => (\n\t<div className='rcx-message-generic-preview__icon'>\n\t\t<Icon name={name} size={size} />\n\t\t<div className='rcx-message-generic-preview__icon-title'>{type}</div>\n\t</div>\n);\n\nexport default MessageGenericPreviewIcon;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageHeader = ({ children, ...props }: MessageHeaderProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-header' {...props}>\n\t\t<div className='rcx-box rcx-box--full rcx-message-header__wrapper'>{children}</div>\n\t</div>\n);\n\nexport default MessageHeader;\n","import type { ElementType, HTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\n\nexport type MessageHighlightProps = {\n\tis?: ElementType;\n\tclickable?: boolean;\n\tvariant?: 'critical' | 'relevant' | 'other' | 'link';\n\tclassName?: string;\n\tchildren: ReactNode;\n\ttitle?: string;\n} & HTMLAttributes<HTMLElement>;\n\nfunction MessageHighlight({ is: Tag = 'span', variant = 'other', className, clickable, ...props }: MessageHighlightProps) {\n\tconst modifiers = [variant, clickable && 'clickable']\n\t\t.filter(Boolean)\n\t\t.map((modifier) => `rcx-message__highlight--${modifier}`)\n\t\t.join(' ');\n\n\treturn <Tag className={prependClassName(className, `rcx-box rcx-box--full rcx-message__highlight ${modifiers}`)} {...props} />;\n}\n\nexport default MessageHighlight;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageLeftContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageLeftContainer = (props: MessageLeftContainerProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-container rcx-message-container--left' {...props} />\n);\n\nexport default MessageLeftContainer;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageMetricsContentItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsContentItem = (props: MessageMetricsContentItemProps) => (\n\t<div className='rcx-message-metrics__content-item' {...props} />\n);\n\nexport default MessageMetricsContentItem;\n","import type { HTMLAttributes } from 'react';\n\nimport MessageMetricsContentItem from './MessageMetricsContentItem';\n\nexport type MessageMetricsProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetrics = (props: MessageMetricsProps) => (\n\t<MessageMetricsContentItem>\n\t\t<div className='rcx-message-metrics__content-wrapper' {...props} />\n\t</MessageMetricsContentItem>\n);\n\nexport default MessageMetrics;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../../helpers/prependClassName';\n\nexport type MessageMetricsItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItem = ({ className, ...props }: MessageMetricsItemProps) => (\n\t<div className={prependClassName(className, 'rcx-message-metrics__item')} {...props} />\n);\n\nexport default MessageMetricsItem;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../../helpers/prependClassName';\n\nexport type MessageMetricsItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItemAvatarRow = ({ className, ...props }: MessageMetricsItemProps) => (\n\t<div className={prependClassName(className, 'rcx-message-metrics__avatar-row')} {...props} />\n);\n\nexport default MessageMetricsItemAvatarRow;\n","import type { HTMLAttributes } from 'react';\n\nimport { prependClassName } from '../../../../helpers/prependClassName';\n\nexport type MessageMetricsItemAvatarRowContentProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItemAvatarRowContent = ({ className, ...props }: MessageMetricsItemAvatarRowContentProps) => (\n\t<div className={prependClassName(className, 'rcx-message-metrics__avatar-row__content')} {...props} />\n);\n\nexport default MessageMetricsItemAvatarRowContent;\n","import { Icon, type IconProps } from '../../../Icon';\n\nexport type MessageMetricsItemIconProps = {\n\tname: 'thread' | 'user' | 'clock' | 'discussion';\n} & Omit<IconProps, 'name'>;\n\nconst MessageMetricsItemIcon = (props: MessageMetricsItemIconProps) => <Icon size='x20' {...props} />;\n\nexport default MessageMetricsItemIcon;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageMetricsItemLabelProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageMetricsItemLabel = (props: MessageMetricsItemLabelProps) => <div className='rcx-message-metrics__item-label' {...props} />;\n\nexport default MessageMetricsItemLabel;\n","import type { ReactNode } from 'react';\n\nimport { IconButton, type IconButtonProps } from '../../Button';\n\nexport type MessageMetricsFollowingProps = {\n\tname: 'bell' | 'bell-off';\n\tbadge?: ReactNode;\n} & Omit<IconButtonProps, 'icon'>;\n\nconst MessageMetricsFollowing = ({ name, badge, className, ...props }: MessageMetricsFollowingProps) => (\n\t<IconButton {...props} className={['rcx-message-metrics__item__follow', className].filter(Boolean).join(' ')} size='small' icon={name}>\n\t\t{badge && <div className='rcx-message-metrics__item__follow-badge'>{badge}</div>}\n\t</IconButton>\n);\n\nexport default MessageMetricsFollowing;\n","import { MessageMetricsItem } from './MessageMetricsItem';\nimport { Button, type ButtonProps } from '../../Button';\n\nexport type MessageMetricsReplyProps = ButtonProps;\n\nconst MessageMetricsReply = (props: MessageMetricsReplyProps) => (\n\t<MessageMetricsItem>\n\t\t<Button variant='primary' size='small' {...props} />\n\t</MessageMetricsItem>\n);\n\nexport default MessageMetricsReply;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageNameProps = HTMLAttributes<HTMLSpanElement>;\n\nconst MessageName = (props: MessageNameProps) => <span className='rcx-box rcx-box--full rcx-message-header__name' {...props} />;\n\nexport default MessageName;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type MessageNameContainerProps = HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>;\n\nfunction MessageNameContainer(props: MessageNameContainerProps) {\n\treturn <span className='rcx-box rcx-box--full rcx-message-header__name-container' {...props} />;\n}\n\nexport default MessageNameContainer;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport MessageBlock from '../MessageBlock';\n\nexport type MessageReactionsProps = HTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>;\n\nfunction MessageReactions(props: MessageReactionsProps) {\n\treturn (\n\t\t<MessageBlock className='rcx-message-reactions'>\n\t\t\t<div className='rcx-message-reactions__container' {...props} />\n\t\t</MessageBlock>\n\t);\n}\n\nexport default MessageReactions;\n","export type MessageReactionCounterProps = {\n\tcounter: number;\n\tclassName?: string;\n};\n\nconst MessageReactionCounter = ({ counter, className }: MessageReactionCounterProps) => (\n\t<div className={`rcx-message-reactions__counter ${className}`}>{counter}</div>\n);\n\nexport default MessageReactionCounter;\n","import type { MessageEmojiBaseProps } from '../MessageEmojiBase';\nimport MessageEmojiBase from '../MessageEmojiBase';\n\nexport type MessageReactionEmojiProps = MessageEmojiBaseProps;\n\nconst MessageReactionEmoji = ({ className, ...props }: MessageReactionEmojiProps) => (\n\t<MessageEmojiBase className={`rcx-message-reactions__emoji ${className || ''}`} {...props} />\n);\n\nexport default MessageReactionEmoji;\n","import type { HTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport MessageReactionCounter from './MessageReactionCounter';\nimport MessageReactionEmoji from './MessageReactionEmoji';\n\nexport type MessageReactionProps = RefAttributes<HTMLDivElement> & {\n\tname?: string;\n\tcounter?: number;\n\tmine?: boolean;\n\tchildren?: ReactNode;\n} & HTMLAttributes<HTMLDivElement>;\n\nfunction MessageReaction({ name, counter, mine, children, className, ...props }: MessageReactionProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={[`rcx-message-reactions__reaction`, mine && 'rcx-message-reactions__reaction--mine', className].filter(Boolean).join(' ')}\n\t\t\trole='button'\n\t\t\ttabIndex={0}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children || (\n\t\t\t\t<>\n\t\t\t\t\t{name && <MessageReactionEmoji name={name} />}\n\t\t\t\t\t{counter && <MessageReactionCounter counter={counter} />}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport default MessageReaction;\n","import type { HTMLAttributes } from 'react';\n\nimport { Icon } from '../../Icon';\n\nexport type MessageReactionActionProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageReactionAction = ({ className, ...props }: MessageReactionActionProps) => (\n\t<div\n\t\trole='button'\n\t\ttabIndex={0}\n\t\tclassName={['rcx-message-reactions__reaction rcx-message-reactions__reaction--action', className].filter(Boolean).join(' ')}\n\t\t{...props}\n\t>\n\t\t<Icon name='emoji-plus' size='x16' />\n\t</div>\n);\n\nexport default MessageReactionAction;\n","import type { AnchorHTMLAttributes, ReactNode } from 'react';\n\nimport { prependClassName } from '../../helpers/prependClassName';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type TagProps = {\n\tmedium?: boolean;\n\tlarge?: boolean;\n\t/**\n\t * Fully rounded shape. Use for interactive tags such as filters\n\t */\n\tpill?: boolean;\n\tvariant?: 'primary' | 'secondary' | 'danger' | 'warning' | 'secondary-danger' | 'secondary-warning' | 'secondary-info' | 'featured';\n\tdisabled?: boolean;\n\ticon?: ReactNode;\n} & ElementProps<HTMLElement, AnchorHTMLAttributes<HTMLElement>>;\n\n/**\n * Used for mentions\n */\nconst Tag = ({ large, medium, pill, className, disabled, onClick, variant, children, icon, href, ...props }: TagProps) => {\n\tconst modifiers = [\n\t\tvariant,\n\t\tmedium && 'medium',\n\t\tlarge && 'large',\n\t\tpill && 'pill',\n\t\tdisabled && 'disabled',\n\t\tonClick && 'clickable',\n\t\thref && 'clickable',\n\t]\n\t\t.filter(Boolean)\n\t\t.map((modifier) => `rcx-tag--${modifier}`)\n\t\t.join(' ');\n\n\treturn (\n\t\t<Box is={href ? 'a' : 'span'} className={prependClassName(className, `rcx-tag ${modifiers}`)} onClick={onClick} href={href} {...props}>\n\t\t\t{icon}\n\t\t\t<span className='rcx-tag__inner'>{children}</span>\n\t\t</Box>\n\t);\n};\n\nexport default Tag;\n","import type { TagProps } from '../Tag';\nimport { Tag } from '../Tag';\n\nexport type MessageRoleProps = TagProps;\n\nconst MessageRole = (props: MessageRoleProps) => <Tag className='rcx-box rcx-box--full rcx-message-header__role' {...props} />;\n\nexport default MessageRole;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageRolesProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageRoles = (props: MessageRolesProps) => <div className='rcx-box rcx-box--full rcx-message-header__roles' {...props} />;\n\nexport default MessageRoles;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\n\nexport type MessageStatusIndicatorProps = AllHTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>;\n\nfunction MessageStatusIndicator(props: MessageStatusIndicatorProps) {\n\treturn <div className='rcx-message-status-indicator' {...props} />;\n}\n\nexport default MessageStatusIndicator;\n","import type { ReactNode } from 'react';\n\nexport type MessageStatusIndicatorTextProps = {\n\tchildren: ReactNode;\n};\n\nconst MessageStatusIndicatorText = ({ children }: MessageStatusIndicatorTextProps) => (\n\t<span className='rcx-message-status-indicator__text' aria-hidden>\n\t\t{children}\n\t</span>\n);\n\nexport default MessageStatusIndicatorText;\n","import type { AllHTMLAttributes } from 'react';\n\nimport { Icon, type IconProps } from '../../Icon';\n\nexport type MessageStatusIndicatorItemProps = {\n\tname: IconProps['name'];\n\tvariant?: 'success' | 'danger' | 'warning' | 'primary';\n\tcolor?: IconProps['color'];\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is' | 'color'>;\n\nconst MessageStatusIndicatorItem = ({ name, variant, ...props }: MessageStatusIndicatorItemProps) => (\n\t<Icon\n\t\tname={name}\n\t\tsize='x16'\n\t\tclassName={['rcx-message-status-indicator__item', variant && `rcx-message-status-indicator__item--${variant}`]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')}\n\t\t{...props}\n\t/>\n);\n\nexport default MessageStatusIndicatorItem;\n","import type { ReactNode } from 'react';\n\nimport type { MessageStatusIndicatorItemProps } from './MessageStatusIndicatorItem';\n\nexport type MessageStatusPrivateIndicatorProps = {\n\tchildren?: ReactNode;\n\tvariant?: MessageStatusIndicatorItemProps['variant'];\n};\n\nconst MessageStatusPrivateIndicator = ({ children, variant }: MessageStatusPrivateIndicatorProps) => (\n\t<span\n\t\tclassName={[\n\t\t\t'rcx-message-status-indicator__item `rcx-message-status-indicator__item--private',\n\t\t\tvariant && `rcx-message-status-indicator__item--${variant}`,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')}\n\t>\n\t\t{children}\n\t</span>\n);\n\nexport default MessageStatusPrivateIndicator;\n","import type { ReactNode, MouseEvent as ReactMouseEvent, AllHTMLAttributes } from 'react';\n\nexport type MessageSystemProps = {\n\tchildren?: ReactNode;\n\ttitle?: string;\n\tisSelected?: boolean;\n\tonClick?: (e: ReactMouseEvent<HTMLDivElement, MouseEvent>) => void;\n} & AllHTMLAttributes<HTMLDivElement>;\n\nconst MessageSystem = ({ children, title, isSelected, ...props }: MessageSystemProps) => (\n\t<div\n\t\tclassName={['rcx-box rcx-box--full rcx-message-system', isSelected && 'rcx-message-system--selected'].filter(Boolean).join(' ')}\n\t\ttitle={title}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nexport default MessageSystem;\n","import type { ReactNode } from 'react';\n\nexport type MessageSystemBlockProps = {\n\tchildren?: ReactNode;\n};\n\nconst MessageSystemBlock = (props: MessageSystemBlockProps) => <div className='rcx-message-system__block' {...props} />;\n\nexport default MessageSystemBlock;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageSystemBodyProps = HTMLAttributes<HTMLDivElement>;\n\nconst MessageSystemBody = (props: MessageSystemBodyProps) => <div className='rcx-message-system__body' {...props} />;\n\nexport default MessageSystemBody;\n","import type { ReactNode } from 'react';\n\nexport type MessageSystemContainerProps = {\n\tchildren?: ReactNode;\n};\n\nconst MessageSystemContainer = (props: MessageSystemContainerProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-system__container' {...props} />\n);\n\nexport default MessageSystemContainer;\n","import type { MessageNameProps } from '../MessageName';\n\nexport type MessageSystemNameProps = MessageNameProps;\n\nconst MessageSystemName = (props: MessageSystemNameProps) => <span className='rcx-box rcx-box--full rcx-message-system__name' {...props} />;\n\nexport default MessageSystemName;\n","import type { ReactNode } from 'react';\n\nexport type MessageSystemTimestampProps = {\n\tchildren: ReactNode;\n\ttitle?: string;\n};\n\nconst MessageSystemTimestamp = (props: MessageSystemTimestampProps) => (\n\t<span className='rcx-box rcx-box--full rcx-message-system__time' {...props} />\n);\n\nexport default MessageSystemTimestamp;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageTimestampProps = HTMLAttributes<HTMLSpanElement>;\n\nconst MessageTimestamp = (props: MessageTimestampProps) => <span className='rcx-box rcx-box--full rcx-message-header__time' {...props} />;\n\nexport default MessageTimestamp;\n","import { ButtonGroup, type ButtonGroupProps } from '../../ButtonGroup';\n\nexport type MessageToolbarProps = ButtonGroupProps;\n\nfunction MessageToolbar(props: MessageToolbarProps) {\n\treturn (\n\t\t<div className='rcx-box rcx-box--full rcx-message-toolbar'>\n\t\t\t<ButtonGroup role='toolbar' small {...props} />\n\t\t</div>\n\t);\n}\n\nexport default MessageToolbar;\n","import type { RefAttributes } from 'react';\n\nimport { IconButton } from '../../Button';\nimport type { IconButtonProps } from '../../Button/IconButton';\n\nexport type MessageToolbarItemProps = Omit<IconButtonProps, 'ref'> & RefAttributes<HTMLButtonElement>;\n\nfunction MessageToolbarItem(props: MessageToolbarItemProps) {\n\treturn <IconButton size='small' {...props} />;\n}\n\nexport default MessageToolbarItem;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type MessageToolbarWrapperProps = HTMLAttributes<HTMLDivElement> &\n\tRefAttributes<HTMLDivElement> & {\n\t\tvisible?: boolean;\n\t};\n\nfunction MessageToolbarWrapper({ className, visible, ...props }: MessageToolbarWrapperProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={['rcx-box rcx-box--full rcx-message-toolbar__wrapper', visible && 'rcx-message-toolbar__wrapper--visible', className]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' ')}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default MessageToolbarWrapper;\n","import type { HTMLAttributes } from 'react';\n\nexport type MessageUsernameProps = HTMLAttributes<HTMLSpanElement>;\n\nconst MessageUsername = (props: MessageUsernameProps) => <span className='rcx-box rcx-box--full rcx-message-header__username' {...props} />;\n\nexport default MessageUsername;\n","import Message, { type MessageProps } from '../Message';\n\nexport type ThreadMessageProps = MessageProps;\n\nconst ThreadMessage = (props: ThreadMessageProps) => <Message className='rcx-message-thread' {...props} />;\n\nexport default ThreadMessage;\n","import type { ReactNode } from 'react';\n\nexport type ThreadMessageBodyProps = {\n\tchildren?: ReactNode;\n};\n\nconst ThreadMessageBody = (props: ThreadMessageBodyProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-thread__message' {...props} />\n);\n\nexport default ThreadMessageBody;\n","import type { ReactNode } from 'react';\n\nexport type ThreadMessageContainerProps = {\n\tchildren?: ReactNode;\n};\n\nconst ThreadMessageContainer = (props: ThreadMessageContainerProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-thread__container' {...props} />\n);\n\nexport default ThreadMessageContainer;\n","import type { MessageEmojiBaseProps } from '../MessageEmojiBase';\nimport MessageEmojiBase from '../MessageEmojiBase';\n\nexport type ThreadMessageEmojiProps = MessageEmojiBaseProps;\n\nconst ThreadMessageEmoji = ({ className, ...props }: ThreadMessageEmojiProps) => (\n\t<MessageEmojiBase className={`rcx-message-thread__emoji ${className || ''}`} {...props} />\n);\n\nexport default ThreadMessageEmoji;\n","import { Icon, type IconProps } from '../../Icon';\n\nexport type ThreadMessageIconProps = IconProps;\n\nconst ThreadMessageIcon = ({ ...props }: IconProps) => (\n\t<Icon className='rcx-box rcx-box--full rcx-message-thread__icon' size='x16' {...props} />\n);\n\nexport default ThreadMessageIcon;\n","import ThreadMessageIcon from './ThreadMessageIcon';\n\nconst ThreadMessageFollow = () => (\n\t<ThreadMessageIcon className='rcx-box rcx-box--full rcx-message-thread__icon rcx-message-thread__icon--follow' name='bell' />\n);\n\nexport default ThreadMessageFollow;\n","import ThreadMessageIcon from './ThreadMessageIcon';\n\nconst ThreadMessageIconThread = () => <ThreadMessageIcon name='thread' />;\n\nexport default ThreadMessageIconThread;\n","import type { ReactNode } from 'react';\n\nexport type ThreadMessageOriginProps = {\n\tchildren?: ReactNode;\n\tsystem?: boolean;\n};\n\nconst ThreadMessageOrigin = ({ children, system }: ThreadMessageOriginProps) => (\n\t<div\n\t\tclassName={['rcx-box rcx-box--full rcx-message-thread__origin', system && 'rcx-box rcx-box--full rcx-message-thread__origin--system']\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')}\n\t>\n\t\t{children}\n\t</div>\n);\n\nexport default ThreadMessageOrigin;\n","import type { HTMLAttributes } from 'react';\n\nexport type ThreadMessageRowProps = HTMLAttributes<HTMLDivElement>;\n\nconst ThreadMessageRow = (props: ThreadMessageRowProps) => <div className='rcx-box rcx-box--full rcx-message-thread__row' {...props} />;\n\nexport default ThreadMessageRow;\n","import ThreadMessageIcon from './ThreadMessageIcon';\n\nconst ThreadMessageUnfollow = () => (\n\t<ThreadMessageIcon className='rcx-box rcx-box--full rcx-message-thread__icon rcx-message-thread__icon--unfollow' name='bell-off' />\n);\n\nexport default ThreadMessageUnfollow;\n","import type { HTMLAttributes } from 'react';\n\nexport type ThreadMessageLeftContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst ThreadMessageLeftContainer = (props: ThreadMessageLeftContainerProps) => (\n\t<div className='rcx-box rcx-box--full rcx-message-container rcx-message-container--left' {...props} />\n);\n\nexport default ThreadMessageLeftContainer;\n","import type { DialogHTMLAttributes, ElementType, ReactNode } from 'react';\nimport { createElement } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\n\nexport type ModalProps = ElementProps<Element, DialogHTMLAttributes<HTMLDialogElement>> & {\n\t/** A fixed width, for content that needs it instead of the default fluid one. */\n\twidth?: BoxProps['width'];\n\t/** A fixed height, for content that has no intrinsic height (e.g. an iframe). */\n\theight?: BoxProps['height'];\n\t/** A maximum height, past which the content scrolls, for content taller than the default limit allows. */\n\tmaxHeight?: BoxProps['maxHeight'];\n\t/** Hides the modal while keeping it, and its state, mounted. */\n\thidden?: boolean;\n\twrapperFunction?: (props: Pick<BoxProps, 'elevation' | 'className' | 'children'>) => ReactNode;\n\twrapper?: ElementType<Pick<BoxProps, 'elevation' | 'className' | 'children'>>;\n};\n\nconst Modal = ({ children, wrapper = Box, wrapperFunction, ...props }: ModalProps) => {\n\tconst wrapperProps = {\n\t\tchildren,\n\t\tclassName: 'rcx-modal__inner',\n\t\televation: '2',\n\t} as const;\n\n\treturn (\n\t\t<Box is='dialog' open aria-modal='true' rcx-modal {...props}>\n\t\t\t{wrapperFunction ? wrapperFunction(wrapperProps) : createElement(wrapper, wrapperProps)}\n\t\t</Box>\n\t);\n};\n\nexport default Modal;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ModalBackdropProps = ElementProps<HTMLDivElement> & {\n\t/** Drops the overlay colour, for a backdrop that only catches events or stacks over another one. */\n\ttransparent?: boolean;\n};\n\nconst ModalBackdrop = ({ transparent, ...props }: ModalBackdropProps) => (\n\t<Box rcx-modal__backdrop backgroundColor={transparent ? 'transparent' : undefined} {...props} />\n);\n\nexport default ModalBackdrop;\n","import { IconButton, type IconButtonProps } from '../Button';\n\nexport type ModalCloseProps = Omit<IconButtonProps, 'icon'>;\n\nconst ModalClose = (props: ModalCloseProps) => <IconButton aria-label='Close' {...props} size='small' icon='cross' />;\n\nexport default ModalClose;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Scrollable } from '../Scrollable';\n\nexport type ModalContentProps = ElementProps<HTMLDivElement> & {\n\tonScrollContent?: ((touching: { top: boolean }) => void) | undefined;\n\t/** Stretches the content to the modal's height and closes the modal itself, for content that brings its own footer. */\n\tfill?: boolean;\n};\n\nconst ModalContent = ({ children, onScrollContent, fill, ...props }: ModalContentProps) => (\n\t<Scrollable vertical onScrollContent={onScrollContent}>\n\t\t<Box rcx-modal__content>\n\t\t\t<Box\n\t\t\t\trcx-modal__content-wrapper\n\t\t\t\tmarginInline={24}\n\t\t\t\theight={fill ? '100%' : undefined}\n\t\t\t\tpaddingBlockEnd={fill ? 16 : undefined}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Box>\n\t\t</Box>\n\t</Scrollable>\n);\n\nexport default ModalContent;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ModalFooterProps = ElementProps<HTMLDivElement> & {\n\t/** Spreads the actions apart instead of packing them at the end, for a footer with content on its start side. */\n\tjustify?: 'end' | 'space-between';\n};\n\nconst ModalFooter = ({ children, justify = 'end' }: ModalFooterProps) => (\n\t<Box justifyContent={justify} rcx-modal__footer>\n\t\t{children}\n\t</Box>\n);\n\nexport default ModalFooter;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ModalFooterAnnotationProps = ElementProps<HTMLDivElement>;\n\nconst ModalFooterAnnotation = ({ children }: ModalFooterAnnotationProps) => <Box rcx-modal__footer-annotation>{children}</Box>;\n\nexport default ModalFooterAnnotation;\n","import type { ButtonGroupProps } from '..';\nimport { ButtonGroup } from '..';\n\nexport type ModalFooterControllersProps = ButtonGroupProps;\n\nconst ModalFooterControllers = ({ children }: ModalFooterControllersProps) => <ButtonGroup align='end'>{children}</ButtonGroup>;\n\nexport default ModalFooterControllers;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Margins } from '../Margins';\n\nexport type ModalHeaderProps = ElementProps<HTMLElement>;\n\nconst ModalHeader = ({ children, ...props }: ModalHeaderProps) => (\n\t<Box rcx-modal__header is='header' {...props}>\n\t\t<Box rcx-modal__header-inner>\n\t\t\t<Margins all='x4'>{children}</Margins>\n\t\t</Box>\n\t</Box>\n);\n\nexport default ModalHeader;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ModalHeaderTextProps = ElementProps<HTMLDivElement>;\n\nconst ModalHeaderText = ({ children, ...props }: ModalHeaderTextProps) => (\n\t<Box rcx-modal__header-text {...props}>\n\t\t{children}\n\t</Box>\n);\n\nexport default ModalHeaderText;\n","import type { ImgHTMLAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\n\nexport type ModalHeroImageProps = ElementProps<HTMLImageElement, ImgHTMLAttributes<HTMLImageElement>> & {\n\t/** The rendered width, which the `width` attribute alone cannot set over the fluid default. */\n\twidth?: BoxProps['width'];\n\t/** The rendered height, which the `height` attribute alone cannot set over the fluid default. */\n\theight?: BoxProps['height'];\n};\n\nconst ModalHeroImage = ({ ...props }: ModalHeroImageProps) => (\n\t<figure className='rcx-modal__hero-image-wrapper'>\n\t\t<Box rcx-modal__hero-image is='img' {...props} />\n\t</figure>\n);\n\nexport default ModalHeroImage;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\n\nconst variantColors = {\n\tdanger: 'danger',\n\twarning: 'status-font-on-warning',\n\tinfo: 'info',\n\tsuccess: 'status-font-on-success',\n} as const;\n\nexport type ModalIconProps = ElementProps<HTMLDivElement> & {\n\tname: IconProps['name'];\n\tsize?: IconProps['size'];\n\t/** Tints the icon with the status it stands for. */\n\tvariant?: keyof typeof variantColors;\n\t/** Aligns the icon with the end of the header instead of its centre, for a header taller than one line. */\n\talign?: 'center' | 'end';\n};\n\nconst ModalIcon = ({ size = 'x20', name, variant, align = 'center', ...props }: ModalIconProps) => (\n\t<Box paddingBlock={4} color={variant && variantColors[variant]} {...props} display='flex' alignItems={align}>\n\t\t<Icon name={name} size={size} />\n\t</Box>\n);\n\nexport default ModalIcon;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ModalTaglineProps = ElementProps<HTMLDivElement> & {\n\t/** Mutes the tagline, so it reads as a category above the title. */\n\tsubtle?: boolean;\n};\n\nconst ModalTagline = ({ subtle, children, ...props }: ModalTaglineProps) => (\n\t<Box rcx-modal__tagline color={subtle ? 'annotation' : undefined} {...props}>\n\t\t{children}\n\t</Box>\n);\n\nexport default ModalTagline;\n","import { Avatar, type AvatarProps } from '../Avatar';\nimport { Box } from '../Box';\n\nexport type ModalThumbProps = AvatarProps;\n\nconst ModalThumb = (props: ModalThumbProps) => (\n\t<Box>\n\t\t<Avatar size='x28' {...props} />\n\t</Box>\n);\n\nexport default ModalThumb;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ModalTitleProps = ElementProps<HTMLHeadingElement>;\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => (\n\t<Box is='h2' rcx-modal__title {...props}>\n\t\t{children}\n\t</Box>\n);\n\nexport default ModalTitle;\n","import type { AriaAttributes, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, ReactNode, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\n\ntype MultiSelectAnchorProps = RefAttributes<Element> & {\n\tchildren: ReactNode;\n\tdisabled: boolean;\n\tonClick: MouseEventHandler;\n\tonBlur: FocusEventHandler;\n\tonKeyUp: KeyboardEventHandler;\n\tonKeyDown: KeyboardEventHandler;\n\trole?: string;\n\tid?: string;\n\tname?: string;\n} & AriaAttributes;\n\nfunction MultiSelectAnchor(props: MultiSelectAnchorProps) {\n\treturn <Box fontScale='p2m' color='hint' rcx-select__focus is='button' type='button' rcx-input-box--undecorated order={1} {...props} />;\n}\n\nexport default MultiSelectAnchor;\n","import type { MouseEvent, ReactNode } from 'react';\nimport { memo } from 'react';\n\nimport { Chip } from '../Chip';\n\ntype SelectedOptionsProps = {\n\tchildren: ReactNode;\n\ttabIndex: number;\n\tkey: string;\n\tonMouseDown: (e: MouseEvent) => void;\n};\n\nexport const SelectedOptions = memo(function SelectedOptions(props: SelectedOptionsProps) {\n\treturn <Chip {...props} />;\n});\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\ntype AddonProps = ElementProps<HTMLDivElement>;\n\nfunction SelectAddon(props: AddonProps) {\n\treturn <Box is='div' rcx-select__addon {...props} />;\n}\n\nexport default SelectAddon;\n","import { useMergedRefs, useStableCallback, useResizeObserver, useOutsideClick } from '@rocket.chat/fuselage-hooks';\nimport type { ElementType, MouseEventHandler, ReactNode, RefAttributes } from 'react';\nimport { useState, useRef, useEffect } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { FlexContainer, FlexItem } from '../Flex';\nimport type { IconProps } from '../Icon';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\nimport { CheckOption } from '../Option';\nimport { Options, useCursor } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\nimport type { SelectOption } from '../Select';\nimport MultiSelectAnchor from './MultiSelectAnchor';\nimport type { MultiSelectAnchorParams } from './MultiSelectAnchorParams';\nimport { SelectedOptions } from './SelectedOptions';\nimport SelectAddon from '../Select/SelectAddon';\n\nexport type MultiSelectProps = Omit<ElementProps<HTMLDivElement>, 'ref' | 'onChange'> &\n\tRefAttributes<HTMLInputElement> & {\n\t\tname?: string;\n\t\tdisabled?: boolean;\n\t\tplaceholder?: string;\n\t\tfilter?: string;\n\t\tvalue?: SelectOption[0][];\n\t\terror?: string;\n\t\toptions: SelectOption[];\n\t\tonChange: (params: SelectOption[0][]) => void;\n\t\tgetLabel?: (params: SelectOption) => SelectOption[1];\n\t\tgetValue?: (params: SelectOption) => SelectOption[0];\n\t\tcustomEmpty?: string;\n\t\tanchor?: ElementType<MultiSelectAnchorParams>;\n\t\trenderOptions?: ElementType;\n\t\trenderItem?: ElementType;\n\t\trenderSelected?: ElementType<{\n\t\t\tvalue: SelectOption[0];\n\t\t\tlabel: SelectOption[1];\n\t\t\tonMouseDown: MouseEventHandler;\n\t\t\tchildren: ReactNode;\n\t\t}>;\n\t\taddonIcon?: IconProps['name'];\n\t\tsetFilter?: (filter: string) => void;\n\t};\n\n/**\n * An input for selection of options.\n */\nfunction MultiSelect({\n\tref,\n\tvalue,\n\tfilter,\n\tsetFilter,\n\toptions = [],\n\terror,\n\tdisabled,\n\tanchor: Anchor = MultiSelectAnchor,\n\tonChange = () => {},\n\tgetLabel = ([, label] = ['', '']) => label,\n\tgetValue = ([value]) => value,\n\tplaceholder,\n\trenderOptions: _Options = Options,\n\trenderItem,\n\tcustomEmpty,\n\trenderSelected: RenderSelected,\n\taddonIcon,\n\t...props\n}: MultiSelectProps) {\n\tconst [internalValue, setInternalValue] = useState<SelectOption[0][]>(value || []);\n\n\tuseEffect((): void => setInternalValue(value || []), [value]);\n\n\tconst [currentOptionValue, setCurrentOption] = useState<SelectOption[0]>();\n\n\tconst index = options.findIndex((option) => getValue(option) === currentOptionValue);\n\n\tconst removeFocusClass = () => innerRef.current?.classList.remove('focus-visible');\n\n\tconst internalChanged = ([value]: SelectOption) => {\n\t\tif (internalValue.includes(value)) {\n\t\t\tsetCurrentOption(undefined);\n\t\t\tconst newValue = internalValue.filter((item) => item !== value);\n\t\t\tsetInternalValue(newValue);\n\t\t\treturn onChange(newValue);\n\t\t}\n\t\tsetFilter?.('');\n\t\tsetCurrentOption(value);\n\t\tconst newValue = [...internalValue, value];\n\t\tsetInternalValue(newValue);\n\t\treturn onChange(newValue);\n\t};\n\n\tconst mapOptions = ([value, label]: SelectOption): SelectOption => {\n\t\tif (internalValue.includes(value)) {\n\t\t\treturn [value, label, true];\n\t\t}\n\t\treturn [value, label];\n\t};\n\n\tconst applyFilter = ([, option]: SelectOption) => !filter || option.toLowerCase().includes(filter.toLowerCase());\n\n\tconst filteredOptions: SelectOption[] = options.filter(applyFilter).map(mapOptions);\n\n\tconst [cursor, handleKeyDown, handleKeyUp, reset, [visible, hide, show]] = useCursor(index, filteredOptions, internalChanged);\n\n\tuseEffect(reset, [filter]);\n\n\tconst innerRef = useRef<HTMLElement>(null);\n\tconst anchorRef = useMergedRefs(ref, innerRef);\n\n\tconst { ref: containerRef, borderBoxSize } = useResizeObserver();\n\tuseOutsideClick([containerRef], removeFocusClass);\n\n\tconst handleClick = useStableCallback(() => {\n\t\tif (visible === AnimatedVisibility.VISIBLE) {\n\t\t\treturn hide();\n\t\t}\n\t\tinnerRef.current?.focus();\n\t\treturn show();\n\t});\n\n\tconst listboxId = props.id ? `${props.id}-listbox` : undefined;\n\n\tconst {\n\t\tid,\n\t\tname,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledBy,\n\t\t'aria-describedby': ariaDescribedBy,\n\t\t'aria-invalid': ariaInvalid,\n\t\t'aria-required': ariaRequired,\n\t\t...containerProps\n\t} = props;\n\n\treturn (\n\t\t<Box\n\t\t\tis='div'\n\t\t\tanimated\n\t\t\trcx-select\n\t\t\tclassName={[error && 'invalid', disabled && 'disabled']}\n\t\t\tref={containerRef}\n\t\t\tonClick={handleClick}\n\t\t\tdisabled={disabled}\n\t\t\t{...containerProps}\n\t\t>\n\t\t\t<FlexItem grow={1}>\n\t\t\t\t<Margins inline='x4'>\n\t\t\t\t\t<FlexContainer>\n\t\t\t\t\t\t<Box is='div'>\n\t\t\t\t\t\t\t<Box is='div' display='flex' alignItems='center' flexWrap='wrap' margin='-x4' gap={4}>\n\t\t\t\t\t\t\t\t<Anchor\n\t\t\t\t\t\t\t\t\tref={anchorRef}\n\t\t\t\t\t\t\t\t\tdisabled={disabled ?? false}\n\t\t\t\t\t\t\t\t\tonClick={show}\n\t\t\t\t\t\t\t\t\tonBlur={hide}\n\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\tonKeyUp={handleKeyUp}\n\t\t\t\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\t\t\t\taria-expanded={visible === AnimatedVisibility.VISIBLE}\n\t\t\t\t\t\t\t\t\taria-haspopup='listbox'\n\t\t\t\t\t\t\t\t\taria-controls={listboxId}\n\t\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t\t\t\taria-invalid={ariaInvalid}\n\t\t\t\t\t\t\t\t\taria-required={ariaRequired}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{internalValue.length === 0 ? placeholder : null}\n\t\t\t\t\t\t\t\t</Anchor>\n\t\t\t\t\t\t\t\t{internalValue.map((value: SelectOption[0]) => {\n\t\t\t\t\t\t\t\t\tconst currentOption = options.find(([val]) => val === value) as SelectOption;\n\t\t\t\t\t\t\t\t\treturn RenderSelected ? (\n\t\t\t\t\t\t\t\t\t\t<RenderSelected\n\t\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\t\t\t\t\tlabel={getLabel(currentOption)}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tprevent(e);\n\t\t\t\t\t\t\t\t\t\t\t\tinternalChanged(currentOption);\n\t\t\t\t\t\t\t\t\t\t\t\tremoveFocusClass();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{getLabel(currentOption)}\n\t\t\t\t\t\t\t\t\t\t</RenderSelected>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<SelectedOptions\n\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\tkey={String(value)}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tprevent(e);\n\t\t\t\t\t\t\t\t\t\t\t\tinternalChanged(currentOption);\n\t\t\t\t\t\t\t\t\t\t\t\tremoveFocusClass();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{getLabel(currentOption)}\n\t\t\t\t\t\t\t\t\t\t</SelectedOptions>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</FlexContainer>\n\t\t\t\t</Margins>\n\t\t\t</FlexItem>\n\t\t\t<FlexItem grow={0} shrink={0}>\n\t\t\t\t<SelectAddon>\n\t\t\t\t\t<Icon name={visible === AnimatedVisibility.VISIBLE ? 'chevron-up' : addonIcon || 'chevron-down'} size='x20' />\n\t\t\t\t</SelectAddon>\n\t\t\t</FlexItem>\n\t\t\t<PositionAnimated visible={visible} anchor={containerRef}>\n\t\t\t\t<_Options\n\t\t\t\t\twidth={borderBoxSize.inlineSize}\n\t\t\t\t\tonMouseDown={prevent}\n\t\t\t\t\tmultiple\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\trenderItem={renderItem || CheckOption}\n\t\t\t\t\tid={listboxId}\n\t\t\t\t\toptions={filteredOptions}\n\t\t\t\t\tonSelect={internalChanged}\n\t\t\t\t\tcursor={cursor}\n\t\t\t\t\tcustomEmpty={customEmpty}\n\t\t\t\t/>\n\t\t\t</PositionAnimated>\n\t\t</Box>\n\t);\n}\n\nexport default MultiSelect;\n","import { createContext, type Dispatch, type SetStateAction } from 'react';\n\nexport const MultiSelectFilteredContext = createContext<{\n\tplaceholder?: string;\n\tfilter?: string;\n\tsetFilter?: Dispatch<SetStateAction<string>>;\n}>({});\n","import { use, type InputEvent } from 'react';\n\nimport { FlexItem } from '../Flex';\nimport { Input } from '../InputBox';\nimport type { MultiSelectAnchorParams } from './MultiSelectAnchorParams';\nimport { MultiSelectFilteredContext } from './MultiSelectFilteredContext';\n\ntype MultiSelectFilteredAnchorProps = MultiSelectAnchorParams;\n\nfunction MultiSelectFilteredAnchor({ children: _children, ...props }: MultiSelectFilteredAnchorProps) {\n\tconst { placeholder, filter, setFilter } = use(MultiSelectFilteredContext);\n\n\treturn (\n\t\t<FlexItem grow={1} order={1}>\n\t\t\t<Input\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tvalue={filter}\n\t\t\t\tonInput={(e: InputEvent<HTMLInputElement>) => setFilter?.(e.currentTarget.value)}\n\t\t\t\t{...props}\n\t\t\t\tclassName='rcx-input-box--undecorated'\n\t\t\t\tautoComplete='off'\n\t\t\t/>\n\t\t</FlexItem>\n\t);\n}\n\nexport default MultiSelectFilteredAnchor;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\n\nimport type { IconProps } from '../Icon';\nimport type { MultiSelectProps } from './MultiSelect';\nimport MultiSelect from './MultiSelect';\nimport MultiSelectFilteredAnchor from './MultiSelectFilteredAnchor';\nimport { MultiSelectFilteredContext } from './MultiSelectFilteredContext';\n\nexport type MultiSelectFilteredProps = MultiSelectProps & {\n\tfilter?: string;\n\tsetFilter?: Dispatch<SetStateAction<string>>;\n\taddonIcon?: IconProps['name'];\n};\n\nfunction MultiSelectFiltered({ options, placeholder, filter: propFilter, setFilter: propSetFilter, ...props }: MultiSelectFilteredProps) {\n\tconst [filter, setFilter] = useState('');\n\n\treturn (\n\t\t<MultiSelectFilteredContext.Provider\n\t\t\tvalue={{\n\t\t\t\tplaceholder,\n\t\t\t\tfilter: propFilter || filter,\n\t\t\t\tsetFilter: propSetFilter || setFilter,\n\t\t\t}}\n\t\t>\n\t\t\t<MultiSelect\n\t\t\t\t{...props}\n\t\t\t\tfilter={propFilter || filter}\n\t\t\t\tsetFilter={propSetFilter || setFilter}\n\t\t\t\toptions={options}\n\t\t\t\tanchor={MultiSelectFilteredAnchor}\n\t\t\t/>\n\t\t</MultiSelectFilteredContext.Provider>\n\t);\n}\n\nexport default MultiSelectFiltered;\n","import type { HTMLAttributes } from 'react';\n\nexport type NavBarProps = HTMLAttributes<HTMLElement>;\n\nconst NavBar = (props: NavBarProps) => <nav className='rcx-navbar' {...props} />;\n\nexport default NavBar;\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport type NavBarGroupProps = ButtonGroupProps;\n\nfunction NavBarGroup(props: NavBarGroupProps) {\n\treturn <ButtonGroup className='rcx-navbar-group' {...props} />;\n}\n\nexport default NavBarGroup;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { IconButton } from '../Button';\nimport type { IconButtonProps } from '../Button/IconButton';\n\nexport type NavbarItemProps = HTMLAttributes<HTMLElement> & Partial<Omit<IconButtonProps, 'ref'>> & RefAttributes<HTMLElement>;\n\nfunction NavBarItem({ children, icon, ...props }: NavbarItemProps) {\n\treturn (\n\t\t<>\n\t\t\t{icon ? (\n\t\t\t\t<IconButton icon={icon} size='small' {...props} className={['rcx-navbar-item', props.className].filter(Boolean).join(' ')} />\n\t\t\t) : (\n\t\t\t\tpatchChildren(children, (childProps: { className: string | string[] }) => ({\n\t\t\t\t\tclassName: appendClassName(childProps.className, 'rcx-navbar-item'),\n\t\t\t\t\t...props,\n\t\t\t\t}))\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport default NavBarItem;\n","import type { DividerProps } from '../Divider';\nimport { Divider } from '../Divider';\n\nexport type NavBarDividerProps = DividerProps;\n\nconst NavBarDivider = ({ className, ...props }: NavBarDividerProps) => (\n\t<Divider vertical {...props} className={['rcx-navbar-divider', className].filter(Boolean).join(' ')} />\n);\n\nexport default NavBarDivider;\n","import type { HTMLAttributes } from 'react';\nimport { Fragment } from 'react';\nimport { isElement } from 'react-is';\nimport flattenChildren from 'react-keyed-flatten-children';\n\nimport NavBarDivider from './NavBarDivider';\n\nexport type NavbarSectionProps = HTMLAttributes<HTMLSpanElement>;\n\nconst NavBarSection = ({ children, ...props }: NavbarSectionProps) => {\n\tconst groups = flattenChildren(children).filter(isElement);\n\n\treturn (\n\t\t<span className='rcx-navbar-section' {...props}>\n\t\t\t{groups.map((child, index) => (\n\t\t\t\t<Fragment key={index}>\n\t\t\t\t\t{child}\n\t\t\t\t\t{index < groups.length - 1 && <NavBarDivider />}\n\t\t\t\t</Fragment>\n\t\t\t))}\n\t\t</span>\n\t);\n};\n\nexport default NavBarSection;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type NumberInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\n/**\n * An input for numbers.\n */\nfunction NumberInput(props: NumberInputProps) {\n\treturn <InputBox type='number' {...props} />;\n}\n\nexport default NumberInput;\n","import { useStableCallback, useDebouncedState } from '@rocket.chat/fuselage-hooks';\nimport type { ComponentType, ElementType, MouseEvent, ReactNode, RefAttributes } from 'react';\nimport { memo } from 'react';\nimport { Virtuoso } from 'react-virtuoso';\n\nimport { prevent } from '../../helpers/prevent';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { CheckOption, Option } from '../Option';\nimport { PopoverSurface } from '../PopoverSurface';\n\nexport type OptionsPaginatedProps = Omit<ElementProps<HTMLDivElement>, 'ref' | 'onSelect'> &\n\tRefAttributes<Element> & {\n\t\tmultiple?: boolean;\n\t\toptions: { value: string | number; label: string; selected?: boolean }[];\n\t\tcursor: number;\n\t\twithTitle?: boolean;\n\t\trenderItem?: ComponentType<{\n\t\t\trole?: string;\n\t\t\tlabel?: ReactNode;\n\t\t\ttitle?: string;\n\t\t\tselected?: boolean;\n\t\t\tindex?: number;\n\t\t\tfocus?: boolean;\n\t\t\tvalue?: string | number;\n\t\t\tonMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n\t\t}>;\n\t\trenderEmpty?: ElementType<object>;\n\t\tonSelect: (option: [unknown, string]) => void;\n\t\tendReached?: (start?: number, end?: number) => void;\n\t};\n\nexport const Empty = memo(() => <Option label='Empty' />);\n\nexport { CheckOption };\n\n/**\n * An input for selection of options.\n */\nexport function OptionsPaginated({\n\tref,\n\twithTitle,\n\tmultiple,\n\trenderEmpty: EmptyComponent = Empty,\n\toptions,\n\tcursor,\n\trenderItem: OptionComponent = Option,\n\tonSelect,\n\tendReached,\n\t...props\n}: OptionsPaginatedProps) {\n\tconst OptionsComponentWithData = ({ index, data }: { index: number; data: OptionsPaginatedProps['options'][0] }) => {\n\t\tconst { value, label, selected } = data;\n\t\treturn (\n\t\t\t<OptionComponent\n\t\t\t\t{...(withTitle && { title: label })}\n\t\t\t\tindex={index}\n\t\t\t\trole='option'\n\t\t\t\tlabel={label}\n\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\tprevent(e);\n\t\t\t\t\tonSelect([value, label]);\n\t\t\t\t\treturn false;\n\t\t\t\t}}\n\t\t\t\tkey={value}\n\t\t\t\tvalue={value}\n\t\t\t\tselected={!!selected}\n\t\t\t\tfocus={cursor === index || undefined} // FIXME: undefined???\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<Box rcx-options {...props} ref={ref}>\n\t\t\t<PopoverSurface>\n\t\t\t\t{!options.length ? (\n\t\t\t\t\t<EmptyComponent />\n\t\t\t\t) : (\n\t\t\t\t\t<Virtuoso\n\t\t\t\t\t\tendReached={endReached}\n\t\t\t\t\t\tstyle={{ height: '144px' }}\n\t\t\t\t\t\ttotalCount={options.length}\n\t\t\t\t\t\tdata={options}\n\t\t\t\t\t\t// TODO Add a scroller element\n\t\t\t\t\t\t// components={{ Scroller: ScrollableContentWrapper }}\n\t\t\t\t\t\titemContent={(index, data) => <OptionsComponentWithData index={index} data={data} />}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</PopoverSurface>\n\t\t</Box>\n\t);\n}\n\nexport const useVisible = (initialVisibility = AnimatedVisibility.HIDDEN) => {\n\tconst [visible, setVisible] = useDebouncedState(initialVisibility, 10);\n\tconst hide = useStableCallback(() => setVisible(AnimatedVisibility.HIDDEN));\n\tconst show = useStableCallback(() => setVisible(AnimatedVisibility.VISIBLE));\n\n\treturn [visible, hide, show];\n};\n","import type { ButtonHTMLAttributes, RefAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\ntype SelectFocusProps = Omit<ElementProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>>, 'ref'> & RefAttributes<Element>;\n\nfunction SelectFocus(props: SelectFocusProps) {\n\treturn <Box fontScale='p2m' color='hint' rcx-select__focus is='button' type='button' {...props} />;\n}\n\nexport default SelectFocus;\n","import { useStableCallback, useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport { type ElementType, useState, useRef, useMemo } from 'react';\n\nimport type { OptionType, SelectOption, SelectProps } from '..';\nimport { prevent } from '../../helpers/prevent';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport { Option } from '../Option';\nimport { useVisible } from '../Options/useVisible';\nimport { OptionsPaginated } from '../OptionsPaginated';\nimport { PositionAnimated } from '../PositionAnimated';\nimport SelectAddon from '../Select/SelectAddon';\nimport SelectFocus from '../Select/SelectFocus';\n\nexport type PaginatedOptionType = {\n\tvalue: string | number;\n\tlabel: string;\n};\n\nexport type PaginatedSelectProps = Omit<SelectProps, 'options'> & {\n\tanchor?: ElementType;\n\toptions: PaginatedOptionType[];\n\twithTitle?: boolean;\n\tendReached?: (index: number) => void;\n\tsetFilter?: (value: string | undefined | number) => void;\n};\n\nexport const PaginatedSelect = ({\n\tvalue,\n\twithTitle,\n\tfilter,\n\t'setFilter': _setFilter,\n\terror,\n\tdisabled,\n\toptions = [],\n\t'anchor': Anchor = SelectFocus,\n\tonChange = () => {},\n\tplaceholder,\n\t'renderOptions': _Options = OptionsPaginated,\n\trenderItem = Option,\n\tendReached,\n\tid,\n\t'aria-labelledby': ariaLabelledBy,\n\t'aria-describedby': ariaDescribedBy,\n\t'aria-invalid': ariaInvalid,\n\t...props\n}: PaginatedSelectProps) => {\n\tconst [internalValue, setInternalValue] = useState(value);\n\n\tconst currentValue = value !== undefined ? value : internalValue;\n\n\tconst option = options.find((option) => option?.value === currentValue);\n\n\tconst [visible, hide, show] = useVisible();\n\n\tconst internalChangedByClick = useStableCallback(([value]: OptionType) => {\n\t\tsetInternalValue(value);\n\t\tonChange(value as SelectOption[0]); // FIXME\n\t\thide();\n\t});\n\n\tconst ref = useRef<HTMLInputElement>(null);\n\n\tconst { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n\tconst valueLabel = option?.label;\n\n\tconst isUnfilteredOrHidden = filter === undefined || visible === AnimatedVisibility.HIDDEN;\n\n\tconst visibleText = isUnfilteredOrHidden ? valueLabel || placeholder : undefined;\n\n\tconst handleClick = useStableCallback(() => {\n\t\tif (visible === AnimatedVisibility.VISIBLE) {\n\t\t\treturn hide();\n\t\t}\n\t\tif (ref && ref.current) {\n\t\t\tref.current.focus();\n\t\t\treturn show();\n\t\t}\n\t});\n\n\treturn (\n\t\t<Box\n\t\t\tanimated\n\t\t\trcx-select\n\t\t\tdisabled={disabled}\n\t\t\tref={containerRef}\n\t\t\tonClick={handleClick}\n\t\t\tclassName={useMemo(() => [error && 'invalid', disabled && 'disabled'], [error, disabled])}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Box is='div' rcx-select__wrapper display='flex' marginInline='neg-x4' rcx-select__wrapper--hidden={!!visibleText}>\n\t\t\t\t{visibleText && (\n\t\t\t\t\t<Box flexGrow={1} is='span' marginInline={4} rcx-select__item fontScale='p2m' color={valueLabel ? 'titles-labels' : 'hint'}>\n\t\t\t\t\t\t{visibleText}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t\t<Anchor\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\trcx-input-box--undecorated\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\tref={ref}\n\t\t\t\t\taria-haspopup='listbox'\n\t\t\t\t\tid={id}\n\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\taria-invalid={ariaInvalid}\n\t\t\t\t\tonClick={show}\n\t\t\t\t\tonBlur={hide}\n\t\t\t\t/>\n\t\t\t\t<SelectAddon>\n\t\t\t\t\t<Icon name={visible === AnimatedVisibility.VISIBLE ? 'chevron-up' : 'chevron-down'} size='x20' />\n\t\t\t\t</SelectAddon>\n\t\t\t</Box>\n\t\t\t<PositionAnimated visible={visible} anchor={containerRef}>\n\t\t\t\t<_Options\n\t\t\t\t\twithTitle={withTitle}\n\t\t\t\t\twidth={borderBoxSize.inlineSize}\n\t\t\t\t\trole='listbox'\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\toptions={options}\n\t\t\t\t\tonSelect={internalChangedByClick}\n\t\t\t\t\tendReached={endReached}\n\t\t\t\t\tonMouseDown={prevent}\n\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t/>\n\t\t\t</PositionAnimated>\n\t\t</Box>\n\t);\n};\n","import type { ChangeEvent, RefAttributes } from 'react';\nimport { useMemo } from 'react';\n\nimport { Input, type InputProps } from '../InputBox';\nimport type { PaginatedSelectProps } from './PaginatedSelect';\nimport { PaginatedSelect } from './PaginatedSelect';\n\nexport type PaginatedSelectFilteredProps = Omit<PaginatedSelectProps, 'setFilter'> &\n\tRefAttributes<HTMLInputElement> & {\n\t\tsetFilter: (value: string | undefined | number) => void;\n\t};\n\nconst PaginatedSelectFiltered = ({ filter, setFilter, options, placeholder, ...props }: PaginatedSelectFilteredProps) => {\n\tconst anchor = useMemo(\n\t\t() =>\n\t\t\t({ filter, onChange: _onChange, ...props }: InputProps<HTMLInputElement> & { filter?: string }) => (\n\t\t\t\t<Input\n\t\t\t\t\tclassName='rcx-select__focus rcx-select__filter rcx-input-box--undecorated'\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tvalue={filter}\n\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\tsetFilter(e.currentTarget.value);\n\t\t\t\t\t}}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t),\n\t\t[placeholder, setFilter],\n\t);\n\n\treturn <PaginatedSelect placeholder={undefined} filter={filter} options={options} {...props} anchor={anchor} />;\n};\n\nexport default PaginatedSelectFiltered;\n","import { useStableCallback, useResizeObserver } from '@rocket.chat/fuselage-hooks';\nimport { useState, useRef, type ComponentType, type ReactNode, type MouseEvent, type CSSProperties } from 'react';\n\nimport { prevent } from '../../helpers/prevent';\nimport type { ElementProps } from '../../types/ElementProps';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Chip } from '../Chip';\nimport { FlexContainer, FlexItem } from '../Flex';\nimport { Icon } from '../Icon';\nimport { Margins } from '../Margins';\nimport { Option } from '../Option';\nimport { useVisible } from '../Options/useVisible';\nimport { OptionsPaginated } from '../OptionsPaginated';\nimport { PositionAnimated } from '../PositionAnimated';\nimport SelectAddon from '../Select/SelectAddon';\nimport SelectFocus from '../Select/SelectFocus';\n\nexport type PaginatedMultiSelectOption = {\n\tvalue: string | number;\n\tlabel: string;\n};\n\nexport type PaginatedMultiSelectProps = Omit<ElementProps<HTMLDivElement>, 'onChange'> & {\n\terror?: boolean;\n\tname?: string;\n\tdisabled?: boolean;\n\tfilter?: string;\n\toptions: PaginatedMultiSelectOption[];\n\twithTitle?: boolean;\n\tplaceholder?: string;\n\tendReached?: (start?: number, end?: number) => void;\n\tvalue?: PaginatedMultiSelectOption[];\n\tonChange: (values: PaginatedMultiSelectOption[]) => void;\n\trenderOptions?: ComponentType<{\n\t\twidth?: CSSProperties['width'];\n\t\tmultiple?: boolean;\n\t\tfilter?: string;\n\t\trole?: string;\n\t\toptions: PaginatedMultiSelectOption[];\n\t\tcursor: number;\n\t\tendReached?: (start?: number, end?: number) => void;\n\t\trenderItem?: ComponentType<{\n\t\t\trole?: string;\n\t\t\tlabel?: ReactNode;\n\t\t\ttitle?: string;\n\t\t\tselected?: boolean;\n\t\t\tindex?: number;\n\t\t\tfocus?: boolean;\n\t\t\tvalue?: string | number;\n\t\t\tonMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n\t\t}>;\n\t\tonSelect: (option: [unknown, string]) => void;\n\t\tonMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n\t}>;\n\trenderItem?: ComponentType<{\n\t\trole?: string;\n\t\tlabel?: ReactNode;\n\t\ttitle?: string;\n\t\tselected?: boolean;\n\t\tindex?: number;\n\t\tfocus?: boolean;\n\t\tvalue?: string | number;\n\t\tonMouseDown?: (e: MouseEvent<HTMLElement>) => void;\n\t}>;\n\tanchor?: any;\n};\n\nconst PaginatedMultiSelect = ({\n\twithTitle,\n\tvalue,\n\tfilter,\n\toptions = [],\n\terror,\n\tdisabled,\n\t'anchor': Anchor = SelectFocus,\n\tonChange = () => {},\n\tplaceholder,\n\t'renderOptions': OptionsComponent = OptionsPaginated,\n\trenderItem = Option,\n\tendReached,\n\tid,\n\t'aria-labelledby': ariaLabelledBy,\n\t'aria-describedby': ariaDescribedBy,\n\t'aria-invalid': ariaInvalid,\n\t...props\n}: PaginatedMultiSelectProps) => {\n\tconst [internalValue, setInternalValue] = useState(value || []);\n\n\tconst currentValue = value !== undefined ? value : internalValue;\n\n\tconst selectedOptions = options.filter((option) => currentValue.some((opt) => opt.value === option.value));\n\n\tconst [visible, hide, show] = useVisible();\n\n\tconst ref = useRef<HTMLInputElement>(null);\n\tconst { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n\tconst handleClick = useStableCallback(() => {\n\t\tif (visible === AnimatedVisibility.VISIBLE) {\n\t\t\treturn hide();\n\t\t}\n\t\tif (ref && ref.current) {\n\t\t\tref.current.focus();\n\t\t\treturn show();\n\t\t}\n\t});\n\n\tconst addOption = (value: unknown) => {\n\t\tconst option = options.find((opt) => opt.value === value);\n\t\tif (!option) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newValue = [...currentValue, option];\n\t\tsetInternalValue(newValue);\n\t\tonChange(newValue);\n\t};\n\n\tconst removeOption = (value: unknown) => {\n\t\tconst newValue = currentValue.filter((opt) => opt.value !== value);\n\n\t\tsetInternalValue(newValue);\n\t\tonChange(newValue);\n\t};\n\n\tconst toggleOption = (value: unknown) => {\n\t\tif (currentValue.some((opt) => opt.value === value)) {\n\t\t\tremoveOption(value);\n\t\t\treturn;\n\t\t}\n\n\t\taddOption(value);\n\t};\n\n\treturn (\n\t\t<Box\n\t\t\tis='div'\n\t\t\trcx-select\n\t\t\tclassName={[error && 'invalid', disabled && 'disabled']}\n\t\t\tonClick={handleClick}\n\t\t\tdisabled={disabled}\n\t\t\t{...props}\n\t\t\tref={containerRef}\n\t\t>\n\t\t\t<FlexItem grow={1}>\n\t\t\t\t<Margins inline='x4'>\n\t\t\t\t\t<FlexContainer>\n\t\t\t\t\t\t<Box is='div'>\n\t\t\t\t\t\t\t<Box is='div' display='flex' alignItems='center' flexWrap='wrap' margin='neg-x4' gap={8} role='listbox'>\n\t\t\t\t\t\t\t\t<Anchor\n\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\taria-haspopup='listbox'\n\t\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t\t\t\taria-invalid={ariaInvalid}\n\t\t\t\t\t\t\t\t\tonClick={show}\n\t\t\t\t\t\t\t\t\tonBlur={hide}\n\t\t\t\t\t\t\t\t\torder={1}\n\t\t\t\t\t\t\t\t\trcx-input-box--undecorated\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{placeholder ?? null}\n\t\t\t\t\t\t\t\t</Anchor>\n\n\t\t\t\t\t\t\t\t{selectedOptions.map(({ value, label }, index) => (\n\t\t\t\t\t\t\t\t\t<Chip\n\t\t\t\t\t\t\t\t\t\tkey={value ?? index}\n\t\t\t\t\t\t\t\t\t\tclassName='rcx-select__chip'\n\t\t\t\t\t\t\t\t\t\ttitle={withTitle ? label : undefined}\n\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\trole='option'\n\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tprevent(e);\n\t\t\t\t\t\t\t\t\t\t\tremoveOption(value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t</Chip>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</FlexContainer>\n\t\t\t\t</Margins>\n\t\t\t</FlexItem>\n\t\t\t<FlexItem grow={0} shrink={0}>\n\t\t\t\t<SelectAddon>\n\t\t\t\t\t<Icon name={visible === AnimatedVisibility.VISIBLE ? 'cross' : 'chevron-down'} size='x20' />\n\t\t\t\t</SelectAddon>\n\t\t\t</FlexItem>\n\t\t\t<PositionAnimated visible={visible} anchor={containerRef}>\n\t\t\t\t<OptionsComponent\n\t\t\t\t\twidth={borderBoxSize.inlineSize}\n\t\t\t\t\tonMouseDown={prevent}\n\t\t\t\t\tmultiple\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\trole='listbox'\n\t\t\t\t\toptions={options}\n\t\t\t\t\tcursor={-1}\n\t\t\t\t\tendReached={endReached}\n\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t\tonSelect={([value]) => {\n\t\t\t\t\t\ttoggleOption(value);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</PositionAnimated>\n\t\t</Box>\n\t);\n};\n\nexport default PaginatedMultiSelect;\n","import { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { InputEvent } from 'react';\n\nimport { FlexItem } from '../Flex';\nimport { Input, type InputProps } from '../InputBox';\nimport type { PaginatedMultiSelectProps } from './PaginatedMultiSelect';\nimport PaginatedMultiSelect from './PaginatedMultiSelect';\n\nexport type PaginatedMultiSelectFilteredProps = {\n\tsetFilter?: (value: string) => void;\n} & PaginatedMultiSelectProps;\n\nconst PaginatedMultiSelectFiltered = ({ filter, setFilter, options, placeholder, ...props }: PaginatedMultiSelectFilteredProps) => {\n\tconst anchor = useStableCallback(\n\t\t({ children: _children, filter, className, ...props }: InputProps<HTMLInputElement> & { filter?: string }) => (\n\t\t\t<FlexItem grow={1}>\n\t\t\t\t<Input\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tvalue={filter}\n\t\t\t\t\tonInput={(e: InputEvent<HTMLInputElement>) => setFilter?.(e.currentTarget.value)}\n\t\t\t\t\t{...props}\n\t\t\t\t\tclassName={['rcx-input-box--undecorated', className].filter(Boolean).join(' ')}\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t),\n\t);\n\n\treturn <PaginatedMultiSelect filter={filter} options={options} anchor={anchor} {...props} />;\n};\n\nexport default PaginatedMultiSelectFiltered;\n","import type { Dispatch, HTMLAttributes, SetStateAction } from 'react';\nimport { useId, useMemo } from 'react';\n\nimport { Chevron } from '../Chevron';\n\nexport type ItemsPerPage = 25 | 50 | 100;\n\nexport type PaginationProps = {\n\tcount: number;\n\tcurrent?: number;\n\tdivider?: boolean;\n\titemsPerPage?: ItemsPerPage;\n\titemsPerPageLabel?: (context: { count: number; current: number; itemsPerPage: ItemsPerPage }) => string;\n\tshowingResultsLabel?: (context: { count: number; current: number; itemsPerPage: ItemsPerPage }) => string;\n\tonSetCurrent?: Dispatch<SetStateAction<number>>;\n\tonSetItemsPerPage?: Dispatch<SetStateAction<ItemsPerPage>>;\n} & HTMLAttributes<HTMLElement>;\n\nconst defaultItemsPerPageLabel = () => 'Items per page:';\n\nconst defaultShowingResultsLabel = ({ count, current, itemsPerPage }: { count: number; current: number; itemsPerPage: ItemsPerPage }) =>\n\t`Showing results ${current + 1} - ${Math.min(current + itemsPerPage, count)} of ${count}`;\n\nconst itemsPerPageOptions = [25, 50, 100] as const;\n\nconst Pagination = ({\n\tcount,\n\tcurrent = 0,\n\titemsPerPage = 25,\n\titemsPerPageLabel = defaultItemsPerPageLabel,\n\tshowingResultsLabel = defaultShowingResultsLabel,\n\tonSetItemsPerPage,\n\tonSetCurrent,\n\tdivider,\n\t...props\n}: PaginationProps) => {\n\tconst paginationResultLabelId = useId();\n\tconst itemsPerPageLabelId = useId();\n\n\tconst hasItemsPerPageSelection = itemsPerPageOptions.length > 1;\n\tconst currentPage = Math.floor(current / itemsPerPage);\n\tconst pages = Math.ceil(count / itemsPerPage);\n\tconst displayedPages = useMemo(() => {\n\t\tif (pages <= 7) {\n\t\t\t// 0 1 2 3 4 5 6\n\t\t\treturn Array.from({ length: pages }, (_, i) => i);\n\t\t}\n\n\t\tif (currentPage < 5) {\n\t\t\t// 0 1 2 3 4 ... N\n\t\t\treturn [0, 1, 2, 3, 4, '⋯', pages - 1];\n\t\t}\n\n\t\tif (currentPage > pages - 5) {\n\t\t\t// 0 ... N-4 N-3 N-2 N-1 N\n\t\t\treturn [0, '⋯', pages - 5, pages - 4, pages - 3, pages - 2, pages - 1];\n\t\t}\n\n\t\t// 0 ... x-1 x x-2 ... N\n\t\treturn [0, '⋯', currentPage - 1, currentPage, currentPage + 1, '⋯', pages - 1];\n\t}, [pages, currentPage]);\n\n\tconst renderingContext = { count, pages, current, currentPage, itemsPerPage };\n\n\tconst handleSetItemsPerPageLinkClick = (itemsPerPageOption: ItemsPerPage) => () => {\n\t\tonSetItemsPerPage?.(itemsPerPageOption);\n\t};\n\n\tconst handleSetPageLinkClick = (page: number) => () => {\n\t\tonSetCurrent?.(page * itemsPerPage);\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={['rcx-box rcx-box--full rcx-pagination', divider && 'rcx-pagination--divider'].filter(Boolean).join(' ')}\n\t\t\taria-label='Pagination Navigation'\n\t\t\t{...props}\n\t\t>\n\t\t\t{hasItemsPerPageSelection && (\n\t\t\t\t<div className='rcx-pagination__left'>\n\t\t\t\t\t<span className='rcx-pagination__label' id={itemsPerPageLabelId}>\n\t\t\t\t\t\t{itemsPerPageLabel(renderingContext)}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ol className='rcx-box rcx-box--full rcx-pagination__list' aria-labelledby={itemsPerPageLabelId}>\n\t\t\t\t\t\t{itemsPerPageOptions.map((itemsPerPageOption) => (\n\t\t\t\t\t\t\t<li key={itemsPerPageOption} className='rcx-pagination__list-item'>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclassName='rcx-box rcx-box--full rcx-pagination__link'\n\t\t\t\t\t\t\t\t\ttabIndex={itemsPerPage === itemsPerPageOption ? -1 : 0}\n\t\t\t\t\t\t\t\t\tdisabled={itemsPerPage === itemsPerPageOption}\n\t\t\t\t\t\t\t\t\taria-label={`Show ${itemsPerPageOption} items per page`}\n\t\t\t\t\t\t\t\t\tonClick={handleSetItemsPerPageLinkClick(itemsPerPageOption)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{itemsPerPageOption}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ol>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className='rcx-pagination__right'>\n\t\t\t\t<span className='rcx-pagination__label' id={paginationResultLabelId}>\n\t\t\t\t\t{showingResultsLabel(renderingContext)}\n\t\t\t\t</span>\n\t\t\t\t<ol className='rcx-box rcx-box--full rcx-pagination__list' aria-labelledby={paginationResultLabelId}>\n\t\t\t\t\t<li className='rcx-pagination__list-item'>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName='rcx-box rcx-box--full rcx-pagination__back'\n\t\t\t\t\t\t\tdisabled={currentPage === 0}\n\t\t\t\t\t\t\taria-label='Previous page'\n\t\t\t\t\t\t\tonClick={handleSetPageLinkClick(currentPage - 1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Chevron left size='x16' />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t\t{displayedPages.map((page, i) => (\n\t\t\t\t\t\t<li key={i} className='rcx-pagination__list-item'>\n\t\t\t\t\t\t\t{page === '⋯' ? (\n\t\t\t\t\t\t\t\t'⋯'\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclassName='rcx-box rcx-box--full rcx-pagination__link'\n\t\t\t\t\t\t\t\t\tdisabled={currentPage === page}\n\t\t\t\t\t\t\t\t\taria-label={`Page ${Number(page) + 1}`}\n\t\t\t\t\t\t\t\t\tonClick={handleSetPageLinkClick(Number(page))}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{Number(page) + 1}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t\t<li className='rcx-pagination__list-item'>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName='rcx-box rcx-box--full rcx-pagination__forward'\n\t\t\t\t\t\t\tdisabled={currentPage === pages - 1}\n\t\t\t\t\t\t\taria-label='Next page'\n\t\t\t\t\t\t\tonClick={handleSetPageLinkClick(currentPage + 1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Chevron right size='x16' />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t</ol>\n\t\t\t</div>\n\t\t</nav>\n\t);\n};\n\nexport default Pagination;\n","export const convertToCss = (values: Record<string, string>, prefix: string, selector = ':root') =>\n\t`${selector} {\\n${Object.entries(values)\n\t\t.map(([name, color]) => `${prefix}-${name}: ${color};`)\n\t\t.join('\\n')}\\n}`;\n","import { useMemo } from 'react';\n\nimport { useOwnerDocument } from '../../../contexts';\n\nexport const useCreateStyleContainer = (id: string) => {\n\tconst { document: ownerDocument } = useOwnerDocument();\n\treturn useMemo(() => {\n\t\tconst refElement = ownerDocument.getElementById('rcx-styles') || ownerDocument.head.lastChild;\n\n\t\tconst el = ownerDocument.getElementById(id);\n\n\t\tif (el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tconst styleElement = ownerDocument.createElement('style');\n\t\tstyleElement.setAttribute('id', id);\n\n\t\townerDocument.head.insertBefore(styleElement, refElement);\n\t\townerDocument.head.appendChild(ownerDocument.createElement('style'));\n\t\treturn styleElement;\n\t}, [id, ownerDocument]);\n};\n","import badge from '@rocket.chat/fuselage-tokens/dist/badge.json';\nimport button from '@rocket.chat/fuselage-tokens/dist/button.json';\nimport font from '@rocket.chat/fuselage-tokens/dist/font.json';\nimport shadow from '@rocket.chat/fuselage-tokens/dist/shadow.json';\nimport status from '@rocket.chat/fuselage-tokens/dist/status.json';\nimport statusBullet from '@rocket.chat/fuselage-tokens/dist/statusBullet.json';\nimport stroke from '@rocket.chat/fuselage-tokens/dist/stroke.json';\nimport surface from '@rocket.chat/fuselage-tokens/dist/surface.json';\n\nimport type { Themes } from '../types/themes';\n\nexport const getTokens = (theme: Themes) => {\n\tconst tokens = {\n\t\tbadge: badge[theme],\n\t\tbutton: button[theme],\n\t\tfont: font[theme],\n\t\tshadow: shadow[theme],\n\t\tstatus: status[theme],\n\t\tstatusBullet: statusBullet[theme],\n\t\tstroke: stroke[theme],\n\t\tsurface: surface[theme],\n\t};\n\n\treturn tokens;\n};\n\nexport const getThemePalette = (theme: Themes) => {\n\tconst { badge, button, font, shadow, status, statusBullet, stroke, surface } = getTokens(theme);\n\n\tconst palette = [\n\t\t{\n\t\t\tcategory: 'Stroke',\n\t\t\tdescription: \"Use as component's outline, stroke, dividers\",\n\t\t\tlist: [\n\t\t\t\t{ name: 'stroke-extra-light', color: stroke.extraLight },\n\t\t\t\t{ name: 'stroke-light', color: stroke.light },\n\t\t\t\t{ name: 'stroke-medium', color: stroke.medium },\n\t\t\t\t{ name: 'stroke-dark', color: stroke.dark },\n\t\t\t\t{ name: 'stroke-extra-dark', color: stroke.extraDark },\n\t\t\t\t{\n\t\t\t\t\tname: 'stroke-extra-light-highlight',\n\t\t\t\t\tcolor: stroke.extraLightHighlight,\n\t\t\t\t},\n\t\t\t\t{ name: 'stroke-highlight', color: stroke.highlight },\n\t\t\t\t{ name: 'stroke-extra-light-error', color: stroke.extraLightError },\n\t\t\t\t{ name: 'stroke-error', color: stroke.error },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Surface',\n\t\t\tdescription: 'Use as a container on top of the background',\n\t\t\tlist: [\n\t\t\t\t{ name: 'surface-light', color: surface.light },\n\t\t\t\t{ name: 'surface-tint', color: surface.tint },\n\t\t\t\t{ name: 'surface-room', color: surface.room },\n\t\t\t\t{ name: 'surface-neutral', color: surface.neutral },\n\t\t\t\t{ name: 'surface-disabled', color: surface.disabled },\n\t\t\t\t{ name: 'surface-hover', color: surface.hover },\n\t\t\t\t{ name: 'surface-selected', color: surface.selected },\n\t\t\t\t{ name: 'surface-dark', color: surface.dark },\n\t\t\t\t{ name: 'surface-featured', color: surface.featured },\n\t\t\t\t{ name: 'surface-featured-hover', color: surface.featuredHover },\n\t\t\t\t{ name: 'surface-overlay', color: surface.overlay },\n\t\t\t\t{ name: 'surface-sidebar', color: surface.sidebar },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Shadow',\n\t\t\tdescription: 'Use as a shadow color',\n\t\t\tlist: [\n\t\t\t\t{ name: 'shadow-highlight', color: shadow.highlight },\n\t\t\t\t{ name: 'shadow-danger', color: shadow.danger },\n\t\t\t\t{ name: 'shadow-elevation-border', color: shadow['elevation-border'] },\n\t\t\t\t{ name: 'shadow-elevation-1', color: shadow['elevation-1'] },\n\t\t\t\t{\n\t\t\t\t\tname: 'shadow-elevation-2x',\n\t\t\t\t\tcolor: shadow['elevation-2x'],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'shadow-elevation-2y',\n\t\t\t\t\tcolor: shadow['elevation-2y'],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Font',\n\t\t\tdescription: 'These should be applied according to surfaces',\n\t\t\tlist: [\n\t\t\t\t{ name: 'font-white', color: font.white },\n\t\t\t\t{ name: 'font-disabled', color: font.disabled },\n\t\t\t\t{ name: 'font-annotation', color: font.annotation },\n\t\t\t\t{ name: 'font-hint', color: font.hint },\n\t\t\t\t{ name: 'font-secondary-info', color: font.secondaryInfo },\n\t\t\t\t{ name: 'font-default', color: font.default },\n\t\t\t\t{ name: 'font-titles-labels', color: font.titlesLabels },\n\t\t\t\t{ name: 'font-info', color: font.info },\n\t\t\t\t{ name: 'font-danger', color: font.danger },\n\t\t\t\t{ name: 'font-pure-black', color: font.pureBlack },\n\t\t\t\t{ name: 'font-pure-white', color: font.pureWhite },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Status',\n\t\t\tdescription: 'Status Background',\n\t\t\tlist: [\n\t\t\t\t{ name: 'status-background-info', color: status.info },\n\t\t\t\t{ name: 'status-background-success', color: status.success },\n\t\t\t\t{ name: 'status-background-danger', color: status.danger },\n\t\t\t\t{ name: 'status-background-warning', color: status.warning },\n\t\t\t\t{ name: 'status-background-warning-2', color: status['warning-2'] },\n\t\t\t\t{\n\t\t\t\t\tname: 'status-background-service-1',\n\t\t\t\t\tcolor: status['service-1'],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'status-background-service-2',\n\t\t\t\t\tcolor: status['service-2'],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'status-background-service-3',\n\t\t\t\t\tcolor: status['service-3'],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdescription: 'Status Font',\n\t\t\tlist: [\n\t\t\t\t{ name: 'status-font-on-info', color: status['font-on-info'] },\n\t\t\t\t{ name: 'status-font-on-success', color: status['font-on-success'] },\n\t\t\t\t{ name: 'status-font-on-danger', color: status['font-on-danger'] },\n\t\t\t\t{ name: 'status-font-on-warning', color: status['font-on-warning'] },\n\t\t\t\t{\n\t\t\t\t\tname: 'status-font-on-warning-2',\n\t\t\t\t\tcolor: status['font-on-warning-2'],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'status-font-on-service-1',\n\t\t\t\t\tcolor: status['font-on-service-1'],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'status-font-on-service-2 ',\n\t\t\t\t\tcolor: status['font-on-service-2'],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'status-font-on-service-3 ',\n\t\t\t\t\tcolor: status['font-on-service-3'],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Badge',\n\t\t\tdescription: 'Badge Background',\n\t\t\tlist: [\n\t\t\t\t{ name: 'badge-background-level-0', color: badge['level-0'] },\n\t\t\t\t{ name: 'badge-background-level-1', color: badge['level-1'] },\n\t\t\t\t{ name: 'badge-background-level-2', color: badge['level-2'] },\n\t\t\t\t{ name: 'badge-background-level-3', color: badge['level-3'] },\n\t\t\t\t{ name: 'badge-background-level-4', color: badge['level-4'] },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Status Bullet',\n\t\t\tdescription: 'Used to show user status',\n\t\t\tlist: [\n\t\t\t\t{ name: 'status-bullet-online', color: statusBullet.online },\n\t\t\t\t{ name: 'status-bullet-away', color: statusBullet.away },\n\t\t\t\t{ name: 'status-bullet-busy', color: statusBullet.busy },\n\t\t\t\t{ name: 'status-bullet-disabled', color: statusBullet.disabled },\n\t\t\t\t{ name: 'status-bullet-offline', color: statusBullet.offline },\n\t\t\t\t{ name: 'status-bullet-loading', color: statusBullet.loading },\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tcategory: 'Button',\n\t\t\tdescription: 'Primary Background',\n\t\t\tlist: [\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-primary-default',\n\t\t\t\t\tcolor: button.backgroundPrimaryDefault,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-primary-hover',\n\t\t\t\t\tcolor: button.backgroundPrimaryHover,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-primary-press',\n\t\t\t\t\tcolor: button.backgroundPrimaryPress,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-primary-focus',\n\t\t\t\t\tcolor: button.backgroundPrimaryFocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-primary-keyfocus',\n\t\t\t\t\tcolor: button.backgroundPrimaryKeyfocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-primary-disabled',\n\t\t\t\t\tcolor: button.backgroundPrimaryDisabled,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdescription: 'Secondary Background',\n\t\t\tlist: [\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-default',\n\t\t\t\t\tcolor: button.backgroundSecondaryDefault,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-hover',\n\t\t\t\t\tcolor: button.backgroundSecondaryHover,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-press',\n\t\t\t\t\tcolor: button.backgroundSecondaryPress,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-focus',\n\t\t\t\t\tcolor: button.backgroundSecondaryFocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-keyfocus',\n\t\t\t\t\tcolor: button.backgroundSecondaryKeyfocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-disabled',\n\t\t\t\t\tcolor: button.backgroundSecondaryDisabled,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdescription: 'Secondary Danger Background',\n\t\t\tlist: [\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-danger-default',\n\t\t\t\t\tcolor: button.backgroundSecondaryDangerDefault,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-danger-hover',\n\t\t\t\t\tcolor: button.backgroundSecondaryDangerHover,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-danger-press',\n\t\t\t\t\tcolor: button.backgroundSecondaryDangerPress,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-danger-focus',\n\t\t\t\t\tcolor: button.backgroundSecondaryDangerFocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-danger-keyfocus',\n\t\t\t\t\tcolor: button.backgroundSecondaryDangerKeyfocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-secondary-danger-disabled',\n\t\t\t\t\tcolor: button.backgroundDangerDisabled,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdescription: 'Danger Background',\n\t\t\tlist: [\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-danger-default',\n\t\t\t\t\tcolor: button.backgroundDangerDefault,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-danger-hover',\n\t\t\t\t\tcolor: button.backgroundDangerHover,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-danger-press',\n\t\t\t\t\tcolor: button.backgroundDangerPress,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-danger-focus',\n\t\t\t\t\tcolor: button.backgroundDangerFocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-danger-keyfocus',\n\t\t\t\t\tcolor: button.backgroundDangerKeyfocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-danger-disabled',\n\t\t\t\t\tcolor: button.backgroundDangerDisabled,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdescription: 'Success Background',\n\t\t\tlist: [\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-success-default',\n\t\t\t\t\tcolor: button.backgroundSuccessDefault,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-success-hover',\n\t\t\t\t\tcolor: button.backgroundSuccessHover,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-success-press',\n\t\t\t\t\tcolor: button.backgroundSuccessPress,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-success-focus',\n\t\t\t\t\tcolor: button.backgroundSuccessFocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-success-keyfocus',\n\t\t\t\t\tcolor: button.backgroundSuccessKeyfocus,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-background-success-disabled',\n\t\t\t\t\tcolor: button.backgroundSuccessDisabled,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdescription: 'Font',\n\t\t\tlist: [\n\t\t\t\t{ name: 'button-font-on-primary', color: button.fontOnPrimary },\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-primary-disabled',\n\t\t\t\t\tcolor: button.fontOnPrimaryDisabled,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-secondary',\n\t\t\t\t\tcolor: button.fontOnSecondary,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-secondary-disabled',\n\t\t\t\t\tcolor: button.fontOnSecondaryDisabled,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-secondary-danger',\n\t\t\t\t\tcolor: button.fontOnSecondaryDanger,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-secondary-danger-disabled',\n\t\t\t\t\tcolor: button.onSecondaryDangerDisabled,\n\t\t\t\t},\n\t\t\t\t{ name: 'button-font-on-danger', color: button.fontOnDanger },\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-danger-disabled',\n\t\t\t\t\tcolor: button.fontOnDangerDisabled,\n\t\t\t\t},\n\t\t\t\t{ name: 'button-font-on-success', color: button.fontOnSuccess },\n\t\t\t\t{\n\t\t\t\t\tname: 'button-font-on-success-disabled',\n\t\t\t\t\tcolor: button.fontOnSuccessDisabled,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n\n\treturn {\n\t\t...palette.reduce(\n\t\t\t(rec, group) => ({\n\t\t\t\t...rec,\n\t\t\t\t...group.list.reduce(\n\t\t\t\t\t(rec, item) => ({\n\t\t\t\t\t\t...rec,\n\t\t\t\t\t\t[item.name]: item.color,\n\t\t\t\t\t}),\n\t\t\t\t\t{} as Record<string, string>,\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{} as Record<string, string>,\n\t\t),\n\t};\n};\n","import { getThemePalette } from '../helpers/getPalette';\n\nexport const light = getThemePalette('light');\nexport const highContrast = getThemePalette('high-contrast');\nexport const dark = getThemePalette('dark');\n","import { memo } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { convertToCss } from './helpers/convertToCss';\nimport { useCreateStyleContainer } from './hooks/useCreateStyleContainer';\nimport { dark, highContrast, light } from './lib/themePalettes';\nimport type { Themes } from './types/themes';\n\nconst themes = {\n\tlight,\n\tdark,\n\t'high-contrast': highContrast,\n};\n\nexport type PaletteStyleTagProps = {\n\ttheme?: Themes;\n\t/**\n\t * Default is `main-palette`.\n\t */\n\ttagId?: string;\n\t/**\n\t * Token prefix. Default is `--rcx-color`.\n\t */\n\tprefix?: string;\n\t/**\n\t * Default is `:root`.\n\t */\n\tselector?: string;\n\t/**\n\t * CSS containing custom palette styles to be used.\n\t */\n\tpalette?: string;\n};\n\n/**\n * Style tag to handle the theme of the application.\n *\n * Import `PaletteStyleTag` and use it on the application informing the desired theme.\n *\n * Toggle the theme on Storybook's Control panel to see the color changes.\n */\nfunction PaletteStyleTag({ theme = 'light', tagId = 'main-palette', prefix = '--rcx-color', selector, palette }: PaletteStyleTagProps) {\n\tconst themePalette = palette || convertToCss(themes[theme], prefix, selector);\n\n\treturn <>{createPortal(themePalette, useCreateStyleContainer(tagId))}</>;\n}\n\nexport default memo(PaletteStyleTag);\n","import { useToggle } from '@rocket.chat/fuselage-hooks';\n\nimport { Icon } from '../Icon';\nimport { InputBox, type InputBoxProps } from '../InputBox';\n\n// TODO: fix a11y issues\n\nexport type PasswordInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\nfunction PasswordInput(props: PasswordInputProps) {\n\tconst [hidden, toggle] = useToggle(true);\n\tconst handleAddonClick = () => {\n\t\ttoggle();\n\t};\n\n\treturn (\n\t\t<InputBox\n\t\t\ttype={hidden ? 'password' : 'text'}\n\t\t\tendAddon={<Icon name={hidden ? 'eye-off' : 'eye'} size={20} onClick={handleAddonClick} />}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default PasswordInput;\n","import type { AllHTMLAttributes, RefAttributes } from 'react';\n\nimport { Box } from '../Box';\n\nconst getWidth = (percentage: number): string => `${Math.min(Math.max(0, percentage), 100).toFixed(1)}%`;\n\nconst colors = {\n\tinfo: 'status-font-on-info',\n\tsuccess: 'status-font-on-success',\n\twarning: 'status-font-on-warning',\n\tdanger: 'status-font-on-danger',\n};\nconst lightColors = {\n\tinfo: 'status-background-info',\n\tsuccess: 'status-background-success',\n\twarning: 'status-background-warning',\n\tdanger: 'status-background-danger',\n};\n\nconst getColor = (isLight: boolean, variant: 'info' | 'success' | 'warning' | 'danger', error?: string) => {\n\tif (error) {\n\t\treturn isLight ? lightColors.danger : colors.danger;\n\t}\n\treturn isLight ? lightColors[variant] : colors[variant];\n};\n\nexport type ProgressBarProps = RefAttributes<unknown> & {\n\tpercentage: number;\n\tvariant?: 'info' | 'success' | 'warning' | 'danger';\n\terror?: string;\n\tanimated?: boolean;\n\tlight?: boolean;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\n/**\n * The `ProgressBar` is used to inform the user the progress of an operation.\n */\nfunction ProgressBar({ percentage, variant = 'info', error, animated, light = false, ...props }: ProgressBarProps) {\n\treturn (\n\t\t<Box rcx-progress-bar title={error || undefined} overflow='hidden' {...props}>\n\t\t\t<Box\n\t\t\t\tbackgroundColor={getColor(light, variant, error)}\n\t\t\t\trcx-progress-bar__fill--animated={animated}\n\t\t\t\trcx-progress-bar__fill\n\t\t\t\twidth={getWidth(percentage)}\n\t\t\t/>\n\t\t</Box>\n\t);\n}\n\nexport default ProgressBar;\n","import type { InputHTMLAttributes, ReactNode } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type RadioButtonProps = ElementProps<HTMLInputElement, InputHTMLAttributes<HTMLInputElement>> & {\n\tlabelChildren?: ReactNode;\n};\n\nfunction RadioButton({ className, labelChildren, ...props }: RadioButtonProps) {\n\treturn (\n\t\t<Box is='label' className={className} rcx-radio-button>\n\t\t\t{labelChildren}\n\t\t\t<Box is='input' rcx-radio-button__input type='radio' {...props} />\n\t\t\t<Box is='i' rcx-radio-button__fake aria-hidden='true' />\n\t\t</Box>\n\t);\n}\n\nexport default RadioButton;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type SearchInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\n/**\n * An input for search queries.\n */\nfunction SearchInput(props: SearchInputProps) {\n\treturn <InputBox type='search' {...props} />;\n}\n\nexport default SearchInput;\n","import { useMergedRefs, useStableCallback, useResizeObserver, useOutsideClick } from '@rocket.chat/fuselage-hooks';\nimport type { DependencyList, ElementType, RefAttributes } from 'react';\nimport { useState, useRef, useEffect, useMemo } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Icon, type IconProps } from '../Icon';\nimport type { OptionType } from '../Options';\nimport { Options, useCursor } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\nimport SelectAddon from './SelectAddon';\nimport SelectFocus from './SelectFocus';\n\nexport type SelectOption = readonly [value: string, label: string, selected?: boolean];\n\nconst useDidUpdate = (func: () => void, deps: DependencyList | undefined) => {\n\tconst didMount = useRef(false);\n\tconst fn = useStableCallback(func);\n\n\tuseEffect(() => {\n\t\tif (didMount.current) {\n\t\t\tfn();\n\t\t}\n\t\tdidMount.current = true;\n\t}, deps || []);\n};\n\nexport type SelectProps = Omit<ElementProps<HTMLDivElement>, 'ref' | 'onChange'> &\n\tRefAttributes<HTMLInputElement> & {\n\t\tvalue?: string | number;\n\t\tname?: string;\n\t\tdisabled?: boolean;\n\t\tplaceholder?: string;\n\t\tanchor?: ElementType;\n\t\terror?: string;\n\t\toptions: SelectOption[];\n\t\tonChange: (value: SelectOption[0]) => void;\n\t\tgetLabel?: (params: SelectOption) => SelectOption[1];\n\t\tgetValue?: (params: SelectOption) => SelectOption[0];\n\t\tfilter?: string;\n\t\trenderOptions?: ElementType;\n\t\trenderItem?: ElementType;\n\t\trenderSelected?: ElementType;\n\t\tcustomEmpty?: string;\n\t\taddonIcon?: IconProps['name'];\n\t};\n\nfunction SelectLegacy({\n\tref,\n\tvalue,\n\tfilter,\n\terror,\n\tdisabled,\n\toptions = [],\n\t'anchor': Anchor = SelectFocus,\n\tonChange = () => {},\n\tgetValue = ([value] = ['', '']) => value,\n\tgetLabel = ([, label] = ['', '']) => label,\n\tplaceholder = '',\n\trenderItem,\n\t'renderSelected': RenderSelected,\n\t'renderOptions': _Options = Options,\n\taddonIcon,\n\tcustomEmpty,\n\tid,\n\t'aria-labelledby': ariaLabelledBy,\n\t'aria-describedby': ariaDescribedBy,\n\t'aria-invalid': ariaInvalid,\n\t...props\n}: SelectProps) {\n\tconst [internalValue, setInternalValue] = useState(value || '');\n\n\tconst internalChangedByKeyboard = useStableCallback(([value]: OptionType) => {\n\t\tsetInternalValue(value);\n\t\tonChange(value as SelectOption[0]); // FIXME\n\t});\n\n\tconst option = options.find((option) => getValue(option) === internalValue) as SelectOption;\n\n\tconst index = options.indexOf(option);\n\n\tconst filteredOptions = useMemo<OptionType[]>((): OptionType[] => {\n\t\tconst mapOptions = ([value, label]: SelectOption): OptionType => {\n\t\t\tif (internalValue === value) {\n\t\t\t\treturn [value, label, true];\n\t\t\t}\n\t\t\treturn [value, label];\n\t\t};\n\n\t\tconst applyFilter = ([, option]: SelectOption) => !filter || ~option.toLowerCase().indexOf(filter.toLowerCase());\n\n\t\treturn options.filter(applyFilter).map(mapOptions);\n\t}, [options, internalValue, filter]);\n\n\tconst [cursor, handleKeyDown, handleKeyUp, reset, [visible, hide, show]] = useCursor(index, filteredOptions, internalChangedByKeyboard);\n\n\tconst innerRef = useRef<HTMLInputElement | null>(null);\n\tconst anchorRef = useMergedRefs(ref, innerRef);\n\n\tconst removeFocusClass = () => innerRef.current?.classList.remove('focus-visible');\n\n\tconst internalChangedByClick = useStableCallback(([value]: OptionType) => {\n\t\tsetInternalValue(value);\n\t\tonChange(value as SelectOption[0]); // FIXME\n\t\tremoveFocusClass();\n\t\thide();\n\t});\n\n\tconst { ref: containerRef, borderBoxSize } = useResizeObserver();\n\n\tuseDidUpdate(reset, [filter, internalValue]);\n\tuseOutsideClick([containerRef], removeFocusClass);\n\n\tconst valueLabel = getLabel(option);\n\n\tconst visibleText =\n\t\t(filter === undefined || visible === AnimatedVisibility.HIDDEN) && (valueLabel || placeholder || typeof placeholder === 'string');\n\n\tconst handleClick = useStableCallback(() => {\n\t\tif (innerRef.current?.classList.contains('focus-visible')) {\n\t\t\tremoveFocusClass();\n\t\t\treturn hide();\n\t\t}\n\n\t\tinnerRef.current?.classList.add('focus-visible');\n\t\tinnerRef.current?.focus();\n\t\treturn show();\n\t});\n\n\treturn (\n\t\t<Box\n\t\t\tanimated\n\t\t\trcx-select\n\t\t\tdisabled={disabled}\n\t\t\tref={containerRef}\n\t\t\tonClick={handleClick}\n\t\t\tclassName={useMemo(() => [error && 'invalid', disabled && 'disabled'], [error, disabled])}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Box is='div' rcx-select__wrapper display='flex' marginInline='neg-x4' rcx-select__wrapper--hidden={!!visibleText}>\n\t\t\t\t{visibleText &&\n\t\t\t\t\t(RenderSelected ? (\n\t\t\t\t\t\t<RenderSelected\n\t\t\t\t\t\t\trole='option'\n\t\t\t\t\t\t\tvalue={getValue(option)}\n\t\t\t\t\t\t\tlabel={valueLabel}\n\t\t\t\t\t\t\tkey={getValue(option)}\n\t\t\t\t\t\t\tonClick={internalChangedByClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Box flexGrow={1} is='span' marginInline={4} rcx-select__item fontScale='p2' color={valueLabel ? 'titles-labels' : 'hint'}>\n\t\t\t\t\t\t\t{visibleText}\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t))}\n\t\t\t\t<Anchor\n\t\t\t\t\tref={anchorRef}\n\t\t\t\t\tid={id}\n\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\taria-invalid={ariaInvalid}\n\t\t\t\t\tdisabled={disabled ?? false}\n\t\t\t\t\tonClick={show}\n\t\t\t\t\tonBlur={hide}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\tonKeyUp={handleKeyUp}\n\t\t\t\t>\n\t\t\t\t\t{!value ? option || placeholder : null}\n\t\t\t\t</Anchor>\n\t\t\t\t<SelectAddon>\n\t\t\t\t\t<Icon name={visible === AnimatedVisibility.VISIBLE ? 'chevron-up' : addonIcon || 'chevron-down'} size='x20' />\n\t\t\t\t</SelectAddon>\n\t\t\t</Box>\n\t\t\t<PositionAnimated visible={visible} anchor={containerRef}>\n\t\t\t\t<_Options\n\t\t\t\t\twidth={borderBoxSize.inlineSize}\n\t\t\t\t\trole='listbox'\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\toptions={filteredOptions}\n\t\t\t\t\tonSelect={internalChangedByClick}\n\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t\tcursor={cursor}\n\t\t\t\t\tcustomEmpty={customEmpty}\n\t\t\t\t/>\n\t\t\t</PositionAnimated>\n\t\t</Box>\n\t);\n}\n\nexport default SelectLegacy;\n","import { useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport { useRef } from 'react';\n\nconst findMatch = (labels: readonly string[], query: string, start: number) => {\n\tfor (let offset = 0; offset < labels.length; offset++) {\n\t\tconst index = (start + offset) % labels.length;\n\n\t\tif (labels[index]?.toLocaleLowerCase().startsWith(query)) {\n\t\t\treturn index;\n\t\t}\n\t}\n\n\treturn -1;\n};\n\n/**\n * Hook that finds the option a user means by typing the start of its label.\n *\n * Characters typed within `timeout` of each other build up one query; typing the same character again\n * cycles through the options that start with it.\n *\n * @param timeout - the pause, in milliseconds, after which typing starts a new query\n * @returns `search`, a stable function that takes the typed character, the option labels and the index of the current option,\n * and returns the index of the matching option, or -1; `isSearching`, which tells whether a query is still being typed,\n * so a space can extend it instead of acting on the option; and `reset`, which drops the query once the interaction ends\n */\nexport const useTypeahead = (timeout = 500) => {\n\tconst queryRef = useRef('');\n\tconst lastTypedAtRef = useRef(0);\n\n\tconst isSearching = useStableCallback(() => queryRef.current !== '' && Date.now() - lastTypedAtRef.current <= timeout);\n\n\tconst search = useStableCallback((character: string, labels: readonly string[], current: number): number => {\n\t\tconst now = Date.now();\n\n\t\tif (now - lastTypedAtRef.current > timeout) {\n\t\t\tqueryRef.current = '';\n\t\t}\n\n\t\tlastTypedAtRef.current = now;\n\t\tqueryRef.current += character.toLocaleLowerCase();\n\n\t\tconst query = queryRef.current;\n\t\tconst isRepeatedCharacter = [...query].every((typed) => typed === query[0]);\n\n\t\tif (query.length > 1 && !isRepeatedCharacter) {\n\t\t\treturn findMatch(labels, query, Math.max(current, 0));\n\t\t}\n\n\t\treturn findMatch(labels, query[0] ?? '', current + 1);\n\t});\n\n\tconst reset = useStableCallback(() => {\n\t\tqueryRef.current = '';\n\t});\n\n\treturn { search, isSearching, reset };\n};\n","import { useActiveDescendant, useMergedRefs, useResizeObserver, useStableCallback } from '@rocket.chat/fuselage-hooks';\nimport type { AllHTMLAttributes, FocusEvent, KeyboardEvent, Key, MouseEvent, PointerEvent, RefAttributes } from 'react';\nimport { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport { useOverlayTriggerState } from 'react-stately';\n\nimport { AnimatedVisibility } from '../AnimatedVisibility';\nimport { Box } from '../Box';\nimport { Icon } from '../Icon';\nimport { Listbox, ListboxOption } from '../Listbox';\nimport { OptionContainer } from '../Options';\nimport { PositionAnimated } from '../PositionAnimated';\nimport type { SelectOption } from './SelectLegacy';\nimport { useTypeahead } from './useTypeahead';\n\nexport type SelectProps<V extends Key = Key> = RefAttributes<HTMLElement> & {\n\t/** The selectable options, as `[value, label]` tuples. */\n\toptions: SelectOption[];\n\t/** The key of the selected option, which makes the select controlled. `null` selects nothing. */\n\tvalue?: V | null;\n\t/** The key of the option selected at first, when the select is not controlled. */\n\tdefaultSelectedKey?: V;\n\tonChange?: ((key: V) => any) | undefined;\n\tplaceholder?: string;\n\terror?: string;\n\tsmall?: boolean;\n\tdisabled?: boolean;\n\t/** Submits the selected key under this name with the surrounding form. */\n\tname?: string;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'value' | 'onChange' | 'defaultValue' | 'name' | 'disabled' | 'placeholder'>;\n\nconst PAGE_SIZE = 10;\n\nconst isTriggerProp = (name: string) =>\n\tname.startsWith('aria-') || name.startsWith('data-') || ['className', 'title', 'autoFocus', 'tabIndex'].includes(name);\n\nconst pickTriggerProps = (props: Record<string, unknown>) =>\n\tObject.fromEntries(Object.entries(props).filter(([name]) => isTriggerProp(name)));\n\nconst isPrintableCharacter = (event: KeyboardEvent) => event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey;\n\nconst getLabelText = (element: HTMLButtonElement | null) =>\n\tArray.from(element?.labels ?? [])\n\t\t.map((label) => label.textContent?.trim())\n\t\t.filter(Boolean)\n\t\t.join(' ') || undefined;\n\n/**\n * An input for selection of options: a button that opens a listbox of its options, named by a `label` pointing at its `id`\n * like any other input, or by `aria-label` or `aria-labelledby`.\n */\nfunction Select<V extends Key = Key>({\n\tref: outerRef,\n\toptions,\n\tvalue,\n\tdefaultSelectedKey,\n\tonChange,\n\tplaceholder,\n\terror,\n\tsmall,\n\tdisabled,\n\tname,\n\tid: idProp,\n\tonFocus,\n\tonBlur,\n\tonKeyDown,\n\t...props\n}: SelectProps<V>) {\n\tconst generatedId = useId();\n\tconst id = idProp ?? generatedId;\n\tconst listboxId = `${id}-listbox`;\n\tconst getOptionId = useCallback((index: number) => `${id}-option-${index}`, [id]);\n\n\tconst [uncontrolledValue, setUncontrolledValue] = useState<Key | null | undefined>(defaultSelectedKey);\n\tconst selectedKey = value !== undefined ? value : uncontrolledValue;\n\tconst selectedIndex = selectedKey === null || selectedKey === undefined ? -1 : options.findIndex(([key]) => key === String(selectedKey));\n\tconst selectedOption = options[selectedIndex];\n\n\tconst overlayState = useOverlayTriggerState({});\n\tconst { active, setActive, focusVisible, setFocusVisible, moveByKeyboard, moveByPointer } = useActiveDescendant<number>();\n\tconst { search: findByTypeahead, isSearching, reset: resetTypeahead } = useTypeahead();\n\n\tconst triggerRef = useRef<HTMLButtonElement>(null);\n\tconst { ref: resizeRef, borderBoxSize } = useResizeObserver<HTMLButtonElement>();\n\tconst mergedRef = useMergedRefs(outerRef, triggerRef, resizeRef);\n\n\tconst [listboxName, setListboxName] = useState<string>();\n\tconst [triggerFocusVisible, setTriggerFocusVisible] = useState(false);\n\n\tconst open = (index: number, byKeyboard: boolean) => {\n\t\tif (disabled || options.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetListboxName(getLabelText(triggerRef.current));\n\t\toverlayState.open();\n\n\t\tif (byKeyboard) {\n\t\t\tmoveByKeyboard(index);\n\t\t\treturn;\n\t\t}\n\n\t\tsetActive(index);\n\t\tsetFocusVisible(false);\n\t};\n\n\tconst close = () => {\n\t\toverlayState.close();\n\t\tsetActive(undefined);\n\t\tresetTypeahead();\n\t};\n\n\tconst select = (index: number) => {\n\t\tconst option = options[index];\n\t\tclose();\n\n\t\tif (!option || index === selectedIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetUncontrolledValue(option[0]);\n\t\tonChange?.(option[0] as V);\n\t};\n\n\tconst labels = options.map(([key, label]) => label ?? key);\n\tconst lastIndex = options.length - 1;\n\tconst activeIndex = active ?? -1;\n\tconst initialIndex = selectedIndex >= 0 ? selectedIndex : 0;\n\n\tconst handleKeyDown = useStableCallback((event: KeyboardEvent<HTMLButtonElement>) => {\n\t\tonKeyDown?.(event);\n\n\t\tif (event.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.key === ' ' && isSearching()) {\n\t\t\tevent.preventDefault();\n\t\t\tconst match = findByTypeahead(event.key, labels, overlayState.isOpen ? activeIndex : selectedIndex);\n\n\t\t\tif (match >= 0) {\n\t\t\t\tif (overlayState.isOpen) {\n\t\t\t\t\tmoveByKeyboard(match);\n\t\t\t\t} else {\n\t\t\t\t\topen(match, true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!overlayState.isOpen) {\n\t\t\tswitch (event.key) {\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\tcase 'Enter':\n\t\t\t\tcase ' ':\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\topen(initialIndex, true);\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'Home':\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\topen(0, true);\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'End':\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\topen(lastIndex, true);\n\t\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isPrintableCharacter(event)) {\n\t\t\t\tconst match = findByTypeahead(event.key, labels, selectedIndex);\n\n\t\t\t\tif (match >= 0) {\n\t\t\t\t\topen(match, true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmoveByKeyboard(Math.min(activeIndex + 1, lastIndex));\n\t\t\t\treturn;\n\n\t\t\tcase 'ArrowUp':\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (event.altKey) {\n\t\t\t\t\tselect(activeIndex);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tmoveByKeyboard(Math.max(activeIndex - 1, 0));\n\t\t\t\treturn;\n\n\t\t\tcase 'Home':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmoveByKeyboard(0);\n\t\t\t\treturn;\n\n\t\t\tcase 'End':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmoveByKeyboard(lastIndex);\n\t\t\t\treturn;\n\n\t\t\tcase 'PageDown':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmoveByKeyboard(Math.min(activeIndex + PAGE_SIZE, lastIndex));\n\t\t\t\treturn;\n\n\t\t\tcase 'PageUp':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tmoveByKeyboard(Math.max(activeIndex - PAGE_SIZE, 0));\n\t\t\t\treturn;\n\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselect(activeIndex);\n\t\t\t\treturn;\n\n\t\t\tcase 'Tab':\n\t\t\t\tselect(activeIndex);\n\t\t\t\treturn;\n\n\t\t\tcase 'Escape':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tclose();\n\t\t\t\treturn;\n\t\t}\n\n\t\tif (isPrintableCharacter(event)) {\n\t\t\tconst match = findByTypeahead(event.key, labels, activeIndex);\n\n\t\t\tif (match >= 0) {\n\t\t\t\tmoveByKeyboard(match);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst handleFocus = (event: FocusEvent<HTMLButtonElement>) => {\n\t\tsetTriggerFocusVisible(event.currentTarget.matches?.(':focus-visible') ?? false);\n\t\tonFocus?.(event);\n\t};\n\n\tconst handleBlur = (event: FocusEvent<HTMLButtonElement>) => {\n\t\tsetTriggerFocusVisible(false);\n\t\tclose();\n\t\tonBlur?.(event);\n\t};\n\n\t// Safari takes the focus off a pressed button, which would close the list before the click that toggles it.\n\tconst handleMouseDown = (event: MouseEvent<HTMLButtonElement>) => {\n\t\tif (overlayState.isOpen) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n\t\t// Safari does not focus a button on click, and the keyboard and the closing on blur need the focus here.\n\t\tevent.currentTarget.focus();\n\n\t\tif (overlayState.isOpen) {\n\t\t\tclose();\n\t\t\treturn;\n\t\t}\n\n\t\topen(initialIndex, false);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!overlayState.isOpen || active === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\ttriggerRef.current?.ownerDocument.getElementById(getOptionId(active))?.scrollIntoView?.({ block: 'nearest' });\n\t}, [overlayState.isOpen, active, getOptionId]);\n\n\tconst { isOpen } = overlayState;\n\n\treturn (\n\t\t<>\n\t\t\t{name !== undefined && (\n\t\t\t\t<input\n\t\t\t\t\ttype='hidden'\n\t\t\t\t\tname={name}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tvalue={selectedKey === null || selectedKey === undefined ? '' : String(selectedKey)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Box\n\t\t\t\t{...pickTriggerProps(props)}\n\t\t\t\tis='button'\n\t\t\t\ttype='button'\n\t\t\t\tref={mergedRef}\n\t\t\t\tid={id}\n\t\t\t\trole='combobox'\n\t\t\t\taria-haspopup='listbox'\n\t\t\t\taria-expanded={isOpen}\n\t\t\t\taria-controls={isOpen ? listboxId : undefined}\n\t\t\t\taria-activedescendant={isOpen && active !== undefined ? getOptionId(active) : undefined}\n\t\t\t\taria-invalid={props['aria-invalid'] ?? (error ? true : undefined)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tanimated\n\t\t\t\trcx-select\n\t\t\t\tdisplay='flex'\n\t\t\t\tflexDirection='row'\n\t\t\t\tfontScale='p2'\n\t\t\t\tjustifyContent='space-between'\n\t\t\t\trcx-input-box--small={small}\n\t\t\t\tclassName={[error && 'invalid', disabled && 'disabled', (triggerFocusVisible || isOpen) && 'focus', props.className]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(' ')}\n\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\tonFocus={handleFocus}\n\t\t\t\tonBlur={handleBlur}\n\t\t\t>\n\t\t\t\t<Box is='span' color={selectedOption ? 'titles-labels' : 'hint'} {...(small && { fontScale: 'c1' })}>\n\t\t\t\t\t{selectedOption ? (selectedOption[1] ?? selectedOption[0]) : placeholder}\n\t\t\t\t</Box>\n\t\t\t\t<Icon name={isOpen ? 'chevron-up' : 'chevron-down'} size='x20' />\n\t\t\t</Box>\n\t\t\t<PositionAnimated\n\t\t\t\tvisible={isOpen ? AnimatedVisibility.VISIBLE : AnimatedVisibility.HIDDEN}\n\t\t\t\tanchor={triggerRef}\n\t\t\t\tplacement='bottom-start'\n\t\t\t\tmargin={4}\n\t\t\t\tpreventScroll={isOpen}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\taria-hidden={!isOpen || undefined}\n\t\t\t\t\tstyle={isOpen ? undefined : { pointerEvents: 'none' }}\n\t\t\t\t\tonPointerDown={(event: PointerEvent) => event.preventDefault()}\n\t\t\t\t>\n\t\t\t\t\t<OptionContainer style={{ width: borderBoxSize?.inlineSize }}>\n\t\t\t\t\t\t<Listbox\n\t\t\t\t\t\t\tid={listboxId}\n\t\t\t\t\t\t\taria-labelledby={props['aria-labelledby']}\n\t\t\t\t\t\t\taria-label={props['aria-labelledby'] ? undefined : (props['aria-label'] ?? listboxName)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{options.map(([key, label], index) => (\n\t\t\t\t\t\t\t\t<ListboxOption\n\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\tid={getOptionId(index)}\n\t\t\t\t\t\t\t\t\tselected={index === selectedIndex}\n\t\t\t\t\t\t\t\t\tactive={index === active}\n\t\t\t\t\t\t\t\t\tfocusVisible={focusVisible}\n\t\t\t\t\t\t\t\t\tonActivate={() => moveByPointer(index)}\n\t\t\t\t\t\t\t\t\tonSelect={() => select(index)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{label ?? key}\n\t\t\t\t\t\t\t\t</ListboxOption>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Listbox>\n\t\t\t\t\t</OptionContainer>\n\t\t\t\t</Box>\n\t\t\t</PositionAnimated>\n\t\t</>\n\t);\n}\n\nexport default Select;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { createContext } from 'react';\n\nexport const SelectFilteredContext = createContext<{\n\tplaceholder?: string;\n\tfilter?: string;\n\tsetFilter?: Dispatch<SetStateAction<string>>;\n}>({});\n","import { use, type InputEvent } from 'react';\n\nimport { Input } from '../InputBox';\nimport type { SelectAnchorParams } from './SelectAnchorParams';\nimport { SelectFilteredContext } from './SelectFilteredContext';\n\ntype SelectFilteredAnchorProps = SelectAnchorParams;\n\nfunction SelectFilteredAnchor({ children: _children, ...props }: SelectFilteredAnchorProps) {\n\tconst { placeholder, filter, setFilter } = use(SelectFilteredContext);\n\n\treturn (\n\t\t<Input\n\t\t\tclassName='rcx-select__focus rcx-select__filter rcx-input-box--undecorated'\n\t\t\tplaceholder={placeholder}\n\t\t\tvalue={filter}\n\t\t\tonInput={(e: InputEvent<HTMLInputElement>) => setFilter?.(e.currentTarget.value)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default SelectFilteredAnchor;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\n\nimport type { IconProps } from '..';\nimport SelectFilteredAnchor from './SelectFilteredAnchor';\nimport { SelectFilteredContext } from './SelectFilteredContext';\nimport type { SelectProps } from './SelectLegacy';\nimport SelectLegacy from './SelectLegacy';\n\nexport type SelectFilteredProps = Omit<SelectProps, 'anchor'> & {\n\tfilter?: string;\n\tsetFilter?: Dispatch<SetStateAction<string>>;\n\taddonIcon?: IconProps['name'];\n};\n\nfunction SelectFiltered({ options, placeholder, filter: propFilter, setFilter: propSetFilter, ...props }: SelectFilteredProps) {\n\tconst [filter, setFilter] = useState('');\n\n\treturn (\n\t\t<SelectFilteredContext.Provider\n\t\t\tvalue={{\n\t\t\t\tplaceholder,\n\t\t\t\tfilter: propFilter || filter,\n\t\t\t\tsetFilter: propSetFilter || setFilter,\n\t\t\t}}\n\t\t>\n\t\t\t<SelectLegacy placeholder={placeholder} filter={propFilter || filter} options={options} {...props} anchor={SelectFilteredAnchor} />\n\t\t</SelectFilteredContext.Provider>\n\t);\n}\n\nexport default SelectFiltered;\n","import type { RefAttributes, HTMLAttributes } from 'react';\n\nexport type SidebarProps = HTMLAttributes<HTMLElement> &\n\tRefAttributes<HTMLElement> & {\n\t\tcollapsed?: boolean;\n\t};\n\nexport function Sidebar({ collapsed, className, ...props }: SidebarProps) {\n\treturn (\n\t\t<nav\n\t\t\tclassName={['rcx-box rcx-box--full rcx-sidebar', 'rcx-box--animated', collapsed && 'rcx-sidebar--collapsed', className]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' ')}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n","import type { HTMLAttributes } from 'react';\n\nexport type SidebarAccordionProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidebarAccordion = ({ className, children, ...props }: SidebarAccordionProps) => (\n\t<div className={['rcx-box rcx-box--full rcx-sidebar-accordion rcx-box--animated', className].filter(Boolean).join(' ')} {...props}>\n\t\t<div className='rcx-sidebar-accordion__wrapper'>{children}</div>\n\t</div>\n);\n\nexport default SidebarAccordion;\n","import { useToggle } from '@rocket.chat/fuselage-hooks';\nimport { useId, type KeyboardEventHandler, type MouseEvent } from 'react';\n\nconst hasPropExpanded = (expanded: boolean | undefined) => expanded !== undefined;\n\nexport const useCollapse = ({\n\texpanded: propExpanded,\n\tdefaultExpanded,\n\tdisabled,\n\tnoncollapsible,\n\ttabIndex = 0,\n}: {\n\texpanded?: boolean;\n\tdefaultExpanded?: boolean;\n\tdisabled?: boolean;\n\tnoncollapsible?: boolean;\n\ttabIndex?: number;\n}) => {\n\tconst [stateExpanded, toggleStateExpanded] = useToggle(defaultExpanded);\n\tconst expanded = hasPropExpanded(propExpanded) ? propExpanded : stateExpanded;\n\n\tconst panelExpanded = noncollapsible || expanded;\n\n\tconst titleId = useId();\n\tconst panelId = useId();\n\n\tconst handleClick = (e: MouseEvent<HTMLElement>) => {\n\t\tif (disabled) {\n\t\t\treturn;\n\t\t}\n\t\te.currentTarget?.blur();\n\t\ttoggleStateExpanded();\n\t};\n\n\tconst handleKeyDown: KeyboardEventHandler = (event) => {\n\t\tif (disabled || event.currentTarget !== event.target) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (['Enter', 'Space'].includes(event.code)) {\n\t\t\tevent.preventDefault();\n\n\t\t\tif (event.repeat) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttoggleStateExpanded();\n\t\t}\n\t};\n\n\tconst collapsibleProps = {\n\t\t'aria-controls': panelId,\n\t\t'aria-expanded': expanded ? 'true' : 'false',\n\t\t'tabIndex': !disabled ? tabIndex : undefined,\n\t\t'onClick': handleClick,\n\t\t'onKeyDown': handleKeyDown,\n\t} as const;\n\n\tconst nonCollapsibleProps = {\n\t\t'aria-disabled': 'true',\n\t\t'aria-expanded': 'true',\n\t\t'aria-labelledby': titleId,\n\t} as const;\n\n\tconst barProps = noncollapsible ? nonCollapsibleProps : collapsibleProps;\n\n\treturn { barProps, titleId, panelId, panelExpanded, expanded };\n};\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Chevron } from '../Chevron';\nimport { useCollapse } from './hooks/useCollapse';\n\nexport type SidebarAccordionItemProps = {\n\tchildren?: ReactNode;\n\tclassName?: string;\n\tdefaultExpanded?: boolean;\n\tdisabled?: boolean;\n\texpanded?: boolean;\n\ttitle: ReactNode;\n\tnoncollapsible?: boolean;\n\tbadge?: ReactNode;\n} & HTMLAttributes<HTMLElement>;\n\nconst SidebarAccordionItem = ({\n\tchildren,\n\ttitle,\n\tbadge,\n\tnoncollapsible,\n\tdisabled,\n\texpanded: propExpanded,\n\tdefaultExpanded,\n\ttabIndex,\n\t...props\n}: SidebarAccordionItemProps) => {\n\tconst { barProps, expanded, panelExpanded, panelId, titleId } = useCollapse({\n\t\texpanded: propExpanded,\n\t\tdefaultExpanded,\n\t\ttabIndex,\n\t\tdisabled,\n\t\tnoncollapsible,\n\t});\n\n\treturn (\n\t\t<section className='rcx-box rcx-box--full rcx-sidebar-accordion-item' {...props}>\n\t\t\t<div\n\t\t\t\trole='button'\n\t\t\t\tclassName={[\n\t\t\t\t\t'rcx-box rcx-box--full rcx-sidebar-accordion-item__bar rcx-box--animated',\n\t\t\t\t\tdisabled && 'rcx-sidebar-accordion-item__bar--disabled',\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(' ')}\n\t\t\t\t{...barProps}\n\t\t\t>\n\t\t\t\t{!noncollapsible && <Chevron className='rcx-sidebar-accordion-item__chevron' size='x16' right={!expanded} />}\n\t\t\t\t{title && (\n\t\t\t\t\t<h5 className='rcx-sidebar-accordion-item__title' id={titleId}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</h5>\n\t\t\t\t)}\n\t\t\t\t{!expanded && badge && badge}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName={[\n\t\t\t\t\t'rcx-sidebar-accordion-item__panel',\n\t\t\t\t\t'rcx-box--animated',\n\t\t\t\t\tpanelExpanded && 'rcx-sidebar-accordion-item__panel--expanded',\n\t\t\t\t]\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.join(' ')}\n\t\t\t\tid={panelId}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</section>\n\t);\n};\n\nexport default SidebarAccordionItem;\n","import type { RefAttributes } from 'react';\n\nimport { IconButton } from '../Button';\nimport type { IconButtonProps } from '../Button/IconButton';\n\nexport type SidebarActionProps = Omit<IconButtonProps, 'ref'> & RefAttributes<HTMLElement>;\n\nfunction SidebarAction(props: SidebarActionProps) {\n\treturn <IconButton size='small' {...props} />;\n}\n\nexport default SidebarAction;\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport type SidebarActionsProps = ButtonGroupProps;\n\nfunction SidebarActions(props: SidebarActionsProps) {\n\treturn <ButtonGroup {...props} />;\n}\n\nexport default SidebarActions;\n","import type { Keys as Icons } from '@rocket.chat/icons';\nimport type { LinkHTMLAttributes, ReactNode } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { cx } from '../../helpers/composeClassNames';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { Icon } from '../Icon';\nimport { Item, ItemActions, ItemIcon, ItemTitle, type ItemProps } from '../Item';\n\nexport type SidebarLinkProps = {\n\tselected?: boolean;\n\ticon?: Icons;\n\tbadge?: ReactNode;\n\tmenu?: ReactNode;\n} & LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst SidebarLink = ({ selected, icon, badge, menu, className, children, ...props }: SidebarLinkProps) => (\n\t<Item\n\t\tis='a'\n\t\tinset='md'\n\t\trole='link'\n\t\ttabIndex={0}\n\t\tselected={selected}\n\t\tclassName={cx('rcx-sidebar-link', 'rcx-sidebar-item', !!selected && 'rcx-sidebar-item--selected', className)}\n\t\tonClick={(e) => e.stopPropagation()}\n\t\tonKeyDown={(e) => e.code === 'Enter' && e.stopPropagation()}\n\t\t{...(props as Omit<ItemProps, 'is' | 'selected'>)}\n\t>\n\t\t{icon && (\n\t\t\t<ItemIcon className='rcx-sidebar-item__icon'>\n\t\t\t\t<Icon name={icon} size='x20' />\n\t\t\t</ItemIcon>\n\t\t)}\n\t\t<ItemTitle is='span' className='rcx-sidebar-item__title'>\n\t\t\t{children}\n\t\t</ItemTitle>\n\t\t{badge}\n\t\t{menu && (\n\t\t\t<ItemActions reveal='hover' className='rcx-sidebar-item__menu-wrapper'>\n\t\t\t\t{patchChildren(\n\t\t\t\t\t<span className='rcx-box rcx-box--full rcx-sidebar-item__menu'>{menu}</span>,\n\t\t\t\t\t(childProps: { className: string | string[] }) => ({\n\t\t\t\t\t\tclassName: appendClassName(childProps.className, 'rcx-sidebar-item__menu'),\n\t\t\t\t\t}),\n\t\t\t\t)}\n\t\t\t</ItemActions>\n\t\t)}\n\t</Item>\n);\n\nexport default SidebarLink;\n","import type { AllHTMLAttributes, ElementType } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { Item } from '../../Item';\n\nexport type SidebarItemProps = {\n\tselected?: boolean;\n\t/**\n\t * Emphasizes the row, such as a room with unread messages.\n\t */\n\thighlighted?: boolean;\n\t/**\n\t * Shows the row as a listbox's active descendant.\n\t */\n\tfocused?: boolean;\n\t/**\n\t * Shows the focus ring for an active descendant reached from the keyboard.\n\t */\n\tfocusVisible?: boolean;\n\tlevel?: number;\n\t/**\n\t * The row element. The default anchor makes the whole row a link.\n\t * For a row with menus or buttons, pass `div` and put a `SidebarItemLink` inside `SidebarItemTitle`.\n\t */\n\tis?: ElementType;\n} & AllHTMLAttributes<HTMLAnchorElement>;\n\n/**\n * A sidebar row. It renders an `Item`, so its content can also be composed from `Item` parts.\n */\nexport const SidebarItem = ({\n\tselected,\n\thighlighted,\n\tfocused,\n\tfocusVisible,\n\tlevel = 1,\n\tclassName,\n\tis = 'a',\n\thref,\n\ttarget,\n\trel,\n\tdownload,\n\t...props\n}: SidebarItemProps) => {\n\tconst isContainer = typeof is === 'string' && is !== 'a';\n\n\treturn (\n\t\t<Item\n\t\t\t{...props}\n\t\t\t{...(!isContainer && { href, target, rel, download })}\n\t\t\tis={is}\n\t\t\tinset='md'\n\t\t\tselected={selected}\n\t\t\thighlighted={highlighted}\n\t\t\tfocused={focused}\n\t\t\tfocusVisible={focusVisible}\n\t\t\tclassName={cx(\n\t\t\t\t'rcx-sidebar-item',\n\t\t\t\t!!selected && 'rcx-sidebar-item--selected',\n\t\t\t\t!!level && `rcx-sidebar-item--level-${level}`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { Keys as Icons } from '@rocket.chat/icons';\nimport type { HTMLAttributes } from 'react';\n\nimport { Icon } from '../../Icon';\n\nexport const SidebarItemAction = ({\n\tchildren,\n\tclassName,\n\ticon = 'plus-small',\n\t...props\n}: {\n\tonClick: (e: Event) => void;\n\ticon?: Icons;\n} & HTMLAttributes<HTMLDivElement>) => (\n\t<div\n\t\trole='button'\n\t\ttabIndex={0}\n\t\tclassName={['rcx-box rcx-box--full rcx-sidebar-item rcx-sidebar-item__action', className].filter(Boolean).join(' ')}\n\t\t{...props}\n\t>\n\t\t<Icon name={icon} size='x20' />\n\t\t{children}\n\t</div>\n);\n","import { cx } from '../../../helpers/composeClassNames';\nimport { ItemActions, type ItemActionsProps } from '../../Item';\n\nexport type SidebarItemActionsProps = Omit<ItemActionsProps, 'reveal'>;\n\n/**\n * Always-visible buttons of a container `SidebarItem`, such as accepting or rejecting a call.\n * For actions shown only on hover, use `SidebarItemMenu`.\n */\nexport const SidebarItemActions = ({ className, ...props }: SidebarItemActionsProps) => (\n\t<ItemActions {...props} className={cx('rcx-sidebar-item__actions', className)} />\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { ItemMedia } from '../../Item';\n\nexport const SidebarItemAvatarWrapper = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<ItemMedia {...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)} className={cx('rcx-sidebar-item__avatar', className)} />\n);\n","import { Badge, type BadgeProps } from '../../Badge';\n\nexport const SidebarItemBadge = ({ className, ...props }: BadgeProps) => (\n\t<Badge className={['rcx-box rcx-box--full rcx-sidebar-item__badge', className].filter(Boolean).join(' ')} {...props} />\n);\n","import type { Keys as IconKeys } from '@rocket.chat/icons';\nimport { isValidElement, type ReactElement } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { Icon, type IconProps } from '../../Icon';\nimport { ItemIcon } from '../../Item';\n\nexport type SidebarItemIconProps = Omit<IconProps, 'name' | 'label'> & {\n\ticon: IconKeys | ReactElement<any>;\n\thighlighted?: boolean;\n\t/**\n\t * Names what the icon conveys, such as \"Private channel\". Without it, the icon is decorative.\n\t */\n\tlabel?: string;\n};\n\nexport const SidebarItemIcon = ({ icon, className, highlighted, label, ...props }: SidebarItemIconProps) => (\n\t<ItemIcon\n\t\tlabel={label}\n\t\tclassName={cx(\n\t\t\t'rcx-sidebar-item__icon',\n\t\t\t!!highlighted && 'rcx-sidebar-item__icon--highlighted',\n\t\t\ttypeof className === 'string' && className,\n\t\t)}\n\t>\n\t\t{isValidElement(icon) ? icon : <Icon name={icon as IconKeys} size='x20' {...props} />}\n\t</ItemIcon>\n);\n","import { cx } from '../../../helpers/composeClassNames';\nimport { ItemLink, type ItemLinkProps } from '../../Item';\n\nexport type SidebarItemLinkProps = ItemLinkProps;\n\n/**\n * The primary target of a container `SidebarItem` (`is='div'`). Place it inside `SidebarItemTitle`:\n * it covers the whole row, so menus and buttons sit beside it instead of inside it.\n */\nexport const SidebarItemLink = ({ className, ...props }: SidebarItemLinkProps) => (\n\t<ItemLink {...props} className={cx('rcx-sidebar-item__link', className)} />\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { appendClassName } from '../../../helpers/appendClassName';\nimport { cx } from '../../../helpers/composeClassNames';\nimport { patchChildren } from '../../../helpers/patchChildren';\nimport { ItemActions } from '../../Item';\n\nexport const SidebarItemMenu = ({ children, className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<ItemActions\n\t\t{...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)}\n\t\treveal='hover'\n\t\tclassName={cx('rcx-sidebar-item__menu-wrapper', className)}\n\t>\n\t\t{patchChildren(\n\t\t\t<span className='rcx-box rcx-box--full rcx-sidebar-item__menu'>{children}</span>,\n\t\t\t(childProps: { className: string | string[] }) => ({\n\t\t\t\tclassName: appendClassName(childProps.className, 'rcx-sidebar-item__menu'),\n\t\t\t}),\n\t\t)}\n\t</ItemActions>\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { ItemTitle } from '../../Item';\n\nexport const SidebarItemTitle = ({ className, unread, ...props }: { unread?: boolean } & HTMLAttributes<HTMLDivElement>) => (\n\t<ItemTitle\n\t\t{...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)}\n\t\tclassName={cx('rcx-sidebar-item__title', !!unread && 'rcx-sidebar-item__title--highlighted', className)}\n\t/>\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { ItemRow } from '../../Item';\n\nexport const SidebarItemRow = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<ItemRow {...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)} className={cx('rcx-sidebar-item__row', className)} />\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { ItemContent } from '../../Item';\n\nexport const SidebarItemCol = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<ItemContent {...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)} className={cx('rcx-sidebar-item__col', className)} />\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { ItemMeta } from '../../Item';\n\nexport const SidebarItemTimestamp = ({ className, unread, ...props }: { unread?: boolean } & HTMLAttributes<HTMLDivElement>) => (\n\t<ItemMeta\n\t\t{...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)}\n\t\tclassName={cx('rcx-sidebar-item__timestamp', !!unread && 'rcx-sidebar-item__timestamp--highlighted', className)}\n\t/>\n);\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\ntype SidebarListItemProps = HTMLAttributes<HTMLDivElement> &\n\tRefAttributes<HTMLDivElement> & {\n\t\tselected?: boolean;\n\t};\n\nexport function SidebarListItem({ className, children, ...props }: SidebarListItemProps) {\n\treturn (\n\t\t<div role='listitem' className={['rcx-box rcx-box--full rcx-sidebar-item__list-item', className].filter(Boolean).join(' ')} {...props}>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from '../../../helpers/composeClassNames';\nimport { ItemDescription } from '../../Item';\n\nexport const SidebarItemContent = ({ className, unread, ...props }: { unread?: boolean } & HTMLAttributes<HTMLDivElement>) => (\n\t<ItemDescription\n\t\t{...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)}\n\t\tclassName={cx('rcx-sidebar-item__subtitle', !!unread && 'rcx-sidebar-item__subtitle--highlighted', className)}\n\t/>\n);\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Away = ({ size, className, ...props }: StatusBulletProps) => (\n\t<svg\n\t\t{...props}\n\t\twidth='10'\n\t\theight='10'\n\t\tviewBox='0 0 10 10'\n\t\taria-hidden='true'\n\t\tclassName={`rcx-status-bullet rcx-status-bullet--away ${className} ${size === 'small' ? 'rcx-status-bullet--small' : ''}`}\n\t\txmlns='http://www.w3.org/2000/svg'\n\t>\n\t\t<path\n\t\t\tfillRule='evenodd'\n\t\t\tclipRule='evenodd'\n\t\t\td='M5.13337 9.93325C7.78434 9.93325 9.93338 7.78422 9.93338 5.13325C9.93338 2.48229 7.78434 0.333252 5.13337 0.333252C2.48241 0.333252 0.333374 2.48229 0.333374 5.13325C0.333374 7.78422 2.48241 9.93325 5.13337 9.93325ZM5.80004 2.33325C5.80004 1.96506 5.50156 1.66659 5.13337 1.66659C4.76518 1.66659 4.46671 1.96506 4.46671 2.33325V5.13325V5.45367L4.71691 5.65383L6.71691 7.25383C7.00442 7.48384 7.42395 7.43722 7.65395 7.14972C7.88396 6.86221 7.83735 6.44268 7.54984 6.21267L5.80004 4.81284V2.33325Z'\n\t\t/>\n\t</svg>\n);\n\nexport default Away;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Busy = ({ size, className, ...props }: StatusBulletProps) => (\n\t<svg\n\t\t{...props}\n\t\twidth='10'\n\t\theight='10'\n\t\tviewBox='0 0 10 10'\n\t\taria-hidden='true'\n\t\tclassName={`rcx-status-bullet rcx-status-bullet--busy ${className} ${size === 'small' ? 'rcx-status-bullet--small' : ''}`}\n\t\txmlns='http://www.w3.org/2000/svg'\n\t>\n\t\t<path\n\t\t\tfillRule='evenodd'\n\t\t\tclipRule='evenodd'\n\t\t\td='M5.13337 9.93325C7.78434 9.93325 9.93338 7.78422 9.93338 5.13325C9.93338 2.48229 7.78434 0.333252 5.13337 0.333252C2.48241 0.333252 0.333374 2.48229 0.333374 5.13325C0.333374 7.78422 2.48241 9.93325 5.13337 9.93325ZM3.53338 4.46655C3.16519 4.46655 2.86671 4.76503 2.86671 5.13322C2.86671 5.50141 3.16519 5.79989 3.53338 5.79989H6.73338C7.10157 5.79989 7.40004 5.50141 7.40004 5.13322C7.40004 4.76503 7.10157 4.46655 6.73338 4.46655H3.53338Z'\n\t\t/>\n\t</svg>\n);\n\nexport default Busy;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Disabled = ({ size, className, ...props }: StatusBulletProps) => (\n\t<svg\n\t\t{...props}\n\t\twidth='24'\n\t\theight='24'\n\t\tviewBox='0 0 24 24'\n\t\taria-hidden='true'\n\t\tclassName={`rcx-status-bullet rcx-status-bullet--disabled ${className} ${size === 'small' ? 'rcx-status-bullet--small' : ''}`}\n\t\txmlns='http://www.w3.org/2000/svg'\n\t>\n\t\t<path\n\t\t\tfillRule='evenodd'\n\t\t\tclipRule='evenodd'\n\t\t\td='M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM13.3367 5.33333C13.3367 4.59695 12.7398 4 12.0034 4C11.267 4 10.67 4.59695 10.67 5.33333V14.6667C10.67 15.403 11.267 16 12.0034 16C12.7398 16 13.3367 15.403 13.3367 14.6667V5.33333ZM13.3367 18.6667C13.3367 17.9303 12.7398 17.3333 12.0034 17.3333C11.267 17.3333 10.67 17.9303 10.67 18.6667C10.67 19.403 11.267 20 12.0034 20C12.7398 20 13.3367 19.403 13.3367 18.6667Z'\n\t\t/>\n\t</svg>\n);\n\nexport default Disabled;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Loading = ({ size, className, ...props }: StatusBulletProps) => (\n\t<svg\n\t\t{...props}\n\t\twidth='12'\n\t\theight='12'\n\t\tviewBox='0 0 12 12'\n\t\tfill='none'\n\t\taria-hidden='true'\n\t\txmlns='http://www.w3.org/2000/svg'\n\t\tclassName={`rcx-status-bullet rcx-status-bullet--loading ${className} ${size === 'small' ? 'rcx-status-bullet--small' : ''}`}\n\t>\n\t\t<circle cx='6' cy='6' r='5' className='rcx-status-bullet rcx-status-bullet--loading' strokeWidth='2' strokeDasharray='2 2' />\n\t</svg>\n);\n\nexport default Loading;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Offline = ({ size, className, ...props }: StatusBulletProps) => (\n\t<svg\n\t\t{...props}\n\t\twidth='12'\n\t\theight='12'\n\t\tviewBox='0 0 12 12'\n\t\tfill='none'\n\t\taria-hidden='true'\n\t\txmlns='http://www.w3.org/2000/svg'\n\t\tclassName={`rcx-status-bullet rcx-status-bullet--offline ${className} ${size === 'small' ? 'rcx-status-bullet--small' : ''}`}\n\t>\n\t\t<circle cx='6' cy='6' r='5' className='rcx-status-bullet rcx-status-bullet--offline' strokeWidth='2' />\n\t</svg>\n);\n\nexport default Offline;\n","import type { StatusBulletProps } from '../StatusBullet';\n\nconst Online = ({ size, className, ...props }: StatusBulletProps) => (\n\t<svg\n\t\t{...props}\n\t\twidth='24'\n\t\theight='24'\n\t\tviewBox='0 0 24 24'\n\t\taria-hidden='true'\n\t\tclassName={`rcx-status-bullet rcx-status-bullet--online ${className} ${size === 'small' ? 'rcx-status-bullet--small' : ''}`}\n\t\txmlns='http://www.w3.org/2000/svg'\n\t>\n\t\t<path d='M24 12.0001C24 18.6275 18.6274 24.0001 12 24.0001C5.37255 24.0001 -3.05176e-05 18.6275 -3.05176e-05 12.0001C-3.05176e-05 5.37271 5.37255 0.00012207 12 0.00012207C18.6274 0.00012207 24 5.37271 24 12.0001Z' />\n\t</svg>\n);\n\nexport default Online;\n","import type { AllHTMLAttributes } from 'react';\n\nimport Away from './icons/Away';\nimport Busy from './icons/Busy';\nimport Disabled from './icons/Disabled';\nimport Loading from './icons/Loading';\nimport Offline from './icons/Offline';\nimport Online from './icons/Online';\n\nexport type StatusBulletProps = {\n\tstatus?: 'loading' | 'online' | 'busy' | 'away' | 'offline' | 'disabled';\n\tsize?: 'small' | 'large';\n} & Omit<AllHTMLAttributes<SVGElement>, 'size'>;\n\n/**\n * The `StatusBullet` is used to inform the user status.\n */\nconst StatusBullet = ({ status = 'loading', ...props }: StatusBulletProps) => {\n\tswitch (status) {\n\t\tcase 'online':\n\t\t\treturn <Online {...props} />;\n\t\tcase 'away':\n\t\t\treturn <Away {...props} />;\n\t\tcase 'busy':\n\t\t\treturn <Busy {...props} />;\n\t\tcase 'disabled':\n\t\t\treturn <Disabled {...props} />;\n\t\tcase 'offline':\n\t\t\treturn <Offline {...props} />;\n\t\tdefault:\n\t\t\treturn <Loading {...props} />;\n\t}\n};\n\nexport default StatusBullet;\n","import { ItemIcon } from '../../Item';\nimport type { StatusBulletProps } from '../../StatusBullet';\nimport { StatusBullet } from '../../StatusBullet';\n\nexport const SidebarItemStatusBullet = (props: StatusBulletProps) => (\n\t<ItemIcon className='rcx-sidebar-item__status-bullet'>\n\t\t<StatusBullet {...props} />\n\t</ItemIcon>\n);\n","import type { AriaAttributes, HTMLAttributes, ReactNode } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\nimport { Chevron } from '../Chevron';\nimport { ItemGroupHeader, ItemGroupTitle } from '../Item';\n\nexport type SidebarGroupTitleProps = {\n\texpanded?: boolean;\n\tempty?: boolean;\n\ttitle?: string;\n\ttitleId?: string;\n\tbadge?: ReactNode;\n\tmenu?: ReactNode;\n\tbarProps?: AriaAttributes;\n} & HTMLAttributes<HTMLDivElement>;\n\n/**\n * The header of a sidebar group. It renders an `ItemGroupHeader`, so its menu reveals on hover like a row's.\n */\nexport const SidebarGroupTitle = ({\n\ttitle,\n\ttitleId,\n\tbadge,\n\tmenu,\n\tbarProps,\n\texpanded,\n\tempty,\n\trole,\n\tclassName,\n\t...props\n}: SidebarGroupTitleProps) => (\n\t<ItemGroupHeader\n\t\t{...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)}\n\t\tinset='md'\n\t\tclassName={cx(\n\t\t\t'rcx-sidebar-collapse-group__bar',\n\t\t\t!expanded && empty && 'rcx-sidebar-collapse-group__bar--empty',\n\t\t\t!expanded && !!badge && 'rcx-sidebar-collapse-group__bar--unread',\n\t\t\tclassName,\n\t\t)}\n\t>\n\t\t<ItemGroupTitle role={role} {...barProps} className='rcx-sidebar-collapse-group__bar-button'>\n\t\t\t<div className='rcx-sidebar-collapse-group__heading'>\n\t\t\t\t{title && (\n\t\t\t\t\t<h4 className='rcx-sidebar-collapse-group__title' id={titleId}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</h4>\n\t\t\t\t)}\n\t\t\t\t{expanded !== undefined && <Chevron size='x20' right={!expanded} />}\n\t\t\t</div>\n\t\t\t{!expanded && badge && badge}\n\t\t</ItemGroupTitle>\n\t\t{menu}\n\t</ItemGroupHeader>\n);\n","import type { HTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\nimport { ItemGroup } from '../Item';\nimport { SidebarGroupTitle } from './SidebarGroupTitle';\nimport { useCollapse } from './hooks/useCollapse';\n\ntype SidebarCollapseGroupProps = HTMLAttributes<HTMLDivElement> &\n\tRefAttributes<HTMLDivElement> & {\n\t\texpanded?: boolean;\n\t\tdefaultExpanded?: boolean;\n\t\ttabIndex?: number;\n\t\ttitle: string;\n\t\tempty?: boolean;\n\t\tbadge?: ReactNode;\n\t\tmenu?: ReactNode;\n\t\tactions?: ReactNode;\n\t};\n\nexport function SidebarCollapseGroup({\n\tref,\n\texpanded: propExpanded,\n\tdefaultExpanded,\n\ttabIndex,\n\tchildren,\n\tbadge,\n\tmenu,\n\tactions: _actions,\n\ttitle,\n\tempty,\n\trole = 'group',\n\t...props\n}: SidebarCollapseGroupProps) {\n\tconst { barProps, expanded, panelExpanded, panelId, titleId } = useCollapse({\n\t\texpanded: propExpanded,\n\t\tdefaultExpanded,\n\t\ttabIndex,\n\t});\n\n\tconst labelledBy = props['aria-label'] ? undefined : titleId;\n\n\treturn (\n\t\t<div className='rcx-box rcx-box--full rcx-sidebar-collapse-group' role={role} aria-labelledby={labelledBy} {...props}>\n\t\t\t<SidebarGroupTitle\n\t\t\t\texpanded={expanded}\n\t\t\t\tempty={empty}\n\t\t\t\ttitle={title}\n\t\t\t\ttitleId={titleId}\n\t\t\t\tbadge={badge}\n\t\t\t\tmenu={menu}\n\t\t\t\tbarProps={barProps}\n\t\t\t\trole='button'\n\t\t\t/>\n\t\t\t<ItemGroup\n\t\t\t\trole='list'\n\t\t\t\taria-labelledby={titleId}\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cx(\n\t\t\t\t\t'rcx-sidebar-collapse-group__panel rcx-box--animated',\n\t\t\t\t\tpanelExpanded && 'rcx-sidebar-collapse-group__panel--expanded',\n\t\t\t\t)}\n\t\t\t\tid={panelId}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ItemGroup>\n\t\t</div>\n\t);\n}\n","import type { HTMLAttributes } from 'react';\n\nimport { appendClassName } from '../../helpers/appendClassName';\nimport { cx } from '../../helpers/composeClassNames';\nimport { patchChildren } from '../../helpers/patchChildren';\nimport { ItemActions } from '../Item';\n\nexport const SidebarCollapseGroupMenu = ({ children, className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<ItemActions\n\t\t{...(props as Omit<HTMLAttributes<HTMLDivElement>, 'is'>)}\n\t\treveal='hover'\n\t\tclassName={cx('rcx-sidebar-collapse-group__menu-wrapper', className)}\n\t>\n\t\t{patchChildren(\n\t\t\t<span className='rcx-box rcx-box--full rcx-sidebar-collapse-group__menu'>{children}</span>,\n\t\t\t(childProps: { className: string | string[] }) => ({\n\t\t\t\tclassName: appendClassName(childProps.className, 'rcx-sidebar-collapse-group__menu'),\n\t\t\t}),\n\t\t)}\n\t</ItemActions>\n);\n","import type { AllHTMLAttributes, ReactNode } from 'react';\n\nimport { IconButton } from '../Button';\n\nexport type SidebarBannerVariant = 'default' | 'info' | 'success' | 'warning' | 'danger';\n\nexport type SidebarBannerProps = {\n\ttitle?: ReactNode;\n\tlinkText?: string;\n\tlinkProps?: AllHTMLAttributes<HTMLAnchorElement>;\n\tonClick?: () => void;\n\tvariant?: SidebarBannerVariant;\n\tonClose?: () => void;\n\tchildren?: ReactNode;\n\taddon?: ReactNode;\n};\n\nexport const SidebarBanner = ({\n\ttitle,\n\tlinkText,\n\tlinkProps,\n\tvariant = 'default',\n\taddon,\n\tonClose,\n\tchildren,\n\t...props\n}: SidebarBannerProps) => (\n\t<div className={`rcx-box rcx-box--full rcx-sidebar-banner rcx-sidebar-banner--${variant}`} {...props}>\n\t\t<div className='rcx-box rcx-box--full rcx-sidebar-banner__content'>\n\t\t\t{title && <h5 className='rcx-box rcx-box--full rcx-sidebar-banner__title'>{title}</h5>}\n\t\t\t{linkText && (\n\t\t\t\t<a className='rcx-box rcx-box--full rcx-sidebar-banner__link' {...linkProps}>\n\t\t\t\t\t{linkText}\n\t\t\t\t</a>\n\t\t\t)}\n\t\t\t{children}\n\t\t</div>\n\t\t<div className='rcx-box rcx-box--full rcx-sidebar-banner__addon'>\n\t\t\t{addon}\n\t\t\t{onClose && <IconButton onClick={onClose} size='tiny' icon='cross' />}\n\t\t</div>\n\t</div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarFooter = ({ children, ...props }: HTMLAttributes<HTMLElement>) => (\n\t<footer className='rcx-sidebar-footer' {...props}>\n\t\t{children}\n\t</footer>\n);\n","import type { ElementProps } from '../../../types/ElementProps';\nimport { Box } from '../../Box';\n\nexport const SidebarFooterContent = ({ children, ...props }: ElementProps<HTMLDivElement>) => (\n\t<Box className='rcx-sidebar-footer__content' {...props}>\n\t\t{children}\n\t</Box>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarMedia = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<div className={['rcx-sidebar-media', className].filter(Boolean).join(' ')} {...props} />\n);\n","import type { ButtonGroupProps } from '../ButtonGroup';\nimport { ButtonGroup } from '../ButtonGroup';\n\nexport const SidebarButtonGroup = ({ align = 'end', small = true, ...props }: ButtonGroupProps) => (\n\t<ButtonGroup align={align} small={small} {...props} />\n);\n","import type { HTMLAttributes } from 'react';\n\nimport { SidebarButtonGroup } from '../SidebarButtonGroup';\n\nexport const SidebarMediaController = ({ className, label, children, ...props }: { label?: string } & HTMLAttributes<HTMLDivElement>) => (\n\t<div className={['rcx-sidebar-media__controller', className].filter(Boolean).join(' ')}>\n\t\t<div className='rcx-sidebar-media__controller__label'>{label}</div>\n\t\t<SidebarButtonGroup small align='end' {...props}>\n\t\t\t{children}\n\t\t</SidebarButtonGroup>\n\t</div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport const SidebarMediaTitle = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => (\n\t<div className={['rcx-sidebar-media__title', className].filter(Boolean).join(' ')} {...props} />\n);\n","import { ItemDivider } from '../Item';\n\nexport const SidebarDivider = () => <ItemDivider role='separator' className='rcx-sidebar--divider' />;\n","import type { HTMLAttributes } from 'react';\n\nimport { SidebarDivider } from './SidebarDivider';\n\nexport const SidebarSection = (props: HTMLAttributes<HTMLDivElement>) => (\n\t<div>\n\t\t<div className='rcx-box rcx-box--full rcx-sidebar-section' {...props} />\n\t\t<SidebarDivider />\n\t</div>\n);\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelProps = HTMLAttributes<HTMLDivElement>;\n\nconst Sidepanel = ({ className, ...props }: SidepanelProps) => (\n\t<div className={['rcx-sidepanel', className].filter(Boolean).join(' ')} {...props} />\n);\n\nexport default Sidepanel;\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelSectionProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelSection = ({ className, ...props }: SidepanelSectionProps) => (\n\t<div className={['rcx-sidepanel-section', className].filter(Boolean).join(' ')} {...props} />\n);\n\nexport default SidepanelSection;\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelSectionActionProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelSectionAction = ({ className, ...props }: SidepanelSectionActionProps) => (\n\t<div className={['rcx-sidepanel-section__action', className].filter(Boolean).join(' ')} {...props} />\n);\n\nexport default SidepanelSectionAction;\n","import type { HTMLAttributes } from 'react';\n\nexport type SidepanelHeaderTitleProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelHeaderTitle = ({ className, ...props }: SidepanelHeaderTitleProps) => (\n\t<div className={['rcx-sidepanel-header__title', className].filter(Boolean).join(' ')} {...props} />\n);\n\nexport default SidepanelHeaderTitle;\n","import type { HTMLAttributes } from 'react';\n\nimport { Divider } from '../Divider';\n\nexport type SidepanelHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nconst SidepanelHeader = ({ className, ...props }: SidepanelHeaderProps) => (\n\t<div className='rcx-sidepanel-header-wrapper'>\n\t\t<div className={['rcx-sidepanel-header', className].filter(Boolean).join(' ')} {...props} />\n\t\t<Divider className='rcx-sidepanel--divider' />\n\t</div>\n);\n\nexport default SidepanelHeader;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport { cx } from '../../helpers/composeClassNames';\nimport { ItemGroup } from '../Item';\n\nexport type SidepanelListProps = HTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>;\n\nfunction SidepanelList({ className, ...props }: SidepanelListProps) {\n\treturn <ItemGroup role='list' {...(props as Omit<SidepanelListProps, 'is'>)} className={cx('rcx-sidepanel-list', className)} />;\n}\n\nexport default SidepanelList;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type SidepanelListItemProps = HTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>;\n\nfunction SidepanelListItem({ className, ...props }: SidepanelListItemProps) {\n\treturn <div role='listitem' className={['rcx-sidepanel-list__item', className].filter(Boolean).join(' ')} {...props} />;\n}\n\nexport default SidepanelListItem;\n","import { ItemDivider } from '../Item';\n\nconst SidepanelDivider = () => <ItemDivider role='separator' className='rcx-sidepanel--divider' />;\n\nexport default SidepanelDivider;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nexport type SplitButtonProps = RefAttributes<HTMLDivElement> &\n\tHTMLAttributes<HTMLDivElement> & {\n\t\tdanger?: boolean;\n\t\twarning?: boolean;\n\t\tsuccess?: boolean;\n\t\tprimary?: boolean;\n\t} & ({ 'aria-label': string } | { 'aria-labelledby': string });\n\n/**\n * Fuses a menu trigger and its primary action into a single control, e.g. an\n * audio device menu next to a microphone toggle. The menu trigger is a\n * `SplitButtonTrigger`, rendered as a ghost segment wherever it sits.\n */\nfunction SplitButton({ className, danger, warning, success, primary, ...props }: SplitButtonProps) {\n\treturn (\n\t\t<div\n\t\t\trole='group'\n\t\t\tclassName={[\n\t\t\t\t'rcx-split-button',\n\t\t\t\tdanger && 'rcx-split-button--danger',\n\t\t\t\twarning && 'rcx-split-button--warning',\n\t\t\t\tsuccess && 'rcx-split-button--success',\n\t\t\t\tprimary && 'rcx-split-button--primary',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(' ')}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default SplitButton;\n","import { IconButton, type IconButtonProps } from '../Button';\n\nexport type SplitButtonTriggerProps = IconButtonProps;\n\n/**\n * The ghost segment of a `SplitButton`: the menu trigger fused next to the\n * primary action. Pass it as a `Menu`'s `button`.\n */\nfunction SplitButtonTrigger({ className, ...props }: SplitButtonTriggerProps) {\n\treturn <IconButton {...props} className={['rcx-split-button__trigger', className].filter(Boolean).join(' ')} />;\n}\n\nexport default SplitButtonTrigger;\n","import type { HTMLAttributes, RefAttributes } from 'react';\n\nimport { Box, type BoxProps } from '../Box';\n\nexport type StackProps = RefAttributes<HTMLDivElement> & {\n\tdirection?: 'row' | 'column';\n\tgap?: BoxProps['gap'];\n\talign?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n\tjustify?: 'start' | 'center' | 'end' | 'space-between';\n\twrap?: boolean;\n\tgrow?: boolean;\n} & Omit<HTMLAttributes<HTMLDivElement>, 'color' | 'is'>;\n\nconst flexValues: Record<string, string> = { start: 'flex-start', end: 'flex-end' };\n\n/**\n * Lays out its children in a row or a column, spaced by `gap`.\n */\nfunction Stack({ direction = 'column', gap, align, justify, wrap, grow, ...props }: StackProps) {\n\treturn (\n\t\t<Box\n\t\t\tdisplay='flex'\n\t\t\tflexDirection={direction}\n\t\t\tgap={gap}\n\t\t\talignItems={align && (flexValues[align] ?? align)}\n\t\t\tjustifyContent={justify && (flexValues[justify] ?? justify)}\n\t\t\tflexWrap={wrap ? 'wrap' : undefined}\n\t\t\tflexGrow={grow ? 1 : undefined}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default Stack;\n","import type { TableHTMLAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\n/** A column width: a Fuselage size (`x40`), a length in pixels or a share of the table's width. */\nexport type TableColumnWidth = `x${number}` | `${number}px` | `${number}%` | number | 'auto';\n\nexport type TableProps = ElementProps<HTMLTableElement, TableHTMLAttributes<HTMLTableElement>> & {\n\tstriped?: boolean;\n\tsticky?: boolean;\n\tfixed?: boolean;\n\t/** The width of each column, in order. In a `fixed` table they take precedence over the cells' widths. */\n\tcolumns?: TableColumnWidth[];\n};\n\nconst Table = ({ striped, sticky, fixed = false, columns, children, ...props }: TableProps) => (\n\t<Box rcx-table__wrapper>\n\t\t<Box is='table' rcx-table rcx-table--fixed={fixed} rcx-table--sticky={sticky} rcx-table--striped={striped} {...props}>\n\t\t\t{columns && (\n\t\t\t\t<colgroup>\n\t\t\t\t\t{columns.map((width, index) => (\n\t\t\t\t\t\t<Box is='col' key={index} width={width} />\n\t\t\t\t\t))}\n\t\t\t\t</colgroup>\n\t\t\t)}\n\t\t\t{children}\n\t\t</Box>\n\t</Box>\n);\n\nexport default Table;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type TableBodyProps = ElementProps<HTMLTableSectionElement>;\n\nconst TableBody = (props: TableBodyProps) => <Box is='tbody' rcx-table__body {...props} />;\n\nexport default TableBody;\n","import { createContext } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport const TableHeadContext = createContext(false);\n\nexport type TableHeadProps = ElementProps<HTMLTableSectionElement>;\n\nconst TableHead = (props: TableHeadProps) => (\n\t<TableHeadContext.Provider value={true}>\n\t\t<Box is='thead' rcx-table__head {...props} />\n\t</TableHeadContext.Provider>\n);\n\nexport default TableHead;\n","import type { TdHTMLAttributes, ThHTMLAttributes } from 'react';\nimport { useContext } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\nimport { TableHeadContext } from './TableHead';\n\nexport type TableCellProps = Omit<\n\tElementProps<HTMLTableCellElement, TdHTMLAttributes<HTMLTableCellElement> & ThHTMLAttributes<HTMLTableCellElement>>,\n\t'align'\n> & {\n\tis?: 'td' | 'th';\n\talign?: 'start' | 'center' | 'end' | 'justify' | object;\n\tclickable?: boolean;\n\t/** Renders the cell as the header of its row, like the label of a key/value pair. */\n\trowHeader?: boolean;\n\t/** Keeps the content on one line, cut with an ellipsis when it does not fit. */\n\ttruncate?: boolean;\n\t/** The text colour: `default` for the cell that names the row, `hint` for secondary details. */\n\tcolor?: 'default' | 'hint';\n\t/** Renders the text in the medium weight, for the cell that names the row. */\n\tstrong?: boolean;\n};\n\nconst TableCell = ({ align, clickable, rowHeader, truncate, color, strong, children, ...props }: TableCellProps) => {\n\tconst isInsideHead = useContext(TableHeadContext);\n\n\tconst innerElement = children ?? (!isInsideHead ? <Box display='inline-block' is='hr' width='x14' borderWidth='default' /> : undefined);\n\n\treturn (\n\t\t<Box\n\t\t\tis={isInsideHead || rowHeader ? 'th' : 'td'}\n\t\t\tscope={rowHeader ? 'row' : undefined}\n\t\t\trcx-table__cell\n\t\t\trcx-table__cell--align={align}\n\t\t\trcx-table__cell--header={isInsideHead}\n\t\t\trcx-table__cell--row-header={rowHeader}\n\t\t\trcx-table__cell--clickable={clickable}\n\t\t\trcx-table__cell--truncate={truncate}\n\t\t\trcx-table__cell--color={color}\n\t\t\trcx-table__cell--strong={strong}\n\t\t\t{...props}\n\t\t>\n\t\t\t{innerElement}\n\t\t</Box>\n\t);\n};\n\nexport default TableCell;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type TableFootProps = ElementProps<HTMLTableSectionElement>;\n\nconst TableFoot = (props: TableFootProps) => <Box is='tfoot' rcx-table__foot {...props} />;\n\nexport default TableFoot;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type TableRowProps = ElementProps<HTMLTableRowElement> & {\n\tselected?: boolean;\n\taction?: boolean;\n\thasAction?: boolean;\n};\n\nconst TableRow = ({ action, selected, ...props }: TableRowProps) => (\n\t<Box is='tr' rcx-table__row rcx-table__row--selected={selected} rcx-table__row--action={action} {...props} />\n);\n\nexport default TableRow;\n","import type { ElementProps } from '../../../types/ElementProps';\nimport { Box } from '../../Box';\n\nexport type TableSelectionProps = ElementProps<HTMLDivElement> & {\n\ttext?: string;\n};\n\nconst TableSelection = ({ children, text, ...props }: TableSelectionProps) => (\n\t<Box rcx-table__selection display='flex' alignItems='center' justifyContent='space-between' paddingInline={24} elevation='2' {...props}>\n\t\t<Box fontScale='p2b' marginBlock={16} flexShrink={1} withTruncatedText>\n\t\t\t{text}\n\t\t</Box>\n\t\t{children && (\n\t\t\t<Box marginInline='neg-x8' fontScale='p2m' flexShrink={0}>\n\t\t\t\t{children}\n\t\t\t</Box>\n\t\t)}\n\t</Box>\n);\n\nexport default TableSelection;\n","import { Button, type ButtonProps } from '../../Button';\n\nexport type TableSelectionButtonProps = ButtonProps;\n\nconst TableSelectionButton = ({ className, ...props }: TableSelectionButtonProps) => (\n\t<Button size='small' {...props} className={['rcx-table__selection-button', className].filter(Boolean).join(' ')} />\n);\n\nexport default TableSelectionButton;\n","import type { ButtonGroupProps } from '../../ButtonGroup';\nimport { ButtonGroup } from '../../ButtonGroup';\n\nexport type TableSelectionButtonGroupProps = ButtonGroupProps;\n\nconst TableSelectionButtonGroup = (props: TableSelectionButtonGroupProps) => <ButtonGroup {...props} />;\n\nexport default TableSelectionButtonGroup;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type TabsProps = ElementProps<HTMLDivElement> & {\n\tdivider?: boolean;\n\t/** Grows the items to fill the whole width. */\n\tstretch?: boolean;\n};\n\n/**\n * Tabs is a component to navigate around the UI using buttons arranged together with the selected tab highlighted.\n */\nfunction Tabs({ children, divider = true, stretch, ...props }: TabsProps) {\n\treturn (\n\t\t<Box is='div' rcx-tabs rcx-tabs--with-divider={divider} rcx-tabs--stretch={stretch} {...props}>\n\t\t\t<Box is='div' rcx-tabs__scroll-box>\n\t\t\t\t<Box is='div' rcx-tabs__wrapper role='tablist'>\n\t\t\t\t\t{children}\n\t\t\t\t</Box>\n\t\t\t</Box>\n\t\t</Box>\n\t);\n}\n\nexport default Tabs;\n","import type { ButtonHTMLAttributes } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type TabsItemProps = ElementProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>> & {\n\tselected?: boolean;\n\tdisabled?: boolean;\n};\n\nfunction TabsItem({ selected, disabled, ...props }: TabsItemProps) {\n\treturn (\n\t\t<Box\n\t\t\tis='button'\n\t\t\trcx-tabs__item\n\t\t\trcx-tabs__item--selected={selected}\n\t\t\trcx-tabs__item--disabled={disabled}\n\t\t\trcx-tabs__item--selected--disabled={selected && disabled}\n\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\trole='tab'\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default TabsItem;\n","import { createElement, type HTMLAttributes, type LabelHTMLAttributes, type TimeHTMLAttributes } from 'react';\n\nimport type { statusColors, textIconColors } from '../../Theme';\nimport { cx, cxx } from '../../helpers/composeClassNames';\nimport type { ElementProps } from '../../types/ElementProps';\n\ntype FontColor<T> = T extends `font-${infer Color}` ? Color : never;\n\nexport type TextFontScale = 'hero' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p1' | 'p1m' | 'p1b' | 'p2' | 'p2m' | 'p2b' | 'c1' | 'c2' | 'micro';\n\n/** A semantic text or status font token. */\nexport type TextColor = FontColor<keyof typeof textIconColors> | keyof typeof statusColors;\n\nexport type TextProps = ElementProps<\n\tHTMLElement,\n\tHTMLAttributes<HTMLElement> &\n\t\tPick<LabelHTMLAttributes<HTMLLabelElement>, 'htmlFor'> &\n\t\tPick<TimeHTMLAttributes<HTMLTimeElement>, 'dateTime'>\n> & {\n\t/** The element it renders: a heading, a paragraph or a label says what the text is to assistive technology. */\n\tis?:\n\t\t| 'div'\n\t\t| 'span'\n\t\t| 'p'\n\t\t| 'h1'\n\t\t| 'h2'\n\t\t| 'h3'\n\t\t| 'h4'\n\t\t| 'h5'\n\t\t| 'h6'\n\t\t| 'label'\n\t\t| 'legend'\n\t\t| 'strong'\n\t\t| 'em'\n\t\t| 'small'\n\t\t| 'time'\n\t\t| 'dt'\n\t\t| 'dd'\n\t\t| 'li'\n\t\t| 'figcaption';\n\t/** The size, weight and line height; without it, the text takes the ones around it. */\n\tfontScale?: TextFontScale;\n\t/** The colour; without it, the text takes the colour around it. */\n\tcolor?: TextColor;\n\t/** Keeps the text on one line, cut with an ellipsis when it does not fit. */\n\ttruncate?: boolean;\n};\n\n/**\n * Text set in one of the design system's font scales and text colours.\n */\nfunction Text({ is = 'div', fontScale, color, truncate, className, ...props }: TextProps) {\n\treturn createElement(is, {\n\t\tclassName: cx(cxx('rcx-text')(fontScale && `font-scale-${fontScale}`, color && `color-${color}`, truncate && 'truncate'), className),\n\t\t...props,\n\t});\n}\n\nexport default Text;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type TextAreaInputProps = Omit<InputBoxProps<HTMLTextAreaElement>, 'type'>;\n\n/**\n * An input for multi-line plain-text editing.\n */\nfunction TextAreaInput(props: TextAreaInputProps) {\n\treturn <InputBox type='textarea' {...props} />;\n}\n\nexport default TextAreaInput;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type TextInputProps = Omit<InputBoxProps, 'type'>;\n\n/**\n * An input for any kind of single-line text.\n */\nfunction TextInput(props: TextInputProps) {\n\treturn <InputBox type='text' {...props} />;\n}\n\nexport default TextInput;\n","import { css } from '@rocket.chat/css-in-js';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\n\ntype CircleProps = {\n\tcircleCount: number;\n\titeration: number;\n\tinheritColor?: boolean;\n\tdisabled?: boolean;\n} & Pick<BoxProps, 'size'>;\n\nfunction Circle({ disabled, circleCount, iteration, inheritColor, ...props }: CircleProps) {\n\treturn (\n\t\t<Box\n\t\t\tis='span'\n\t\t\tclassName={css`\n\t\t\t\tanimation-duration: ${circleCount * 0.466}s;\n\t\t\t\tanimation-delay: ${iteration * 0.16}s;\n\t\t\t`}\n\t\t\trcx-throbber__circle\n\t\t\trcx-throbber__circle--disabled={disabled}\n\t\t\trcx-throbber__circle--inherit-color={inheritColor}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport type ThrobberProps = ElementProps<HTMLElement> & {\n\tsize?: BoxProps['size'];\n\tcircleCount?: number;\n\tdisabled?: boolean;\n\tinheritColor?: boolean;\n};\n\n/**\n * Indicates content that has not loaded yet.\n */\nfunction Throbber({ disabled, size = 'x16', circleCount = 3, inheritColor, ...props }: ThrobberProps) {\n\treturn (\n\t\t<Box rcx-throbber {...props}>\n\t\t\t{Array.from({ length: circleCount || 3 }, (_, iteration) => (\n\t\t\t\t<Circle\n\t\t\t\t\tkey={iteration}\n\t\t\t\t\tcircleCount={circleCount}\n\t\t\t\t\titeration={iteration}\n\t\t\t\t\tdisabled={!!disabled}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tinheritColor={!!inheritColor}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</Box>\n\t);\n}\n\nexport default Throbber;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box, type BoxProps } from '../Box';\n\nexport type TileProps = ElementProps<HTMLElement> & {\n\televation?: BoxProps['elevation'];\n\t/** Drops the default padding, for a surface whose content brings its own. */\n\tflush?: boolean;\n};\n\nfunction Tile({ elevation = '1', flush, ...props }: TileProps) {\n\treturn <Box rcx-tile rcx-tile--elevation={elevation} padding={flush ? undefined : 16} {...props} />;\n}\n\nexport default Tile;\n","import { css, keyframes } from '@rocket.chat/css-in-js';\nimport { type ReactNode, type AllHTMLAttributes, useId } from 'react';\n\nimport { Box } from '../Box';\nimport { IconButton } from '../Button';\nimport { Icon } from '../Icon';\n\nexport type ToastBarProps = {\n\tvariant?: 'info' | 'success' | 'error';\n\tclassName?: string;\n\tchildren?: ReactNode;\n\ttime?: number;\n\tisPaused?: boolean;\n\tid?: string;\n\tonClose?: (id: string) => void;\n\tbuttonLabel?: string;\n} & Omit<AllHTMLAttributes<HTMLElement>, 'is'>;\n\n/**\n * Shows alerts in a toast component.\n */\nfunction ToastBar({\n\tchildren,\n\tclassName = '',\n\tvariant = 'info',\n\ttime = 5,\n\tisPaused,\n\tid,\n\tonClose,\n\tbuttonLabel = 'Dismiss alert',\n\t...props\n}: ToastBarProps) {\n\tconst iconName = (variant === 'success' && 'circle-check') || (variant === 'error' && 'ban') || 'info';\n\n\tconst sideOpen = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n `;\n\n\tconst progressBar = keyframes`\n from {\n width: 0%;\n }\n\n to {\n width: 100%;\n }\n `;\n\n\tconst toastBarAnimation = css`\n\t\tanimation: ${sideOpen} 0.5s;\n\t`;\n\n\tconst progressBarAnimation = css`\n\t\t&::after {\n\t\t\twidth: 0%;\n\t\t\tanimation: ${progressBar} ${time}s;\n\t\t\tanimation-fill-mode: forwards;\n\t\t\tanimation-play-state: ${isPaused ? 'paused' : 'running'};\n\t\t}\n\t`;\n\n\tconst uniqueId = useId();\n\tconst toastId = id || uniqueId;\n\n\tconst role = variant === 'error' ? 'alert' : 'status';\n\n\treturn (\n\t\t<Box\n\t\t\tclassName={[`rcx-toastbar rcx-toastbar--${variant} ${className}`, toastBarAnimation]}\n\t\t\televation='2nb'\n\t\t\tborderRadius='medium'\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className='rcx-toastbar_inner'>\n\t\t\t\t<Icon className={`rcx-toastbar_icon--${variant}`} size='x20' name={iconName} />\n\t\t\t\t<div role={role} className='rcx-toastbar_content'>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{onClose && (\n\t\t\t\t\t<div className='rcx-toastbar-close'>\n\t\t\t\t\t\t<IconButton size='tiny' aria-label={buttonLabel} onClick={() => onClose(toastId)} icon='cross' />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<Box className={[progressBarAnimation, 'rcx-toastbar_progressbar']} />\n\t\t</Box>\n\t);\n}\n\nexport default ToastBar;\n","import type { InputHTMLAttributes, ReactNode } from 'react';\n\nimport type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nexport type ToggleSwitchProps = ElementProps<HTMLInputElement, InputHTMLAttributes<HTMLInputElement>> & {\n\tlabelChildren?: ReactNode;\n};\n\nfunction ToggleSwitch({ className, labelChildren, ...props }: ToggleSwitchProps) {\n\treturn (\n\t\t<Box is='label' className={className} rcx-toggle-switch>\n\t\t\t{labelChildren}\n\n\t\t\t<Box is='input' rcx-toggle-switch__input type='checkbox' {...props} />\n\t\t\t<Box is='i' rcx-toggle-switch__fake aria-hidden='true' />\n\t\t</Box>\n\t);\n}\n\nexport default ToggleSwitch;\n","import type { ElementProps } from '../../types/ElementProps';\nimport { Box } from '../Box';\n\nconst parsePlacement = (placement: string | null | undefined) => {\n\tconst [direction, position] = placement ? placement.split('-') : [undefined, undefined];\n\n\tif (direction === 'right' || direction === 'left') {\n\t\treturn [direction, undefined];\n\t}\n\n\treturn [direction, position];\n};\n\nexport type TooltipProps = ElementProps<HTMLElement> & {\n\tvariation?: 'dark' | 'light';\n\tplacement?:\n\t\t'top-start' | 'top-middle' | 'top-end' | 'bottom-start' | 'bottom-middle' | 'bottom-end' | 'top' | 'left' | 'bottom' | 'right' | null;\n};\n\nfunction Tooltip({ variation = 'dark', placement, ...props }: TooltipProps) {\n\tconst [direction, position] = parsePlacement(placement);\n\n\treturn (\n\t\t<Box\n\t\t\tis='div'\n\t\t\trcx-tooltip\n\t\t\trcx-tooltip--dir={direction}\n\t\t\trcx-tooltip--pos={position}\n\t\t\trcx-tooltip--light={variation === 'light'}\n\t\t\trcx-tooltip--dark={variation === 'dark'}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default Tooltip;\n","import { InputBox, type InputBoxProps } from '../InputBox';\n\nexport type UrlInputProps = Omit<InputBoxProps<HTMLInputElement>, 'type'>;\n\nfunction UrlInput(props: UrlInputProps) {\n\treturn <InputBox type='url' {...props} />;\n}\n\nexport default UrlInput;\n"],"mappings":"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ACL;MAAE,MAAM;MAAwB,OAAO,aAAa;KAAO;KAC3D;MAAE,MAAM;MAAsB,OAAO,aAAa;KAAK;KACvD;MAAE,MAAM;MAAsB,OAAO,aAAa;KAAK;KACvD;MAAE,MAAM;MAA0B,OAAO,aAAa;KAAS;KAC/D;MAAE,MAAM;MAAyB,OAAO,aAAa;KAAQ;KAC7D;MAAE,MAAM;MAAyB,OAAO,aAAa;KAAQ;IAC9D;GACD;GACA;IACC,UAAU;IACV,aAAa;IACb,MAAM;KACL;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;IACD;GACD;GACA;IACC,aAAa;IACb,MAAM;KACL;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;IACD;GACD;GACA;IACC,aAAa;IACb,MAAM;KACL;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;IACD;GACD;GACA;IACC,aAAa;IACb,MAAM;KACL;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO,OAAO;KACf;KACA;MACC,MAAM;MACN,OAAO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"}