@crewlethq/ui 0.64.0 → 0.65.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 (448) hide show
  1. package/dist/Accordion/index.js +3 -3
  2. package/dist/{Accordion-ZI2WLD5C.css → Accordion-V7YNDK7Y.css} +10 -0
  3. package/dist/AddPill/index.js +1 -1
  4. package/dist/{AddPill-RYCY56P4.css → AddPill-FPM5RUKI.css} +15 -5
  5. package/dist/AgentHandoffPanel/index.js +12 -12
  6. package/dist/{AgentHandoffPanel-JWSW62GU.css → AgentHandoffPanel-AIU7YWWB.css} +34 -2
  7. package/dist/AppShell/index.d.ts +1 -0
  8. package/dist/AppShell/index.js +3 -3
  9. package/dist/AppShell/screenWidth.d.ts +66 -0
  10. package/dist/{AppShell-ZVCJRGXH.css → AppShell-LZQA3XU4.css} +21 -1
  11. package/dist/ArrangeFrame/index.js +2 -2
  12. package/dist/{ArrangeFrame-QXOQTFAH.css → ArrangeFrame-QCQZ5RF6.css} +6 -0
  13. package/dist/ArrangeGroup/index.js +2 -2
  14. package/dist/ArrangeList/index.js +5 -5
  15. package/dist/ArrangeList-F6Y43I24.css +143 -0
  16. package/dist/ArtifactAccess/index.js +1 -1
  17. package/dist/{ArtifactAccess-Y53ZTRFS.css → ArtifactAccess-RNNN2EIG.css} +6 -0
  18. package/dist/ArtifactBar/index.js +8 -8
  19. package/dist/{ArtifactBar-LEBMR35Y.css → ArtifactBar-X46WJNW7.css} +8 -3
  20. package/dist/ArtifactCard/index.js +10 -10
  21. package/dist/{ArtifactCard-F7IVRL3A.css → ArtifactCard-B2QE5CVL.css} +58 -12
  22. package/dist/ArtifactCover/index.js +2 -2
  23. package/dist/ArtifactKindIllustration/index.js +1 -1
  24. package/dist/{ArtifactKindIllustration-KLFL7KBG.css → ArtifactKindIllustration-D2J3HJMJ.css} +6 -0
  25. package/dist/ArtifactPanel/index.js +3 -3
  26. package/dist/{ArtifactPanel-TN4FFK2F.css → ArtifactPanel-MR5Z5AVN.css} +15 -1
  27. package/dist/AsideLayout/index.js +1 -1
  28. package/dist/{AsideLayout-TH5SQZNK.css → AsideLayout-AA3DEJKN.css} +7 -3
  29. package/dist/AttachmentChip/index.js +2 -2
  30. package/dist/AttachmentChip-RZ6ZCB43.css +33 -0
  31. package/dist/AuthLayout/index.js +3 -3
  32. package/dist/Avatar/index.js +1 -1
  33. package/dist/{Avatar-3C2H2WA4.css → Avatar-FDQSCB7A.css} +44 -13
  34. package/dist/AvatarPicker/index.js +7 -7
  35. package/dist/{AvatarPicker-PREY36MG.css → AvatarPicker-POOJUOKC.css} +14 -0
  36. package/dist/{AvatarStack-GEJBNV7E.css → AvatarStack-7I3P7LCK.css} +23 -1
  37. package/dist/BrandChip/index.js +1 -1
  38. package/dist/{BrandChip-SQWBC2WU.css → BrandChip-7PBEYDTG.css} +4 -0
  39. package/dist/Breadcrumb/index.js +2 -2
  40. package/dist/{Breadcrumb-YMWVM3SV.css → Breadcrumb-55VBXIN4.css} +18 -0
  41. package/dist/CalendarGrid/index.js +1 -1
  42. package/dist/{CalendarGrid-V6TQ5QKS.css → CalendarGrid-TT624SDR.css} +57 -20
  43. package/dist/Canvas/index.js +3 -3
  44. package/dist/CanvasBoard/index.js +5 -5
  45. package/dist/{CanvasBoard-JMYNIAHK.css → CanvasBoard-U6LR5F6H.css} +6 -1
  46. package/dist/CanvasToolbar/index.js +4 -4
  47. package/dist/Card/Card.d.ts +5 -5
  48. package/dist/Card/index.js +2 -2
  49. package/dist/{Card-JR2UPQH7.css → Card-O35OMBQ5.css} +97 -17
  50. package/dist/CatalogTile/index.js +1 -1
  51. package/dist/{CatalogTile-26XN7L2A.css → CatalogTile-6VF36JWA.css} +14 -1
  52. package/dist/ChangeList/index.js +6 -6
  53. package/dist/{ChangeList-KQVD46IC.css → ChangeList-MDFH5NPH.css} +17 -0
  54. package/dist/ChangeMark/index.js +1 -1
  55. package/dist/{ChangeMark-3VMTW7MT.css → ChangeMark-KFDGBF6G.css} +5 -0
  56. package/dist/Charts/index.js +1 -1
  57. package/dist/{Charts-TZ744HT6.css → Charts-UJKADWXE.css} +33 -7
  58. package/dist/Checkbox/index.js +3 -3
  59. package/dist/{Checkbox-MB22OW6P.css → Checkbox-GAMV2XD7.css} +27 -15
  60. package/dist/ChoiceButtons/index.js +1 -1
  61. package/dist/{ChoiceButtons-HWXEF2H3.css → ChoiceButtons-Q2ET3I2N.css} +24 -3
  62. package/dist/ChoiceList/index.js +1 -1
  63. package/dist/{ChoiceList-KFYFAECP.css → ChoiceList-Q772QLFX.css} +11 -3
  64. package/dist/CodeBlock/index.js +3 -3
  65. package/dist/{CodeBlock-N5ETJF24.css → CodeBlock-T47UA5GM.css} +17 -2
  66. package/dist/ColorField/index.js +3 -3
  67. package/dist/ColorSwatch/index.js +3 -3
  68. package/dist/{ColorSwatch-DNMUFHNS.css → ColorSwatch-V4DA4TK5.css} +24 -1
  69. package/dist/Combobox/index.js +3 -3
  70. package/dist/CommandPalette/index.js +6 -6
  71. package/dist/CommentThread/index.js +8 -8
  72. package/dist/{CommentThread-7VXOFTZO.css → CommentThread-FRXTDNV6.css} +8 -1
  73. package/dist/Composer/index.js +4 -4
  74. package/dist/{Composer-JSGTOW3F.css → Composer-HQIMTMRC.css} +23 -1
  75. package/dist/ConfirmField/index.js +4 -4
  76. package/dist/ConflictNote/index.js +1 -1
  77. package/dist/ConflictNote-OP64JJ6T.css +56 -0
  78. package/dist/ContrastBadge/index.js +2 -2
  79. package/dist/ContrastHelp/index.js +4 -4
  80. package/dist/Copyable/index.js +2 -2
  81. package/dist/{Copyable-5PNRFOLS.css → Copyable-IS3MHMPL.css} +9 -0
  82. package/dist/Count/index.js +1 -1
  83. package/dist/{Count-ZVCJ6VPD.css → Count-ZJ6ID4ZU.css} +6 -1
  84. package/dist/CursorFlag/index.js +2 -2
  85. package/dist/{DashboardCover-KYGYMRKW.css → DashboardCover-PWXH4GNW.css} +21 -24
  86. package/dist/DataGrid/DataGrid.d.ts +35 -3
  87. package/dist/DataGrid/index.js +4 -4
  88. package/dist/{DataGrid-VNGQESJA.css → DataGrid-NHIN2I42.css} +190 -97
  89. package/dist/DataTable/index.js +6 -6
  90. package/dist/{DataTable-NL2YWAIA.css → DataTable-H43JSHOI.css} +279 -35
  91. package/dist/DataView/index.js +12 -12
  92. package/dist/{DataView-N6JX464S.css → DataView-RH5UDA5F.css} +4 -0
  93. package/dist/DatasetSource/index.js +2 -2
  94. package/dist/{DatasetSource-FFKTD3ZU.css → DatasetSource-23SI5OF2.css} +4 -1
  95. package/dist/DateTimePicker/index.js +3 -3
  96. package/dist/{DateTimePicker-3A7JIIVL.css → DateTimePicker-PM6TIRIX.css} +3 -1
  97. package/dist/DeepWorkCard/index.js +9 -9
  98. package/dist/{DeepWorkCard-DGHRIQDM.css → DeepWorkCard-CMRRNISU.css} +12 -0
  99. package/dist/DiffList/index.js +1 -1
  100. package/dist/{DiffList-GE6YBRLJ.css → DiffList-3JNPLQ2E.css} +10 -0
  101. package/dist/DirectoryList/index.js +1 -1
  102. package/dist/{DirectoryList-7OXXN47X.css → DirectoryList-XZOWYOA3.css} +7 -2
  103. package/dist/Disclosure/index.js +3 -3
  104. package/dist/{Disclosure-FVMA4RW2.css → Disclosure-D727FN5X.css} +12 -6
  105. package/dist/DocTabsEditor/index.js +4 -4
  106. package/dist/{DocTabsEditor-4M452LNS.css → DocTabsEditor-25J6MYZF.css} +17 -1
  107. package/dist/Document/index.js +1 -1
  108. package/dist/{Document-TZ2NBLOR.css → Document-M6JYGLWV.css} +7 -2
  109. package/dist/EditingStatus/index.js +2 -1
  110. package/dist/{EditingStatus-YU7EGM6Y.css → EditingStatus-TMGT265J.css} +6 -8
  111. package/dist/{Editor-GHHWWXXL.js → Editor-URGZOK2S.js} +3 -3
  112. package/dist/EntityChip/index.js +1 -1
  113. package/dist/EntityList/index.js +5 -5
  114. package/dist/{EntityList-XIICECVC.css → EntityList-DT3BQLUW.css} +14 -0
  115. package/dist/FactList/index.js +1 -1
  116. package/dist/{FactList-G2H73NFR.css → FactList-QEOHLHX3.css} +11 -0
  117. package/dist/FileList/index.js +1 -1
  118. package/dist/{FileList-TGDNV2QS.css → FileList-665NXS7T.css} +10 -0
  119. package/dist/FindingList/index.js +1 -1
  120. package/dist/{FindingList-PMYA2R6Q.css → FindingList-MPLA2ZTO.css} +13 -1
  121. package/dist/FolderTile/index.js +3 -3
  122. package/dist/HuePicker/index.js +6 -6
  123. package/dist/IconButton/index.js +1 -1
  124. package/dist/{IconButton-2D2PZ6GU.css → IconButton-LNNHLBAS.css} +8 -0
  125. package/dist/ImageUpload/index.js +2 -2
  126. package/dist/{ImageUpload-CYC3Y7M2.css → ImageUpload-OWI7CCG7.css} +13 -0
  127. package/dist/InboxList/index.js +1 -1
  128. package/dist/{InboxList-YMFWKGGS.css → InboxList-OCL2M3ZF.css} +14 -1
  129. package/dist/InlineCode/index.js +1 -1
  130. package/dist/{InlineCode-ASYHLN3E.css → InlineCode-2ZXFKTKA.css} +5 -0
  131. package/dist/InlineEditor/index.js +4 -3
  132. package/dist/Input/Input.d.ts +4 -1
  133. package/dist/Input/index.js +2 -2
  134. package/dist/{Input-GMOWHZRG.css → Input-GEFFMKBS.css} +42 -2
  135. package/dist/Kbd/index.js +1 -1
  136. package/dist/{Kbd-MCWJTRTT.css → Kbd-YO5U2PSZ.css} +8 -2
  137. package/dist/KeyChip/index.js +1 -1
  138. package/dist/{KeyChip-4XJU4BBE.css → KeyChip-QC7TPU65.css} +4 -1
  139. package/dist/LayersList/index.js +1 -1
  140. package/dist/{LayersList-TBNF4XGL.css → LayersList-BQHKROBH.css} +16 -6
  141. package/dist/Link/index.js +1 -1
  142. package/dist/{Link-WPMVLKLY.css → Link-CLURSR2O.css} +15 -1
  143. package/dist/LinkInterstitial/index.js +4 -4
  144. package/dist/List/index.js +1 -1
  145. package/dist/{List-XY445TKY.css → List-JOELBLTU.css} +38 -0
  146. package/dist/ListDetail/ListDetail.d.ts +10 -5
  147. package/dist/ListDetail/index.js +1 -1
  148. package/dist/ListDetail-N3L7PB46.css +87 -0
  149. package/dist/ListInput/index.js +4 -4
  150. package/dist/{ListInput-RLQND5QK.css → ListInput-4ISMGZDQ.css} +42 -0
  151. package/dist/LiveCursor/index.js +3 -3
  152. package/dist/{LiveCursor-DZHGIYWE.css → LiveCursor-Z6DHHLWI.css} +10 -0
  153. package/dist/LogoSlot/LogoSlot.d.ts +6 -0
  154. package/dist/LogoSlot/index.js +3 -3
  155. package/dist/{LogoSlot-NAJE5XY3.css → LogoSlot-APCMGE6S.css} +24 -6
  156. package/dist/MarkdownEditor/index.js +7 -7
  157. package/dist/{MarkdownEditor-WOKV7CLK.css → MarkdownEditor-BLCJRGDC.css} +11 -1
  158. package/dist/Menu/index.js +2 -2
  159. package/dist/{Menu-KEKAD3BZ.css → Menu-OLUGHX56.css} +19 -1
  160. package/dist/MergeConflicts/index.js +7 -7
  161. package/dist/{MergeConflicts-O44ESH4T.css → MergeConflicts-HCXPRQVR.css} +11 -0
  162. package/dist/MessageBubble/index.js +1 -1
  163. package/dist/{MessageBubble-GKO6X3QG.css → MessageBubble-AHTXBO3X.css} +13 -2
  164. package/dist/Modal/index.js +2 -2
  165. package/dist/{Modal-3HMP7WAZ.css → Modal-FYQYEI3N.css} +18 -1
  166. package/dist/ObjectHeader/index.js +2 -2
  167. package/dist/OpenInAppCard/index.js +6 -6
  168. package/dist/OrgLabel/index.js +1 -1
  169. package/dist/OrgNode/index.js +2 -2
  170. package/dist/{OrgNode-TCHJH5FO.css → OrgNode-6OCBAIBK.css} +9 -1
  171. package/dist/OrgTable/index.js +5 -5
  172. package/dist/PageHeader/index.js +1 -1
  173. package/dist/{PageHeader-KMT63D56.css → PageHeader-ES5RN55V.css} +11 -1
  174. package/dist/PeekRail/index.js +2 -2
  175. package/dist/PeopleRail/index.js +3 -3
  176. package/dist/{PeopleRail-SZGHZXVT.css → PeopleRail-MRUSDGCZ.css} +11 -1
  177. package/dist/PinTile/index.js +2 -2
  178. package/dist/{PinTile-IIA25MNZ.css → PinTile-OWS7JTHD.css} +12 -1
  179. package/dist/PresenceRing/index.js +1 -1
  180. package/dist/{PresenceRing-M4C22Q6U.css → PresenceRing-ZMVVTYMH.css} +14 -4
  181. package/dist/PresenceStack/index.js +3 -3
  182. package/dist/PresenceStack-ZV67BH4V.css +108 -0
  183. package/dist/PresenterView/index.js +3 -3
  184. package/dist/{PresenterView-T3EXIQ5S.css → PresenterView-RKYEK27N.css} +9 -4
  185. package/dist/PricingCard/index.js +2 -2
  186. package/dist/{PricingCard-HTAHG4ST.css → PricingCard-BXMLP7KD.css} +11 -2
  187. package/dist/Principal/index.js +1 -1
  188. package/dist/PrincipalPicker/index.js +5 -5
  189. package/dist/{PrincipalPicker-7NNZTGUP.css → PrincipalPicker-P6UYHDJR.css} +18 -1
  190. package/dist/PropertyList/index.js +3 -3
  191. package/dist/{PropertyList-SCYM66LL.css → PropertyList-42MEVUXV.css} +4 -1
  192. package/dist/ProposalCard/index.js +10 -10
  193. package/dist/{ProposalCard-YDGECRES.css → ProposalCard-VTTCDXYK.css} +8 -0
  194. package/dist/ReceiptStrip/index.js +1 -1
  195. package/dist/{ReceiptStrip-IIRKRTBG.css → ReceiptStrip-V7ASVZVV.css} +9 -0
  196. package/dist/RefusalCard/index.js +5 -5
  197. package/dist/RelatedRow/index.js +3 -3
  198. package/dist/RelatedRow-IZ22XCLP.css +19 -0
  199. package/dist/ResultTableCard/index.js +5 -5
  200. package/dist/ReviewList/index.js +2 -2
  201. package/dist/{ReviewList-TIN6C2JN.css → ReviewList-2IZA67EX.css} +13 -1
  202. package/dist/RichEditor/index.js +2 -2
  203. package/dist/{RichEditor-NPD2KAPS.css → RichEditor-5CF3QV3J.css} +19 -2
  204. package/dist/RunChip/index.js +5 -5
  205. package/dist/{RunChip-D3JYPTTO.css → RunChip-K5DGHXHO.css} +16 -0
  206. package/dist/SandboxedFrame/index.js +2 -2
  207. package/dist/SearchTrigger/index.js +1 -1
  208. package/dist/{SearchTrigger-UAKWW5HT.css → SearchTrigger-SE4GKNAY.css} +11 -0
  209. package/dist/Section/index.js +1 -1
  210. package/dist/{Section-M7SG6NP2.css → Section-X2CTTPI3.css} +19 -0
  211. package/dist/SectionFrame/index.js +3 -3
  212. package/dist/SegmentedControl/index.js +6 -6
  213. package/dist/Select/index.js +1 -1
  214. package/dist/{Select-F526HLNR.css → Select-6BQPBOHH.css} +37 -7
  215. package/dist/SelectionBar/index.js +1 -1
  216. package/dist/{SelectionBar-XPWKUOSC.css → SelectionBar-SCAU6EBY.css} +5 -1
  217. package/dist/SendButton/index.js +2 -2
  218. package/dist/SetupWizard/index.js +6 -6
  219. package/dist/{SetupWizard-Z54H6RYW.css → SetupWizard-WDOFFNIM.css} +25 -0
  220. package/dist/ShareDialog/index.js +6 -6
  221. package/dist/{ShareDialog-4QDCBWMH.css → ShareDialog-72VTMM4K.css} +5 -1
  222. package/dist/SheetColumnEditor/index.js +11 -11
  223. package/dist/SheetGrid/index.js +9 -9
  224. package/dist/{SheetGrid-XK7T7M34.css → SheetGrid-QGQAYDEY.css} +132 -10
  225. package/dist/SidePanel/index.js +2 -2
  226. package/dist/SidebarNav/index.js +2 -2
  227. package/dist/{SidebarNav-YI74SPDC.css → SidebarNav-VTQ3G4AE.css} +15 -5
  228. package/dist/Skeleton/index.js +1 -1
  229. package/dist/{Skeleton-V735HRGM.css → Skeleton-7ZA5ETJM.css} +21 -16
  230. package/dist/SlideCompare/index.js +1 -1
  231. package/dist/{SlideCompare-HTCMPQFY.css → SlideCompare-R4GVZXAM.css} +4 -1
  232. package/dist/SlideFilmstrip/index.js +4 -4
  233. package/dist/{SlideFilmstrip-PAT7P4OG.css → SlideFilmstrip-BLGBCLEU.css} +15 -5
  234. package/dist/SlideGrid/index.js +1 -1
  235. package/dist/{SlideGrid-FJA33DV4.css → SlideGrid-J4LAOUSJ.css} +20 -3
  236. package/dist/SlideNav/index.js +2 -2
  237. package/dist/{SlideNav-BLFJF6AH.css → SlideNav-ODTNGTMT.css} +13 -2
  238. package/dist/SourceEditor/index.js +1 -1
  239. package/dist/{SourceEditor-OKPWPFXK.css → SourceEditor-SMQ44O76.css} +4 -2
  240. package/dist/StatCard/index.js +1 -1
  241. package/dist/{StatCard-HAA3F5GX.css → StatCard-TPKGB2GB.css} +7 -0
  242. package/dist/StatusCard/index.js +4 -4
  243. package/dist/{StatusCard-AMOI6GBK.css → StatusCard-FCJN7SXJ.css} +37 -2
  244. package/dist/Stepper/index.js +1 -1
  245. package/dist/{Stepper-QEJI5RGX.css → Stepper-32INSYF7.css} +22 -4
  246. package/dist/SuggestionRow/index.js +1 -1
  247. package/dist/{SuggestionRow-OKBGNHSS.css → SuggestionRow-WSU34POM.css} +26 -2
  248. package/dist/Switch/index.js +1 -1
  249. package/dist/{Switch-66RAQCRE.css → Switch-AUYLQLTN.css} +30 -3
  250. package/dist/Switcher/index.js +6 -6
  251. package/dist/{Switcher-K3EPA2RB.css → Switcher-VWQMZUTN.css} +13 -2
  252. package/dist/TableCells/index.js +4 -4
  253. package/dist/{TableCells-3VN5N2M3.css → TableCells-F6MUV572.css} +9 -0
  254. package/dist/Tabs/index.js +4 -4
  255. package/dist/{Tabs-S7F4RWAN.css → Tabs-7ZK2UF75.css} +18 -10
  256. package/dist/Tag/index.js +1 -1
  257. package/dist/{Tag-2DQOVE6W.css → Tag-JTJVZM2D.css} +13 -1
  258. package/dist/TagGroup/index.js +1 -1
  259. package/dist/{TagGroup-NAXTJHDS.css → TagGroup-VGL7ZFBK.css} +44 -13
  260. package/dist/TagsInput/index.js +3 -3
  261. package/dist/{TagsInput-CLFHP6I2.css → TagsInput-MZXEHKJD.css} +13 -0
  262. package/dist/ThemeGallery/index.js +3 -3
  263. package/dist/ThemeSwatch/index.js +1 -1
  264. package/dist/{ThemeSwatch-4DL457ZB.css → ThemeSwatch-KAA2AEUM.css} +30 -5
  265. package/dist/ThemeSwitcher/index.js +7 -7
  266. package/dist/ThemeToggle/index.js +2 -2
  267. package/dist/TimeRangePicker/index.js +9 -9
  268. package/dist/TimeWindowPicker/index.js +5 -5
  269. package/dist/{TimeWindowPicker-I3HXC74I.css → TimeWindowPicker-YZPKNZZI.css} +22 -4
  270. package/dist/Timeline/index.js +1 -1
  271. package/dist/{Timeline-27SYKOFX.css → Timeline-PGIZIODK.css} +31 -2
  272. package/dist/Toaster/index.js +1 -1
  273. package/dist/{Toaster-MX7TBMC3.css → Toaster-OCW7W3FJ.css} +23 -5
  274. package/dist/TreeCanvas/index.js +4 -4
  275. package/dist/{TreeCanvas-QA3PDFTK.css → TreeCanvas-5FPK4CII.css} +19 -3
  276. package/dist/TreeGrid/TreeGrid.d.ts +9 -1
  277. package/dist/TreeGrid/index.js +2 -2
  278. package/dist/{TreeGrid-UCPV37XB.css → TreeGrid-522U6WBG.css} +36 -8
  279. package/dist/ValueField/index.js +5 -5
  280. package/dist/VersionCompare/index.js +7 -7
  281. package/dist/VersionTimeline/index.js +3 -3
  282. package/dist/{VersionTimeline-6KRXEEOO.css → VersionTimeline-DEAQ7CJG.css} +19 -1
  283. package/dist/WidgetFrame/index.js +2 -2
  284. package/dist/{WidgetFrame-BTFW3CRK.css → WidgetFrame-WXYFYAAH.css} +13 -1
  285. package/dist/{chunk-P4YORMRZ.js → chunk-222VILSP.js} +2 -2
  286. package/dist/{chunk-OOC7Q67K.js → chunk-25AZQ3GZ.js} +1 -1
  287. package/dist/{chunk-KA2GAB3N.js → chunk-2A6DL3K5.js} +2 -2
  288. package/dist/{chunk-QCVAVAF6.js → chunk-2EA2GSA2.js} +1 -1
  289. package/dist/{chunk-W2Q5DZJB.js → chunk-2SU735S3.js} +1 -1
  290. package/dist/{chunk-JPVORBWC.js → chunk-2T32N2WD.js} +2 -2
  291. package/dist/{chunk-KYTOEWJD.js → chunk-3N36CYTU.js} +2 -2
  292. package/dist/{chunk-A722MUNR.js → chunk-3XDT5ZWL.js} +1 -1
  293. package/dist/{chunk-MNFU2RNT.js → chunk-3XQUEF5C.js} +1 -1
  294. package/dist/{chunk-3DMPZZQ6.js → chunk-4EDSEX7U.js} +2 -2
  295. package/dist/{chunk-Z6X3F4H6.js → chunk-4MJN2KN6.js} +1 -1
  296. package/dist/{chunk-CVDK3LDB.js → chunk-4TMBAOXK.js} +1 -1
  297. package/dist/{chunk-LAXXWJ2Z.js → chunk-4WKOLL7C.js} +4 -4
  298. package/dist/{chunk-PPVWWJIB.js → chunk-56IFLQGF.js} +1 -1
  299. package/dist/{chunk-DEAFAK3U.js → chunk-5AJR6X75.js} +2 -2
  300. package/dist/{chunk-K4U2VDOJ.js → chunk-5NJMSYDZ.js} +3 -3
  301. package/dist/{chunk-5CY6BW4Y.js → chunk-5OFRDX66.js} +3 -3
  302. package/dist/{chunk-DHIO6Q75.js → chunk-5OVTWY3I.js} +2 -2
  303. package/dist/{chunk-CZXF6EFK.js → chunk-5WRWBDML.js} +1 -1
  304. package/dist/{chunk-5KEVSZ4K.js → chunk-62DBFNOK.js} +1 -1
  305. package/dist/{chunk-ISHLFPNN.js → chunk-6ID4DVML.js} +1 -1
  306. package/dist/{chunk-IJIC4COR.js → chunk-6MI2GMYG.js} +2 -2
  307. package/dist/{chunk-GK3PXGLS.js → chunk-6MTJWQ3V.js} +1 -1
  308. package/dist/{chunk-6IGIYOTV.js → chunk-7EOUVWGQ.js} +1 -1
  309. package/dist/{chunk-5YIL4WJP.js → chunk-7LSSYHOT.js} +1 -1
  310. package/dist/{chunk-3V5T5K5H.js → chunk-7MGXHCVK.js} +1 -1
  311. package/dist/{chunk-MMZZGJHX.js → chunk-7SYEOJLP.js} +1 -1
  312. package/dist/{chunk-MKKX6N7C.js → chunk-7XKDPTZ5.js} +2 -2
  313. package/dist/{chunk-ACRRRPWT.js → chunk-ANTAQAR4.js} +1 -1
  314. package/dist/{chunk-5IPPLWVA.js → chunk-B76OKJMX.js} +3 -2
  315. package/dist/{chunk-5AQBPHZD.js → chunk-BKP6XCAJ.js} +2 -2
  316. package/dist/{chunk-QBI5ETKY.js → chunk-BRLZXYPA.js} +1 -1
  317. package/dist/{chunk-PHQPQZUX.js → chunk-BVNFNFA6.js} +3 -3
  318. package/dist/{chunk-OD3Z6QKN.js → chunk-BWAUL5MB.js} +5 -5
  319. package/dist/{chunk-PWG3VHRQ.js → chunk-BXCL6P5Z.js} +15 -1
  320. package/dist/{chunk-WDPREXOL.js → chunk-CFY257ND.js} +64 -16
  321. package/dist/{chunk-PUJUWLCX.js → chunk-CLJGFOTV.js} +1 -1
  322. package/dist/{chunk-HACEB6L4.js → chunk-CSXJIIO4.js} +1 -1
  323. package/dist/{chunk-QC2DEQCN.js → chunk-CVKANYHD.js} +1 -1
  324. package/dist/{chunk-VBO2GYWX.js → chunk-CWYU7DNT.js} +1 -1
  325. package/dist/{chunk-O7VXE4TO.js → chunk-CX6QT4CH.js} +4 -4
  326. package/dist/{chunk-J4HPMS7F.js → chunk-CYYBE2MM.js} +1 -1
  327. package/dist/{chunk-YSHQQNB6.js → chunk-DKJJ434E.js} +5 -5
  328. package/dist/{chunk-SPCSFJNY.js → chunk-DMK2A4IK.js} +7 -4
  329. package/dist/{chunk-OJ2QULVH.js → chunk-DO4J4TBZ.js} +2 -2
  330. package/dist/{chunk-BGLKLXL3.js → chunk-DOY3KC6I.js} +1 -1
  331. package/dist/{chunk-5XACKNYR.js → chunk-DPNVKWJX.js} +3 -3
  332. package/dist/{chunk-JAOJLEYB.js → chunk-DXVJSBEW.js} +5 -5
  333. package/dist/{chunk-7SRSPU4O.js → chunk-E55DKVY7.js} +64 -6
  334. package/dist/{chunk-GXQ3B46I.js → chunk-EE3DJMSQ.js} +14 -2
  335. package/dist/{chunk-I6POAB4V.js → chunk-EFX2YC5T.js} +1 -1
  336. package/dist/{chunk-TXA3HMWP.js → chunk-ELLRZ5XR.js} +21 -10
  337. package/dist/{chunk-YZR57QGE.js → chunk-ERNT3UTB.js} +1 -1
  338. package/dist/{chunk-TLIJG4TP.js → chunk-ETSF7SU6.js} +2 -2
  339. package/dist/{chunk-FGRJXZUU.js → chunk-EVXXY75R.js} +2 -2
  340. package/dist/{chunk-3Q6N6FJL.js → chunk-F32FFE6I.js} +2 -2
  341. package/dist/{chunk-3OV26XP4.js → chunk-FFGEJUAP.js} +2 -2
  342. package/dist/{chunk-DKB73KZI.js → chunk-FPDIHEM4.js} +1 -1
  343. package/dist/{chunk-PGKETYGL.js → chunk-FWUX3F6Q.js} +3 -3
  344. package/dist/{chunk-WW4E5EUS.js → chunk-G4234OIG.js} +3 -3
  345. package/dist/{chunk-SHLP2BNA.js → chunk-G4CGDUCP.js} +1 -1
  346. package/dist/{chunk-VO2PDDRE.js → chunk-G5IZGAWS.js} +1 -1
  347. package/dist/{chunk-ZRKUTFYE.js → chunk-GDDVI4US.js} +9 -9
  348. package/dist/{chunk-FYTIJM2T.js → chunk-HBDA76EZ.js} +1 -1
  349. package/dist/{chunk-VSTD65SL.js → chunk-HEIOLITO.js} +3 -3
  350. package/dist/{chunk-VBYRA3W6.js → chunk-HIWPPWNY.js} +3 -3
  351. package/dist/{chunk-Z4EKUMZW.js → chunk-HJBHP66O.js} +1 -1
  352. package/dist/{chunk-KVWZDCTQ.js → chunk-I24FI46B.js} +2 -2
  353. package/dist/{chunk-KYIAFNU7.js → chunk-I5OIKDX2.js} +1 -1
  354. package/dist/{chunk-Q4DNAO3O.js → chunk-IL3XLDW7.js} +2 -2
  355. package/dist/{chunk-WSV3MBOE.js → chunk-IO374IX6.js} +2 -2
  356. package/dist/{chunk-RLFPBRN4.js → chunk-IPMJGK2Q.js} +1 -1
  357. package/dist/{chunk-OB5N3FV2.js → chunk-ISBKJOLI.js} +2 -2
  358. package/dist/{chunk-ZYO2QFU6.js → chunk-IVTQWOXV.js} +1 -1
  359. package/dist/{chunk-IOTN23FZ.js → chunk-IYG4ETAQ.js} +2 -2
  360. package/dist/{chunk-VTUAQYOC.js → chunk-JAFWGVX2.js} +1 -1
  361. package/dist/{chunk-UTBCDOGP.js → chunk-JEA5OX54.js} +4 -4
  362. package/dist/{chunk-DMI4QJDY.js → chunk-JVII5264.js} +2 -2
  363. package/dist/{chunk-C3FX7ZSU.js → chunk-KAQ2L74F.js} +1 -1
  364. package/dist/{chunk-P5S2SPTK.js → chunk-KHHDCNYM.js} +2 -2
  365. package/dist/{chunk-5NJ4BIUA.js → chunk-KIJJD4YD.js} +2 -2
  366. package/dist/{chunk-EQHJTGLY.js → chunk-KQGOVBGF.js} +2 -2
  367. package/dist/{chunk-BSAQE7PO.js → chunk-KWLH45YC.js} +1 -1
  368. package/dist/{chunk-GWPWLVN3.js → chunk-LJ3KWQLP.js} +2 -2
  369. package/dist/{chunk-RO2MZZ66.js → chunk-LR4IWUWQ.js} +1 -1
  370. package/dist/{chunk-DG6KSGNQ.js → chunk-LSRQ2A6B.js} +1 -1
  371. package/dist/{chunk-ESUZ27TS.js → chunk-LWFOX3PB.js} +2 -2
  372. package/dist/{chunk-NLI7OVO2.js → chunk-M25IV5MH.js} +1 -1
  373. package/dist/{chunk-KW6KCVM7.js → chunk-M52HLPOG.js} +2 -2
  374. package/dist/{chunk-IOZFPFQS.js → chunk-MFQPGMJT.js} +2 -2
  375. package/dist/{chunk-5KRRJNQO.js → chunk-MLDTLZAO.js} +1 -1
  376. package/dist/{chunk-3BYIWOTV.js → chunk-MMCYH5LB.js} +1 -1
  377. package/dist/{chunk-3PJHUDXD.js → chunk-MNTUIAQT.js} +4 -4
  378. package/dist/{chunk-EBCH3MRX.js → chunk-N7PXGOZP.js} +10 -10
  379. package/dist/{chunk-QZLNKLYD.js → chunk-NHLNHH4J.js} +1 -1
  380. package/dist/{chunk-EAQLI2SO.js → chunk-NQABJAUY.js} +1 -1
  381. package/dist/{chunk-U4AXQI6U.js → chunk-NWTHGZBH.js} +3 -3
  382. package/dist/{chunk-EFIURN3U.js → chunk-OFABBAUR.js} +2 -2
  383. package/dist/{chunk-MYJZCSMA.js → chunk-OGRMOWMO.js} +2 -2
  384. package/dist/{chunk-WR7UDG7U.js → chunk-OJGI4XJH.js} +1 -1
  385. package/dist/{chunk-VVVB3OBW.js → chunk-OOC6KXNL.js} +84 -74
  386. package/dist/{chunk-KIPAFCVS.js → chunk-PBCNINMB.js} +2 -2
  387. package/dist/{chunk-75QASA62.js → chunk-PIAGTZY3.js} +3 -3
  388. package/dist/{chunk-5CLW2CXT.js → chunk-PLL7ZJHY.js} +1 -1
  389. package/dist/{chunk-KBTJMJPX.js → chunk-PLNJEDGI.js} +2 -2
  390. package/dist/{chunk-S2VMOITT.js → chunk-PQWNK3N7.js} +3 -3
  391. package/dist/{chunk-34NMOVXO.js → chunk-PS5ZYIA6.js} +11 -7
  392. package/dist/{chunk-27JCHL64.js → chunk-PVZOP3QK.js} +3 -3
  393. package/dist/{chunk-2BDPR4I3.js → chunk-PX54PALQ.js} +3 -3
  394. package/dist/{chunk-I74C4TM6.js → chunk-PZAOUZFZ.js} +4 -4
  395. package/dist/{chunk-TGSIVB6H.js → chunk-QE4OIE3Q.js} +1 -1
  396. package/dist/{chunk-HOP3J622.js → chunk-QF5UNP4T.js} +5 -2
  397. package/dist/{chunk-KY65C4XS.js → chunk-QOXLP5PE.js} +1 -1
  398. package/dist/{chunk-5DCY2QUY.js → chunk-R2YHKVWN.js} +4 -4
  399. package/dist/{chunk-P3QWT5VR.js → chunk-R45VM5EX.js} +2 -2
  400. package/dist/{chunk-LA4PX7Z6.js → chunk-RHL4OMQ3.js} +5 -5
  401. package/dist/{chunk-OIMWGV2N.js → chunk-RPX3WICJ.js} +1 -1
  402. package/dist/{chunk-YA3AWELW.js → chunk-RUBKDJAQ.js} +1 -1
  403. package/dist/{chunk-4MC2EEGO.js → chunk-S7WG53JB.js} +1 -1
  404. package/dist/{chunk-OU4FLGOZ.js → chunk-SBOUVASH.js} +7 -7
  405. package/dist/{chunk-4AA6WPQU.js → chunk-SRDNGGZE.js} +1 -1
  406. package/dist/{chunk-TUNEMQXF.js → chunk-SRSE7FGL.js} +2 -2
  407. package/dist/{chunk-5FTJNKNX.js → chunk-SUJO3AHN.js} +7 -5
  408. package/dist/{chunk-XQBLBJN4.js → chunk-SZFKGH2W.js} +1 -1
  409. package/dist/{chunk-PBR5C5MX.js → chunk-T2GC7UAP.js} +1 -1
  410. package/dist/{chunk-LODRX4FU.js → chunk-T73DMDU4.js} +2 -2
  411. package/dist/{chunk-2NNGOCWM.js → chunk-TWJERLT3.js} +4 -4
  412. package/dist/{chunk-XLJPLCK6.js → chunk-U7J52N67.js} +3 -3
  413. package/dist/{chunk-2XWFWNDT.js → chunk-UAUP6XGK.js} +1 -1
  414. package/dist/{chunk-4U2D6BPR.js → chunk-UEOEBOBR.js} +5 -3
  415. package/dist/{chunk-ZH77BXMA.js → chunk-UH44L7OJ.js} +1 -1
  416. package/dist/{chunk-XQZ6EWOE.js → chunk-VK45YJLH.js} +12 -3
  417. package/dist/{chunk-M5GPCENM.js → chunk-VRG2ZXNK.js} +2 -2
  418. package/dist/{chunk-SELUJSTZ.js → chunk-VTGIDEI5.js} +53 -16
  419. package/dist/{chunk-M6NQ4XGK.js → chunk-VUYNNILP.js} +1 -1
  420. package/dist/{chunk-46VE5TVS.js → chunk-VVOFJFRT.js} +2 -2
  421. package/dist/{chunk-F7VBYCW2.js → chunk-W6UVBBNH.js} +2 -2
  422. package/dist/{chunk-B53FUJ53.js → chunk-WCDPFTJZ.js} +2 -2
  423. package/dist/{chunk-KWTRRS7E.js → chunk-WDNURPXU.js} +2 -2
  424. package/dist/{chunk-JQ7IFSF6.js → chunk-WFCWPXJN.js} +1 -1
  425. package/dist/{chunk-NOSHT6FL.js → chunk-WQRSZMN4.js} +4 -4
  426. package/dist/{chunk-6Z4JZHRB.js → chunk-WU5JDEEY.js} +1 -1
  427. package/dist/{chunk-5UPWU6ZJ.js → chunk-WUQVAFTC.js} +21 -11
  428. package/dist/{chunk-B5ZHJWAZ.js → chunk-WWXIGN4O.js} +7 -7
  429. package/dist/{chunk-SG2375ZY.js → chunk-WXLQJUGO.js} +5 -5
  430. package/dist/{chunk-NM6RR2GA.js → chunk-XGBGEI6V.js} +10 -10
  431. package/dist/{chunk-YBI7M2JH.js → chunk-Y7PVLEZJ.js} +1 -1
  432. package/dist/{chunk-R5RCGD7N.js → chunk-YBC2CYPD.js} +4 -4
  433. package/dist/{chunk-JE4FCRVL.js → chunk-YBKZJBKM.js} +1 -1
  434. package/dist/{chunk-D2BYJNEH.js → chunk-YWVT7B6N.js} +2 -2
  435. package/dist/{chunk-66X5WDKE.js → chunk-Z2MZTI3H.js} +1 -1
  436. package/dist/{chunk-CT6I36FH.js → chunk-ZFN4IBVC.js} +2 -2
  437. package/dist/{chunk-U3ILLCR2.js → chunk-ZKIEOWR6.js} +5 -4
  438. package/dist/{chunk-PK2P2QH6.js → chunk-ZUBFVK6B.js} +1 -1
  439. package/dist/generated/index.js +157 -157
  440. package/dist/index.js +157 -157
  441. package/dist/styles.css +2838 -596
  442. package/package.json +3 -3
  443. package/dist/ArrangeList-NNRTDFI5.css +0 -94
  444. package/dist/AttachmentChip-XF4KPQ3G.css +0 -16
  445. package/dist/ConflictNote-DH77PYF7.css +0 -27
  446. package/dist/ListDetail-ALKU5VJW.css +0 -53
  447. package/dist/PresenceStack-FJJQVH74.css +0 -67
  448. package/dist/RelatedRow-2FVS6QQA.css +0 -6
@@ -1,18 +1,18 @@
1
- export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-SELUJSTZ.js';
1
+ export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-VTGIDEI5.js';
2
2
  import '../chunk-NR4CPM4T.js';
3
- import '../chunk-OOC7Q67K.js';
4
- import '../chunk-F7VBYCW2.js';
5
- import '../chunk-27JCHL64.js';
3
+ import '../chunk-25AZQ3GZ.js';
4
+ import '../chunk-W6UVBBNH.js';
5
+ import '../chunk-PVZOP3QK.js';
6
6
  import '../chunk-EGMQURBR.js';
7
7
  import '../chunk-WIATRXEJ.js';
8
- import '../chunk-5KRRJNQO.js';
9
- import '../chunk-LODRX4FU.js';
8
+ import '../chunk-MLDTLZAO.js';
9
+ import '../chunk-T73DMDU4.js';
10
10
  import '../chunk-7QTPJDRF.js';
11
11
  import '../chunk-OMV5W53A.js';
12
12
  import '../chunk-2YTOOH3A.js';
13
13
  import '../chunk-XSPCITPN.js';
14
14
  import '../chunk-H5XTJ7GJ.js';
15
- import '../chunk-2XWFWNDT.js';
15
+ import '../chunk-UAUP6XGK.js';
16
16
  import '../chunk-NUZHC6MM.js';
17
17
  import '../chunk-UT6CW3C7.js';
18
18
  import '../chunk-ODEQTPFM.js';
@@ -69,6 +69,13 @@
69
69
  border-inline-start: 1px solid var(--color-border-default);
70
70
  }
71
71
 
72
+ /* A group that starts a line of a wrapped bar draws none (MarkdownEditor.tsx
73
+ marks it), since there it would part the group from nothing. Only the ink
74
+ goes: the group keeps its width, so the bar breaks where it did. */
75
+ .crewlet-markdown-editor__group[data-wrapped] {
76
+ border-inline-start-color: transparent;
77
+ }
78
+
72
79
  .crewlet-markdown-editor__spacer {
73
80
  flex: 1;
74
81
  }
@@ -128,12 +135,15 @@
128
135
  color: var(--color-text-tertiary);
129
136
  }
130
137
 
138
+ /* The strip's words start on the source's text edge, the field's and the
139
+ preview's side inset, so the count reads as the foot of the text above it
140
+ rather than 4px out of line with it. */
131
141
  .crewlet-markdown-editor__footer {
132
142
  display: flex;
133
143
  flex-wrap: wrap;
134
144
  align-items: center;
135
145
  gap: var(--spacing-1) var(--spacing-3);
136
- padding: var(--spacing-1) var(--spacing-3);
146
+ padding: var(--spacing-1) var(--spacing-4);
137
147
  border-block-start: 1px solid var(--color-border-default);
138
148
  font-size: var(--font-size-xs);
139
149
  font-variant-numeric: tabular-nums;
@@ -1,9 +1,9 @@
1
- export { Menu } from '../chunk-LODRX4FU.js';
1
+ export { Menu } from '../chunk-T73DMDU4.js';
2
2
  import '../chunk-7QTPJDRF.js';
3
3
  import '../chunk-OMV5W53A.js';
4
4
  import '../chunk-XSPCITPN.js';
5
5
  import '../chunk-H5XTJ7GJ.js';
6
- import '../chunk-2XWFWNDT.js';
6
+ import '../chunk-UAUP6XGK.js';
7
7
  import '../chunk-NUZHC6MM.js';
8
8
  import '../chunk-UT6CW3C7.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -85,7 +85,7 @@
85
85
  * hold a row at its content. Once the menu is long enough to scroll, the
86
86
  * free space goes negative and the rows shrink to that floor first.
87
87
  *
88
- * A plain row survives it by accident — one nowrap line is 19.5px, under the
88
+ * A plain row survives it by accident: one nowrap line is 19.5px, under the
89
89
  * floor, so there is nothing to shrink. A `--described` row does not: it
90
90
  * adds `padding-block` and stacks a label over a wrapping description, which
91
91
  * is ~52px squeezed into 28px and drawn over the rows either side.
@@ -107,11 +107,29 @@
107
107
  /*
108
108
  * The rows that carry a second line, and only those. The row height alone
109
109
  * would hold a label and a description in the space meant for one line.
110
+ *
111
+ * THEIR MARKS SIT ON THE LABEL'S LINE, not across both lines. Centred on the
112
+ * pair, a glyph floated between the label and the description, 10px under the
113
+ * line it names and belonging to neither. So the row aligns to its top, the
114
+ * check and the glyph stand in a box one label line tall (`1lh`, measured in
115
+ * the row's own font), and a hint shares the label's baseline: the answer a
116
+ * dialog's head gives the mark beside a title with a subtitle (Modal.css).
110
117
  */
111
118
  .crewlet-menu__item--described {
119
+ align-items: flex-start;
112
120
  padding-block: var(--spacing-2);
113
121
  }
114
122
 
123
+ .crewlet-menu__item--described > .crewlet-menu__check,
124
+ .crewlet-menu__item--described > .crewlet-menu__icon {
125
+ height: 1lh;
126
+ }
127
+
128
+ .crewlet-menu__item--described > .crewlet-menu__text,
129
+ .crewlet-menu__item--described > .crewlet-menu__hint {
130
+ align-self: baseline;
131
+ }
132
+
115
133
  /* Neutral, because the accent means "where the reader is" and in a menu that
116
134
  is what focus already says. */
117
135
  .crewlet-menu__item:hover:not(.is-disabled) {
@@ -1,17 +1,17 @@
1
- export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-IJIC4COR.js';
2
- import '../chunk-OOC7Q67K.js';
3
- import '../chunk-F7VBYCW2.js';
4
- import '../chunk-27JCHL64.js';
1
+ export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-6MI2GMYG.js';
2
+ import '../chunk-25AZQ3GZ.js';
3
+ import '../chunk-W6UVBBNH.js';
4
+ import '../chunk-PVZOP3QK.js';
5
5
  import '../chunk-EGMQURBR.js';
6
6
  import '../chunk-WIATRXEJ.js';
7
- import '../chunk-5KRRJNQO.js';
8
- import '../chunk-LODRX4FU.js';
7
+ import '../chunk-MLDTLZAO.js';
8
+ import '../chunk-T73DMDU4.js';
9
9
  import '../chunk-7QTPJDRF.js';
10
10
  import '../chunk-OMV5W53A.js';
11
11
  import '../chunk-2YTOOH3A.js';
12
12
  import '../chunk-XSPCITPN.js';
13
13
  import '../chunk-H5XTJ7GJ.js';
14
- import '../chunk-2XWFWNDT.js';
14
+ import '../chunk-UAUP6XGK.js';
15
15
  import '../chunk-NUZHC6MM.js';
16
16
  import '../chunk-UT6CW3C7.js';
17
17
  import '../chunk-ODEQTPFM.js';
@@ -17,6 +17,13 @@
17
17
  color: var(--color-text-primary);
18
18
  }
19
19
 
20
+ /* Focus lands here when the block opens, and a heading is not a control, so
21
+ its ring is drawn a step off the words as a document's headings draw theirs
22
+ (Document.css) rather than at the 2px a control's ring keeps. */
23
+ .crewlet-merge-conflicts__title:focus-visible {
24
+ outline-offset: var(--spacing-1);
25
+ }
26
+
20
27
  .crewlet-merge-conflicts__note {
21
28
  margin: 0;
22
29
  font-size: var(--font-size-xs);
@@ -69,9 +76,13 @@
69
76
  white-space: pre-wrap;
70
77
  }
71
78
 
79
+ /* The foot settles every clash, so it stands as far from the last one as the
80
+ clashes stand from each other. At the block's own gap it sat 4px nearer,
81
+ and Apply read as the last clash's control. */
72
82
  .crewlet-merge-conflicts__foot {
73
83
  display: flex;
74
84
  flex-wrap: wrap;
75
85
  align-items: center;
76
86
  gap: var(--spacing-2);
87
+ margin-block-start: calc(var(--spacing-4) - var(--spacing-3));
77
88
  }
@@ -1,2 +1,2 @@
1
- export { MessageBubble } from '../chunk-C3FX7ZSU.js';
1
+ export { MessageBubble } from '../chunk-KAQ2L74F.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -20,9 +20,20 @@
20
20
  align-items: flex-start;
21
21
  }
22
22
 
23
+ /*
24
+ * EITHER SIDE IS THE SAME BOX. The reader's own bubble draws no edge, so its
25
+ * hairline is transparent rather than absent, and the inset is measured from
26
+ * the bubble's outside, the hairline included: a line from either side is as
27
+ * tall as the other and its words as far from the bubble's edge, where
28
+ * anybody else's stood 2px larger with its words a pixel further in. The
29
+ * reader's own keeps the box it always had, so none of its lines rewraps.
30
+ * Forced colours paints the transparent edge, which keeps the bubble's shape
31
+ * where its ground is taken away.
32
+ */
23
33
  .crewlet-message__bubble {
24
34
  max-width: 100%;
25
- padding: var(--spacing-2) var(--spacing-3);
35
+ padding: calc(var(--spacing-2) - 1px) calc(var(--spacing-3) - 1px);
36
+ border: 1px solid transparent;
26
37
  font-size: var(--font-size-compact);
27
38
  line-height: var(--font-line-height-normal);
28
39
  color: var(--color-text-primary);
@@ -38,7 +49,7 @@
38
49
 
39
50
  /* Anybody else's: the card ground inside a hairline, the tail at the start corner. */
40
51
  .crewlet-message--other .crewlet-message__bubble {
41
- border: 1px solid var(--color-border-default);
52
+ border-color: var(--color-border-default);
42
53
  border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs);
43
54
  background: var(--color-surface-subtle);
44
55
  }
@@ -1,10 +1,10 @@
1
- export { ConfirmModal, Modal } from '../chunk-KVWZDCTQ.js';
1
+ export { ConfirmModal, Modal } from '../chunk-I24FI46B.js';
2
2
  import '../chunk-PQADV6P6.js';
3
3
  import '../chunk-7QTPJDRF.js';
4
4
  import '../chunk-OMV5W53A.js';
5
5
  import '../chunk-XSPCITPN.js';
6
6
  import '../chunk-H5XTJ7GJ.js';
7
- import '../chunk-2XWFWNDT.js';
7
+ import '../chunk-UAUP6XGK.js';
8
8
  import '../chunk-NUZHC6MM.js';
9
9
  import '../chunk-UT6CW3C7.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -303,6 +303,16 @@
303
303
  * belonging to the pair rather than to the first line of it.
304
304
  */
305
305
  .crewlet-modal__header {
306
+ /*
307
+ * How far an icon button's glyph stands in from the edge of its square (the
308
+ * medium square draws its glyph at --font-size-sm, see IconButton.css). The
309
+ * step back and the close control are pulled out by exactly this, so their
310
+ * glyphs stand on the head's inline edges at every density. It relies on the
311
+ * head's own inline padding: a head narrowed below this inset plus the focus
312
+ * ring's 4px reach stands the control against the frame, which clips the ring.
313
+ */
314
+ --crewlet-modal-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);
315
+
306
316
  display: flex;
307
317
  align-items: center;
308
318
  gap: var(--spacing-3);
@@ -438,16 +448,23 @@
438
448
  color: var(--color-text-secondary);
439
449
  }
440
450
 
451
+ /*
452
+ * Pulled out on its inline end by the glyph's own inset, as the step back is
453
+ * on its start, so the X stands on the line the body's fields and the foot's
454
+ * last button end on. Pulled by a single 4px step, it stood 4px inside that
455
+ * line in every dialog and every sheet.
456
+ */
441
457
  .crewlet-modal__close {
442
458
  flex-shrink: 0;
443
459
  margin: calc(var(--spacing-1) * -1);
460
+ margin-inline-end: calc(var(--crewlet-modal-glyph-inset) * -1);
444
461
  }
445
462
 
446
463
  /* The step back leads the head, its glyph on the title's inline start, as
447
464
  the close control's sits on the head's end. */
448
465
  .crewlet-modal__back {
449
466
  flex-shrink: 0;
450
- margin-inline-start: calc(var(--spacing-2) * -1);
467
+ margin-inline-start: calc(var(--crewlet-modal-glyph-inset) * -1);
451
468
  margin-block: calc(var(--spacing-1) * -1);
452
469
  }
453
470
 
@@ -1,4 +1,4 @@
1
- export { FactLine, ObjectHeader, SetByLine } from '../chunk-4MC2EEGO.js';
2
- import '../chunk-HOP3J622.js';
1
+ export { FactLine, ObjectHeader, SetByLine } from '../chunk-S7WG53JB.js';
2
+ import '../chunk-QF5UNP4T.js';
3
3
  import '../chunk-UT6CW3C7.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,13 +1,13 @@
1
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-CT6I36FH.js';
1
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-ZFN4IBVC.js';
2
2
  import '../chunk-BAKPMH3S.js';
3
3
  import '../chunk-3LI4TRUR.js';
4
- import '../chunk-NLI7OVO2.js';
5
- import '../chunk-WW4E5EUS.js';
6
- import '../chunk-KYIAFNU7.js';
4
+ import '../chunk-M25IV5MH.js';
5
+ import '../chunk-G4234OIG.js';
6
+ import '../chunk-I5OIKDX2.js';
7
7
  import '../chunk-WIATRXEJ.js';
8
- import '../chunk-MKKX6N7C.js';
8
+ import '../chunk-7XKDPTZ5.js';
9
9
  import '../chunk-AV2DXAEL.js';
10
- import '../chunk-5KRRJNQO.js';
10
+ import '../chunk-MLDTLZAO.js';
11
11
  import '../chunk-PQADV6P6.js';
12
12
  import '../chunk-7QTPJDRF.js';
13
13
  import '../chunk-XSPCITPN.js';
@@ -1,4 +1,4 @@
1
1
  export { OrgLabel } from '../chunk-ONQKKHON.js';
2
- import '../chunk-5AQBPHZD.js';
2
+ import '../chunk-BKP6XCAJ.js';
3
3
  import '../chunk-PZKHBB7D.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,5 +1,5 @@
1
- export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-YA3AWELW.js';
1
+ export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-RUBKDJAQ.js';
2
2
  import '../chunk-ONQKKHON.js';
3
- import '../chunk-5AQBPHZD.js';
3
+ import '../chunk-BKP6XCAJ.js';
4
4
  import '../chunk-PZKHBB7D.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -43,6 +43,9 @@
43
43
  * the dash is what says a place is waiting rather than a frame round a value.
44
44
  */
45
45
  .crewlet-org-node-lead {
46
+ /* How far the pill stands inside the chart card's outer edge: the card's
47
+ hairline, then this strip's own padding. */
48
+ --crewlet-org-node-lead-inset: calc(1px + var(--spacing-1));
46
49
  position: relative;
47
50
  display: flex;
48
51
  align-items: center;
@@ -55,6 +58,11 @@
55
58
  * to this unit rather than as a second caption. RAISED, on the step a chip
56
59
  * with no boundary of its own takes (the palette suite holds it off the card
57
60
  * on both themes), so it is found by its ground rather than by a frame.
61
+ *
62
+ * ITS CORNER RUNS CONCENTRIC WITH THE CARD'S: the chart card's corner
63
+ * (`TreeCanvas.css`) less the inset the pill stands at, which is where its
64
+ * bottom corners sit. At the small radius step they bulged toward the card's
65
+ * corner, leaving the gap there narrower than the 5px along the card's sides.
58
66
  */
59
67
  .crewlet-org-node-lead__pill {
60
68
  display: flex;
@@ -70,7 +78,7 @@
70
78
  line-height: var(--font-line-height-tight);
71
79
  color: var(--color-text-secondary);
72
80
  background: var(--color-surface-elevated);
73
- border-radius: var(--radius-sm);
81
+ border-radius: calc(var(--radius-lg) - var(--crewlet-org-node-lead-inset));
74
82
  }
75
83
 
76
84
  /*
@@ -1,14 +1,14 @@
1
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-PGKETYGL.js';
2
- import '../chunk-Q4DNAO3O.js';
1
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-FWUX3F6Q.js';
2
+ import '../chunk-IL3XLDW7.js';
3
3
  import '../chunk-MY374UUD.js';
4
4
  import '../chunk-ONQKKHON.js';
5
5
  import '../chunk-LM3ISVJA.js';
6
- import '../chunk-5AQBPHZD.js';
6
+ import '../chunk-BKP6XCAJ.js';
7
7
  import '../chunk-PZKHBB7D.js';
8
- import '../chunk-QC2DEQCN.js';
8
+ import '../chunk-CVKANYHD.js';
9
9
  import '../chunk-OMV5W53A.js';
10
10
  import '../chunk-H5XTJ7GJ.js';
11
- import '../chunk-2XWFWNDT.js';
11
+ import '../chunk-UAUP6XGK.js';
12
12
  import '../chunk-NUZHC6MM.js';
13
13
  import '../chunk-UT6CW3C7.js';
14
14
  import '../chunk-ODEQTPFM.js';
@@ -1,3 +1,3 @@
1
- export { PageHeader } from '../chunk-DKB73KZI.js';
1
+ export { PageHeader } from '../chunk-FPDIHEM4.js';
2
2
  import '../chunk-PQADV6P6.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -10,9 +10,18 @@
10
10
  * leaves the content the largest thing on the page.
11
11
  */
12
12
 
13
+ /*
14
+ * THE ACTIONS STAND ON THE TITLE'S LINE, as ObjectHeader's do: aligned to the
15
+ * block's foot they sat 25.5px under the title's middle and 3px over the
16
+ * sentence's, level with neither. The actions take one title line's band and
17
+ * centre in it (below), so a sentence or a wrapped title under it moves
18
+ * nothing.
19
+ */
13
20
  .crewlet-page-header {
21
+ --crewlet-page-header-title-line: calc(var(--font-size-xl) * var(--font-line-height-normal));
22
+
14
23
  display: flex;
15
- align-items: flex-end;
24
+ align-items: flex-start;
16
25
  justify-content: space-between;
17
26
  gap: var(--spacing-3);
18
27
  flex-wrap: wrap;
@@ -93,4 +102,5 @@
93
102
  align-items: center;
94
103
  gap: var(--spacing-1);
95
104
  flex-wrap: wrap;
105
+ min-height: var(--crewlet-page-header-title-line);
96
106
  }
@@ -1,8 +1,8 @@
1
- export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-VBO2GYWX.js';
1
+ export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-CWYU7DNT.js';
2
2
  import '../chunk-PIYJNCN7.js';
3
3
  import '../chunk-7QTPJDRF.js';
4
4
  import '../chunk-2YTOOH3A.js';
5
5
  import '../chunk-XSPCITPN.js';
6
- import '../chunk-2XWFWNDT.js';
6
+ import '../chunk-UAUP6XGK.js';
7
7
  import '../chunk-UT6CW3C7.js';
8
8
  import '../chunk-ODEQTPFM.js';
@@ -1,12 +1,12 @@
1
- export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-EFIURN3U.js';
1
+ export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-OFABBAUR.js';
2
2
  import '../chunk-CENOOTAV.js';
3
3
  import '../chunk-Z7JYG5TF.js';
4
4
  import '../chunk-AYKXMIOR.js';
5
- import '../chunk-5AQBPHZD.js';
5
+ import '../chunk-BKP6XCAJ.js';
6
6
  import '../chunk-PZKHBB7D.js';
7
7
  import '../chunk-PQADV6P6.js';
8
8
  import '../chunk-7QTPJDRF.js';
9
9
  import '../chunk-XSPCITPN.js';
10
- import '../chunk-2XWFWNDT.js';
10
+ import '../chunk-UAUP6XGK.js';
11
11
  import '../chunk-UT6CW3C7.js';
12
12
  import '../chunk-ODEQTPFM.js';
@@ -26,6 +26,13 @@
26
26
  gap: var(--spacing-2);
27
27
  }
28
28
 
29
+ /* THE CLOSE GLYPH ENDS WHERE THE ROWS DO. Pulled out by the glyph's own inset
30
+ in its button, as a dialog's close is: by its box it stood 7px inside the
31
+ line the Follow buttons under it end on. */
32
+ .crewlet-people-rail__head > .crewlet-icon-btn {
33
+ margin-inline-end: calc((var(--size-control-sm) - var(--font-size-xs)) / -2);
34
+ }
35
+
29
36
  .crewlet-people-rail__title {
30
37
  margin: 0;
31
38
  color: var(--color-text-primary);
@@ -42,9 +49,12 @@
42
49
  list-style: none;
43
50
  }
44
51
 
52
+ /* THE BADGE AND THE CONTROLS SIT ON THE NAME'S LINE, never centred on the
53
+ row: when what a person is doing ran to a second line, the badge and Follow
54
+ stood 19.5px under the name they belong to, level with nothing. */
45
55
  .crewlet-people-rail__person {
46
56
  display: flex;
47
- align-items: center;
57
+ align-items: flex-start;
48
58
  gap: var(--spacing-2);
49
59
  min-width: 0;
50
60
  }
@@ -1,4 +1,4 @@
1
- export { PinTile } from '../chunk-GWPWLVN3.js';
2
- import '../chunk-2XWFWNDT.js';
1
+ export { PinTile } from '../chunk-LJ3KWQLP.js';
2
+ import '../chunk-UAUP6XGK.js';
3
3
  import '../chunk-UT6CW3C7.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -12,7 +12,7 @@
12
12
  gap: var(--spacing-3);
13
13
  min-width: 0;
14
14
  min-height: 56px;
15
- padding: var(--spacing-2) var(--spacing-2) var(--spacing-2) var(--spacing-3);
15
+ padding: var(--spacing-2) var(--spacing-3);
16
16
  border: 1px solid var(--color-border-default);
17
17
  border-radius: var(--radius-lg);
18
18
  background: var(--color-surface-elevated);
@@ -23,10 +23,21 @@
23
23
  border-color: var(--color-border-hover);
24
24
  background: var(--color-surface-hover);
25
25
  }
26
+ /*
27
+ * AN ICON BUTTON AT EITHER END TAKES THE SMALL STEP, so its glyph, inset by
28
+ * the button's own padding, stands about where the words stand at the other
29
+ * end. The end used to keep that step whether or not the unpin button was
30
+ * there: its glyph stood 15px in against the 12px of the glyph or name at the
31
+ * start, and a tile with no unpin button put its figure 8px from the edge.
32
+ */
26
33
  .crewlet-pin-tile:has(.crewlet-pin-tile__handle) {
27
34
  padding-inline-start: var(--spacing-1);
28
35
  }
29
36
 
37
+ .crewlet-pin-tile:has(> .crewlet-pin-tile__unpin) {
38
+ padding-inline-end: var(--spacing-1);
39
+ }
40
+
30
41
  .crewlet-pin-tile[data-reorder='dragging'] {
31
42
  border-style: dashed;
32
43
  border-color: var(--color-brand-accent);
@@ -1,2 +1,2 @@
1
- export { PresenceRing, presenceHueClass } from '../chunk-I6POAB4V.js';
1
+ export { PresenceRing, presenceHueClass } from '../chunk-EFX2YC5T.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -40,29 +40,39 @@
40
40
  * THE RING IS INSET and drawn on a pseudo element, so it never moves the
41
41
  * content, never doubles the element's own border and is never read. 2px,
42
42
  * the weight a selection ring is drawn at.
43
+ *
44
+ * IT IS THE PSEUDO ELEMENT'S OUTLINE, pulled inside by a negative offset,
45
+ * because an outline's curve shrinks with its offset and a border's does not.
46
+ * Drawn as a border on a box inset from the element, the ring took the
47
+ * element's own outer corner 2px inside it (4px at an inset of 3), so its
48
+ * corners stood further from the element's edge than its sides did: 1.8px
49
+ * against 1px round a hairline cell. Only the element's own hairline is left
50
+ * unaccounted for, since a stylesheet cannot read another box's border.
43
51
  */
44
52
  .crewlet-presence-ring {
45
53
  --crewlet-presence-ring-inset: 1px;
54
+ --crewlet-presence-ring-weight: 2px;
46
55
  position: relative;
47
56
  display: inline-block;
48
57
  }
49
58
 
50
59
  .crewlet-presence-ring::after {
51
60
  position: absolute;
52
- inset: var(--crewlet-presence-ring-inset);
61
+ inset: 0;
53
62
  z-index: var(--z-index-presence);
54
- border: 2px solid var(--crewlet-presence-hue);
55
63
  border-radius: inherit;
64
+ outline: var(--crewlet-presence-ring-weight) solid var(--crewlet-presence-hue);
65
+ outline-offset: calc((var(--crewlet-presence-ring-inset) + var(--crewlet-presence-ring-weight)) * -1);
56
66
  content: '';
57
67
  pointer-events: none;
58
68
  }
59
69
 
60
70
  .crewlet-presence-ring--idle::after {
61
- border-style: dashed;
71
+ outline-style: dashed;
62
72
  }
63
73
 
64
74
  @media (forced-colors: active) {
65
75
  .crewlet-presence-ring::after {
66
- border-color: Highlight;
76
+ outline-color: Highlight;
67
77
  }
68
78
  }
@@ -1,9 +1,9 @@
1
- export { PresenceStack } from '../chunk-FGRJXZUU.js';
1
+ export { PresenceStack } from '../chunk-EVXXY75R.js';
2
2
  import '../chunk-CENOOTAV.js';
3
- import '../chunk-I6POAB4V.js';
3
+ import '../chunk-EFX2YC5T.js';
4
4
  import '../chunk-Z7JYG5TF.js';
5
5
  import '../chunk-AYKXMIOR.js';
6
- import '../chunk-5AQBPHZD.js';
6
+ import '../chunk-BKP6XCAJ.js';
7
7
  import '../chunk-PZKHBB7D.js';
8
8
  import '../chunk-UT6CW3C7.js';
9
9
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,108 @@
1
+ /*
2
+ * Who is here (PresenceStack.tsx), on the avatar stack's own geometry: the
3
+ * overlap and the counted chip are the stack's, the overlap stepped out by
4
+ * the ring's reach. What this adds is the ring in each present collaborator's
5
+ * hue, outside the cut-out, and the idle fade.
6
+ */
7
+
8
+ /* HOW FAR THE RING REACHES past each badge: the cut-out, then the hue. The
9
+ ring is drawn outside the stack's own box, so a container that places the
10
+ stack flush to an edge (or clips) keeps this much clear round it. */
11
+ .crewlet-presence-stack {
12
+ --crewlet-presence-stack-cutout: 2px;
13
+ --crewlet-presence-stack-reach: calc(var(--crewlet-presence-stack-cutout) * 2);
14
+ }
15
+
16
+ /* The wrapper (a span, or a button when badges select) carries no edge of its
17
+ own: the cut-out and the hue ring are drawn on the badge inside it, which
18
+ has the badge's own outline to follow. */
19
+ .crewlet-presence-stack > .crewlet-presence-stack__member {
20
+ display: inline-flex;
21
+ flex: none;
22
+ padding: 0;
23
+ border: 0;
24
+ background: none;
25
+ box-shadow: none;
26
+ color: inherit;
27
+ font: inherit;
28
+ }
29
+
30
+ .crewlet-presence-stack > .crewlet-presence-stack__member--human {
31
+ border-radius: var(--radius-circle);
32
+ }
33
+
34
+ .crewlet-presence-stack > .crewlet-presence-stack__member--agent {
35
+ border-radius: var(--radius-sm);
36
+ }
37
+
38
+ button.crewlet-presence-stack__member {
39
+ cursor: pointer;
40
+ }
41
+
42
+ /* THE FOCUSED BADGE STANDS IN FRONT, so its focus ring is drawn whole: every
43
+ badge is drawn over the one before it, and the next one covered the far
44
+ side of the ring drawn round this one. */
45
+ button.crewlet-presence-stack__member:focus-visible {
46
+ position: relative;
47
+ z-index: var(--z-index-raised);
48
+ outline: 2px solid var(--color-focus);
49
+ outline-offset: var(--size-focus-ring-inset-offset);
50
+ }
51
+
52
+ .crewlet-presence-stack .crewlet-presence-stack__badge {
53
+ box-shadow: 0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground);
54
+ }
55
+
56
+ /*
57
+ * The hue ring sits outside the cut-out, so it reads as a ring round the
58
+ * badge rather than a stroke on it.
59
+ *
60
+ * AND IT IS CUT OUT OF THE BADGE BEHIND IT, by a second band of the ground
61
+ * outside the hue, as a plain badge is cut out of its neighbour by its own.
62
+ * Without it the next badge's ring was drawn straight across the face before
63
+ * it, through the initials, which is the blot the stack's cut-out is there to
64
+ * prevent.
65
+ */
66
+ .crewlet-presence-stack .crewlet-presence-stack__badge--present {
67
+ box-shadow:
68
+ 0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground),
69
+ 0 0 0 var(--crewlet-presence-stack-reach) var(--crewlet-presence-hue),
70
+ 0 0 0 calc(var(--crewlet-presence-stack-reach) + var(--crewlet-presence-stack-cutout))
71
+ var(--crewlet-avatar-stack-ground);
72
+ }
73
+
74
+ /*
75
+ * THE STEP GROWS BY THE RING'S REACH, so a badge hides as much of the one
76
+ * behind it as a plain stack's badge does: the stack's own 6px overlap and
77
+ * 2px cut-out (AvatarStack.css), 8px of a 26px face. At the plain stack's
78
+ * step a ringed badge hid 10px, and with its outer cut-out it would hide 12,
79
+ * which left "MO" an M. The stack's overlap stands and each member stands
80
+ * the next off by the reach, so the pitch is even whether a badge wears a
81
+ * ring, has gone idle or is the count, and the last member adds no room.
82
+ */
83
+ .crewlet-presence-stack > .crewlet-avatar-stack__member:has(+ .crewlet-avatar-stack__member) {
84
+ margin-inline-end: var(--crewlet-presence-stack-reach);
85
+ }
86
+
87
+ .crewlet-presence-stack .crewlet-presence-stack__badge--idle {
88
+ opacity: 0.5;
89
+ }
90
+
91
+ /*
92
+ * A FADED BADGE STILL HIDES THE ONE BEHIND IT. The fade is an opacity, which
93
+ * takes the badge's plate and cut-out with it, so the ring of the badge before
94
+ * an idle one showed through its face at half strength. Its wrapper lays the
95
+ * ground under it, the cut-out's width included, so the badge fades toward the
96
+ * ground the stack stands on, exactly as it does standing alone.
97
+ */
98
+ .crewlet-presence-stack > .crewlet-presence-stack__member:has(> .crewlet-presence-stack__badge--idle) {
99
+ background: var(--crewlet-avatar-stack-ground);
100
+ box-shadow: 0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground);
101
+ }
102
+
103
+ @media (forced-colors: active) {
104
+ .crewlet-presence-stack .crewlet-presence-stack__badge--present {
105
+ outline: 2px solid Highlight;
106
+ outline-offset: 2px;
107
+ }
108
+ }