@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
@@ -147,7 +147,11 @@
147
147
  background: var(--color-surface-background);
148
148
  }
149
149
 
150
+ /* THE LEGEND SPANS THE BAND: a palette's foot has no actions, so its start
151
+ slot takes the whole width, and a consumer that ends the legend with what
152
+ the search is doing can push that to the band's end. */
150
153
  .crewlet-palette .crewlet-modal__footer-start {
154
+ flex: 1 1 auto;
151
155
  gap: var(--spacing-4);
152
156
  font-size: var(--font-size-xs);
153
157
  }
@@ -1,13 +1,13 @@
1
- export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-GR55WT4R.js';
1
+ export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-IYO2N5ZH.js';
2
2
  import '../chunk-7DZDSSJS.js';
3
3
  import '../chunk-6QFAK2WV.js';
4
4
  import '../chunk-SMBKXWML.js';
5
- import '../chunk-M3LUNN7F.js';
6
- import '../chunk-4KP4RC3O.js';
5
+ import '../chunk-TYKQ33CL.js';
6
+ import '../chunk-CI3VPIJN.js';
7
7
  import '../chunk-3CZ7XAVY.js';
8
8
  import '../chunk-EUCC37WY.js';
9
- import '../chunk-UAN5NE7M.js';
10
- import '../chunk-5OM447RW.js';
9
+ import '../chunk-5AQBPHZD.js';
10
+ import '../chunk-PZKHBB7D.js';
11
11
  import '../chunk-BHHIIK3M.js';
12
12
  import '../chunk-PQADV6P6.js';
13
13
  import '../chunk-OG6CL3EB.js';
@@ -1,2 +1,2 @@
1
- export { Container } from '../chunk-QVE4GJAT.js';
1
+ export { Container } from '../chunk-HJO4WCH6.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -45,8 +45,10 @@
45
45
  max-width: none;
46
46
  }
47
47
 
48
+ /* A PHONE'S GUTTER IS THE SHELL'S, 16px, the top bar's own inset: a narrower
49
+ one stood a page's content left of the title over it. */
48
50
  @media (max-width: 480px) {
49
51
  .crewlet-container {
50
- padding-inline: var(--spacing-3);
52
+ padding-inline: var(--spacing-4);
51
53
  }
52
54
  }
@@ -11,23 +11,27 @@
11
11
  color: var(--color-text-tertiary);
12
12
  }
13
13
 
14
+ /*
15
+ * THE FIGURES ARE ROWS, the label at the start and the figure (or the dataset
16
+ * it cites) at the end. Three tiles side by side gave each label a third of a
17
+ * card's width, so every one was cut to its first word ("Open w…" over "Open
18
+ * w…"); a row gives the label the card's width, which is what says what the
19
+ * board measures.
20
+ */
14
21
  .crewlet-dashboard-cover--stats {
15
22
  display: grid;
16
- grid-auto-columns: minmax(0, 1fr);
17
- grid-auto-flow: column;
18
- align-items: center;
23
+ grid-auto-rows: minmax(0, 1fr);
19
24
  gap: var(--spacing-2);
20
25
  }
21
26
 
22
27
  .crewlet-dashboard-cover__stat {
23
28
  display: flex;
24
- flex-direction: column;
25
- justify-content: center;
26
- gap: var(--spacing-1);
29
+ align-items: center;
30
+ justify-content: space-between;
31
+ gap: var(--spacing-3);
27
32
  min-width: 0;
28
- height: 100%;
29
- max-height: 100%;
30
- padding: var(--spacing-2) var(--spacing-3);
33
+ min-height: 0;
34
+ padding: 0 var(--spacing-3);
31
35
  border: 1px solid var(--color-border-default);
32
36
  border-radius: var(--radius-md);
33
37
  background: var(--color-surface-elevated);
@@ -42,6 +46,33 @@
42
46
  white-space: nowrap;
43
47
  }
44
48
 
49
+ .crewlet-dashboard-cover__label {
50
+ flex: 1 1 auto;
51
+ min-width: 0;
52
+ color: var(--color-text-secondary);
53
+ }
54
+
55
+ .crewlet-dashboard-cover__value {
56
+ flex: none;
57
+ max-width: 50%;
58
+ overflow: hidden;
59
+ color: var(--color-text-primary);
60
+ font-size: var(--font-size-lg);
61
+ font-variant-numeric: tabular-nums;
62
+ font-weight: var(--font-weight-semibold);
63
+ line-height: var(--font-line-height-tight);
64
+ text-overflow: ellipsis;
65
+ white-space: nowrap;
66
+ }
67
+
68
+ .crewlet-dashboard-cover__source {
69
+ overflow: hidden;
70
+ font-size: var(--font-size-xs);
71
+ line-height: var(--font-line-height-snug);
72
+ text-overflow: ellipsis;
73
+ white-space: nowrap;
74
+ }
75
+
45
76
  .crewlet-dashboard-cover__label {
46
77
  color: var(--color-text-secondary);
47
78
  }
@@ -58,6 +89,8 @@
58
89
  }
59
90
 
60
91
  .crewlet-dashboard-cover__source {
92
+ flex: 0 1 auto;
93
+ max-width: 50%;
61
94
  color: var(--color-text-tertiary);
62
95
  }
63
96
 
@@ -1,14 +1,14 @@
1
- export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-EBJREOKS.js';
1
+ export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-UXXJDIYE.js';
2
2
  import '../chunk-STJ7QBC3.js';
3
3
  import '../chunk-DTIW4CHZ.js';
4
- import '../chunk-I3KKZ2O3.js';
5
- import '../chunk-7T42VQQT.js';
4
+ import '../chunk-XEGZHHRH.js';
5
+ import '../chunk-CPEPST4S.js';
6
6
  import '../chunk-6QFAK2WV.js';
7
7
  import '../chunk-EUCC37WY.js';
8
8
  import '../chunk-AV2DXAEL.js';
9
9
  import '../chunk-PQADV6P6.js';
10
- import '../chunk-2HIOJ4YZ.js';
11
- import '../chunk-HMPFGIWM.js';
10
+ import '../chunk-3EB2AV3H.js';
11
+ import '../chunk-OMV5W53A.js';
12
12
  import '../chunk-R25RGPUB.js';
13
13
  import '../chunk-OG6CL3EB.js';
14
14
  import '../chunk-4FQT6ZAY.js';
@@ -547,6 +547,9 @@ body.crewlet-data-table-resizing {
547
547
  */
548
548
  --crewlet-data-table-cell-pad-y: calc((var(--spacing-2) + var(--spacing-3)) / 2);
549
549
  --crewlet-data-table-cell-pad-x: var(--spacing-3);
550
+ /* The row's height, the list row token unless a host's list keeps another
551
+ rhythm (and rebinds the cell's vertical inset to fit inside it). */
552
+ --crewlet-data-table-row-height: var(--size-row-md);
550
553
  /* The header's own vertical inset. It equals the cell's at this density and
551
554
  parts from it at comfortable, which is where 0.2.0 drew the two apart. */
552
555
  --crewlet-data-table-head-pad-y: var(--crewlet-data-table-cell-pad-y);
@@ -964,7 +967,7 @@ body.crewlet-data-table-resizing {
964
967
  .crewlet-data-table--compact .crewlet-data-table__table td {
965
968
  /* The row token, so a compact table lines up with every other list in a
966
969
  product and a cell holding one word is as tall as a cell holding a chip. */
967
- height: var(--size-row-md);
970
+ height: var(--crewlet-data-table-row-height);
968
971
  }
969
972
 
970
973
  /*
@@ -1,15 +1,15 @@
1
- export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-RODMM35O.js';
1
+ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-7Q7WDXHG.js';
2
2
  import '../chunk-HOXGBLEY.js';
3
- import '../chunk-PGRPNDWM.js';
4
- import '../chunk-Y5NQ2LMS.js';
5
- import '../chunk-EBJREOKS.js';
3
+ import '../chunk-BY4N65PM.js';
4
+ import '../chunk-UXXJDIYE.js';
6
5
  import '../chunk-STJ7QBC3.js';
7
6
  import '../chunk-DTIW4CHZ.js';
8
- import '../chunk-I3KKZ2O3.js';
7
+ import '../chunk-XEGZHHRH.js';
9
8
  import '../chunk-F73MC7EZ.js';
10
- import '../chunk-BWRGFKJP.js';
9
+ import '../chunk-PGRPNDWM.js';
10
+ import '../chunk-K3IJQNB7.js';
11
11
  import '../chunk-GXQ3B46I.js';
12
- import '../chunk-7T42VQQT.js';
12
+ import '../chunk-CPEPST4S.js';
13
13
  import '../chunk-6QFAK2WV.js';
14
14
  import '../chunk-SMBKXWML.js';
15
15
  import '../chunk-3CZ7XAVY.js';
@@ -17,8 +17,8 @@ import '../chunk-EUCC37WY.js';
17
17
  import '../chunk-AV2DXAEL.js';
18
18
  import '../chunk-BHHIIK3M.js';
19
19
  import '../chunk-PQADV6P6.js';
20
- import '../chunk-2HIOJ4YZ.js';
21
- import '../chunk-HMPFGIWM.js';
20
+ import '../chunk-3EB2AV3H.js';
21
+ import '../chunk-OMV5W53A.js';
22
22
  import '../chunk-R25RGPUB.js';
23
23
  import '../chunk-OG6CL3EB.js';
24
24
  import '../chunk-4FQT6ZAY.js';
@@ -1,7 +1,7 @@
1
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-Y5NQ2LMS.js';
2
- import '../chunk-BWRGFKJP.js';
1
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-BY4N65PM.js';
2
+ import '../chunk-K3IJQNB7.js';
3
3
  import '../chunk-GXQ3B46I.js';
4
- import '../chunk-HMPFGIWM.js';
4
+ import '../chunk-OMV5W53A.js';
5
5
  import '../chunk-R25RGPUB.js';
6
6
  import '../chunk-OG6CL3EB.js';
7
7
  import '../chunk-4FQT6ZAY.js';
@@ -6,21 +6,20 @@ export interface DocTabsEditorItem {
6
6
  title: string;
7
7
  }
8
8
  export interface DocTabsEditorLabels extends ReorderLabels {
9
- /** The name of a tab's title field, by its position (from 1). */
9
+ /** The list's visible heading. */
10
+ heading: string;
11
+ /** The name of a tab's title field while it is renamed, by its position (from 1). */
10
12
  titleField: (position: number) => string;
11
- /** The name of the control that opens a tab's text; it is pressed while that text is open. */
12
- editText: (title: string) => string;
13
- remove: (title: string) => string;
14
- /** Why the last tab cannot be removed. */
15
- lastTab: string;
16
- moveUp: (title: string) => string;
17
- moveDown: (title: string) => string;
18
- atTop: (title: string) => string;
19
- atBottom: (title: string) => string;
20
- newTitle: string;
13
+ /** The name of a tab's menu of actions. */
14
+ actions: (title: string) => string;
15
+ rename: string;
16
+ moveUp: string;
17
+ moveDown: string;
18
+ remove: string;
19
+ /** The name of the control that starts a new tab. */
21
20
  add: string;
22
- /** Why Add waits for a title. */
23
- addNeedsTitle: string;
21
+ /** The name and placeholder of the new tab's title field. */
22
+ newTitle: string;
24
23
  untitled: string;
25
24
  }
26
25
  export declare const DOC_TABS_EDITOR_LABELS: DocTabsEditorLabels;
@@ -45,16 +44,30 @@ export interface DocTabsEditorProps {
45
44
  className?: string | undefined;
46
45
  }
47
46
  /**
48
- * The tabs of a document an editor arranges: each tab's title edited in place,
49
- * its text opened beside the list, moved by its handle, the arrow keys or the
50
- * move buttons, and removed; and a tab added after the one open.
47
+ * The tabs of a document an editor arranges, drawn as the list a reader's
48
+ * outline is: each tab a row that opens its text beside the list, the open
49
+ * one marked, and what else a tab can do (rename, move, remove) in the row's
50
+ * own menu, so a list of six tabs reads as six titles rather than thirty
51
+ * controls.
52
+ *
53
+ * A TITLE IS RENAMED IN PLACE. Rename (or a double press on the title) turns
54
+ * the row's title into its field, where Enter or leaving the field keeps the
55
+ * title and Escape puts back the one it had. A title the host refuses
56
+ * (`titleProblem`) is said under it, while it is renamed and after, since the
57
+ * host will not save it either.
58
+ *
59
+ * A NEW TAB IS NAMED BEFORE IT EXISTS. Add opens a field under the open tab,
60
+ * where the new tab will land; Enter, or leaving a field that holds a title,
61
+ * reports the title, and Escape or an empty field adds nothing, so the host
62
+ * never names a tab's file after a placeholder.
51
63
  *
52
64
  * THE HOST OWNS THE TABS. Every change is reported and nothing is kept here
53
- * but the new tab's title as it is typed, so a draft the host merges or
54
- * resets is what the list shows. A title is held to the host's rules at its
55
- * field (`titleProblem`), said beside it rather than after a save.
65
+ * but which row is being renamed and the new tab's title as it is typed, so a
66
+ * draft the host merges or resets is what the list shows. The handle moves a
67
+ * tab by pointer or by the arrow keys, and the menu moves it a step for
68
+ * anyone who reaches neither.
56
69
  *
57
- * THE LAST TAB IS NOT REMOVED: a document keeps one, so its Remove says why
58
- * rather than disappearing.
70
+ * THE LAST TAB IS NOT REMOVED: a document keeps one, so its Remove is shown
71
+ * unavailable rather than missing.
59
72
  */
60
73
  export declare function DocTabsEditor({ label, items, selected, onSelect, onRename, onReorder, onRemove, onAdd, titleProblem, addBlocked, disabled, labels: overrides, className, }: DocTabsEditorProps): import("react").JSX.Element;
@@ -1,7 +1,10 @@
1
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-UZ7ZUSLH.js';
1
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-YZFLH463.js';
2
2
  import '../chunk-XJ2QEBMM.js';
3
3
  import '../chunk-6QFAK2WV.js';
4
4
  import '../chunk-PQADV6P6.js';
5
+ import '../chunk-3EB2AV3H.js';
6
+ import '../chunk-OMV5W53A.js';
7
+ import '../chunk-R25RGPUB.js';
5
8
  import '../chunk-OG6CL3EB.js';
6
9
  import '../chunk-RSAQOKH3.js';
7
10
  import '../chunk-4FQT6ZAY.js';
@@ -0,0 +1,189 @@
1
+ /*
2
+ * DocTabsEditor: a document's tabs as the rows of a list, set in the register
3
+ * of the outline a reader sees in the same column. A row is its title, the
4
+ * open one filled as an inbox's open row is; its handle and its menu wait at
5
+ * its edges and show under the pointer or the keyboard, so six tabs read as
6
+ * six titles.
7
+ */
8
+
9
+ .crewlet-doc-tabs-editor {
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: var(--spacing-1);
13
+ min-width: 0;
14
+ }
15
+
16
+ /* The list's name in the outline's register, with Add at its end. */
17
+ .crewlet-doc-tabs-editor__head {
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: space-between;
21
+ gap: var(--spacing-2);
22
+ min-height: var(--size-control-sm);
23
+ }
24
+
25
+ .crewlet-doc-tabs-editor__heading {
26
+ margin: 0;
27
+ font-family: var(--font-family-sans);
28
+ font-size: var(--font-size-xs);
29
+ font-weight: var(--font-weight-medium);
30
+ line-height: var(--font-line-height-tight);
31
+ color: var(--color-text-tertiary);
32
+ }
33
+
34
+ .crewlet-doc-tabs-editor__list {
35
+ display: flex;
36
+ flex-direction: column;
37
+ gap: calc(var(--spacing-1) / 2);
38
+ margin: 0;
39
+ padding: 0;
40
+ list-style: none;
41
+ }
42
+
43
+ /*
44
+ * A ROW IS THREE TRACKS that every row shares: the handle, the title and the
45
+ * menu. The title's column starts at one edge all the way down, and a title
46
+ * wraps rather than being cut, since a tab cut to fit is one an editor
47
+ * cannot tell from its neighbour.
48
+ */
49
+ .crewlet-doc-tabs-editor__item {
50
+ display: grid;
51
+ grid-template-columns: var(--size-control-sm) minmax(0, 1fr) var(--size-control-sm);
52
+ align-items: start;
53
+ gap: calc(var(--spacing-1) / 2);
54
+ padding: calc(var(--spacing-1) / 2);
55
+ border-radius: var(--radius-md);
56
+ transition: background var(--motion-duration-fast) var(--motion-easing-default);
57
+ }
58
+
59
+ .crewlet-doc-tabs-editor__item:hover {
60
+ background: var(--color-surface-hover);
61
+ }
62
+
63
+ .crewlet-doc-tabs-editor__item.is-open,
64
+ .crewlet-doc-tabs-editor__item.is-open:hover {
65
+ background: var(--color-surface-pressed);
66
+ }
67
+
68
+ /* A row being renamed is its field: the fill would sit around a second box. */
69
+ .crewlet-doc-tabs-editor__item.is-renaming,
70
+ .crewlet-doc-tabs-editor__item.is-renaming:hover {
71
+ background: none;
72
+ }
73
+
74
+ /* The new tab's field stands where its title will, in the title's track. */
75
+ .crewlet-doc-tabs-editor__item--new > .crewlet-doc-tabs-editor__field {
76
+ grid-column: 2;
77
+ }
78
+
79
+ .crewlet-doc-tabs-editor__item[data-reorder='dragging'] {
80
+ outline: 1px dashed var(--color-border-strong);
81
+ outline-offset: -1px;
82
+ background: transparent;
83
+ }
84
+
85
+ .crewlet-doc-tabs-editor__item[data-reorder='dragging'] > * {
86
+ opacity: 0.4;
87
+ }
88
+
89
+ .crewlet-doc-tabs-editor__handle {
90
+ cursor: grab;
91
+ color: var(--color-text-tertiary);
92
+ }
93
+
94
+ .crewlet-doc-tabs-editor__handle:active {
95
+ cursor: grabbing;
96
+ }
97
+
98
+ .crewlet-doc-tabs-editor__field {
99
+ display: flex;
100
+ flex-direction: column;
101
+ gap: calc(var(--spacing-1) / 2);
102
+ min-width: 0;
103
+ }
104
+
105
+ /*
106
+ * The title, which opens the tab: the row's own words, never a second box.
107
+ * Its words start where the small field's do (its side padding and its 1px
108
+ * border), so a title does not jump sideways when Rename turns it into one.
109
+ */
110
+ .crewlet-doc-tabs-editor__open {
111
+ display: block;
112
+ width: 100%;
113
+ min-height: var(--size-control-sm);
114
+ margin: 0;
115
+ padding: calc((var(--size-control-sm) - var(--font-size-compact) * var(--font-line-height-snug)) / 2)
116
+ calc(var(--spacing-2) + 1px);
117
+ border: 0;
118
+ border-radius: var(--radius-sm);
119
+ background: none;
120
+ font-family: var(--font-family-sans);
121
+ font-size: var(--font-size-compact);
122
+ font-weight: var(--font-weight-regular);
123
+ line-height: var(--font-line-height-snug);
124
+ text-align: start;
125
+ color: var(--color-text-secondary);
126
+ overflow-wrap: anywhere;
127
+ cursor: pointer;
128
+ }
129
+
130
+ .crewlet-doc-tabs-editor__item:hover .crewlet-doc-tabs-editor__open,
131
+ .crewlet-doc-tabs-editor__open[aria-current='true'] {
132
+ color: var(--color-text-primary);
133
+ }
134
+
135
+ .crewlet-doc-tabs-editor__open:focus-visible {
136
+ outline: 2px solid var(--color-focus);
137
+ outline-offset: var(--size-focus-ring-inset-offset);
138
+ }
139
+
140
+ .crewlet-doc-tabs-editor__open:disabled {
141
+ cursor: not-allowed;
142
+ }
143
+
144
+ .crewlet-doc-tabs-editor__problem {
145
+ padding-inline: calc(var(--spacing-2) + 1px);
146
+ color: var(--color-feedback-danger-ink);
147
+ font-size: var(--font-size-xs);
148
+ line-height: var(--font-line-height-snug);
149
+ }
150
+
151
+ /*
152
+ * THE EDGES WAIT FOR THE POINTER. The handle and the menu are drawn on the
153
+ * row under the pointer, on the open row, on a row the keyboard is inside and
154
+ * on a row whose menu is open; elsewhere they keep their place unseen, so
155
+ * nothing moves when they appear. A device with no hover shows them always,
156
+ * since there is no pointer to wait for.
157
+ */
158
+ @media (hover: hover) {
159
+ .crewlet-doc-tabs-editor__handle,
160
+ .crewlet-doc-tabs-editor__actions {
161
+ opacity: 0;
162
+ transition: opacity var(--motion-duration-fast) var(--motion-easing-default);
163
+ }
164
+
165
+ .crewlet-doc-tabs-editor__item:is(:hover, :focus-within, .is-open, :has([aria-expanded='true']))
166
+ :is(.crewlet-doc-tabs-editor__handle, .crewlet-doc-tabs-editor__actions) {
167
+ opacity: 1;
168
+ }
169
+ }
170
+
171
+ .crewlet-doc-tabs-editor__actions {
172
+ display: inline-flex;
173
+ }
174
+
175
+ @media (prefers-reduced-motion: reduce) {
176
+ .crewlet-doc-tabs-editor__item,
177
+ .crewlet-doc-tabs-editor__handle,
178
+ .crewlet-doc-tabs-editor__actions {
179
+ transition: none;
180
+ }
181
+ }
182
+
183
+ /* FORCED COLORS drop the open row's fill, so it is outlined instead. */
184
+ @media (forced-colors: active) {
185
+ .crewlet-doc-tabs-editor__item.is-open {
186
+ outline: 1px solid Highlight;
187
+ outline-offset: -1px;
188
+ }
189
+ }
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes } from 'react';
1
+ import type { HTMLAttributes, InputHTMLAttributes } from 'react';
2
2
  export type DocumentSize =
3
3
  /**
4
4
  * A page read on its own: the small step at the relaxed leading, sections at
@@ -61,3 +61,20 @@ export interface DocumentTitleProps extends HTMLAttributes<HTMLHeadingElement> {
61
61
  * a size of its own beside the body it heads.
62
62
  */
63
63
  export declare function DocumentTitle({ as: Tag, className, children, ...rest }: DocumentTitleProps): import("react").JSX.Element;
64
+ export interface DocumentTitleFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
65
+ /** Marks the title as refused. Sets `aria-invalid`, which is what a screen reader reads. */
66
+ error?: boolean | undefined;
67
+ }
68
+ /**
69
+ * A title being written: the field a new page's title is typed into, set as
70
+ * `DocumentTitle` sets it once the page exists, so what a writer types is what
71
+ * a reader will see above the body rather than a form's field above a page.
72
+ *
73
+ * IT DRAWS NO BOX. The words are the field, as the body under it is; a line
74
+ * along its foot marks it under the pointer, in focus (the ring's colour,
75
+ * since the caret alone is no indicator a keyboard can rely on) and in the
76
+ * danger ink when the title is refused. The name is the caller's
77
+ * (`aria-label`, or a label it points at), because a title field's visible
78
+ * cue is its placeholder, and a placeholder is not a name.
79
+ */
80
+ export declare function DocumentTitleField({ error, className, ...rest }: DocumentTitleFieldProps): import("react").JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import './Document.css';
2
- export { Document, DocumentTitle } from './Document.js';
3
- export type { DocumentElement, DocumentProps, DocumentSize, DocumentTitleProps } from './Document.js';
2
+ export { Document, DocumentTitle, DocumentTitleField } from './Document.js';
3
+ export type { DocumentElement, DocumentProps, DocumentSize, DocumentTitleFieldProps, DocumentTitleProps } from './Document.js';
@@ -1,2 +1,2 @@
1
- export { Document, DocumentTitle } from '../chunk-M3LUNN7F.js';
1
+ export { Document, DocumentTitle, DocumentTitleField } from '../chunk-TYKQ33CL.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -72,10 +72,25 @@
72
72
  font-size: var(--font-size-lg);
73
73
  }
74
74
 
75
- .crewlet-document :where(h4, h5, h6) {
75
+ /*
76
+ * EVERY LEVEL A STEP OF ITS OWN. A renderer draws a body from `h2` down, so a
77
+ * page's fourth and fifth levels land on `h5` and `h6`; set at one size with
78
+ * `h4`, three levels of a document read as one. The two deepest take the
79
+ * body's own step, and the last is told apart by its ink, as a run-in
80
+ * heading is in print.
81
+ */
82
+ .crewlet-document h4 {
76
83
  font-size: var(--font-size-md);
77
84
  }
78
85
 
86
+ .crewlet-document :where(h5, h6) {
87
+ font-size: var(--font-size-sm);
88
+ }
89
+
90
+ .crewlet-document h6 {
91
+ color: var(--color-text-secondary);
92
+ }
93
+
79
94
  .crewlet-document--sm h1 {
80
95
  font-size: var(--font-size-lg);
81
96
  }
@@ -118,6 +133,26 @@
118
133
  margin-block-start: var(--spacing-1);
119
134
  }
120
135
 
136
+ /*
137
+ * THE RHYTHM HOLDS INSIDE A BLOCK THAT HOLDS BLOCKS. The sibling rule above
138
+ * reaches only the body's own children, so a quote's second paragraph and a
139
+ * list item's second paragraph ran into the first with no gap at all. A quote
140
+ * is prose and takes the body's gap; a list item is one point and takes the
141
+ * smaller step, so its paragraphs still read as one item. A task item's
142
+ * blocks sit in the column beside its box, which is the same item.
143
+ */
144
+ .crewlet-document :where(blockquote, [data-callout-body]) > * + * {
145
+ margin-block-start: var(--crewlet-document-gap);
146
+ }
147
+
148
+ .crewlet-document :where(li, li > input[type='checkbox'] + *) > :not(input, ul, ol) + :not(ul, ol) {
149
+ margin-block-start: var(--spacing-2);
150
+ }
151
+
152
+ .crewlet-document li > input[type='checkbox'] + * > :where(ul, ol) {
153
+ margin-block-start: var(--spacing-1);
154
+ }
155
+
121
156
  .crewlet-document li::marker {
122
157
  color: var(--color-text-tertiary);
123
158
  }
@@ -287,6 +322,48 @@
287
322
  overflow-wrap: anywhere;
288
323
  }
289
324
 
325
+ /*
326
+ * The title while it is written (`DocumentTitleField`): the title's own type
327
+ * on no surface of its own, with a line along its foot that answers the
328
+ * pointer, the focus and a refusal. The line is a border rather than a
329
+ * shadow, because forced colours keep a border and drop a shadow.
330
+ */
331
+ .crewlet-document-title-field {
332
+ display: block;
333
+ width: 100%;
334
+ min-width: 0;
335
+ padding: 0 0 var(--spacing-1);
336
+ border: 0;
337
+ border-block-end: 2px solid transparent;
338
+ border-radius: 0;
339
+ background: none;
340
+ outline: none;
341
+ transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
342
+ }
343
+
344
+ .crewlet-document-title-field::placeholder {
345
+ color: var(--color-text-tertiary);
346
+ opacity: 1;
347
+ }
348
+
349
+ .crewlet-document-title-field:hover {
350
+ border-block-end-color: var(--color-border-default);
351
+ }
352
+
353
+ .crewlet-document-title-field:focus-visible {
354
+ border-block-end-color: var(--color-focus);
355
+ }
356
+
357
+ .crewlet-document-title-field[aria-invalid='true'] {
358
+ border-block-end-color: var(--color-feedback-danger);
359
+ }
360
+
361
+ @media (prefers-reduced-motion: reduce) {
362
+ .crewlet-document-title-field {
363
+ transition: none;
364
+ }
365
+ }
366
+
290
367
  /*
291
368
  * A TABLE CELL'S ALIGNMENT, read off `data-align` as well as off a style: an
292
369
  * editor that may not write a style attribute under a strict policy marks a
@@ -353,7 +430,3 @@
353
430
  .crewlet-document [data-callout-body] {
354
431
  color: var(--color-text-primary);
355
432
  }
356
-
357
- .crewlet-document [data-callout-body] > * + * {
358
- margin-block-start: var(--crewlet-document-gap);
359
- }
@@ -1,2 +1,2 @@
1
- export { EditingStatus } from '../chunk-FPS3JIPQ.js';
1
+ export { EditingStatus } from '../chunk-TC7DJTXI.js';
2
2
  import '../chunk-ODEQTPFM.js';