@crewlethq/ui 0.57.2 → 0.59.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 (297) hide show
  1. package/README.md +6 -0
  2. package/dist/Accordion/index.js +4 -4
  3. package/dist/AddPill/index.js +2 -2
  4. package/dist/AgentHandoffPanel/index.js +16 -16
  5. package/dist/Announcer/index.js +2 -2
  6. package/dist/AppShell/index.js +6 -6
  7. package/dist/ArrangeFrame/index.js +4 -4
  8. package/dist/ArrangeGroup/index.js +3 -3
  9. package/dist/ArrangeList/index.js +8 -8
  10. package/dist/ArtifactBar/index.js +10 -10
  11. package/dist/ArtifactCard/index.js +13 -13
  12. package/dist/ArtifactKindIllustration/index.js +2 -2
  13. package/dist/ArtifactMakeRow/index.js +2 -2
  14. package/dist/ArtifactNameCell/index.js +2 -2
  15. package/dist/ArtifactPanel/index.js +4 -4
  16. package/dist/AuthLayout/index.js +4 -4
  17. package/dist/AvatarPicker/index.js +10 -10
  18. package/dist/Button/index.js +3 -3
  19. package/dist/Canvas/index.js +6 -6
  20. package/dist/CanvasBoard/index.js +8 -8
  21. package/dist/CanvasToolbar/index.js +7 -7
  22. package/dist/Card/index.js +3 -3
  23. package/dist/ChangeList/ChangeList.d.ts +4 -2
  24. package/dist/ChangeList/index.js +6 -6
  25. package/dist/CharacterCount/index.js +3 -3
  26. package/dist/Charts/index.js +2 -2
  27. package/dist/ChatThread/index.js +4 -4
  28. package/dist/Checkbox/index.js +6 -6
  29. package/dist/ChoiceButtons/index.js +2 -2
  30. package/dist/CodeBlock/index.js +6 -6
  31. package/dist/ColorField/index.js +6 -6
  32. package/dist/ColorSwatch/index.js +6 -6
  33. package/dist/Combobox/index.js +6 -6
  34. package/dist/CommandPalette/index.js +11 -11
  35. package/dist/CommentThread/index.js +14 -14
  36. package/dist/Composer/index.js +7 -7
  37. package/dist/ConfirmField/index.js +6 -6
  38. package/dist/ConflictNote/index.js +4 -4
  39. package/dist/ContrastBadge/index.js +2 -2
  40. package/dist/ContrastHelp/index.js +4 -4
  41. package/dist/Copyable/index.js +5 -5
  42. package/dist/Count/index.js +2 -2
  43. package/dist/DataGrid/index.js +9 -9
  44. package/dist/DataTable/index.js +12 -12
  45. package/dist/DataView/index.js +17 -17
  46. package/dist/DatasetSource/index.js +4 -4
  47. package/dist/DateTimePicker/index.js +5 -5
  48. package/dist/DiffList/index.js +2 -2
  49. package/dist/DiffView/index.js +2 -2
  50. package/dist/Disclosure/index.js +4 -4
  51. package/dist/DocTabsEditor/index.js +10 -10
  52. package/dist/DownloadButton/index.js +4 -4
  53. package/dist/EditingStatus/index.js +4 -4
  54. package/dist/{Editor-S4HARQ7V.js → Editor-ZO5CCXOJ.js} +8 -8
  55. package/dist/EmptyValue/index.js +2 -2
  56. package/dist/EntityList/EntityList.d.ts +7 -2
  57. package/dist/EntityList/index.js +5 -5
  58. package/dist/ErrorBoundary/index.js +4 -4
  59. package/dist/FactList/index.js +2 -2
  60. package/dist/FileDrop/index.js +4 -4
  61. package/dist/FilterChip/index.js +2 -2
  62. package/dist/FindingList/index.js +2 -2
  63. package/dist/FolderTile/index.js +4 -4
  64. package/dist/FollowBanner/index.js +4 -4
  65. package/dist/HuePicker/index.js +9 -9
  66. package/dist/IconButton/index.js +2 -2
  67. package/dist/ImageUpload/index.js +2 -1
  68. package/dist/{ImageUpload-NVGMN7DP.css → ImageUpload-CYC3Y7M2.css} +11 -19
  69. package/dist/InboxList/index.js +2 -2
  70. package/dist/InlineEditor/index.js +8 -8
  71. package/dist/Input/index.js +5 -5
  72. package/dist/Kbd/index.js +2 -2
  73. package/dist/Link/index.js +2 -2
  74. package/dist/LinkInterstitial/index.js +6 -6
  75. package/dist/List/index.js +2 -2
  76. package/dist/ListInput/index.js +10 -10
  77. package/dist/LockedLabel/index.js +2 -2
  78. package/dist/LogoSlot/index.js +6 -6
  79. package/dist/MarkdownEditor/index.js +9 -9
  80. package/dist/Menu/index.js +5 -5
  81. package/dist/MergeConflicts/index.js +9 -9
  82. package/dist/Meter/index.js +2 -2
  83. package/dist/Modal/index.js +5 -5
  84. package/dist/NewItemsNotice/index.js +3 -3
  85. package/dist/ObjectHeader/index.js +3 -3
  86. package/dist/OpenInAppCard/index.js +8 -8
  87. package/dist/OrgTable/index.js +5 -5
  88. package/dist/PeekRail/index.js +5 -5
  89. package/dist/PeopleRail/index.js +5 -5
  90. package/dist/PinTile/index.js +3 -3
  91. package/dist/PresenceStack/index.js +2 -2
  92. package/dist/PresenterView/index.js +6 -6
  93. package/dist/PrincipalPicker/index.js +7 -7
  94. package/dist/PropertyList/index.js +5 -5
  95. package/dist/ProposalCard/index.js +12 -12
  96. package/dist/ReceiptStrip/index.js +4 -4
  97. package/dist/RefusalCard/index.js +5 -5
  98. package/dist/RelatedRow/index.js +4 -4
  99. package/dist/RelativeTime/index.js +3 -3
  100. package/dist/Reorder/index.js +3 -3
  101. package/dist/ResultTableCard/ResultTableCard.d.ts +5 -1
  102. package/dist/ResultTableCard/index.js +9 -9
  103. package/dist/RichEditor/index.js +5 -5
  104. package/dist/RunChip/RunChip.d.ts +3 -2
  105. package/dist/RunChip/index.js +7 -7
  106. package/dist/{RunChip-I2S4VZ3R.css → RunChip-D3JYPTTO.css} +8 -1
  107. package/dist/SandboxedFrame/index.js +5 -5
  108. package/dist/SectionFrame/index.js +4 -4
  109. package/dist/SegmentedControl/index.js +8 -8
  110. package/dist/SelectionBar/index.js +5 -5
  111. package/dist/SendButton/index.js +3 -3
  112. package/dist/SetupWizard/index.js +7 -7
  113. package/dist/ShareDialog/index.js +7 -7
  114. package/dist/SheetColumnEditor/index.js +15 -15
  115. package/dist/SheetGrid/index.js +8 -8
  116. package/dist/SidePanel/index.js +3 -3
  117. package/dist/SidebarNav/index.js +3 -3
  118. package/dist/Skeleton/index.js +2 -2
  119. package/dist/SlideCompare/index.js +4 -4
  120. package/dist/SlideFilmstrip/index.js +9 -9
  121. package/dist/SlideNav/index.js +3 -3
  122. package/dist/SourceEditor/index.js +2 -2
  123. package/dist/Spinner/Spinner.d.ts +6 -2
  124. package/dist/Spinner/index.js +1 -1
  125. package/dist/Spinner-PM37OCHI.css +100 -0
  126. package/dist/StatCard/index.js +2 -2
  127. package/dist/StatusCard/StatusCard.d.ts +32 -2
  128. package/dist/StatusCard/index.d.ts +1 -1
  129. package/dist/StatusCard/index.js +4 -4
  130. package/dist/StatusCard-AMOI6GBK.css +171 -0
  131. package/dist/Stepper/index.js +3 -3
  132. package/dist/SuggestionRow/index.js +2 -2
  133. package/dist/Switcher/index.js +10 -10
  134. package/dist/Table/index.js +2 -2
  135. package/dist/TableCells/index.js +5 -5
  136. package/dist/Tabs/index.js +7 -7
  137. package/dist/TagGroup/index.js +3 -3
  138. package/dist/TagsInput/index.js +4 -4
  139. package/dist/ThemeSwitcher/index.js +9 -9
  140. package/dist/ThemeToggle/index.js +3 -3
  141. package/dist/TimeRangePicker/index.js +13 -13
  142. package/dist/TimeWindowPicker/index.js +8 -8
  143. package/dist/Timeline/index.js +2 -2
  144. package/dist/Toaster/index.js +2 -2
  145. package/dist/TreeCanvas/index.js +7 -7
  146. package/dist/TreeGrid/index.js +3 -3
  147. package/dist/VersionCompare/index.js +10 -10
  148. package/dist/VersionTimeline/index.js +7 -7
  149. package/dist/VisuallyHidden/index.js +1 -1
  150. package/dist/VisuallyHidden-AOEXU5EB.css +27 -0
  151. package/dist/WidgetFrame/index.js +5 -5
  152. package/dist/{chunk-RSAQOKH3.js → chunk-2G355KDJ.js} +1 -1
  153. package/dist/{chunk-2BQYODY3.js → chunk-2GIUKIFV.js} +1 -1
  154. package/dist/{chunk-TD3UHDFY.js → chunk-2N7OPHD4.js} +5 -5
  155. package/dist/{chunk-6KLK7E76.js → chunk-2PNUEIN3.js} +4 -4
  156. package/dist/{chunk-TDQ262TB.js → chunk-34NMOVXO.js} +1 -1
  157. package/dist/{chunk-2TTFDRR3.js → chunk-365RJTJW.js} +2 -2
  158. package/dist/{chunk-R3BA3C4Y.js → chunk-37U3Z65B.js} +1 -1
  159. package/dist/{chunk-PDTEPN4D.js → chunk-3DMPZZQ6.js} +3 -3
  160. package/dist/{chunk-WBRC3MNE.js → chunk-3M7UZ43L.js} +1 -1
  161. package/dist/{chunk-PXU6HOZB.js → chunk-463DNZXI.js} +1 -1
  162. package/dist/{chunk-I7VG6RQE.js → chunk-4H5H67CB.js} +3 -3
  163. package/dist/{chunk-ICWUDNAZ.js → chunk-4MC2EEGO.js} +1 -1
  164. package/dist/{chunk-5NT6OIPP.js → chunk-4MRFLHJC.js} +1 -1
  165. package/dist/{chunk-OOZ5AGPS.js → chunk-4Q4MS7DQ.js} +4 -4
  166. package/dist/{chunk-O2EGEONV.js → chunk-4U2D6BPR.js} +1 -1
  167. package/dist/{chunk-272Y3YMV.js → chunk-54HTAN33.js} +3 -3
  168. package/dist/{chunk-45KMH3E3.js → chunk-5DJMFRSZ.js} +1 -1
  169. package/dist/{chunk-SW4XVX7K.js → chunk-5FSTYJUU.js} +6 -6
  170. package/dist/{chunk-XRZGGB6I.js → chunk-5IPPLWVA.js} +1 -1
  171. package/dist/{chunk-XYCADWZN.js → chunk-5KEVSZ4K.js} +1 -1
  172. package/dist/{chunk-BHHIIK3M.js → chunk-5KRRJNQO.js} +1 -1
  173. package/dist/{chunk-WBTCOFMZ.js → chunk-5ZZRSTLQ.js} +3 -3
  174. package/dist/{chunk-PE7XWOUS.js → chunk-6CARUBNX.js} +2 -2
  175. package/dist/{chunk-WOW5SCEK.js → chunk-722PJA72.js} +4 -4
  176. package/dist/{chunk-XODESBSR.js → chunk-74UPBUD6.js} +1 -1
  177. package/dist/{chunk-EVWTLFKI.js → chunk-75QASA62.js} +5 -8
  178. package/dist/{chunk-67F2AM4R.js → chunk-7V7EBBVF.js} +5 -5
  179. package/dist/{chunk-Q6R6EUQ4.js → chunk-7ZKTYBWW.js} +3 -3
  180. package/dist/{chunk-SMBKXWML.js → chunk-ACRRRPWT.js} +1 -1
  181. package/dist/{chunk-BVWSLXTY.js → chunk-AOFVXE6V.js} +1 -1
  182. package/dist/{chunk-JLRXCKTS.js → chunk-AQDQGCRB.js} +3 -3
  183. package/dist/{chunk-OHBXOEP3.js → chunk-AVTQ6CIX.js} +1 -1
  184. package/dist/{chunk-E7QLG3PG.js → chunk-B53FUJ53.js} +2 -2
  185. package/dist/{chunk-OZIBNFLO.js → chunk-BAUJ3NLC.js} +2 -2
  186. package/dist/{chunk-OYAXKHVW.js → chunk-BJ4LMNXZ.js} +1 -1
  187. package/dist/{chunk-Z7PJF6F3.js → chunk-BMFA4G5D.js} +5 -5
  188. package/dist/{chunk-G3CUCHBA.js → chunk-CPOU5TA7.js} +5 -5
  189. package/dist/{chunk-D3EJSLCL.js → chunk-CVDK3LDB.js} +1 -1
  190. package/dist/{chunk-YCGZK2E4.js → chunk-CZCZLEDD.js} +2 -2
  191. package/dist/{chunk-HMVQQEHW.js → chunk-D2BYJNEH.js} +1 -1
  192. package/dist/{chunk-TKS7FTTO.js → chunk-D2R65FBU.js} +2 -2
  193. package/dist/{chunk-QYEOGGVS.js → chunk-DBV7U54M.js} +4 -4
  194. package/dist/{chunk-NTB5LRRD.js → chunk-DG6KSGNQ.js} +1 -1
  195. package/dist/{chunk-QZ4B72FP.js → chunk-DNKK6PIR.js} +2 -2
  196. package/dist/{chunk-LQ6AGUDL.js → chunk-DTVLZ2HZ.js} +2 -2
  197. package/dist/{chunk-UV4LOQ3E.js → chunk-EQYNFXUO.js} +2 -2
  198. package/dist/{chunk-HL4CPLEK.js → chunk-FCM5YD37.js} +10 -10
  199. package/dist/{chunk-3LYWD3BO.js → chunk-FGRJXZUU.js} +1 -1
  200. package/dist/{chunk-FXQLNETQ.js → chunk-FWWHPUHZ.js} +5 -5
  201. package/dist/{chunk-TFIINTEU.js → chunk-GK3PXGLS.js} +2 -2
  202. package/dist/{chunk-N3ISZVLK.js → chunk-GWCOPRXL.js} +1 -1
  203. package/dist/{chunk-RLJXVFEH.js → chunk-HACEB6L4.js} +1 -1
  204. package/dist/{chunk-6T6V5565.js → chunk-HKQUOIL5.js} +1 -1
  205. package/dist/{chunk-FBSEJO2C.js → chunk-HOP3J622.js} +1 -1
  206. package/dist/{chunk-4CBGIRVU.js → chunk-HQDEZNVJ.js} +1 -1
  207. package/dist/{chunk-ES4HR34Y.js → chunk-HTEFROIZ.js} +3 -3
  208. package/dist/{chunk-YGC7BFX2.js → chunk-HV6XDLUM.js} +3 -3
  209. package/dist/{chunk-Y73BQL74.js → chunk-IC6HNMTD.js} +1 -1
  210. package/dist/{chunk-HD4QJ2SI.js → chunk-IPAIGCWB.js} +2 -2
  211. package/dist/{chunk-UYZZV4DZ.js → chunk-IWZG7NPV.js} +1 -1
  212. package/dist/{chunk-M5KZX5JE.js → chunk-J4HPMS7F.js} +1 -1
  213. package/dist/{chunk-BLPT6GHV.js → chunk-JE4FCRVL.js} +1 -1
  214. package/dist/{chunk-NQGZRMUG.js → chunk-JMF5UXUG.js} +1 -1
  215. package/dist/{chunk-JS2TRHBF.js → chunk-JUOKHJA3.js} +2 -2
  216. package/dist/{chunk-TDQZ4LB5.js → chunk-JW5EFD4R.js} +5 -5
  217. package/dist/{chunk-T4D7RZNI.js → chunk-K4U2VDOJ.js} +1 -1
  218. package/dist/{chunk-AWSFK2IK.js → chunk-KMWQLO4M.js} +3 -3
  219. package/dist/{chunk-MYX4XABB.js → chunk-KNABA7D4.js} +3 -3
  220. package/dist/{chunk-KS7YIJ4S.js → chunk-L6NG7CUA.js} +1 -1
  221. package/dist/{chunk-YCZ2FBKA.js → chunk-LBWFAVV4.js} +1 -1
  222. package/dist/{chunk-EGL24VY5.js → chunk-LEB3FOSA.js} +2 -2
  223. package/dist/{chunk-AKFHMLEX.js → chunk-M2S5LG2H.js} +1 -1
  224. package/dist/{chunk-AZ5BKSGV.js → chunk-M5GPCENM.js} +2 -2
  225. package/dist/{chunk-INHXF2CL.js → chunk-MKKX6N7C.js} +1 -1
  226. package/dist/{chunk-WXRH7NZW.js → chunk-MMZZGJHX.js} +1 -1
  227. package/dist/{chunk-XJ2QEBMM.js → chunk-MPVMB2DV.js} +1 -1
  228. package/dist/{chunk-U5PJSGHG.js → chunk-MTIVWCO3.js} +1 -1
  229. package/dist/{chunk-N4GBDK4L.js → chunk-MYJZCSMA.js} +1 -1
  230. package/dist/{chunk-FLTMDSC3.js → chunk-NMT4A46R.js} +2 -2
  231. package/dist/{chunk-S5C64PTT.js → chunk-O3K5H6CP.js} +1 -1
  232. package/dist/{chunk-FA44M2YT.js → chunk-OB5N3FV2.js} +28 -3
  233. package/dist/{chunk-3NQS6KYG.js → chunk-OE3UUHXO.js} +1 -1
  234. package/dist/{chunk-2BWBDKF6.js → chunk-OVVMNUZD.js} +3 -3
  235. package/dist/{chunk-GG4QZWMQ.js → chunk-P4YORMRZ.js} +1 -1
  236. package/dist/{chunk-JILNCBBS.js → chunk-P7QDOKTP.js} +1 -1
  237. package/dist/{chunk-XCUUI7E7.js → chunk-PGCLHYVP.js} +2 -2
  238. package/dist/{chunk-EBG3V4MK.js → chunk-PNGE2N6F.js} +8 -8
  239. package/dist/{chunk-HNK43Z3P.js → chunk-POUCKFMQ.js} +2 -2
  240. package/dist/{chunk-FWYHRU7M.js → chunk-PPVWWJIB.js} +3 -2
  241. package/dist/{chunk-LZXY6IMO.js → chunk-PR7MFMDZ.js} +1 -1
  242. package/dist/{chunk-TEUQWOWZ.js → chunk-QBI5ETKY.js} +1 -1
  243. package/dist/{chunk-TROLVEZY.js → chunk-QC2DEQCN.js} +1 -1
  244. package/dist/{chunk-HVEDVKXL.js → chunk-QMIDBQCK.js} +1 -1
  245. package/dist/{chunk-RV6XB5UV.js → chunk-QZLNKLYD.js} +1 -1
  246. package/dist/{chunk-EUCC37WY.js → chunk-RE3FBGQQ.js} +1 -1
  247. package/dist/{chunk-5OMV75GE.js → chunk-RECXPH7X.js} +5 -5
  248. package/dist/{chunk-ZH4MJM73.js → chunk-RIMDUTL6.js} +1 -1
  249. package/dist/{chunk-NHJQXDHA.js → chunk-RNULFW4V.js} +2 -2
  250. package/dist/{chunk-Z3GDMNMU.js → chunk-RO2MZZ66.js} +1 -1
  251. package/dist/{chunk-UGNUUVRI.js → chunk-RQFRRPV6.js} +1 -1
  252. package/dist/{chunk-ALU5EGQB.js → chunk-SEPFBDSS.js} +1 -1
  253. package/dist/{chunk-INVSUFJK.js → chunk-SHLP2BNA.js} +2 -2
  254. package/dist/{chunk-D5OSP3KI.js → chunk-T4THNJ6E.js} +2 -2
  255. package/dist/{chunk-OHGH7O6T.js → chunk-TEV5REGB.js} +1 -1
  256. package/dist/{chunk-4OINEWR4.js → chunk-TIXAEVYX.js} +1 -1
  257. package/dist/{chunk-3EYSYEXP.js → chunk-U4AXQI6U.js} +4 -4
  258. package/dist/{chunk-OHG7762N.js → chunk-UC7SEKT5.js} +2 -2
  259. package/dist/{chunk-BZFWDIV6.js → chunk-UT6CW3C7.js} +1 -1
  260. package/dist/{chunk-LXYSWQNE.js → chunk-UTIZFLI3.js} +2 -2
  261. package/dist/{chunk-6NJW5KSX.js → chunk-V3RW7FRQ.js} +2 -2
  262. package/dist/{chunk-67MW366X.js → chunk-V6HG3GG4.js} +3 -3
  263. package/dist/{chunk-XZ42MKHK.js → chunk-VBYRA3W6.js} +3 -3
  264. package/dist/{chunk-YPTTSJPM.js → chunk-VO2PDDRE.js} +1 -1
  265. package/dist/{chunk-VRNUKH2W.js → chunk-VRL2YMYT.js} +2 -2
  266. package/dist/{chunk-DOPPU6TZ.js → chunk-VSDHSSKA.js} +7 -7
  267. package/dist/{chunk-JMMS2PQU.js → chunk-VSZP3YRV.js} +1 -1
  268. package/dist/{chunk-S4DREXGM.js → chunk-VTUAQYOC.js} +1 -1
  269. package/dist/{chunk-WW7TU6HE.js → chunk-WDRYUMN6.js} +1 -1
  270. package/dist/{chunk-IDQBSMMZ.js → chunk-WR5CTBAE.js} +6 -6
  271. package/dist/{chunk-YEURM24I.js → chunk-WRNDXYXK.js} +4 -4
  272. package/dist/chunk-WW4E5EUS.js +118 -0
  273. package/dist/{chunk-JJ3NOBJ6.js → chunk-XCT6P7LB.js} +7 -7
  274. package/dist/{chunk-HGCDJOEF.js → chunk-XDHILOXS.js} +4 -4
  275. package/dist/{chunk-DRT4L4WC.js → chunk-XQBLBJN4.js} +1 -1
  276. package/dist/{chunk-EA23JG6R.js → chunk-XSPCITPN.js} +1 -1
  277. package/dist/{chunk-SDSBVVLL.js → chunk-YBI7M2JH.js} +1 -1
  278. package/dist/{chunk-GPW4M4OI.js → chunk-YCBIM4XO.js} +3 -3
  279. package/dist/{chunk-CZNG3V6L.js → chunk-YDVEFGLP.js} +3 -3
  280. package/dist/{chunk-672GLRBU.js → chunk-YDVINM4N.js} +3 -3
  281. package/dist/{chunk-TA72CURM.js → chunk-YND37ZPE.js} +1 -1
  282. package/dist/{chunk-ICJRP6QW.js → chunk-YUQHMGEY.js} +2 -2
  283. package/dist/{chunk-56P72ZBE.js → chunk-Z4DYKDD6.js} +6 -6
  284. package/dist/{chunk-CGT4R7LW.js → chunk-Z4EKUMZW.js} +2 -2
  285. package/dist/{chunk-AUQPBL4O.js → chunk-Z6X3F4H6.js} +1 -1
  286. package/dist/{chunk-EDNZHW4K.js → chunk-Z7CD4HLH.js} +3 -3
  287. package/dist/{chunk-NK3D66PB.js → chunk-ZECQEJUE.js} +2 -2
  288. package/dist/{chunk-NEHSV55H.js → chunk-ZH5F2PXC.js} +21 -16
  289. package/dist/{chunk-TFGCNBWP.js → chunk-ZYO2QFU6.js} +1 -1
  290. package/dist/generated/index.js +147 -147
  291. package/dist/index.js +147 -147
  292. package/dist/styles.css +199 -31
  293. package/package.json +3 -3
  294. package/dist/Spinner-XZ2TVYE5.css +0 -46
  295. package/dist/StatusCard-6RPEE6UU.css +0 -62
  296. package/dist/VisuallyHidden-L552H7OA.css +0 -21
  297. package/dist/chunk-WDIVALLP.js +0 -51
package/dist/styles.css CHANGED
@@ -17852,7 +17852,7 @@ a.crewlet-icon-btn {
17852
17852
  .crewlet-icon-tile--blue { --crewlet-icon-tile-fill: var(--color-node-blue-fill); --crewlet-icon-tile-ink: var(--color-node-blue-ink); }
17853
17853
 
17854
17854
 
17855
- /* ImageUpload-NVGMN7DP.css */
17855
+ /* ImageUpload-CYC3Y7M2.css */
17856
17856
  /*
17857
17857
  * ImageUpload, the click-to-upload affordance built on Avatar.
17858
17858
  *
@@ -17989,19 +17989,14 @@ a.crewlet-icon-btn {
17989
17989
  font-weight: var(--font-weight-medium);
17990
17990
  }
17991
17991
 
17992
+ /*
17993
+ * The package's one ring (Spinner), sized to the control. It takes the
17994
+ * overlay's on-scrim ink as its current colour, and its turn, its arc and its
17995
+ * reduced-motion stop are Spinner.css's: this rule sets only the em it is
17996
+ * measured in.
17997
+ */
17992
17998
  .crewlet-image-upload__spinner {
17993
- width: calc(var(--crewlet-image-upload-size) * 0.3);
17994
- height: calc(var(--crewlet-image-upload-size) * 0.3);
17995
- border-radius: var(--radius-circle);
17996
- border: 2px solid var(--color-surface-scrim);
17997
- border-top-color: var(--color-text-on-scrim);
17998
- animation: crewlet-image-upload-spin calc(var(--motion-duration-slow) * 2.5) linear infinite;
17999
- }
18000
-
18001
- @keyframes crewlet-image-upload-spin {
18002
- to {
18003
- transform: rotate(360deg);
18004
- }
17999
+ font-size: calc(var(--crewlet-image-upload-size) * 0.3);
18005
18000
  }
18006
18001
 
18007
18002
  /*
@@ -18053,19 +18048,16 @@ a.crewlet-icon-btn {
18053
18048
  }
18054
18049
 
18055
18050
  /*
18056
- * The ring holds still. The trigger already carries aria-busy, and the control
18057
- * is disabled while the upload is out, so nothing about the state is carried
18058
- * by the motion alone.
18051
+ * The overlay and the remove target hold still. The ring is Spinner's, which
18052
+ * stops itself. The trigger already carries aria-busy, and the control is
18053
+ * disabled while the upload is out, so nothing about the state is carried by
18054
+ * the motion alone.
18059
18055
  */
18060
18056
  @media (prefers-reduced-motion: reduce) {
18061
18057
  .crewlet-image-upload__overlay,
18062
18058
  .crewlet-image-upload__remove {
18063
18059
  transition: none;
18064
18060
  }
18065
-
18066
- .crewlet-image-upload__spinner {
18067
- animation: none;
18068
- }
18069
18061
  }
18070
18062
 
18071
18063
 
@@ -26424,7 +26416,7 @@ button.crewlet-presence-stack__member:focus-visible {
26424
26416
  }
26425
26417
 
26426
26418
 
26427
- /* RunChip-I2S4VZ3R.css */
26419
+ /* RunChip-D3JYPTTO.css */
26428
26420
  /*
26429
26421
  * A request's state on the disclosure trigger. Only what differs from the
26430
26422
  * disclosure is said here: the trigger is as wide as its words (not the whole
@@ -26448,7 +26440,14 @@ button.crewlet-presence-stack__member:focus-visible {
26448
26440
  font-variant-numeric: tabular-nums;
26449
26441
  }
26450
26442
 
26451
- .crewlet-run-chip__separator {
26443
+ /*
26444
+ * The separator is drawn, not typed: generated content with no alternative
26445
+ * text, so neither a screen reader nor a copy picks it up beside the comma
26446
+ * the title already says.
26447
+ */
26448
+ .crewlet-run-chip__meta::before {
26449
+ content: '\00b7' / '';
26450
+ margin-inline-end: var(--spacing-1);
26452
26451
  color: var(--color-text-tertiary);
26453
26452
  }
26454
26453
 
@@ -31288,22 +31287,64 @@ svg.crewlet-select__chevron {
31288
31287
  }
31289
31288
 
31290
31289
 
31291
- /* Spinner-XZ2TVYE5.css */
31290
+ /* Spinner-PM37OCHI.css */
31292
31291
  /*
31293
31292
  * The package's one ring. See Spinner.tsx for why it is inline-block, why it
31294
31293
  * stays open when it stops, and why its ink is the current colour.
31295
31294
  */
31295
+
31296
+ /*
31297
+ * THE ARC'S LENGTH, registered so it can be animated. An unregistered custom
31298
+ * property animates in a single step at the halfway point, which would make
31299
+ * the arc jump rather than breathe. Its initial value is the arc at rest: three
31300
+ * quarters of the ring, the right quarter open.
31301
+ */
31302
+ @property --crewlet-spinner-arc {
31303
+ syntax: '<angle>';
31304
+ inherits: false;
31305
+ initial-value: 270deg;
31306
+ }
31307
+
31308
+ /*
31309
+ * The ring is a full 2px border cut to an arc by a mask, so the stroke is the
31310
+ * same 2px at every size and the arc's length can move while the ring turns.
31311
+ * The arc is centred on the left (270deg), so it grows and shrinks at both ends
31312
+ * at once and the open quarter at rest sits on the right. Each end is feathered
31313
+ * over a few degrees, so it reads as a soft cap rather than a hard cut. A mask
31314
+ * reads only alpha, so its black is opacity rather than a colour.
31315
+ */
31296
31316
  .crewlet-spinner {
31317
+ --crewlet-spinner-from: calc(270deg - var(--crewlet-spinner-arc) / 2);
31297
31318
  display: inline-block;
31298
31319
  box-sizing: border-box;
31299
31320
  flex: none;
31300
31321
  width: 1em;
31301
31322
  height: 1em;
31302
31323
  border: 2px solid currentColor;
31303
- border-right-color: transparent;
31304
31324
  border-radius: var(--radius-circle);
31305
31325
  opacity: 0.7;
31306
- animation: crewlet-spinner-turn var(--motion-duration-slow) linear infinite;
31326
+ -webkit-mask-image: conic-gradient(
31327
+ from var(--crewlet-spinner-from),
31328
+ transparent 0deg,
31329
+ #000 6deg,
31330
+ #000 calc(var(--crewlet-spinner-arc) - 6deg),
31331
+ transparent var(--crewlet-spinner-arc)
31332
+ );
31333
+ mask-image: conic-gradient(
31334
+ from var(--crewlet-spinner-from),
31335
+ transparent 0deg,
31336
+ #000 6deg,
31337
+ #000 calc(var(--crewlet-spinner-arc) - 6deg),
31338
+ transparent var(--crewlet-spinner-arc)
31339
+ );
31340
+ /*
31341
+ * Two motions, one definition for every ring in the package: one steady turn
31342
+ * a second, and the arc breathing between a quarter and three quarters of the
31343
+ * ring on a slower cycle, so the ends ease apart and together while it turns.
31344
+ */
31345
+ animation:
31346
+ crewlet-spinner-turn var(--motion-duration-turn) linear infinite,
31347
+ crewlet-spinner-sweep var(--motion-duration-sweep) var(--motion-easing-in-out) infinite;
31307
31348
  }
31308
31349
 
31309
31350
  /* The glyph scale of @crewlethq/icons: xs 12px, sm 14px, md 16px. */
@@ -31328,8 +31369,20 @@ svg.crewlet-select__chevron {
31328
31369
  }
31329
31370
  }
31330
31371
 
31372
+ @keyframes crewlet-spinner-sweep {
31373
+ 0%,
31374
+ 100% {
31375
+ --crewlet-spinner-arc: 90deg;
31376
+ }
31377
+
31378
+ 50% {
31379
+ --crewlet-spinner-arc: 270deg;
31380
+ }
31381
+ }
31382
+
31331
31383
  /* It stops, and keeps its open quarter: a closed ring reads as an empty status
31332
- circle, the open one still reads as pending. */
31384
+ circle, the open one still reads as pending. With both motions off, the arc
31385
+ takes its registered initial value, three quarters of the ring. */
31333
31386
  @media (prefers-reduced-motion: reduce) {
31334
31387
  .crewlet-spinner {
31335
31388
  animation: none;
@@ -31830,7 +31883,7 @@ svg.crewlet-select__chevron {
31830
31883
  }
31831
31884
 
31832
31885
 
31833
- /* StatusCard-6RPEE6UU.css */
31886
+ /* StatusCard-AMOI6GBK.css */
31834
31887
  /*
31835
31888
  * A record with a state. The card, its head, its body and its foot are
31836
31889
  * Card's; only what a status card adds is said here.
@@ -31894,6 +31947,115 @@ svg.crewlet-select__chevron {
31894
31947
  }
31895
31948
  }
31896
31949
 
31950
+ /*
31951
+ * A RESULT FOLDED TO ITS HEAD. The title is the button that opens it, with
31952
+ * the one chevron every disclosure here draws, turned the same way. The head
31953
+ * may wrap: on a narrow card the utilities a folded card keeps go under the
31954
+ * title rather than cutting it to nothing.
31955
+ */
31956
+ .crewlet-status-card--folded > .crewlet-card__header {
31957
+ flex-wrap: wrap;
31958
+ row-gap: var(--spacing-1);
31959
+ }
31960
+
31961
+ /* `hidden` has to win over the body's own `display: flex`. */
31962
+ .crewlet-status-card__body[hidden] {
31963
+ display: none;
31964
+ }
31965
+
31966
+ .crewlet-status-card__fold-title {
31967
+ min-width: 0;
31968
+ }
31969
+
31970
+ /*
31971
+ * The button keeps the title's type and pulls its padding into the gutter, so
31972
+ * the chevron sits on the card's text edge. NEUTRAL on hover, as every
31973
+ * disclosure trigger is.
31974
+ */
31975
+ .crewlet-status-card__toggle {
31976
+ display: flex;
31977
+ align-items: center;
31978
+ gap: var(--spacing-1);
31979
+ min-width: 0;
31980
+ max-width: calc(100% + var(--spacing-2));
31981
+ min-height: var(--size-row-sm);
31982
+ margin-inline-start: calc(var(--spacing-2) * -1);
31983
+ padding: var(--spacing-1) var(--spacing-2);
31984
+ border: none;
31985
+ border-radius: var(--radius-xs);
31986
+ background: none;
31987
+ color: inherit;
31988
+ font: inherit;
31989
+ text-align: start;
31990
+ cursor: pointer;
31991
+ transition: background var(--motion-duration-fast) var(--motion-easing-default);
31992
+ }
31993
+
31994
+ .crewlet-status-card__toggle:hover {
31995
+ background: var(--color-surface-hover);
31996
+ }
31997
+
31998
+ .crewlet-status-card__toggle:focus-visible {
31999
+ outline: 2px solid var(--color-focus);
32000
+ outline-offset: var(--size-focus-ring-inset-offset);
32001
+ }
32002
+
32003
+ .crewlet-status-card__chevron {
32004
+ flex: none;
32005
+ color: var(--color-text-tertiary);
32006
+ transform: rotate(-90deg);
32007
+ transition: transform var(--motion-duration-base) var(--motion-easing-out);
32008
+ }
32009
+
32010
+ .crewlet-status-card__toggle[aria-expanded='true'] .crewlet-status-card__chevron {
32011
+ transform: rotate(0deg);
32012
+ }
32013
+
32014
+ /* The title keeps its words and the summary gives up its tail first. */
32015
+ .crewlet-status-card__toggle-title {
32016
+ flex: 0 1 auto;
32017
+ min-width: 0;
32018
+ overflow: hidden;
32019
+ text-overflow: ellipsis;
32020
+ white-space: nowrap;
32021
+ }
32022
+
32023
+ /*
32024
+ * The dot is drawn, not written: generated content with no alternative text,
32025
+ * so it is neither read nor copied, and the hidden comma before the summary
32026
+ * is what both say instead.
32027
+ */
32028
+ .crewlet-status-card__summary {
32029
+ flex: 0 100 auto;
32030
+ min-width: 0;
32031
+ overflow: hidden;
32032
+ text-overflow: ellipsis;
32033
+ white-space: nowrap;
32034
+ font-size: var(--font-size-xs);
32035
+ font-weight: var(--font-weight-regular);
32036
+ color: var(--color-text-tertiary);
32037
+ }
32038
+
32039
+ .crewlet-status-card__summary::before {
32040
+ content: '\00b7' / '';
32041
+ margin-inline-end: var(--spacing-1);
32042
+ }
32043
+
32044
+ /* A folded card's utilities, at the end of its head, one small gap apart. */
32045
+ .crewlet-status-card__head-actions {
32046
+ display: inline-flex;
32047
+ flex-wrap: wrap;
32048
+ align-items: center;
32049
+ gap: var(--spacing-1);
32050
+ }
32051
+
32052
+ @media (prefers-reduced-motion: reduce) {
32053
+ .crewlet-status-card__toggle,
32054
+ .crewlet-status-card__chevron {
32055
+ transition: none;
32056
+ }
32057
+ }
32058
+
31897
32059
 
31898
32060
  /* StatusDot-7OMCQCZF.css */
31899
32061
  /*
@@ -38225,15 +38387,21 @@ svg.crewlet-time-window__tick {
38225
38387
  }
38226
38388
 
38227
38389
 
38228
- /* VisuallyHidden-L552H7OA.css */
38390
+ /* VisuallyHidden-AOEXU5EB.css */
38229
38391
  /*
38230
38392
  * Hidden from the eye, read by everything else.
38231
38393
  *
38232
38394
  * The clip rectangle rather than `display: none` or `visibility: hidden`:
38233
38395
  * those two remove the text from the accessibility tree as well as from the
38234
38396
  * page. One pixel rather than zero, because a zero-sized element is skipped by
38235
- * some screen readers. `white-space: nowrap` stops a long sentence wrapping
38236
- * inside that pixel and being read a word at a time.
38397
+ * some screen readers.
38398
+ *
38399
+ * `white-space: pre` for two reasons. It stops a long sentence wrapping inside
38400
+ * that pixel and being read a word at a time. And it keeps the spaces at the
38401
+ * text's edges: the element is positioned, so it lays out as a block of its
38402
+ * own, and a block drops the collapsible spaces that start or end its line.
38403
+ * "removed " came out as "removed", and the label ran into the word after it
38404
+ * in what a screen reader said and in what a copy carried.
38237
38405
  */
38238
38406
 
38239
38407
  .crewlet-visually-hidden {
@@ -38245,7 +38413,7 @@ svg.crewlet-time-window__tick {
38245
38413
  border: 0;
38246
38414
  overflow: hidden;
38247
38415
  clip-path: inset(50%);
38248
- white-space: nowrap;
38416
+ white-space: pre;
38249
38417
  }
38250
38418
 
38251
38419
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.57.2",
3
+ "version": "0.59.0",
4
4
  "description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  "clean": "rm -rf dist src/generated"
43
43
  },
44
44
  "dependencies": {
45
- "@crewlethq/icons": "0.57.2",
46
- "@crewlethq/tokens": "0.57.2",
45
+ "@crewlethq/icons": "0.59.0",
46
+ "@crewlethq/tokens": "0.59.0",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,46 +0,0 @@
1
- /*
2
- * The package's one ring. See Spinner.tsx for why it is inline-block, why it
3
- * stays open when it stops, and why its ink is the current colour.
4
- */
5
- .crewlet-spinner {
6
- display: inline-block;
7
- box-sizing: border-box;
8
- flex: none;
9
- width: 1em;
10
- height: 1em;
11
- border: 2px solid currentColor;
12
- border-right-color: transparent;
13
- border-radius: var(--radius-circle);
14
- opacity: 0.7;
15
- animation: crewlet-spinner-turn var(--motion-duration-slow) linear infinite;
16
- }
17
-
18
- /* The glyph scale of @crewlethq/icons: xs 12px, sm 14px, md 16px. */
19
- .crewlet-spinner--xs {
20
- width: var(--font-size-xs);
21
- height: var(--font-size-xs);
22
- }
23
-
24
- .crewlet-spinner--sm {
25
- width: var(--font-size-sm);
26
- height: var(--font-size-sm);
27
- }
28
-
29
- .crewlet-spinner--md {
30
- width: var(--font-size-md);
31
- height: var(--font-size-md);
32
- }
33
-
34
- @keyframes crewlet-spinner-turn {
35
- to {
36
- transform: rotate(360deg);
37
- }
38
- }
39
-
40
- /* It stops, and keeps its open quarter: a closed ring reads as an empty status
41
- circle, the open one still reads as pending. */
42
- @media (prefers-reduced-motion: reduce) {
43
- .crewlet-spinner {
44
- animation: none;
45
- }
46
- }
@@ -1,62 +0,0 @@
1
- /*
2
- * A record with a state. The card, its head, its body and its foot are
3
- * Card's; only what a status card adds is said here.
4
- */
5
-
6
- /* The body holds a sentence, a list and a note, one gap apart. */
7
- .crewlet-status-card__body {
8
- display: flex;
9
- flex-direction: column;
10
- gap: var(--spacing-3);
11
- min-width: 0;
12
- font-size: var(--font-size-compact);
13
- line-height: var(--font-line-height-normal);
14
- color: var(--color-text-primary);
15
- }
16
-
17
- .crewlet-status-card__body > p {
18
- margin: 0;
19
- }
20
-
21
- /* Settled: the body steps back so the strip at the foot reads first. */
22
- .crewlet-status-card--settled .crewlet-status-card__body {
23
- color: var(--color-text-secondary);
24
- }
25
-
26
- /* The strip fills its flush footer edge to edge. */
27
- .crewlet-status-card__strip {
28
- display: block;
29
- }
30
-
31
- /*
32
- * THE FOOT'S ONE RULE. A decision ends the row; utilities start it, with a
33
- * ghost button at either end pulled out by its padding and edge so its glyph
34
- * sits on the card's text edge.
35
- */
36
- .crewlet-status-card__actions {
37
- flex-wrap: wrap;
38
- container: crewlet-status-card-actions / inline-size;
39
- }
40
-
41
- .crewlet-status-card__actions--end {
42
- justify-content: flex-end;
43
- }
44
-
45
- .crewlet-status-card__actions--start {
46
- justify-content: flex-start;
47
- }
48
-
49
- .crewlet-status-card__actions--start > .crewlet-btn--ghost.crewlet-btn--small:first-child {
50
- margin-inline-start: calc(-1 * (var(--spacing-2) + 1px));
51
- }
52
-
53
- .crewlet-status-card__actions--start > .crewlet-btn--ghost.crewlet-btn--small:last-child {
54
- margin-inline-end: calc(-1 * (var(--spacing-2) + 1px));
55
- }
56
-
57
- /* A decision on a narrow card (a phone sheet): its buttons share the row as blocks. */
58
- @container crewlet-status-card-actions (width < 328px) {
59
- .crewlet-status-card__actions--end > .crewlet-btn {
60
- flex: 1 1 0;
61
- }
62
- }
@@ -1,21 +0,0 @@
1
- /*
2
- * Hidden from the eye, read by everything else.
3
- *
4
- * The clip rectangle rather than `display: none` or `visibility: hidden`:
5
- * those two remove the text from the accessibility tree as well as from the
6
- * page. One pixel rather than zero, because a zero-sized element is skipped by
7
- * some screen readers. `white-space: nowrap` stops a long sentence wrapping
8
- * inside that pixel and being read a word at a time.
9
- */
10
-
11
- .crewlet-visually-hidden {
12
- position: absolute;
13
- width: 1px;
14
- height: 1px;
15
- margin: -1px;
16
- padding: 0;
17
- border: 0;
18
- overflow: hidden;
19
- clip-path: inset(50%);
20
- white-space: nowrap;
21
- }
@@ -1,51 +0,0 @@
1
- import { Tag } from './chunk-KYIAFNU7.js';
2
- import { Card } from './chunk-INHXF2CL.js';
3
- import { cx } from './chunk-ODEQTPFM.js';
4
- import './StatusCard-6RPEE6UU.css';
5
- import { useId } from 'react';
6
- import { jsxs, jsx } from 'react/jsx-runtime';
7
-
8
- function StatusCard({
9
- title,
10
- subtitle,
11
- subtitlePlacement,
12
- status,
13
- settled = false,
14
- bodyPadding = "md",
15
- strip,
16
- actions,
17
- actionsAlign = "end",
18
- className,
19
- children,
20
- ...rest
21
- }) {
22
- const id = useId();
23
- const titleId = `${id}-title`;
24
- const statusId = `${id}-status`;
25
- return /* @__PURE__ */ jsxs(
26
- Card,
27
- {
28
- ...rest,
29
- as: "section",
30
- "aria-labelledby": status ? `${titleId} ${statusId}` : titleId,
31
- className: cx("crewlet-status-card", settled && "crewlet-status-card--settled", className),
32
- "data-settled": settled || void 0,
33
- children: [
34
- /* @__PURE__ */ jsx(
35
- Card.Header,
36
- {
37
- subtitle,
38
- subtitlePlacement,
39
- actions: status ? /* @__PURE__ */ jsx(Tag, { id: statusId, size: "sm", variant: status.tone, leadingIcon: status.icon, children: status.label }) : void 0,
40
- children: /* @__PURE__ */ jsx(Card.Title, { id: titleId, truncate: true, children: title })
41
- }
42
- ),
43
- children === void 0 || children === null || children === false ? null : /* @__PURE__ */ jsx(Card.Body, { padding: bodyPadding, className: "crewlet-status-card__body", children }),
44
- strip === void 0 || strip === null || strip === false ? null : /* @__PURE__ */ jsx(Card.Footer, { padding: "none", className: "crewlet-status-card__strip", children: strip }),
45
- actions === void 0 || actions === null || actions === false ? null : /* @__PURE__ */ jsx(Card.Footer, { className: cx("crewlet-status-card__actions", `crewlet-status-card__actions--${actionsAlign}`), children: actions })
46
- ]
47
- }
48
- );
49
- }
50
-
51
- export { StatusCard };