@crewlethq/ui 0.32.0 → 0.34.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 (292) hide show
  1. package/README.md +149 -5
  2. package/dist/AccessDeniedCard/AccessDeniedCard.d.ts +5 -0
  3. package/dist/AccessDeniedCard/index.js +1 -5
  4. package/dist/AccessDeniedCard-QVNDMT46.css +8 -0
  5. package/dist/AppShell/index.js +4 -4
  6. package/dist/{AppShell-GCM4TDVY.css → AppShell-JTSEOA57.css} +3 -1
  7. package/dist/ArrangeGroup/ArrangeGroup.d.ts +16 -1
  8. package/dist/ArrangeGroup/index.d.ts +1 -1
  9. package/dist/ArrangeGroup/index.js +1 -1
  10. package/dist/{ArrangeGroup-GY5YMP6E.css → ArrangeGroup-KRWWOJKR.css} +43 -0
  11. package/dist/ArrangeList/index.js +2 -2
  12. package/dist/ArtifactBar/index.js +14 -12
  13. package/dist/{ArtifactBar-MLMJHWY6.css → ArtifactBar-C462VD4C.css} +8 -3
  14. package/dist/ArtifactCard/ArtifactCard.d.ts +64 -6
  15. package/dist/ArtifactCard/index.d.ts +2 -2
  16. package/dist/ArtifactCard/index.js +6 -4
  17. package/dist/ArtifactCard-XHRLAL7C.css +289 -0
  18. package/dist/ArtifactCover/index.js +8 -6
  19. package/dist/ArtifactIcon/index.js +7 -5
  20. package/dist/ArtifactKindIllustration/ArtifactKindIllustration.d.ts +53 -0
  21. package/dist/ArtifactKindIllustration/index.d.ts +3 -0
  22. package/dist/ArtifactKindIllustration/index.js +3 -0
  23. package/dist/ArtifactKindIllustration-4NG6IE3C.css +211 -0
  24. package/dist/ArtifactPanel/ArtifactPanel.d.ts +6 -2
  25. package/dist/ArtifactPanel/index.js +1 -1
  26. package/dist/{ArtifactPanel-YFXT5O77.css → ArtifactPanel-HW3SU7CP.css} +25 -7
  27. package/dist/Avatar/Avatar.d.ts +6 -4
  28. package/dist/Avatar/index.js +2 -2
  29. package/dist/AvatarPicker/index.js +8 -8
  30. package/dist/Callout/index.js +1 -1
  31. package/dist/{Callout-SXXK4B5R.css → Callout-ZAVG3P66.css} +46 -6
  32. package/dist/Canvas/Canvas.d.ts +33 -2
  33. package/dist/Canvas/index.d.ts +1 -1
  34. package/dist/Canvas/index.js +4 -4
  35. package/dist/{Canvas-LRVNW7XN.css → Canvas-VUG2HLZK.css} +23 -0
  36. package/dist/CanvasBoard/CanvasBoard.d.ts +38 -3
  37. package/dist/CanvasBoard/budget.d.ts +9 -3
  38. package/dist/CanvasBoard/index.d.ts +2 -2
  39. package/dist/CanvasBoard/index.js +7 -7
  40. package/dist/{CanvasBoard-MBZVBWDO.css → CanvasBoard-5NNSKY6A.css} +127 -6
  41. package/dist/CanvasToolbar/index.js +5 -5
  42. package/dist/{CanvasToolbar-AE5MXH7T.css → CanvasToolbar-EM5EVZED.css} +4 -2
  43. package/dist/ChangeMark/index.js +4 -4
  44. package/dist/CharacterPicker/index.js +2 -2
  45. package/dist/Charts/ActivityStrip.d.ts +16 -1
  46. package/dist/Charts/BarList.d.ts +6 -0
  47. package/dist/Charts/ChartEmpty.d.ts +33 -0
  48. package/dist/Charts/Legend.d.ts +6 -0
  49. package/dist/Charts/StackedBar.d.ts +4 -1
  50. package/dist/Charts/StackedColumns.d.ts +14 -3
  51. package/dist/Charts/TimeSeries.d.ts +11 -1
  52. package/dist/Charts/index.d.ts +2 -0
  53. package/dist/Charts/index.js +1 -1
  54. package/dist/{Charts-RY4JN5FC.css → Charts-MBJG72BS.css} +140 -16
  55. package/dist/Checkbox/index.js +1 -1
  56. package/dist/{Checkbox-5UORUG3F.css → Checkbox-ALWG3WV2.css} +11 -0
  57. package/dist/CommandPalette/index.js +3 -3
  58. package/dist/{CommandPalette-HBTNKHZQ.css → CommandPalette-7CFGVBND.css} +4 -0
  59. package/dist/CommentThread/index.js +5 -5
  60. package/dist/Container/index.js +1 -1
  61. package/dist/{Container-3TSKMGNI.css → Container-34BAKG7B.css} +3 -1
  62. package/dist/{DashboardCover-RMINBODB.css → DashboardCover-KYGYMRKW.css} +42 -9
  63. package/dist/DataTable/index.js +5 -5
  64. package/dist/{DataTable-WZK3V62B.css → DataTable-NL2YWAIA.css} +4 -1
  65. package/dist/DataView/index.js +8 -8
  66. package/dist/DateTimePicker/index.js +3 -3
  67. package/dist/DocTabsEditor/DocTabsEditor.d.ts +34 -21
  68. package/dist/DocTabsEditor/index.js +4 -1
  69. package/dist/DocTabsEditor-4M452LNS.css +189 -0
  70. package/dist/Document/Document.d.ts +18 -1
  71. package/dist/Document/index.d.ts +2 -2
  72. package/dist/Document/index.js +1 -1
  73. package/dist/{Document-G3YTZIUL.css → Document-JUGCSQ4L.css} +78 -5
  74. package/dist/EditingStatus/index.js +1 -1
  75. package/dist/{EditingStatus-L6THUAN7.css → EditingStatus-NNA2CKIL.css} +17 -4
  76. package/dist/{Editor-YWBUJAQU.js → Editor-UUZ7XKCU.js} +5 -5
  77. package/dist/EntityChip/index.js +3 -3
  78. package/dist/FactList/index.js +3 -3
  79. package/dist/FollowBanner/index.js +3 -3
  80. package/dist/Fullscreen/index.d.ts +1 -0
  81. package/dist/Fullscreen/index.js +1 -1
  82. package/dist/Fullscreen/useIdle.d.ts +16 -0
  83. package/dist/HuePicker/index.js +3 -3
  84. package/dist/ImageUpload/index.js +3 -3
  85. package/dist/Layer/index.d.ts +1 -1
  86. package/dist/Layer/index.js +1 -1
  87. package/dist/Layer/place.d.ts +18 -0
  88. package/dist/LayersList/LayersList.d.ts +57 -0
  89. package/dist/LayersList/index.d.ts +3 -0
  90. package/dist/LayersList/index.js +3 -0
  91. package/dist/LayersList-NQZEIPZB.css +82 -0
  92. package/dist/LinkInterstitial/index.js +4 -4
  93. package/dist/ListInput/index.js +1 -1
  94. package/dist/LivePreview/LivePreview.d.ts +83 -0
  95. package/dist/LivePreview/budget.d.ts +50 -0
  96. package/dist/LivePreview/index.d.ts +5 -0
  97. package/dist/LivePreview/index.js +2 -0
  98. package/dist/LivePreview-SRO7KHO4.css +65 -0
  99. package/dist/Markdown/index.js +1 -1
  100. package/dist/MarkdownEditor/index.js +5 -5
  101. package/dist/MediaMatch/index.d.ts +1 -0
  102. package/dist/MediaMatch/index.js +1 -0
  103. package/dist/MediaMatch/useMediaMatch.d.ts +19 -0
  104. package/dist/Menu/index.js +2 -2
  105. package/dist/MergeConflicts/index.js +4 -4
  106. package/dist/Modal/index.js +2 -2
  107. package/dist/{Modal-XOSV6FAH.css → Modal-7MWRCWAI.css} +30 -0
  108. package/dist/Note/index.js +1 -1
  109. package/dist/{Note-ONSKKTOA.css → Note-WI5MLZOO.css} +13 -0
  110. package/dist/OrgLabel/index.js +3 -3
  111. package/dist/OrgNode/index.js +4 -4
  112. package/dist/OrgTable/index.js +7 -7
  113. package/dist/PeopleRail/index.js +3 -3
  114. package/dist/Popover/index.js +2 -2
  115. package/dist/PresenceStack/index.js +3 -3
  116. package/dist/{PresenceStack-QSXQJND5.css → PresenceStack-FJJQVH74.css} +11 -3
  117. package/dist/PresenterView/PresenterView.d.ts +3 -0
  118. package/dist/PresenterView/index.js +5 -3
  119. package/dist/PresenterView-T3EXIQ5S.css +147 -0
  120. package/dist/Principal/index.js +3 -3
  121. package/dist/PrincipalPicker/index.js +4 -4
  122. package/dist/RichEditor/index.js +5 -5
  123. package/dist/RichEditor/schema.d.ts +1 -1
  124. package/dist/RichEditorMarkdown/index.js +3 -3
  125. package/dist/SandboxedFrame/SandboxedFrame.d.ts +44 -2
  126. package/dist/SandboxedFrame/index.d.ts +2 -2
  127. package/dist/SandboxedFrame/index.js +3 -3
  128. package/dist/SandboxedFrame-P5NASXB7.css +72 -0
  129. package/dist/Section/index.js +1 -1
  130. package/dist/{Section-QR3ILQVK.css → Section-O5AHGSOG.css} +28 -5
  131. package/dist/SegmentedControl/index.js +3 -3
  132. package/dist/Select/Select.d.ts +10 -0
  133. package/dist/Select/index.d.ts +1 -1
  134. package/dist/Select/index.js +2 -2
  135. package/dist/{Select-2P7AWUE4.css → Select-A54YS5EP.css} +29 -0
  136. package/dist/ShareDialog/ShareDialog.d.ts +10 -0
  137. package/dist/ShareDialog/index.js +9 -9
  138. package/dist/{ShareDialog-YZ4F37MW.css → ShareDialog-4QDCBWMH.css} +12 -0
  139. package/dist/SheetGrid/SheetGrid.d.ts +7 -3
  140. package/dist/SheetGrid/index.js +8 -8
  141. package/dist/{SheetGrid-J3TKKXZL.css → SheetGrid-GDPCCZ4V.css} +154 -14
  142. package/dist/SheetModel/fit.d.ts +34 -0
  143. package/dist/SheetModel/index.d.ts +1 -0
  144. package/dist/SheetModel/index.js +1 -1
  145. package/dist/SheetModel/labels.d.ts +1 -1
  146. package/dist/Shortcut/index.js +1 -1
  147. package/dist/Skeleton/Skeleton.d.ts +2 -1
  148. package/dist/Skeleton/index.js +1 -1
  149. package/dist/SlideCompare/SlideCompare.d.ts +6 -1
  150. package/dist/SlideCompare/index.js +3 -3
  151. package/dist/{SlideCompare-MGM3U2ME.css → SlideCompare-HTCMPQFY.css} +36 -3
  152. package/dist/SlideFilmstrip/SlideFilmstrip.d.ts +14 -3
  153. package/dist/SlideFilmstrip/index.js +3 -3
  154. package/dist/{SlideFilmstrip-BCLNAHFX.css → SlideFilmstrip-5U6Z55GS.css} +63 -2
  155. package/dist/SlideGrid/index.js +3 -3
  156. package/dist/{SlideGrid-RT6QEQEE.css → SlideGrid-S4LTJ4UU.css} +9 -5
  157. package/dist/SlideNav/SlideNav.d.ts +49 -0
  158. package/dist/SlideNav/index.d.ts +3 -0
  159. package/dist/SlideNav/index.js +4 -0
  160. package/dist/SlideNav-BLFJF6AH.css +53 -0
  161. package/dist/SlideStage/SlideStage.d.ts +9 -1
  162. package/dist/SlideStage/index.js +2 -2
  163. package/dist/{SlideStage-KGRRALXR.css → SlideStage-S2FISF4C.css} +23 -0
  164. package/dist/StatCard/StatCard.d.ts +16 -1
  165. package/dist/StatCard/index.js +1 -1
  166. package/dist/{StatCard-KPAFD4E2.css → StatCard-4T7TMWMN.css} +40 -13
  167. package/dist/Switcher/index.js +6 -6
  168. package/dist/TableCells/index.js +3 -3
  169. package/dist/Tabs/Tabs.d.ts +21 -4
  170. package/dist/Tabs/index.js +1 -1
  171. package/dist/{Tabs-CJGO35BH.css → Tabs-MMZXV5EF.css} +9 -8
  172. package/dist/TagsInput/index.js +1 -1
  173. package/dist/ThemeSwitcher/index.js +4 -4
  174. package/dist/TimeWindowPicker/index.js +4 -4
  175. package/dist/Toaster/index.js +2 -2
  176. package/dist/{Toaster-EOOOTSJT.css → Toaster-C6BQ7L6I.css} +10 -1
  177. package/dist/Toolbar/index.js +1 -1
  178. package/dist/Tooltip/Tooltip.d.ts +12 -1
  179. package/dist/Tooltip/index.d.ts +1 -1
  180. package/dist/Tooltip/index.js +2 -2
  181. package/dist/TreeCanvas/index.js +5 -5
  182. package/dist/TreeGrid/index.js +3 -3
  183. package/dist/VersionCompare/index.js +4 -4
  184. package/dist/VersionTimeline/index.js +4 -4
  185. package/dist/WidgetFrame/WidgetFrame.d.ts +8 -1
  186. package/dist/WidgetFrame/index.js +2 -2
  187. package/dist/{WidgetFrame-LRZIL62O.css → WidgetFrame-BTFW3CRK.css} +49 -5
  188. package/dist/{chunk-WJDQ7XQA.js → chunk-2QEDJSJC.js} +1 -1
  189. package/dist/{chunk-VYDFB6PJ.js → chunk-356JNSER.js} +50 -17
  190. package/dist/{chunk-2HIOJ4YZ.js → chunk-3EB2AV3H.js} +2 -3
  191. package/dist/{chunk-ODT5H4MN.js → chunk-3LYWD3BO.js} +2 -2
  192. package/dist/{chunk-OTN35CI4.js → chunk-3P4Y5RX6.js} +18 -6
  193. package/dist/{chunk-FAQGGX2Z.js → chunk-3TFDQLW3.js} +1 -1
  194. package/dist/{chunk-E6EWK5YY.js → chunk-3Y56GQPM.js} +3 -3
  195. package/dist/{chunk-A4E5YLXO.js → chunk-4B6LSFDS.js} +1 -1
  196. package/dist/{chunk-UAN5NE7M.js → chunk-5AQBPHZD.js} +1 -1
  197. package/dist/{chunk-CJKMURZO.js → chunk-5SZGKSGL.js} +1 -1
  198. package/dist/chunk-6VOS2GMB.js +54 -0
  199. package/dist/{chunk-QWOPX2MN.js → chunk-6ZJ3N7QI.js} +7 -5
  200. package/dist/{chunk-3ZAFJ4GK.js → chunk-7Q7WDXHG.js} +4 -4
  201. package/dist/{chunk-QH3AKP2N.js → chunk-AC22RZKC.js} +2 -2
  202. package/dist/{chunk-UZ6MA2V6.js → chunk-AORVEG5V.js} +2 -2
  203. package/dist/{chunk-ZITJKF6Z.js → chunk-AYB6AYNH.js} +1 -1
  204. package/dist/{chunk-FC4YTTFJ.js → chunk-BQ7AKL2N.js} +5 -5
  205. package/dist/{chunk-Y5NQ2LMS.js → chunk-BY4N65PM.js} +1 -1
  206. package/dist/{chunk-YFW4MTK4.js → chunk-C7DKX453.js} +1 -1
  207. package/dist/{chunk-RCQXUT5K.js → chunk-CCAXYHQS.js} +1 -1
  208. package/dist/{chunk-JQLTG4KH.js → chunk-CCLNGVCM.js} +62 -51
  209. package/dist/{chunk-6AH2XJ3Q.js → chunk-CFAJP777.js} +3 -3
  210. package/dist/{chunk-4KP4RC3O.js → chunk-CI3VPIJN.js} +1 -1
  211. package/dist/{chunk-7T42VQQT.js → chunk-CPEPST4S.js} +1 -1
  212. package/dist/{chunk-AAOH2P6Y.js → chunk-DFK5EQTU.js} +5 -3
  213. package/dist/{chunk-V5IGUXMZ.js → chunk-E4NNGC6X.js} +4 -4
  214. package/dist/{chunk-TGYDROIB.js → chunk-EBCHVFCS.js} +4 -4
  215. package/dist/{chunk-LWXRD6L6.js → chunk-EWAFN2IU.js} +118 -27
  216. package/dist/{chunk-YDBC4DNW.js → chunk-FWYHRU7M.js} +1 -1
  217. package/dist/{chunk-HVNTQ36V.js → chunk-GMU6SQ6B.js} +4 -4
  218. package/dist/{chunk-LIXSV5YI.js → chunk-GPHWCK7M.js} +1 -1
  219. package/dist/{chunk-UQHKFF2N.js → chunk-GPWJCP3U.js} +1 -1
  220. package/dist/{chunk-77DRMDXR.js → chunk-HG5VF3TZ.js} +192 -67
  221. package/dist/{chunk-QVE4GJAT.js → chunk-HJO4WCH6.js} +1 -1
  222. package/dist/{chunk-JI5AVQLA.js → chunk-HOIZ6MIS.js} +1 -1
  223. package/dist/{chunk-I3BSQUKN.js → chunk-HUVG2FFT.js} +1 -1
  224. package/dist/{chunk-VS3KOOOL.js → chunk-ILAEBSLJ.js} +3 -3
  225. package/dist/{chunk-P4BOXB6E.js → chunk-IUD5VA2Z.js} +6 -7
  226. package/dist/{chunk-GR55WT4R.js → chunk-IYO2N5ZH.js} +2 -2
  227. package/dist/{chunk-RWA4H2TV.js → chunk-J6ON5SYE.js} +1 -1
  228. package/dist/{chunk-AMNN4WDX.js → chunk-JBUMD6DS.js} +2 -2
  229. package/dist/{chunk-BWRGFKJP.js → chunk-K3IJQNB7.js} +2 -3
  230. package/dist/{chunk-LFNUH4GY.js → chunk-K4VP6ZKE.js} +1 -1
  231. package/dist/{chunk-ZR5VN5IV.js → chunk-KD2IRYCT.js} +2 -2
  232. package/dist/chunk-KF6YGL4B.js +160 -0
  233. package/dist/{chunk-SKOYC2CF.js → chunk-KK5OYNAF.js} +2 -1
  234. package/dist/{chunk-UB7TJEKZ.js → chunk-KV3ODJXH.js} +6 -7
  235. package/dist/chunk-LL5AFXU7.js +96 -0
  236. package/dist/{chunk-VYOKRN2I.js → chunk-LM3ISVJA.js} +1 -1
  237. package/dist/{chunk-E6CR5PEV.js → chunk-LV4APO72.js} +8 -2
  238. package/dist/{chunk-B4EBHPK3.js → chunk-M5KZX5JE.js} +9 -2
  239. package/dist/{chunk-HMPFGIWM.js → chunk-OMV5W53A.js} +10 -1
  240. package/dist/chunk-ONL54WMH.js +55 -0
  241. package/dist/{chunk-AKEZ3G5V.js → chunk-ONQKKHON.js} +1 -1
  242. package/dist/{chunk-LZHLSQYK.js → chunk-OOWPSBIS.js} +2 -2
  243. package/dist/{chunk-4KWOKX2B.js → chunk-OSKJZNBT.js} +1 -1
  244. package/dist/{chunk-4JUKWWUD.js → chunk-PLDUNXAO.js} +1 -1
  245. package/dist/{chunk-EHQTPVV4.js → chunk-PLTCDSTU.js} +1 -1
  246. package/dist/{chunk-5OM447RW.js → chunk-PZKHBB7D.js} +1 -1
  247. package/dist/{chunk-VEB5ERRE.js → chunk-QWNVSR6G.js} +2 -2
  248. package/dist/{chunk-IG75YMUN.js → chunk-RTPQDNW3.js} +1 -1
  249. package/dist/{chunk-YEKYVJQR.js → chunk-SGHIAGPR.js} +2 -2
  250. package/dist/{chunk-SVSCLHHI.js → chunk-SZZRIHGT.js} +1 -1
  251. package/dist/{chunk-EBNI36UQ.js → chunk-T46NR3WP.js} +3 -3
  252. package/dist/{chunk-FPS3JIPQ.js → chunk-TC7DJTXI.js} +1 -1
  253. package/dist/{chunk-W5J7R5EB.js → chunk-TEUQWOWZ.js} +1 -1
  254. package/dist/chunk-THROPJZC.js +115 -0
  255. package/dist/{chunk-IDBHX5SR.js → chunk-TRQCHF2F.js} +1 -1
  256. package/dist/{chunk-M3LUNN7F.js → chunk-TYKQ33CL.js} +13 -2
  257. package/dist/chunk-UDQW6UK7.js +129 -0
  258. package/dist/{chunk-WTNUVQVI.js → chunk-UHJQDFKQ.js} +1 -1
  259. package/dist/{chunk-VVRL27HM.js → chunk-ULPL26BU.js} +2 -2
  260. package/dist/{chunk-EBJREOKS.js → chunk-UXXJDIYE.js} +4 -4
  261. package/dist/{chunk-5LUI3WQP.js → chunk-V43UVX4H.js} +1 -1
  262. package/dist/{chunk-W4XYY73O.js → chunk-VHZ3AXJD.js} +1 -1
  263. package/dist/{chunk-NHBP2XS5.js → chunk-VI5FWDZW.js} +51 -3
  264. package/dist/{chunk-HJEVSQN6.js → chunk-VL6CUNSX.js} +11 -5
  265. package/dist/{chunk-XDTYBF2F.js → chunk-W5XCNEZC.js} +39 -1
  266. package/dist/{chunk-LDJ3J4TQ.js → chunk-WGD2HX2A.js} +1 -1
  267. package/dist/{chunk-FQCLKD7U.js → chunk-WKEPORNM.js} +1 -1
  268. package/dist/{chunk-PJD2KFHX.js → chunk-WPX6A5BV.js} +38 -13
  269. package/dist/{chunk-I3KKZ2O3.js → chunk-XEGZHHRH.js} +45 -36
  270. package/dist/{chunk-IKB6HFGK.js → chunk-XO7PUL4F.js} +6 -4
  271. package/dist/chunk-XTOVADJU.js +170 -0
  272. package/dist/chunk-XV32RKQZ.js +142 -0
  273. package/dist/{chunk-TBMDMXEX.js → chunk-YA3AWELW.js} +1 -1
  274. package/dist/{chunk-HVIX5ECM.js → chunk-YEVG2X5R.js} +1 -1
  275. package/dist/chunk-YZFLH463.js +215 -0
  276. package/dist/generated/index.d.ts +5 -0
  277. package/dist/generated/index.js +112 -108
  278. package/dist/index.js +112 -108
  279. package/dist/styles.css +1982 -228
  280. package/package.json +3 -3
  281. package/dist/AccessDeniedCard-WXM5DBDZ.css +0 -8
  282. package/dist/ArtifactCard-EXVAEBV6.css +0 -109
  283. package/dist/DocTabsEditor-RCOWHX5J.css +0 -78
  284. package/dist/PresenterView-T2C6ZZ3N.css +0 -103
  285. package/dist/SandboxedFrame-L6HBQZCD.css +0 -50
  286. package/dist/chunk-CRKFL423.js +0 -74
  287. package/dist/chunk-GOSQXEZU.js +0 -102
  288. package/dist/chunk-MBNFJSZS.js +0 -107
  289. package/dist/chunk-RV7SZAHR.js +0 -105
  290. package/dist/chunk-UZ7ZUSLH.js +0 -179
  291. package/dist/utils/useMediaMatch.d.ts +0 -12
  292. /package/dist/{chunk-TF2P3OPS.js → chunk-YCARLYI6.js} +0 -0
@@ -0,0 +1,289 @@
1
+ /*
2
+ * A card in a gallery: the preview on top at a fixed ratio, so a grid of them
3
+ * lines up whatever each preview is, the kind's badge over its foot, then the
4
+ * title and one quiet line. `compact` is a row with the kind's glyph in place
5
+ * of the preview, drawn on Card.
6
+ */
7
+
8
+ /*
9
+ * ON TOP OF CARD, so every rule that changes Card's own layout carries Card's
10
+ * class too. The two sheets meet at equal weight and the bundle orders them
11
+ * by file name, which puts this one first: `.crewlet-card` and
12
+ * `.crewlet-card--p-none` then won, and the compact row was drawn as a
13
+ * padless column with its glyph on a line of its own.
14
+ */
15
+ .crewlet-card.crewlet-artifact-card {
16
+ display: flex;
17
+ flex-direction: column;
18
+ min-width: 0;
19
+ overflow: hidden;
20
+ color: inherit;
21
+ text-decoration: none;
22
+ }
23
+
24
+ .crewlet-card.crewlet-artifact-card--compact {
25
+ flex-direction: row;
26
+ align-items: flex-start;
27
+ gap: var(--spacing-3);
28
+ padding: var(--spacing-3);
29
+ }
30
+
31
+ .crewlet-artifact-card__glyph {
32
+ display: inline-flex;
33
+ color: var(--color-text-tertiary);
34
+ }
35
+
36
+ .crewlet-artifact-card__glyph--compact {
37
+ flex: none;
38
+ align-items: center;
39
+ justify-content: center;
40
+ width: var(--size-control-md);
41
+ height: var(--size-control-md);
42
+ border-radius: var(--radius-md);
43
+ background: var(--color-surface-inset);
44
+ }
45
+
46
+ .crewlet-artifact-card__body {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: var(--spacing-1);
50
+ min-width: 0;
51
+ padding: var(--spacing-3);
52
+ }
53
+
54
+ .crewlet-artifact-card--compact .crewlet-artifact-card__body {
55
+ padding: 0;
56
+ }
57
+
58
+ .crewlet-artifact-card__title-row {
59
+ display: flex;
60
+ align-items: center;
61
+ gap: var(--spacing-1);
62
+ min-width: 0;
63
+ }
64
+
65
+ .crewlet-artifact-card__title {
66
+ overflow: hidden;
67
+ color: var(--color-text-primary);
68
+ font-weight: var(--font-weight-semibold);
69
+ text-overflow: ellipsis;
70
+ white-space: nowrap;
71
+ }
72
+
73
+ .crewlet-artifact-card__pin {
74
+ display: inline-flex;
75
+ flex: none;
76
+ color: var(--color-text-tertiary);
77
+ }
78
+
79
+ .crewlet-artifact-card__facts {
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: var(--spacing-1);
83
+ color: var(--color-text-tertiary);
84
+ font-size: var(--font-size-xs);
85
+ }
86
+
87
+ .crewlet-artifact-card__line {
88
+ display: flex;
89
+ flex-wrap: wrap;
90
+ align-items: center;
91
+ gap: var(--spacing-1) var(--spacing-2);
92
+ min-width: 0;
93
+ }
94
+
95
+ /* THE FACTS OF ONE LINE ARE A RUN, "Sheet · OPS · v12", each after the first
96
+ opened by a quiet dot, so two short words never read as one phrase. */
97
+ .crewlet-artifact-card__line > * + *::before {
98
+ content: '·';
99
+ margin-inline-end: var(--spacing-2);
100
+ color: var(--color-text-tertiary);
101
+ }
102
+
103
+ .crewlet-artifact-card__owner,
104
+ .crewlet-artifact-card__presence {
105
+ display: inline-flex;
106
+ align-items: center;
107
+ gap: var(--spacing-1);
108
+ min-width: 0;
109
+ }
110
+
111
+ .crewlet-artifact-card__changes {
112
+ color: var(--color-text-secondary);
113
+ font-weight: var(--font-weight-medium);
114
+ }
115
+
116
+ /* ---- the gallery card ---- */
117
+
118
+ /*
119
+ * A SOFT PANE WITH A GENEROUS CORNER. The card is the card rung with its
120
+ * hairline, rounded a step past a plain card's because the preview inside it
121
+ * is a picture, and a picture in a tight corner reads as a screenshot pasted
122
+ * into a box. Hover lifts the edge and the shadow, never the colour.
123
+ */
124
+ .crewlet-artifact-card--card {
125
+ position: relative;
126
+ display: flex;
127
+ flex-direction: column;
128
+ min-width: 0;
129
+ border: 1px solid var(--color-border-default);
130
+ border-radius: var(--radius-xl);
131
+ background: var(--color-surface-subtle);
132
+ transition:
133
+ border-color var(--motion-duration-base) var(--motion-easing-out),
134
+ box-shadow var(--motion-duration-base) var(--motion-easing-out),
135
+ transform var(--motion-duration-base) var(--motion-easing-out);
136
+ }
137
+
138
+ .crewlet-artifact-card--card:hover {
139
+ border-color: var(--color-border-hover);
140
+ box-shadow: var(--shadow-card);
141
+ transform: translateY(-1px);
142
+ }
143
+
144
+ .crewlet-artifact-card--card:has(.crewlet-artifact-card__link:focus-visible) {
145
+ outline: 2px solid var(--color-focus);
146
+ outline-offset: var(--size-focus-ring-inset-offset);
147
+ }
148
+
149
+ .crewlet-artifact-card__link {
150
+ display: flex;
151
+ flex-direction: column;
152
+ min-width: 0;
153
+ border-radius: inherit;
154
+ color: inherit;
155
+ text-decoration: none;
156
+ outline: none;
157
+ }
158
+
159
+ .crewlet-artifact-card__preview {
160
+ position: relative;
161
+ display: flex;
162
+ aspect-ratio: 16 / 9;
163
+ overflow: hidden;
164
+ border-bottom: 1px solid var(--color-border-default);
165
+ border-radius: var(--radius-xl) var(--radius-xl) 0 0;
166
+ background: var(--color-surface-inset);
167
+ }
168
+
169
+ .crewlet-artifact-card__preview > * {
170
+ flex: 1 1 auto;
171
+ min-width: 0;
172
+ }
173
+
174
+ .crewlet-artifact-card--trashed .crewlet-artifact-card__preview > * {
175
+ opacity: 0.5;
176
+ filter: grayscale(1);
177
+ }
178
+
179
+ .crewlet-artifact-card--card .crewlet-artifact-card__body {
180
+ gap: var(--spacing-1);
181
+ padding: 0 var(--spacing-5) var(--spacing-5);
182
+ }
183
+
184
+ /*
185
+ * THE KIND'S BADGE STANDS ON THE PREVIEW'S FOOT, half over the picture and
186
+ * half over the card, the glyph in the kind's ink: what the artifact is, read
187
+ * before its title, in the one place every card has it.
188
+ */
189
+ .crewlet-artifact-card__badge {
190
+ position: relative;
191
+ display: inline-flex;
192
+ flex: none;
193
+ align-items: center;
194
+ justify-content: center;
195
+ align-self: flex-start;
196
+ width: 40px;
197
+ height: 40px;
198
+ margin-top: -22px;
199
+ margin-bottom: var(--spacing-2);
200
+ border: 1px solid var(--color-border-default);
201
+ border-radius: var(--radius-lg);
202
+ background: var(--color-surface-background);
203
+ box-shadow: var(--shadow-sm);
204
+ color: var(--crewlet-kind-ink, var(--color-text-secondary));
205
+ }
206
+
207
+ .crewlet-artifact-card--card .crewlet-artifact-card__title {
208
+ font-size: var(--font-size-lg);
209
+ font-weight: var(--font-weight-medium);
210
+ line-height: 1.35;
211
+ }
212
+
213
+ .crewlet-artifact-card--card .crewlet-artifact-card__facts {
214
+ font-size: var(--font-size-sm);
215
+ }
216
+
217
+ .crewlet-artifact-card__meta {
218
+ flex-wrap: nowrap;
219
+ white-space: nowrap;
220
+ }
221
+
222
+ .crewlet-artifact-card__access {
223
+ display: inline-flex;
224
+ flex: none;
225
+ align-items: center;
226
+ }
227
+
228
+ .crewlet-artifact-card__meta > .crewlet-artifact-card__owner {
229
+ flex: 0 1 auto;
230
+ overflow: hidden;
231
+ }
232
+
233
+ .crewlet-artifact-card__owner-name {
234
+ overflow: hidden;
235
+ text-overflow: ellipsis;
236
+ }
237
+
238
+ .crewlet-artifact-card__meta > :last-child {
239
+ flex: none;
240
+ }
241
+
242
+ /*
243
+ * THE CARD'S OWN CONTROLS, over the preview's top corner and outside the
244
+ * link: hidden until the card is hovered or holds focus, so a gallery rests
245
+ * as pictures, and always there on a screen with no hover.
246
+ */
247
+ .crewlet-artifact-card__actions {
248
+ position: absolute;
249
+ top: var(--spacing-3);
250
+ right: var(--spacing-3);
251
+ display: inline-flex;
252
+ gap: var(--spacing-1);
253
+ border-radius: var(--radius-md);
254
+ background: var(--color-surface-background);
255
+ box-shadow: var(--shadow-sm);
256
+ opacity: 0;
257
+ transition: opacity var(--motion-duration-fast) var(--motion-easing-out);
258
+ }
259
+
260
+ .crewlet-artifact-card--card:hover .crewlet-artifact-card__actions,
261
+ .crewlet-artifact-card--card:focus-within .crewlet-artifact-card__actions,
262
+ .crewlet-artifact-card__actions:has([aria-expanded='true']) {
263
+ opacity: 1;
264
+ }
265
+
266
+ @media (hover: none) {
267
+ .crewlet-artifact-card__actions {
268
+ opacity: 1;
269
+ }
270
+ }
271
+
272
+ @media (prefers-reduced-motion: reduce) {
273
+ .crewlet-artifact-card--card,
274
+ .crewlet-artifact-card__actions {
275
+ transition: none;
276
+ }
277
+
278
+ .crewlet-artifact-card--card:hover {
279
+ transform: none;
280
+ }
281
+ }
282
+
283
+ .crewlet-artifact-card--skeleton {
284
+ pointer-events: none;
285
+ }
286
+
287
+ .crewlet-artifact-card--skeleton .crewlet-artifact-card__badge {
288
+ box-shadow: none;
289
+ }
@@ -1,13 +1,15 @@
1
- export { DashboardCover, DocCover, SHEET_COVER_COLUMNS, SHEET_COVER_ROWS, SheetCover } from '../chunk-6AH2XJ3Q.js';
2
- import '../chunk-M3LUNN7F.js';
3
- import '../chunk-GOSQXEZU.js';
4
- import '../chunk-4KP4RC3O.js';
1
+ export { DashboardCover, DocCover, SHEET_COVER_COLUMNS, SHEET_COVER_ROWS, SheetCover } from '../chunk-CFAJP777.js';
2
+ import '../chunk-TYKQ33CL.js';
3
+ import '../chunk-XTOVADJU.js';
4
+ import '../chunk-TEUQWOWZ.js';
5
+ import '../chunk-CI3VPIJN.js';
5
6
  import '../chunk-3CZ7XAVY.js';
6
7
  import '../chunk-EUCC37WY.js';
7
- import '../chunk-UAN5NE7M.js';
8
- import '../chunk-5OM447RW.js';
9
8
  import '../chunk-ACA27MZH.js';
10
9
  import '../chunk-AV2DXAEL.js';
10
+ import '../chunk-5AQBPHZD.js';
11
+ import '../chunk-PZKHBB7D.js';
12
+ import '../chunk-UDQW6UK7.js';
11
13
  import '../chunk-BHHIIK3M.js';
12
14
  import '../chunk-PQADV6P6.js';
13
15
  import '../chunk-BZFWDIV6.js';
@@ -1,12 +1,14 @@
1
- export { ARTIFACT_ICON_WORDS, ArtifactIcon, artifactIconGlyph } from '../chunk-4JUKWWUD.js';
2
- import '../chunk-GOSQXEZU.js';
3
- import '../chunk-4KP4RC3O.js';
1
+ export { ARTIFACT_ICON_WORDS, ArtifactIcon, artifactIconGlyph } from '../chunk-PLDUNXAO.js';
2
+ import '../chunk-XTOVADJU.js';
3
+ import '../chunk-TEUQWOWZ.js';
4
+ import '../chunk-CI3VPIJN.js';
4
5
  import '../chunk-3CZ7XAVY.js';
5
6
  import '../chunk-EUCC37WY.js';
6
- import '../chunk-UAN5NE7M.js';
7
- import '../chunk-5OM447RW.js';
8
7
  import '../chunk-ACA27MZH.js';
9
8
  import '../chunk-AV2DXAEL.js';
9
+ import '../chunk-5AQBPHZD.js';
10
+ import '../chunk-PZKHBB7D.js';
11
+ import '../chunk-UDQW6UK7.js';
10
12
  import '../chunk-BHHIIK3M.js';
11
13
  import '../chunk-PQADV6P6.js';
12
14
  import '../chunk-BZFWDIV6.js';
@@ -0,0 +1,53 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { ArtifactKind } from '../ArtifactCard/index.js';
3
+ /**
4
+ * A kind of artifact, pictured: a simple geometric drawing of what the kind
5
+ * is (a page of prose, a slide, a phone screen, a board of bars, a window of
6
+ * code, a grid of cells) in the kind's own hue.
7
+ *
8
+ * ONE HUE PER KIND, FROM THE TOKENS. Every mark is drawn in
9
+ * `--color-artifact-kind-<kind>` at one of four fixed weights (the body, its
10
+ * lines, a soft block and the one solid accent), so a theme repaints every
11
+ * drawing by repainting the node hue the kind aliases, and nothing here holds
12
+ * a colour of its own.
13
+ *
14
+ * DECORATION. The drawing is hidden from assistive technology: the kind's
15
+ * name beside it is what is read.
16
+ */
17
+ export declare function ArtifactKindIllustration({ kind, className }: {
18
+ kind: ArtifactKind;
19
+ className?: string | undefined;
20
+ }): import("react").JSX.Element;
21
+ /**
22
+ * A kind's drawing on its tinted ground: the stand-in a preview shows while
23
+ * nothing live is drawn (off screen, still loading, over the live budget,
24
+ * failed or empty), and the face of a Make something new tile.
25
+ */
26
+ export declare function ArtifactKindGround({ kind, className, children, }: {
27
+ kind: ArtifactKind;
28
+ className?: string | undefined;
29
+ /** Drawn over the ground in place of the kind's drawing. */
30
+ children?: ReactNode;
31
+ }): import("react").JSX.Element;
32
+ export interface ArtifactKindTileProps {
33
+ kind: ArtifactKind;
34
+ /** The kind's name, under the tile: "Docs". */
35
+ label: string;
36
+ /** Where starting one goes. Left out with `disabledReason`, the tile starts nothing. */
37
+ href?: string | undefined;
38
+ /** A short tag after the name ("New", "Beta"), for a kind that is genuinely new. */
39
+ badge?: string | undefined;
40
+ /** Why this reader cannot start one. The tile stays focusable and says so. */
41
+ disabledReason?: string | undefined;
42
+ className?: string | undefined;
43
+ }
44
+ /**
45
+ * One kind on a "Make something new" row: the kind's drawing on its tinted
46
+ * ground, framed, with its name under it. The whole tile is one link named by
47
+ * the kind's name.
48
+ *
49
+ * A TILE THAT CANNOT START is still a stop on the row, so a reader moving
50
+ * through it by keyboard hears why (`disabledReason`) rather than finding a
51
+ * kind missing.
52
+ */
53
+ export declare function ArtifactKindTile({ kind, label, href, badge, disabledReason, className }: ArtifactKindTileProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './ArtifactKindIllustration.css';
2
+ export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from './ArtifactKindIllustration.js';
3
+ export type { ArtifactKindTileProps } from './ArtifactKindIllustration.js';
@@ -0,0 +1,3 @@
1
+ export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from '../chunk-UDQW6UK7.js';
2
+ import '../chunk-BZFWDIV6.js';
3
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,211 @@
1
+ /*
2
+ * A kind's drawing, its tinted ground and the Make something new tile.
3
+ *
4
+ * Every colour is the kind's token, `--color-artifact-kind-<kind>` and its
5
+ * Fill and Line steps, set once per kind on `--crewlet-kind-*` and read by
6
+ * every rule below, so the drawing, the ground and the tile repaint together
7
+ * with the theme.
8
+ */
9
+
10
+ .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); }
11
+ .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); }
12
+ .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); }
13
+ .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); }
14
+ .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); }
15
+ .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); }
16
+
17
+ /* ---- the drawing ---- */
18
+
19
+ .crewlet-kind-illustration {
20
+ display: block;
21
+ width: 100%;
22
+ height: 100%;
23
+ overflow: visible;
24
+ }
25
+
26
+ /* THE FOUR WEIGHTS, each the kind's hue at a fixed opacity: the body is a
27
+ translucent pane with a hairline edge, lines are content, a soft block is
28
+ a picture or a bar, and the mark is the one solid thing the eye lands on. */
29
+ .crewlet-kind-illustration .b {
30
+ fill: var(--crewlet-kind-hue);
31
+ fill-opacity: 0.14;
32
+ stroke: var(--crewlet-kind-hue);
33
+ stroke-opacity: 0.5;
34
+ stroke-width: 1.5;
35
+ }
36
+
37
+ .crewlet-kind-illustration .l {
38
+ fill: var(--crewlet-kind-hue);
39
+ fill-opacity: 0.45;
40
+ }
41
+
42
+ .crewlet-kind-illustration .s {
43
+ fill: var(--crewlet-kind-hue);
44
+ fill-opacity: 0.62;
45
+ }
46
+
47
+ .crewlet-kind-illustration .m {
48
+ fill: var(--crewlet-kind-hue);
49
+ }
50
+
51
+ /* A rule across the body (a window's bar, a grid's lines). */
52
+ .crewlet-kind-illustration .r {
53
+ fill: none;
54
+ stroke: var(--crewlet-kind-hue);
55
+ stroke-opacity: 0.3;
56
+ stroke-width: 1.5;
57
+ }
58
+
59
+ /* A stroke drawn as a glyph: the angle brackets of a page of code. */
60
+ .crewlet-kind-illustration .k {
61
+ fill: none;
62
+ stroke: var(--crewlet-kind-hue);
63
+ stroke-linecap: round;
64
+ stroke-linejoin: round;
65
+ stroke-width: 5;
66
+ }
67
+
68
+ .crewlet-kind-illustration .k--soft {
69
+ stroke-opacity: 0.55;
70
+ }
71
+
72
+ /* Cut out of a solid mark in the ground's colour: a checkbox's tick. */
73
+ .crewlet-kind-illustration .c {
74
+ fill: none;
75
+ stroke: var(--color-surface-background);
76
+ stroke-linecap: round;
77
+ stroke-linejoin: round;
78
+ stroke-width: 1.4;
79
+ }
80
+
81
+ .crewlet-kind-illustration .c--fill {
82
+ fill: var(--crewlet-kind-hue);
83
+ fill-opacity: 0.4;
84
+ stroke: none;
85
+ }
86
+
87
+ /* ---- the ground ---- */
88
+
89
+ /*
90
+ * THE KIND'S FILL OVER THE CARD, brightest at the top and settling into the
91
+ * card at the foot, the way light falls on a tinted pane: a flat fill read as
92
+ * a coloured box, and a hue strong enough to read on its own fought the
93
+ * previews beside it.
94
+ */
95
+ .crewlet-kind-ground {
96
+ display: flex;
97
+ align-items: center;
98
+ justify-content: center;
99
+ box-sizing: border-box;
100
+ width: 100%;
101
+ height: 100%;
102
+ padding: 8% 10%;
103
+ background:
104
+ linear-gradient(180deg, var(--crewlet-kind-fill) 0%, transparent 115%),
105
+ var(--color-surface-subtle);
106
+ }
107
+
108
+ .crewlet-kind-ground > .crewlet-kind-illustration {
109
+ max-width: 12rem;
110
+ max-height: 100%;
111
+ }
112
+
113
+ /* ---- the tile ---- */
114
+
115
+ .crewlet-kind-tile {
116
+ display: flex;
117
+ flex-direction: column;
118
+ gap: var(--spacing-2);
119
+ min-width: 0;
120
+ color: var(--color-text-primary);
121
+ text-decoration: none;
122
+ outline: none;
123
+ }
124
+
125
+ /*
126
+ * A FRAME AROUND A PANE: the tile is a hairline ring with the tinted ground
127
+ * set inside it a few pixels in, one radius step tighter, so the pane reads
128
+ * as sitting in a holder rather than as a coloured rectangle.
129
+ */
130
+ .crewlet-kind-tile__frame {
131
+ display: block;
132
+ box-sizing: border-box;
133
+ aspect-ratio: 4 / 3;
134
+ padding: 5px;
135
+ border: 1px solid var(--color-border-default);
136
+ border-radius: var(--radius-2xl);
137
+ background: var(--color-surface-subtle);
138
+ transition:
139
+ border-color var(--motion-duration-base) var(--motion-easing-out),
140
+ box-shadow var(--motion-duration-base) var(--motion-easing-out);
141
+ }
142
+
143
+ .crewlet-kind-tile__ground {
144
+ border-radius: var(--radius-xl);
145
+ box-shadow: inset 0 0 0 1px var(--crewlet-kind-line);
146
+ overflow: hidden;
147
+ }
148
+
149
+ .crewlet-kind-tile__ground > .crewlet-kind-illustration {
150
+ transition: transform var(--motion-duration-base) var(--motion-easing-out);
151
+ }
152
+
153
+ .crewlet-kind-tile__label {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: var(--spacing-2);
157
+ min-width: 0;
158
+ padding-inline: var(--spacing-1);
159
+ }
160
+
161
+ .crewlet-kind-tile__name {
162
+ overflow: hidden;
163
+ font-size: var(--font-size-md);
164
+ font-weight: var(--font-weight-medium);
165
+ line-height: 1.3;
166
+ text-overflow: ellipsis;
167
+ white-space: nowrap;
168
+ }
169
+
170
+ .crewlet-kind-tile__badge {
171
+ flex: none;
172
+ padding: 1px var(--spacing-2);
173
+ border-radius: var(--radius-sm);
174
+ background: var(--crewlet-kind-fill);
175
+ color: var(--color-text-secondary);
176
+ font-size: var(--font-size-xs);
177
+ font-weight: var(--font-weight-medium);
178
+ }
179
+
180
+ a.crewlet-kind-tile:hover .crewlet-kind-tile__frame {
181
+ border-color: var(--color-border-hover);
182
+ }
183
+
184
+ a.crewlet-kind-tile:hover .crewlet-kind-tile__ground > .crewlet-kind-illustration {
185
+ transform: translateY(-2px) scale(1.03);
186
+ }
187
+
188
+ .crewlet-kind-tile:focus-visible .crewlet-kind-tile__frame {
189
+ outline: 2px solid var(--color-focus);
190
+ outline-offset: var(--size-focus-ring-inset-offset);
191
+ }
192
+
193
+ .crewlet-kind-tile--disabled {
194
+ cursor: not-allowed;
195
+ }
196
+
197
+ .crewlet-kind-tile--disabled .crewlet-kind-tile__ground,
198
+ .crewlet-kind-tile--disabled .crewlet-kind-tile__name {
199
+ opacity: 0.55;
200
+ }
201
+
202
+ @media (prefers-reduced-motion: reduce) {
203
+ .crewlet-kind-tile__frame,
204
+ .crewlet-kind-tile__ground > .crewlet-kind-illustration {
205
+ transition: none;
206
+ }
207
+
208
+ a.crewlet-kind-tile:hover .crewlet-kind-tile__ground > .crewlet-kind-illustration {
209
+ transform: none;
210
+ }
211
+ }
@@ -1,6 +1,10 @@
1
1
  import { type ReactNode, type Ref } from 'react';
2
- /** How wide a panel rests beside the artifact: facts, a list, or a table. */
3
- export type ArtifactPanelSize = 'sm' | 'md' | 'lg';
2
+ /**
3
+ * How wide a panel rests beside the artifact: text (facts, a list, a form) or
4
+ * a table. ONE WIDTH FOR TEXT, so moving from one text panel to another never
5
+ * moves the artifact's edge under the reader.
6
+ */
7
+ export type ArtifactPanelSize = 'md' | 'lg';
4
8
  export interface ArtifactPanelLabels {
5
9
  close: (title: string) => string;
6
10
  expand: string;
@@ -1,4 +1,4 @@
1
- export { ARTIFACT_PANEL_LABELS, ArtifactPanel, ArtifactWorkspace } from '../chunk-I3BSQUKN.js';
1
+ export { ARTIFACT_PANEL_LABELS, ArtifactPanel, ArtifactWorkspace } from '../chunk-HUVG2FFT.js';
2
2
  import '../chunk-PQADV6P6.js';
3
3
  import '../chunk-4FQT6ZAY.js';
4
4
  import '../chunk-BZFWDIV6.js';
@@ -28,7 +28,9 @@
28
28
  }
29
29
 
30
30
  .crewlet-artifact-panel {
31
- --crewlet-artifact-panel-width: 25rem;
31
+ /* THE TEXT WIDTH, every panel of facts, a list or a form: three widths for
32
+ those moved the artifact's edge 80px between Details and History. */
33
+ --crewlet-artifact-panel-width: 22.5rem;
32
34
  display: flex;
33
35
  flex: none;
34
36
  flex-direction: column;
@@ -38,10 +40,6 @@
38
40
  background: var(--color-surface-background);
39
41
  }
40
42
 
41
- .crewlet-artifact-panel--sm {
42
- --crewlet-artifact-panel-width: 20rem;
43
- }
44
-
45
43
  .crewlet-artifact-panel--lg {
46
44
  --crewlet-artifact-panel-width: 36rem;
47
45
  }
@@ -94,10 +92,27 @@
94
92
  gap: var(--spacing-1);
95
93
  }
96
94
 
95
+ /* THE BODY'S INSET IS PUBLISHED (--crewlet-artifact-panel-inset) for content
96
+ that sticks to its scrollport: a sticky edge stops at the padding, so a
97
+ foot with `bottom: 0` left a band under it that the content scrolled
98
+ through; such a foot offsets itself by the inset to sit on the edge. */
97
99
  .crewlet-artifact-panel__body {
100
+ /* THE PANEL'S OWN MEASURE, so what it holds folds to the panel's width
101
+ rather than the window's; and its sections head at the panel title's
102
+ step, a level under it and never louder than it. */
103
+ container: crewlet-artifact-panel / inline-size;
104
+ --crewlet-section-title-size: var(--font-size-sm);
105
+ --crewlet-artifact-panel-inset: var(--spacing-4);
106
+
107
+ /* A COLUMN, so content that should fit the panel rather than scroll it
108
+ can: a child that sets `min-height: 0` shrinks to the room the body has
109
+ (a sheet's rows, whose grid then scrolls itself), and every other child
110
+ keeps its content's height and scrolls the body as before. */
111
+ display: flex;
112
+ flex-direction: column;
98
113
  flex: 1 1 auto;
99
114
  min-height: 0;
100
- padding: var(--spacing-4);
115
+ padding: var(--crewlet-artifact-panel-inset);
101
116
  overflow: auto;
102
117
  overscroll-behavior: contain;
103
118
  }
@@ -111,7 +126,10 @@
111
126
  inset-inline-end: 0;
112
127
  z-index: var(--z-index-overlay);
113
128
  width: min(var(--crewlet-artifact-panel-width), 100%);
114
- box-shadow: var(--shadow-lg);
129
+ /* THE DRAWER'S LIFT, the shell's own rail drawer's: the large step falls
130
+ below a box and left the panel's start edge reading as a cut through
131
+ the artifact rather than a sheet over it. */
132
+ box-shadow: var(--shadow-xl);
115
133
  }
116
134
 
117
135
  .crewlet-artifact-panel[data-expanded] {