@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
@@ -1,21 +1,23 @@
1
- export { ARTIFACT_BAR_LABELS, ArtifactBar, ArtifactVersionChip } from '../chunk-EAIOXW2W.js';
1
+ export { ARTIFACT_BAR_LABELS, ArtifactBar, ArtifactVersionChip } from '../chunk-BXGBGYKH.js';
2
2
  import '../chunk-36WK24AI.js';
3
- import '../chunk-I33UIUZD.js';
4
- import '../chunk-6R334YT3.js';
5
- import '../chunk-2IIHMJMZ.js';
3
+ import '../chunk-AZYE7NR4.js';
4
+ import '../chunk-MVKUE4FI.js';
6
5
  import '../chunk-EGMQURBR.js';
7
- import '../chunk-AVL52EME.js';
8
6
  import '../chunk-CYQBDZ6M.js';
7
+ import '../chunk-AVL52EME.js';
9
8
  import '../chunk-RSKW25Y5.js';
10
- import '../chunk-ANTAQAR4.js';
11
- import '../chunk-MLDTLZAO.js';
12
- import '../chunk-OQG4P5KU.js';
9
+ import '../chunk-7ZSEUO5Q.js';
10
+ import '../chunk-HTS5RJ7S.js';
11
+ import '../chunk-TGGYSQRD.js';
12
+ import '../chunk-L72URIHR.js';
13
+ import '../chunk-CMAZZY2I.js';
13
14
  import '../chunk-DGXZ635L.js';
15
+ import '../chunk-XSPCITPN.js';
14
16
  import '../chunk-OMV5W53A.js';
15
17
  import '../chunk-2YTOOH3A.js';
16
- import '../chunk-XSPCITPN.js';
17
- import '../chunk-H5XTJ7GJ.js';
18
+ import '../chunk-TUEM2XIW.js';
19
+ import '../chunk-4ITETIGZ.js';
18
20
  import '../chunk-UAUP6XGK.js';
19
- import '../chunk-NUZHC6MM.js';
21
+ import '../chunk-D2GT3CR4.js';
20
22
  import '../chunk-UT6CW3C7.js';
21
23
  import '../chunk-ODEQTPFM.js';
@@ -1,23 +1,23 @@
1
- export { ArtifactCard, ArtifactCardSkeleton, ArtifactPreviewGlyph } from '../chunk-ZKLEAK7M.js';
2
- import '../chunk-BRLZXYPA.js';
3
- import '../chunk-N2BF272H.js';
1
+ export { ArtifactCard, ArtifactCardSkeleton, ArtifactPreviewGlyph } from '../chunk-QM3432PH.js';
2
+ import '../chunk-I4IUX3JF.js';
3
+ import '../chunk-HF5L56YQ.js';
4
4
  import '../chunk-EJNJMHQG.js';
5
5
  import '../chunk-RE3FBGQQ.js';
6
- import '../chunk-4AUTALJA.js';
6
+ import '../chunk-U2IQNDDR.js';
7
7
  import '../chunk-AV2DXAEL.js';
8
- import '../chunk-BT3GB7HC.js';
9
- import '../chunk-KTIQSSME.js';
10
- import '../chunk-NHLNHH4J.js';
11
- import '../chunk-LMQG3VPG.js';
8
+ import '../chunk-IRONPJB4.js';
9
+ import '../chunk-XZY6S3UC.js';
10
+ import '../chunk-ZB3E2Z4Y.js';
11
+ import '../chunk-YQ7Q52XU.js';
12
12
  import '../chunk-DOY3KC6I.js';
13
13
  export { ARTIFACT_KINDS, ArtifactKindGlyph } from '../chunk-RSKW25Y5.js';
14
- import '../chunk-FB3TCNQP.js';
14
+ import '../chunk-O7N6W52M.js';
15
15
  import '../chunk-PGCLHYVP.js';
16
- import '../chunk-MLDTLZAO.js';
16
+ import '../chunk-TUEM2XIW.js';
17
+ import '../chunk-4ITETIGZ.js';
18
+ import '../chunk-UAUP6XGK.js';
19
+ import '../chunk-D2GT3CR4.js';
17
20
  import '../chunk-PQADV6P6.js';
18
21
  import '../chunk-2G355KDJ.js';
19
- import '../chunk-H5XTJ7GJ.js';
20
- import '../chunk-UAUP6XGK.js';
21
- import '../chunk-NUZHC6MM.js';
22
22
  import '../chunk-UT6CW3C7.js';
23
23
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { DashboardCover, DocCover, SHEET_COVER_COLUMNS, SHEET_COVER_ROWS, SheetCover } from '../chunk-R45VM5EX.js';
2
- import '../chunk-BXCL6P5Z.js';
1
+ export { DashboardCover, DocCover, SHEET_COVER_COLUMNS, SHEET_COVER_ROWS, SheetCover } from '../chunk-MMV7NEAC.js';
2
+ import '../chunk-I4PBFJGX.js';
3
3
  import '../chunk-RSKW25Y5.js';
4
- import '../chunk-NUZHC6MM.js';
4
+ import '../chunk-4ITETIGZ.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -1,3 +1,3 @@
1
- export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from '../chunk-NHLNHH4J.js';
1
+ export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from '../chunk-ZB3E2Z4Y.js';
2
2
  import '../chunk-UT6CW3C7.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,18 @@
1
+ /*
2
+ * A kind's colours, set once per kind on `--crewlet-kind-*` by its class
3
+ * (`crewlet-kind--<kind>`): the hue, its Fill and Line steps, the ink a
4
+ * glyph is drawn in, and the Ground steps a card drawn ON the kind's colour
5
+ * reads (its ground, the ground under the pointer, the ground at its foot
6
+ * and the glow behind its drawing; ActionCard). Every surface that tints by
7
+ * kind reads these, so a kind glyph in a bar, a card's badge and a Make row's tile repaint together with
8
+ * the theme, and no surface spells a kind's colour of its own. A sheet of
9
+ * its own, imported by each surface that tints, because the glyph's module
10
+ * carries no stylesheet (a frame that draws one glyph takes nothing else).
11
+ */
12
+ .crewlet-kind--doc { --crewlet-kind-hue: var(--color-artifact-kind-doc); --crewlet-kind-fill: var(--color-artifact-kind-doc-fill); --crewlet-kind-line: var(--color-artifact-kind-doc-line); --crewlet-kind-ink: var(--color-artifact-kind-doc-ink); --crewlet-kind-ground: var(--color-artifact-kind-doc-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-doc-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-doc-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-doc-glow); }
13
+ .crewlet-kind--slides { --crewlet-kind-hue: var(--color-artifact-kind-slides); --crewlet-kind-fill: var(--color-artifact-kind-slides-fill); --crewlet-kind-line: var(--color-artifact-kind-slides-line); --crewlet-kind-ink: var(--color-artifact-kind-slides-ink); --crewlet-kind-ground: var(--color-artifact-kind-slides-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-slides-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-slides-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-slides-glow); }
14
+ .crewlet-kind--design { --crewlet-kind-hue: var(--color-artifact-kind-design); --crewlet-kind-fill: var(--color-artifact-kind-design-fill); --crewlet-kind-line: var(--color-artifact-kind-design-line); --crewlet-kind-ink: var(--color-artifact-kind-design-ink); --crewlet-kind-ground: var(--color-artifact-kind-design-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-design-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-design-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-design-glow); }
15
+ .crewlet-kind--dashboard { --crewlet-kind-hue: var(--color-artifact-kind-dashboard); --crewlet-kind-fill: var(--color-artifact-kind-dashboard-fill); --crewlet-kind-line: var(--color-artifact-kind-dashboard-line); --crewlet-kind-ink: var(--color-artifact-kind-dashboard-ink); --crewlet-kind-ground: var(--color-artifact-kind-dashboard-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-dashboard-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-dashboard-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-dashboard-glow); }
16
+ .crewlet-kind--html { --crewlet-kind-hue: var(--color-artifact-kind-html); --crewlet-kind-fill: var(--color-artifact-kind-html-fill); --crewlet-kind-line: var(--color-artifact-kind-html-line); --crewlet-kind-ink: var(--color-artifact-kind-html-ink); --crewlet-kind-ground: var(--color-artifact-kind-html-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-html-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-html-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-html-glow); }
17
+ .crewlet-kind--brand { --crewlet-kind-hue: var(--color-artifact-kind-brand); --crewlet-kind-fill: var(--color-artifact-kind-brand-fill); --crewlet-kind-line: var(--color-artifact-kind-brand-line); --crewlet-kind-ink: var(--color-artifact-kind-brand-ink); --crewlet-kind-ground: var(--color-artifact-kind-brand-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-brand-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-brand-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-brand-glow); }
18
+ .crewlet-kind--sheet { --crewlet-kind-hue: var(--color-artifact-kind-sheet); --crewlet-kind-fill: var(--color-artifact-kind-sheet-fill); --crewlet-kind-line: var(--color-artifact-kind-sheet-line); --crewlet-kind-ink: var(--color-artifact-kind-sheet-ink); --crewlet-kind-ground: var(--color-artifact-kind-sheet-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-sheet-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-sheet-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-sheet-glow); }
@@ -1,4 +1,4 @@
1
- export { ArtifactMakeRow } from '../chunk-37U3Z65B.js';
1
+ export { ArtifactMakeRow } from '../chunk-MVMVMHYI.js';
2
2
  import '../chunk-RSKW25Y5.js';
3
3
  import '../chunk-2YTOOH3A.js';
4
4
  import '../chunk-UT6CW3C7.js';
@@ -1,4 +1,4 @@
1
- export { ArtifactNameCell } from '../chunk-4MRFLHJC.js';
1
+ export { ArtifactNameCell } from '../chunk-C46DDVTK.js';
2
2
  import '../chunk-RSKW25Y5.js';
3
3
  import '../chunk-UT6CW3C7.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,11 +1,11 @@
1
- export { ARTIFACT_PANEL_LABELS, ArtifactPanel, ArtifactWorkspace } from '../chunk-FFGEJUAP.js';
2
- import '../chunk-CLJGFOTV.js';
3
- import '../chunk-PQADV6P6.js';
1
+ export { ARTIFACT_PANEL_LABELS, ArtifactPanel, ArtifactWorkspace } from '../chunk-5ILRWUE7.js';
2
+ import '../chunk-SKGOKLJD.js';
4
3
  import '../chunk-PIYJNCN7.js';
5
4
  import '../chunk-OMV5W53A.js';
6
5
  import '../chunk-2YTOOH3A.js';
7
- import '../chunk-H5XTJ7GJ.js';
6
+ import '../chunk-TUEM2XIW.js';
7
+ import '../chunk-4ITETIGZ.js';
8
8
  import '../chunk-UAUP6XGK.js';
9
- import '../chunk-NUZHC6MM.js';
9
+ import '../chunk-PQADV6P6.js';
10
10
  import '../chunk-UT6CW3C7.js';
11
11
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { ATTACHMENT_CHIP_LABELS, AttachmentChip } from '../chunk-2PIH6JHJ.js';
2
- import '../chunk-VERJCAJ4.js';
1
+ export { ATTACHMENT_CHIP_LABELS, AttachmentChip } from '../chunk-ZXTDWTXS.js';
2
+ import '../chunk-LBGKLYBY.js';
3
3
  import '../chunk-CYQBDZ6M.js';
4
4
  import '../chunk-XSPCITPN.js';
5
5
  import '../chunk-UT6CW3C7.js';
@@ -1,8 +1,9 @@
1
- export { AuthLayout } from '../chunk-WKKWF277.js';
2
- import '../chunk-7KBNFFM3.js';
3
- import '../chunk-4AUTALJA.js';
1
+ export { AuthLayout } from '../chunk-BN5FEJL5.js';
2
+ import '../chunk-KXWJJWBD.js';
3
+ import '../chunk-U2IQNDDR.js';
4
4
  import '../chunk-AV2DXAEL.js';
5
- import '../chunk-MLDTLZAO.js';
5
+ import '../chunk-JLOESTT2.js';
6
+ import '../chunk-D2GT3CR4.js';
6
7
  import '../chunk-PQADV6P6.js';
7
8
  import '../chunk-UT6CW3C7.js';
8
9
  import '../chunk-ODEQTPFM.js';
@@ -2,20 +2,16 @@ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  import { type CrewletCharacterId } from '@crewlethq/icons/characters';
3
3
  import type { NodeHue } from '../utils/nodeHue.js';
4
4
  /**
5
- * WHAT THE BADGE STANDS FOR, drawn as its outline.
6
- *
7
- * `agent` is the default: a SQUIRCLE with the initials in the mono face, which
8
- * is what the engine runs and what nearly every badge on that product is.
9
- * `human` is a CIRCLE with the initials in the sans face: a person.
10
- *
11
- * ONE STRUCTURAL CUE, where there used to be two. The badge took a `shape`
12
- * (square or circle) and a `variant` (solid, or `dashed` for a human seat), and
13
- * the two could disagree: a dashed square and a solid circle were both
14
- * reachable and meant nothing. The approved design draws a person as a circle
15
- * and an agent as a squircle, and that outline is the whole of the difference,
16
- * so it is the one prop. It is a SHAPE rather than a hue, which leaves every
17
- * hue meaning only a state, and it reads to somebody who cannot separate hues
18
- * at all.
5
+ * WHAT THE BADGE STANDS FOR: an agent (the default), what the engine runs, or a
6
+ * human, a person.
7
+ *
8
+ * ONE SHAPE FOR BOTH. Every face is the same rounded square, its corner two
9
+ * ninths of the side between the xs and lg radius steps (`AVATAR_CORNER`). A
10
+ * person was a circle and an agent a squircle, so a row of people and agents
11
+ * changed shape from face to face; with one shape the face's contents say who
12
+ * it is. An agent's initials are set in the mono face and a person's in the
13
+ * sans face, an agent may be drawn as its character, and the name is always
14
+ * beside the face or in its accessible name, so the kind never rests on a hue.
19
15
  */
20
16
  export type AvatarKind = 'agent' | 'human';
21
17
  /**
@@ -82,20 +78,27 @@ export type AvatarSizeStep = keyof typeof AVATAR_SIZES;
82
78
  */
83
79
  export type AvatarSize = AvatarSizeStep | number | 'text';
84
80
  /**
85
- * An agent's corner, as a share of its box.
81
+ * Every face's corner, as a share of its box, held between two radius steps.
86
82
  *
87
- * The approved design draws 7px at 24 and 9px at 30 (and 5 at 18, 6 at 20, 8
88
- * at 26 and 28, 13 at 44): a corner that moves WITH the box rather than
89
- * sitting on one radius step, which would read as a pill at the smallest badge
90
- * and as a plain box at the largest. 0.29 is that ladder as one number, and
91
- * every size the design draws lands within 0.62px of it.
83
+ * Two ninths of the side (8px on a 36px face): a corner that moves WITH the
84
+ * box rather than sitting on one radius step, which would read as a pill at
85
+ * the smallest face and as a plain box at the largest. It never drops under
86
+ * the xs radius (4px), where a 20px face would read as square, and never
87
+ * passes the lg radius (12px), where a large profile face would read as a
88
+ * circle.
92
89
  *
93
90
  * THE STYLESHEET COMPUTES IT, from `--crewlet-avatar-size`, for a step and for
94
91
  * a numeric size alike, so there is one ladder and nothing to keep in step
95
- * with it. The number is restated in `Avatar.css`, which cannot import it, and
96
- * the suite holds the two equal.
92
+ * with it. The ratio is restated in `Avatar.css`, which cannot import it, and
93
+ * the suite holds the two equal; the two steps are read from the radius
94
+ * tokens here and there alike.
97
95
  */
98
- export declare const AVATAR_CORNER_RATIO = 0.29;
96
+ export declare const AVATAR_CORNER_RATIO: number;
97
+ /** The least and the most a face's corner is drawn with, in px: the xs and lg radius steps. */
98
+ export declare const AVATAR_CORNER_RANGE: {
99
+ readonly min: number;
100
+ readonly max: number;
101
+ };
99
102
  export interface AvatarProps extends HTMLAttributes<HTMLElement> {
100
103
  /** Image source. With one set the badge renders the image; otherwise the initials. */
101
104
  src?: string | undefined;
@@ -103,7 +106,7 @@ export interface AvatarProps extends HTMLAttributes<HTMLElement> {
103
106
  name?: string | undefined;
104
107
  /** A step, a number of px, or `text` to be sized by the words around it. */
105
108
  size?: AvatarSize | undefined;
106
- /** An agent (the default) is a squircle; a human is a circle. */
109
+ /** An agent (the default, its initials in the mono face) or a human (in the sans face). Both are one rounded square. */
107
110
  kind?: AvatarKind | undefined;
108
111
  tone?: AvatarTone | undefined;
109
112
  /**
@@ -141,7 +144,7 @@ export interface AvatarProps extends HTMLAttributes<HTMLElement> {
141
144
  /**
142
145
  * The Crewlet character an AGENT is drawn as, in place of its initials and
143
146
  * of any image. A person is never drawn as one: on a `human` badge this is
144
- * ignored, and the circle and the initials stay.
147
+ * ignored, and the initials stay.
145
148
  */
146
149
  character?: CrewletCharacterId | undefined;
147
150
  /**
@@ -164,7 +167,7 @@ export interface AvatarProps extends HTMLAttributes<HTMLElement> {
164
167
  * dropped (`Agent CEO` gives CEO, `agent-cto` gives cto), and every other
165
168
  * name as it is.
166
169
  *
167
- * THE SHAPE ALREADY SAYS "AGENT". A company that names its seats for what
170
+ * THE BADGE ALREADY SAYS "AGENT". A company that names its seats for what
168
171
  * they are ("Agent CEO", "Agent CTO", "Agent PM") otherwise got AC, AC and
169
172
  * AP: the two seats a chart draws most were the same badge side by side. The
170
173
  * badge's accessible name keeps the whole name. A name that is nothing but
@@ -211,8 +214,7 @@ export declare const avatarTint: (seed: string) => number;
211
214
  /** The px a size prop means. */
212
215
  export declare function avatarPixels(size: AvatarSize): number;
213
216
  /**
214
- * The corner an agent's badge of this many pixels is drawn with, in px, where
215
- * the browser draws a circular corner (`Avatar.css` has the squircle).
217
+ * The corner a face of this many pixels is drawn with, in px.
216
218
  *
217
219
  * The same arithmetic the stylesheet does, for a caller that has to round
218
220
  * something ELSE to match a badge: `ImageUpload`'s trigger and overlay sit
@@ -6,7 +6,7 @@ import { type AvatarKind, type AvatarSizeStep } from './Avatar.js';
6
6
  export interface AvatarStackMember {
7
7
  /** Who: the initials, and a word of the stack's accessible name. */
8
8
  name: string;
9
- /** An agent (the default) is a squircle; a human is a circle. */
9
+ /** An agent (the default) or a human; both are drawn as one rounded square. */
10
10
  kind?: AvatarKind | undefined;
11
11
  src?: string | undefined;
12
12
  /** The Crewlet character an agent member is drawn as, as `Avatar` draws it. */
@@ -60,7 +60,7 @@ export interface AvatarStackProps extends Omit<HTMLAttributes<HTMLSpanElement>,
60
60
  *
61
61
  * THE KINDS ARE COUNTED, NOT ASSUMED. A stack of watchers holds people and
62
62
  * agents together, and "3 agents: Jane Founder, CTO, SWE" would call a person
63
- * an agent to the one reader who cannot see the circle that says otherwise.
63
+ * an agent to the one reader who cannot read the face that says otherwise.
64
64
  */
65
65
  export declare function avatarStackLabel(members: readonly AvatarStackMember[]): string;
66
66
  /**
@@ -1,6 +1,6 @@
1
1
  import './Avatar.css';
2
2
  import './AvatarStack.css';
3
- export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUS_LABELS, AVATAR_STATUSES, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials, } from './Avatar.js';
3
+ export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RANGE, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUS_LABELS, AVATAR_STATUSES, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials, } from './Avatar.js';
4
4
  export type { AvatarKind, AvatarProps, AvatarRing, AvatarSize, AvatarSizeStep, AvatarStatus, AvatarTone, } from './Avatar.js';
5
5
  export { AvatarStack, avatarStackLabel } from './AvatarStack.js';
6
6
  export type { AvatarStackMember, AvatarStackProps } from './AvatarStack.js';
@@ -1,3 +1,3 @@
1
- export { AvatarStack, avatarStackLabel } from '../chunk-BT3GB7HC.js';
2
- export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials } from '../chunk-KTIQSSME.js';
1
+ export { AvatarStack, avatarStackLabel } from '../chunk-IRONPJB4.js';
2
+ export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RANGE, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials } from '../chunk-XZY6S3UC.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -6,9 +6,10 @@
6
6
  * same eight families it also spent on phases and event categories, so one
7
7
  * amber meant "the execute phase", "the decision category" and "the Analyst"
8
8
  * at once. A hash of a name carries no information: rename the seat and its
9
- * colour changes, which is the proof it never meant anything. Identity is the
10
- * OUTLINE (a squircle for an agent, a circle for a person), the monogram and
11
- * the name, and for an agent an operator gave one, its character and its hue.
9
+ * colour changes, which is the proof it never meant anything. Identity is
10
+ * what the face holds (a monogram set in the kind's face, a picture, or for an
11
+ * agent an operator gave one, its character and its hue) and the name beside
12
+ * it. Every face is ONE SHAPE, people and agents alike (see "the shape").
12
13
  *
13
14
  * A STATE IS A CORNER BADGE, NEVER A LINE ROUND THE PLATE. A ring in a state's
14
15
  * hue round a plate in the agent's own hue put two colours on a 32px mark and
@@ -148,46 +149,40 @@
148
149
  font-size: var(--font-size-sm);
149
150
  }
150
151
 
151
- /* ── kinds ─────────────────────────────────────────────────────────────── */
152
+ /* ── the shape ────────────────────────────────────────────────────────── */
152
153
 
153
154
  /*
154
- * AN AGENT IS A SQUIRCLE, set in the mono face: what the engine runs, named
155
- * the way a handle is written.
156
- *
157
- * THE CORNER MOVES WITH THE BOX, at 0.29 of it (`AVATAR_CORNER_RATIO` in the
158
- * component, which the suite holds equal to this number): the approved
159
- * design's 7px at 24 and 9px at 30, as one proportion. It is computed here from
160
- * the size property every step and every numeric size sets, so there is ONE
161
- * ladder. There used to be two, a step table here and a numeric table in the
162
- * component, and they disagreed: `size={80}` drew a squarer badge than
163
- * `size="lg"` at half its width.
155
+ * ONE FACE SHAPE FOR PEOPLE AND AGENTS: a square with rounded corners, the
156
+ * corner two ninths of the side (8px on a 36px face), never under the xs
157
+ * radius on the smallest faces and never over the lg radius on the largest.
158
+ * A person was a circle and an agent a squircle, so a row of people and
159
+ * agents changed shape from face to face, and a list of members read as two
160
+ * lists. One shape lines every face up on the same square and lets what the
161
+ * face holds say who it is: a character on its hue, a picture, or initials
162
+ * set in the kind's own face (below).
164
163
  *
165
- * WHERE THE BROWSER DRAWS A SQUIRCLE, IT IS A WHOLE ONE. `corner-shape:
166
- * squircle` is a superellipse of exponent 4, which at a given radius reaches
167
- * much closer to the box's corner than a circular arc does: at the 45 degree
168
- * point it stands 0.159 of the radius in from each edge, against 0.293 for an
169
- * arc. Kept at 0.29 of the box, that corner would stand 0.046 of the box in,
170
- * half the design's depth and a nearly square badge. At half the box it stands
171
- * 0.0795 of the box in, against the design's 0.0849 (0.13px at 24px), with the
172
- * continuous curvature a squircle is for. So the corner is the circle token
173
- * there, and the fallback above is what every other browser draws.
164
+ * THE CORNER MOVES WITH THE BOX, computed here from the size property every
165
+ * step and every numeric size sets, so there is ONE ladder: `AVATAR_CORNER`
166
+ * in the component states the same ratio and clamp for a caller that has to
167
+ * round something else to match a face (ImageUpload, PresenceStack), and the
168
+ * suite holds the two equal. No step rule sets a corner.
174
169
  */
175
- .crewlet-avatar--agent {
176
- border-radius: calc(var(--crewlet-avatar-size) * 0.29);
177
- font-family: var(--font-family-mono);
170
+ .crewlet-avatar {
171
+ border-radius: clamp(var(--radius-xs), calc(var(--crewlet-avatar-size) * 2 / 9), var(--radius-lg));
178
172
  }
179
173
 
180
- @supports (corner-shape: squircle) {
181
- .crewlet-avatar--agent {
182
- corner-shape: squircle;
183
- border-radius: var(--radius-circle);
184
- }
174
+ /* ── kinds ─────────────────────────────────────────────────────────────── */
175
+
176
+ /*
177
+ * The kind is said by the monogram's face: an agent's initials are set in the
178
+ * mono face, the way a handle is written, and a person's in the sans face. A
179
+ * character or a picture says it on its own.
180
+ */
181
+ .crewlet-avatar--agent {
182
+ font-family: var(--font-family-mono);
185
183
  }
186
184
 
187
- /* A PERSON IS A CIRCLE, set in the sans face, the round badge every member list
188
- a reader has used already speaks. */
189
185
  .crewlet-avatar--human {
190
- border-radius: var(--radius-circle);
191
186
  font-family: var(--font-family-sans);
192
187
  }
193
188
 
@@ -217,16 +212,22 @@
217
212
 
218
213
  /* ── tones ─────────────────────────────────────────────────────────────── */
219
214
 
215
+ /*
216
+ * A FACE'S OWN OUTLINE IS THE HAIRLINE (`--color-edge-hairline`), whatever it
217
+ * holds: the neutral badge, a seeded tint, a character's plate. A row of faces
218
+ * then reads as faces rather than as a row of framed boxes, where the strong
219
+ * hairline and a hue's line drew each face as a tile. A reader who asked for
220
+ * more contrast gets the control edge here, as the edge scale promises.
221
+ */
220
222
  .crewlet-avatar--fallback {
221
- border: 1px solid transparent;
223
+ border: 1px solid var(--color-edge-hairline);
222
224
  }
223
225
 
224
- /* The design's badge: the raised rung with the strong hairline round it and
225
- the secondary ink, so a badge on a card reads as a mark standing on it
226
- rather than as a hole in it. */
226
+ /* The design's badge: the raised rung inside the face's hairline and the
227
+ secondary ink, so a badge on a card reads as a mark standing on it rather
228
+ than as a hole in it. */
227
229
  .crewlet-avatar--neutral {
228
230
  background: var(--color-surface-elevated);
229
- border-color: var(--color-border-strong);
230
231
  color: var(--color-text-secondary);
231
232
  }
232
233
 
@@ -254,7 +255,7 @@
254
255
  * plate's sides, a tall one its top and its foot, and none touches the curve.
255
256
  */
256
257
  .crewlet-avatar--character {
257
- border: 1px solid transparent;
258
+ border: 1px solid var(--color-edge-hairline);
258
259
  }
259
260
 
260
261
  .crewlet-avatar__character {
@@ -264,50 +265,44 @@
264
265
  height: 74%;
265
266
  }
266
267
 
267
- /* The plate an agent's hue is drawn on: the hue's fill, its line round the
268
- badge and the hue itself as the character's ink. The fill is published as
268
+ /* The plate an agent's hue is drawn on: the hue's fill inside the face's
269
+ hairline, and the hue itself as the character's ink. The fill is published as
269
270
  `--crewlet-avatar-plate` and painted from it, because it is a TINT (12% of
270
271
  the hue over whatever the badge stands on), and a stack has to lay it over
271
272
  its own ground rather than over the badge behind it (AvatarStack.css). */
272
273
  .crewlet-avatar--hue-purple {
273
274
  --crewlet-avatar-plate: var(--color-node-purple-fill);
274
275
  background: var(--crewlet-avatar-plate);
275
- border-color: var(--color-node-purple-line);
276
276
  color: var(--color-node-purple);
277
277
  }
278
278
 
279
279
  .crewlet-avatar--hue-cyan {
280
280
  --crewlet-avatar-plate: var(--color-node-cyan-fill);
281
281
  background: var(--crewlet-avatar-plate);
282
- border-color: var(--color-node-cyan-line);
283
282
  color: var(--color-node-cyan);
284
283
  }
285
284
 
286
285
  .crewlet-avatar--hue-green {
287
286
  --crewlet-avatar-plate: var(--color-node-green-fill);
288
287
  background: var(--crewlet-avatar-plate);
289
- border-color: var(--color-node-green-line);
290
288
  color: var(--color-node-green);
291
289
  }
292
290
 
293
291
  .crewlet-avatar--hue-amber {
294
292
  --crewlet-avatar-plate: var(--color-node-amber-fill);
295
293
  background: var(--crewlet-avatar-plate);
296
- border-color: var(--color-node-amber-line);
297
294
  color: var(--color-node-amber);
298
295
  }
299
296
 
300
297
  .crewlet-avatar--hue-rose {
301
298
  --crewlet-avatar-plate: var(--color-node-rose-fill);
302
299
  background: var(--crewlet-avatar-plate);
303
- border-color: var(--color-node-rose-line);
304
300
  color: var(--color-node-rose);
305
301
  }
306
302
 
307
303
  .crewlet-avatar--hue-blue {
308
304
  --crewlet-avatar-plate: var(--color-node-blue-fill);
309
305
  background: var(--crewlet-avatar-plate);
310
- border-color: var(--color-node-blue-line);
311
306
  color: var(--color-node-blue);
312
307
  }
313
308
 
@@ -321,7 +316,7 @@
321
316
  * AN OUTLINE RATHER THAN THAT SHADOW PAIR, for three reasons. The gap is
322
317
  * TRANSPARENT, so the ring reads on whatever the badge stands on, where the
323
318
  * design's gap is the card's own fill and cuts a card-coloured band into any
324
- * other ground. An outline follows the corner, the squircle's included, in
319
+ * other ground. An outline follows the corner, the face's clamp included, in
325
320
  * every engine this package supports. And forced-colors mode keeps an outline
326
321
  * and drops every shadow, so the ring is still drawn for the readers who most
327
322
  * need a boundary.
@@ -342,13 +337,20 @@
342
337
  /*
343
338
  * THE FRAME is the face's own box, so a badge with a status takes exactly the
344
339
  * room one without takes: the corner badge hangs past it rather than growing
345
- * it, and a row lays out the same either way. The badge is 0.42 of the box,
346
- * never under 10px, which is the size its glyph stays a shape at.
340
+ * it, and a row lays out the same either way.
341
+ *
342
+ * THE BADGE WHERE A READER LOOKS FOR PRESENCE: under a third of the face (0.3
343
+ * of the box), hanging a twentieth of the box past its bottom-right corner,
344
+ * with the notch (a gap of the ground round it) kept. At 36px that is an 11px
345
+ * badge set 2px past the corner, the size and place of a presence dot, where
346
+ * a badge at 0.42 of the box read as a second face. It never drops under
347
+ * 10px, where its glyph stops being a shape, and always hangs at least a
348
+ * pixel past the corner.
347
349
  */
348
350
  .crewlet-avatar-frame {
349
- --crewlet-avatar-status-size: max(10px, calc(var(--crewlet-avatar-size) * 0.42));
350
- --crewlet-avatar-status-overhang: 2px;
351
- --crewlet-avatar-status-gap: 1.5px;
351
+ --crewlet-avatar-status-size: max(10px, calc(var(--crewlet-avatar-size) * 0.3));
352
+ --crewlet-avatar-status-overhang: max(1px, calc(var(--crewlet-avatar-size) * 0.05));
353
+ --crewlet-avatar-status-gap: 2px;
352
354
  position: relative;
353
355
  display: inline-flex;
354
356
  flex: none;
@@ -1,21 +1,22 @@
1
- export { AvatarPicker } from '../chunk-LOWQK2PB.js';
2
- import '../chunk-HEA6TERQ.js';
3
- import '../chunk-KHJIEPZV.js';
1
+ export { AvatarPicker } from '../chunk-22CU7V4J.js';
2
+ import '../chunk-SHH7UD5U.js';
3
+ import '../chunk-EC6EUIAD.js';
4
4
  import '../chunk-AYKXMIOR.js';
5
- import '../chunk-I22MUEG7.js';
6
- import '../chunk-6R334YT3.js';
7
- import '../chunk-2IIHMJMZ.js';
5
+ import '../chunk-LNQSNXGJ.js';
6
+ import '../chunk-XZY6S3UC.js';
7
+ import '../chunk-AZYE7NR4.js';
8
+ import '../chunk-MVKUE4FI.js';
8
9
  import '../chunk-EGMQURBR.js';
9
10
  import '../chunk-CYQBDZ6M.js';
10
- import '../chunk-KTIQSSME.js';
11
- import '../chunk-MLDTLZAO.js';
12
- import '../chunk-OQG4P5KU.js';
11
+ import '../chunk-TGGYSQRD.js';
12
+ import '../chunk-L72URIHR.js';
13
13
  import '../chunk-DGXZ635L.js';
14
+ import '../chunk-XSPCITPN.js';
14
15
  import '../chunk-OMV5W53A.js';
15
16
  import '../chunk-2YTOOH3A.js';
16
- import '../chunk-XSPCITPN.js';
17
- import '../chunk-H5XTJ7GJ.js';
17
+ import '../chunk-TUEM2XIW.js';
18
+ import '../chunk-4ITETIGZ.js';
18
19
  import '../chunk-UAUP6XGK.js';
19
- import '../chunk-NUZHC6MM.js';
20
+ import '../chunk-D2GT3CR4.js';
20
21
  import '../chunk-UT6CW3C7.js';
21
22
  import '../chunk-ODEQTPFM.js';
@@ -6,7 +6,8 @@
6
6
  * badges standing in front of each other rather than as one blot. The ring is
7
7
  * a SHADOW rather than a border, because it has to fall outside the badge
8
8
  * without moving it, and it is decoration: forced-colors mode drops it and the
9
- * badges' own hairlines still separate them.
9
+ * badges' own borders, which that mode paints in the system ink, still
10
+ * separate them.
10
11
  *
11
12
  * THE GROUND IS A VARIABLE because a stack stands on whatever it is put on,
12
13
  * and a cut-out in the sheet's colour on a card is a band of the wrong grey
@@ -36,6 +37,17 @@
36
37
  box-shadow: 0 0 0 2px var(--crewlet-avatar-stack-ground);
37
38
  }
38
39
 
40
+ /*
41
+ * THE RING IS THE ONLY EDGE A STACKED FACE NEEDS. A face's own hairline inside
42
+ * the ring drew each face as a framed tile, two edges a pixel apart, so a
43
+ * stacked face (a member, or the face a member wraps) draws its border in no
44
+ * colour. The border keeps its width, so the face keeps its box.
45
+ */
46
+ .crewlet-avatar-stack > .crewlet-avatar-stack__member.crewlet-avatar,
47
+ .crewlet-avatar-stack > .crewlet-avatar-stack__member > .crewlet-avatar {
48
+ border-color: transparent;
49
+ }
50
+
39
51
  /*
40
52
  * A BADGE IN FRONT HIDES THE ONE BEHIND IT. A hue's plate is a tint, 12% of
41
53
  * the hue over whatever the badge stands on, and in a stack that is partly
@@ -63,9 +75,9 @@
63
75
  }
64
76
 
65
77
  /*
66
- * THE COUNT OF THE REST. A PILL, where every badge is a squircle or a circle:
67
- * it is a number rather than somebody, and drawn in either kind's outline it
68
- * would read as one more agent or one more person. Otherwise it is the neutral
78
+ * THE COUNT OF THE REST. A PILL, where every face is a rounded square: it is
79
+ * a number rather than somebody, and drawn in a face's outline it would read
80
+ * as one more agent or one more person. Otherwise it is the neutral
69
81
  * badge exactly (the raised rung, the strong hairline, the secondary ink), in
70
82
  * the sans face with tabular figures so "+9" and "+12" sit alike.
71
83
  */
@@ -6,6 +6,8 @@ export interface BrandLinkProps {
6
6
  /** Present only when `href` was given; a router link takes its own target. */
7
7
  href?: string | undefined;
8
8
  'aria-label': string;
9
+ /** The name as the pointer's title, where the rail is compact and draws the mark alone. */
10
+ title?: string | undefined;
9
11
  }
10
12
  export interface BrandLockupProps {
11
13
  /** The product's name, and the name of the link. Required, for that reason. */
@@ -37,5 +39,9 @@ export interface BrandLockupProps {
37
39
  *
38
40
  * The mark is hidden from assistive technology: a logo beside its own name is
39
41
  * the definition of decoration.
42
+ *
43
+ * IN A COMPACT RAIL THE MARK STANDS ALONE (the shell's stylesheet stops
44
+ * drawing the name), so the link takes the name as its title too: the
45
+ * pointer is told what the mark is, and the link is still named by it.
40
46
  */
41
47
  export declare function BrandLockup({ name, mark, context, href, renderLink, className }: BrandLockupProps): import("react").JSX.Element;
@@ -1,2 +1,3 @@
1
- export { BrandLockup } from '../chunk-7KBNFFM3.js';
1
+ export { BrandLockup } from '../chunk-KXWJJWBD.js';
2
+ import '../chunk-JLOESTT2.js';
2
3
  import '../chunk-ODEQTPFM.js';