@vector-im/compound-web 8.4.0 → 9.0.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 (623) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +33 -0
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/components/ActivityMarker/Pill.cjs +15 -10
  4. package/dist/components/ActivityMarker/Pill.cjs.map +1 -1
  5. package/dist/components/ActivityMarker/Pill.js +13 -10
  6. package/dist/components/ActivityMarker/Pill.js.map +1 -1
  7. package/dist/components/ActivityMarker/Pill.module.cjs +5 -0
  8. package/dist/components/ActivityMarker/Pill.module.cjs.map +1 -0
  9. package/dist/components/ActivityMarker/Pill.module.js +5 -0
  10. package/dist/components/ActivityMarker/Pill.module.js.map +1 -0
  11. package/dist/components/ActivityMarker/Unread.cjs +14 -6
  12. package/dist/components/ActivityMarker/Unread.cjs.map +1 -1
  13. package/dist/components/ActivityMarker/Unread.js +12 -6
  14. package/dist/components/ActivityMarker/Unread.js.map +1 -1
  15. package/dist/components/ActivityMarker/Unread.module.cjs +5 -0
  16. package/dist/components/ActivityMarker/Unread.module.cjs.map +1 -0
  17. package/dist/components/ActivityMarker/Unread.module.js +5 -0
  18. package/dist/components/ActivityMarker/Unread.module.js.map +1 -0
  19. package/dist/components/ActivityMarker/UnreadCounter.cjs +18 -8
  20. package/dist/components/ActivityMarker/UnreadCounter.cjs.map +1 -1
  21. package/dist/components/ActivityMarker/UnreadCounter.js +16 -8
  22. package/dist/components/ActivityMarker/UnreadCounter.js.map +1 -1
  23. package/dist/components/ActivityMarker/UnreadCounter.module.cjs +6 -0
  24. package/dist/components/ActivityMarker/UnreadCounter.module.cjs.map +1 -0
  25. package/dist/components/ActivityMarker/UnreadCounter.module.js +6 -0
  26. package/dist/components/ActivityMarker/UnreadCounter.module.js.map +1 -0
  27. package/dist/components/Alert/Alert.cjs +72 -61
  28. package/dist/components/Alert/Alert.cjs.map +1 -1
  29. package/dist/components/Alert/Alert.js +60 -56
  30. package/dist/components/Alert/Alert.js.map +1 -1
  31. package/dist/components/Alert/Alert.module.cjs +18 -0
  32. package/dist/components/Alert/Alert.module.cjs.map +1 -0
  33. package/dist/components/Alert/Alert.module.js +18 -0
  34. package/dist/components/Alert/Alert.module.js.map +1 -0
  35. package/dist/components/Avatar/Avatar.cjs +48 -55
  36. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  37. package/dist/components/Avatar/Avatar.js +44 -54
  38. package/dist/components/Avatar/Avatar.js.map +1 -1
  39. package/dist/components/Avatar/Avatar.module.cjs +11 -0
  40. package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
  41. package/dist/components/Avatar/Avatar.module.js +11 -0
  42. package/dist/components/Avatar/Avatar.module.js.map +1 -0
  43. package/dist/components/Avatar/AvatarStack.cjs +50 -27
  44. package/dist/components/Avatar/AvatarStack.cjs.map +1 -1
  45. package/dist/components/Avatar/AvatarStack.js +46 -26
  46. package/dist/components/Avatar/AvatarStack.js.map +1 -1
  47. package/dist/components/Avatar/avatar-clip.mask.cjs +6 -0
  48. package/dist/components/Avatar/avatar-clip.mask.cjs.map +1 -0
  49. package/dist/components/Avatar/avatar-clip.mask.js +6 -0
  50. package/dist/components/Avatar/avatar-clip.mask.js.map +1 -0
  51. package/dist/components/Avatar/useIdColorHash.cjs +13 -9
  52. package/dist/components/Avatar/useIdColorHash.cjs.map +1 -1
  53. package/dist/components/Avatar/useIdColorHash.js +14 -10
  54. package/dist/components/Avatar/useIdColorHash.js.map +1 -1
  55. package/dist/components/Badge/Badge.cjs +24 -24
  56. package/dist/components/Badge/Badge.cjs.map +1 -1
  57. package/dist/components/Badge/Badge.js +21 -24
  58. package/dist/components/Badge/Badge.js.map +1 -1
  59. package/dist/components/Badge/Badge.module.cjs +5 -0
  60. package/dist/components/Badge/Badge.module.cjs.map +1 -0
  61. package/dist/components/Badge/Badge.module.js +5 -0
  62. package/dist/components/Badge/Badge.module.js.map +1 -0
  63. package/dist/components/Breadcrumb/Breadcrumb.cjs +56 -54
  64. package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  65. package/dist/components/Breadcrumb/Breadcrumb.js +51 -53
  66. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  67. package/dist/components/Breadcrumb/Breadcrumb.module.cjs +9 -0
  68. package/dist/components/Breadcrumb/Breadcrumb.module.cjs.map +1 -0
  69. package/dist/components/Breadcrumb/Breadcrumb.module.js +9 -0
  70. package/dist/components/Breadcrumb/Breadcrumb.module.js.map +1 -0
  71. package/dist/components/Button/Button.cjs +40 -52
  72. package/dist/components/Button/Button.cjs.map +1 -1
  73. package/dist/components/Button/Button.d.ts +2 -1
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +36 -51
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/Button/Button.module.cjs +13 -0
  78. package/dist/components/Button/Button.module.cjs.map +1 -0
  79. package/dist/components/Button/Button.module.js +13 -0
  80. package/dist/components/Button/Button.module.js.map +1 -0
  81. package/dist/components/Button/IconButton/IconButton.cjs +43 -52
  82. package/dist/components/Button/IconButton/IconButton.cjs.map +1 -1
  83. package/dist/components/Button/IconButton/IconButton.js +38 -50
  84. package/dist/components/Button/IconButton/IconButton.js.map +1 -1
  85. package/dist/components/Button/IconButton/IconButton.module.cjs +11 -0
  86. package/dist/components/Button/IconButton/IconButton.module.cjs.map +1 -0
  87. package/dist/components/Button/IconButton/IconButton.module.js +11 -0
  88. package/dist/components/Button/IconButton/IconButton.module.js.map +1 -0
  89. package/dist/components/Button/UnstyledButton.cjs +36 -45
  90. package/dist/components/Button/UnstyledButton.cjs.map +1 -1
  91. package/dist/components/Button/UnstyledButton.js +34 -45
  92. package/dist/components/Button/UnstyledButton.js.map +1 -1
  93. package/dist/components/ChatFilter/ChatFilter.cjs +23 -20
  94. package/dist/components/ChatFilter/ChatFilter.cjs.map +1 -1
  95. package/dist/components/ChatFilter/ChatFilter.js +21 -20
  96. package/dist/components/ChatFilter/ChatFilter.js.map +1 -1
  97. package/dist/components/ChatFilter/ChatFilter.module.cjs +6 -0
  98. package/dist/components/ChatFilter/ChatFilter.module.cjs.map +1 -0
  99. package/dist/components/ChatFilter/ChatFilter.module.js +6 -0
  100. package/dist/components/ChatFilter/ChatFilter.module.js.map +1 -0
  101. package/dist/components/Dropdown/Dropdown.cjs +231 -249
  102. package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
  103. package/dist/components/Dropdown/Dropdown.js +225 -249
  104. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  105. package/dist/components/Dropdown/Dropdown.module.cjs +13 -0
  106. package/dist/components/Dropdown/Dropdown.module.cjs.map +1 -0
  107. package/dist/components/Dropdown/Dropdown.module.js +13 -0
  108. package/dist/components/Dropdown/Dropdown.module.js.map +1 -0
  109. package/dist/components/Form/Controls/Action/Action.cjs +51 -31
  110. package/dist/components/Form/Controls/Action/Action.cjs.map +1 -1
  111. package/dist/components/Form/Controls/Action/Action.js +46 -30
  112. package/dist/components/Form/Controls/Action/Action.js.map +1 -1
  113. package/dist/components/Form/Controls/Action/Action.module.cjs +9 -0
  114. package/dist/components/Form/Controls/Action/Action.module.cjs.map +1 -0
  115. package/dist/components/Form/Controls/Action/Action.module.js +9 -0
  116. package/dist/components/Form/Controls/Action/Action.module.js.map +1 -0
  117. package/dist/components/Form/Controls/Checkbox/Checkbox.cjs +42 -20
  118. package/dist/components/Form/Controls/Checkbox/Checkbox.cjs.map +1 -1
  119. package/dist/components/Form/Controls/Checkbox/Checkbox.js +36 -19
  120. package/dist/components/Form/Controls/Checkbox/Checkbox.js.map +1 -1
  121. package/dist/components/Form/Controls/Checkbox/Checkbox.module.cjs +9 -0
  122. package/dist/components/Form/Controls/Checkbox/Checkbox.module.cjs.map +1 -0
  123. package/dist/components/Form/Controls/Checkbox/Checkbox.module.js +9 -0
  124. package/dist/components/Form/Controls/Checkbox/Checkbox.module.js.map +1 -0
  125. package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs +171 -203
  126. package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs.map +1 -1
  127. package/dist/components/Form/Controls/EditInPlace/EditInPlace.js +166 -202
  128. package/dist/components/Form/Controls/EditInPlace/EditInPlace.js.map +1 -1
  129. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.cjs +8 -0
  130. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.cjs.map +1 -0
  131. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.js +8 -0
  132. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.js.map +1 -0
  133. package/dist/components/Form/Controls/MFA/MFA.cjs +60 -65
  134. package/dist/components/Form/Controls/MFA/MFA.cjs.map +1 -1
  135. package/dist/components/Form/Controls/MFA/MFA.js +56 -65
  136. package/dist/components/Form/Controls/MFA/MFA.js.map +1 -1
  137. package/dist/components/Form/Controls/MFA/MFA.module.cjs +9 -0
  138. package/dist/components/Form/Controls/MFA/MFA.module.cjs.map +1 -0
  139. package/dist/components/Form/Controls/MFA/MFA.module.js +9 -0
  140. package/dist/components/Form/Controls/MFA/MFA.module.js.map +1 -0
  141. package/dist/components/Form/Controls/Password/Password.cjs +52 -37
  142. package/dist/components/Form/Controls/Password/Password.cjs.map +1 -1
  143. package/dist/components/Form/Controls/Password/Password.js +45 -35
  144. package/dist/components/Form/Controls/Password/Password.js.map +1 -1
  145. package/dist/components/Form/Controls/Radio/Radio.cjs +33 -16
  146. package/dist/components/Form/Controls/Radio/Radio.cjs.map +1 -1
  147. package/dist/components/Form/Controls/Radio/Radio.js +28 -15
  148. package/dist/components/Form/Controls/Radio/Radio.js.map +1 -1
  149. package/dist/components/Form/Controls/Radio/Radio.module.cjs +9 -0
  150. package/dist/components/Form/Controls/Radio/Radio.module.cjs.map +1 -0
  151. package/dist/components/Form/Controls/Radio/Radio.module.js +9 -0
  152. package/dist/components/Form/Controls/Radio/Radio.module.js.map +1 -0
  153. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs +47 -29
  154. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs.map +1 -1
  155. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js +43 -28
  156. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js.map +1 -1
  157. package/dist/components/Form/Controls/Text/Text.cjs +34 -18
  158. package/dist/components/Form/Controls/Text/Text.cjs.map +1 -1
  159. package/dist/components/Form/Controls/Text/Text.js +30 -18
  160. package/dist/components/Form/Controls/Text/Text.js.map +1 -1
  161. package/dist/components/Form/Controls/Text/Text.module.cjs +8 -0
  162. package/dist/components/Form/Controls/Text/Text.module.cjs.map +1 -0
  163. package/dist/components/Form/Controls/Text/Text.module.js +8 -0
  164. package/dist/components/Form/Controls/Text/Text.module.js.map +1 -0
  165. package/dist/components/Form/Controls/Toggle/Toggle.cjs +37 -25
  166. package/dist/components/Form/Controls/Toggle/Toggle.cjs.map +1 -1
  167. package/dist/components/Form/Controls/Toggle/Toggle.js +32 -24
  168. package/dist/components/Form/Controls/Toggle/Toggle.js.map +1 -1
  169. package/dist/components/Form/Controls/Toggle/Toggle.module.cjs +9 -0
  170. package/dist/components/Form/Controls/Toggle/Toggle.module.cjs.map +1 -0
  171. package/dist/components/Form/Controls/Toggle/Toggle.module.js +9 -0
  172. package/dist/components/Form/Controls/Toggle/Toggle.module.js.map +1 -0
  173. package/dist/components/Form/Field.cjs +25 -14
  174. package/dist/components/Form/Field.cjs.map +1 -1
  175. package/dist/components/Form/Field.js +22 -14
  176. package/dist/components/Form/Field.js.map +1 -1
  177. package/dist/components/Form/InlineField.cjs +27 -17
  178. package/dist/components/Form/InlineField.cjs.map +1 -1
  179. package/dist/components/Form/InlineField.js +23 -16
  180. package/dist/components/Form/InlineField.js.map +1 -1
  181. package/dist/components/Form/Label.cjs +24 -11
  182. package/dist/components/Form/Label.cjs.map +1 -1
  183. package/dist/components/Form/Label.js +21 -11
  184. package/dist/components/Form/Label.js.map +1 -1
  185. package/dist/components/Form/Message.cjs +61 -40
  186. package/dist/components/Form/Message.cjs.map +1 -1
  187. package/dist/components/Form/Message.js +54 -41
  188. package/dist/components/Form/Message.js.map +1 -1
  189. package/dist/components/Form/Root.cjs +25 -14
  190. package/dist/components/Form/Root.cjs.map +1 -1
  191. package/dist/components/Form/Root.js +22 -14
  192. package/dist/components/Form/Root.js.map +1 -1
  193. package/dist/components/Form/Submit.cjs +23 -12
  194. package/dist/components/Form/Submit.cjs.map +1 -1
  195. package/dist/components/Form/Submit.js +21 -12
  196. package/dist/components/Form/Submit.js.map +1 -1
  197. package/dist/components/Form/form.module.cjs +21 -0
  198. package/dist/components/Form/form.module.cjs.map +1 -0
  199. package/dist/components/Form/form.module.js +21 -0
  200. package/dist/components/Form/form.module.js.map +1 -0
  201. package/dist/components/Form/index.cjs +55 -51
  202. package/dist/components/Form/index.cjs.map +1 -1
  203. package/dist/components/Form/index.js +48 -43
  204. package/dist/components/Form/index.js.map +1 -1
  205. package/dist/components/Glass/Glass.cjs +20 -10
  206. package/dist/components/Glass/Glass.cjs.map +1 -1
  207. package/dist/components/Glass/Glass.js +17 -10
  208. package/dist/components/Glass/Glass.js.map +1 -1
  209. package/dist/components/Glass/Glass.module.cjs +5 -0
  210. package/dist/components/Glass/Glass.module.cjs.map +1 -0
  211. package/dist/components/Glass/Glass.module.js +5 -0
  212. package/dist/components/Glass/Glass.module.js.map +1 -0
  213. package/dist/components/Icon/BigIcon/BigIcon.cjs +18 -25
  214. package/dist/components/Icon/BigIcon/BigIcon.cjs.map +1 -1
  215. package/dist/components/Icon/BigIcon/BigIcon.d.ts +8 -12
  216. package/dist/components/Icon/BigIcon/BigIcon.d.ts.map +1 -1
  217. package/dist/components/Icon/BigIcon/BigIcon.js +15 -25
  218. package/dist/components/Icon/BigIcon/BigIcon.js.map +1 -1
  219. package/dist/components/Icon/BigIcon/BigIcon.module.cjs +6 -0
  220. package/dist/components/Icon/BigIcon/BigIcon.module.cjs.map +1 -0
  221. package/dist/components/Icon/BigIcon/BigIcon.module.js +6 -0
  222. package/dist/components/Icon/BigIcon/BigIcon.module.js.map +1 -0
  223. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs +22 -22
  224. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs.map +1 -1
  225. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.js +19 -22
  226. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.js.map +1 -1
  227. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.cjs +6 -0
  228. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.cjs.map +1 -0
  229. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.js +6 -0
  230. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.js.map +1 -0
  231. package/dist/components/InlineSpinner/InlineSpinner.cjs +24 -21
  232. package/dist/components/InlineSpinner/InlineSpinner.cjs.map +1 -1
  233. package/dist/components/InlineSpinner/InlineSpinner.js +19 -20
  234. package/dist/components/InlineSpinner/InlineSpinner.js.map +1 -1
  235. package/dist/components/InlineSpinner/InlineSpinner.module.cjs +8 -0
  236. package/dist/components/InlineSpinner/InlineSpinner.module.cjs.map +1 -0
  237. package/dist/components/InlineSpinner/InlineSpinner.module.js +8 -0
  238. package/dist/components/InlineSpinner/InlineSpinner.module.js.map +1 -0
  239. package/dist/components/Link/Link.cjs +25 -23
  240. package/dist/components/Link/Link.cjs.map +1 -1
  241. package/dist/components/Link/Link.d.ts +5 -4
  242. package/dist/components/Link/Link.d.ts.map +1 -1
  243. package/dist/components/Link/Link.js +22 -23
  244. package/dist/components/Link/Link.js.map +1 -1
  245. package/dist/components/Link/Link.module.cjs +5 -0
  246. package/dist/components/Link/Link.module.cjs.map +1 -0
  247. package/dist/components/Link/Link.module.js +5 -0
  248. package/dist/components/Link/Link.module.js.map +1 -0
  249. package/dist/components/Menu/CheckboxMenuItem.cjs +37 -39
  250. package/dist/components/Menu/CheckboxMenuItem.cjs.map +1 -1
  251. package/dist/components/Menu/CheckboxMenuItem.js +34 -38
  252. package/dist/components/Menu/CheckboxMenuItem.js.map +1 -1
  253. package/dist/components/Menu/ContextMenu.cjs +71 -62
  254. package/dist/components/Menu/ContextMenu.cjs.map +1 -1
  255. package/dist/components/Menu/ContextMenu.js +66 -60
  256. package/dist/components/Menu/ContextMenu.js.map +1 -1
  257. package/dist/components/Menu/DrawerMenu.cjs +27 -22
  258. package/dist/components/Menu/DrawerMenu.cjs.map +1 -1
  259. package/dist/components/Menu/DrawerMenu.js +23 -21
  260. package/dist/components/Menu/DrawerMenu.js.map +1 -1
  261. package/dist/components/Menu/DrawerMenu.module.cjs +9 -0
  262. package/dist/components/Menu/DrawerMenu.module.cjs.map +1 -0
  263. package/dist/components/Menu/DrawerMenu.module.js +9 -0
  264. package/dist/components/Menu/DrawerMenu.module.js.map +1 -0
  265. package/dist/components/Menu/FloatingMenu.cjs +31 -28
  266. package/dist/components/Menu/FloatingMenu.cjs.map +1 -1
  267. package/dist/components/Menu/FloatingMenu.js +27 -27
  268. package/dist/components/Menu/FloatingMenu.js.map +1 -1
  269. package/dist/components/Menu/FloatingMenu.module.cjs +14 -0
  270. package/dist/components/Menu/FloatingMenu.module.cjs.map +1 -0
  271. package/dist/components/Menu/FloatingMenu.module.js +14 -0
  272. package/dist/components/Menu/FloatingMenu.module.js.map +1 -0
  273. package/dist/components/Menu/Menu.cjs +68 -56
  274. package/dist/components/Menu/Menu.cjs.map +1 -1
  275. package/dist/components/Menu/Menu.js +63 -54
  276. package/dist/components/Menu/Menu.js.map +1 -1
  277. package/dist/components/Menu/MenuContext.cjs +10 -5
  278. package/dist/components/Menu/MenuContext.cjs.map +1 -1
  279. package/dist/components/Menu/MenuContext.js +10 -5
  280. package/dist/components/Menu/MenuContext.js.map +1 -1
  281. package/dist/components/Menu/MenuItem.cjs +83 -95
  282. package/dist/components/Menu/MenuItem.cjs.map +1 -1
  283. package/dist/components/Menu/MenuItem.js +77 -93
  284. package/dist/components/Menu/MenuItem.js.map +1 -1
  285. package/dist/components/Menu/MenuItem.module.cjs +20 -0
  286. package/dist/components/Menu/MenuItem.module.cjs.map +1 -0
  287. package/dist/components/Menu/MenuItem.module.js +20 -0
  288. package/dist/components/Menu/MenuItem.module.js.map +1 -0
  289. package/dist/components/Menu/MenuTitle.cjs +21 -14
  290. package/dist/components/Menu/MenuTitle.cjs.map +1 -1
  291. package/dist/components/Menu/MenuTitle.js +17 -13
  292. package/dist/components/Menu/MenuTitle.js.map +1 -1
  293. package/dist/components/Menu/MenuTitle.module.cjs +6 -0
  294. package/dist/components/Menu/MenuTitle.module.cjs.map +1 -0
  295. package/dist/components/Menu/MenuTitle.module.js +6 -0
  296. package/dist/components/Menu/MenuTitle.module.js.map +1 -0
  297. package/dist/components/Menu/RadioMenuItem.cjs +35 -37
  298. package/dist/components/Menu/RadioMenuItem.cjs.map +1 -1
  299. package/dist/components/Menu/RadioMenuItem.js +32 -36
  300. package/dist/components/Menu/RadioMenuItem.js.map +1 -1
  301. package/dist/components/Menu/ToggleMenuItem.cjs +39 -41
  302. package/dist/components/Menu/ToggleMenuItem.cjs.map +1 -1
  303. package/dist/components/Menu/ToggleMenuItem.js +36 -40
  304. package/dist/components/Menu/ToggleMenuItem.js.map +1 -1
  305. package/dist/components/Nav/Nav.module.cjs +11 -0
  306. package/dist/components/Nav/Nav.module.cjs.map +1 -0
  307. package/dist/components/Nav/Nav.module.js +11 -0
  308. package/dist/components/Nav/Nav.module.js.map +1 -0
  309. package/dist/components/Nav/NavBar.cjs +47 -28
  310. package/dist/components/Nav/NavBar.cjs.map +1 -1
  311. package/dist/components/Nav/NavBar.js +44 -28
  312. package/dist/components/Nav/NavBar.js.map +1 -1
  313. package/dist/components/Nav/NavItem.cjs +70 -72
  314. package/dist/components/Nav/NavItem.cjs.map +1 -1
  315. package/dist/components/Nav/NavItem.js +68 -72
  316. package/dist/components/Nav/NavItem.js.map +1 -1
  317. package/dist/components/PageHeader/PageHeader.d.ts +19 -0
  318. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
  319. package/dist/components/Progress/Progress.cjs +43 -56
  320. package/dist/components/Progress/Progress.cjs.map +1 -1
  321. package/dist/components/Progress/Progress.d.ts +2 -1
  322. package/dist/components/Progress/Progress.d.ts.map +1 -1
  323. package/dist/components/Progress/Progress.js +40 -56
  324. package/dist/components/Progress/Progress.js.map +1 -1
  325. package/dist/components/Progress/Progress.module.cjs +11 -0
  326. package/dist/components/Progress/Progress.module.cjs.map +1 -0
  327. package/dist/components/Progress/Progress.module.js +11 -0
  328. package/dist/components/Progress/Progress.module.js.map +1 -0
  329. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs +108 -115
  330. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs.map +1 -1
  331. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.js +105 -114
  332. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.js.map +1 -1
  333. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.cjs +11 -0
  334. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.cjs.map +1 -0
  335. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.js +11 -0
  336. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.js.map +1 -0
  337. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.cjs +16 -12
  338. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.cjs.map +1 -1
  339. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.js +15 -13
  340. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.js.map +1 -1
  341. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.cjs +52 -62
  342. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.cjs.map +1 -1
  343. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js +52 -63
  344. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js.map +1 -1
  345. package/dist/components/Search/Search.cjs +43 -36
  346. package/dist/components/Search/Search.cjs.map +1 -1
  347. package/dist/components/Search/Search.js +37 -34
  348. package/dist/components/Search/Search.js.map +1 -1
  349. package/dist/components/Search/Search.module.cjs +9 -0
  350. package/dist/components/Search/Search.module.cjs.map +1 -0
  351. package/dist/components/Search/Search.module.js +9 -0
  352. package/dist/components/Search/Search.module.js.map +1 -0
  353. package/dist/components/Separator/Separator.cjs +34 -57
  354. package/dist/components/Separator/Separator.cjs.map +1 -1
  355. package/dist/components/Separator/Separator.js +29 -39
  356. package/dist/components/Separator/Separator.js.map +1 -1
  357. package/dist/components/Separator/Separator.module.cjs +5 -0
  358. package/dist/components/Separator/Separator.module.cjs.map +1 -0
  359. package/dist/components/Separator/Separator.module.js +5 -0
  360. package/dist/components/Separator/Separator.module.js.map +1 -0
  361. package/dist/components/Toast/Toast.cjs +19 -10
  362. package/dist/components/Toast/Toast.cjs.map +1 -1
  363. package/dist/components/Toast/Toast.js +15 -9
  364. package/dist/components/Toast/Toast.js.map +1 -1
  365. package/dist/components/Toast/Toast.module.cjs +6 -0
  366. package/dist/components/Toast/Toast.module.cjs.map +1 -0
  367. package/dist/components/Toast/Toast.module.js +6 -0
  368. package/dist/components/Toast/Toast.module.js.map +1 -0
  369. package/dist/components/Tooltip/Tooltip.cjs +103 -118
  370. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  371. package/dist/components/Tooltip/Tooltip.js +99 -117
  372. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  373. package/dist/components/Tooltip/Tooltip.module.cjs +10 -0
  374. package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
  375. package/dist/components/Tooltip/Tooltip.module.js +10 -0
  376. package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
  377. package/dist/components/Tooltip/TooltipContext.cjs +16 -10
  378. package/dist/components/Tooltip/TooltipContext.cjs.map +1 -1
  379. package/dist/components/Tooltip/TooltipContext.js +15 -11
  380. package/dist/components/Tooltip/TooltipContext.js.map +1 -1
  381. package/dist/components/Tooltip/TooltipProvider.cjs +22 -7
  382. package/dist/components/Tooltip/TooltipProvider.cjs.map +1 -1
  383. package/dist/components/Tooltip/TooltipProvider.js +19 -7
  384. package/dist/components/Tooltip/TooltipProvider.js.map +1 -1
  385. package/dist/components/Tooltip/useTooltip.cjs +112 -139
  386. package/dist/components/Tooltip/useTooltip.cjs.map +1 -1
  387. package/dist/components/Tooltip/useTooltip.js +111 -139
  388. package/dist/components/Tooltip/useTooltip.js.map +1 -1
  389. package/dist/components/Typography/Body.cjs +17 -10
  390. package/dist/components/Typography/Body.cjs.map +1 -1
  391. package/dist/components/Typography/Body.js +15 -10
  392. package/dist/components/Typography/Body.js.map +1 -1
  393. package/dist/components/Typography/Heading.cjs +92 -20
  394. package/dist/components/Typography/Heading.cjs.map +1 -1
  395. package/dist/components/Typography/Heading.d.ts +2 -1
  396. package/dist/components/Typography/Heading.d.ts.map +1 -1
  397. package/dist/components/Typography/Heading.js +89 -25
  398. package/dist/components/Typography/Heading.js.map +1 -1
  399. package/dist/components/Typography/Text.cjs +20 -7
  400. package/dist/components/Typography/Text.cjs.map +1 -1
  401. package/dist/components/Typography/Text.d.ts +2 -1
  402. package/dist/components/Typography/Text.d.ts.map +1 -1
  403. package/dist/components/Typography/Text.js +18 -7
  404. package/dist/components/Typography/Text.js.map +1 -1
  405. package/dist/components/Typography/Typography.cjs +17 -28
  406. package/dist/components/Typography/Typography.cjs.map +1 -1
  407. package/dist/components/Typography/Typography.d.ts +2 -1
  408. package/dist/components/Typography/Typography.d.ts.map +1 -1
  409. package/dist/components/Typography/Typography.js +14 -28
  410. package/dist/components/Typography/Typography.js.map +1 -1
  411. package/dist/components/Typography/Typography.module.cjs +30 -0
  412. package/dist/components/Typography/Typography.module.cjs.map +1 -0
  413. package/dist/components/Typography/Typography.module.js +30 -0
  414. package/dist/components/Typography/Typography.module.js.map +1 -0
  415. package/dist/components/VisualList/VisualList.cjs +20 -12
  416. package/dist/components/VisualList/VisualList.cjs.map +1 -1
  417. package/dist/components/VisualList/VisualList.js +17 -12
  418. package/dist/components/VisualList/VisualList.js.map +1 -1
  419. package/dist/components/VisualList/VisualList.module.cjs +6 -0
  420. package/dist/components/VisualList/VisualList.module.cjs.map +1 -0
  421. package/dist/components/VisualList/VisualList.module.js +6 -0
  422. package/dist/components/VisualList/VisualList.module.js.map +1 -0
  423. package/dist/components/VisualList/VisualListItem.cjs +28 -36
  424. package/dist/components/VisualList/VisualListItem.cjs.map +1 -1
  425. package/dist/components/VisualList/VisualListItem.js +25 -36
  426. package/dist/components/VisualList/VisualListItem.js.map +1 -1
  427. package/dist/components/VisualList/VisualListItem.module.cjs +11 -0
  428. package/dist/components/VisualList/VisualListItem.module.cjs.map +1 -0
  429. package/dist/components/VisualList/VisualListItem.module.js +11 -0
  430. package/dist/components/VisualList/VisualListItem.module.js.map +1 -0
  431. package/dist/index.cjs +147 -139
  432. package/dist/index.js +36 -116
  433. package/dist/style.css +1609 -1601
  434. package/dist/utils/platform.cjs +12 -11
  435. package/dist/utils/platform.cjs.map +1 -1
  436. package/dist/utils/platform.js +13 -12
  437. package/dist/utils/platform.js.map +1 -1
  438. package/dist/utils/size.d.ts +5 -0
  439. package/dist/utils/size.d.ts.map +1 -0
  440. package/dist/utils/string.cjs +19 -19
  441. package/dist/utils/string.cjs.map +1 -1
  442. package/dist/utils/string.js +20 -20
  443. package/dist/utils/string.js.map +1 -1
  444. package/package.json +15 -15
  445. package/src/components/Avatar/Avatar.module.css +1 -1
  446. package/src/components/Avatar/avatar-clip.mask.svg +2 -6
  447. package/src/components/Breadcrumb/Breadcrumb.module.css +1 -1
  448. package/src/components/Breadcrumb/Breadcrumb.tsx +1 -1
  449. package/src/components/Button/Button.tsx +2 -1
  450. package/src/components/Dropdown/Dropdown.module.css +1 -1
  451. package/src/components/Icon/BigIcon/BigIcon.module.css +11 -8
  452. package/src/components/Icon/BigIcon/BigIcon.tsx +11 -18
  453. package/src/components/Link/Link.module.css +5 -1
  454. package/src/components/Link/Link.tsx +6 -5
  455. package/src/components/Nav/Nav.module.css +1 -1
  456. package/src/components/PageHeader/PageHeader.module.css +41 -0
  457. package/src/components/PageHeader/PageHeader.tsx +67 -0
  458. package/src/components/Progress/Progress.tsx +2 -1
  459. package/src/components/Separator/Separator.module.css +2 -2
  460. package/src/components/Typography/Heading.tsx +2 -1
  461. package/src/components/Typography/Text.tsx +2 -1
  462. package/src/components/Typography/Typography.tsx +2 -1
  463. package/src/components/VisualList/VisualList.module.css +1 -1
  464. package/src/utils/size.ts +11 -0
  465. package/tsconfig.json +1 -0
  466. package/dist/components/ActivityMarker/Pill.module.css.cjs +0 -9
  467. package/dist/components/ActivityMarker/Pill.module.css.cjs.map +0 -1
  468. package/dist/components/ActivityMarker/Pill.module.css.js +0 -9
  469. package/dist/components/ActivityMarker/Pill.module.css.js.map +0 -1
  470. package/dist/components/ActivityMarker/Unread.module.css.cjs +0 -9
  471. package/dist/components/ActivityMarker/Unread.module.css.cjs.map +0 -1
  472. package/dist/components/ActivityMarker/Unread.module.css.js +0 -9
  473. package/dist/components/ActivityMarker/Unread.module.css.js.map +0 -1
  474. package/dist/components/ActivityMarker/UnreadCounter.module.css.cjs +0 -7
  475. package/dist/components/ActivityMarker/UnreadCounter.module.css.cjs.map +0 -1
  476. package/dist/components/ActivityMarker/UnreadCounter.module.css.js +0 -7
  477. package/dist/components/ActivityMarker/UnreadCounter.module.css.js.map +0 -1
  478. package/dist/components/Alert/Alert.module.css.cjs +0 -19
  479. package/dist/components/Alert/Alert.module.css.cjs.map +0 -1
  480. package/dist/components/Alert/Alert.module.css.js +0 -19
  481. package/dist/components/Alert/Alert.module.css.js.map +0 -1
  482. package/dist/components/Avatar/Avatar.module.css.cjs +0 -15
  483. package/dist/components/Avatar/Avatar.module.css.cjs.map +0 -1
  484. package/dist/components/Avatar/Avatar.module.css.js +0 -15
  485. package/dist/components/Avatar/Avatar.module.css.js.map +0 -1
  486. package/dist/components/Avatar/avatar-clip.mask.svg.cjs +0 -5
  487. package/dist/components/Avatar/avatar-clip.mask.svg.cjs.map +0 -1
  488. package/dist/components/Avatar/avatar-clip.mask.svg.js +0 -5
  489. package/dist/components/Avatar/avatar-clip.mask.svg.js.map +0 -1
  490. package/dist/components/Badge/Badge.module.css.cjs +0 -9
  491. package/dist/components/Badge/Badge.module.css.cjs.map +0 -1
  492. package/dist/components/Badge/Badge.module.css.js +0 -9
  493. package/dist/components/Badge/Badge.module.css.js.map +0 -1
  494. package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs +0 -13
  495. package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs.map +0 -1
  496. package/dist/components/Breadcrumb/Breadcrumb.module.css.js +0 -13
  497. package/dist/components/Breadcrumb/Breadcrumb.module.css.js.map +0 -1
  498. package/dist/components/Button/Button.module.css.cjs +0 -14
  499. package/dist/components/Button/Button.module.css.cjs.map +0 -1
  500. package/dist/components/Button/Button.module.css.js +0 -14
  501. package/dist/components/Button/Button.module.css.js.map +0 -1
  502. package/dist/components/Button/IconButton/IconButton.module.css.cjs +0 -11
  503. package/dist/components/Button/IconButton/IconButton.module.css.cjs.map +0 -1
  504. package/dist/components/Button/IconButton/IconButton.module.css.js +0 -11
  505. package/dist/components/Button/IconButton/IconButton.module.css.js.map +0 -1
  506. package/dist/components/ChatFilter/ChatFilter.module.css.cjs +0 -7
  507. package/dist/components/ChatFilter/ChatFilter.module.css.cjs.map +0 -1
  508. package/dist/components/ChatFilter/ChatFilter.module.css.js +0 -7
  509. package/dist/components/ChatFilter/ChatFilter.module.css.js.map +0 -1
  510. package/dist/components/Dropdown/Dropdown.module.css.cjs +0 -27
  511. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +0 -1
  512. package/dist/components/Dropdown/Dropdown.module.css.js +0 -27
  513. package/dist/components/Dropdown/Dropdown.module.css.js.map +0 -1
  514. package/dist/components/Form/Controls/Action/Action.module.css.cjs +0 -15
  515. package/dist/components/Form/Controls/Action/Action.module.css.cjs.map +0 -1
  516. package/dist/components/Form/Controls/Action/Action.module.css.js +0 -15
  517. package/dist/components/Form/Controls/Action/Action.module.css.js.map +0 -1
  518. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs +0 -15
  519. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs.map +0 -1
  520. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js +0 -15
  521. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js.map +0 -1
  522. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.cjs +0 -10
  523. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.cjs.map +0 -1
  524. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.js +0 -10
  525. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.js.map +0 -1
  526. package/dist/components/Form/Controls/MFA/MFA.module.css.cjs +0 -15
  527. package/dist/components/Form/Controls/MFA/MFA.module.css.cjs.map +0 -1
  528. package/dist/components/Form/Controls/MFA/MFA.module.css.js +0 -15
  529. package/dist/components/Form/Controls/MFA/MFA.module.css.js.map +0 -1
  530. package/dist/components/Form/Controls/Radio/Radio.module.css.cjs +0 -15
  531. package/dist/components/Form/Controls/Radio/Radio.module.css.cjs.map +0 -1
  532. package/dist/components/Form/Controls/Radio/Radio.module.css.js +0 -15
  533. package/dist/components/Form/Controls/Radio/Radio.module.css.js.map +0 -1
  534. package/dist/components/Form/Controls/Text/Text.module.css.cjs +0 -10
  535. package/dist/components/Form/Controls/Text/Text.module.css.cjs.map +0 -1
  536. package/dist/components/Form/Controls/Text/Text.module.css.js +0 -10
  537. package/dist/components/Form/Controls/Text/Text.module.css.js.map +0 -1
  538. package/dist/components/Form/Controls/Toggle/Toggle.module.css.cjs +0 -15
  539. package/dist/components/Form/Controls/Toggle/Toggle.module.css.cjs.map +0 -1
  540. package/dist/components/Form/Controls/Toggle/Toggle.module.css.js +0 -15
  541. package/dist/components/Form/Controls/Toggle/Toggle.module.css.js.map +0 -1
  542. package/dist/components/Form/form.module.css.cjs +0 -24
  543. package/dist/components/Form/form.module.css.cjs.map +0 -1
  544. package/dist/components/Form/form.module.css.js +0 -24
  545. package/dist/components/Form/form.module.css.js.map +0 -1
  546. package/dist/components/Glass/Glass.module.css.cjs +0 -9
  547. package/dist/components/Glass/Glass.module.css.cjs.map +0 -1
  548. package/dist/components/Glass/Glass.module.css.js +0 -9
  549. package/dist/components/Glass/Glass.module.css.js.map +0 -1
  550. package/dist/components/Icon/BigIcon/BigIcon.module.css.cjs +0 -15
  551. package/dist/components/Icon/BigIcon/BigIcon.module.css.cjs.map +0 -1
  552. package/dist/components/Icon/BigIcon/BigIcon.module.css.js +0 -15
  553. package/dist/components/Icon/BigIcon/BigIcon.module.css.js.map +0 -1
  554. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.cjs +0 -7
  555. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.cjs.map +0 -1
  556. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.js +0 -7
  557. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.js.map +0 -1
  558. package/dist/components/InlineSpinner/InlineSpinner.module.css.cjs +0 -9
  559. package/dist/components/InlineSpinner/InlineSpinner.module.css.cjs.map +0 -1
  560. package/dist/components/InlineSpinner/InlineSpinner.module.css.js +0 -9
  561. package/dist/components/InlineSpinner/InlineSpinner.module.css.js.map +0 -1
  562. package/dist/components/Link/Link.module.css.cjs +0 -9
  563. package/dist/components/Link/Link.module.css.cjs.map +0 -1
  564. package/dist/components/Link/Link.module.css.js +0 -9
  565. package/dist/components/Link/Link.module.css.js.map +0 -1
  566. package/dist/components/Menu/DrawerMenu.module.css.cjs +0 -15
  567. package/dist/components/Menu/DrawerMenu.module.css.cjs.map +0 -1
  568. package/dist/components/Menu/DrawerMenu.module.css.js +0 -15
  569. package/dist/components/Menu/DrawerMenu.module.css.js.map +0 -1
  570. package/dist/components/Menu/FloatingMenu.module.css.cjs +0 -12
  571. package/dist/components/Menu/FloatingMenu.module.css.cjs.map +0 -1
  572. package/dist/components/Menu/FloatingMenu.module.css.js +0 -12
  573. package/dist/components/Menu/FloatingMenu.module.css.js.map +0 -1
  574. package/dist/components/Menu/MenuItem.module.css.cjs +0 -24
  575. package/dist/components/Menu/MenuItem.module.css.cjs.map +0 -1
  576. package/dist/components/Menu/MenuItem.module.css.js +0 -24
  577. package/dist/components/Menu/MenuItem.module.css.js.map +0 -1
  578. package/dist/components/Menu/MenuTitle.module.css.cjs +0 -7
  579. package/dist/components/Menu/MenuTitle.module.css.cjs.map +0 -1
  580. package/dist/components/Menu/MenuTitle.module.css.js +0 -7
  581. package/dist/components/Menu/MenuTitle.module.css.js.map +0 -1
  582. package/dist/components/Nav/Nav.module.css.cjs +0 -10
  583. package/dist/components/Nav/Nav.module.css.cjs.map +0 -1
  584. package/dist/components/Nav/Nav.module.css.js +0 -10
  585. package/dist/components/Nav/Nav.module.css.js.map +0 -1
  586. package/dist/components/Progress/Progress.module.css.cjs +0 -10
  587. package/dist/components/Progress/Progress.module.css.cjs.map +0 -1
  588. package/dist/components/Progress/Progress.module.css.js +0 -10
  589. package/dist/components/Progress/Progress.module.css.js.map +0 -1
  590. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.cjs +0 -21
  591. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.cjs.map +0 -1
  592. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.js +0 -21
  593. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.js.map +0 -1
  594. package/dist/components/Search/Search.module.css.cjs +0 -15
  595. package/dist/components/Search/Search.module.css.cjs.map +0 -1
  596. package/dist/components/Search/Search.module.css.js +0 -15
  597. package/dist/components/Search/Search.module.css.js.map +0 -1
  598. package/dist/components/Separator/Separator.module.css.cjs +0 -9
  599. package/dist/components/Separator/Separator.module.css.cjs.map +0 -1
  600. package/dist/components/Separator/Separator.module.css.js +0 -9
  601. package/dist/components/Separator/Separator.module.css.js.map +0 -1
  602. package/dist/components/Toast/Toast.module.css.cjs +0 -7
  603. package/dist/components/Toast/Toast.module.css.cjs.map +0 -1
  604. package/dist/components/Toast/Toast.module.css.js +0 -7
  605. package/dist/components/Toast/Toast.module.css.js.map +0 -1
  606. package/dist/components/Tooltip/Tooltip.module.css.cjs +0 -18
  607. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +0 -1
  608. package/dist/components/Tooltip/Tooltip.module.css.js +0 -18
  609. package/dist/components/Tooltip/Tooltip.module.css.js.map +0 -1
  610. package/dist/components/Typography/Typography.module.css.cjs +0 -30
  611. package/dist/components/Typography/Typography.module.css.cjs.map +0 -1
  612. package/dist/components/Typography/Typography.module.css.js +0 -30
  613. package/dist/components/Typography/Typography.module.css.js.map +0 -1
  614. package/dist/components/VisualList/VisualList.module.css.cjs +0 -7
  615. package/dist/components/VisualList/VisualList.module.css.cjs.map +0 -1
  616. package/dist/components/VisualList/VisualList.module.css.js +0 -7
  617. package/dist/components/VisualList/VisualList.module.css.js.map +0 -1
  618. package/dist/components/VisualList/VisualListItem.module.css.cjs +0 -10
  619. package/dist/components/VisualList/VisualListItem.module.css.cjs.map +0 -1
  620. package/dist/components/VisualList/VisualListItem.module.css.js +0 -10
  621. package/dist/components/VisualList/VisualListItem.module.css.js.map +0 -1
  622. package/dist/index.cjs.map +0 -1
  623. package/dist/index.js.map +0 -1
@@ -1,63 +1,67 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import Alert_module_default from "./Alert.module.js";
2
+ import { Text } from "../Typography/Text.js";
3
+ import { IconButton } from "../Button/IconButton/IconButton.js";
2
4
  import classNames from "classnames";
3
5
  import { useCallback } from "react";
4
6
  import CheckCircleIcon from "@vector-im/compound-design-tokens/assets/web/icons/check-circle";
5
7
  import ErrorIcon from "@vector-im/compound-design-tokens/assets/web/icons/error-solid";
6
8
  import InfoIcon from "@vector-im/compound-design-tokens/assets/web/icons/info";
7
9
  import CloseIcon from "@vector-im/compound-design-tokens/assets/web/icons/close";
8
- import styles from "./Alert.module.css.js";
9
- import { Text } from "../Typography/Text.js";
10
- import { IconButton } from "../Button/IconButton/IconButton.js";
11
- const Alert = ({
12
- type,
13
- title,
14
- children,
15
- className,
16
- actions,
17
- onClose,
18
- ...props
19
- }) => {
20
- const classes = classNames(styles.alert, className);
21
- const renderIcon = useCallback(
22
- (props2) => {
23
- switch (type) {
24
- case "critical":
25
- return /* @__PURE__ */ jsx(ErrorIcon, { ...props2 });
26
- case "info":
27
- return /* @__PURE__ */ jsx(InfoIcon, { ...props2 });
28
- case "success":
29
- return /* @__PURE__ */ jsx(CheckCircleIcon, { ...props2 });
30
- }
31
- },
32
- [type]
33
- );
34
- return /* @__PURE__ */ jsxs("div", { ...props, className: classes, "data-type": type, children: [
35
- renderIcon({
36
- width: 24,
37
- height: 24,
38
- className: styles.icon,
39
- "aria-hidden": true
40
- }),
41
- /* @__PURE__ */ jsxs("div", { className: styles.content, children: [
42
- /* @__PURE__ */ jsxs("div", { className: styles["text-content"], children: [
43
- /* @__PURE__ */ jsx(Text, { size: "md", weight: "semibold", children: title }),
44
- /* @__PURE__ */ jsx(Text, { size: "sm", weight: "regular", children })
45
- ] }),
46
- actions && /* @__PURE__ */ jsx("div", { className: styles.actions, children: actions })
47
- ] }),
48
- onClose && /* @__PURE__ */ jsx(
49
- IconButton,
50
- {
51
- onClick: onClose,
52
- "aria-label": "Close",
53
- role: "button",
54
- className: styles.close,
55
- children: /* @__PURE__ */ jsx(CloseIcon, {})
56
- }
57
- )
58
- ] });
59
- };
60
- export {
61
- Alert
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ //#region src/components/Alert/Alert.tsx
12
+ /**
13
+ * An alert component component that is dismissable when passing an `onClose`
14
+ * property.
15
+ */
16
+ var Alert = ({ type, title, children, className, actions, onClose, ...props }) => {
17
+ const classes = classNames(Alert_module_default.alert, className);
18
+ const renderIcon = useCallback((props) => {
19
+ switch (type) {
20
+ case "critical": return /* @__PURE__ */ jsx(ErrorIcon, { ...props });
21
+ case "info": return /* @__PURE__ */ jsx(InfoIcon, { ...props });
22
+ case "success": return /* @__PURE__ */ jsx(CheckCircleIcon, { ...props });
23
+ }
24
+ }, [type]);
25
+ return /* @__PURE__ */ jsxs("div", {
26
+ ...props,
27
+ className: classes,
28
+ "data-type": type,
29
+ children: [
30
+ renderIcon({
31
+ width: 24,
32
+ height: 24,
33
+ className: Alert_module_default.icon,
34
+ "aria-hidden": true
35
+ }),
36
+ /* @__PURE__ */ jsxs("div", {
37
+ className: Alert_module_default.content,
38
+ children: [/* @__PURE__ */ jsxs("div", {
39
+ className: Alert_module_default["text-content"],
40
+ children: [/* @__PURE__ */ jsx(Text, {
41
+ size: "md",
42
+ weight: "semibold",
43
+ children: title
44
+ }), /* @__PURE__ */ jsx(Text, {
45
+ size: "sm",
46
+ weight: "regular",
47
+ children
48
+ })]
49
+ }), actions && /* @__PURE__ */ jsx("div", {
50
+ className: Alert_module_default.actions,
51
+ children: actions
52
+ })]
53
+ }),
54
+ onClose && /* @__PURE__ */ jsx(IconButton, {
55
+ onClick: onClose,
56
+ "aria-label": "Close",
57
+ role: "button",
58
+ className: Alert_module_default.close,
59
+ children: /* @__PURE__ */ jsx(CloseIcon, {})
60
+ })
61
+ ]
62
+ });
62
63
  };
63
- //# sourceMappingURL=Alert.js.map
64
+ //#endregion
65
+ export { Alert };
66
+
67
+ //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../src/components/Alert/Alert.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classNames from \"classnames\";\nimport React, { type PropsWithChildren, useCallback } from \"react\";\n\nimport CheckCircleIcon from \"@vector-im/compound-design-tokens/assets/web/icons/check-circle\";\nimport ErrorIcon from \"@vector-im/compound-design-tokens/assets/web/icons/error-solid\";\nimport InfoIcon from \"@vector-im/compound-design-tokens/assets/web/icons/info\";\nimport CloseIcon from \"@vector-im/compound-design-tokens/assets/web/icons/close\";\n\nimport styles from \"./Alert.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport { IconButton } from \"../Button\";\n\ntype AlertProps = {\n /**\n * The type of alert\n */\n type: \"success\" | \"critical\" | \"info\";\n /**\n * The headline of the alert.\n */\n title: string;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * Actions that will be displayed to the right of the content\n * Wraps and stacks actions under content when alert's size is <=600px\n * eg\n * ```\n * <Alert\n * title='Title'\n * actions={<Button onClick={doSomething}>Yes</Button>}\n * />\n * ```\n */\n actions?: React.ReactNode;\n /**\n * Event callback when dismissing the alert. Determines the display of the\n * \"close\" button at the top right of the alert.\n * @param e the event parameters\n */\n onClose?: (e: React.MouseEvent) => void;\n};\n\n/**\n * An alert component component that is dismissable when passing an `onClose`\n * property.\n */\nexport const Alert: React.FC<PropsWithChildren<AlertProps>> = ({\n type,\n title,\n children,\n className,\n actions,\n onClose,\n ...props\n}: PropsWithChildren<AlertProps>) => {\n const classes = classNames(styles.alert, className);\n\n const renderIcon = useCallback(\n (props: React.ComponentProps<typeof ErrorIcon>) => {\n switch (type) {\n case \"critical\":\n return <ErrorIcon {...props} />;\n case \"info\":\n return <InfoIcon {...props} />;\n case \"success\":\n return <CheckCircleIcon {...props} />;\n }\n },\n [type],\n );\n\n return (\n <div {...props} className={classes} data-type={type}>\n {renderIcon({\n width: 24,\n height: 24,\n className: styles.icon,\n \"aria-hidden\": true,\n })}\n <div className={styles.content}>\n <div className={styles[\"text-content\"]}>\n <Text size=\"md\" weight=\"semibold\">\n {title}\n </Text>\n <Text size=\"sm\" weight=\"regular\">\n {children}\n </Text>\n </div>\n {actions && <div className={styles.actions}>{actions}</div>}\n </div>\n {/* TODO: Setup an i18n function for the aria label below */}\n {onClose && (\n <IconButton\n onClick={onClose}\n aria-label=\"Close\"\n role=\"button\"\n className={styles.close}\n >\n <CloseIcon />\n </IconButton>\n )}\n </div>\n );\n};\n"],"names":["props"],"mappings":";;;;;;;;;;AAwDO,MAAM,QAAiD,CAAC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAqC;AACnC,QAAM,UAAU,WAAW,OAAO,OAAO,SAAS;AAElD,QAAM,aAAa;AAAA,IACjB,CAACA,WAAkD;AACjD,cAAQ,MAAA;AAAA,QACN,KAAK;AACH,iBAAO,oBAAC,WAAA,EAAW,GAAGA,OAAAA,CAAO;AAAA,QAC/B,KAAK;AACH,iBAAO,oBAAC,UAAA,EAAU,GAAGA,OAAAA,CAAO;AAAA,QAC9B,KAAK;AACH,iBAAO,oBAAC,iBAAA,EAAiB,GAAGA,OAAAA,CAAO;AAAA,MAAA;AAAA,IAEzC;AAAA,IACA,CAAC,IAAI;AAAA,EAAA;AAGP,8BACG,OAAA,EAAK,GAAG,OAAO,WAAW,SAAS,aAAW,MAC5C,UAAA;AAAA,IAAA,WAAW;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW,OAAO;AAAA,MAClB,eAAe;AAAA,IAAA,CAChB;AAAA,IACD,qBAAC,OAAA,EAAI,WAAW,OAAO,SACrB,UAAA;AAAA,MAAA,qBAAC,OAAA,EAAI,WAAW,OAAO,cAAc,GACnC,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAK,MAAK,MAAK,QAAO,YACpB,UAAA,OACH;AAAA,4BACC,MAAA,EAAK,MAAK,MAAK,QAAO,WACpB,SAAA,CACH;AAAA,MAAA,GACF;AAAA,MACC,WAAW,oBAAC,OAAA,EAAI,WAAW,OAAO,SAAU,UAAA,QAAA,CAAQ;AAAA,IAAA,GACvD;AAAA,IAEC,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,cAAW;AAAA,QACX,MAAK;AAAA,QACL,WAAW,OAAO;AAAA,QAElB,8BAAC,WAAA,CAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"Alert.js","names":[],"sources":["../../../src/components/Alert/Alert.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classNames from \"classnames\";\nimport React, { type PropsWithChildren, useCallback } from \"react\";\n\nimport CheckCircleIcon from \"@vector-im/compound-design-tokens/assets/web/icons/check-circle\";\nimport ErrorIcon from \"@vector-im/compound-design-tokens/assets/web/icons/error-solid\";\nimport InfoIcon from \"@vector-im/compound-design-tokens/assets/web/icons/info\";\nimport CloseIcon from \"@vector-im/compound-design-tokens/assets/web/icons/close\";\n\nimport styles from \"./Alert.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport { IconButton } from \"../Button\";\n\ntype AlertProps = {\n /**\n * The type of alert\n */\n type: \"success\" | \"critical\" | \"info\";\n /**\n * The headline of the alert.\n */\n title: string;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * Actions that will be displayed to the right of the content\n * Wraps and stacks actions under content when alert's size is <=600px\n * eg\n * ```\n * <Alert\n * title='Title'\n * actions={<Button onClick={doSomething}>Yes</Button>}\n * />\n * ```\n */\n actions?: React.ReactNode;\n /**\n * Event callback when dismissing the alert. Determines the display of the\n * \"close\" button at the top right of the alert.\n * @param e the event parameters\n */\n onClose?: (e: React.MouseEvent) => void;\n};\n\n/**\n * An alert component component that is dismissable when passing an `onClose`\n * property.\n */\nexport const Alert: React.FC<PropsWithChildren<AlertProps>> = ({\n type,\n title,\n children,\n className,\n actions,\n onClose,\n ...props\n}: PropsWithChildren<AlertProps>) => {\n const classes = classNames(styles.alert, className);\n\n const renderIcon = useCallback(\n (props: React.ComponentProps<typeof ErrorIcon>) => {\n switch (type) {\n case \"critical\":\n return <ErrorIcon {...props} />;\n case \"info\":\n return <InfoIcon {...props} />;\n case \"success\":\n return <CheckCircleIcon {...props} />;\n }\n },\n [type],\n );\n\n return (\n <div {...props} className={classes} data-type={type}>\n {renderIcon({\n width: 24,\n height: 24,\n className: styles.icon,\n \"aria-hidden\": true,\n })}\n <div className={styles.content}>\n <div className={styles[\"text-content\"]}>\n <Text size=\"md\" weight=\"semibold\">\n {title}\n </Text>\n <Text size=\"sm\" weight=\"regular\">\n {children}\n </Text>\n </div>\n {actions && <div className={styles.actions}>{actions}</div>}\n </div>\n {/* TODO: Setup an i18n function for the aria label below */}\n {onClose && (\n <IconButton\n onClick={onClose}\n aria-label=\"Close\"\n role=\"button\"\n className={styles.close}\n >\n <CloseIcon />\n </IconButton>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AAwDA,IAAa,SAAkD,EAC7D,MACA,OACA,UACA,WACA,SACA,SACA,GAAG,YACgC;CACnC,MAAM,UAAU,WAAW,qBAAO,OAAO,UAAU;CAEnD,MAAM,aAAa,aAChB,UAAkD;AACjD,UAAQ,MAAR;GACE,KAAK,WACH,QAAO,oBAAC,WAAD,EAAW,GAAI,OAAS,CAAA;GACjC,KAAK,OACH,QAAO,oBAAC,UAAD,EAAU,GAAI,OAAS,CAAA;GAChC,KAAK,UACH,QAAO,oBAAC,iBAAD,EAAiB,GAAI,OAAS,CAAA;;IAG3C,CAAC,KAAK,CACP;AAED,QACE,qBAAC,OAAD;EAAK,GAAI;EAAO,WAAW;EAAS,aAAW;YAA/C;GACG,WAAW;IACV,OAAO;IACP,QAAQ;IACR,WAAW,qBAAO;IAClB,eAAe;IAChB,CAAC;GACF,qBAAC,OAAD;IAAK,WAAW,qBAAO;cAAvB,CACE,qBAAC,OAAD;KAAK,WAAW,qBAAO;eAAvB,CACE,oBAAC,MAAD;MAAM,MAAK;MAAK,QAAO;gBACpB;MACI,CAAA,EACP,oBAAC,MAAD;MAAM,MAAK;MAAK,QAAO;MACpB;MACI,CAAA,CACH;QACL,WAAW,oBAAC,OAAD;KAAK,WAAW,qBAAO;eAAU;KAAc,CAAA,CACvD;;GAEL,WACC,oBAAC,YAAD;IACE,SAAS;IACT,cAAW;IACX,MAAK;IACL,WAAW,qBAAO;cAElB,oBAAC,WAAD,EAAa,CAAA;IACF,CAAA;GAEX"}
@@ -0,0 +1,18 @@
1
+ //#region src/components/Alert/Alert.module.css
2
+ var alert = "_alert_zx76t_10";
3
+ var content = "_content_zx76t_37";
4
+ var title = "_title_zx76t_48";
5
+ var icon = "_icon_zx76t_48";
6
+ var actions = "_actions_zx76t_64";
7
+ var Alert_module_default = {
8
+ alert,
9
+ content,
10
+ "text-content": "_text-content_zx76t_44",
11
+ title,
12
+ icon,
13
+ actions
14
+ };
15
+ //#endregion
16
+ exports.default = Alert_module_default;
17
+
18
+ //# sourceMappingURL=Alert.module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.module.cjs","names":[],"sources":["../../../src/components/Alert/Alert.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n/* TODO: Review entire file for semantic token definiton */\n\n.alert {\n container-type: inline-size;\n container-name: alert;\n display: flex;\n align-items: start;\n justify-content: start;\n gap: var(--cpd-space-3x);\n padding: var(--cpd-space-4x);\n border-radius: 8px;\n border: 1px solid;\n}\n\n.alert[data-type=\"success\"] {\n background-color: var(--cpd-color-green-200);\n border-color: var(--cpd-color-green-500);\n}\n\n.alert[data-type=\"critical\"] {\n background-color: var(--cpd-color-red-200);\n border-color: var(--cpd-color-red-500);\n}\n\n.alert[data-type=\"info\"] {\n background-color: var(--cpd-color-blue-200);\n border-color: var(--cpd-color-blue-500);\n}\n\n.content {\n flex: 1;\n display: flex;\n flex-direction: row;\n gap: var(--cpd-space-3x);\n}\n\n.text-content {\n flex: 1 1 0;\n}\n\n[data-type=\"success\"] :is(.title, .icon) {\n color: var(--cpd-color-green-900);\n}\n\n[data-type=\"critical\"] :is(.title, .icon) {\n color: var(--cpd-color-red-900);\n}\n\n[data-type=\"info\"] :is(.title, .icon) {\n color: var(--cpd-color-blue-900);\n}\n\n.alert p {\n margin: 0;\n}\n\n.actions {\n flex: 0;\n display: flex;\n flex-direction: row;\n gap: var(--cpd-space-1x);\n align-self: center;\n}\n\n.icon {\n flex-shrink: 0;\n}\n\n/* @TODO 600px break should be a token */\n\n/* wrap actions into a stacked layout when the alert is <=600px */\n@container alert (max-width: 600px) {\n .content {\n flex-wrap: wrap;\n }\n\n .text-content {\n flex: 1 0 100%;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,18 @@
1
+ //#region src/components/Alert/Alert.module.css
2
+ var alert = "_alert_zx76t_10";
3
+ var content = "_content_zx76t_37";
4
+ var title = "_title_zx76t_48";
5
+ var icon = "_icon_zx76t_48";
6
+ var actions = "_actions_zx76t_64";
7
+ var Alert_module_default = {
8
+ alert,
9
+ content,
10
+ "text-content": "_text-content_zx76t_44",
11
+ title,
12
+ icon,
13
+ actions
14
+ };
15
+ //#endregion
16
+ export { Alert_module_default as default };
17
+
18
+ //# sourceMappingURL=Alert.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.module.js","names":[],"sources":["../../../src/components/Alert/Alert.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n/* TODO: Review entire file for semantic token definiton */\n\n.alert {\n container-type: inline-size;\n container-name: alert;\n display: flex;\n align-items: start;\n justify-content: start;\n gap: var(--cpd-space-3x);\n padding: var(--cpd-space-4x);\n border-radius: 8px;\n border: 1px solid;\n}\n\n.alert[data-type=\"success\"] {\n background-color: var(--cpd-color-green-200);\n border-color: var(--cpd-color-green-500);\n}\n\n.alert[data-type=\"critical\"] {\n background-color: var(--cpd-color-red-200);\n border-color: var(--cpd-color-red-500);\n}\n\n.alert[data-type=\"info\"] {\n background-color: var(--cpd-color-blue-200);\n border-color: var(--cpd-color-blue-500);\n}\n\n.content {\n flex: 1;\n display: flex;\n flex-direction: row;\n gap: var(--cpd-space-3x);\n}\n\n.text-content {\n flex: 1 1 0;\n}\n\n[data-type=\"success\"] :is(.title, .icon) {\n color: var(--cpd-color-green-900);\n}\n\n[data-type=\"critical\"] :is(.title, .icon) {\n color: var(--cpd-color-red-900);\n}\n\n[data-type=\"info\"] :is(.title, .icon) {\n color: var(--cpd-color-blue-900);\n}\n\n.alert p {\n margin: 0;\n}\n\n.actions {\n flex: 0;\n display: flex;\n flex-direction: row;\n gap: var(--cpd-space-1x);\n align-self: center;\n}\n\n.icon {\n flex-shrink: 0;\n}\n\n/* @TODO 600px break should be a token */\n\n/* wrap actions into a stacked layout when the alert is <=600px */\n@container alert (max-width: 600px) {\n .content {\n flex-wrap: wrap;\n }\n\n .text-content {\n flex: 1 0 100%;\n }\n}\n"],"mappings":""}
@@ -1,59 +1,52 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const classNames = require("classnames");
5
- const React = require("react");
6
- const string = require("../../utils/string.cjs");
7
- const Avatar_module = require("./Avatar.module.css.cjs");
8
- const useIdColorHash = require("./useIdColorHash.cjs");
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_string = require("../../utils/string.cjs");
3
+ const require_Avatar_module = require("./Avatar.module.cjs");
4
+ const require_useIdColorHash = require("./useIdColorHash.cjs");
5
+ let classnames = require("classnames");
6
+ classnames = require_runtime.__toESM(classnames);
7
+ let react = require("react");
8
+ react = require_runtime.__toESM(react);
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ //#region src/components/Avatar/Avatar.tsx
11
+ /**
12
+ * Some props warrant that the avatar become a button for accessibility purposes
13
+ * @param props Avatar props
14
+ * @returns whether the avatar should be a button or not
15
+ */
9
16
  function shouldBeAButton(props) {
10
- return !!(props.onClick || props.onKeyDown || props.onKeyUp);
17
+ return !!(props.onClick || props.onKeyDown || props.onKeyUp);
11
18
  }
12
- const Avatar = React.forwardRef(function Avatar2({
13
- src,
14
- id,
15
- name = "",
16
- type = "round",
17
- className = "",
18
- size,
19
- style = {},
20
- onError,
21
- ...props
22
- }, ref) {
23
- return React.createElement(
24
- shouldBeAButton(props) ? "button" : "span",
25
- {
26
- ref,
27
- role: "img",
28
- // Default the aria-label to id
29
- "aria-label": id,
30
- ...props,
31
- "data-type": type,
32
- "data-color": useIdColorHash.useIdColorHash(id),
33
- className: classNames(Avatar_module.default.avatar, className, {
34
- [Avatar_module.default["avatar-imageless"]]: !src
35
- }),
36
- style: {
37
- ...style,
38
- "--cpd-avatar-size": size
39
- }
40
- },
41
- /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: !src ? string.getInitialLetter(name) : /* @__PURE__ */ jsxRuntime.jsx(
42
- "img",
43
- {
44
- loading: "lazy",
45
- alt: "",
46
- src,
47
- referrerPolicy: "no-referrer",
48
- className: classNames(Avatar_module.default.image),
49
- "data-type": type,
50
- style,
51
- width: size,
52
- height: size,
53
- onError
54
- }
55
- ) })
56
- );
19
+ /**
20
+ * Avatar component that will fallback to an initial letter over a coloured
21
+ * background if no source is provided or if the source has failed to load.
22
+ */
23
+ var Avatar = (0, react.forwardRef)(function Avatar({ src, id, name = "", type = "round", className = "", size, style = {}, onError, ...props }, ref) {
24
+ return react.default.createElement(shouldBeAButton(props) ? "button" : "span", {
25
+ ref,
26
+ role: "img",
27
+ "aria-label": id,
28
+ ...props,
29
+ "data-type": type,
30
+ "data-color": require_useIdColorHash.useIdColorHash(id),
31
+ className: (0, classnames.default)(require_Avatar_module.default.avatar, className, { [require_Avatar_module.default["avatar-imageless"]]: !src }),
32
+ style: {
33
+ ...style,
34
+ "--cpd-avatar-size": size
35
+ }
36
+ }, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.default.Fragment, { children: !src ? require_string.getInitialLetter(name) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
37
+ loading: "lazy",
38
+ alt: "",
39
+ src,
40
+ referrerPolicy: "no-referrer",
41
+ className: (0, classnames.default)(require_Avatar_module.default.image),
42
+ "data-type": type,
43
+ style,
44
+ width: size,
45
+ height: size,
46
+ onError
47
+ }) }));
57
48
  });
49
+ //#endregion
58
50
  exports.Avatar = Avatar;
59
- //# sourceMappingURL=Avatar.cjs.map
51
+
52
+ //# sourceMappingURL=Avatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.cjs","sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentProps, forwardRef } from \"react\";\nimport { getInitialLetter } from \"../../utils/string\";\nimport styles from \"./Avatar.module.css\";\nimport { useIdColorHash } from \"./useIdColorHash\";\n\ntype AvatarProps = (ComponentProps<\"button\"> | ComponentProps<\"span\">) & {\n /**\n * The avatar image URL, if any.\n */\n src?: React.ComponentProps<\"img\">[\"src\"];\n /**\n * The Matrix ID, Room ID, or Alias to generate the color when no image source\n * is provided. Also used as a fallback when name is empty.\n */\n id: string;\n /**\n * The name used for the initial letter displayed when no image source is provided.\n */\n name: string;\n /**\n * Defines the avatar type, typically round, square is usually for spaces.\n * @default \"round\"\n */\n type?: \"square\" | \"round\";\n /**\n * The avatar size in CSS units, e.g. `\"24px\"`.\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * On click handler, will turn the avatar into a button element.\n */\n onClick?: (e: React.MouseEvent) => void;\n /**\n * Key down handler, will turn the avatar into a button element.\n */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /**\n * Key up handler, will turn the avatar into a button element.\n */\n onKeyUp?: (e: React.KeyboardEvent) => void;\n /**\n * Callback when the image has failed to load.\n */\n onError?: React.ComponentProps<\"img\">[\"onError\"];\n};\n\n/**\n * Some props warrant that the avatar become a button for accessibility purposes\n * @param props Avatar props\n * @returns whether the avatar should be a button or not\n */\nfunction shouldBeAButton(props: Partial<AvatarProps>): boolean {\n return !!(props.onClick || props.onKeyDown || props.onKeyUp);\n}\n\n/**\n * Avatar component that will fallback to an initial letter over a coloured\n * background if no source is provided or if the source has failed to load.\n */\nexport const Avatar = forwardRef<\n HTMLSpanElement | HTMLButtonElement,\n AvatarProps\n>(function Avatar(\n {\n src,\n id,\n name = \"\",\n type = \"round\",\n className = \"\",\n size,\n style = {},\n onError,\n ...props\n },\n ref,\n) {\n return React.createElement(\n shouldBeAButton(props) ? \"button\" : \"span\",\n {\n ref,\n role: \"img\",\n // Default the aria-label to id\n \"aria-label\": id,\n ...props,\n \"data-type\": type,\n \"data-color\": useIdColorHash(id),\n className: classnames(styles.avatar, className, {\n [styles[\"avatar-imageless\"]]: !src,\n }),\n style: {\n ...style,\n \"--cpd-avatar-size\": size,\n } as React.CSSProperties,\n },\n <React.Fragment>\n {!src ? (\n getInitialLetter(name)\n ) : (\n <img\n loading=\"lazy\"\n alt=\"\"\n src={src}\n referrerPolicy=\"no-referrer\"\n className={classnames(styles.image)}\n data-type={type}\n style={style}\n width={size}\n height={size}\n onError={onError}\n />\n )}\n </React.Fragment>,\n );\n});\n"],"names":["forwardRef","Avatar","useIdColorHash","classnames","styles","jsx","getInitialLetter"],"mappings":";;;;;;;;AA2DA,SAAS,gBAAgB,OAAsC;AAC7D,SAAO,CAAC,EAAE,MAAM,WAAW,MAAM,aAAa,MAAM;AACtD;AAMO,MAAM,SAASA,MAAAA,WAGpB,SAASC,QACT;AAAA,EACE;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,QAAQ,CAAA;AAAA,EACR;AAAA,EACA,GAAG;AACL,GACA,KACA;AACA,SAAO,MAAM;AAAA,IACX,gBAAgB,KAAK,IAAI,WAAW;AAAA,IACpC;AAAA,MACE;AAAA,MACA,MAAM;AAAA;AAAA,MAEN,cAAc;AAAA,MACd,GAAG;AAAA,MACH,aAAa;AAAA,MACb,cAAcC,eAAAA,eAAe,EAAE;AAAA,MAC/B,WAAWC,WAAWC,sBAAO,QAAQ,WAAW;AAAA,QAC9C,CAACA,cAAAA,QAAO,kBAAkB,CAAC,GAAG,CAAC;AAAA,MAAA,CAChC;AAAA,MACD,OAAO;AAAA,QACL,GAAG;AAAA,QACH,qBAAqB;AAAA,MAAA;AAAA,IACvB;AAAA,IAEFC,+BAAC,MAAM,UAAN,EACE,WAAC,MACAC,OAAAA,iBAAiB,IAAI,IAErBD,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,KAAI;AAAA,QACJ;AAAA,QACA,gBAAe;AAAA,QACf,WAAWF,WAAWC,cAAAA,QAAO,KAAK;AAAA,QAClC,aAAW;AAAA,QACX;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR;AAAA,MAAA;AAAA,IAAA,EACF,CAEJ;AAAA,EAAA;AAEJ,CAAC;;"}
1
+ {"version":3,"file":"Avatar.cjs","names":[],"sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentProps, forwardRef } from \"react\";\nimport { getInitialLetter } from \"../../utils/string\";\nimport styles from \"./Avatar.module.css\";\nimport { useIdColorHash } from \"./useIdColorHash\";\n\ntype AvatarProps = (ComponentProps<\"button\"> | ComponentProps<\"span\">) & {\n /**\n * The avatar image URL, if any.\n */\n src?: React.ComponentProps<\"img\">[\"src\"];\n /**\n * The Matrix ID, Room ID, or Alias to generate the color when no image source\n * is provided. Also used as a fallback when name is empty.\n */\n id: string;\n /**\n * The name used for the initial letter displayed when no image source is provided.\n */\n name: string;\n /**\n * Defines the avatar type, typically round, square is usually for spaces.\n * @default \"round\"\n */\n type?: \"square\" | \"round\";\n /**\n * The avatar size in CSS units, e.g. `\"24px\"`.\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * On click handler, will turn the avatar into a button element.\n */\n onClick?: (e: React.MouseEvent) => void;\n /**\n * Key down handler, will turn the avatar into a button element.\n */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /**\n * Key up handler, will turn the avatar into a button element.\n */\n onKeyUp?: (e: React.KeyboardEvent) => void;\n /**\n * Callback when the image has failed to load.\n */\n onError?: React.ComponentProps<\"img\">[\"onError\"];\n};\n\n/**\n * Some props warrant that the avatar become a button for accessibility purposes\n * @param props Avatar props\n * @returns whether the avatar should be a button or not\n */\nfunction shouldBeAButton(props: Partial<AvatarProps>): boolean {\n return !!(props.onClick || props.onKeyDown || props.onKeyUp);\n}\n\n/**\n * Avatar component that will fallback to an initial letter over a coloured\n * background if no source is provided or if the source has failed to load.\n */\nexport const Avatar = forwardRef<\n HTMLSpanElement | HTMLButtonElement,\n AvatarProps\n>(function Avatar(\n {\n src,\n id,\n name = \"\",\n type = \"round\",\n className = \"\",\n size,\n style = {},\n onError,\n ...props\n },\n ref,\n) {\n return React.createElement(\n shouldBeAButton(props) ? \"button\" : \"span\",\n {\n ref,\n role: \"img\",\n // Default the aria-label to id\n \"aria-label\": id,\n ...props,\n \"data-type\": type,\n \"data-color\": useIdColorHash(id),\n className: classnames(styles.avatar, className, {\n [styles[\"avatar-imageless\"]]: !src,\n }),\n style: {\n ...style,\n \"--cpd-avatar-size\": size,\n } as React.CSSProperties,\n },\n <React.Fragment>\n {!src ? (\n getInitialLetter(name)\n ) : (\n <img\n loading=\"lazy\"\n alt=\"\"\n src={src}\n referrerPolicy=\"no-referrer\"\n className={classnames(styles.image)}\n data-type={type}\n style={style}\n width={size}\n height={size}\n onError={onError}\n />\n )}\n </React.Fragment>,\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;AA2DA,SAAS,gBAAgB,OAAsC;AAC7D,QAAO,CAAC,EAAE,MAAM,WAAW,MAAM,aAAa,MAAM;;;;;;AAOtD,IAAa,UAAA,GAAA,MAAA,YAGX,SAAS,OACT,EACE,KACA,IACA,OAAO,IACP,OAAO,SACP,YAAY,IACZ,MACA,QAAQ,EAAE,EACV,SACA,GAAG,SAEL,KACA;AACA,QAAO,MAAA,QAAM,cACX,gBAAgB,MAAM,GAAG,WAAW,QACpC;EACE;EACA,MAAM;EAEN,cAAc;EACd,GAAG;EACH,aAAa;EACb,cAAc,uBAAA,eAAe,GAAG;EAChC,YAAA,GAAA,WAAA,SAAsB,sBAAA,QAAO,QAAQ,WAAW,GAC7C,sBAAA,QAAO,sBAAsB,CAAC,KAChC,CAAC;EACF,OAAO;GACL,GAAG;GACH,qBAAqB;GACtB;EACF,EACD,iBAAA,GAAA,kBAAA,KAAC,MAAA,QAAM,UAAP,EAAA,UACG,CAAC,MACA,eAAA,iBAAiB,KAAK,GAEtB,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,SAAQ;EACR,KAAI;EACC;EACL,gBAAe;EACf,YAAA,GAAA,WAAA,SAAsB,sBAAA,QAAO,MAAM;EACnC,aAAW;EACJ;EACP,OAAO;EACP,QAAQ;EACC;EACT,CAAA,EAEW,CAAA,CAClB;EACD"}
@@ -1,59 +1,49 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import classNames from "classnames";
3
- import React, { forwardRef } from "react";
4
1
  import { getInitialLetter } from "../../utils/string.js";
5
- import styles from "./Avatar.module.css.js";
2
+ import Avatar_module_default from "./Avatar.module.js";
6
3
  import { useIdColorHash } from "./useIdColorHash.js";
4
+ import classNames from "classnames";
5
+ import React, { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/components/Avatar/Avatar.tsx
8
+ /**
9
+ * Some props warrant that the avatar become a button for accessibility purposes
10
+ * @param props Avatar props
11
+ * @returns whether the avatar should be a button or not
12
+ */
7
13
  function shouldBeAButton(props) {
8
- return !!(props.onClick || props.onKeyDown || props.onKeyUp);
14
+ return !!(props.onClick || props.onKeyDown || props.onKeyUp);
9
15
  }
10
- const Avatar = forwardRef(function Avatar2({
11
- src,
12
- id,
13
- name = "",
14
- type = "round",
15
- className = "",
16
- size,
17
- style = {},
18
- onError,
19
- ...props
20
- }, ref) {
21
- return React.createElement(
22
- shouldBeAButton(props) ? "button" : "span",
23
- {
24
- ref,
25
- role: "img",
26
- // Default the aria-label to id
27
- "aria-label": id,
28
- ...props,
29
- "data-type": type,
30
- "data-color": useIdColorHash(id),
31
- className: classNames(styles.avatar, className, {
32
- [styles["avatar-imageless"]]: !src
33
- }),
34
- style: {
35
- ...style,
36
- "--cpd-avatar-size": size
37
- }
38
- },
39
- /* @__PURE__ */ jsx(React.Fragment, { children: !src ? getInitialLetter(name) : /* @__PURE__ */ jsx(
40
- "img",
41
- {
42
- loading: "lazy",
43
- alt: "",
44
- src,
45
- referrerPolicy: "no-referrer",
46
- className: classNames(styles.image),
47
- "data-type": type,
48
- style,
49
- width: size,
50
- height: size,
51
- onError
52
- }
53
- ) })
54
- );
16
+ /**
17
+ * Avatar component that will fallback to an initial letter over a coloured
18
+ * background if no source is provided or if the source has failed to load.
19
+ */
20
+ var Avatar = forwardRef(function Avatar({ src, id, name = "", type = "round", className = "", size, style = {}, onError, ...props }, ref) {
21
+ return React.createElement(shouldBeAButton(props) ? "button" : "span", {
22
+ ref,
23
+ role: "img",
24
+ "aria-label": id,
25
+ ...props,
26
+ "data-type": type,
27
+ "data-color": useIdColorHash(id),
28
+ className: classNames(Avatar_module_default.avatar, className, { [Avatar_module_default["avatar-imageless"]]: !src }),
29
+ style: {
30
+ ...style,
31
+ "--cpd-avatar-size": size
32
+ }
33
+ }, /* @__PURE__ */ jsx(React.Fragment, { children: !src ? getInitialLetter(name) : /* @__PURE__ */ jsx("img", {
34
+ loading: "lazy",
35
+ alt: "",
36
+ src,
37
+ referrerPolicy: "no-referrer",
38
+ className: classNames(Avatar_module_default.image),
39
+ "data-type": type,
40
+ style,
41
+ width: size,
42
+ height: size,
43
+ onError
44
+ }) }));
55
45
  });
56
- export {
57
- Avatar
58
- };
59
- //# sourceMappingURL=Avatar.js.map
46
+ //#endregion
47
+ export { Avatar };
48
+
49
+ //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentProps, forwardRef } from \"react\";\nimport { getInitialLetter } from \"../../utils/string\";\nimport styles from \"./Avatar.module.css\";\nimport { useIdColorHash } from \"./useIdColorHash\";\n\ntype AvatarProps = (ComponentProps<\"button\"> | ComponentProps<\"span\">) & {\n /**\n * The avatar image URL, if any.\n */\n src?: React.ComponentProps<\"img\">[\"src\"];\n /**\n * The Matrix ID, Room ID, or Alias to generate the color when no image source\n * is provided. Also used as a fallback when name is empty.\n */\n id: string;\n /**\n * The name used for the initial letter displayed when no image source is provided.\n */\n name: string;\n /**\n * Defines the avatar type, typically round, square is usually for spaces.\n * @default \"round\"\n */\n type?: \"square\" | \"round\";\n /**\n * The avatar size in CSS units, e.g. `\"24px\"`.\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * On click handler, will turn the avatar into a button element.\n */\n onClick?: (e: React.MouseEvent) => void;\n /**\n * Key down handler, will turn the avatar into a button element.\n */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /**\n * Key up handler, will turn the avatar into a button element.\n */\n onKeyUp?: (e: React.KeyboardEvent) => void;\n /**\n * Callback when the image has failed to load.\n */\n onError?: React.ComponentProps<\"img\">[\"onError\"];\n};\n\n/**\n * Some props warrant that the avatar become a button for accessibility purposes\n * @param props Avatar props\n * @returns whether the avatar should be a button or not\n */\nfunction shouldBeAButton(props: Partial<AvatarProps>): boolean {\n return !!(props.onClick || props.onKeyDown || props.onKeyUp);\n}\n\n/**\n * Avatar component that will fallback to an initial letter over a coloured\n * background if no source is provided or if the source has failed to load.\n */\nexport const Avatar = forwardRef<\n HTMLSpanElement | HTMLButtonElement,\n AvatarProps\n>(function Avatar(\n {\n src,\n id,\n name = \"\",\n type = \"round\",\n className = \"\",\n size,\n style = {},\n onError,\n ...props\n },\n ref,\n) {\n return React.createElement(\n shouldBeAButton(props) ? \"button\" : \"span\",\n {\n ref,\n role: \"img\",\n // Default the aria-label to id\n \"aria-label\": id,\n ...props,\n \"data-type\": type,\n \"data-color\": useIdColorHash(id),\n className: classnames(styles.avatar, className, {\n [styles[\"avatar-imageless\"]]: !src,\n }),\n style: {\n ...style,\n \"--cpd-avatar-size\": size,\n } as React.CSSProperties,\n },\n <React.Fragment>\n {!src ? (\n getInitialLetter(name)\n ) : (\n <img\n loading=\"lazy\"\n alt=\"\"\n src={src}\n referrerPolicy=\"no-referrer\"\n className={classnames(styles.image)}\n data-type={type}\n style={style}\n width={size}\n height={size}\n onError={onError}\n />\n )}\n </React.Fragment>,\n );\n});\n"],"names":["Avatar","classnames"],"mappings":";;;;;;AA2DA,SAAS,gBAAgB,OAAsC;AAC7D,SAAO,CAAC,EAAE,MAAM,WAAW,MAAM,aAAa,MAAM;AACtD;AAMO,MAAM,SAAS,WAGpB,SAASA,QACT;AAAA,EACE;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,QAAQ,CAAA;AAAA,EACR;AAAA,EACA,GAAG;AACL,GACA,KACA;AACA,SAAO,MAAM;AAAA,IACX,gBAAgB,KAAK,IAAI,WAAW;AAAA,IACpC;AAAA,MACE;AAAA,MACA,MAAM;AAAA;AAAA,MAEN,cAAc;AAAA,MACd,GAAG;AAAA,MACH,aAAa;AAAA,MACb,cAAc,eAAe,EAAE;AAAA,MAC/B,WAAWC,WAAW,OAAO,QAAQ,WAAW;AAAA,QAC9C,CAAC,OAAO,kBAAkB,CAAC,GAAG,CAAC;AAAA,MAAA,CAChC;AAAA,MACD,OAAO;AAAA,QACL,GAAG;AAAA,QACH,qBAAqB;AAAA,MAAA;AAAA,IACvB;AAAA,IAEF,oBAAC,MAAM,UAAN,EACE,WAAC,MACA,iBAAiB,IAAI,IAErB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,KAAI;AAAA,QACJ;AAAA,QACA,gBAAe;AAAA,QACf,WAAWA,WAAW,OAAO,KAAK;AAAA,QAClC,aAAW;AAAA,QACX;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR;AAAA,MAAA;AAAA,IAAA,EACF,CAEJ;AAAA,EAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"Avatar.js","names":[],"sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentProps, forwardRef } from \"react\";\nimport { getInitialLetter } from \"../../utils/string\";\nimport styles from \"./Avatar.module.css\";\nimport { useIdColorHash } from \"./useIdColorHash\";\n\ntype AvatarProps = (ComponentProps<\"button\"> | ComponentProps<\"span\">) & {\n /**\n * The avatar image URL, if any.\n */\n src?: React.ComponentProps<\"img\">[\"src\"];\n /**\n * The Matrix ID, Room ID, or Alias to generate the color when no image source\n * is provided. Also used as a fallback when name is empty.\n */\n id: string;\n /**\n * The name used for the initial letter displayed when no image source is provided.\n */\n name: string;\n /**\n * Defines the avatar type, typically round, square is usually for spaces.\n * @default \"round\"\n */\n type?: \"square\" | \"round\";\n /**\n * The avatar size in CSS units, e.g. `\"24px\"`.\n */\n size?: CSSStyleDeclaration[\"height\"];\n /**\n * On click handler, will turn the avatar into a button element.\n */\n onClick?: (e: React.MouseEvent) => void;\n /**\n * Key down handler, will turn the avatar into a button element.\n */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /**\n * Key up handler, will turn the avatar into a button element.\n */\n onKeyUp?: (e: React.KeyboardEvent) => void;\n /**\n * Callback when the image has failed to load.\n */\n onError?: React.ComponentProps<\"img\">[\"onError\"];\n};\n\n/**\n * Some props warrant that the avatar become a button for accessibility purposes\n * @param props Avatar props\n * @returns whether the avatar should be a button or not\n */\nfunction shouldBeAButton(props: Partial<AvatarProps>): boolean {\n return !!(props.onClick || props.onKeyDown || props.onKeyUp);\n}\n\n/**\n * Avatar component that will fallback to an initial letter over a coloured\n * background if no source is provided or if the source has failed to load.\n */\nexport const Avatar = forwardRef<\n HTMLSpanElement | HTMLButtonElement,\n AvatarProps\n>(function Avatar(\n {\n src,\n id,\n name = \"\",\n type = \"round\",\n className = \"\",\n size,\n style = {},\n onError,\n ...props\n },\n ref,\n) {\n return React.createElement(\n shouldBeAButton(props) ? \"button\" : \"span\",\n {\n ref,\n role: \"img\",\n // Default the aria-label to id\n \"aria-label\": id,\n ...props,\n \"data-type\": type,\n \"data-color\": useIdColorHash(id),\n className: classnames(styles.avatar, className, {\n [styles[\"avatar-imageless\"]]: !src,\n }),\n style: {\n ...style,\n \"--cpd-avatar-size\": size,\n } as React.CSSProperties,\n },\n <React.Fragment>\n {!src ? (\n getInitialLetter(name)\n ) : (\n <img\n loading=\"lazy\"\n alt=\"\"\n src={src}\n referrerPolicy=\"no-referrer\"\n className={classnames(styles.image)}\n data-type={type}\n style={style}\n width={size}\n height={size}\n onError={onError}\n />\n )}\n </React.Fragment>,\n );\n});\n"],"mappings":";;;;;;;;;;;;AA2DA,SAAS,gBAAgB,OAAsC;AAC7D,QAAO,CAAC,EAAE,MAAM,WAAW,MAAM,aAAa,MAAM;;;;;;AAOtD,IAAa,SAAS,WAGpB,SAAS,OACT,EACE,KACA,IACA,OAAO,IACP,OAAO,SACP,YAAY,IACZ,MACA,QAAQ,EAAE,EACV,SACA,GAAG,SAEL,KACA;AACA,QAAO,MAAM,cACX,gBAAgB,MAAM,GAAG,WAAW,QACpC;EACE;EACA,MAAM;EAEN,cAAc;EACd,GAAG;EACH,aAAa;EACb,cAAc,eAAe,GAAG;EAChC,WAAW,WAAW,sBAAO,QAAQ,WAAW,GAC7C,sBAAO,sBAAsB,CAAC,KAChC,CAAC;EACF,OAAO;GACL,GAAG;GACH,qBAAqB;GACtB;EACF,EACD,oBAAC,MAAM,UAAP,EAAA,UACG,CAAC,MACA,iBAAiB,KAAK,GAEtB,oBAAC,OAAD;EACE,SAAQ;EACR,KAAI;EACC;EACL,gBAAe;EACf,WAAW,WAAW,sBAAO,MAAM;EACnC,aAAW;EACJ;EACP,OAAO;EACP,QAAQ;EACC;EACT,CAAA,EAEW,CAAA,CAClB;EACD"}
@@ -0,0 +1,11 @@
1
+ var Avatar_module_default = {
2
+ avatar: "_avatar_7h2br_8",
3
+ image: "_image_7h2br_43",
4
+ "avatar-imageless": "_avatar-imageless_7h2br_55",
5
+ "stacked-avatars": "_stacked-avatars_7h2br_109",
6
+ "clip-path": "_clip-path_7h2br_128"
7
+ };
8
+ //#endregion
9
+ exports.default = Avatar_module_default;
10
+
11
+ //# sourceMappingURL=Avatar.module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.module.cjs","names":[],"sources":["../../../src/components/Avatar/Avatar.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.avatar {\n display: inline-block;\n box-sizing: border-box;\n\n /* -2px to account for the border styling below */\n line-height: calc(var(--cpd-avatar-size) - 2px);\n text-align: center;\n font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);\n text-transform: uppercase;\n speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */\n font-family: var(--cpd-font-family-sans);\n font-weight: bold;\n overflow: hidden;\n user-select: none;\n\n /* Set a background color to help with visual consistency when displaying\n * avatars with a translucent background */\n background: var(--cpd-color-bg-canvas-default);\n}\n\nbutton.avatar {\n /**\n * The avatar can be a button element, we need to reset its style\n */\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n}\n\nbutton.avatar:disabled {\n cursor: not-allowed;\n}\n\n.avatar,\n.image {\n aspect-ratio: 1 / 1;\n inline-size: var(--cpd-avatar-size);\n border-radius: var(--cpd-avatar-radius);\n}\n\n.image {\n object-fit: cover;\n overflow: hidden;\n}\n\n/* Additional selector for button to raise selector above button.avatar */\nbutton.avatar-imageless,\n.avatar-imageless {\n /* In the future we'd prefer to pass the HEX code as the data attr\n and use `attr(data-color)` to avoid the style declaration from below\n but this is currently not supported in all browsers */\n background: var(--cpd-avatar-bg);\n color: var(--cpd-avatar-color);\n\n /* Additional style to ensure visibility in contrast-mode */\n border: 1px solid var(--cpd-avatar-bg);\n}\n\n.avatar[data-color] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);\n --cpd-avatar-color: var(--cpd-color-text-decorative-1);\n}\n\n.avatar[data-color=\"2\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);\n --cpd-avatar-color: var(--cpd-color-text-decorative-2);\n}\n\n.avatar[data-color=\"3\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);\n --cpd-avatar-color: var(--cpd-color-text-decorative-3);\n}\n\n.avatar[data-color=\"4\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);\n --cpd-avatar-color: var(--cpd-color-text-decorative-4);\n}\n\n.avatar[data-color=\"5\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);\n --cpd-avatar-color: var(--cpd-color-text-decorative-5);\n}\n\n.avatar[data-color=\"6\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);\n --cpd-avatar-color: var(--cpd-color-text-decorative-6);\n}\n\n.avatar[data-type=\"round\"] {\n --cpd-avatar-radius: 50%;\n}\n\n.avatar[data-type=\"square\"] {\n --cpd-avatar-radius: 25%;\n}\n\n/**\n * Stacked avatars \n */\n\n.stacked-avatars::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.stacked-avatars .avatar {\n float: inline-start;\n}\n\n.stacked-avatars .avatar:not(:last-child) {\n /* injected in the document from AvatarStack.tsx */\n clip-path: url(\"#cpdAvatarClip\");\n}\n\n.stacked-avatars > *:not(:first-child) {\n margin-inline-start: calc(var(--cpd-avatar-size) * -0.4);\n}\n\n.clip-path {\n /* In theory the SVG is invisible, but we still need to ensure it doesn't\n affect the page's layout or otherwise make an appearance */\n position: fixed;\n inset-inline-start: -9999px;\n}\n"],"mappings":""}
@@ -0,0 +1,11 @@
1
+ var Avatar_module_default = {
2
+ avatar: "_avatar_7h2br_8",
3
+ image: "_image_7h2br_43",
4
+ "avatar-imageless": "_avatar-imageless_7h2br_55",
5
+ "stacked-avatars": "_stacked-avatars_7h2br_109",
6
+ "clip-path": "_clip-path_7h2br_128"
7
+ };
8
+ //#endregion
9
+ export { Avatar_module_default as default };
10
+
11
+ //# sourceMappingURL=Avatar.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.module.js","names":[],"sources":["../../../src/components/Avatar/Avatar.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.avatar {\n display: inline-block;\n box-sizing: border-box;\n\n /* -2px to account for the border styling below */\n line-height: calc(var(--cpd-avatar-size) - 2px);\n text-align: center;\n font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);\n text-transform: uppercase;\n speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */\n font-family: var(--cpd-font-family-sans);\n font-weight: bold;\n overflow: hidden;\n user-select: none;\n\n /* Set a background color to help with visual consistency when displaying\n * avatars with a translucent background */\n background: var(--cpd-color-bg-canvas-default);\n}\n\nbutton.avatar {\n /**\n * The avatar can be a button element, we need to reset its style\n */\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n}\n\nbutton.avatar:disabled {\n cursor: not-allowed;\n}\n\n.avatar,\n.image {\n aspect-ratio: 1 / 1;\n inline-size: var(--cpd-avatar-size);\n border-radius: var(--cpd-avatar-radius);\n}\n\n.image {\n object-fit: cover;\n overflow: hidden;\n}\n\n/* Additional selector for button to raise selector above button.avatar */\nbutton.avatar-imageless,\n.avatar-imageless {\n /* In the future we'd prefer to pass the HEX code as the data attr\n and use `attr(data-color)` to avoid the style declaration from below\n but this is currently not supported in all browsers */\n background: var(--cpd-avatar-bg);\n color: var(--cpd-avatar-color);\n\n /* Additional style to ensure visibility in contrast-mode */\n border: 1px solid var(--cpd-avatar-bg);\n}\n\n.avatar[data-color] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);\n --cpd-avatar-color: var(--cpd-color-text-decorative-1);\n}\n\n.avatar[data-color=\"2\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);\n --cpd-avatar-color: var(--cpd-color-text-decorative-2);\n}\n\n.avatar[data-color=\"3\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);\n --cpd-avatar-color: var(--cpd-color-text-decorative-3);\n}\n\n.avatar[data-color=\"4\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);\n --cpd-avatar-color: var(--cpd-color-text-decorative-4);\n}\n\n.avatar[data-color=\"5\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);\n --cpd-avatar-color: var(--cpd-color-text-decorative-5);\n}\n\n.avatar[data-color=\"6\"] {\n --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);\n --cpd-avatar-color: var(--cpd-color-text-decorative-6);\n}\n\n.avatar[data-type=\"round\"] {\n --cpd-avatar-radius: 50%;\n}\n\n.avatar[data-type=\"square\"] {\n --cpd-avatar-radius: 25%;\n}\n\n/**\n * Stacked avatars \n */\n\n.stacked-avatars::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.stacked-avatars .avatar {\n float: inline-start;\n}\n\n.stacked-avatars .avatar:not(:last-child) {\n /* injected in the document from AvatarStack.tsx */\n clip-path: url(\"#cpdAvatarClip\");\n}\n\n.stacked-avatars > *:not(:first-child) {\n margin-inline-start: calc(var(--cpd-avatar-size) * -0.4);\n}\n\n.clip-path {\n /* In theory the SVG is invisible, but we still need to ensure it doesn't\n affect the page's layout or otherwise make an appearance */\n position: fixed;\n inset-inline-start: -9999px;\n}\n"],"mappings":""}
@@ -1,31 +1,54 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const classNames = require("classnames");
5
- const React = require("react");
6
- const Avatar_module = require("./Avatar.module.css.cjs");
7
- const avatarClip_mask = require("./avatar-clip.mask.svg.cjs");
8
- const AVATAR_MASK_ID = "cpdAvatarClipSvg";
9
- let AvatarStackUsageCount = 0;
10
- const AvatarStack = ({ children, className }) => {
11
- React.useEffect(() => {
12
- if (AvatarStackUsageCount === 0) {
13
- const svgMask = `
14
- <div aria-hidden="true" id="${AVATAR_MASK_ID}" class="${Avatar_module.default["clip-path"]}">
15
- ${avatarClip_mask.default}
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_Avatar_module = require("./Avatar.module.cjs");
3
+ const require_avatar_clip_mask = require("./avatar-clip.mask.cjs");
4
+ let classnames = require("classnames");
5
+ classnames = require_runtime.__toESM(classnames);
6
+ let react = require("react");
7
+ react = require_runtime.__toESM(react);
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ //#region src/components/Avatar/AvatarStack.tsx
10
+ var AVATAR_MASK_ID = "cpdAvatarClipSvg";
11
+ var AvatarStackUsageCount = 0;
12
+ /**
13
+ * Renders a stack of avatars and clips the content appropriately.
14
+ *
15
+ * The `type` of avatars should always be set to `round`
16
+ * And all the avatars should have the same size.
17
+ */
18
+ var AvatarStack = ({ children, className }) => {
19
+ /**
20
+ * The `clip-path` property in CSS supports a `path()` function, however
21
+ * that has to use pixel values.
22
+ * `clipPathUnits="objectBoundingBox"` only exists inside an SVG document.
23
+ * Which is why we have the external `avatar-clip.mask.svg`.
24
+ *
25
+ * It is possible to load this SVG externally using `url(path/to/doc.svg#id)`
26
+ * But this is only supported in Firefox
27
+ * This leaves us with no choice but rendering SVG inline in the HTML document
28
+ * And making sure there is always only a single instance regardless of the
29
+ * amount of `AvatarStack` instance in the document.
30
+ */
31
+ (0, react.useEffect)(() => {
32
+ if (AvatarStackUsageCount === 0) {
33
+ const svgMask = `
34
+ <div aria-hidden="true" id="${AVATAR_MASK_ID}" class="${require_Avatar_module.default["clip-path"]}">
35
+ ${require_avatar_clip_mask.default}
16
36
  </div>
17
37
  `;
18
- document.body.insertAdjacentHTML("beforeend", svgMask);
19
- }
20
- AvatarStackUsageCount++;
21
- return () => {
22
- AvatarStackUsageCount--;
23
- if (AvatarStackUsageCount <= 0) {
24
- document.getElementById(AVATAR_MASK_ID)?.remove();
25
- }
26
- };
27
- }, []);
28
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames(Avatar_module.default["stacked-avatars"], className), children });
38
+ document.body.insertAdjacentHTML("beforeend", svgMask);
39
+ }
40
+ AvatarStackUsageCount++;
41
+ return () => {
42
+ AvatarStackUsageCount--;
43
+ if (AvatarStackUsageCount <= 0) document.getElementById(AVATAR_MASK_ID)?.remove();
44
+ };
45
+ }, []);
46
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
47
+ className: (0, classnames.default)(require_Avatar_module.default["stacked-avatars"], className),
48
+ children
49
+ });
29
50
  };
51
+ //#endregion
30
52
  exports.AvatarStack = AvatarStack;
31
- //# sourceMappingURL=AvatarStack.cjs.map
53
+
54
+ //# sourceMappingURL=AvatarStack.cjs.map