@crewlethq/ui 0.31.1 → 0.33.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 (278) hide show
  1. package/README.md +151 -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 +12 -12
  13. package/dist/{ArtifactBar-MLMJHWY6.css → ArtifactBar-C462VD4C.css} +8 -3
  14. package/dist/ArtifactCard/ArtifactCard.d.ts +19 -1
  15. package/dist/ArtifactCard/index.d.ts +1 -1
  16. package/dist/ArtifactCard/index.js +4 -4
  17. package/dist/{ArtifactCard-EXVAEBV6.css → ArtifactCard-AS5Z4CVI.css} +17 -2
  18. package/dist/ArtifactCover/index.js +6 -6
  19. package/dist/ArtifactIcon/index.js +5 -5
  20. package/dist/ArtifactPanel/ArtifactPanel.d.ts +6 -2
  21. package/dist/ArtifactPanel/index.js +1 -1
  22. package/dist/{ArtifactPanel-YFXT5O77.css → ArtifactPanel-HW3SU7CP.css} +25 -7
  23. package/dist/Avatar/Avatar.d.ts +6 -4
  24. package/dist/Avatar/index.js +2 -2
  25. package/dist/AvatarPicker/index.js +8 -8
  26. package/dist/Callout/index.js +1 -1
  27. package/dist/{Callout-SXXK4B5R.css → Callout-ZAVG3P66.css} +46 -6
  28. package/dist/Canvas/Canvas.d.ts +81 -4
  29. package/dist/Canvas/ShortcutTip.d.ts +22 -0
  30. package/dist/Canvas/geometry.d.ts +13 -3
  31. package/dist/Canvas/index.d.ts +4 -2
  32. package/dist/Canvas/index.js +5 -3
  33. package/dist/{Canvas-YVXHMWLN.css → Canvas-VUG2HLZK.css} +62 -3
  34. package/dist/CanvasBoard/CanvasBoard.d.ts +110 -12
  35. package/dist/CanvasBoard/budget.d.ts +9 -3
  36. package/dist/CanvasBoard/index.d.ts +2 -2
  37. package/dist/CanvasBoard/index.js +9 -5
  38. package/dist/CanvasBoard-5NNSKY6A.css +462 -0
  39. package/dist/CanvasToolbar/CanvasToolbar.d.ts +48 -0
  40. package/dist/CanvasToolbar/index.d.ts +3 -0
  41. package/dist/CanvasToolbar/index.js +12 -0
  42. package/dist/CanvasToolbar-EM5EVZED.css +34 -0
  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 +9 -9
  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-YZ7KG2RD.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/Markdown/index.js +1 -1
  95. package/dist/MarkdownEditor/index.js +5 -5
  96. package/dist/MediaMatch/index.d.ts +1 -0
  97. package/dist/MediaMatch/index.js +1 -0
  98. package/dist/MediaMatch/useMediaMatch.d.ts +19 -0
  99. package/dist/Menu/index.js +2 -2
  100. package/dist/MergeConflicts/index.js +4 -4
  101. package/dist/Modal/index.js +2 -2
  102. package/dist/{Modal-XOSV6FAH.css → Modal-7MWRCWAI.css} +30 -0
  103. package/dist/Note/index.js +1 -1
  104. package/dist/{Note-ONSKKTOA.css → Note-WI5MLZOO.css} +13 -0
  105. package/dist/OrgLabel/index.js +3 -3
  106. package/dist/OrgNode/index.js +4 -4
  107. package/dist/OrgTable/index.js +7 -7
  108. package/dist/PeopleRail/index.js +3 -3
  109. package/dist/Popover/index.js +2 -2
  110. package/dist/PresenceStack/index.js +3 -3
  111. package/dist/{PresenceStack-QSXQJND5.css → PresenceStack-FJJQVH74.css} +11 -3
  112. package/dist/PresenterView/PresenterView.d.ts +3 -0
  113. package/dist/PresenterView/index.js +5 -3
  114. package/dist/PresenterView-T3EXIQ5S.css +147 -0
  115. package/dist/Principal/index.js +3 -3
  116. package/dist/PrincipalPicker/index.js +4 -4
  117. package/dist/RichEditor/index.js +5 -5
  118. package/dist/RichEditor/schema.d.ts +1 -1
  119. package/dist/RichEditorMarkdown/index.js +3 -3
  120. package/dist/SandboxedFrame/SandboxedFrame.d.ts +44 -2
  121. package/dist/SandboxedFrame/index.d.ts +2 -2
  122. package/dist/SandboxedFrame/index.js +3 -3
  123. package/dist/SandboxedFrame-P5NASXB7.css +72 -0
  124. package/dist/Section/index.js +1 -1
  125. package/dist/{Section-QR3ILQVK.css → Section-O5AHGSOG.css} +28 -5
  126. package/dist/SegmentedControl/index.js +3 -3
  127. package/dist/Select/index.js +2 -2
  128. package/dist/ShareDialog/ShareDialog.d.ts +10 -0
  129. package/dist/ShareDialog/index.js +9 -9
  130. package/dist/{ShareDialog-YZ4F37MW.css → ShareDialog-4QDCBWMH.css} +12 -0
  131. package/dist/SheetGrid/SheetGrid.d.ts +3 -1
  132. package/dist/SheetGrid/index.js +10 -10
  133. package/dist/{SheetGrid-J3TKKXZL.css → SheetGrid-AKPUCK67.css} +106 -7
  134. package/dist/SheetModel/fit.d.ts +34 -0
  135. package/dist/SheetModel/index.d.ts +1 -0
  136. package/dist/SheetModel/index.js +1 -1
  137. package/dist/Shortcut/index.js +1 -1
  138. package/dist/Skeleton/Skeleton.d.ts +2 -1
  139. package/dist/Skeleton/index.js +1 -1
  140. package/dist/SlideCompare/SlideCompare.d.ts +6 -1
  141. package/dist/SlideCompare/index.js +3 -3
  142. package/dist/{SlideCompare-MGM3U2ME.css → SlideCompare-HTCMPQFY.css} +36 -3
  143. package/dist/SlideFilmstrip/SlideFilmstrip.d.ts +14 -3
  144. package/dist/SlideFilmstrip/index.js +3 -3
  145. package/dist/{SlideFilmstrip-BCLNAHFX.css → SlideFilmstrip-5U6Z55GS.css} +63 -2
  146. package/dist/SlideGrid/index.js +3 -3
  147. package/dist/{SlideGrid-RT6QEQEE.css → SlideGrid-S4LTJ4UU.css} +9 -5
  148. package/dist/SlideNav/SlideNav.d.ts +49 -0
  149. package/dist/SlideNav/index.d.ts +3 -0
  150. package/dist/SlideNav/index.js +4 -0
  151. package/dist/SlideNav-BLFJF6AH.css +53 -0
  152. package/dist/SlideStage/SlideStage.d.ts +14 -1
  153. package/dist/SlideStage/index.js +2 -2
  154. package/dist/{SlideStage-KGRRALXR.css → SlideStage-S2FISF4C.css} +23 -0
  155. package/dist/StatCard/StatCard.d.ts +16 -1
  156. package/dist/StatCard/index.js +1 -1
  157. package/dist/{StatCard-KPAFD4E2.css → StatCard-4T7TMWMN.css} +40 -13
  158. package/dist/Switcher/index.js +6 -6
  159. package/dist/TableCells/index.js +3 -3
  160. package/dist/Tabs/Tabs.d.ts +21 -4
  161. package/dist/Tabs/index.js +1 -1
  162. package/dist/{Tabs-CJGO35BH.css → Tabs-MMZXV5EF.css} +9 -8
  163. package/dist/TagsInput/index.js +1 -1
  164. package/dist/ThemeSwitcher/index.js +4 -4
  165. package/dist/TimeWindowPicker/index.js +4 -4
  166. package/dist/Toaster/index.js +2 -2
  167. package/dist/{Toaster-EOOOTSJT.css → Toaster-C6BQ7L6I.css} +10 -1
  168. package/dist/Toolbar/index.js +1 -1
  169. package/dist/Tooltip/index.js +2 -2
  170. package/dist/TreeCanvas/index.js +6 -4
  171. package/dist/TreeGrid/index.js +3 -3
  172. package/dist/VersionCompare/index.js +4 -4
  173. package/dist/VersionTimeline/index.js +4 -4
  174. package/dist/WidgetFrame/WidgetFrame.d.ts +8 -1
  175. package/dist/WidgetFrame/index.js +2 -2
  176. package/dist/{WidgetFrame-LRZIL62O.css → WidgetFrame-BTFW3CRK.css} +49 -5
  177. package/dist/{chunk-OJ45PPCV.js → chunk-22UEIXZE.js} +127 -32
  178. package/dist/{chunk-UZ6MA2V6.js → chunk-2DHMVB5J.js} +2 -2
  179. package/dist/{chunk-WJDQ7XQA.js → chunk-2QEDJSJC.js} +1 -1
  180. package/dist/{chunk-2HIOJ4YZ.js → chunk-3EB2AV3H.js} +2 -3
  181. package/dist/{chunk-ODT5H4MN.js → chunk-3LYWD3BO.js} +2 -2
  182. package/dist/{chunk-FAQGGX2Z.js → chunk-3TFDQLW3.js} +1 -1
  183. package/dist/{chunk-VYDFB6PJ.js → chunk-3U7S6ZUN.js} +50 -17
  184. package/dist/{chunk-A4E5YLXO.js → chunk-4B6LSFDS.js} +1 -1
  185. package/dist/{chunk-S6VG5ZFZ.js → chunk-4IJS5CPF.js} +1 -1
  186. package/dist/{chunk-UAN5NE7M.js → chunk-5AQBPHZD.js} +1 -1
  187. package/dist/{chunk-QWOPX2MN.js → chunk-5FYPE5GL.js} +2 -3
  188. package/dist/{chunk-CJKMURZO.js → chunk-5SZGKSGL.js} +1 -1
  189. package/dist/chunk-6VOS2GMB.js +54 -0
  190. package/dist/{chunk-RODMM35O.js → chunk-7Q7WDXHG.js} +5 -5
  191. package/dist/{chunk-JI5AVQLA.js → chunk-7WHDPLVJ.js} +1 -1
  192. package/dist/{chunk-QH3AKP2N.js → chunk-AC22RZKC.js} +2 -2
  193. package/dist/{chunk-ZITJKF6Z.js → chunk-AYB6AYNH.js} +1 -1
  194. package/dist/{chunk-Y5NQ2LMS.js → chunk-BY4N65PM.js} +1 -1
  195. package/dist/{chunk-YFW4MTK4.js → chunk-C7DKX453.js} +1 -1
  196. package/dist/{chunk-RCQXUT5K.js → chunk-CCAXYHQS.js} +1 -1
  197. package/dist/{chunk-4KP4RC3O.js → chunk-CI3VPIJN.js} +1 -1
  198. package/dist/{chunk-7T42VQQT.js → chunk-CPEPST4S.js} +1 -1
  199. package/dist/{chunk-AAOH2P6Y.js → chunk-DFK5EQTU.js} +5 -3
  200. package/dist/{chunk-GOSQXEZU.js → chunk-DFZMYB5X.js} +16 -10
  201. package/dist/{chunk-TGYDROIB.js → chunk-EBCHVFCS.js} +4 -4
  202. package/dist/{chunk-YDBC4DNW.js → chunk-FWYHRU7M.js} +1 -1
  203. package/dist/{chunk-CT4EZF62.js → chunk-G4ZW7A2W.js} +125 -33
  204. package/dist/chunk-GLSOD5Z4.js +33 -0
  205. package/dist/{chunk-LIXSV5YI.js → chunk-GPHWCK7M.js} +1 -1
  206. package/dist/{chunk-UQHKFF2N.js → chunk-GPWJCP3U.js} +1 -1
  207. package/dist/{chunk-77DRMDXR.js → chunk-HG5VF3TZ.js} +192 -67
  208. package/dist/{chunk-4JUKWWUD.js → chunk-HH2GKAAE.js} +1 -1
  209. package/dist/{chunk-QVE4GJAT.js → chunk-HJO4WCH6.js} +1 -1
  210. package/dist/{chunk-I3BSQUKN.js → chunk-HUVG2FFT.js} +1 -1
  211. package/dist/{chunk-3C3BRIMY.js → chunk-ILAEBSLJ.js} +3 -3
  212. package/dist/{chunk-GR55WT4R.js → chunk-IYO2N5ZH.js} +2 -2
  213. package/dist/{chunk-RWA4H2TV.js → chunk-J6ON5SYE.js} +1 -1
  214. package/dist/{chunk-NHBP2XS5.js → chunk-J6ZSH3F5.js} +49 -1
  215. package/dist/{chunk-AMNN4WDX.js → chunk-JBUMD6DS.js} +2 -2
  216. package/dist/{chunk-BWRGFKJP.js → chunk-K3IJQNB7.js} +2 -3
  217. package/dist/{chunk-LFNUH4GY.js → chunk-K4VP6ZKE.js} +1 -1
  218. package/dist/{chunk-ZR5VN5IV.js → chunk-KD2IRYCT.js} +2 -2
  219. package/dist/{chunk-SKOYC2CF.js → chunk-KK5OYNAF.js} +2 -1
  220. package/dist/{chunk-UB7TJEKZ.js → chunk-KV3ODJXH.js} +6 -7
  221. package/dist/chunk-LL5AFXU7.js +96 -0
  222. package/dist/{chunk-VYOKRN2I.js → chunk-LM3ISVJA.js} +1 -1
  223. package/dist/{chunk-O63MWA4G.js → chunk-LV4APO72.js} +10 -3
  224. package/dist/{chunk-B4EBHPK3.js → chunk-M5KZX5JE.js} +9 -2
  225. package/dist/{chunk-JODJS7MR.js → chunk-MDNVHIB2.js} +276 -47
  226. package/dist/{chunk-VOX3YRFO.js → chunk-MTMKIUWF.js} +4 -4
  227. package/dist/{chunk-HVNTQ36V.js → chunk-O37AQNLK.js} +4 -4
  228. package/dist/{chunk-HMPFGIWM.js → chunk-OMV5W53A.js} +10 -1
  229. package/dist/chunk-ONL54WMH.js +55 -0
  230. package/dist/{chunk-AKEZ3G5V.js → chunk-ONQKKHON.js} +1 -1
  231. package/dist/{chunk-LZHLSQYK.js → chunk-OOWPSBIS.js} +2 -2
  232. package/dist/{chunk-JQLTG4KH.js → chunk-ORT5IKHP.js} +62 -51
  233. package/dist/{chunk-4KWOKX2B.js → chunk-OSKJZNBT.js} +1 -1
  234. package/dist/{chunk-EHQTPVV4.js → chunk-PLTCDSTU.js} +1 -1
  235. package/dist/{chunk-5OM447RW.js → chunk-PZKHBB7D.js} +1 -1
  236. package/dist/{chunk-VEB5ERRE.js → chunk-QWNVSR6G.js} +2 -2
  237. package/dist/{chunk-IG75YMUN.js → chunk-RTPQDNW3.js} +1 -1
  238. package/dist/{chunk-SVSCLHHI.js → chunk-SZZRIHGT.js} +1 -1
  239. package/dist/{chunk-EBNI36UQ.js → chunk-T46NR3WP.js} +3 -3
  240. package/dist/{chunk-FPS3JIPQ.js → chunk-TC7DJTXI.js} +1 -1
  241. package/dist/{chunk-W5J7R5EB.js → chunk-TEUQWOWZ.js} +1 -1
  242. package/dist/chunk-THROPJZC.js +115 -0
  243. package/dist/{chunk-IDBHX5SR.js → chunk-TRQCHF2F.js} +1 -1
  244. package/dist/{chunk-M3LUNN7F.js → chunk-TYKQ33CL.js} +13 -2
  245. package/dist/{chunk-VVRL27HM.js → chunk-ULPL26BU.js} +2 -2
  246. package/dist/{chunk-6AH2XJ3Q.js → chunk-UNXLTJU7.js} +3 -3
  247. package/dist/{chunk-FC4YTTFJ.js → chunk-UQGFHNDI.js} +2 -3
  248. package/dist/{chunk-EBJREOKS.js → chunk-UXXJDIYE.js} +4 -4
  249. package/dist/{chunk-5LUI3WQP.js → chunk-V43UVX4H.js} +1 -1
  250. package/dist/{chunk-W4XYY73O.js → chunk-VHZ3AXJD.js} +1 -1
  251. package/dist/{chunk-HJEVSQN6.js → chunk-VL6CUNSX.js} +11 -5
  252. package/dist/{chunk-XDTYBF2F.js → chunk-W5XCNEZC.js} +39 -1
  253. package/dist/{chunk-LDJ3J4TQ.js → chunk-WGD2HX2A.js} +1 -1
  254. package/dist/{chunk-FQCLKD7U.js → chunk-WKEPORNM.js} +1 -1
  255. package/dist/{chunk-I3KKZ2O3.js → chunk-XEGZHHRH.js} +45 -36
  256. package/dist/{chunk-IKB6HFGK.js → chunk-XO7PUL4F.js} +6 -4
  257. package/dist/chunk-XV32RKQZ.js +142 -0
  258. package/dist/{chunk-TBMDMXEX.js → chunk-YA3AWELW.js} +1 -1
  259. package/dist/{chunk-HVIX5ECM.js → chunk-YEVG2X5R.js} +1 -1
  260. package/dist/chunk-YZFLH463.js +215 -0
  261. package/dist/{chunk-P4BOXB6E.js → chunk-Z6GFMI2Z.js} +6 -7
  262. package/dist/{chunk-YEKYVJQR.js → chunk-ZNBLFCQS.js} +2 -2
  263. package/dist/generated/index.d.ts +4 -0
  264. package/dist/generated/index.js +107 -104
  265. package/dist/index.js +107 -104
  266. package/dist/styles.css +1648 -235
  267. package/package.json +3 -3
  268. package/dist/AccessDeniedCard-WXM5DBDZ.css +0 -8
  269. package/dist/CanvasBoard-ZLPDINSM.css +0 -236
  270. package/dist/DocTabsEditor-RCOWHX5J.css +0 -78
  271. package/dist/PresenterView-T2C6ZZ3N.css +0 -103
  272. package/dist/SandboxedFrame-L6HBQZCD.css +0 -50
  273. package/dist/chunk-ALMSY7RL.js +0 -74
  274. package/dist/chunk-LR5QTFOE.js +0 -105
  275. package/dist/chunk-OGAAHVF6.js +0 -107
  276. package/dist/chunk-UZ7ZUSLH.js +0 -179
  277. package/dist/utils/useMediaMatch.d.ts +0 -12
  278. /package/dist/{chunk-OC46246T.js → chunk-2JJIN6JN.js} +0 -0
@@ -1,4 +1,4 @@
1
- export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-O63MWA4G.js';
2
- import '../chunk-HMPFGIWM.js';
1
+ export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-LV4APO72.js';
2
+ import '../chunk-OMV5W53A.js';
3
3
  import '../chunk-R25RGPUB.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -16,6 +16,29 @@
16
16
  height: 100%;
17
17
  }
18
18
 
19
+ /* THE SLIDE'S OWN EDGE: the box is the slide (or, for a show in the page,
20
+ the room it was measured into), so its outline is the slide's edge, drawn over the slide's corners rather than outside them. A host that
21
+ marks a stage (selected, current) recolours this outline rather than adding
22
+ a second line. */
23
+ .crewlet-slide-stage--framed {
24
+ border-radius: var(--radius-sm);
25
+ outline: 1px solid var(--color-border-default);
26
+ }
27
+
28
+ :fullscreen .crewlet-slide-stage--framed,
29
+ .crewlet-slide-stage--framed:fullscreen {
30
+ border-radius: 0;
31
+ outline: 0;
32
+ }
33
+
34
+ /* FULL SCREEN IS A PROJECTOR: the bars round a slide whose shape is not the
35
+ screen's are black, whatever the theme, so the room sees the slide alone. */
36
+ :fullscreen .crewlet-slide-stage--contain,
37
+ :fullscreen .crewlet-slide-stage--view,
38
+ .crewlet-slide-stage:fullscreen {
39
+ background: var(--color-projection-letterbox);
40
+ }
41
+
19
42
  /* Until it is measured, and wherever it is not (no layout), a view stage is
20
43
  its slide's shape at its width. In full screen it fills the box, sharing a
21
44
  flex column with the show's controls. */
@@ -34,6 +34,13 @@ export interface StatCardDelta {
34
34
  export interface StatCardProps extends HTMLAttributes<HTMLDivElement> {
35
35
  /** What is being counted, in sentence case: "Tasks in progress". */
36
36
  label: ReactNode;
37
+ /**
38
+ * Keep the label out of the picture. It stays in the accessibility tree.
39
+ * For a tile whose container already names it, such as a dashboard
40
+ * widget's frame, where the frame's title above the label said the same
41
+ * thing twice. A Meter's `hideLabel`, for the same reason.
42
+ */
43
+ hideLabel?: boolean;
37
44
  /** The headline value, already formatted by the caller. */
38
45
  value: ReactNode;
39
46
  /** A unit after the value, at a quieter weight: "ms", "/ 7", "per turn". */
@@ -61,6 +68,14 @@ export interface StatCardProps extends HTMLAttributes<HTMLDivElement> {
61
68
  * says otherwise.
62
69
  */
63
70
  trend?: ReactNode;
71
+ /**
72
+ * Where `trend` stands: at the END of the value's line (the default), or
73
+ * BELOW it at the tile's full width. Below is a quota's tile, a number of a
74
+ * known ceiling whose bar is the reading and not a sparkline beside it; a
75
+ * row of them keeps one shape at every width, where three end slots wrapped
76
+ * one by one as each number's width decided.
77
+ */
78
+ trendPlacement?: 'end' | 'below' | undefined;
64
79
  /** A glyph before the label. A component, not a name. */
65
80
  icon?: ReactNode;
66
81
  /** Colours the VALUE's ink. See the type for when that is right. */
@@ -100,4 +115,4 @@ export interface StatCardProps extends HTMLAttributes<HTMLDivElement> {
100
115
  * being zero. The trend and the delta wait with it: both are readings of the
101
116
  * number that has not arrived.
102
117
  */
103
- export declare const StatCard: ({ label, value, unit, sub, subTone, delta, trend, icon, tone, loading, loadingLabel, flush, className, ...rest }: StatCardProps) => import("react").JSX.Element;
118
+ export declare const StatCard: ({ label, hideLabel, value, unit, sub, subTone, delta, trend, trendPlacement, icon, tone, loading, loadingLabel, flush, className, ...rest }: StatCardProps) => import("react").JSX.Element;
@@ -1,3 +1,3 @@
1
- export { StatCard } from '../chunk-IKB6HFGK.js';
1
+ export { StatCard } from '../chunk-XO7PUL4F.js';
2
2
  import '../chunk-BZFWDIV6.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -72,12 +72,18 @@
72
72
  * The value's line: the number at its start, the figure at its end, both on
73
73
  * the line's FOOT, so a 28px number and a 28px sparkline share a baseline
74
74
  * rather than centring on each other.
75
+ *
76
+ * THE FIGURE GIVES WAY BEFORE THE NUMBER. Where a tile is too narrow for
77
+ * both (a row of tiles on a phone, two to a line), the figure moves under the
78
+ * number rather than the number being cut to its first digit: "2…" beside a
79
+ * meter said nothing, and the meter alone says less than the number.
75
80
  */
76
81
  .crewlet-statcard__reading {
77
82
  display: flex;
83
+ flex-wrap: wrap;
78
84
  align-items: flex-end;
79
85
  justify-content: space-between;
80
- gap: calc(var(--spacing-2) + var(--spacing-1) / 2);
86
+ gap: var(--spacing-2) calc(var(--spacing-2) + var(--spacing-1) / 2);
81
87
  min-width: 0;
82
88
  }
83
89
 
@@ -86,40 +92,51 @@
86
92
  * track, with tabular figures so a number that ticks up moves nothing beside
87
93
  * it.
88
94
  *
89
- * ITS LINE IS THE GLYPH'S OWN HEIGHT (a leading of 1). The value is one line
95
+ * ITS LINE IS THE GLYPH'S OWN HEIGHT (a leading of 1). The number is one line
90
96
  * that never wraps, and any leading over it is air under the digits that
91
97
  * opens between the number and the line below it and stands the number
92
98
  * higher than the figure it shares a foot with.
93
99
  *
94
- * A BLOCK, NOT A FLEX ROW, because it is one line of text that has to END
95
- * rather than stop: `text-overflow` acts on a block container only, and as a
96
- * flex row the number and its unit were anonymous flex items no rule could
97
- * reach, so a value too long for its tile was cut mid-digit with nothing to
98
- * say a digit was lost. The unit sits on the same line as inline text, on
99
- * the number's baseline.
100
+ * THE NUMBER ENDS, THE UNIT MOVES. The number and its unit are a wrapping
101
+ * row on one baseline: where the tile is too narrow for both, the unit moves
102
+ * under the number whole ("of 10 GB"), rather than being cut to "of 1…"; and
103
+ * the number, alone on its line and still too long, ends in an ellipsis
104
+ * rather than stopping mid-digit with nothing to say a digit was lost. The
105
+ * ellipsis is the number's own box's, since `text-overflow` acts on a block
106
+ * container only.
100
107
  */
101
108
  .crewlet-statcard__value {
102
- display: block;
103
- flex: 1 1 auto;
109
+ display: flex;
110
+ flex-wrap: wrap;
111
+ align-items: baseline;
112
+ gap: var(--spacing-1);
113
+ /* Never narrower than the number, so the figure wraps first; never wider
114
+ than the tile, so a number too long for the tile alone still ends. */
115
+ flex: 1 0 auto;
104
116
  min-width: 0;
117
+ max-width: 100%;
105
118
  font-size: var(--font-size-display);
106
119
  font-weight: var(--font-weight-semibold);
107
120
  letter-spacing: var(--font-letter-spacing-tight);
108
121
  line-height: 1;
109
122
  font-variant-numeric: tabular-nums;
123
+ }
124
+
125
+ .crewlet-statcard__number {
126
+ min-width: 0;
110
127
  overflow: hidden;
111
128
  text-overflow: ellipsis;
112
129
  white-space: nowrap;
113
130
  }
114
131
 
115
- /* The unit, "/ 7" after the 4: the quiet ink at a text step, medium, so it
116
- reads as part of the figure rather than as a second one. */
132
+ /* The unit, on the number's baseline at a quieter weight, kept whole. */
117
133
  .crewlet-statcard__unit {
118
- margin-inline-start: var(--spacing-1);
134
+ flex: none;
119
135
  font-size: var(--font-size-sm);
120
136
  font-weight: var(--font-weight-medium);
121
137
  letter-spacing: var(--font-letter-spacing-normal);
122
138
  color: var(--color-text-tertiary);
139
+ white-space: nowrap;
123
140
  }
124
141
 
125
142
  /*
@@ -137,6 +154,16 @@
137
154
  min-width: 0;
138
155
  }
139
156
 
157
+ /* BELOW: the figure under the number, as wide as the tile. */
158
+ .crewlet-statcard__reading--below {
159
+ flex-direction: column;
160
+ align-items: stretch;
161
+ }
162
+
163
+ .crewlet-statcard__reading--below > .crewlet-statcard__trend {
164
+ width: auto;
165
+ }
166
+
140
167
  .crewlet-statcard__trend > :where(button, a) {
141
168
  align-self: flex-end;
142
169
  }
@@ -1,13 +1,13 @@
1
- export { Switcher } from '../chunk-HVNTQ36V.js';
2
- import '../chunk-W5J7R5EB.js';
3
- import '../chunk-I3KKZ2O3.js';
1
+ export { Switcher } from '../chunk-O37AQNLK.js';
2
+ import '../chunk-TEUQWOWZ.js';
3
+ import '../chunk-XEGZHHRH.js';
4
4
  import '../chunk-F73MC7EZ.js';
5
- import '../chunk-BWRGFKJP.js';
5
+ import '../chunk-K3IJQNB7.js';
6
6
  import '../chunk-FYTIJM2T.js';
7
7
  import '../chunk-6QFAK2WV.js';
8
8
  import '../chunk-PQADV6P6.js';
9
- import '../chunk-IG75YMUN.js';
10
- import '../chunk-HMPFGIWM.js';
9
+ import '../chunk-RTPQDNW3.js';
10
+ import '../chunk-OMV5W53A.js';
11
11
  import '../chunk-R25RGPUB.js';
12
12
  import '../chunk-OG6CL3EB.js';
13
13
  import '../chunk-RSAQOKH3.js';
@@ -1,10 +1,10 @@
1
- export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-LFNUH4GY.js';
1
+ export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-K4VP6ZKE.js';
2
2
  import '../chunk-FBSEJO2C.js';
3
3
  import '../chunk-GFV4LJHH.js';
4
4
  import '../chunk-WIATRXEJ.js';
5
5
  import '../chunk-3CZ7XAVY.js';
6
6
  import '../chunk-EUCC37WY.js';
7
- import '../chunk-UAN5NE7M.js';
8
- import '../chunk-5OM447RW.js';
7
+ import '../chunk-5AQBPHZD.js';
8
+ import '../chunk-PZKHBB7D.js';
9
9
  import '../chunk-BZFWDIV6.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- import React, { type ReactNode } from 'react';
1
+ import React, { type ReactNode, type Ref } from 'react';
2
2
  /**
3
3
  * How the row is drawn. `pill` is a segmented well with a raised chip for the
4
4
  * one that is on; `underline` is a strip with a sliding bar, for a screen's
@@ -14,8 +14,12 @@ export interface TabsItem {
14
14
  label: ReactNode;
15
15
  /** A glyph drawn before the label. A component, not a name. */
16
16
  icon?: ReactNode;
17
- /** How many things are behind this tab. Drawn as a Count beside the label. */
18
- count?: number | null;
17
+ /**
18
+ * How many things are behind this tab. Drawn as a Count beside the label,
19
+ * as it is given: a string is a figure the caller has already formatted
20
+ * ("1.2k", "50+").
21
+ */
22
+ count?: number | string | null;
19
23
  /**
20
24
  * What needs the reader behind this tab, drawn after the label: problems
21
25
  * as a danger count, a warning or an unsaved change as a 6px dot. It
@@ -77,6 +81,19 @@ export interface TabsProps {
77
81
  * and a screen reader told otherwise looks for a panel that never arrives.
78
82
  */
79
83
  renderItem?: (props: TabsRenderItemProps) => ReactNode;
84
+ /**
85
+ * Drawn inside the row after the last item, ROUTER MODE ONLY: the menu a
86
+ * navigation row folds its overflow into ("More"), or a note about every
87
+ * section. It is part of the navigation landmark, so a screen reader meets
88
+ * it with the links it continues. A tab list holds tabs alone, so a row
89
+ * without `renderItem` ignores it.
90
+ */
91
+ trailing?: ReactNode;
92
+ /**
93
+ * The row's root element, for a consumer that measures the row: which of
94
+ * its items fit, and what folds into its trailing menu.
95
+ */
96
+ ref?: Ref<HTMLElement> | undefined;
80
97
  }
81
98
  /**
82
99
  * The id of the tab that labels a tab panel, so a panel and the row that
@@ -103,7 +120,7 @@ export declare function tabId(panelId: string, value: string): string;
103
120
  * says. In router mode that IS what the items are, so the root becomes a
104
121
  * `nav`, the tab roles go, and the consumer's own link carries the state.
105
122
  */
106
- export declare function Tabs({ items, variant, size, ariaLabel, className, value, onValueChange, panelId, renderItem, }: TabsProps): React.JSX.Element;
123
+ export declare function Tabs({ items, variant, size, ariaLabel, className, value, onValueChange, panelId, renderItem, trailing, ref, }: TabsProps): React.JSX.Element;
107
124
  export interface TabPanelProps {
108
125
  /** The same id the row was given as `panelId`. */
109
126
  id: string;
@@ -1,4 +1,4 @@
1
- export { TabPanel, Tabs, tabId } from '../chunk-HJEVSQN6.js';
1
+ export { TabPanel, Tabs, tabId } from '../chunk-VL6CUNSX.js';
2
2
  import '../chunk-RKKO7QHH.js';
3
3
  import '../chunk-BHHIIK3M.js';
4
4
  import '../chunk-BZFWDIV6.js';
@@ -95,13 +95,14 @@
95
95
  * chips floated; the raised rung is held a visible step above the card by the
96
96
  * palette suite, and the hairline finds it on any other ground.
97
97
  *
98
- * The inset is 2px, which is smaller than the scale's first step on purpose:
99
- * it is the gap a chip needs to read as sitting IN the well. With the 1px
100
- * boundary it is three pixels a side, and a 24px chip makes a 30px row: the
101
- * medium control step, the height of the button beside it.
98
+ * The inset is 1px, a hairline of the well's own ground round each chip:
99
+ * with the 1px boundary it is two pixels a side, and a 24px chip makes a 28px
100
+ * row, the tab step. Tabs sit between the 26px controls of a toolbar or a
101
+ * panel and the 32px actions of a page, so a row of them reads as the place's
102
+ * navigation rather than as one more button beside them.
102
103
  */
103
104
  .crewlet-tabs--pill {
104
- --crewlet-tabs-pill-inset: 2px;
105
+ --crewlet-tabs-pill-inset: 1px;
105
106
 
106
107
  gap: var(--crewlet-tabs-pill-inset);
107
108
  padding: var(--crewlet-tabs-pill-inset);
@@ -205,8 +206,8 @@
205
206
  * can hit. max() against --size-target-min holds every density at 24px or
206
207
  * more, and at density 1 the two agree.
207
208
  *
208
- * The corner is the small radius, the design's: the well's 8px less its 1px
209
- * boundary and 2px inset is 5px, and a chip a pixel rounder than that
209
+ * The corner is the chip radius (--radius-chip): the well's 8px less its 1px
210
+ * boundary and 1px inset is 6px, and a chip a pixel rounder than that
210
211
  * concentric curve is what reads as a chip sitting IN the well rather than a
211
212
  * second well inside it. The side pad is the design's 10px, two steps and a
212
213
  * half.
@@ -224,7 +225,7 @@
224
225
  .crewlet-tabs--pill .crewlet-tabs__tab {
225
226
  min-height: max(var(--size-target-min), calc(var(--size-control-md) - 6px));
226
227
  padding: 0 calc(var(--spacing-2) + var(--spacing-1) / 2);
227
- border-radius: var(--radius-sm);
228
+ border-radius: var(--radius-chip);
228
229
  color: var(--color-text-secondary);
229
230
  font-size: var(--font-size-xs);
230
231
  }
@@ -2,7 +2,7 @@ export { TagsInput } from '../chunk-2CQLNML5.js';
2
2
  import '../chunk-GFV4LJHH.js';
3
3
  import '../chunk-WIATRXEJ.js';
4
4
  import '../chunk-F73MC7EZ.js';
5
- import '../chunk-HMPFGIWM.js';
5
+ import '../chunk-OMV5W53A.js';
6
6
  import '../chunk-R25RGPUB.js';
7
7
  import '../chunk-RSAQOKH3.js';
8
8
  import '../chunk-4FQT6ZAY.js';
@@ -1,9 +1,9 @@
1
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-WJDQ7XQA.js';
1
+ export { DensitySwitcher, ThemeSwitcher } from '../chunk-2QEDJSJC.js';
2
2
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
3
3
  export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
4
- import '../chunk-FQCLKD7U.js';
5
- import '../chunk-RCQXUT5K.js';
6
- import '../chunk-HJEVSQN6.js';
4
+ import '../chunk-WKEPORNM.js';
5
+ import '../chunk-CCAXYHQS.js';
6
+ import '../chunk-VL6CUNSX.js';
7
7
  import '../chunk-RKKO7QHH.js';
8
8
  import '../chunk-BHHIIK3M.js';
9
9
  import '../chunk-BZFWDIV6.js';
@@ -1,11 +1,11 @@
1
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-UZ6MA2V6.js';
2
- import '../chunk-FC4YTTFJ.js';
1
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-2DHMVB5J.js';
2
+ import '../chunk-UQGFHNDI.js';
3
3
  import '../chunk-F73MC7EZ.js';
4
- import '../chunk-BWRGFKJP.js';
4
+ import '../chunk-K3IJQNB7.js';
5
5
  import '../chunk-GXQ3B46I.js';
6
6
  import '../chunk-6QFAK2WV.js';
7
7
  import '../chunk-PQADV6P6.js';
8
- import '../chunk-HMPFGIWM.js';
8
+ import '../chunk-OMV5W53A.js';
9
9
  import '../chunk-R25RGPUB.js';
10
10
  import '../chunk-OG6CL3EB.js';
11
11
  import '../chunk-4FQT6ZAY.js';
@@ -1,5 +1,5 @@
1
- export { ToastProvider, Toaster, useToast } from '../chunk-QH3AKP2N.js';
2
- import '../chunk-HMPFGIWM.js';
1
+ export { ToastProvider, Toaster, useToast } from '../chunk-AC22RZKC.js';
2
+ import '../chunk-OMV5W53A.js';
3
3
  import '../chunk-R25RGPUB.js';
4
4
  import '../chunk-BZFWDIV6.js';
5
5
  import '../chunk-ODEQTPFM.js';
@@ -234,13 +234,22 @@
234
234
  * THE COUNTDOWN IS A WASH BEHIND THE WORDS, the variant's soft step over the
235
235
  * whole strip, draining from the right as the time runs out. It sits under
236
236
  * every raised child, and it is the timer's picture, not the timer.
237
+ *
238
+ * ITS LEADING EDGE FADES OUT rather than stopping. Cut square, the wash read
239
+ * as a strip painted in two tones whenever it stood still: in a still frame,
240
+ * and under the pointer, which pauses it, which is when a reader is looking.
241
+ * Feathered, a stopped wash still reads as a tint running out.
237
242
  */
238
243
  .crewlet-toast__progress {
239
244
  position: absolute;
240
245
  inset: 0;
241
246
  z-index: var(--z-index-base);
242
247
  transform-origin: left center;
243
- background: var(--crewlet-toast-wash);
248
+ background: linear-gradient(
249
+ to right,
250
+ var(--crewlet-toast-wash) calc(100% - var(--spacing-7)),
251
+ transparent
252
+ );
244
253
  pointer-events: none;
245
254
  animation-name: crewlet-toast-drain;
246
255
  animation-timing-function: linear;
@@ -1,4 +1,4 @@
1
1
  export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-PGRPNDWM.js';
2
- import '../chunk-HMPFGIWM.js';
2
+ import '../chunk-OMV5W53A.js';
3
3
  import '../chunk-R25RGPUB.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { Tooltip } from '../chunk-QWOPX2MN.js';
2
- import '../chunk-HMPFGIWM.js';
1
+ export { Tooltip } from '../chunk-5FYPE5GL.js';
2
+ import '../chunk-OMV5W53A.js';
3
3
  import '../chunk-R25RGPUB.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,8 +1,10 @@
1
- export { TreeCanvas } from '../chunk-S6VG5ZFZ.js';
1
+ export { TreeCanvas } from '../chunk-4IJS5CPF.js';
2
2
  import '../chunk-MY374UUD.js';
3
- import '../chunk-OJ45PPCV.js';
4
- import '../chunk-VYOKRN2I.js';
5
- import '../chunk-HMPFGIWM.js';
3
+ import '../chunk-22UEIXZE.js';
4
+ import '../chunk-LM3ISVJA.js';
5
+ import '../chunk-SMBKXWML.js';
6
+ import '../chunk-5FYPE5GL.js';
7
+ import '../chunk-OMV5W53A.js';
6
8
  import '../chunk-R25RGPUB.js';
7
9
  import '../chunk-OG6CL3EB.js';
8
10
  import '../chunk-4FQT6ZAY.js';
@@ -1,7 +1,7 @@
1
- export { TreeGrid } from '../chunk-VEB5ERRE.js';
1
+ export { TreeGrid } from '../chunk-QWNVSR6G.js';
2
2
  import '../chunk-MY374UUD.js';
3
- import '../chunk-VYOKRN2I.js';
4
- import '../chunk-HMPFGIWM.js';
3
+ import '../chunk-LM3ISVJA.js';
4
+ import '../chunk-OMV5W53A.js';
5
5
  import '../chunk-R25RGPUB.js';
6
6
  import '../chunk-4FQT6ZAY.js';
7
7
  import '../chunk-BZFWDIV6.js';
@@ -1,8 +1,8 @@
1
- export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-EHQTPVV4.js';
1
+ export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-PLTCDSTU.js';
2
2
  import '../chunk-BVWSLXTY.js';
3
- import '../chunk-FQCLKD7U.js';
4
- import '../chunk-RCQXUT5K.js';
5
- import '../chunk-HJEVSQN6.js';
3
+ import '../chunk-WKEPORNM.js';
4
+ import '../chunk-CCAXYHQS.js';
5
+ import '../chunk-VL6CUNSX.js';
6
6
  import '../chunk-RKKO7QHH.js';
7
7
  import '../chunk-RA2ULG6H.js';
8
8
  import '../chunk-BHHIIK3M.js';
@@ -1,10 +1,10 @@
1
- export { VersionTimeline } from '../chunk-W4XYY73O.js';
1
+ export { VersionTimeline } from '../chunk-VHZ3AXJD.js';
2
2
  import '../chunk-AUQPBL4O.js';
3
- import '../chunk-4KP4RC3O.js';
3
+ import '../chunk-CI3VPIJN.js';
4
4
  import '../chunk-3CZ7XAVY.js';
5
5
  import '../chunk-EUCC37WY.js';
6
- import '../chunk-UAN5NE7M.js';
7
- import '../chunk-5OM447RW.js';
6
+ import '../chunk-5AQBPHZD.js';
7
+ import '../chunk-PZKHBB7D.js';
8
8
  import '../chunk-OG6CL3EB.js';
9
9
  import '../chunk-BZFWDIV6.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -50,6 +50,13 @@ export interface WidgetFrameProps extends Omit<HTMLAttributes<HTMLElement>, 'tit
50
50
  * other figure keeps the frame's inset.
51
51
  */
52
52
  flush?: boolean | undefined;
53
+ /**
54
+ * Keep the title's two lines whether it fills them or not, so the figures of
55
+ * a row of frames start on one line: a number under a title of one line and
56
+ * a number under a title of two stood a line apart. For a row of figures
57
+ * read across (stats and meters), never for a frame alone in its row.
58
+ */
59
+ holdTitle?: boolean | undefined;
53
60
  /** The heading level of the title. Default 3, under a board's own heading. */
54
61
  headingLevel?: 2 | 3 | 4 | undefined;
55
62
  /** Overrides the shared clock, for a story or a suite. */
@@ -83,4 +90,4 @@ export interface WidgetFrameProps extends Omit<HTMLAttributes<HTMLElement>, 'tit
83
90
  * Sits inside the host's `ArrangeFrame`, which owns the grid, the drag and
84
91
  * the resize; this owns what is inside the card.
85
92
  */
86
- export declare function WidgetFrame({ title, source, onCite, actions, flush, headingLevel, now, labels, className, children, ...rest }: WidgetFrameProps): import("react").JSX.Element;
93
+ export declare function WidgetFrame({ title, source, onCite, actions, flush, holdTitle, headingLevel, now, labels, className, children, ...rest }: WidgetFrameProps): import("react").JSX.Element;
@@ -1,5 +1,5 @@
1
- export { WidgetFrame } from '../chunk-AAOH2P6Y.js';
2
- import '../chunk-W5J7R5EB.js';
1
+ export { WidgetFrame } from '../chunk-DFK5EQTU.js';
2
+ import '../chunk-TEUQWOWZ.js';
3
3
  import '../chunk-3CZ7XAVY.js';
4
4
  import '../chunk-EUCC37WY.js';
5
5
  import '../chunk-BZFWDIV6.js';
@@ -60,6 +60,11 @@
60
60
  line-clamp: 2;
61
61
  }
62
62
 
63
+ /* A held title keeps its two lines empty or not (see `holdTitle`). */
64
+ .crewlet-widget-frame--hold-title .crewlet-widget-frame__title {
65
+ min-height: calc(2 * 1em * var(--font-line-height-snug));
66
+ }
67
+
63
68
  /* The controls stand on the title's first line: the box is one line of the
64
69
  title tall and the control is centred in it, whatever its own height. */
65
70
  .crewlet-widget-frame__actions {
@@ -77,15 +82,27 @@
77
82
  overflow: auto;
78
83
  }
79
84
 
80
- /* A flush figure reaches the frame's sides, and a table's cells take the
81
- frame's inset, so its first column starts under the title and its row
82
- rules meet the border. */
85
+ /*
86
+ * A flush figure reaches the frame's sides, and a table's OUTER cells take the
87
+ * frame's inset, so its first column starts under the title, its last ends
88
+ * where the title row's controls do, and its row rules meet the border.
89
+ *
90
+ * ONLY THE OUTER ONES. Every cell took the frame's 16px a side, so two columns
91
+ * stood 32px apart and a table of eight columns ran past a widget the full
92
+ * width of a board; between columns a cell keeps the compact table's own
93
+ * inset. The last column is the last before the table's trailing spacer,
94
+ * which is not a column of the data.
95
+ */
83
96
  .crewlet-widget-frame--flush .crewlet-widget-frame__body {
84
97
  padding-inline: 0;
85
98
  }
86
99
 
87
- .crewlet-widget-frame--flush .crewlet-data-table--compact {
88
- --crewlet-data-table-cell-pad-x: var(--spacing-4);
100
+ .crewlet-widget-frame--flush .crewlet-data-table--compact :is(th, td):first-child {
101
+ padding-inline-start: var(--spacing-4);
102
+ }
103
+
104
+ .crewlet-widget-frame--flush .crewlet-data-table--compact :is(th, td):nth-last-child(1 of :not(.crewlet-data-table__th--spacer, .crewlet-data-table__td--spacer)) {
105
+ padding-inline-end: var(--spacing-4);
89
106
  }
90
107
 
91
108
  /* A stat tile drawn flush as the figure stands on the frame's inset; its own
@@ -95,6 +112,23 @@
95
112
  padding: 0;
96
113
  }
97
114
 
115
+ /* A FRAME TOO NARROW FOR THE DISPLAY NUMBER sets it a step down rather than
116
+ cutting it: two columns of a board are about 120px, and a number at the
117
+ display step lost its last digits there ("123.…"). */
118
+ @container crewlet-widget-frame (width < 11rem) {
119
+ .crewlet-widget-frame__body .crewlet-statcard__value {
120
+ font-size: var(--font-size-xl);
121
+ }
122
+ }
123
+
124
+ /* NOR DOES IT RESERVE A SECOND LINE IT HAS NOTHING FOR. The reserve keeps a
125
+ StatGroup's tiles at one height; a frame takes its height from the board,
126
+ and the empty line stood as a band of air between the number and the
127
+ citation that no other figure has. */
128
+ .crewlet-widget-frame__body .crewlet-statcard__sub:empty {
129
+ display: none;
130
+ }
131
+
98
132
  .crewlet-widget-frame__blocked {
99
133
  display: flex;
100
134
  align-items: flex-start;
@@ -190,8 +224,18 @@
190
224
  align-items: flex-start;
191
225
  }
192
226
 
227
+ /* STACKED, THE TITLE TAKES A SECOND LINE BEFORE IT ENDS: a frame three
228
+ columns wide cut "Deploys for the chosen service" to "Deploys for the
229
+ chosen se…". Past two lines it ends in an ellipsis, and the whole title
230
+ is the citation's tooltip. */
193
231
  .crewlet-widget-frame__source {
232
+ display: -webkit-box;
194
233
  max-width: 100%;
234
+ white-space: normal;
235
+ overflow-wrap: anywhere;
236
+ -webkit-box-orient: vertical;
237
+ -webkit-line-clamp: 2;
238
+ line-clamp: 2;
195
239
  }
196
240
 
197
241
  .crewlet-widget-frame__when::before {