@crewlethq/ui 0.81.2 → 0.83.0

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 (410) hide show
  1. package/README.md +89 -4
  2. package/dist/Accordion/index.js +3 -3
  3. package/dist/ActionCard/ActionCard.d.ts +49 -0
  4. package/dist/ActionCard/index.d.ts +4 -0
  5. package/dist/ActionCard/index.js +2 -0
  6. package/dist/ActionCard-47WSZ2O5.css +110 -0
  7. package/dist/ActivityLine/ActivityLine.d.ts +27 -0
  8. package/dist/ActivityLine/index.d.ts +4 -0
  9. package/dist/ActivityLine/index.js +4 -0
  10. package/dist/ActivityLine-AMSERTOB.css +74 -0
  11. package/dist/AgentHandoffPanel/index.js +15 -15
  12. package/dist/AppShell/AccountRow.d.ts +19 -1
  13. package/dist/AppShell/AppShell.d.ts +62 -4
  14. package/dist/AppShell/index.d.ts +1 -1
  15. package/dist/AppShell/index.js +12 -6
  16. package/dist/AppShell/railMotion.d.ts +60 -0
  17. package/dist/AppShell/railShape.d.ts +22 -0
  18. package/dist/{AppShell-2IBUS4TH.css → AppShell-U7D2MUUF.css} +291 -20
  19. package/dist/ArrangeFrame/index.js +2 -2
  20. package/dist/ArrangeGroup/index.js +2 -2
  21. package/dist/ArrangeList/index.js +8 -7
  22. package/dist/ArtifactBar/index.js +13 -11
  23. package/dist/ArtifactCard/index.js +13 -13
  24. package/dist/ArtifactCover/index.js +3 -3
  25. package/dist/ArtifactKindIllustration/index.js +1 -1
  26. package/dist/ArtifactKinds-3EH4KR3F.css +18 -0
  27. package/dist/ArtifactMakeRow/index.js +1 -1
  28. package/dist/ArtifactNameCell/index.js +1 -1
  29. package/dist/ArtifactPanel/index.js +5 -5
  30. package/dist/AttachmentChip/index.js +2 -2
  31. package/dist/AuthLayout/index.js +5 -4
  32. package/dist/Avatar/Avatar.d.ts +30 -28
  33. package/dist/Avatar/AvatarStack.d.ts +2 -2
  34. package/dist/Avatar/index.d.ts +1 -1
  35. package/dist/Avatar/index.js +2 -2
  36. package/dist/{Avatar-VJSJGFRG.css → Avatar-MNE3WBZO.css} +56 -54
  37. package/dist/AvatarPicker/index.js +13 -12
  38. package/dist/{AvatarStack-7I3P7LCK.css → AvatarStack-KEHD3GWY.css} +16 -4
  39. package/dist/BrandLockup/BrandLockup.d.ts +6 -0
  40. package/dist/BrandLockup/index.js +2 -1
  41. package/dist/BriefCard/BriefCard.d.ts +23 -1
  42. package/dist/BriefCard/index.d.ts +2 -2
  43. package/dist/BriefCard/index.js +7 -7
  44. package/dist/{BriefCard-VKTH3BSW.css → BriefCard-QCL7MVUV.css} +26 -0
  45. package/dist/Canvas/index.js +8 -6
  46. package/dist/CanvasBoard/index.js +11 -9
  47. package/dist/CanvasToolbar/index.js +10 -8
  48. package/dist/Card/index.js +2 -2
  49. package/dist/ChangeList/index.js +5 -5
  50. package/dist/ChangeMark/index.js +6 -4
  51. package/dist/CharacterPicker/index.js +2 -2
  52. package/dist/ChatDay/ChatDay.d.ts +53 -0
  53. package/dist/ChatDay/index.d.ts +5 -0
  54. package/dist/ChatDay/index.js +3 -0
  55. package/dist/ChatDay-E3FF5HWF.css +116 -0
  56. package/dist/ChatDivider/ChatDivider.d.ts +31 -0
  57. package/dist/ChatDivider/index.d.ts +4 -0
  58. package/dist/ChatDivider/index.js +2 -0
  59. package/dist/ChatDivider-7ZNDL2PZ.css +76 -0
  60. package/dist/ChatMessage/ChatMessage.d.ts +111 -0
  61. package/dist/ChatMessage/index.d.ts +4 -0
  62. package/dist/ChatMessage/index.js +5 -0
  63. package/dist/ChatMessage-FH7VRVCH.css +304 -0
  64. package/dist/ChatScale-L4SIHSKL.css +42 -0
  65. package/dist/ChatThread/ChatThread.d.ts +33 -4
  66. package/dist/ChatThread/index.d.ts +1 -1
  67. package/dist/ChatThread/index.js +2 -2
  68. package/dist/{ChatThread-2KO3FZKQ.css → ChatThread-HAECJMP6.css} +17 -0
  69. package/dist/CheckGrid/index.js +6 -6
  70. package/dist/Checkbox/index.js +5 -5
  71. package/dist/ChipField/ChipField.d.ts +82 -0
  72. package/dist/ChipField/index.d.ts +4 -0
  73. package/dist/ChipField/index.js +9 -0
  74. package/dist/ChipField-D4CW6XFA.css +108 -0
  75. package/dist/ColorField/index.js +5 -5
  76. package/dist/Combobox/index.js +7 -7
  77. package/dist/CommandPalette/index.js +12 -11
  78. package/dist/CommentThread/index.js +14 -14
  79. package/dist/CompactNav/CompactNav.d.ts +175 -0
  80. package/dist/CompactNav/index.d.ts +4 -0
  81. package/dist/CompactNav/index.js +9 -0
  82. package/dist/CompactNav-CU2AQXBC.css +322 -0
  83. package/dist/Composer/Composer.d.ts +26 -2
  84. package/dist/Composer/index.d.ts +2 -1
  85. package/dist/Composer/index.js +7 -7
  86. package/dist/{Composer-HQIMTMRC.css → Composer-ZEGHEAFE.css} +71 -0
  87. package/dist/ConfirmField/index.js +5 -5
  88. package/dist/ContrastBadge/index.js +2 -2
  89. package/dist/ContrastHelp/index.js +7 -6
  90. package/dist/Count/Count.d.ts +24 -6
  91. package/dist/Count/index.d.ts +1 -1
  92. package/dist/Count/index.js +1 -1
  93. package/dist/{Count-ZJ6ID4ZU.css → Count-2HXBBYPO.css} +19 -0
  94. package/dist/DataGrid/index.js +8 -8
  95. package/dist/DataTable/index.js +11 -10
  96. package/dist/DataView/index.js +18 -17
  97. package/dist/DatasetSource/index.js +3 -3
  98. package/dist/DateTimePicker/index.js +6 -5
  99. package/dist/DeepWorkCard/index.js +9 -9
  100. package/dist/Disclosure/index.js +3 -3
  101. package/dist/DocTabsEditor/index.js +11 -9
  102. package/dist/DockColumn/DockColumn.d.ts +68 -0
  103. package/dist/DockColumn/index.d.ts +3 -0
  104. package/dist/DockColumn/index.js +6 -0
  105. package/dist/DockColumn-SMJCXHS4.css +61 -0
  106. package/dist/Document/index.js +2 -2
  107. package/dist/EditingStatus/index.js +2 -2
  108. package/dist/{Editor-IMYESOW7.js → Editor-5D5Z3LBQ.js} +9 -8
  109. package/dist/EmojiPicker/EmojiPicker.d.ts +51 -0
  110. package/dist/EmojiPicker/emoji.d.ts +24 -0
  111. package/dist/EmojiPicker/index.d.ts +5 -0
  112. package/dist/EmojiPicker/index.js +15 -0
  113. package/dist/EmojiPicker-FMWYN2WX.css +63 -0
  114. package/dist/EntityChip/index.js +3 -3
  115. package/dist/EntityList/index.js +6 -6
  116. package/dist/FactList/index.js +6 -4
  117. package/dist/FolderTile/index.js +3 -3
  118. package/dist/FollowBanner/index.js +4 -4
  119. package/dist/HuePicker/index.js +9 -8
  120. package/dist/ImageUpload/ImageUpload.d.ts +6 -7
  121. package/dist/ImageUpload/index.js +3 -3
  122. package/dist/{ImageUpload-OWI7CCG7.css → ImageUpload-IFXZROFZ.css} +6 -37
  123. package/dist/InlineEditor/index.js +7 -7
  124. package/dist/Input/index.js +4 -4
  125. package/dist/Kbd/Kbd.d.ts +9 -0
  126. package/dist/Kbd/index.d.ts +1 -1
  127. package/dist/Kbd/index.js +1 -1
  128. package/dist/Layer/index.js +2 -2
  129. package/dist/LinkCard/LinkCard.d.ts +64 -0
  130. package/dist/LinkCard/index.d.ts +5 -0
  131. package/dist/LinkCard/index.js +5 -0
  132. package/dist/LinkCard-5I4MYU6I.css +155 -0
  133. package/dist/LinkInterstitial/index.js +7 -6
  134. package/dist/ListInput/index.js +10 -9
  135. package/dist/Listbox/index.js +3 -3
  136. package/dist/LogoSlot/index.js +3 -3
  137. package/dist/MarkdownEditor/format.d.ts +9 -1
  138. package/dist/MarkdownEditor/index.d.ts +2 -2
  139. package/dist/MarkdownEditor/index.js +10 -9
  140. package/dist/MediaMatch/index.d.ts +1 -1
  141. package/dist/MediaMatch/index.js +1 -1
  142. package/dist/MediaMatch/useMediaMatch.d.ts +14 -0
  143. package/dist/MentionChip/MentionChip.d.ts +25 -0
  144. package/dist/MentionChip/index.d.ts +3 -0
  145. package/dist/MentionChip/index.js +2 -0
  146. package/dist/MentionChip-W7MZZVRZ.css +42 -0
  147. package/dist/MentionMenu/MentionMenu.d.ts +82 -0
  148. package/dist/MentionMenu/index.d.ts +4 -0
  149. package/dist/MentionMenu/index.js +3 -0
  150. package/dist/MentionMenu-4NAQ45S4.css +65 -0
  151. package/dist/Menu/index.js +5 -4
  152. package/dist/MergeConflicts/index.js +9 -8
  153. package/dist/MessageActions/MessageActions.d.ts +58 -0
  154. package/dist/MessageActions/index.d.ts +4 -0
  155. package/dist/MessageActions/index.js +18 -0
  156. package/dist/MessageActions-Q4F5UH3S.css +73 -0
  157. package/dist/Modal/Modal.d.ts +12 -0
  158. package/dist/Modal/index.js +6 -5
  159. package/dist/{Modal-FYQYEI3N.css → Modal-GKUOO7PZ.css} +26 -1
  160. package/dist/OpenInAppCard/index.js +8 -8
  161. package/dist/OrgLabel/index.js +3 -3
  162. package/dist/OrgNode/index.js +4 -4
  163. package/dist/OrgTable/index.js +7 -7
  164. package/dist/Outline/index.js +2 -1
  165. package/dist/PeekRail/index.js +1 -1
  166. package/dist/PeopleRail/index.js +4 -4
  167. package/dist/PersonRow/PersonRow.d.ts +70 -0
  168. package/dist/PersonRow/index.d.ts +3 -0
  169. package/dist/PersonRow/index.js +2 -0
  170. package/dist/PersonRow-V5GTPNVP.css +161 -0
  171. package/dist/Popover/index.js +4 -3
  172. package/dist/Presence/index.d.ts +2 -0
  173. package/dist/Presence/index.js +4 -0
  174. package/dist/Presence/usePresence.d.ts +109 -0
  175. package/dist/PresenceStack/index.js +3 -3
  176. package/dist/{PresenceStack-ZV67BH4V.css → PresenceStack-2DTYRADY.css} +4 -6
  177. package/dist/PresenterView/index.js +5 -5
  178. package/dist/PricingCard/index.js +2 -2
  179. package/dist/Principal/index.js +3 -3
  180. package/dist/PrincipalPicker/index.js +11 -11
  181. package/dist/ProposalCard/index.js +15 -15
  182. package/dist/ReactionBar/ReactionBar.d.ts +84 -0
  183. package/dist/ReactionBar/index.d.ts +4 -0
  184. package/dist/ReactionBar/index.js +17 -0
  185. package/dist/ReactionBar-XXI4V7XG.css +93 -0
  186. package/dist/RecordChip/index.js +5 -4
  187. package/dist/RefusalCard/index.js +6 -6
  188. package/dist/RelatedRow/index.js +3 -3
  189. package/dist/Reorder/index.js +2 -1
  190. package/dist/ResultTableCard/index.js +7 -7
  191. package/dist/ReviewList/index.js +2 -2
  192. package/dist/RichEditor/index.js +2 -2
  193. package/dist/RunChip/index.js +5 -5
  194. package/dist/SandboxedFrame/index.js +2 -2
  195. package/dist/SectionFrame/index.js +2 -2
  196. package/dist/SegmentedControl/index.js +8 -7
  197. package/dist/Select/index.js +4 -4
  198. package/dist/SelectionBar/index.js +6 -6
  199. package/dist/SetupWizard/index.js +6 -6
  200. package/dist/ShareDialog/index.js +13 -12
  201. package/dist/SheetColumnEditor/index.js +17 -16
  202. package/dist/SheetGrid/index.js +14 -12
  203. package/dist/Shortcut/index.js +3 -3
  204. package/dist/SidePanel/SidePanel.d.ts +8 -1
  205. package/dist/SidePanel/SidePanelBase.d.ts +3 -1
  206. package/dist/SidePanel/index.js +5 -5
  207. package/dist/{SidePanel-VXKUKLOJ.css → SidePanel-BKWT6Q6Z.css} +36 -0
  208. package/dist/SidebarNav/SidebarNav.d.ts +52 -3
  209. package/dist/SidebarNav/index.js +1 -1
  210. package/dist/{SidebarNav-VTQ3G4AE.css → SidebarNav-E7PZGGA6.css} +132 -7
  211. package/dist/Skeleton/index.js +1 -1
  212. package/dist/{Skeleton-7ZA5ETJM.css → Skeleton-GIXV3KK5.css} +3 -1
  213. package/dist/SlideCompare/index.js +5 -5
  214. package/dist/SlideFilmstrip/index.js +11 -9
  215. package/dist/SlideGrid/index.js +4 -4
  216. package/dist/SlideStage/index.js +3 -3
  217. package/dist/SourceEditor/index.js +2 -2
  218. package/dist/StatusCard/index.js +5 -5
  219. package/dist/Switcher/index.js +13 -12
  220. package/dist/TableCells/index.js +5 -5
  221. package/dist/Tabs/index.js +7 -6
  222. package/dist/Tag/Tag.d.ts +9 -2
  223. package/dist/Tag/index.js +1 -1
  224. package/dist/{Tag-JTJVZM2D.css → Tag-WLDOROB5.css} +24 -0
  225. package/dist/TagsInput/index.js +6 -6
  226. package/dist/ThemeGallery/index.js +5 -5
  227. package/dist/ThemeSwitcher/index.js +9 -8
  228. package/dist/ThinkingIndicator/index.js +1 -1
  229. package/dist/{ThinkingIndicator-JMK2TNMZ.css → ThinkingIndicator-S7ZL2C77.css} +8 -0
  230. package/dist/ThreadSummary/ThreadSummary.d.ts +43 -0
  231. package/dist/ThreadSummary/index.d.ts +4 -0
  232. package/dist/ThreadSummary/index.js +6 -0
  233. package/dist/ThreadSummary-AGR4NDMD.css +90 -0
  234. package/dist/TimeRangePicker/index.js +13 -12
  235. package/dist/TimeWindowPicker/index.js +11 -10
  236. package/dist/Toaster/index.js +2 -2
  237. package/dist/Toolbar/index.js +3 -3
  238. package/dist/Tooltip/Tooltip.d.ts +30 -3
  239. package/dist/Tooltip/index.js +5 -3
  240. package/dist/TreeCanvas/index.js +10 -7
  241. package/dist/TreeGrid/index.js +3 -3
  242. package/dist/ValueField/index.js +9 -9
  243. package/dist/VersionCompare/index.js +10 -9
  244. package/dist/VersionTimeline/index.js +4 -4
  245. package/dist/WidgetFrame/index.js +2 -2
  246. package/dist/{chunk-LOWQK2PB.js → chunk-22CU7V4J.js} +4 -4
  247. package/dist/{chunk-WCDPFTJZ.js → chunk-25JQNHTC.js} +92 -28
  248. package/dist/{chunk-6LXS3X7A.js → chunk-2L4WHYMT.js} +1 -1
  249. package/dist/{chunk-6G6WHTC7.js → chunk-2O5CMV76.js} +1 -1
  250. package/dist/{chunk-FQI62PIZ.js → chunk-2SVQBQAD.js} +2 -2
  251. package/dist/{chunk-7PJFUQMY.js → chunk-2ZSCHQOA.js} +1 -1
  252. package/dist/chunk-3BRXEMYT.js +46 -0
  253. package/dist/{chunk-H22SR76M.js → chunk-3H6OZUZ3.js} +1 -1
  254. package/dist/{chunk-VK45YJLH.js → chunk-3IWZVEXA.js} +2 -2
  255. package/dist/{chunk-2STOSJT3.js → chunk-46FIBJCV.js} +7 -7
  256. package/dist/chunk-4DEKONVJ.js +87 -0
  257. package/dist/{chunk-NUZHC6MM.js → chunk-4ITETIGZ.js} +12 -1
  258. package/dist/{chunk-73GUXYYE.js → chunk-5AHNW5CP.js} +1 -1
  259. package/dist/{chunk-FFGEJUAP.js → chunk-5ILRWUE7.js} +2 -2
  260. package/dist/chunk-5JPOFAVN.js +58 -0
  261. package/dist/{chunk-S5QJZOPL.js → chunk-5K5SZGBI.js} +1 -1
  262. package/dist/{chunk-YB64PWIN.js → chunk-5V6GW6HK.js} +1 -1
  263. package/dist/{chunk-LM6VYJTV.js → chunk-5YXMKZUA.js} +1 -1
  264. package/dist/{chunk-5XBNJNSO.js → chunk-65RFU7LF.js} +1 -1
  265. package/dist/{chunk-7MGXHCVK.js → chunk-6M2N6ETA.js} +1 -1
  266. package/dist/{chunk-OWHETZIU.js → chunk-6SFDL4QH.js} +1 -1
  267. package/dist/{chunk-WK4FQPYW.js → chunk-77VOASOY.js} +5 -5
  268. package/dist/{chunk-UYF2B2TH.js → chunk-7ELFH3RJ.js} +1 -1
  269. package/dist/{chunk-HPI5J6AR.js → chunk-7K6LVM5I.js} +2 -2
  270. package/dist/{chunk-YQDRJZ5J.js → chunk-7M7WKYOV.js} +8 -8
  271. package/dist/{chunk-A5YKNRG6.js → chunk-7QCSISHM.js} +2 -1
  272. package/dist/{chunk-CYYBE2MM.js → chunk-7U6PK242.js} +1 -1
  273. package/dist/{chunk-I33UIUZD.js → chunk-7ZSEUO5Q.js} +51 -40
  274. package/dist/{chunk-LCZULGMB.js → chunk-ABRWL5FJ.js} +2 -2
  275. package/dist/{chunk-VG3SIJ3M.js → chunk-AFLS26AC.js} +2 -2
  276. package/dist/{chunk-4XF7ENQA.js → chunk-AOJ6ZA77.js} +2 -2
  277. package/dist/{chunk-Q2T4L6ML.js → chunk-AQNP3KQU.js} +5 -5
  278. package/dist/{chunk-6X5PGHEX.js → chunk-AUSFKGKL.js} +2 -2
  279. package/dist/{chunk-6R334YT3.js → chunk-AZYE7NR4.js} +2 -2
  280. package/dist/{chunk-WKKWF277.js → chunk-BN5FEJL5.js} +2 -2
  281. package/dist/{chunk-MPVMB2DV.js → chunk-BVML4UVB.js} +3 -2
  282. package/dist/{chunk-EAIOXW2W.js → chunk-BXGBGYKH.js} +8 -14
  283. package/dist/chunk-C4256UXE.js +21 -0
  284. package/dist/{chunk-2FMBZCFR.js → chunk-C42XW5YP.js} +1 -1
  285. package/dist/{chunk-4MRFLHJC.js → chunk-C46DDVTK.js} +1 -1
  286. package/dist/{chunk-5BOFC5OP.js → chunk-CF4M6N6A.js} +20 -4
  287. package/dist/{chunk-ANTAQAR4.js → chunk-CMAZZY2I.js} +7 -1
  288. package/dist/{chunk-3JXX5S3Z.js → chunk-CV2LU2T2.js} +2 -2
  289. package/dist/{chunk-MLDTLZAO.js → chunk-D2GT3CR4.js} +3 -3
  290. package/dist/{chunk-57AKYFML.js → chunk-DD7RBNT4.js} +3 -3
  291. package/dist/{chunk-KL6A7JGH.js → chunk-DRFOTWJE.js} +2 -2
  292. package/dist/{chunk-MUFBHVCT.js → chunk-DWQYV5AV.js} +2 -2
  293. package/dist/{chunk-CNEHFH2A.js → chunk-EAHEJNVJ.js} +1 -1
  294. package/dist/chunk-EALRMP7N.js +69 -0
  295. package/dist/{chunk-E35HYQMK.js → chunk-EBVZHVPD.js} +12 -5
  296. package/dist/{chunk-KHJIEPZV.js → chunk-EC6EUIAD.js} +9 -6
  297. package/dist/{chunk-XNNY27SC.js → chunk-ED4A6Q24.js} +1 -1
  298. package/dist/{chunk-6LN64KGG.js → chunk-F7HZYTZT.js} +6 -3
  299. package/dist/{chunk-RTMNULTL.js → chunk-FLW5U7YS.js} +2 -2
  300. package/dist/{chunk-JQEXAH7G.js → chunk-FPU7AA3X.js} +5 -16
  301. package/dist/{chunk-GHQG4VZA.js → chunk-G3CACE5L.js} +3 -3
  302. package/dist/{chunk-JMTBK55P.js → chunk-G4EHZHKM.js} +2 -2
  303. package/dist/{chunk-45M73G5A.js → chunk-GLKQHN7G.js} +5 -5
  304. package/dist/{chunk-N2BF272H.js → chunk-HF5L56YQ.js} +1 -1
  305. package/dist/chunk-HTBTAIH6.js +37 -0
  306. package/dist/chunk-HTS5RJ7S.js +6 -0
  307. package/dist/{chunk-BRLZXYPA.js → chunk-I4IUX3JF.js} +1 -1
  308. package/dist/{chunk-BXCL6P5Z.js → chunk-I4PBFJGX.js} +1 -1
  309. package/dist/{chunk-ADGNISEI.js → chunk-IAP7APOX.js} +5 -5
  310. package/dist/chunk-ICE3D63E.js +384 -0
  311. package/dist/{chunk-BT3GB7HC.js → chunk-IRONPJB4.js} +3 -3
  312. package/dist/chunk-IUBOLGHG.js +140 -0
  313. package/dist/chunk-JLOESTT2.js +10 -0
  314. package/dist/{chunk-5EFLA6BW.js → chunk-K6RWEQ6P.js} +2 -2
  315. package/dist/{chunk-ZQEJSEPS.js → chunk-K6Y6CDEZ.js} +2 -2
  316. package/dist/chunk-K774LUN3.js +20 -0
  317. package/dist/{chunk-7KBNFFM3.js → chunk-KXWJJWBD.js} +6 -3
  318. package/dist/{chunk-53J2YNQA.js → chunk-L5VU3LZT.js} +1 -1
  319. package/dist/chunk-L72URIHR.js +36 -0
  320. package/dist/{chunk-VERJCAJ4.js → chunk-LBGKLYBY.js} +1 -1
  321. package/dist/{chunk-PRN5IP2R.js → chunk-LMEMH6DO.js} +1 -1
  322. package/dist/{chunk-I22MUEG7.js → chunk-LNQSNXGJ.js} +1 -1
  323. package/dist/chunk-LT44RL62.js +50 -0
  324. package/dist/{chunk-222VILSP.js → chunk-LVJGN5II.js} +1 -1
  325. package/dist/{chunk-AYHIF6DH.js → chunk-LZNPL266.js} +1 -1
  326. package/dist/{chunk-R45VM5EX.js → chunk-MMV7NEAC.js} +1 -1
  327. package/dist/{chunk-2IIHMJMZ.js → chunk-MVKUE4FI.js} +2 -2
  328. package/dist/{chunk-37U3Z65B.js → chunk-MVMVMHYI.js} +1 -1
  329. package/dist/{chunk-JD7P2GJP.js → chunk-MYAARF4Z.js} +1 -1
  330. package/dist/{chunk-OBPINJNO.js → chunk-NCUSI4ZU.js} +3 -3
  331. package/dist/{chunk-NKBKQEKS.js → chunk-NFXCJGHG.js} +1 -1
  332. package/dist/{chunk-OZAZHM55.js → chunk-NKBKHOMU.js} +1 -1
  333. package/dist/{chunk-MGQKF7GK.js → chunk-NN475NAP.js} +1 -1
  334. package/dist/{chunk-6EWNMSS4.js → chunk-NNZRTR5M.js} +2 -2
  335. package/dist/{chunk-JT7WRPZ6.js → chunk-NTRKC2JV.js} +1 -1
  336. package/dist/{chunk-63GBSOLU.js → chunk-NXBCAXP5.js} +2 -2
  337. package/dist/{chunk-NR4CPM4T.js → chunk-NXFTCPF6.js} +1 -1
  338. package/dist/chunk-O3MYBNRO.js +80 -0
  339. package/dist/{chunk-RMEBFYL7.js → chunk-O6EV6GKI.js} +1 -1
  340. package/dist/{chunk-YL7AR6PR.js → chunk-O7KG4CXB.js} +3 -3
  341. package/dist/{chunk-FB3TCNQP.js → chunk-O7N6W52M.js} +3 -3
  342. package/dist/chunk-ONHYFU7D.js +25 -0
  343. package/dist/{chunk-T24HBEU6.js → chunk-OOOVL77Y.js} +1 -1
  344. package/dist/{chunk-BLGBD2D2.js → chunk-P7HMY3BQ.js} +4 -4
  345. package/dist/chunk-PCAT2EFB.js +104 -0
  346. package/dist/{chunk-TPIMOGOZ.js → chunk-PEBQMX5X.js} +1 -1
  347. package/dist/{chunk-UY3FWQWG.js → chunk-PGBKZSSQ.js} +201 -22
  348. package/dist/{chunk-4TMBAOXK.js → chunk-PW57R4BN.js} +1 -1
  349. package/dist/chunk-PX5BOALQ.js +13 -0
  350. package/dist/{chunk-CFTBESST.js → chunk-Q6TCUSQA.js} +2 -2
  351. package/dist/{chunk-ZWXHTXZO.js → chunk-QGEDXYLB.js} +2 -2
  352. package/dist/{chunk-ZKLEAK7M.js → chunk-QM3432PH.js} +7 -7
  353. package/dist/{chunk-WTXCK46H.js → chunk-R2QBQ6NO.js} +1 -1
  354. package/dist/{chunk-Z6JKZI4E.js → chunk-RBQRTGXX.js} +1 -1
  355. package/dist/{chunk-TJIBTHWJ.js → chunk-RDIQB5ZE.js} +3 -3
  356. package/dist/{chunk-TPCBPGSB.js → chunk-RO5JU6SN.js} +4 -4
  357. package/dist/{chunk-O222F2IX.js → chunk-SGMWLUYQ.js} +6 -6
  358. package/dist/{chunk-HEA6TERQ.js → chunk-SHH7UD5U.js} +1 -1
  359. package/dist/{chunk-CLJGFOTV.js → chunk-SKGOKLJD.js} +31 -18
  360. package/dist/{chunk-CSXJIIO4.js → chunk-SNQ7PH3D.js} +1 -1
  361. package/dist/chunk-SPNTUQBV.js +244 -0
  362. package/dist/{chunk-RIAPCEB5.js → chunk-T3S3D4FC.js} +5 -5
  363. package/dist/chunk-TDFLCUBE.js +6 -0
  364. package/dist/{chunk-OQG4P5KU.js → chunk-TGGYSQRD.js} +5 -6
  365. package/dist/{chunk-7FF6CZW5.js → chunk-TQKQRS2J.js} +36 -8
  366. package/dist/chunk-TRXTO3WC.js +114 -0
  367. package/dist/{chunk-H5XTJ7GJ.js → chunk-TUEM2XIW.js} +1 -1
  368. package/dist/{chunk-4AUTALJA.js → chunk-U2IQNDDR.js} +1 -1
  369. package/dist/{chunk-IVTQWOXV.js → chunk-ULYHDP7U.js} +1 -1
  370. package/dist/{chunk-DGSK4LLS.js → chunk-V6WDJUYK.js} +1 -1
  371. package/dist/{chunk-Z2MZTI3H.js → chunk-VB3FVKNI.js} +1 -1
  372. package/dist/{chunk-R5OATXWU.js → chunk-VONEKR3J.js} +38 -15
  373. package/dist/{chunk-CZQ7UITX.js → chunk-WANKINXG.js} +3 -3
  374. package/dist/{chunk-HQOEAUDJ.js → chunk-WMO722J2.js} +2 -2
  375. package/dist/{chunk-D7G2QGET.js → chunk-X3US25XJ.js} +1 -1
  376. package/dist/{chunk-GPFYITOF.js → chunk-X7VZQKIW.js} +1 -1
  377. package/dist/{chunk-L4HHWG4V.js → chunk-XA2QKGBJ.js} +3 -3
  378. package/dist/{chunk-DV5L2GRY.js → chunk-XJMES7AE.js} +1 -1
  379. package/dist/{chunk-5NJMSYDZ.js → chunk-XNC3M4IN.js} +1 -1
  380. package/dist/{chunk-B2YSFWUG.js → chunk-XRWHDW6F.js} +9 -9
  381. package/dist/{chunk-TKUAGWNR.js → chunk-XTJHMP3W.js} +2 -2
  382. package/dist/{chunk-KTIQSSME.js → chunk-XZY6S3UC.js} +6 -3
  383. package/dist/{chunk-7KHM2FZH.js → chunk-YGRTX67J.js} +1 -1
  384. package/dist/{chunk-RTPQDNW3.js → chunk-YJQXESOJ.js} +5 -1
  385. package/dist/chunk-YP2FS6SH.js +54 -0
  386. package/dist/{chunk-LMQG3VPG.js → chunk-YQ7Q52XU.js} +1 -1
  387. package/dist/{chunk-G4CGDUCP.js → chunk-YRNNUCQP.js} +1 -1
  388. package/dist/{chunk-5CEQ3HLH.js → chunk-YXKSUILG.js} +6 -6
  389. package/dist/{chunk-NHLNHH4J.js → chunk-ZB3E2Z4Y.js} +1 -1
  390. package/dist/{chunk-IL3XLDW7.js → chunk-ZDWAIVWL.js} +1 -1
  391. package/dist/{chunk-SNIPM6K7.js → chunk-ZJVLGYE3.js} +3 -3
  392. package/dist/{chunk-BFM5G2Z6.js → chunk-ZPTKAYJK.js} +1 -1
  393. package/dist/{chunk-2PIH6JHJ.js → chunk-ZXTDWTXS.js} +1 -1
  394. package/dist/{chunk-C667GCU7.js → chunk-ZXXZESCD.js} +9 -7
  395. package/dist/generated/index.d.ts +17 -0
  396. package/dist/generated/index.js +184 -163
  397. package/dist/index.js +184 -163
  398. package/dist/styles.css +2769 -156
  399. package/dist/utils/composedRef.d.ts +39 -0
  400. package/dist/utils/focusModality.d.ts +14 -0
  401. package/dist/utils/heldHint.d.ts +6 -0
  402. package/dist/utils/index.d.ts +3 -1
  403. package/dist/utils/index.js +4 -2
  404. package/dist/utils/tokenMs.d.ts +6 -0
  405. package/package.json +5 -5
  406. package/dist/ArtifactKinds-O3CALPVX.css +0 -16
  407. package/dist/{chunk-PLNJEDGI.js → chunk-I4IO56EY.js} +1 -1
  408. package/dist/{chunk-FEJANUZK.js → chunk-KBSD476L.js} +0 -0
  409. package/dist/{chunk-624X3RVA.js → chunk-O55JQ7BE.js} +1 -1
  410. /package/dist/{chunk-CDFQ7MQK.js → chunk-REEZQCML.js} +0 -0
@@ -0,0 +1,90 @@
1
+ /*
2
+ * The line under a message that has replies, and the working line under it.
3
+ */
4
+
5
+ .crewlet-thread-summary-wrap {
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: flex-start;
9
+ gap: var(--spacing-1);
10
+ max-width: 100%;
11
+ }
12
+
13
+ /* No piece is wider than the column: a long working line truncates. */
14
+ .crewlet-thread-summary-wrap > * {
15
+ max-width: 100%;
16
+ }
17
+
18
+ /* The faces sit on the content edge: the line's 1px edge and its inset are
19
+ taken back by the same amount outside it. */
20
+ .crewlet-thread-summary {
21
+ --crewlet-thread-summary-inset: var(--spacing-1);
22
+ display: inline-flex;
23
+ align-items: center;
24
+ gap: var(--spacing-2);
25
+ max-width: 100%;
26
+ height: var(--size-control-md);
27
+ box-sizing: border-box;
28
+ margin-inline-start: calc((var(--crewlet-thread-summary-inset) + 1px) * -1);
29
+ padding: 0 var(--crewlet-thread-summary-inset);
30
+ border: 1px solid transparent;
31
+ border-radius: var(--radius-sm);
32
+ background: transparent;
33
+ color: var(--color-text-secondary);
34
+ font: inherit;
35
+ font-size: var(--font-size-compact);
36
+ line-height: 1;
37
+ text-align: start;
38
+ cursor: pointer;
39
+ }
40
+
41
+ /* Lifted onto the transcript's own ground inside a hairline, under the
42
+ pointer or the keyboard, and while the thread is open. */
43
+ .crewlet-thread-summary:is(:hover, :focus-visible, .is-open) {
44
+ border-color: var(--color-edge-hairline);
45
+ background: var(--crewlet-chat-ground);
46
+ }
47
+
48
+ .crewlet-thread-summary:focus-visible {
49
+ outline: 2px solid var(--color-focus);
50
+ outline-offset: var(--size-focus-ring-inset-offset);
51
+ }
52
+
53
+ .crewlet-thread-summary__count {
54
+ color: var(--color-brand-accent-ink);
55
+ font-weight: var(--font-weight-medium);
56
+ white-space: nowrap;
57
+ }
58
+
59
+ /* "Last reply 1h ago" and "View thread" share one cell, so the line keeps
60
+ its width when one gives way to the other under the pointer. */
61
+ .crewlet-thread-summary__tail {
62
+ display: inline-grid;
63
+ min-width: 0;
64
+ padding-inline-end: var(--spacing-1);
65
+ white-space: nowrap;
66
+ }
67
+
68
+ .crewlet-thread-summary__last,
69
+ .crewlet-thread-summary__view {
70
+ grid-area: 1 / 1;
71
+ }
72
+
73
+ .crewlet-thread-summary__last {
74
+ color: var(--color-text-tertiary);
75
+ }
76
+
77
+ .crewlet-thread-summary__view {
78
+ justify-self: end;
79
+ visibility: hidden;
80
+ color: var(--color-text-secondary);
81
+ font-weight: var(--font-weight-regular);
82
+ }
83
+
84
+ .crewlet-thread-summary:is(:hover, :focus-visible, .is-open) .crewlet-thread-summary__last {
85
+ visibility: hidden;
86
+ }
87
+
88
+ .crewlet-thread-summary:is(:hover, :focus-visible, .is-open) .crewlet-thread-summary__view {
89
+ visibility: visible;
90
+ }
@@ -1,23 +1,24 @@
1
- export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-SNIPM6K7.js';
2
- import '../chunk-C667GCU7.js';
1
+ export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-ZJVLGYE3.js';
2
+ import '../chunk-ZXXZESCD.js';
3
3
  import '../chunk-BPCY7ZID.js';
4
4
  import '../chunk-36WK24AI.js';
5
- import '../chunk-6R334YT3.js';
6
- import '../chunk-2IIHMJMZ.js';
5
+ import '../chunk-AZYE7NR4.js';
6
+ import '../chunk-MVKUE4FI.js';
7
7
  import '../chunk-EGMQURBR.js';
8
8
  import '../chunk-CYQBDZ6M.js';
9
- import '../chunk-FB3TCNQP.js';
9
+ import '../chunk-TGGYSQRD.js';
10
+ import '../chunk-L72URIHR.js';
11
+ import '../chunk-O7N6W52M.js';
10
12
  import '../chunk-PGCLHYVP.js';
11
- import '../chunk-MLDTLZAO.js';
12
- import '../chunk-PQADV6P6.js';
13
- import '../chunk-2G355KDJ.js';
14
- import '../chunk-OQG4P5KU.js';
15
13
  import '../chunk-DGXZ635L.js';
14
+ import '../chunk-XSPCITPN.js';
16
15
  import '../chunk-OMV5W53A.js';
17
16
  import '../chunk-2YTOOH3A.js';
18
- import '../chunk-XSPCITPN.js';
19
- import '../chunk-H5XTJ7GJ.js';
17
+ import '../chunk-TUEM2XIW.js';
18
+ import '../chunk-4ITETIGZ.js';
20
19
  import '../chunk-UAUP6XGK.js';
21
- import '../chunk-NUZHC6MM.js';
20
+ import '../chunk-D2GT3CR4.js';
21
+ import '../chunk-PQADV6P6.js';
22
+ import '../chunk-2G355KDJ.js';
22
23
  import '../chunk-UT6CW3C7.js';
23
24
  import '../chunk-ODEQTPFM.js';
@@ -1,18 +1,19 @@
1
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-RIAPCEB5.js';
2
- import '../chunk-VK45YJLH.js';
3
- import '../chunk-7KHM2FZH.js';
1
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-T3S3D4FC.js';
2
+ import '../chunk-3IWZVEXA.js';
3
+ import '../chunk-YGRTX67J.js';
4
4
  import '../chunk-EE3DJMSQ.js';
5
- import '../chunk-KHJIEPZV.js';
6
- import '../chunk-FB3TCNQP.js';
5
+ import '../chunk-EC6EUIAD.js';
6
+ import '../chunk-L72URIHR.js';
7
+ import '../chunk-O7N6W52M.js';
7
8
  import '../chunk-PGCLHYVP.js';
8
- import '../chunk-PQADV6P6.js';
9
- import '../chunk-2G355KDJ.js';
10
9
  import '../chunk-DGXZ635L.js';
10
+ import '../chunk-XSPCITPN.js';
11
11
  import '../chunk-OMV5W53A.js';
12
12
  import '../chunk-2YTOOH3A.js';
13
- import '../chunk-XSPCITPN.js';
14
- import '../chunk-H5XTJ7GJ.js';
13
+ import '../chunk-TUEM2XIW.js';
14
+ import '../chunk-4ITETIGZ.js';
15
15
  import '../chunk-UAUP6XGK.js';
16
- import '../chunk-NUZHC6MM.js';
16
+ import '../chunk-PQADV6P6.js';
17
+ import '../chunk-2G355KDJ.js';
17
18
  import '../chunk-UT6CW3C7.js';
18
19
  import '../chunk-ODEQTPFM.js';
@@ -1,6 +1,6 @@
1
1
  export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from '../chunk-JIBWNHTC.js';
2
2
  import '../chunk-OMV5W53A.js';
3
- import '../chunk-H5XTJ7GJ.js';
4
- import '../chunk-NUZHC6MM.js';
3
+ import '../chunk-TUEM2XIW.js';
4
+ import '../chunk-4ITETIGZ.js';
5
5
  import '../chunk-UT6CW3C7.js';
6
6
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-NR4CPM4T.js';
1
+ export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-NXFTCPF6.js';
2
2
  import '../chunk-OMV5W53A.js';
3
- import '../chunk-H5XTJ7GJ.js';
4
- import '../chunk-NUZHC6MM.js';
3
+ import '../chunk-TUEM2XIW.js';
4
+ import '../chunk-4ITETIGZ.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -1,11 +1,26 @@
1
- import { type ReactElement, type ReactNode } from 'react';
1
+ import { type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from 'react';
2
2
  export type TooltipPlacement = 'top' | 'bottom';
3
3
  /**
4
4
  * Where along the trigger the panel lines up: `center` on its middle, or
5
5
  * `start` on its leading edge, running toward the inline end.
6
6
  */
7
7
  export type TooltipAlign = 'center' | 'start';
8
- export interface TooltipProps {
8
+ /**
9
+ * Everything a tooltip is handed beyond its own props belongs to its TRIGGER.
10
+ *
11
+ * A tooltip stands where a trigger is expected: a `Popover` or a `Menu` clones
12
+ * its trigger with a ref and its state (`aria-expanded`, `aria-controls`, a
13
+ * press handler), and when that trigger is `<Tooltip><button /></Tooltip>`
14
+ * those land on the tooltip. They are merged onto the child: the ref composed
15
+ * with the child's own and the tooltip's, every handler run after the child's
16
+ * own, `style` merged, and any other attribute set over the child's, since the
17
+ * component cloning its trigger is the one that knows the state it names.
18
+ * `className` is not among them: it is the panel's.
19
+ */
20
+ type TriggerAttributes = Omit<HTMLAttributes<HTMLElement>, 'content' | 'children' | 'className'>;
21
+ export interface TooltipProps extends TriggerAttributes {
22
+ /** A ref to the TRIGGER element, composed with the child's own. */
23
+ ref?: Ref<HTMLElement> | undefined;
9
24
  /** One short line. A tooltip is not a place to put a list or a paragraph. */
10
25
  content: ReactNode;
11
26
  /** The preferred side. It flips when there is not room and there is more room the other way. */
@@ -55,8 +70,20 @@ export interface TooltipProps {
55
70
  * is pressed. NOTHING HIDES IT ON A TIMER: a reader who needs longer than
56
71
  * somebody else's idea of long enough is exactly the reader this is for.
57
72
  *
73
+ * FOCUS HOLDS IT ONLY WHEN IT IS KEYBOARD FOCUS, the focus `:focus-visible`
74
+ * matches (`isVisibleFocus`). A mouse press focuses a button too, and so does
75
+ * a layer handing focus back as it closes, so a tip shown for a hover outlived
76
+ * the hover: press Formatting, move away, and "Hide formatting" stayed on the
77
+ * screen until something else took focus. Hover still opens it, keyboard
78
+ * focus still opens it and keeps it, and A PRESS CLOSES IT, as a press on a
79
+ * control answers its hint; it opens again on the pointer's next arrival.
80
+ *
58
81
  * It is linked by `aria-describedby` rather than `aria-labelledby`: the
59
82
  * control has a name already, and replacing it with the hint is how a Close
60
83
  * button came to be announced as "Closing is unavailable until this finishes".
84
+ *
85
+ * Any other prop, and a ref, belongs to the trigger and is merged onto the
86
+ * child (see `TriggerAttributes`), so a tooltip can be a Popover's trigger.
61
87
  */
62
- export declare function Tooltip({ content, placement, align, disabled, openDelay, closeDelay, className, children, }: TooltipProps): import("react").JSX.Element;
88
+ export declare function Tooltip({ content, placement, align, disabled, openDelay, closeDelay, className, children, ref: forwardedRef, ...forwarded }: TooltipProps): import("react").JSX.Element;
89
+ export {};
@@ -1,5 +1,7 @@
1
- export { Tooltip } from '../chunk-I33UIUZD.js';
1
+ export { Tooltip } from '../chunk-7ZSEUO5Q.js';
2
+ import '../chunk-HTS5RJ7S.js';
3
+ import '../chunk-L72URIHR.js';
2
4
  import '../chunk-OMV5W53A.js';
3
- import '../chunk-H5XTJ7GJ.js';
4
- import '../chunk-NUZHC6MM.js';
5
+ import '../chunk-TUEM2XIW.js';
6
+ import '../chunk-4ITETIGZ.js';
5
7
  import '../chunk-ODEQTPFM.js';
@@ -1,14 +1,17 @@
1
- export { TreeCanvas } from '../chunk-JQEXAH7G.js';
1
+ export { TreeCanvas } from '../chunk-FPU7AA3X.js';
2
2
  import '../chunk-MY374UUD.js';
3
- import '../chunk-OBPINJNO.js';
3
+ import '../chunk-NCUSI4ZU.js';
4
4
  import '../chunk-LM3ISVJA.js';
5
- import '../chunk-I33UIUZD.js';
6
- import '../chunk-ANTAQAR4.js';
5
+ import '../chunk-YJQXESOJ.js';
6
+ import '../chunk-7ZSEUO5Q.js';
7
+ import '../chunk-HTS5RJ7S.js';
8
+ import '../chunk-L72URIHR.js';
9
+ import '../chunk-CMAZZY2I.js';
7
10
  import '../chunk-DGXZ635L.js';
8
- import '../chunk-OMV5W53A.js';
9
11
  import '../chunk-XSPCITPN.js';
10
- import '../chunk-H5XTJ7GJ.js';
12
+ import '../chunk-OMV5W53A.js';
13
+ import '../chunk-TUEM2XIW.js';
14
+ import '../chunk-4ITETIGZ.js';
11
15
  import '../chunk-UAUP6XGK.js';
12
- import '../chunk-NUZHC6MM.js';
13
16
  import '../chunk-UT6CW3C7.js';
14
17
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { TreeGrid } from '../chunk-IL3XLDW7.js';
1
+ export { TreeGrid } from '../chunk-ZDWAIVWL.js';
2
2
  import '../chunk-MY374UUD.js';
3
3
  import '../chunk-LM3ISVJA.js';
4
4
  import '../chunk-OMV5W53A.js';
5
- import '../chunk-H5XTJ7GJ.js';
5
+ import '../chunk-TUEM2XIW.js';
6
+ import '../chunk-4ITETIGZ.js';
6
7
  import '../chunk-UAUP6XGK.js';
7
- import '../chunk-NUZHC6MM.js';
8
8
  import '../chunk-UT6CW3C7.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -1,15 +1,15 @@
1
- export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-GHQG4VZA.js';
2
- import '../chunk-VK45YJLH.js';
3
- import '../chunk-6EWNMSS4.js';
4
- import '../chunk-7KHM2FZH.js';
5
- import '../chunk-FB3TCNQP.js';
1
+ export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-G3CACE5L.js';
2
+ import '../chunk-3IWZVEXA.js';
3
+ import '../chunk-NNZRTR5M.js';
4
+ import '../chunk-YGRTX67J.js';
5
+ import '../chunk-O7N6W52M.js';
6
6
  import '../chunk-PGCLHYVP.js';
7
- import '../chunk-PQADV6P6.js';
8
- import '../chunk-2G355KDJ.js';
9
7
  import '../chunk-OMV5W53A.js';
10
8
  import '../chunk-2YTOOH3A.js';
11
- import '../chunk-H5XTJ7GJ.js';
9
+ import '../chunk-TUEM2XIW.js';
10
+ import '../chunk-4ITETIGZ.js';
12
11
  import '../chunk-UAUP6XGK.js';
13
- import '../chunk-NUZHC6MM.js';
12
+ import '../chunk-PQADV6P6.js';
13
+ import '../chunk-2G355KDJ.js';
14
14
  import '../chunk-UT6CW3C7.js';
15
15
  import '../chunk-ODEQTPFM.js';
@@ -1,20 +1,21 @@
1
- export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-Z6JKZI4E.js';
1
+ export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-RBQRTGXX.js';
2
2
  import '../chunk-AOFVXE6V.js';
3
3
  import '../chunk-36WK24AI.js';
4
- import '../chunk-6R334YT3.js';
5
- import '../chunk-2IIHMJMZ.js';
4
+ import '../chunk-AZYE7NR4.js';
5
+ import '../chunk-MVKUE4FI.js';
6
6
  import '../chunk-EGMQURBR.js';
7
7
  import '../chunk-CYQBDZ6M.js';
8
+ import '../chunk-TGGYSQRD.js';
9
+ import '../chunk-L72URIHR.js';
8
10
  import '../chunk-PPUR46MK.js';
9
- import '../chunk-MLDTLZAO.js';
10
- import '../chunk-PQADV6P6.js';
11
- import '../chunk-OQG4P5KU.js';
12
11
  import '../chunk-DGXZ635L.js';
12
+ import '../chunk-XSPCITPN.js';
13
13
  import '../chunk-OMV5W53A.js';
14
14
  import '../chunk-2YTOOH3A.js';
15
- import '../chunk-XSPCITPN.js';
16
- import '../chunk-H5XTJ7GJ.js';
15
+ import '../chunk-TUEM2XIW.js';
16
+ import '../chunk-4ITETIGZ.js';
17
17
  import '../chunk-UAUP6XGK.js';
18
- import '../chunk-NUZHC6MM.js';
18
+ import '../chunk-D2GT3CR4.js';
19
+ import '../chunk-PQADV6P6.js';
19
20
  import '../chunk-UT6CW3C7.js';
20
21
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
- export { VersionTimeline } from '../chunk-53J2YNQA.js';
2
- import '../chunk-N2BF272H.js';
1
+ export { VersionTimeline } from '../chunk-L5VU3LZT.js';
2
+ import '../chunk-HF5L56YQ.js';
3
3
  import '../chunk-EJNJMHQG.js';
4
4
  import '../chunk-RE3FBGQQ.js';
5
- import '../chunk-BT3GB7HC.js';
6
- import '../chunk-KTIQSSME.js';
5
+ import '../chunk-IRONPJB4.js';
6
+ import '../chunk-XZY6S3UC.js';
7
7
  import '../chunk-4MJN2KN6.js';
8
8
  import '../chunk-DGXZ635L.js';
9
9
  import '../chunk-XSPCITPN.js';
@@ -1,5 +1,5 @@
1
- export { WidgetFrame } from '../chunk-S5QJZOPL.js';
2
- import '../chunk-BRLZXYPA.js';
1
+ export { WidgetFrame } from '../chunk-5K5SZGBI.js';
2
+ import '../chunk-I4IUX3JF.js';
3
3
  import '../chunk-EJNJMHQG.js';
4
4
  import '../chunk-RE3FBGQQ.js';
5
5
  import '../chunk-UT6CW3C7.js';
@@ -1,8 +1,8 @@
1
- import { HuePicker } from './chunk-HEA6TERQ.js';
2
- import { Popover } from './chunk-KHJIEPZV.js';
1
+ import { HuePicker } from './chunk-SHH7UD5U.js';
2
+ import { Popover } from './chunk-EC6EUIAD.js';
3
3
  import { NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
4
- import { CharacterPicker } from './chunk-I22MUEG7.js';
5
- import { Avatar } from './chunk-KTIQSSME.js';
4
+ import { CharacterPicker } from './chunk-LNQSNXGJ.js';
5
+ import { Avatar } from './chunk-XZY6S3UC.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './AvatarPicker-POOJUOKC.css';
8
8
  import { CREWLET_CHARACTER_GEOMETRY, CREWLET_CHARACTERS } from '@crewlethq/icons/characters';
@@ -4,31 +4,78 @@ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
4
4
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
6
6
  import './HitArea-QUOS6ZDJ.css';
7
- import './SidebarNav-VTQ3G4AE.css';
8
- import { createContext, useId, useContext, useState } from 'react';
7
+ import './SidebarNav-E7PZGGA6.css';
8
+ import { createContext, useId, useState, useContext } from 'react';
9
9
  import { ChevronDownGlyph } from '@crewlethq/icons/glyphs';
10
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
11
 
12
12
  var GroupLocked = createContext(false);
13
- function SidebarNav({ label, className, children }) {
14
- return /* @__PURE__ */ jsx("nav", { className: cx("crewlet-sidebar-nav", className), "aria-label": label, children });
13
+ var GroupFolded = createContext(false);
14
+ function SidebarNav({ label, dense = false, className, children }) {
15
+ return /* @__PURE__ */ jsx("nav", { className: cx("crewlet-sidebar-nav", dense && "crewlet-sidebar-nav--dense", className), "aria-label": label, children });
15
16
  }
16
- function NavGroup({ label, action, locked, className, children }) {
17
+ function NavGroup({
18
+ label,
19
+ action,
20
+ locked,
21
+ collapsible = false,
22
+ collapsed,
23
+ defaultCollapsed = false,
24
+ onCollapsedChange,
25
+ className,
26
+ children
27
+ }) {
17
28
  const id = useId();
29
+ const [ownCollapsed, setOwnCollapsed] = useState(defaultCollapsed);
18
30
  const named = label !== void 0 && label !== null && label !== false && label !== "";
19
31
  const groupLocked = named && locked !== void 0 && locked !== "";
32
+ const folds = named && collapsible;
33
+ const folded = folds && (collapsed ?? ownCollapsed);
34
+ function toggle() {
35
+ const next = !folded;
36
+ if (collapsed === void 0) setOwnCollapsed(next);
37
+ onCollapsedChange?.(next);
38
+ }
39
+ const words = /* @__PURE__ */ jsx(LockedLabel, { reason: groupLocked ? locked : void 0, children: label });
20
40
  return /* @__PURE__ */ jsxs(
21
41
  "div",
22
42
  {
23
- className: cx("crewlet-nav-group", groupLocked && "crewlet-nav-group--locked", className),
43
+ className: cx(
44
+ "crewlet-nav-group",
45
+ groupLocked && "crewlet-nav-group--locked",
46
+ folded && "crewlet-nav-group--collapsed",
47
+ className
48
+ ),
24
49
  role: named ? "group" : void 0,
25
50
  "aria-labelledby": named ? id : void 0,
26
51
  children: [
27
52
  named || action ? /* @__PURE__ */ jsxs("div", { className: "crewlet-nav-group__head", children: [
28
- named ? /* @__PURE__ */ jsx("span", { className: "crewlet-nav-group__label", id, children: /* @__PURE__ */ jsx(LockedLabel, { reason: groupLocked ? locked : void 0, children: label }) }) : null,
53
+ folds ? (
54
+ /*
55
+ * THE HEADING IS THE FOLD. Its chevron stands in the glyph column
56
+ * and its words on the label line, so a folded list's headings
57
+ * and rows still read as one grid, and the button is named by the
58
+ * words alone (the chevron is decoration; `aria-expanded` says
59
+ * which way it points).
60
+ */
61
+ /* @__PURE__ */ jsxs(
62
+ "button",
63
+ {
64
+ type: "button",
65
+ className: "crewlet-nav-group__toggle",
66
+ id,
67
+ "aria-expanded": !folded,
68
+ onClick: toggle,
69
+ children: [
70
+ /* @__PURE__ */ jsx("span", { className: "crewlet-nav-group__chevron", "aria-hidden": true, children: /* @__PURE__ */ jsx(ChevronDownGlyph, { size: "xs" }) }),
71
+ /* @__PURE__ */ jsx("span", { className: "crewlet-nav-group__label", children: words })
72
+ ]
73
+ }
74
+ )
75
+ ) : named ? /* @__PURE__ */ jsx("span", { className: "crewlet-nav-group__label", id, children: words }) : null,
29
76
  action ? /* @__PURE__ */ jsx("button", { type: "button", className: "crewlet-nav-group__action", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ jsx("span", { className: "crewlet-nav-group__action-icon", "aria-hidden": true, children: action.icon }) }) : null
30
77
  ] }) : null,
31
- /* @__PURE__ */ jsx(GroupLocked.Provider, { value: groupLocked, children })
78
+ /* @__PURE__ */ jsx(GroupLocked.Provider, { value: groupLocked, children: /* @__PURE__ */ jsx(GroupFolded.Provider, { value: folded, children }) })
32
79
  ]
33
80
  }
34
81
  );
@@ -52,6 +99,8 @@ function NavItem({
52
99
  current = false,
53
100
  disabledReason,
54
101
  locked,
102
+ unread = false,
103
+ muted = false,
55
104
  title,
56
105
  onPrefetch,
57
106
  renderLink,
@@ -65,10 +114,14 @@ function NavItem({
65
114
  }) {
66
115
  const id = useId();
67
116
  const inLockedGroup = useContext(GroupLocked);
117
+ const inFoldedGroup = useContext(GroupFolded);
68
118
  const [ownExpanded, setOwnExpanded] = useState(defaultExpanded);
69
119
  const open = expanded ?? ownExpanded;
70
120
  const nested = children !== void 0 && children !== null && children !== false;
71
121
  const inert = disabledReason !== void 0;
122
+ const calling = unread && !muted;
123
+ if (inFoldedGroup && !current && !calling) return null;
124
+ const state = muted ? ", muted" : calling && !count && !badge ? ", unread" : "";
72
125
  function toggle() {
73
126
  const next = !open;
74
127
  if (expanded === void 0) setOwnExpanded(next);
@@ -80,7 +133,7 @@ function NavItem({
80
133
  lead ? " " : null,
81
134
  /* @__PURE__ */ jsxs("span", { className: "crewlet-nav-item__label", children: [
82
135
  /* @__PURE__ */ jsx(LockedLabel, { reason: locked, mark: !inLockedGroup, children: label }),
83
- count || badge ? /* @__PURE__ */ jsx(VisuallyHidden, { children: spoken([count, badge]) }) : null
136
+ count || badge || state ? /* @__PURE__ */ jsx(VisuallyHidden, { children: `${spoken([count, badge])}${state}` }) : null
84
137
  ] }),
85
138
  count ? /* @__PURE__ */ jsx(Figure, { figure: count, mark: count.mark, className: "crewlet-nav-item__count" }) : null,
86
139
  badge ? /* @__PURE__ */ jsx(Figure, { figure: badge, className: "crewlet-nav-item__badge" }) : null
@@ -151,25 +204,36 @@ function NavItem({
151
204
  // what a screen reader is told from coming apart; a `data-current` beside
152
205
  // it would be a second answer to one question, and the first stylesheet to
153
206
  // read the wrong one is the one that disagrees.
154
- /* @__PURE__ */ jsxs("div", { className: cx("crewlet-nav-item", className), children: [
155
- /* @__PURE__ */ jsxs("div", { className: "crewlet-nav-item__head", children: [
156
- row,
157
- separateToggle ? /* @__PURE__ */ jsx(
158
- "button",
159
- {
160
- type: "button",
161
- className: "crewlet-nav-item__toggle",
162
- "aria-expanded": open,
163
- "aria-controls": `${id}-children`,
164
- "aria-label": expandLabel ?? (typeof label === "string" ? `${label} sections` : "Sections"),
165
- onClick: toggle,
166
- children: /* @__PURE__ */ jsx("span", { className: cx("crewlet-nav-item__chevron", open && "crewlet-nav-item__chevron--open"), "aria-hidden": true, children: /* @__PURE__ */ jsx(ChevronDownGlyph, { size: "sm" }) })
167
- }
168
- ) : null
169
- ] }),
170
- inert ? /* @__PURE__ */ jsx(VisuallyHidden, { id: `${id}-reason`, children: disabledReason }) : null,
171
- nested ? /* @__PURE__ */ jsx("div", { className: "crewlet-nav-item__children", id: `${id}-children`, hidden: !open, children }) : null
172
- ] })
207
+ /* @__PURE__ */ jsxs(
208
+ "div",
209
+ {
210
+ className: cx(
211
+ "crewlet-nav-item",
212
+ calling && "crewlet-nav-item--unread",
213
+ muted && "crewlet-nav-item--muted",
214
+ className
215
+ ),
216
+ children: [
217
+ /* @__PURE__ */ jsxs("div", { className: "crewlet-nav-item__head", children: [
218
+ row,
219
+ separateToggle ? /* @__PURE__ */ jsx(
220
+ "button",
221
+ {
222
+ type: "button",
223
+ className: "crewlet-nav-item__toggle",
224
+ "aria-expanded": open,
225
+ "aria-controls": `${id}-children`,
226
+ "aria-label": expandLabel ?? (typeof label === "string" ? `${label} sections` : "Sections"),
227
+ onClick: toggle,
228
+ children: /* @__PURE__ */ jsx("span", { className: cx("crewlet-nav-item__chevron", open && "crewlet-nav-item__chevron--open"), "aria-hidden": true, children: /* @__PURE__ */ jsx(ChevronDownGlyph, { size: "sm" }) })
229
+ }
230
+ ) : null
231
+ ] }),
232
+ inert ? /* @__PURE__ */ jsx(VisuallyHidden, { id: `${id}-reason`, children: disabledReason }) : null,
233
+ nested ? /* @__PURE__ */ jsx("div", { className: "crewlet-nav-item__children", id: `${id}-children`, hidden: !open, children: /* @__PURE__ */ jsx(GroupFolded.Provider, { value: false, children }) }) : null
234
+ ]
235
+ }
236
+ )
173
237
  );
174
238
  }
175
239
  SidebarNav.Group = NavGroup;
@@ -1,6 +1,6 @@
1
1
  import { Table } from './chunk-75NQV4R4.js';
2
2
  import { DownloadButton } from './chunk-EHFQMY3B.js';
3
- import { StatusCard } from './chunk-RTMNULTL.js';
3
+ import { StatusCard } from './chunk-FLW5U7YS.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './ResultTableCard-AP355LQM.css';
6
6
  import { useState } from 'react';
@@ -1,4 +1,4 @@
1
- import { StatusCard } from './chunk-RTMNULTL.js';
1
+ import { StatusCard } from './chunk-FLW5U7YS.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './EntityList-DT3BQLUW.css';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  import { Note } from './chunk-5SZGKSGL.js';
2
- import { CanvasToolbar, toolForKey } from './chunk-KL6A7JGH.js';
3
- import { IDENTITY_VIEW, Canvas } from './chunk-OBPINJNO.js';
2
+ import { CanvasToolbar, toolForKey } from './chunk-DRFOTWJE.js';
3
+ import { IDENTITY_VIEW, Canvas } from './chunk-NCUSI4ZU.js';
4
4
  import { IconButton } from './chunk-UAUP6XGK.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
6
6
  import './CanvasBoard-U6LR5F6H.css';
@@ -1,5 +1,5 @@
1
+ import { Tag } from './chunk-LBGKLYBY.js';
1
2
  import { normalizeHex } from './chunk-7W3LYIOC.js';
2
- import { Tag } from './chunk-VERJCAJ4.js';
3
3
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './ContrastBadge-CBZPGG3G.css';
@@ -0,0 +1,46 @@
1
+ import { PersonRow } from './chunk-EALRMP7N.js';
2
+ import { cx } from './chunk-ODEQTPFM.js';
3
+ import './PersonRow-V5GTPNVP.css';
4
+ import './MentionMenu-4NAQ45S4.css';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var MENTION_MENU_LABELS = {
8
+ hints: ["\u2191\u2193 to move", "Enter or Tab to choose", "Esc to close"]
9
+ };
10
+ function MentionMenu({ id, label, options, active, onPick, onHover, listRef, footer, labels: overrides, className }) {
11
+ const labels = overrides ? { ...MENTION_MENU_LABELS, ...overrides } : MENTION_MENU_LABELS;
12
+ const foot = footer === void 0 ? /* @__PURE__ */ jsx("div", { className: "crewlet-mention-menu__footer", children: labels.hints.map((hint) => /* @__PURE__ */ jsx("span", { children: hint }, hint)) }) : footer === null ? null : /* @__PURE__ */ jsx("div", { className: "crewlet-mention-menu__footer", children: footer });
13
+ return /* @__PURE__ */ jsxs("div", { className: cx("crewlet-mention-menu", className), children: [
14
+ /* @__PURE__ */ jsx("div", { className: "crewlet-mention-menu__label", "aria-hidden": "true", children: label }),
15
+ /* @__PURE__ */ jsx("ul", { ref: listRef, id, role: "listbox", "aria-label": label, className: "crewlet-mention-menu__list", children: options.map((option, index) => /* @__PURE__ */ jsx(
16
+ PersonRow,
17
+ {
18
+ as: "option",
19
+ id: `${id}-${index}`,
20
+ density: "compact",
21
+ avatar: option.mark,
22
+ name: option.label,
23
+ detail: option.detail,
24
+ meta: option.note,
25
+ selected: index === active,
26
+ highlighted: index === active,
27
+ onMouseDown: (event) => {
28
+ event.preventDefault();
29
+ onPick(option, index);
30
+ },
31
+ onMouseEnter: () => onHover(index)
32
+ },
33
+ option.id
34
+ )) }),
35
+ foot
36
+ ] });
37
+ }
38
+ function mentionQuery(text, caret) {
39
+ const before = text.slice(0, Math.max(0, Math.min(caret, text.length)));
40
+ const match = /(^|\s)([@#])([\p{L}\p{N}_-]*)$/u.exec(before);
41
+ if (!match) return null;
42
+ const query = match[3] ?? "";
43
+ return { trigger: match[2], query, start: before.length - query.length - 1 };
44
+ }
45
+
46
+ export { MENTION_MENU_LABELS, MentionMenu, mentionQuery };
@@ -1,4 +1,4 @@
1
- import { Tag } from './chunk-VERJCAJ4.js';
1
+ import { Tag } from './chunk-LBGKLYBY.js';
2
2
  import { RelativeTime } from './chunk-EJNJMHQG.js';
3
3
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
4
4
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';