@crewlethq/ui 0.55.0 → 0.57.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 (315) hide show
  1. package/README.md +97 -4
  2. package/dist/Accordion/index.js +2 -2
  3. package/dist/AgentHandoffPanel/index.js +14 -9
  4. package/dist/AppShell/AppShell.d.ts +84 -1
  5. package/dist/AppShell/ResizeHandle.d.ts +74 -0
  6. package/dist/AppShell/index.d.ts +7 -2
  7. package/dist/AppShell/index.js +6 -4
  8. package/dist/AppShell/regions.d.ts +36 -0
  9. package/dist/AppShell/storedWidth.d.ts +47 -0
  10. package/dist/{AppShell-5LPXYUV3.css → AppShell-ZVCJRGXH.css} +172 -1
  11. package/dist/ArrangeFrame/index.js +2 -2
  12. package/dist/ArrangeList/index.js +5 -5
  13. package/dist/ArtifactBar/ArtifactBar.d.ts +13 -2
  14. package/dist/ArtifactBar/index.js +9 -8
  15. package/dist/{ArtifactBar-UMZCTARR.css → ArtifactBar-LEBMR35Y.css} +19 -1
  16. package/dist/ArtifactCard/index.js +6 -6
  17. package/dist/ArtifactNameCell/ArtifactNameCell.d.ts +7 -1
  18. package/dist/ArtifactNameCell/index.js +1 -1
  19. package/dist/ArtifactPanel/ArtifactPanel.d.ts +11 -17
  20. package/dist/ArtifactPanel/index.d.ts +3 -0
  21. package/dist/ArtifactPanel/index.js +8 -2
  22. package/dist/ArtifactPanel-TN4FFK2F.css +43 -0
  23. package/dist/AvatarPicker/index.js +9 -8
  24. package/dist/Button/index.js +2 -1
  25. package/dist/{Button-UWKBTKYD.css → Button-VXJ7M5XF.css} +9 -32
  26. package/dist/Canvas/index.js +5 -4
  27. package/dist/CanvasBoard/index.js +7 -6
  28. package/dist/CanvasToolbar/index.js +6 -5
  29. package/dist/ChangeList/ChangeList.d.ts +114 -0
  30. package/dist/ChangeList/index.d.ts +3 -0
  31. package/dist/ChangeList/index.js +10 -0
  32. package/dist/ChangeList-CB2DLR5S.css +151 -0
  33. package/dist/ChatThread/ChatThread.d.ts +53 -0
  34. package/dist/ChatThread/index.d.ts +3 -0
  35. package/dist/ChatThread/index.js +6 -0
  36. package/dist/ChatThread-52KMDXHB.css +58 -0
  37. package/dist/Checkbox/index.js +4 -4
  38. package/dist/CodeBlock/index.js +5 -4
  39. package/dist/ColorField/index.js +4 -4
  40. package/dist/ColorSwatch/index.js +5 -4
  41. package/dist/Combobox/index.js +5 -5
  42. package/dist/CommandPalette/index.js +9 -8
  43. package/dist/CommentThread/index.js +9 -7
  44. package/dist/Composer/Composer.d.ts +39 -2
  45. package/dist/Composer/index.js +5 -4
  46. package/dist/Composer-JSGTOW3F.css +192 -0
  47. package/dist/ConfirmField/index.js +4 -4
  48. package/dist/ConflictNote/index.js +3 -2
  49. package/dist/ContrastHelp/index.js +2 -2
  50. package/dist/Copyable/index.js +4 -3
  51. package/dist/DataGrid/driving.d.ts +48 -0
  52. package/dist/DataGrid/index.d.ts +2 -0
  53. package/dist/DataGrid/index.js +8 -7
  54. package/dist/DataTable/index.js +10 -9
  55. package/dist/DataView/index.js +14 -13
  56. package/dist/DatasetSource/index.js +2 -2
  57. package/dist/DateTimePicker/index.js +4 -3
  58. package/dist/DiffList/DiffList.d.ts +12 -3
  59. package/dist/DiffList/index.d.ts +1 -1
  60. package/dist/DiffList/index.js +1 -1
  61. package/dist/{DiffList-3EX64AAE.css → DiffList-GE6YBRLJ.css} +53 -0
  62. package/dist/Disclosure/anatomy.d.ts +14 -1
  63. package/dist/Disclosure/index.js +2 -2
  64. package/dist/{Disclosure-P4FH3C35.css → Disclosure-FVMA4RW2.css} +36 -0
  65. package/dist/DocTabsEditor/index.js +8 -7
  66. package/dist/DownloadButton/DownloadButton.d.ts +21 -4
  67. package/dist/DownloadButton/index.d.ts +1 -1
  68. package/dist/DownloadButton/index.js +4 -3
  69. package/dist/EditingStatus/index.js +2 -2
  70. package/dist/{Editor-GNKMX3VF.js → Editor-S4HARQ7V.js} +8 -7
  71. package/dist/EntityList/EntityList.d.ts +37 -0
  72. package/dist/EntityList/index.d.ts +3 -0
  73. package/dist/EntityList/index.js +10 -0
  74. package/dist/EntityList-XIICECVC.css +55 -0
  75. package/dist/ErrorBoundary/index.js +3 -2
  76. package/dist/FileDrop/index.js +3 -2
  77. package/dist/FollowBanner/index.js +3 -2
  78. package/dist/HuePicker/index.js +8 -7
  79. package/dist/IconButton/IconButton.d.ts +6 -1
  80. package/dist/IconButton/index.js +1 -1
  81. package/dist/{IconButton-K24JQHLF.css → IconButton-6WA7UEBJ.css} +44 -21
  82. package/dist/IconTile/IconTile.d.ts +8 -2
  83. package/dist/IconTile/index.js +1 -1
  84. package/dist/{IconTile-4GNWTLAW.css → IconTile-G52XZVR4.css} +3 -0
  85. package/dist/InlineEditor/index.js +6 -5
  86. package/dist/Input/index.js +3 -3
  87. package/dist/LinkInterstitial/index.js +6 -5
  88. package/dist/ListInput/index.js +7 -6
  89. package/dist/LogoSlot/index.js +4 -3
  90. package/dist/MarkdownEditor/index.js +8 -7
  91. package/dist/Menu/index.js +4 -3
  92. package/dist/MergeConflicts/index.js +8 -7
  93. package/dist/MessageBubble/MessageBubble.d.ts +34 -0
  94. package/dist/MessageBubble/index.d.ts +3 -0
  95. package/dist/MessageBubble/index.js +2 -0
  96. package/dist/MessageBubble-GKO6X3QG.css +71 -0
  97. package/dist/Modal/index.js +5 -4
  98. package/dist/OpenInAppCard/OpenInAppCard.d.ts +44 -0
  99. package/dist/OpenInAppCard/index.d.ts +3 -0
  100. package/dist/OpenInAppCard/index.js +15 -0
  101. package/dist/OpenInAppCard-CKHCK7DO.css +24 -0
  102. package/dist/OrgTable/index.js +3 -3
  103. package/dist/PeekRail/PeekHost.d.ts +90 -0
  104. package/dist/PeekRail/PeekRail.d.ts +83 -0
  105. package/dist/PeekRail/activation.d.ts +30 -0
  106. package/dist/PeekRail/index.d.ts +8 -0
  107. package/dist/PeekRail/index.js +8 -0
  108. package/dist/PeekRail-4L5YUQMW.css +95 -0
  109. package/dist/PeopleRail/index.js +4 -3
  110. package/dist/PinTile/index.js +2 -2
  111. package/dist/PresenterView/index.js +5 -4
  112. package/dist/PrincipalPicker/index.js +6 -6
  113. package/dist/ProposalCard/ProposalCard.d.ts +183 -0
  114. package/dist/ProposalCard/index.d.ts +3 -0
  115. package/dist/ProposalCard/index.js +17 -0
  116. package/dist/ProposalCard-23575F4C.css +29 -0
  117. package/dist/ReceiptStrip/ReceiptStrip.d.ts +78 -0
  118. package/dist/ReceiptStrip/index.d.ts +3 -0
  119. package/dist/ReceiptStrip/index.js +5 -0
  120. package/dist/ReceiptStrip-IIRKRTBG.css +93 -0
  121. package/dist/RefusalCard/RefusalCard.d.ts +34 -0
  122. package/dist/RefusalCard/index.d.ts +3 -0
  123. package/dist/RefusalCard/index.js +10 -0
  124. package/dist/RefusalCard-UM67F5HB.css +8 -0
  125. package/dist/RelativeTime/clock.d.ts +0 -6
  126. package/dist/RelativeTime/index.js +1 -1
  127. package/dist/ResizeHandle-2UNSZ4ZQ.css +59 -0
  128. package/dist/ResultTableCard/ResultTableCard.d.ts +64 -0
  129. package/dist/ResultTableCard/index.d.ts +3 -0
  130. package/dist/ResultTableCard/index.js +16 -0
  131. package/dist/ResultTableCard-HZRUDNTX.css +40 -0
  132. package/dist/ReviewList/index.js +2 -2
  133. package/dist/RichEditor/index.js +3 -2
  134. package/dist/RunChip/RunChip.d.ts +53 -0
  135. package/dist/RunChip/index.d.ts +3 -0
  136. package/dist/RunChip/index.js +10 -0
  137. package/dist/RunChip-I2S4VZ3R.css +43 -0
  138. package/dist/SandboxedFrame/index.js +3 -2
  139. package/dist/SegmentedControl/index.js +7 -6
  140. package/dist/SelectionBar/index.js +4 -3
  141. package/dist/SendButton/SendButton.d.ts +38 -0
  142. package/dist/SendButton/index.d.ts +2 -0
  143. package/dist/SendButton/index.js +4 -0
  144. package/dist/SetupWizard/index.js +6 -5
  145. package/dist/ShareDialog/index.js +8 -7
  146. package/dist/SheetColumnEditor/index.js +13 -12
  147. package/dist/SheetGrid/index.js +7 -6
  148. package/dist/SidePanel/SidePanel.d.ts +137 -0
  149. package/dist/SidePanel/SidePanelBase.d.ts +59 -0
  150. package/dist/SidePanel/index.d.ts +5 -0
  151. package/dist/SidePanel/index.js +11 -0
  152. package/dist/SidePanel-ERBUIELD.css +235 -0
  153. package/dist/SlideCompare/index.js +3 -2
  154. package/dist/SlideFilmstrip/index.js +7 -6
  155. package/dist/SlideNav/index.js +2 -2
  156. package/dist/Spinner/Spinner.d.ts +35 -0
  157. package/dist/Spinner/index.d.ts +3 -0
  158. package/dist/Spinner/index.js +2 -0
  159. package/dist/Spinner-XZ2TVYE5.css +46 -0
  160. package/dist/StatusCard/StatusCard.d.ts +59 -0
  161. package/dist/StatusCard/index.d.ts +3 -0
  162. package/dist/StatusCard/index.js +9 -0
  163. package/dist/StatusCard-6RPEE6UU.css +62 -0
  164. package/dist/StepList-A4YVU4JI.css +119 -0
  165. package/dist/Stepper/StepList.d.ts +72 -0
  166. package/dist/Stepper/index.d.ts +3 -0
  167. package/dist/Stepper/index.js +2 -1
  168. package/dist/SuggestionRow/SuggestionRow.d.ts +45 -0
  169. package/dist/SuggestionRow/index.d.ts +3 -0
  170. package/dist/SuggestionRow/index.js +3 -0
  171. package/dist/SuggestionRow-OKBGNHSS.css +102 -0
  172. package/dist/Switcher/index.js +9 -8
  173. package/dist/Table/Table.d.ts +23 -2
  174. package/dist/Table/index.d.ts +1 -1
  175. package/dist/Table/index.js +1 -1
  176. package/dist/{Table-TGCS4C3F.css → Table-RUYMMWXT.css} +49 -0
  177. package/dist/TableCells/index.js +2 -2
  178. package/dist/Tabs/index.js +6 -5
  179. package/dist/TagsInput/index.js +4 -4
  180. package/dist/ThemeGallery/index.js +2 -2
  181. package/dist/ThemeSwitcher/index.js +8 -7
  182. package/dist/ThemeToggle/index.js +2 -2
  183. package/dist/TimeRangePicker/TimeRangePicker.d.ts +121 -0
  184. package/dist/TimeRangePicker/index.d.ts +2 -0
  185. package/dist/TimeRangePicker/index.js +23 -0
  186. package/dist/TimeWindowPicker/index.js +8 -7
  187. package/dist/Toaster/Toaster.d.ts +27 -3
  188. package/dist/Toaster/index.d.ts +2 -2
  189. package/dist/Toaster/index.js +1 -1
  190. package/dist/{Toaster-C6BQ7L6I.css → Toaster-MX7TBMC3.css} +32 -11
  191. package/dist/TreeCanvas/index.js +6 -5
  192. package/dist/TreeGrid/index.js +2 -2
  193. package/dist/VersionCompare/index.js +9 -8
  194. package/dist/VersionTimeline/index.js +4 -3
  195. package/dist/WidgetFrame/index.js +2 -2
  196. package/dist/{chunk-KHKZPZHO.js → chunk-272Y3YMV.js} +3 -3
  197. package/dist/{chunk-LACA4JGC.js → chunk-2BQYODY3.js} +1 -1
  198. package/dist/{chunk-CCPOLCZL.js → chunk-2TTFDRR3.js} +2 -2
  199. package/dist/{chunk-4BJK7FE5.js → chunk-3EYSYEXP.js} +1 -1
  200. package/dist/chunk-3LI4TRUR.js +22 -0
  201. package/dist/{chunk-ATCHK6LC.js → chunk-3NQS6KYG.js} +1 -1
  202. package/dist/{chunk-V2N3BMOT.js → chunk-45KMH3E3.js} +11 -4
  203. package/dist/{chunk-ZMBPEHYH.js → chunk-4CBGIRVU.js} +1 -1
  204. package/dist/{chunk-DFW5PDU5.js → chunk-4OINEWR4.js} +1 -1
  205. package/dist/{chunk-5XKI4ITH.js → chunk-56P72ZBE.js} +4 -4
  206. package/dist/{chunk-J24Q4HTD.js → chunk-5NT6OIPP.js} +13 -3
  207. package/dist/{chunk-O2KT7HBD.js → chunk-5OMV75GE.js} +3 -3
  208. package/dist/{chunk-6RMZH7P7.js → chunk-672GLRBU.js} +2 -2
  209. package/dist/{chunk-MFXN46NN.js → chunk-67F2AM4R.js} +3 -3
  210. package/dist/{chunk-NQCY44B3.js → chunk-67MW366X.js} +2 -2
  211. package/dist/{chunk-URV6MGWT.js → chunk-6KLK7E76.js} +2 -2
  212. package/dist/{chunk-ZFM5L7M4.js → chunk-6NJW5KSX.js} +2 -2
  213. package/dist/{chunk-A4GFEMVI.js → chunk-6T6V5565.js} +1 -1
  214. package/dist/{chunk-THDGBD6Y.js → chunk-AKFHMLEX.js} +1 -1
  215. package/dist/{chunk-CNGHOTHV.js → chunk-AWSFK2IK.js} +2 -2
  216. package/dist/{chunk-HQJ24WPM.js → chunk-AZ5BKSGV.js} +1 -1
  217. package/dist/chunk-BLPT6GHV.js +31 -0
  218. package/dist/chunk-C3FX7ZSU.js +30 -0
  219. package/dist/{chunk-LDGQIDIZ.js → chunk-CGT4R7LW.js} +64 -2
  220. package/dist/chunk-CIYHSTIF.js +182 -0
  221. package/dist/chunk-CZNG3V6L.js +55 -0
  222. package/dist/{chunk-DM4JG4M5.js → chunk-D5OSP3KI.js} +3 -3
  223. package/dist/{chunk-BTHQFWMG.js → chunk-DOPPU6TZ.js} +4 -4
  224. package/dist/{chunk-AC22RZKC.js → chunk-DRT4L4WC.js} +17 -5
  225. package/dist/chunk-EA23JG6R.js +9 -0
  226. package/dist/{chunk-WHL3XZCK.js → chunk-EBG3V4MK.js} +6 -6
  227. package/dist/{chunk-5JDHMDMQ.js → chunk-EDNZHW4K.js} +57 -7
  228. package/dist/{chunk-E6HXFFWO.js → chunk-EGL24VY5.js} +2 -2
  229. package/dist/{chunk-7SHAFLEX.js → chunk-ES4HR34Y.js} +2 -2
  230. package/dist/chunk-EVWTLFKI.js +102 -0
  231. package/dist/chunk-FA44M2YT.js +25 -0
  232. package/dist/{chunk-LKBZV5IT.js → chunk-FLTMDSC3.js} +1 -1
  233. package/dist/{chunk-XANKR3EP.js → chunk-FXQLNETQ.js} +2 -2
  234. package/dist/{chunk-G22NPQG4.js → chunk-GCASX3FD.js} +4 -4
  235. package/dist/{chunk-OGXHZHRX.js → chunk-GG4QZWMQ.js} +2 -2
  236. package/dist/{chunk-XP7EXNKF.js → chunk-GPW4M4OI.js} +2 -2
  237. package/dist/chunk-GZMEWWXW.js +78 -0
  238. package/dist/{chunk-OG6CL3EB.js → chunk-HD4QJ2SI.js} +3 -2
  239. package/dist/{chunk-SYY26XBX.js → chunk-HGCDJOEF.js} +2 -2
  240. package/dist/chunk-HGYHWWA5.js +54 -0
  241. package/dist/{chunk-ZS63CFDO.js → chunk-HL4CPLEK.js} +7 -7
  242. package/dist/{chunk-BEHFTRMZ.js → chunk-HNK43Z3P.js} +23 -5
  243. package/dist/{chunk-UO7JZVCO.js → chunk-HVEDVKXL.js} +1 -1
  244. package/dist/{chunk-FS4IH7VB.js → chunk-I7VG6RQE.js} +2 -2
  245. package/dist/{chunk-3RCHEFIL.js → chunk-ICJRP6QW.js} +2 -2
  246. package/dist/{chunk-YRIZAIU6.js → chunk-IDQBSMMZ.js} +2 -2
  247. package/dist/chunk-JILNCBBS.js +27 -0
  248. package/dist/{chunk-W5GM452Z.js → chunk-JJ3NOBJ6.js} +5 -5
  249. package/dist/chunk-JLRXCKTS.js +97 -0
  250. package/dist/{chunk-OJCVVCAZ.js → chunk-JMMS2PQU.js} +1 -1
  251. package/dist/{chunk-IVAR7NRW.js → chunk-JS2TRHBF.js} +3 -3
  252. package/dist/{chunk-3CZ7XAVY.js → chunk-KS7YIJ4S.js} +10 -6
  253. package/dist/{chunk-MU5KH3JF.js → chunk-LQ6AGUDL.js} +2 -2
  254. package/dist/chunk-LXYSWQNE.js +214 -0
  255. package/dist/chunk-LZXY6IMO.js +68 -0
  256. package/dist/{chunk-EKLEYNGR.js → chunk-MYX4XABB.js} +3 -3
  257. package/dist/{chunk-PM3JVNRY.js → chunk-N3ISZVLK.js} +1 -1
  258. package/dist/chunk-NEHSV55H.js +119 -0
  259. package/dist/{chunk-LLHO4FJK.js → chunk-NHJQXDHA.js} +1 -1
  260. package/dist/{chunk-F6CKQX5D.js → chunk-NK3D66PB.js} +2 -2
  261. package/dist/{chunk-RHPBTE3F.js → chunk-NQGZRMUG.js} +1 -1
  262. package/dist/chunk-NVZCANJ5.js +3 -0
  263. package/dist/{chunk-RRO7UEYU.js → chunk-OHBXOEP3.js} +1 -1
  264. package/dist/{chunk-USVUSO3S.js → chunk-OHG7762N.js} +1 -1
  265. package/dist/{chunk-OBUQVGEG.js → chunk-OJ2QULVH.js} +1 -1
  266. package/dist/{chunk-ITTECHM4.js → chunk-OOZ5AGPS.js} +5 -5
  267. package/dist/{chunk-BZXY2L2D.js → chunk-OYAXKHVW.js} +1 -1
  268. package/dist/{chunk-WQQ5T5SA.js → chunk-OZIBNFLO.js} +1 -1
  269. package/dist/{chunk-DFK5EQTU.js → chunk-PDTEPN4D.js} +1 -1
  270. package/dist/chunk-PIYJNCN7.js +124 -0
  271. package/dist/{chunk-ZVV2VERB.js → chunk-Q6R6EUQ4.js} +3 -3
  272. package/dist/chunk-QYEOGGVS.js +161 -0
  273. package/dist/{chunk-NWGGH2LN.js → chunk-QZ4B72FP.js} +3 -3
  274. package/dist/chunk-RV2FGESF.js +98 -0
  275. package/dist/{chunk-TQ3C3Q7V.js → chunk-S5C64PTT.js} +1 -1
  276. package/dist/chunk-SDSBVVLL.js +45 -0
  277. package/dist/{chunk-ZNOXQACX.js → chunk-T4D7RZNI.js} +2 -2
  278. package/dist/{chunk-TDVPYBNL.js → chunk-TA72CURM.js} +1 -1
  279. package/dist/{chunk-WXOYHVWG.js → chunk-TD3UHDFY.js} +4 -4
  280. package/dist/{chunk-H7FUQCQY.js → chunk-TDQZ4LB5.js} +8 -6
  281. package/dist/chunk-TFGCNBWP.js +64 -0
  282. package/dist/{chunk-TMM32U7D.js → chunk-TKS7FTTO.js} +2 -2
  283. package/dist/{chunk-NKHS2RQ2.js → chunk-U5PJSGHG.js} +1 -1
  284. package/dist/{chunk-7CGPPAYR.js → chunk-UV4LOQ3E.js} +1 -1
  285. package/dist/{chunk-ON2E46DX.js → chunk-VRNUKH2W.js} +1 -1
  286. package/dist/{chunk-XX2VQE55.js → chunk-WBRC3MNE.js} +1 -1
  287. package/dist/{chunk-NTZQN7OR.js → chunk-WBTCOFMZ.js} +2 -2
  288. package/dist/chunk-WDIVALLP.js +51 -0
  289. package/dist/{chunk-QMIWMLFI.js → chunk-WOW5SCEK.js} +1 -1
  290. package/dist/chunk-XODESBSR.js +250 -0
  291. package/dist/{chunk-EJWPYEG4.js → chunk-XRZGGB6I.js} +1 -1
  292. package/dist/{chunk-34C7NYIQ.js → chunk-Y73BQL74.js} +1 -1
  293. package/dist/{chunk-KIRQZG3G.js → chunk-YCGZK2E4.js} +1 -1
  294. package/dist/{chunk-5TK3C6RG.js → chunk-YCZ2FBKA.js} +1 -1
  295. package/dist/{chunk-TV2QW6GX.js → chunk-YEURM24I.js} +3 -3
  296. package/dist/{chunk-34ANLQW2.js → chunk-YGC7BFX2.js} +211 -9
  297. package/dist/{chunk-IW55G7XG.js → chunk-YNRKVY7X.js} +11 -1
  298. package/dist/{chunk-LFHCXZO5.js → chunk-Z3GDMNMU.js} +3 -3
  299. package/dist/{chunk-LQPU5O3B.js → chunk-Z7PJF6F3.js} +3 -3
  300. package/dist/{chunk-HDHL773Z.js → chunk-ZH4MJM73.js} +1 -1
  301. package/dist/generated/index.d.ts +17 -0
  302. package/dist/generated/index.js +140 -121
  303. package/dist/index.js +140 -121
  304. package/dist/styles.css +1887 -218
  305. package/dist/utils/index.js +1 -1
  306. package/dist/utils/useDownload.d.ts +6 -0
  307. package/package.json +3 -3
  308. package/dist/ArtifactPanel-KKUUIPEU.css +0 -159
  309. package/dist/Composer-TXULCPPV.css +0 -99
  310. package/dist/chunk-4E5MWUUJ.js +0 -48
  311. package/dist/chunk-FZVJDJFN.js +0 -54
  312. package/dist/chunk-IXJHTFXG.js +0 -17
  313. package/dist/chunk-NBDN5JZV.js +0 -123
  314. package/dist/{chunk-UTESMBPL.js → chunk-ESUZ27TS.js} +1 -1
  315. /package/dist/{chunk-55MPFB2U.js → chunk-EWTPXRRM.js} +0 -0
@@ -1,11 +1,27 @@
1
1
  import { type ButtonSize, type ButtonVariant } from '../Button/index.js';
2
- export interface DownloadButtonProps {
2
+ /**
3
+ * What the file is: text the page already holds (or a thunk producing it),
4
+ * or a file fetched on the press, such as an export the server builds.
5
+ */
6
+ export type DownloadButtonSource = {
3
7
  /** The text, or a thunk that produces it, resolved on the press. See [CopyButtonProps.text]. */
4
8
  text: string | (() => string);
5
- /** The name to offer it under. Sanitised by [safeFilename]. */
6
- filename: string;
9
+ file?: undefined;
7
10
  /** The type the file is offered as. Defaults to plain text in UTF-8. */
8
11
  mime?: string | undefined;
12
+ } | {
13
+ text?: undefined;
14
+ /**
15
+ * Fetches the file on the press. The button keeps its label with the
16
+ * spinner while it waits, and a fetch that rejects reads as a failed
17
+ * download. The type is the blob's own.
18
+ */
19
+ file: () => Promise<Blob>;
20
+ mime?: undefined;
21
+ };
22
+ export interface DownloadButtonBaseProps {
23
+ /** The name to offer it under. Sanitised by [safeFilename]. */
24
+ filename: string;
9
25
  /** The label at rest. */
10
26
  label?: string | undefined;
11
27
  /**
@@ -34,6 +50,7 @@ export interface DownloadButtonProps {
34
50
  failedResetMs?: number | null | undefined;
35
51
  className?: string | undefined;
36
52
  }
53
+ export type DownloadButtonProps = DownloadButtonBaseProps & DownloadButtonSource;
37
54
  /**
38
55
  * Hand text to the reader as a file, and SAY WHETHER IT LANDED.
39
56
  *
@@ -49,4 +66,4 @@ export interface DownloadButtonProps {
49
66
  * refusal holds until the next press, and every attempt replaces the status
50
67
  * message, so a second identical refusal is still announced.
51
68
  */
52
- export declare function DownloadButton({ text, filename, mime, label, startedLabel, failedLabel, startedMessage, failedMessage, size, variant, title, disabled, resetMs, failedResetMs, className, }: DownloadButtonProps): import("react").JSX.Element;
69
+ export declare function DownloadButton({ text, file, filename, mime, label, startedLabel, failedLabel, startedMessage, failedMessage, size, variant, title, disabled, resetMs, failedResetMs, className, }: DownloadButtonProps): import("react").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  export { DownloadButton } from './DownloadButton.js';
2
- export type { DownloadButtonProps } from './DownloadButton.js';
2
+ export type { DownloadButtonBaseProps, DownloadButtonProps, DownloadButtonSource } from './DownloadButton.js';
@@ -1,6 +1,7 @@
1
- export { DownloadButton } from '../chunk-BEHFTRMZ.js';
2
- import '../chunk-IW55G7XG.js';
1
+ export { DownloadButton } from '../chunk-HNK43Z3P.js';
2
+ import '../chunk-YNRKVY7X.js';
3
3
  import '../chunk-DTIW4CHZ.js';
4
- import '../chunk-OG6CL3EB.js';
4
+ import '../chunk-HD4QJ2SI.js';
5
+ import '../chunk-EA23JG6R.js';
5
6
  import '../chunk-BZFWDIV6.js';
6
7
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { EditingStatus } from '../chunk-EJWPYEG4.js';
2
- import '../chunk-3CZ7XAVY.js';
1
+ export { EditingStatus } from '../chunk-XRZGGB6I.js';
2
+ import '../chunk-KS7YIJ4S.js';
3
3
  import '../chunk-EUCC37WY.js';
4
4
  import '../chunk-BZFWDIV6.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -1,17 +1,18 @@
1
- import { richEditorLabels } from './chunk-CSQTDGTS.js';
2
1
  import { schema, readMarkdown, writeMarkdown } from './chunk-QH6VYJ3X.js';
2
+ import { richEditorLabels } from './chunk-CSQTDGTS.js';
3
3
  import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-BAKPMH3S.js';
4
4
  import { Toolbar } from './chunk-NR4CPM4T.js';
5
- import { Menu } from './chunk-TMM32U7D.js';
6
- import { placePopup, viewportBounds } from './chunk-OMV5W53A.js';
7
- import { FormField, Input } from './chunk-XANKR3EP.js';
5
+ import { FormField, Input } from './chunk-FXQLNETQ.js';
8
6
  import './chunk-XCUUI7E7.js';
9
7
  import './chunk-PQADV6P6.js';
10
- import { Button } from './chunk-OG6CL3EB.js';
8
+ import './chunk-RSAQOKH3.js';
9
+ import { Menu } from './chunk-TKS7FTTO.js';
10
+ import { Button } from './chunk-HD4QJ2SI.js';
11
+ import './chunk-EA23JG6R.js';
12
+ import { placePopup, viewportBounds } from './chunk-OMV5W53A.js';
11
13
  import { usePopupLayer } from './chunk-H5XTJ7GJ.js';
12
- import { IconButton } from './chunk-LACA4JGC.js';
14
+ import { IconButton } from './chunk-2BQYODY3.js';
13
15
  import './chunk-NUZHC6MM.js';
14
- import './chunk-RSAQOKH3.js';
15
16
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
16
17
  import { cx } from './chunk-ODEQTPFM.js';
17
18
  import { forwardRef, useMemo, useRef, useState, useId, useSyncExternalStore, useCallback, useLayoutEffect, useEffect, useImperativeHandle } from 'react';
@@ -0,0 +1,37 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ /** One person, seat or record in the list. */
3
+ export interface EntityListItem {
4
+ /** What tells two rows apart. */
5
+ id: string;
6
+ /** Its name: "Agent SWE", "Jane Founder", "ENG-156". */
7
+ name: string;
8
+ /** One fact under the name: "Core · 2.96M tokens this week". */
9
+ fact?: ReactNode;
10
+ /** Its avatar or glyph, before the name. Decoration: the name is what is read. */
11
+ avatar?: ReactNode;
12
+ /**
13
+ * Its action at the row's end, the host's own link ("Profile", "Open"),
14
+ * drawn as a ghost small `ButtonLink` or the router's equivalent. A row is
15
+ * given only for something the person may open.
16
+ */
17
+ action?: ReactNode;
18
+ }
19
+ export interface EntityListProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
20
+ items: readonly EntityListItem[];
21
+ /** Names the list for a screen reader, when no title names it. */
22
+ label?: string | undefined;
23
+ /**
24
+ * Draws the list as a card under this title ("Agents in Core"), as an
25
+ * answer shows it; without one it is the divided rows alone.
26
+ */
27
+ title?: string | undefined;
28
+ }
29
+ /**
30
+ * People, seats or records an answer names, one row each: the avatar, the
31
+ * name over one fact, and the row's own link at its end.
32
+ *
33
+ * A LIST OF ROWS, divided by hairlines, each on the card's 16px inset so the
34
+ * names line up with the title above them. Inside a card (`title`) the card
35
+ * is the only edge.
36
+ */
37
+ export declare function EntityList({ items, label, title, className, ...rest }: EntityListProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './EntityList.css';
2
+ export { EntityList } from './EntityList.js';
3
+ export type { EntityListItem, EntityListProps } from './EntityList.js';
@@ -0,0 +1,10 @@
1
+ export { EntityList } from '../chunk-FA44M2YT.js';
2
+ import '../chunk-WDIVALLP.js';
3
+ import '../chunk-KYIAFNU7.js';
4
+ import '../chunk-WIATRXEJ.js';
5
+ import '../chunk-INHXF2CL.js';
6
+ import '../chunk-AV2DXAEL.js';
7
+ import '../chunk-BHHIIK3M.js';
8
+ import '../chunk-PQADV6P6.js';
9
+ import '../chunk-BZFWDIV6.js';
10
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,55 @@
1
+ /* One row per person, seat or record, divided by hairlines, on the card's 16px inset. */
2
+ .crewlet-entity-list__rows {
3
+ display: flex;
4
+ flex-direction: column;
5
+ margin: 0;
6
+ padding: 0;
7
+ list-style: none;
8
+ }
9
+
10
+ .crewlet-entity-list__row {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: var(--spacing-3);
14
+ min-width: 0;
15
+ min-height: var(--size-row-lg);
16
+ padding: var(--spacing-2) var(--spacing-4);
17
+ }
18
+
19
+ .crewlet-entity-list__row + .crewlet-entity-list__row {
20
+ border-top: 1px solid var(--color-border-default);
21
+ }
22
+
23
+ .crewlet-entity-list__avatar {
24
+ display: inline-flex;
25
+ flex: none;
26
+ color: var(--color-text-tertiary);
27
+ }
28
+
29
+ .crewlet-entity-list__words {
30
+ display: flex;
31
+ flex: 1;
32
+ flex-direction: column;
33
+ min-width: 0;
34
+ }
35
+
36
+ .crewlet-entity-list__name {
37
+ overflow: hidden;
38
+ font-size: var(--font-size-compact);
39
+ font-weight: var(--font-weight-medium);
40
+ color: var(--color-text-primary);
41
+ text-overflow: ellipsis;
42
+ white-space: nowrap;
43
+ }
44
+
45
+ .crewlet-entity-list__fact {
46
+ font-size: var(--font-size-xs);
47
+ color: var(--color-text-tertiary);
48
+ }
49
+
50
+ /* The row's own link, its ghost padding pulled out to the card's text edge. */
51
+ .crewlet-entity-list__action {
52
+ display: inline-flex;
53
+ flex: none;
54
+ margin-inline-end: calc(-1 * (var(--spacing-2) + 1px));
55
+ }
@@ -1,4 +1,5 @@
1
- export { ErrorBoundary } from '../chunk-XX2VQE55.js';
2
- import '../chunk-OG6CL3EB.js';
1
+ export { ErrorBoundary } from '../chunk-WBRC3MNE.js';
2
+ import '../chunk-HD4QJ2SI.js';
3
+ import '../chunk-EA23JG6R.js';
3
4
  import '../chunk-BZFWDIV6.js';
4
5
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,5 @@
1
- export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from '../chunk-THDGBD6Y.js';
2
- import '../chunk-OG6CL3EB.js';
1
+ export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from '../chunk-AKFHMLEX.js';
2
+ import '../chunk-HD4QJ2SI.js';
3
+ import '../chunk-EA23JG6R.js';
3
4
  import '../chunk-BZFWDIV6.js';
4
5
  import '../chunk-ODEQTPFM.js';
@@ -1,7 +1,8 @@
1
- export { FollowBanner } from '../chunk-34C7NYIQ.js';
1
+ export { FollowBanner } from '../chunk-Y73BQL74.js';
2
2
  import '../chunk-BPCY7ZID.js';
3
+ import '../chunk-HD4QJ2SI.js';
4
+ import '../chunk-EA23JG6R.js';
3
5
  import '../chunk-OMV5W53A.js';
4
- import '../chunk-OG6CL3EB.js';
5
6
  import '../chunk-H5XTJ7GJ.js';
6
7
  import '../chunk-NUZHC6MM.js';
7
8
  import '../chunk-BZFWDIV6.js';
@@ -1,17 +1,18 @@
1
1
  import '../chunk-FFMCMSJB.js';
2
- export { HuePicker, HueSwatch } from '../chunk-BZXY2L2D.js';
2
+ export { HuePicker, HueSwatch } from '../chunk-OYAXKHVW.js';
3
3
  import '../chunk-AYKXMIOR.js';
4
- import '../chunk-CNGHOTHV.js';
5
- import '../chunk-FS4IH7VB.js';
4
+ import '../chunk-AWSFK2IK.js';
5
+ import '../chunk-I7VG6RQE.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
7
  import '../chunk-EGMQURBR.js';
8
- import '../chunk-TMM32U7D.js';
8
+ import '../chunk-BHHIIK3M.js';
9
+ import '../chunk-TKS7FTTO.js';
10
+ import '../chunk-HD4QJ2SI.js';
11
+ import '../chunk-EA23JG6R.js';
9
12
  import '../chunk-OMV5W53A.js';
10
13
  import '../chunk-2YTOOH3A.js';
11
- import '../chunk-BHHIIK3M.js';
12
- import '../chunk-OG6CL3EB.js';
13
14
  import '../chunk-H5XTJ7GJ.js';
14
- import '../chunk-LACA4JGC.js';
15
+ import '../chunk-2BQYODY3.js';
15
16
  import '../chunk-NUZHC6MM.js';
16
17
  import '../chunk-BZFWDIV6.js';
17
18
  import '../chunk-ODEQTPFM.js';
@@ -1,8 +1,13 @@
1
1
  import { type AnchorHTMLAttributes, type ButtonHTMLAttributes, type ReactNode } from 'react';
2
2
  export type IconButtonSize = 'sm' | 'md' | 'lg';
3
3
  export type IconButtonVariant =
4
+ /**
5
+ * The accent square: a primary Button with no room for a label, for the one
6
+ * icon-only control that IS the decision on its surface (a composer's Send).
7
+ */
8
+ 'primary'
4
9
  /** The bordered square: a secondary Button with no room for a label. */
5
- 'secondary'
10
+ | 'secondary'
6
11
  /** Transparent, neutral ink, a surface tint on hover. */
7
12
  | 'ghost'
8
13
  /** Transparent, the accent on hover. */
@@ -1,3 +1,3 @@
1
- export { IconButton, IconButtonLink } from '../chunk-LACA4JGC.js';
1
+ export { IconButton, IconButtonLink } from '../chunk-2BQYODY3.js';
2
2
  import '../chunk-BZFWDIV6.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -94,6 +94,24 @@
94
94
  height: var(--font-size-xl);
95
95
  }
96
96
 
97
+ /*
98
+ * primary: the accent square, the primary Button's fill, hover and press with
99
+ * no room for a label. One per surface, for the control that is the decision
100
+ * there (a composer's Send); every other icon-only control stays a ghost.
101
+ */
102
+ .crewlet-icon-btn--primary {
103
+ background: var(--color-brand-accent);
104
+ color: var(--color-text-on-accent);
105
+ }
106
+
107
+ .crewlet-icon-btn--primary:hover:not(:disabled):not([aria-disabled='true']) {
108
+ background: var(--color-brand-accent-hover);
109
+ }
110
+
111
+ .crewlet-icon-btn--primary:active:not(:disabled):not([aria-disabled='true']) {
112
+ background: var(--color-brand-accent-active);
113
+ }
114
+
97
115
  /*
98
116
  * secondary: the bordered square. The same surface, boundary and states as a
99
117
  * secondary Button, for an icon-only control that has to read as a control
@@ -116,27 +134,6 @@
116
134
  background: var(--color-surface-pressed);
117
135
  }
118
136
 
119
- /*
120
- * THE PLACE THE READER IS ON (`IconButtonLink current`): the selected
121
- * treatment a nav row draws, the lifted ground inside the default hairline,
122
- * drawn on the square's own transparent boundary so nothing moves. With an
123
- * edge to draw, its ring covers the edge, as the bordered squares' does.
124
- */
125
- a.crewlet-icon-btn {
126
- text-decoration: none;
127
- }
128
-
129
- .crewlet-icon-btn--current,
130
- .crewlet-icon-btn--current:hover {
131
- background: var(--color-surface-elevated);
132
- border-color: var(--color-border-default);
133
- color: var(--color-text-primary);
134
- }
135
-
136
- .crewlet-icon-btn--current:focus-visible {
137
- outline-offset: var(--size-focus-ring-inset-offset);
138
- }
139
-
140
137
  /* ghost: transparent, neutral ink, a mild tint on hover. */
141
138
  .crewlet-icon-btn--ghost {
142
139
  color: var(--color-text-secondary);
@@ -181,6 +178,32 @@ a.crewlet-icon-btn {
181
178
  border-color: var(--color-brand-accent);
182
179
  }
183
180
 
181
+ /*
182
+ * THE PLACE THE READER IS ON (`IconButtonLink current`): the selected
183
+ * treatment a nav row draws, the lifted ground inside the default hairline,
184
+ * drawn on the square's own transparent boundary so nothing moves. With an
185
+ * edge to draw, its ring covers the edge, as the bordered squares' does.
186
+ *
187
+ * AFTER EVERY VARIANT, on purpose. The two tie on specificity, so the later
188
+ * rule wins: written above the variants, a ghost square's secondary ink (and
189
+ * a ghost-brand's tertiary one) followed it and won, and the place the reader
190
+ * was on was drawn in the ink of every other square in the row.
191
+ */
192
+ a.crewlet-icon-btn {
193
+ text-decoration: none;
194
+ }
195
+
196
+ .crewlet-icon-btn--current,
197
+ .crewlet-icon-btn--current:hover:not(:disabled):not([aria-disabled='true']) {
198
+ background: var(--color-surface-elevated);
199
+ border-color: var(--color-border-default);
200
+ color: var(--color-text-primary);
201
+ }
202
+
203
+ .crewlet-icon-btn--current:focus-visible {
204
+ outline-offset: var(--size-focus-ring-inset-offset);
205
+ }
206
+
184
207
  /* A toggle that is on, drawn from the state a screen reader is already told. */
185
208
  .crewlet-icon-btn[aria-pressed='true'] {
186
209
  background: var(--color-brand-accent-soft);
@@ -3,8 +3,14 @@ import type { NodeHue } from '../utils/nodeHue.js';
3
3
  export interface IconTileProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
4
4
  /** The glyph, at the size the tile is drawn at: `sm` in a `sm` or `md` tile, `md` in a `lg` one. */
5
5
  children: ReactNode;
6
- /** The hue it is tinted in. Left out, the brand accent's soft fill and ink. */
6
+ /** The hue it is tinted in. Left out, the brand accent's soft fill and ink, or the neutral tile with `tone="neutral"`. */
7
7
  hue?: NodeHue | undefined;
8
+ /**
9
+ * `neutral` draws the tile on the raised ground in the secondary ink, for a
10
+ * place or a record rather than a kind of thing: colour carries state, never
11
+ * identity, so a link to a task is not tinted. Ignored when `hue` is given.
12
+ */
13
+ tone?: 'accent' | 'neutral' | undefined;
8
14
  /** One of the row heights: `sm` 28px, `md` 36px, `lg` 48px. */
9
15
  size?: 'sm' | 'md' | 'lg' | undefined;
10
16
  }
@@ -20,4 +26,4 @@ export interface IconTileProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'ch
20
26
  * DECORATION. The tile is hidden from assistive technology: the name beside it
21
27
  * is what is read.
22
28
  */
23
- export declare function IconTile({ children, hue, size, className, ...rest }: IconTileProps): import("react").JSX.Element;
29
+ export declare function IconTile({ children, hue, tone, size, className, ...rest }: IconTileProps): import("react").JSX.Element;
@@ -1,2 +1,2 @@
1
- export { IconTile } from '../chunk-IXJHTFXG.js';
1
+ export { IconTile } from '../chunk-3LI4TRUR.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -22,6 +22,9 @@
22
22
  .crewlet-icon-tile--sm { --crewlet-icon-tile-size: var(--size-row-sm); }
23
23
  .crewlet-icon-tile--lg { --crewlet-icon-tile-size: var(--size-row-lg); border-radius: var(--radius-lg); }
24
24
 
25
+ /* A place or a record rather than a kind: the raised ground, the secondary ink. */
26
+ .crewlet-icon-tile--neutral { --crewlet-icon-tile-fill: var(--color-surface-elevated); --crewlet-icon-tile-ink: var(--color-text-secondary); }
27
+
25
28
  .crewlet-icon-tile--purple { --crewlet-icon-tile-fill: var(--color-node-purple-fill); --crewlet-icon-tile-ink: var(--color-node-purple-ink); }
26
29
  .crewlet-icon-tile--cyan { --crewlet-icon-tile-fill: var(--color-node-cyan-fill); --crewlet-icon-tile-ink: var(--color-node-cyan-ink); }
27
30
  .crewlet-icon-tile--green { --crewlet-icon-tile-fill: var(--color-node-green-fill); --crewlet-icon-tile-ink: var(--color-node-green-ink); }
@@ -1,10 +1,11 @@
1
- export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-6RMZH7P7.js';
2
- import '../chunk-EJWPYEG4.js';
3
- import '../chunk-3CZ7XAVY.js';
1
+ export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-672GLRBU.js';
2
+ import '../chunk-XRZGGB6I.js';
3
+ import '../chunk-KS7YIJ4S.js';
4
4
  import '../chunk-EUCC37WY.js';
5
- import '../chunk-OMV5W53A.js';
6
5
  import '../chunk-SMBKXWML.js';
7
- import '../chunk-OG6CL3EB.js';
6
+ import '../chunk-HD4QJ2SI.js';
7
+ import '../chunk-EA23JG6R.js';
8
+ import '../chunk-OMV5W53A.js';
8
9
  import '../chunk-H5XTJ7GJ.js';
9
10
  import '../chunk-NUZHC6MM.js';
10
11
  import '../chunk-BZFWDIV6.js';
@@ -1,9 +1,9 @@
1
- export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea, foldLineBreaks } from '../chunk-XANKR3EP.js';
1
+ export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea, foldLineBreaks } from '../chunk-FXQLNETQ.js';
2
2
  import '../chunk-XCUUI7E7.js';
3
3
  import '../chunk-PQADV6P6.js';
4
+ import '../chunk-RSAQOKH3.js';
4
5
  import '../chunk-H5XTJ7GJ.js';
5
- import '../chunk-LACA4JGC.js';
6
+ import '../chunk-2BQYODY3.js';
6
7
  import '../chunk-NUZHC6MM.js';
7
- import '../chunk-RSAQOKH3.js';
8
8
  import '../chunk-BZFWDIV6.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -1,12 +1,13 @@
1
- export { LinkInterstitial, openExternal } from '../chunk-HDHL773Z.js';
2
- import '../chunk-NWGGH2LN.js';
1
+ export { LinkInterstitial, openExternal } from '../chunk-ZH4MJM73.js';
3
2
  import '../chunk-5CLW2CXT.js';
3
+ import '../chunk-QZ4B72FP.js';
4
4
  import '../chunk-BPCY7ZID.js';
5
- import '../chunk-OMV5W53A.js';
6
5
  import '../chunk-PQADV6P6.js';
7
- import '../chunk-OG6CL3EB.js';
6
+ import '../chunk-HD4QJ2SI.js';
7
+ import '../chunk-EA23JG6R.js';
8
+ import '../chunk-OMV5W53A.js';
8
9
  import '../chunk-H5XTJ7GJ.js';
9
- import '../chunk-LACA4JGC.js';
10
+ import '../chunk-2BQYODY3.js';
10
11
  import '../chunk-NUZHC6MM.js';
11
12
  import '../chunk-BZFWDIV6.js';
12
13
  import '../chunk-ODEQTPFM.js';
@@ -1,14 +1,15 @@
1
- export { ListInput, withDraft } from '../chunk-BTHQFWMG.js';
1
+ export { ListInput, withDraft } from '../chunk-DOPPU6TZ.js';
2
2
  import '../chunk-XJ2QEBMM.js';
3
- import '../chunk-OMV5W53A.js';
4
3
  import '../chunk-SMBKXWML.js';
5
- import '../chunk-XANKR3EP.js';
4
+ import '../chunk-FXQLNETQ.js';
6
5
  import '../chunk-XCUUI7E7.js';
7
6
  import '../chunk-PQADV6P6.js';
8
- import '../chunk-OG6CL3EB.js';
7
+ import '../chunk-RSAQOKH3.js';
8
+ import '../chunk-HD4QJ2SI.js';
9
+ import '../chunk-EA23JG6R.js';
10
+ import '../chunk-OMV5W53A.js';
9
11
  import '../chunk-H5XTJ7GJ.js';
10
- import '../chunk-LACA4JGC.js';
12
+ import '../chunk-2BQYODY3.js';
11
13
  import '../chunk-NUZHC6MM.js';
12
- import '../chunk-RSAQOKH3.js';
13
14
  import '../chunk-BZFWDIV6.js';
14
15
  import '../chunk-ODEQTPFM.js';
@@ -1,9 +1,10 @@
1
- export { LogoSlot, LogoSlotGroup } from '../chunk-SYY26XBX.js';
2
- import '../chunk-THDGBD6Y.js';
1
+ export { LogoSlot, LogoSlotGroup } from '../chunk-HGCDJOEF.js';
2
+ import '../chunk-AKFHMLEX.js';
3
3
  import '../chunk-WW7TU6HE.js';
4
4
  import '../chunk-KYIAFNU7.js';
5
5
  import '../chunk-7W3LYIOC.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
- import '../chunk-OG6CL3EB.js';
7
+ import '../chunk-HD4QJ2SI.js';
8
+ import '../chunk-EA23JG6R.js';
8
9
  import '../chunk-BZFWDIV6.js';
9
10
  import '../chunk-ODEQTPFM.js';
@@ -1,17 +1,18 @@
1
- export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-KHKZPZHO.js';
1
+ export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-272Y3YMV.js';
2
2
  import '../chunk-NR4CPM4T.js';
3
3
  import '../chunk-OOC7Q67K.js';
4
- import '../chunk-CNGHOTHV.js';
5
- import '../chunk-FS4IH7VB.js';
4
+ import '../chunk-AWSFK2IK.js';
5
+ import '../chunk-I7VG6RQE.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
7
  import '../chunk-EGMQURBR.js';
8
- import '../chunk-TMM32U7D.js';
8
+ import '../chunk-BHHIIK3M.js';
9
+ import '../chunk-TKS7FTTO.js';
10
+ import '../chunk-HD4QJ2SI.js';
11
+ import '../chunk-EA23JG6R.js';
9
12
  import '../chunk-OMV5W53A.js';
10
13
  import '../chunk-2YTOOH3A.js';
11
- import '../chunk-BHHIIK3M.js';
12
- import '../chunk-OG6CL3EB.js';
13
14
  import '../chunk-H5XTJ7GJ.js';
14
- import '../chunk-LACA4JGC.js';
15
+ import '../chunk-2BQYODY3.js';
15
16
  import '../chunk-NUZHC6MM.js';
16
17
  import '../chunk-BZFWDIV6.js';
17
18
  import '../chunk-ODEQTPFM.js';
@@ -1,8 +1,9 @@
1
- export { Menu } from '../chunk-TMM32U7D.js';
1
+ export { Menu } from '../chunk-TKS7FTTO.js';
2
+ import '../chunk-HD4QJ2SI.js';
3
+ import '../chunk-EA23JG6R.js';
2
4
  import '../chunk-OMV5W53A.js';
3
- import '../chunk-OG6CL3EB.js';
4
5
  import '../chunk-H5XTJ7GJ.js';
5
- import '../chunk-LACA4JGC.js';
6
+ import '../chunk-2BQYODY3.js';
6
7
  import '../chunk-NUZHC6MM.js';
7
8
  import '../chunk-BZFWDIV6.js';
8
9
  import '../chunk-ODEQTPFM.js';
@@ -1,16 +1,17 @@
1
- export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-CCPOLCZL.js';
1
+ export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-2TTFDRR3.js';
2
2
  import '../chunk-OOC7Q67K.js';
3
- import '../chunk-CNGHOTHV.js';
4
- import '../chunk-FS4IH7VB.js';
3
+ import '../chunk-AWSFK2IK.js';
4
+ import '../chunk-I7VG6RQE.js';
5
5
  import '../chunk-WIATRXEJ.js';
6
6
  import '../chunk-EGMQURBR.js';
7
- import '../chunk-TMM32U7D.js';
7
+ import '../chunk-BHHIIK3M.js';
8
+ import '../chunk-TKS7FTTO.js';
9
+ import '../chunk-HD4QJ2SI.js';
10
+ import '../chunk-EA23JG6R.js';
8
11
  import '../chunk-OMV5W53A.js';
9
12
  import '../chunk-2YTOOH3A.js';
10
- import '../chunk-BHHIIK3M.js';
11
- import '../chunk-OG6CL3EB.js';
12
13
  import '../chunk-H5XTJ7GJ.js';
13
- import '../chunk-LACA4JGC.js';
14
+ import '../chunk-2BQYODY3.js';
14
15
  import '../chunk-NUZHC6MM.js';
15
16
  import '../chunk-BZFWDIV6.js';
16
17
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,34 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ /** Who wrote it, from the reader's side: the reader (`self`) or anybody else (`other`). */
3
+ export type MessageBubbleFrom = 'self' | 'other';
4
+ export interface MessageBubbleProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
5
+ from: MessageBubbleFrom;
6
+ /** The message. Long unbroken text wraps anywhere rather than widening the thread. */
7
+ children: ReactNode;
8
+ /** Names the message for a screen reader. "You said" for `self`; give one for `other` ("Sam Rivera said"). */
9
+ label?: string | undefined;
10
+ /**
11
+ * What the message carried, under the bubble on its side: the page a
12
+ * question was sent with, as a read-only `Tag` (`xs`, outline), with "Sent
13
+ * with" said to assistive technology only.
14
+ */
15
+ attachment?: ReactNode;
16
+ /** A quiet line under it: the time it was sent, a copy control. */
17
+ footer?: ReactNode;
18
+ /** Rises in when it arrives (a 4px rise and a fade). Off for history, which is already there. */
19
+ animateIn?: boolean | undefined;
20
+ }
21
+ /**
22
+ * One message in a conversation, as a bubble on its writer's side.
23
+ *
24
+ * THE READER'S OWN MESSAGES STAND AT THE END on the raised ground, with no
25
+ * edge and a small tail corner; anybody else's at the start on the card
26
+ * ground inside a hairline. A bubble is at most 85% of the thread, so the
27
+ * side it stands on is always visible.
28
+ *
29
+ * AN ARTICLE NAMED FOR WHO SAID IT, so a reader moving through a thread by
30
+ * element hears "You said" before the words. An answer from the assistant is
31
+ * not a bubble: it is prose with no container, because it is not signed by a
32
+ * persona.
33
+ */
34
+ export declare function MessageBubble({ from, children, label, attachment, footer, animateIn, className, ...rest }: MessageBubbleProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './MessageBubble.css';
2
+ export { MessageBubble } from './MessageBubble.js';
3
+ export type { MessageBubbleFrom, MessageBubbleProps } from './MessageBubble.js';
@@ -0,0 +1,2 @@
1
+ export { MessageBubble } from '../chunk-C3FX7ZSU.js';
2
+ import '../chunk-ODEQTPFM.js';