cursedbelt 5.40.0 → 5.45.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 (499) hide show
  1. package/dist/react/Toast.d.ts +12 -2
  2. package/dist/react/Toast.d.ts.map +1 -1
  3. package/dist/react/Toast.js +32 -3
  4. package/dist/react/Toast.js.map +1 -1
  5. package/dist/react/analytics/MetricDrilldown.js +1 -1
  6. package/dist/react/charts/AreaChart.d.ts.map +1 -1
  7. package/dist/react/charts/AreaChart.js +5 -5
  8. package/dist/react/charts/AreaChart.js.map +1 -1
  9. package/dist/react/charts/BarChart.d.ts.map +1 -1
  10. package/dist/react/charts/BarChart.js +3 -3
  11. package/dist/react/charts/BarChart.js.map +1 -1
  12. package/dist/react/charts/ChartCard.d.ts +53 -0
  13. package/dist/react/charts/ChartCard.d.ts.map +1 -0
  14. package/dist/react/charts/ChartCard.js +46 -0
  15. package/dist/react/charts/ChartCard.js.map +1 -0
  16. package/dist/react/charts/ChartFrame.d.ts +12 -5
  17. package/dist/react/charts/ChartFrame.d.ts.map +1 -1
  18. package/dist/react/charts/ChartFrame.js +12 -5
  19. package/dist/react/charts/ChartFrame.js.map +1 -1
  20. package/dist/react/charts/ChartLegend.js +1 -1
  21. package/dist/react/charts/ChartLegend.js.map +1 -1
  22. package/dist/react/charts/HeatmapChart.js +3 -3
  23. package/dist/react/charts/HeatmapChart.js.map +1 -1
  24. package/dist/react/charts/IntervalTimeline.js +1 -1
  25. package/dist/react/charts/IntervalTimeline.js.map +1 -1
  26. package/dist/react/charts/LineChart.d.ts.map +1 -1
  27. package/dist/react/charts/LineChart.js +3 -3
  28. package/dist/react/charts/LineChart.js.map +1 -1
  29. package/dist/react/charts/TimeSeriesChart.d.ts.map +1 -1
  30. package/dist/react/charts/TimeSeriesChart.js +6 -6
  31. package/dist/react/charts/TimeSeriesChart.js.map +1 -1
  32. package/dist/react/charts/chartBox.d.ts +46 -0
  33. package/dist/react/charts/chartBox.d.ts.map +1 -0
  34. package/dist/react/charts/chartBox.js +45 -0
  35. package/dist/react/charts/chartBox.js.map +1 -0
  36. package/dist/react/charts/index.d.ts +2 -0
  37. package/dist/react/charts/index.d.ts.map +1 -1
  38. package/dist/react/charts/index.js +2 -0
  39. package/dist/react/charts/index.js.map +1 -1
  40. package/dist/react/charts/shared.d.ts +13 -2
  41. package/dist/react/charts/shared.d.ts.map +1 -1
  42. package/dist/react/charts/shared.js +14 -3
  43. package/dist/react/charts/shared.js.map +1 -1
  44. package/dist/react/chat/Bubble.js +4 -4
  45. package/dist/react/chat/Bubble.js.map +1 -1
  46. package/dist/react/chat/MessageScroller.js +1 -1
  47. package/dist/react/chat/MessageScroller.js.map +1 -1
  48. package/dist/react/components/ActionBar.d.ts.map +1 -1
  49. package/dist/react/components/ActionBar.js +63 -1
  50. package/dist/react/components/ActionBar.js.map +1 -1
  51. package/dist/react/components/AddItemsMenu.js +1 -1
  52. package/dist/react/components/AddItemsMenu.js.map +1 -1
  53. package/dist/react/components/Alert.d.ts +16 -2
  54. package/dist/react/components/Alert.d.ts.map +1 -1
  55. package/dist/react/components/Alert.js +35 -2
  56. package/dist/react/components/Alert.js.map +1 -1
  57. package/dist/react/components/AppShell.d.ts +55 -33
  58. package/dist/react/components/AppShell.d.ts.map +1 -1
  59. package/dist/react/components/AppShell.js +121 -31
  60. package/dist/react/components/AppShell.js.map +1 -1
  61. package/dist/react/components/AsyncPanel.d.ts +21 -3
  62. package/dist/react/components/AsyncPanel.d.ts.map +1 -1
  63. package/dist/react/components/AsyncPanel.js +49 -5
  64. package/dist/react/components/AsyncPanel.js.map +1 -1
  65. package/dist/react/components/BannerLane.d.ts +32 -0
  66. package/dist/react/components/BannerLane.d.ts.map +1 -0
  67. package/dist/react/components/BannerLane.js +41 -0
  68. package/dist/react/components/BannerLane.js.map +1 -0
  69. package/dist/react/components/Button.d.ts.map +1 -1
  70. package/dist/react/components/Button.js +2 -1
  71. package/dist/react/components/Button.js.map +1 -1
  72. package/dist/react/components/ChipFilterStrip.js +1 -1
  73. package/dist/react/components/ChipFilterStrip.js.map +1 -1
  74. package/dist/react/components/ComboboxField.d.ts.map +1 -1
  75. package/dist/react/components/ComboboxField.js +14 -4
  76. package/dist/react/components/ComboboxField.js.map +1 -1
  77. package/dist/react/components/CommentThread.js +2 -2
  78. package/dist/react/components/CommentThread.js.map +1 -1
  79. package/dist/react/components/ConfirmDialog.js +1 -1
  80. package/dist/react/components/ConfirmDialog.js.map +1 -1
  81. package/dist/react/components/DataTable/DataTable.d.ts +18 -2
  82. package/dist/react/components/DataTable/DataTable.d.ts.map +1 -1
  83. package/dist/react/components/DataTable/DataTable.js +51 -12
  84. package/dist/react/components/DataTable/DataTable.js.map +1 -1
  85. package/dist/react/components/DataTable/Pagination.js +1 -1
  86. package/dist/react/components/DataTable/Pagination.js.map +1 -1
  87. package/dist/react/components/DataTable/RowActions.d.ts +7 -1
  88. package/dist/react/components/DataTable/RowActions.d.ts.map +1 -1
  89. package/dist/react/components/DataTable/RowActions.js +10 -3
  90. package/dist/react/components/DataTable/RowActions.js.map +1 -1
  91. package/dist/react/components/DataTable/TableFilterBuilder.js +1 -1
  92. package/dist/react/components/DataTable/TableFilterBuilder.js.map +1 -1
  93. package/dist/react/components/DataTable/cells/CodeCell.js +1 -1
  94. package/dist/react/components/DataTable/cells/CodeCell.js.map +1 -1
  95. package/dist/react/components/DataTable/cells/LinkCell.js +1 -1
  96. package/dist/react/components/DataTable/cells/LinkCell.js.map +1 -1
  97. package/dist/react/components/DataTable/index.d.ts +1 -1
  98. package/dist/react/components/DataTable/index.d.ts.map +1 -1
  99. package/dist/react/components/DataTable/index.js.map +1 -1
  100. package/dist/react/components/DataTable/types.d.ts +20 -0
  101. package/dist/react/components/DataTable/types.d.ts.map +1 -1
  102. package/dist/react/components/DataTable/types.js +22 -0
  103. package/dist/react/components/DataTable/types.js.map +1 -1
  104. package/dist/react/components/DateTimeField.d.ts.map +1 -1
  105. package/dist/react/components/DateTimeField.js +4 -1
  106. package/dist/react/components/DateTimeField.js.map +1 -1
  107. package/dist/react/components/DeleteButton.js +2 -0
  108. package/dist/react/components/DeleteButton.js.map +1 -1
  109. package/dist/react/components/Drawer.js +3 -3
  110. package/dist/react/components/Drawer.js.map +1 -1
  111. package/dist/react/components/DropdownMenu.d.ts +16 -0
  112. package/dist/react/components/DropdownMenu.d.ts.map +1 -1
  113. package/dist/react/components/DropdownMenu.js +22 -6
  114. package/dist/react/components/DropdownMenu.js.map +1 -1
  115. package/dist/react/components/EmptyState.d.ts +10 -2
  116. package/dist/react/components/EmptyState.d.ts.map +1 -1
  117. package/dist/react/components/EmptyState.js +10 -5
  118. package/dist/react/components/EmptyState.js.map +1 -1
  119. package/dist/react/components/EventTimeline.js +1 -1
  120. package/dist/react/components/EventTimeline.js.map +1 -1
  121. package/dist/react/components/FileDropZone.js +1 -1
  122. package/dist/react/components/FileDropZone.js.map +1 -1
  123. package/dist/react/components/Grid.d.ts +9 -1
  124. package/dist/react/components/Grid.d.ts.map +1 -1
  125. package/dist/react/components/Grid.js +20 -2
  126. package/dist/react/components/Grid.js.map +1 -1
  127. package/dist/react/components/Guide.d.ts +31 -0
  128. package/dist/react/components/Guide.d.ts.map +1 -0
  129. package/dist/react/components/Guide.js +18 -0
  130. package/dist/react/components/Guide.js.map +1 -0
  131. package/dist/react/components/InfoHintImpl.d.ts +0 -13
  132. package/dist/react/components/InfoHintImpl.d.ts.map +1 -1
  133. package/dist/react/components/InfoHintImpl.js +17 -1
  134. package/dist/react/components/InfoHintImpl.js.map +1 -1
  135. package/dist/react/components/InlineEditableText.js +1 -1
  136. package/dist/react/components/InlineEditableText.js.map +1 -1
  137. package/dist/react/components/IsolatedFrame.js +1 -1
  138. package/dist/react/components/IsolatedFrame.js.map +1 -1
  139. package/dist/react/components/ListToolbar.d.ts.map +1 -1
  140. package/dist/react/components/ListToolbar.js +2 -2
  141. package/dist/react/components/ListToolbar.js.map +1 -1
  142. package/dist/react/components/LogViewer.d.ts +26 -2
  143. package/dist/react/components/LogViewer.d.ts.map +1 -1
  144. package/dist/react/components/LogViewer.js +41 -26
  145. package/dist/react/components/LogViewer.js.map +1 -1
  146. package/dist/react/components/Modal.d.ts +5 -1
  147. package/dist/react/components/Modal.d.ts.map +1 -1
  148. package/dist/react/components/Modal.js +18 -8
  149. package/dist/react/components/Modal.js.map +1 -1
  150. package/dist/react/components/Page.d.ts +51 -7
  151. package/dist/react/components/Page.d.ts.map +1 -1
  152. package/dist/react/components/Page.js +53 -8
  153. package/dist/react/components/Page.js.map +1 -1
  154. package/dist/react/components/PageGuideButton.d.ts +11 -0
  155. package/dist/react/components/PageGuideButton.d.ts.map +1 -0
  156. package/dist/react/components/PageGuideButton.js +13 -0
  157. package/dist/react/components/PageGuideButton.js.map +1 -0
  158. package/dist/react/components/PanelSeparator.js +1 -1
  159. package/dist/react/components/PanelSeparator.js.map +1 -1
  160. package/dist/react/components/Popover.d.ts.map +1 -1
  161. package/dist/react/components/Popover.js +2 -1
  162. package/dist/react/components/Popover.js.map +1 -1
  163. package/dist/react/components/PromptDialog.js +1 -1
  164. package/dist/react/components/PromptDialog.js.map +1 -1
  165. package/dist/react/components/ScrollArea.d.ts +9 -1
  166. package/dist/react/components/ScrollArea.d.ts.map +1 -1
  167. package/dist/react/components/ScrollArea.js +9 -3
  168. package/dist/react/components/ScrollArea.js.map +1 -1
  169. package/dist/react/components/Section.d.ts +5 -2
  170. package/dist/react/components/Section.d.ts.map +1 -1
  171. package/dist/react/components/Section.js +5 -2
  172. package/dist/react/components/Section.js.map +1 -1
  173. package/dist/react/components/Skeleton.d.ts +19 -1
  174. package/dist/react/components/Skeleton.d.ts.map +1 -1
  175. package/dist/react/components/Skeleton.js +24 -2
  176. package/dist/react/components/Skeleton.js.map +1 -1
  177. package/dist/react/components/StatStrip.js +1 -1
  178. package/dist/react/components/StatStrip.js.map +1 -1
  179. package/dist/react/components/StatTile.d.ts +30 -3
  180. package/dist/react/components/StatTile.d.ts.map +1 -1
  181. package/dist/react/components/StatTile.js +35 -9
  182. package/dist/react/components/StatTile.js.map +1 -1
  183. package/dist/react/components/StatTileGrid.d.ts +10 -1
  184. package/dist/react/components/StatTileGrid.d.ts.map +1 -1
  185. package/dist/react/components/StatTileGrid.js +50 -33
  186. package/dist/react/components/StatTileGrid.js.map +1 -1
  187. package/dist/react/components/StatusPill.d.ts.map +1 -1
  188. package/dist/react/components/StatusPill.js +26 -1
  189. package/dist/react/components/StatusPill.js.map +1 -1
  190. package/dist/react/components/Surface.d.ts +1 -1
  191. package/dist/react/components/Surface.d.ts.map +1 -1
  192. package/dist/react/components/Surface.js +20 -11
  193. package/dist/react/components/Surface.js.map +1 -1
  194. package/dist/react/components/SwatchPicker.d.ts.map +1 -1
  195. package/dist/react/components/SwatchPicker.js +5 -1
  196. package/dist/react/components/SwatchPicker.js.map +1 -1
  197. package/dist/react/components/Switch.js +1 -1
  198. package/dist/react/components/Switch.js.map +1 -1
  199. package/dist/react/components/WidgetHeader.js +1 -1
  200. package/dist/react/components/WidgetHeader.js.map +1 -1
  201. package/dist/react/components/calendar/CalendarLegend.js +1 -1
  202. package/dist/react/components/calendar/CalendarLegend.js.map +1 -1
  203. package/dist/react/components/calendar/DayAgenda.js +1 -1
  204. package/dist/react/components/calendar/DayAgenda.js.map +1 -1
  205. package/dist/react/components/calendar/EventChip.js +1 -1
  206. package/dist/react/components/calendar/EventChip.js.map +1 -1
  207. package/dist/react/components/calendar/MonthGrid.js +1 -1
  208. package/dist/react/components/calendar/MonthGrid.js.map +1 -1
  209. package/dist/react/components/calendar/WeekView.js +2 -2
  210. package/dist/react/components/calendar/WeekView.js.map +1 -1
  211. package/dist/react/components/cardFrame.d.ts +16 -0
  212. package/dist/react/components/cardFrame.d.ts.map +1 -0
  213. package/dist/react/components/cardFrame.js +24 -0
  214. package/dist/react/components/cardFrame.js.map +1 -0
  215. package/dist/react/components/dialog.d.ts.map +1 -1
  216. package/dist/react/components/dialog.js +2 -1
  217. package/dist/react/components/dialog.js.map +1 -1
  218. package/dist/react/dashboard-grid/WidgetFrame.js +2 -2
  219. package/dist/react/dashboard-grid/WidgetFrame.js.map +1 -1
  220. package/dist/react/emoji/EmojiPicker.js +1 -1
  221. package/dist/react/emoji/EmojiPicker.js.map +1 -1
  222. package/dist/react/file-tree/FileTree.d.ts +8 -1
  223. package/dist/react/file-tree/FileTree.d.ts.map +1 -1
  224. package/dist/react/file-tree/FileTree.js +29 -4
  225. package/dist/react/file-tree/FileTree.js.map +1 -1
  226. package/dist/react/filter-rail/FilterRail.js +1 -1
  227. package/dist/react/filter-rail/FilterRail.js.map +1 -1
  228. package/dist/react/icons.js +1 -1
  229. package/dist/react/icons.js.map +1 -1
  230. package/dist/react/index.d.ts +8 -5
  231. package/dist/react/index.d.ts.map +1 -1
  232. package/dist/react/index.js +5 -2
  233. package/dist/react/index.js.map +1 -1
  234. package/dist/react/lib/menuSections.d.ts +8 -0
  235. package/dist/react/lib/menuSections.d.ts.map +1 -0
  236. package/dist/react/lib/menuSections.js +37 -0
  237. package/dist/react/lib/menuSections.js.map +1 -0
  238. package/dist/react/markdown/Markdown.js +2 -2
  239. package/dist/react/markdown/Markdown.js.map +1 -1
  240. package/dist/react/media/HoverScrubVideoThumb.js +1 -1
  241. package/dist/react/media/HoverScrubVideoThumb.js.map +1 -1
  242. package/dist/react/media/MaskPainter.js +1 -1
  243. package/dist/react/media/MediaUploadControl.js +1 -1
  244. package/dist/react/media/MediaUploadControl.js.map +1 -1
  245. package/dist/react/media/VideoTrimmer.js +1 -1
  246. package/dist/react/media/VideoTrimmer.js.map +1 -1
  247. package/dist/react/media/denseGallery.css +5 -1
  248. package/dist/react/namespace/NamespaceTargetCapsule.js +1 -1
  249. package/dist/react/namespace/NamespaceTargetCapsule.js.map +1 -1
  250. package/dist/react/nav/BreadcrumbTrail.js +1 -1
  251. package/dist/react/nav/BreadcrumbTrail.js.map +1 -1
  252. package/dist/react/nav/CommandBar.d.ts +7 -1
  253. package/dist/react/nav/CommandBar.d.ts.map +1 -1
  254. package/dist/react/nav/CommandBar.js +5 -3
  255. package/dist/react/nav/CommandBar.js.map +1 -1
  256. package/dist/react/nav/PlaceBar.d.ts.map +1 -1
  257. package/dist/react/nav/PlaceBar.js +7 -9
  258. package/dist/react/nav/PlaceBar.js.map +1 -1
  259. package/dist/react/nav/SideNav.d.ts +12 -2
  260. package/dist/react/nav/SideNav.d.ts.map +1 -1
  261. package/dist/react/nav/SideNav.js +42 -22
  262. package/dist/react/nav/SideNav.js.map +1 -1
  263. package/dist/react/nav/TopBar.d.ts +65 -31
  264. package/dist/react/nav/TopBar.d.ts.map +1 -1
  265. package/dist/react/nav/TopBar.js +59 -24
  266. package/dist/react/nav/TopBar.js.map +1 -1
  267. package/dist/react/nav/index.d.ts +1 -1
  268. package/dist/react/nav/index.d.ts.map +1 -1
  269. package/dist/react/nav/index.js +1 -1
  270. package/dist/react/nav/index.js.map +1 -1
  271. package/dist/react/nav/navShared.d.ts +10 -1
  272. package/dist/react/nav/navShared.d.ts.map +1 -1
  273. package/dist/react/nav/navShared.js +23 -0
  274. package/dist/react/nav/navShared.js.map +1 -1
  275. package/dist/react/notifications/NotificationFeed.js +2 -2
  276. package/dist/react/notifications/NotificationFeed.js.map +1 -1
  277. package/dist/react/palette/Command.d.ts.map +1 -1
  278. package/dist/react/palette/Command.js +1 -1
  279. package/dist/react/palette/Command.js.map +1 -1
  280. package/dist/react/palette/CommandPalette.d.ts +13 -1
  281. package/dist/react/palette/CommandPalette.d.ts.map +1 -1
  282. package/dist/react/palette/CommandPalette.js +44 -8
  283. package/dist/react/palette/CommandPalette.js.map +1 -1
  284. package/dist/react/palette/commandSources.d.ts +57 -0
  285. package/dist/react/palette/commandSources.d.ts.map +1 -0
  286. package/dist/react/palette/commandSources.js +129 -0
  287. package/dist/react/palette/commandSources.js.map +1 -0
  288. package/dist/react/palette/index.d.ts +1 -0
  289. package/dist/react/palette/index.d.ts.map +1 -1
  290. package/dist/react/palette/index.js +1 -0
  291. package/dist/react/palette/index.js.map +1 -1
  292. package/dist/react/rich-text/RichTextEditor.js +1 -1
  293. package/dist/react/rich-text/RichTextEditor.js.map +1 -1
  294. package/dist/react/rich-text/RichTextToolbar.js +1 -1
  295. package/dist/react/rich-text/RichTextToolbar.js.map +1 -1
  296. package/dist/scripts/guardrailsEnforce.d.ts.map +1 -1
  297. package/dist/styles-areas/analytics.css +16 -16
  298. package/dist/styles-areas/auth.css +3 -3
  299. package/dist/styles-areas/calendar.css +6 -6
  300. package/dist/styles-areas/chart-table.css +1 -1
  301. package/dist/styles-areas/charts.css +3 -3
  302. package/dist/styles-areas/chat.css +7 -6
  303. package/dist/styles-areas/companion-link.css +2 -2
  304. package/dist/styles-areas/core.css +98 -89
  305. package/dist/styles-areas/dashboard-grid.css +4 -4
  306. package/dist/styles-areas/data-table.css +16 -16
  307. package/dist/styles-areas/disk-usage.css +5 -5
  308. package/dist/styles-areas/emoji.css +2 -2
  309. package/dist/styles-areas/fields.css +13 -14
  310. package/dist/styles-areas/filter-rail.css +4 -4
  311. package/dist/styles-areas/folder-tree.css +3 -3
  312. package/dist/styles-areas/markdown.css +2 -1
  313. package/dist/styles-areas/master-detail.css +3 -3
  314. package/dist/styles-areas/media-gallery.css +8 -8
  315. package/dist/styles-areas/media.css +12 -13
  316. package/dist/styles-areas/nav.css +28 -14
  317. package/dist/styles-areas/notifications.css +4 -4
  318. package/dist/styles-areas/overlays.css +4 -4
  319. package/dist/styles-areas/palette.css +4 -3
  320. package/dist/styles-areas/rich-text.css +3 -3
  321. package/dist/styles-areas/sharing.css +4 -3
  322. package/dist/styles-areas/stats.css +9 -8
  323. package/dist/styles-areas/test-report.css +3 -3
  324. package/dist/styles-areas/wizard.css +6 -5
  325. package/dist/styles-areas/workbench.css +10 -9
  326. package/dist/styles-areas/workbook-viewer.css +2 -2
  327. package/dist/styles-utilities.css +272 -187
  328. package/dist/testing/designAudit.d.ts.map +1 -1
  329. package/dist/testing/designAudit.js +4 -0
  330. package/dist/testing/designAudit.js.map +1 -1
  331. package/dist/testing/designBaseline.d.ts.map +1 -1
  332. package/dist/testing/designBaseline.js +4 -0
  333. package/dist/testing/designBaseline.js.map +1 -1
  334. package/dist/theme.css +103 -2
  335. package/package.json +3 -2
  336. package/scripts/guardrails-baseline.json +2 -1
  337. package/scripts/guardrailsEnforce.spec.ts +64 -0
  338. package/scripts/guardrailsEnforce.ts +65 -8
  339. package/scripts/styleAreas.ts +1 -0
  340. package/src/nodeTypesDeclared.spec.ts +47 -0
  341. package/src/react/Toast.spec.tsx +43 -0
  342. package/src/react/Toast.tsx +45 -2
  343. package/src/react/analytics/MetricDrilldown.tsx +1 -1
  344. package/src/react/charts/AreaChart.tsx +9 -8
  345. package/src/react/charts/BarChart.tsx +11 -10
  346. package/src/react/charts/ChartCard.tsx +146 -0
  347. package/src/react/charts/ChartFrame.tsx +28 -10
  348. package/src/react/charts/ChartLegend.tsx +1 -1
  349. package/src/react/charts/HeatmapChart.tsx +5 -5
  350. package/src/react/charts/IntervalTimeline.tsx +2 -2
  351. package/src/react/charts/LineChart.tsx +9 -8
  352. package/src/react/charts/TimeSeriesChart.tsx +11 -10
  353. package/src/react/charts/chartBox.spec.ts +40 -0
  354. package/src/react/charts/chartBox.ts +75 -0
  355. package/src/react/charts/index.ts +2 -0
  356. package/src/react/charts/shared.ts +16 -3
  357. package/src/react/chat/Bubble.tsx +5 -5
  358. package/src/react/chat/MessageScroller.tsx +1 -1
  359. package/src/react/components/ActionBar.spec.tsx +90 -0
  360. package/src/react/components/ActionBar.tsx +82 -2
  361. package/src/react/components/AddItemsMenu.tsx +1 -1
  362. package/src/react/components/Alert.spec.tsx +32 -2
  363. package/src/react/components/Alert.tsx +47 -3
  364. package/src/react/components/AppShell.spec.tsx +199 -13
  365. package/src/react/components/AppShell.tsx +235 -92
  366. package/src/react/components/AsyncPanel.spec.tsx +7 -1
  367. package/src/react/components/AsyncPanel.tsx +85 -5
  368. package/src/react/components/BannerLane.tsx +128 -0
  369. package/src/react/components/Button.tsx +2 -0
  370. package/src/react/components/ChipFilterStrip.tsx +1 -1
  371. package/src/react/components/ComboboxField.tsx +20 -3
  372. package/src/react/components/CommentThread.tsx +2 -2
  373. package/src/react/components/ConfirmDialog.tsx +1 -1
  374. package/src/react/components/DataTable/DataTable.tsx +80 -8
  375. package/src/react/components/DataTable/Pagination.tsx +1 -1
  376. package/src/react/components/DataTable/RowActions.tsx +55 -2
  377. package/src/react/components/DataTable/TableFilterBuilder.tsx +1 -1
  378. package/src/react/components/DataTable/cells/CodeCell.tsx +1 -1
  379. package/src/react/components/DataTable/cells/LinkCell.tsx +1 -1
  380. package/src/react/components/DataTable/index.ts +1 -0
  381. package/src/react/components/DataTable/numericColumn.spec.ts +19 -0
  382. package/src/react/components/DataTable/types.ts +36 -0
  383. package/src/react/components/DateTimeField.tsx +3 -1
  384. package/src/react/components/DeleteButton.tsx +3 -0
  385. package/src/react/components/Drawer.tsx +3 -3
  386. package/src/react/components/DropdownMenu.spec.tsx +55 -0
  387. package/src/react/components/DropdownMenu.tsx +73 -20
  388. package/src/react/components/EmptyState.tsx +26 -7
  389. package/src/react/components/EventTimeline.tsx +1 -1
  390. package/src/react/components/Field.width.spec.tsx +11 -0
  391. package/src/react/components/FileDropZone.tsx +1 -1
  392. package/src/react/components/Grid.spec.tsx +44 -0
  393. package/src/react/components/Grid.tsx +41 -11
  394. package/src/react/components/Guide.tsx +77 -0
  395. package/src/react/components/InfoHint.spec.tsx +21 -0
  396. package/src/react/components/InfoHintImpl.tsx +22 -1
  397. package/src/react/components/InlineEditableText.tsx +1 -1
  398. package/src/react/components/IsolatedFrame.tsx +1 -1
  399. package/src/react/components/ListToolbar.spec.tsx +12 -0
  400. package/src/react/components/ListToolbar.tsx +8 -5
  401. package/src/react/components/LogViewer.tsx +118 -18
  402. package/src/react/components/Modal.spec.tsx +17 -2
  403. package/src/react/components/Modal.tsx +25 -10
  404. package/src/react/components/MultiSelectField.spec.tsx +6 -0
  405. package/src/react/components/Page.spec.tsx +89 -5
  406. package/src/react/components/Page.tsx +100 -16
  407. package/src/react/components/PageGuideButton.tsx +42 -0
  408. package/src/react/components/PanelSeparator.tsx +1 -1
  409. package/src/react/components/Popover.tsx +3 -1
  410. package/src/react/components/PromptDialog.tsx +1 -1
  411. package/src/react/components/ScrollArea.spec.tsx +20 -0
  412. package/src/react/components/ScrollArea.tsx +19 -0
  413. package/src/react/components/Section.spec.tsx +82 -1
  414. package/src/react/components/Section.tsx +10 -4
  415. package/src/react/components/Skeleton.tsx +50 -2
  416. package/src/react/components/StatStrip.tsx +1 -1
  417. package/src/react/components/StatTile.tsx +84 -11
  418. package/src/react/components/StatTileGrid.spec.tsx +6 -1
  419. package/src/react/components/StatTileGrid.tsx +25 -0
  420. package/src/react/components/StatusPill.tsx +26 -1
  421. package/src/react/components/Surface.tsx +22 -14
  422. package/src/react/components/SwatchPicker.tsx +4 -0
  423. package/src/react/components/Switch.tsx +1 -1
  424. package/src/react/components/WidgetHeader.tsx +1 -1
  425. package/src/react/components/calendar/CalendarLegend.tsx +1 -1
  426. package/src/react/components/calendar/DayAgenda.tsx +1 -1
  427. package/src/react/components/calendar/EventChip.tsx +1 -1
  428. package/src/react/components/calendar/MonthGrid.tsx +1 -1
  429. package/src/react/components/calendar/WeekView.tsx +2 -2
  430. package/src/react/components/cardFrame.ts +28 -0
  431. package/src/react/components/dataDisplay.spec.tsx +176 -0
  432. package/src/react/components/dialog.tsx +4 -1
  433. package/src/react/dashboard-grid/WidgetFrame.tsx +2 -2
  434. package/src/react/emoji/EmojiPicker.tsx +1 -1
  435. package/src/react/file-tree/FileTree.spec.tsx +49 -0
  436. package/src/react/file-tree/FileTree.tsx +37 -4
  437. package/src/react/filter-rail/FilterRail.tsx +1 -1
  438. package/src/react/icons.tsx +1 -1
  439. package/src/react/index.ts +28 -3
  440. package/src/react/lib/menuSections.ts +33 -0
  441. package/src/react/markdown/Markdown.tsx +2 -2
  442. package/src/react/media/HoverScrubVideoThumb.tsx +2 -2
  443. package/src/react/media/MaskPainter.tsx +1 -1
  444. package/src/react/media/MediaUploadControl.tsx +1 -1
  445. package/src/react/media/VideoTrimmer.tsx +1 -1
  446. package/src/react/media/denseGallery.css +5 -1
  447. package/src/react/namespace/NamespaceTargetCapsule.tsx +1 -1
  448. package/src/react/nav/BreadcrumbTrail.tsx +2 -2
  449. package/src/react/nav/CommandBar.tsx +14 -3
  450. package/src/react/nav/PlaceBar.tsx +18 -8
  451. package/src/react/nav/SideNav.tsx +99 -17
  452. package/src/react/nav/TopBar.spec.tsx +78 -21
  453. package/src/react/nav/TopBar.tsx +270 -98
  454. package/src/react/nav/index.ts +8 -1
  455. package/src/react/nav/nav.spec.tsx +46 -2
  456. package/src/react/nav/navShared.tsx +23 -2
  457. package/src/react/notifications/NotificationFeed.tsx +2 -2
  458. package/src/react/palette/Command.tsx +1 -1
  459. package/src/react/palette/CommandPalette.spec.tsx +31 -0
  460. package/src/react/palette/CommandPalette.tsx +108 -11
  461. package/src/react/palette/commandSources.tsx +186 -0
  462. package/src/react/palette/index.ts +7 -0
  463. package/src/react/rich-text/RichTextEditor.tsx +1 -1
  464. package/src/react/rich-text/RichTextToolbar.tsx +1 -1
  465. package/src/styles-areas/analytics.css +16 -16
  466. package/src/styles-areas/auth.css +3 -3
  467. package/src/styles-areas/calendar.css +6 -6
  468. package/src/styles-areas/chart-table.css +1 -1
  469. package/src/styles-areas/charts.css +3 -3
  470. package/src/styles-areas/chat.css +7 -6
  471. package/src/styles-areas/companion-link.css +2 -2
  472. package/src/styles-areas/core.css +98 -89
  473. package/src/styles-areas/dashboard-grid.css +4 -4
  474. package/src/styles-areas/data-table.css +16 -16
  475. package/src/styles-areas/disk-usage.css +5 -5
  476. package/src/styles-areas/emoji.css +2 -2
  477. package/src/styles-areas/fields.css +13 -14
  478. package/src/styles-areas/filter-rail.css +4 -4
  479. package/src/styles-areas/folder-tree.css +3 -3
  480. package/src/styles-areas/markdown.css +2 -1
  481. package/src/styles-areas/master-detail.css +3 -3
  482. package/src/styles-areas/media-gallery.css +8 -8
  483. package/src/styles-areas/media.css +12 -13
  484. package/src/styles-areas/nav.css +28 -14
  485. package/src/styles-areas/notifications.css +4 -4
  486. package/src/styles-areas/overlays.css +4 -4
  487. package/src/styles-areas/palette.css +4 -3
  488. package/src/styles-areas/rich-text.css +3 -3
  489. package/src/styles-areas/sharing.css +4 -3
  490. package/src/styles-areas/stats.css +9 -8
  491. package/src/styles-areas/test-report.css +3 -3
  492. package/src/styles-areas/wizard.css +6 -5
  493. package/src/styles-areas/workbench.css +10 -9
  494. package/src/styles-areas/workbook-viewer.css +2 -2
  495. package/src/styles-utilities.css +272 -187
  496. package/src/testing/designAudit.ts +3 -0
  497. package/src/testing/designBaseline.ts +4 -0
  498. package/src/theme.css +103 -2
  499. package/src/themeDarkScopeAliases.spec.ts +65 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/react/components/Modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/react/components/Modal.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,45 @@
1
- import type { HTMLAttributes, ReactNode } from 'react';
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  /**
3
3
  * The routed content area. Purely structural: a min-height-0 flex column that fills
4
4
  * its slot in the AppShell. It sets NO scroll/overflow and NO background — the single
5
5
  * keyboard-safe `ScrollArea` (task 03) owns scrolling and the shell owns the page bg.
6
6
  */
7
7
  export declare function Page({ className, ...p }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
8
- /** Max-width centering + responsive horizontal gutters. Never sets height or overflow.
9
- * This is the DASHBOARD width (`max-w-5xl`, 1024px) — wide enough for a table, a
10
- * board or a split. Prose wants {@link ReadableColumn} instead. */
11
- export declare function PageContainer({ className, ...p }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
8
+ /**
9
+ * The page widths of `docs/design/page-layout.md` LAY-1 (task 2461), each a theme.css
10
+ * token. The page TYPE picks the width; a big monitor's extra space goes to the margins.
11
+ */
12
+ declare const PAGE_WIDTH: {
13
+ /** A single-column form or settings page — 640px. */
14
+ readonly form: {
15
+ readonly px: 640;
16
+ readonly className: "max-w-[var(--page-w-form)]";
17
+ };
18
+ /** Dashboards: Now, Trends, Limits — 1152px. The default. */
19
+ readonly dashboard: {
20
+ readonly px: 1152;
21
+ readonly className: "max-w-[var(--page-w-dashboard)]";
22
+ };
23
+ /** History tables and library grids, the pages that need it — 1536px. */
24
+ readonly wide: {
25
+ readonly px: 1536;
26
+ readonly className: "max-w-[var(--page-w-wide)]";
27
+ };
28
+ /** Prose — the same 800px `--reading-width` as {@link ReadableColumn}. */
29
+ readonly prose: {
30
+ readonly px: 800;
31
+ readonly className: "max-w-[var(--reading-width)]";
32
+ };
33
+ };
34
+ export type PageWidth = keyof typeof PAGE_WIDTH;
35
+ export interface PageContainerProps extends HTMLAttributes<HTMLDivElement> {
36
+ /** The page type (LAY-1). Default `dashboard` (1152px). A canvas, studio or player
37
+ * uses {@link Page} with no container instead. */
38
+ width?: PageWidth;
39
+ }
40
+ /** Max-width centering + responsive horizontal gutters (16/24/32px). Never sets height
41
+ * or overflow. `width` is the page type — see {@link PAGE_WIDTH}. */
42
+ export declare function PageContainer({ width, className, ...p }: PageContainerProps): import("react").JSX.Element;
12
43
  /**
13
44
  * The reading-width clamp for PROSE.
14
45
  *
@@ -28,7 +59,6 @@ export declare function PageContainer({ className, ...p }: HTMLAttributes<HTMLDi
28
59
  export declare function ReadableColumn({ className, ...p }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
29
60
  export interface PageHeaderProps {
30
61
  title: ReactNode;
31
- subtitle?: ReactNode;
32
62
  /**
33
63
  * Inline telemetry beside the title — metric pills (`Badge`/`StatusPill`, e.g.
34
64
  * `19 apps` `1 running`), never a raw muted-text counter string that disappears
@@ -36,8 +66,21 @@ export interface PageHeaderProps {
36
66
  * aligned with the title so the operational pulse reads in the same glance.
37
67
  */
38
68
  meta?: ReactNode;
69
+ /**
70
+ * ONE line under the title (NAV-11, CPY-1). It never wraps into a paragraph: a longer one
71
+ * truncates, and the whole text moves into an `InfoHint` beside it, one tap away. The
72
+ * operational rules a page has go in `guide`-style help, not here.
73
+ */
74
+ subtitle?: ReactNode;
39
75
  /** Right-anchored page actions (desktop pushes them right via the Split row). */
40
76
  actions?: ReactNode;
77
+ /**
78
+ * How this page works — rendered as a "Guide" button before the actions that opens it in a
79
+ * popover (CPY-2). The operational rules a page used to print as paragraphs over its live
80
+ * numbers go here, one tap away. Longer than a few paragraphs: a `GuideRoute`, linked from
81
+ * `actions`.
82
+ */
83
+ guide?: ReactNode;
41
84
  /** Compact variant for a panel/plugin header (h2-scale, tighter padding) where
42
85
  * the roomy page-level `h1` would dominate the surface. */
43
86
  dense?: boolean;
@@ -62,5 +105,6 @@ export interface PageHeaderProps {
62
105
  * A bottom border separates it from the body; the sticky footer of actions is
63
106
  * `ActionBar`'s job (task 06), not this.
64
107
  */
65
- export declare function PageHeader({ title, subtitle, meta, actions, dense, titleOnMobile, sticky, level, className, }: PageHeaderProps): import("react").JSX.Element;
108
+ export declare function PageHeader({ title, subtitle, meta, actions, guide, dense, titleOnMobile, sticky, level, className, }: PageHeaderProps): import("react").JSX.Element;
109
+ export {};
66
110
  //# sourceMappingURL=Page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAEvE;AAED;;oEAEoE;AACpE,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAKhF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAQjF;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;gEAC4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;yEAGqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;uFAEmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;mEAE+D;IAC/D,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAa,EACb,aAAoB,EACpB,MAAc,EACd,KAAS,EACT,SAAS,GACV,EAAE,eAAe,+BAmCjB"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAiD,MAAM,OAAO,CAAC;AAM1H;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAEvE;AAED;;;GAGG;AACH,QAAA,MAAM,UAAU;IACd,qDAAqD;;;;;IAErD,6DAA6D;;;;;IAE7D,yEAAyE;;;;;IAEzE,0EAA0E;;;;;CAElE,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAOhD,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE;uDACmD;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;sEACsE;AACtE,wBAAgB,aAAa,CAAC,EAAE,KAAmB,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,kBAAkB,+BAYzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAQjF;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;gEAC4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;yEAGqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;uFAEmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;mEAE+D;IAC/D,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAa,EACb,aAAoB,EACpB,MAAc,EACd,KAAS,EACT,SAAS,GACV,EAAE,eAAe,+BAqCjB"}
@@ -1,19 +1,40 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createContext, useContext, useLayoutEffect, useRef, useState } from 'react';
2
3
  import { cn } from '../lib/cn.js';
3
4
  import { Split } from './layout.js';
5
+ import { InfoHint } from './InfoHint.js';
6
+ import { PageGuideButton } from './PageGuideButton.js';
4
7
  /**
5
8
  * The routed content area. Purely structural: a min-height-0 flex column that fills
6
9
  * its slot in the AppShell. It sets NO scroll/overflow and NO background — the single
7
10
  * keyboard-safe `ScrollArea` (task 03) owns scrolling and the shell owns the page bg.
8
11
  */
9
12
  export function Page({ className, ...p }) {
10
- return _jsx("div", { className: cn('flex min-h-0 flex-1 flex-col', className), ...p });
13
+ return _jsx("div", { className: cn('flex min-h-0 min-w-0 flex-1 flex-col', className), ...p });
11
14
  }
12
- /** Max-width centering + responsive horizontal gutters. Never sets height or overflow.
13
- * This is the DASHBOARD width (`max-w-5xl`, 1024px) — wide enough for a table, a
14
- * board or a split. Prose wants {@link ReadableColumn} instead. */
15
- export function PageContainer({ className, ...p }) {
16
- return (_jsx("div", { "data-cb-page-width": '1024', className: cn('mx-auto w-full max-w-5xl px-4 py-6 sm:px-6 lg:px-8', className), ...p }));
15
+ /**
16
+ * The page widths of `docs/design/page-layout.md` LAY-1 (task 2461), each a theme.css
17
+ * token. The page TYPE picks the width; a big monitor's extra space goes to the margins.
18
+ */
19
+ const PAGE_WIDTH = {
20
+ /** A single-column form or settings page — 640px. */
21
+ form: { px: 640, className: 'max-w-[var(--page-w-form)]' },
22
+ /** Dashboards: Now, Trends, Limits — 1152px. The default. */
23
+ dashboard: { px: 1152, className: 'max-w-[var(--page-w-dashboard)]' },
24
+ /** History tables and library grids, the pages that need it — 1536px. */
25
+ wide: { px: 1536, className: 'max-w-[var(--page-w-wide)]' },
26
+ /** Prose — the same 800px `--reading-width` as {@link ReadableColumn}. */
27
+ prose: { px: 800, className: 'max-w-[var(--reading-width)]' },
28
+ };
29
+ /** True inside a `PageContainer`, which already owns the page gutters — so a
30
+ * `PageHeader` there adds none of its own and its title lines up with the content
31
+ * below it (LAY-7: one left edge per column). */
32
+ const InPageContainer = createContext(false);
33
+ /** Max-width centering + responsive horizontal gutters (16/24/32px). Never sets height
34
+ * or overflow. `width` is the page type — see {@link PAGE_WIDTH}. */
35
+ export function PageContainer({ width = 'dashboard', className, ...p }) {
36
+ const w = PAGE_WIDTH[width];
37
+ return (_jsx(InPageContainer.Provider, { value: true, children: _jsx("div", { "data-cb-page-width": String(w.px), className: cn('mx-auto w-full px-4 py-6 sm:px-6 lg:px-8', w.className, className), ...p }) }));
17
38
  }
18
39
  /**
19
40
  * The reading-width clamp for PROSE.
@@ -40,11 +61,35 @@ export function ReadableColumn({ className, ...p }) {
40
61
  * A bottom border separates it from the body; the sticky footer of actions is
41
62
  * `ActionBar`'s job (task 06), not this.
42
63
  */
43
- export function PageHeader({ title, subtitle, meta, actions, dense = false, titleOnMobile = true, sticky = false, level = 1, className, }) {
64
+ export function PageHeader({ title, subtitle, meta, actions, guide, dense = false, titleOnMobile = true, sticky = false, level = 1, className, }) {
44
65
  const Heading = level === 2 ? 'h2' : 'h1';
66
+ const inContainer = useContext(InPageContainer);
45
67
  return (_jsxs(Split, { className: cn(
46
68
  // Wrap on narrow screens so the actions drop below the title instead of
47
69
  // pushing off-viewport (phone-overflow bug class).
48
- 'flex-wrap gap-y-2 border-b border-border', dense ? 'px-0 py-2' : 'px-4 py-4 sm:px-6 lg:px-8', sticky && 'sticky top-0 z-20 bg-background/90 backdrop-blur-md', className), children: [_jsxs("div", { className: 'min-w-0', children: [_jsxs("div", { className: 'flex min-w-0 flex-wrap items-baseline gap-x-2.5 gap-y-1', children: [_jsx(Heading, { className: cn('font-bold tracking-tight text-foreground', dense ? 'text-h3' : 'text-h1', !titleOnMobile && 'hidden sm:block'), children: title }), meta && _jsx("span", { className: 'flex flex-wrap items-center gap-1.5', children: meta })] }), subtitle && (_jsx("p", { className: cn('text-sm text-muted-foreground', dense ? 'mt-0.5' : 'mt-1'), children: subtitle }))] }), actions && _jsx("div", { className: 'flex items-center gap-2', children: actions })] }));
70
+ 'flex-wrap gap-y-2 border-b border-border', dense ? 'px-0 py-2' : inContainer ? 'px-0 pb-4' : 'px-4 py-4 sm:px-6 lg:px-8', sticky && 'sticky top-0 z-20 bg-background/90 backdrop-blur-md', className), children: [_jsxs("div", { className: 'min-w-0', children: [_jsxs("div", { className: 'flex min-w-0 flex-wrap items-baseline gap-x-3 gap-y-1', children: [_jsx(Heading, { className: cn('font-bold tracking-tight text-foreground', dense ? 'text-h3' : 'text-h1', !titleOnMobile && 'hidden sm:block'), children: title }), meta && _jsx("span", { className: 'flex flex-wrap items-center gap-1.5', children: meta })] }), subtitle && _jsx(PageSubtitle, { dense: dense, children: subtitle })] }), (actions || guide) && (_jsxs("div", { className: 'flex items-center gap-2', children: [guide ? _jsx(PageGuideButton, { children: guide }) : null, actions] }))] }));
71
+ }
72
+ /**
73
+ * The subtitle's one line. Measured, not guessed: when the text is wider than the line it
74
+ * truncates and an `InfoHint` carrying all of it appears — and only then, so a subtitle that
75
+ * fits carries no ⓘ asking to be opened for nothing.
76
+ */
77
+ function PageSubtitle({ children, dense }) {
78
+ const ref = useRef(null);
79
+ const [clipped, setClipped] = useState(false);
80
+ // biome-ignore lint/correctness/useExhaustiveDependencies: `children` is the trigger — new text is a new width to measure.
81
+ useLayoutEffect(() => {
82
+ const el = ref.current;
83
+ if (!el)
84
+ return;
85
+ const measure = () => setClipped(el.scrollWidth > el.clientWidth + 1);
86
+ measure();
87
+ if (typeof ResizeObserver === 'undefined')
88
+ return;
89
+ const observer = new ResizeObserver(measure);
90
+ observer.observe(el);
91
+ return () => observer.disconnect();
92
+ }, [children]);
93
+ return (_jsxs("div", { "data-cb-page-subtitle": '', className: cn('flex min-w-0 items-center gap-1', dense ? 'mt-0.5' : 'mt-1'), children: [_jsx("p", { ref: ref, className: 'min-w-0 truncate text-sm text-muted-foreground', children: children }), clipped ? (_jsx(InfoHint, { label: 'The full description', children: _jsx("span", { "data-cb-prose": '', children: children }) })) : null] }));
49
94
  }
50
95
  //# sourceMappingURL=Page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAkC;IACtE,OAAO,cAAK,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,KAAM,CAAC,GAAI,CAAC;AAClF,CAAC;AAED;;oEAEoE;AACpE,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAkC;IAC/E,OAAO,CAEL,oCAAwB,MAAM,EAAC,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,KAAM,CAAC,GAAI,CACzH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAkC;IAChF,OAAO,CACL,kCACmB,EAAE,EACnB,SAAS,EAAE,EAAE,CAAC,6CAA6C,EAAE,SAAS,CAAC,KACnE,CAAC,GACL,CACH,CAAC;AACJ,CAAC;AAiCD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,GAAG,KAAK,EACb,aAAa,GAAG,IAAI,EACpB,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,CAAC,EACT,SAAS,GACO;IAChB,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,OAAO,CACL,MAAC,KAAK,IACJ,SAAS,EAAE,EAAE;QACX,wEAAwE;QACxE,mDAAmD;QACnD,0CAA0C,EAC1C,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,2BAA2B,EACjD,MAAM,IAAI,qDAAqD,EAC/D,SAAS,CACV,aAED,eAAK,SAAS,EAAC,SAAS,aACtB,eAAK,SAAS,EAAC,yDAAyD,aACtE,KAAC,OAAO,IACN,SAAS,EAAE,EAAE,CACX,0CAA0C,EAC1C,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC7B,CAAC,aAAa,IAAI,iBAAiB,CACpC,YAEA,KAAK,GACE,EACT,IAAI,IAAI,eAAM,SAAS,EAAC,qCAAqC,YAAE,IAAI,GAAQ,IACxE,EACL,QAAQ,IAAI,CACX,YAAG,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YACzE,QAAQ,GACP,CACL,IACG,EACL,OAAO,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,IAC9D,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/react/components/Page.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PageGuideButtonProps {
3
+ /** The documentation. A few short paragraphs; anything longer is a {@link GuideRoute}. */
4
+ children: ReactNode;
5
+ /** The button's label. Default "Guide". */
6
+ label?: string;
7
+ className?: string;
8
+ }
9
+ /** The "Guide" button and its popover. */
10
+ export declare function PageGuideButton({ children, label, className }: PageGuideButtonProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=PageGuideButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageGuideButton.d.ts","sourceRoot":"","sources":["../../../src/react/components/PageGuideButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,QAAQ,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAe,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAsB7F"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { BookOpen } from 'lucide-react';
3
+ import { cn } from '../lib/cn.js';
4
+ import { Button } from './Button.js';
5
+ import { Popover } from './Popover.js';
6
+ import { ScrollArea } from './ScrollArea.js';
7
+ /** The "Guide" button and its popover. */
8
+ export function PageGuideButton({ children, label = 'Guide', className }) {
9
+ return (_jsx(Popover, { label: label, align: 'end', width: 'var(--guide-popover-w)',
10
+ // A bounded column, so the guide scrolls inside the popover rather than off the screen.
11
+ className: cn('flex max-h-[var(--guide-popover-max-h)] flex-col', className), trigger: _jsxs(Button, { variant: 'ghost', size: 'sm', tooltip: 'How this page works', tooltipMobile: 'off', children: [_jsx(BookOpen, { "aria-hidden": true }), label] }), children: _jsx(ScrollArea, { space: 'none', children: _jsx("div", { "data-cb-prose": '', "data-cb-guide": '', className: 'flex flex-col gap-3 text-sm leading-relaxed text-foreground', children: children }) }) }));
12
+ }
13
+ //# sourceMappingURL=PageGuideButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageGuideButton.js","sourceRoot":"","sources":["../../../src/react/components/PageGuideButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAY7C,0CAA0C;AAC1C,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,OAAO,EAAE,SAAS,EAAwB;IAC5F,OAAO,CACL,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,KAAK,EACX,KAAK,EAAC,wBAAwB;QAC9B,wFAAwF;QACxF,SAAS,EAAE,EAAE,CAAC,kDAAkD,EAAE,SAAS,CAAC,EAC5E,OAAO,EACL,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,qBAAqB,EAAC,aAAa,EAAC,KAAK,aACjF,KAAC,QAAQ,0BAAe,EACvB,KAAK,IACC,YAGX,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,YACtB,+BAAmB,EAAE,mBAAe,EAAE,EAAC,SAAS,EAAC,6DAA6D,YAC3G,QAAQ,GACL,GACK,GACL,CACX,CAAC;AACJ,CAAC"}
@@ -26,6 +26,6 @@ export function PanelSeparator({ direction, disabled, variant = 'line', withHand
26
26
  ? '-left-1.5 -right-1.5 inset-y-0 cursor-col-resize'
27
27
  : '-top-1.5 -bottom-1.5 inset-x-0 cursor-row-resize', disabled && 'cursor-default') }), withHandle && (_jsx("span", { "aria-hidden": true, "data-grip": true, className: cn('absolute left-1/2 top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full', 'bg-muted-foreground/50 transition-all', 'group-hover/sep:bg-accent-foreground group-hover/sep:opacity-100', 'group-active/sep:bg-accent-foreground group-active/sep:opacity-100', 'group-focus-visible/sep:opacity-100',
28
28
  // Gutter: pill is the ONLY affordance, hidden until pointed at.
29
- isGutter ? 'opacity-0' : 'opacity-70', isH ? 'h-8 w-[3px] cursor-col-resize' : 'h-[3px] w-8 cursor-row-resize') }))] }));
29
+ isGutter ? 'opacity-0' : 'opacity-70', isH ? 'h-8 w-[var(--indicator-w)] cursor-col-resize' : 'h-[var(--indicator-w)] w-8 cursor-row-resize') }))] }));
30
30
  }
31
31
  //# sourceMappingURL=PanelSeparator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelSeparator.js","sourceRoot":"","sources":["../../../src/react/components/PanelSeparator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAwBlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,GAAG,MAAM,EAChB,UAAU,GAAG,IAAI,EACjB,SAAS,GACW;IACpB,MAAM,GAAG,GAAG,SAAS,KAAK,YAAY,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC;IACtC,OAAO,CACL,MAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,+CAA+C,EAC/C,qGAAqG,EACrG,QAAQ;YACN,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC;YAC7C,CAAC,CAAC;gBACE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBACrB,4EAA4E;aAC7E,EACL,SAAS,CACV,aAGD,oCAEE,SAAS,EAAE,EAAE,CACX,eAAe,EACf,GAAG;oBACD,CAAC,CAAC,kDAAkD;oBACpD,CAAC,CAAC,kDAAkD,EACtD,QAAQ,IAAI,gBAAgB,CAC7B,GACD,EACD,UAAU,IAAI,CACb,uDAGE,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,uCAAuC,EACvC,kEAAkE,EAClE,oEAAoE,EACpE,qCAAqC;gBACrC,gEAAgE;gBAChE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EACrC,GAAG,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,+BAA+B,CACxE,GACD,CACH,IACS,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PanelSeparator.js","sourceRoot":"","sources":["../../../src/react/components/PanelSeparator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAwBlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,GAAG,MAAM,EAChB,UAAU,GAAG,IAAI,EACjB,SAAS,GACW;IACpB,MAAM,GAAG,GAAG,SAAS,KAAK,YAAY,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC;IACtC,OAAO,CACL,MAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,+CAA+C,EAC/C,qGAAqG,EACrG,QAAQ;YACN,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC;YAC7C,CAAC,CAAC;gBACE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBACrB,4EAA4E;aAC7E,EACL,SAAS,CACV,aAGD,oCAEE,SAAS,EAAE,EAAE,CACX,eAAe,EACf,GAAG;oBACD,CAAC,CAAC,kDAAkD;oBACpD,CAAC,CAAC,kDAAkD,EACtD,QAAQ,IAAI,gBAAgB,CAC7B,GACD,EACD,UAAU,IAAI,CACb,uDAGE,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,uCAAuC,EACvC,kEAAkE,EAClE,oEAAoE,EACpE,qCAAqC;gBACrC,gEAAgE;gBAChE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EACrC,GAAG,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,8CAA8C,CACtG,GACD,CACH,IACS,CACb,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/react/components/Popover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,OAAO,CAAC;AAe/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,sBAAsB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE3F;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACtC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,KAAe,EACf,IAAe,EACf,UAAc,EACd,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAgB,EAChB,KAAa,EACb,MAAa,EACb,SAAgB,EAChB,KAAK,EACL,IAAI,GACL,EAAE,YAAY,+BA4Fd;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAEjE"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/react/components/Popover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,OAAO,CAAC;AAgB/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,sBAAsB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE3F;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACtC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,KAAe,EACf,IAAe,EACf,UAAc,EACd,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAgB,EAChB,KAAa,EACb,MAAa,EACb,SAAgB,EAChB,KAAK,EACL,IAAI,GACL,EAAE,YAAY,+BA6Fd;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAEjE"}
@@ -3,6 +3,7 @@ import * as RPopover from '@radix-ui/react-popover';
3
3
  import { useCallback, useMemo, useRef, useState } from 'react';
4
4
  import { useOutsidePress } from '../hooks/useOutsidePress.js';
5
5
  import { cn } from '../lib/cn.js';
6
+ import { CardFrameContext } from './cardFrame.js';
6
7
  import { useFloatingContainer } from '../lib/floatingContainer.js';
7
8
  import { FLOATING_ANIMATION, FLOATING_COLLISION_PADDING, FLOATING_CONTENT_BASE, } from '../lib/floatingStyles.js';
8
9
  /*
@@ -80,7 +81,7 @@ export function Popover({ trigger, anchor, children, open, onOpenChange, align =
80
81
  // list, a sub-menu) is INSIDE even though the DOM puts it elsewhere.
81
82
  onClickCapture: pressInside.onClickCapture, onPointerDownCapture: pressInside.onPointerDownCapture, className: cn(unstyled
82
83
  ? 'z-[var(--z-popover)] outline-none'
83
- : cn(FLOATING_CONTENT_BASE, 'p-3'), FLOATING_ANIMATION, className), children: [children, showArrow && _jsx(RPopover.Arrow, { className: 'fill-border' })] }));
84
+ : cn(FLOATING_CONTENT_BASE, 'p-3'), FLOATING_ANIMATION, className), children: [_jsx(CardFrameContext.Provider, { value: false, children: children }), showArrow && _jsx(RPopover.Arrow, { className: 'fill-border' })] }));
84
85
  return (_jsxs(RPopover.Root, { open: isOpen, onOpenChange: setOpen, modal: modal, children: [virtualRef ? _jsx(RPopover.Anchor, { virtualRef: virtualRef }) : null, trigger !== undefined ? (_jsx(RPopover.Trigger, { asChild: true, ref: triggerRef, children: trigger })) : null, portal ? _jsx(RPopover.Portal, { container: container, children: content }) : content] }));
85
86
  }
86
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/react/components/Popover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/react/components/Popover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAkB,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAA+B,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAiE3F,SAAS,OAAO,CAAC,MAA8B;IAC7C,OAAO,OAAQ,MAAuB,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,uBAAuB,IAAI,MAAM,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,KAAK,GAAG,OAAO,EACf,IAAI,GAAG,QAAQ,EACf,UAAU,GAAG,CAAC,EACd,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,IAAI,EACb,SAAS,GAAG,IAAI,EAChB,KAAK,EACL,IAAI,GACS;IACb,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC;IAErC,8EAA8E;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,CAAC;IACzD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,iFAAiF;IACjF,4BAA4B;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAAa,EAAE,EAAE;QAChB,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjE,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAC7B,CAAC;IAEF;;;;;;;;OAQG;IACH,wFAAwF;IACxF,MAAM,UAAU,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,eAAe,CAAC;QAClC,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/B,MAAM,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;QACnC,MAAM,EAAE,KAAK;QACb,qFAAqF;QACrF,iCAAiC;QACjC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO;KAC1C,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACd,MAAC,QAAQ,CAAC,OAAO,IACf,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,0BAA0B,EAC5C,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,gBAChC,KAAK,mBACH,EAAE,KAGZ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1B,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAC1E,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3B,gFAAgF;YAChF,IAAI,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;gBAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5E,CAAC;QACD,iFAAiF;QACjF,qEAAqE;QACrE,cAAc,EAAE,WAAW,CAAC,cAAc,EAC1C,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,EACtD,SAAS,EAAE,EAAE,CACX,QAAQ;YACN,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,CAAC,EACpC,kBAAkB,EAClB,SAAS,CACV,aAGD,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA6B,EAC9E,SAAS,IAAI,KAAC,QAAQ,CAAC,KAAK,IAAC,SAAS,EAAC,aAAa,GAAG,IACvC,CACpB,CAAC;IAEF,OAAO,CACL,MAAC,QAAQ,CAAC,IAAI,IAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,aAC7D,UAAU,CAAC,CAAC,CAAC,KAAC,QAAQ,CAAC,MAAM,IAAC,UAAU,EAAE,UAAU,GAAI,CAAC,CAAC,CAAC,IAAI,EAC/D,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CACvB,KAAC,QAAQ,CAAC,OAAO,IAAC,OAAO,QAAC,GAAG,EAAE,UAAU,YACtC,OAAO,GACS,CACpB,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,CAAC,CAAC,KAAC,QAAQ,CAAC,MAAM,IAAC,SAAS,EAAE,SAAS,YAAG,OAAO,GAAmB,CAAC,CAAC,CAAC,OAAO,IACxE,CACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAA2B;IAChE,OAAO,KAAC,QAAQ,CAAC,KAAK,IAAC,OAAO,kBAAE,QAAQ,GAAkB,CAAC;AAC7D,CAAC"}
@@ -22,7 +22,7 @@ export function PromptDialog({ open, onSubmit, onCancel, title, message, placeho
22
22
  return (_jsx(Dialog, { open: open, onOpenChange: (v) => {
23
23
  if (!v)
24
24
  onCancel();
25
- }, children: _jsxs(DialogContent, { className: cn('fixed top-1/2 left-1/2 flex w-[calc(100vw-2rem)] max-w-sm -translate-x-1/2 -translate-y-1/2 flex-col gap-4', 'rounded-xl border border-border bg-popover p-6 text-popover-foreground shadow-overlay', 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95', 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95', className), onOpenAutoFocus: (e) => {
25
+ }, children: _jsxs(DialogContent, { className: cn('fixed top-1/2 left-1/2 flex w-[calc(100vw-2rem)] max-w-[var(--modal-w-sm)] -translate-x-1/2 -translate-y-1/2 flex-col gap-4', 'rounded-xl border border-border bg-popover p-6 text-popover-foreground shadow-overlay', 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95', 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95', className), onOpenAutoFocus: (e) => {
26
26
  e.preventDefault();
27
27
  inputRef.current?.focus();
28
28
  inputRef.current?.select();
@@ -1 +1 @@
1
- {"version":3,"file":"PromptDialog.js","sourceRoot":"","sources":["../../../src/react/components/PromptDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAmBnC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACnB,WAAW,GAAG,QAAQ,EACtB,OAAO,GAAG,KAAK,EACf,SAAS,GACS;IAClB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,OAAO;YAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,CAAC;gBAAE,QAAQ,EAAE,CAAC;QACrB,CAAC,YAED,MAAC,aAAa,IACZ,SAAS,EAAE,EAAE,CACX,4GAA4G,EAC5G,uFAAuF,EACvF,uFAAuF,EACvF,gGAAgG,EAChG,SAAS,CACV,EACD,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;gBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7B,CAAC,aAED,eAAK,SAAS,EAAC,uBAAuB,aACpC,KAAC,WAAW,IAAC,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAe,EACrE,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,iBAAiB,IAAC,SAAS,EAAC,+BAA+B,YACzD,OAAO,GACU,CACrB,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,KAAC,KAAK,IACJ,GAAG,EAAE,QAAQ,gCAEb,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,OAAO,EAAE,YAAY,GACrB,EACF,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,MAAM,4BAEL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,WAAW,YAEnB,WAAW,GACL,EACT,KAAC,MAAM,6BAEL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,YAEpB,YAAY,GACN,IACL,IACQ,GACT,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PromptDialog.js","sourceRoot":"","sources":["../../../src/react/components/PromptDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAmBnC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,EACnB,WAAW,GAAG,QAAQ,EACtB,OAAO,GAAG,KAAK,EACf,SAAS,GACS;IAClB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,OAAO;YAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,CAAC;gBAAE,QAAQ,EAAE,CAAC;QACrB,CAAC,YAED,MAAC,aAAa,IACZ,SAAS,EAAE,EAAE,CACX,6HAA6H,EAC7H,uFAAuF,EACvF,uFAAuF,EACvF,gGAAgG,EAChG,SAAS,CACV,EACD,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;gBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7B,CAAC,aAED,eAAK,SAAS,EAAC,uBAAuB,aACpC,KAAC,WAAW,IAAC,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAe,EACrE,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,iBAAiB,IAAC,SAAS,EAAC,+BAA+B,YACzD,OAAO,GACU,CACrB,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,KAAC,KAAK,IACJ,GAAG,EAAE,QAAQ,gCAEb,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,OAAO,EAAE,YAAY,GACrB,EACF,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,MAAM,4BAEL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,WAAW,YAEnB,WAAW,GACL,EACT,KAAC,MAAM,6BAEL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,YAEpB,YAAY,GACN,IACL,IACQ,GACT,CACV,CAAC;AACJ,CAAC"}
@@ -44,8 +44,16 @@ export interface ScrollAreaProps extends Omit<HTMLAttributes<HTMLDivElement>, 's
44
44
  * document edge already says what it is.
45
45
  */
46
46
  fade?: boolean;
47
+ /**
48
+ * Bound the region to a token height (LAY-8, task 2461) — a log, a feed or a list on
49
+ * a dashboard scrolls inside its own viewport instead of stretching the page:
50
+ * `sm` 12rem · `md` 20rem · `lg` 28rem (`--region-h-*`), never more than
51
+ * `--region-h-phone` (60dvh) on a phone. Unset, the area fills its flex parent.
52
+ */
53
+ height?: ScrollAreaHeight;
47
54
  className?: string;
48
55
  }
56
+ export type ScrollAreaHeight = 'sm' | 'md' | 'lg';
49
57
  /**
50
58
  * THE single keyboard-/safe-area-aware scroll container — the ONLY way to make a
51
59
  * scroll region in cursedbelt.
@@ -71,5 +79,5 @@ export interface ScrollAreaProps extends Omit<HTMLAttributes<HTMLDivElement>, 's
71
79
  * - Modals/drawers/panels use this same `ScrollArea` for their scrollable body.
72
80
  * - `useKeyboardInset` is NOT called here — it lives in `AppShell`, installed once.
73
81
  */
74
- export declare function ScrollArea({ children, space, safeArea, axis, scrollRef, fade, className, ...rest }: ScrollAreaProps): import("react").JSX.Element;
82
+ export declare function ScrollArea({ children, space, safeArea, axis, scrollRef, fade, height, className, ...rest }: ScrollAreaProps): import("react").JSX.Element;
75
83
  //# sourceMappingURL=ScrollArea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../src/react/components/ScrollArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAU,MAAM,OAAO,CAAC;AAKlG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAcvE;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,OAAO,GAChB;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAMxD;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,KAAiB,EACjB,QAAe,EACf,IAAU,EACV,SAAS,EACT,IAAY,EACZ,SAAS,EACT,GAAG,IAAI,EACR,EAAE,eAAe,+BAwDjB"}
1
+ {"version":3,"file":"ScrollArea.d.ts","sourceRoot":"","sources":["../../../src/react/components/ScrollArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAU,MAAM,OAAO,CAAC;AAKlG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAcvE;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,OAAO,GAChB;IAAE,mBAAmB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAMxD;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AASlD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,KAAiB,EACjB,QAAe,EACf,IAAU,EACV,SAAS,EACT,IAAY,EACZ,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,eAAe,+BA0DjB"}
@@ -34,6 +34,12 @@ export function scrollAreaPadding(space, safeArea) {
34
34
  paddingBottom: `calc(var(--keyboard-inset, 0px) + ${safe})`,
35
35
  };
36
36
  }
37
+ // Literal classes so Tailwind's scan sees each one. `flex-none` undoes the fill.
38
+ const REGION_HEIGHT = {
39
+ sm: 'flex-none h-[min(var(--region-h-sm),var(--region-h-phone))] sm:h-[var(--region-h-sm)]',
40
+ md: 'flex-none h-[min(var(--region-h-md),var(--region-h-phone))] sm:h-[var(--region-h-md)]',
41
+ lg: 'flex-none h-[min(var(--region-h-lg),var(--region-h-phone))] sm:h-[var(--region-h-lg)]',
42
+ };
37
43
  /**
38
44
  * THE single keyboard-/safe-area-aware scroll container — the ONLY way to make a
39
45
  * scroll region in cursedbelt.
@@ -59,7 +65,7 @@ export function scrollAreaPadding(space, safeArea) {
59
65
  * - Modals/drawers/panels use this same `ScrollArea` for their scrollable body.
60
66
  * - `useKeyboardInset` is NOT called here — it lives in `AppShell`, installed once.
61
67
  */
62
- export function ScrollArea({ children, space = 'default', safeArea = true, axis = 'y', scrollRef, fade = false, className, ...rest }) {
68
+ export function ScrollArea({ children, space = 'default', safeArea = true, axis = 'y', scrollRef, fade = false, height, className, ...rest }) {
63
69
  const { scrollPaddingBottom, paddingBottom } = scrollAreaPadding(space, safeArea);
64
70
  const onFocusCapture = useCaretInView();
65
71
  // The fade needs the element, and `scrollRef` belongs to the caller — keep our own and
@@ -79,7 +85,7 @@ export function ScrollArea({ children, space = 'default', safeArea = true, axis
79
85
  scrollRef(node);
80
86
  else if (scrollRef)
81
87
  scrollRef.current = node;
82
- }, "data-cb-scrollarea": '', "data-cb-scroll-fade": fade ? (mask ? 'on' : 'idle') : undefined, onFocusCapture: onFocusCapture, style: style, className: cn(
88
+ }, "data-cb-scrollarea": '', "data-cb-region-height": height, "data-cb-scroll-fade": fade ? (mask ? 'on' : 'idle') : undefined, onFocusCapture: onFocusCapture, style: style, className: cn(
83
89
  // `min-h-0 flex-1` forces the container to respect its flex parent's height
84
90
  // (without `min-h-0` a flex item's default `min-height:auto` lets it grow
85
91
  // past the parent and never scroll); `min-w-0` is the same fix on the other
@@ -96,6 +102,6 @@ export function ScrollArea({ children, space = 'default', safeArea = true, axis
96
102
  // guardrails-ignore no-raw-overflow: this IS the ScrollArea primitive.
97
103
  axis === 'x' && 'overflow-x-auto',
98
104
  // guardrails-ignore no-raw-overflow: this IS the ScrollArea primitive.
99
- axis === 'both' && 'overflow-auto', className), children: [children, _jsx("div", { "aria-hidden": 'true', style: { height: paddingBottom, flexShrink: 0 } })] }));
105
+ axis === 'both' && 'overflow-auto', height && REGION_HEIGHT[height], className), children: [children, _jsx("div", { "aria-hidden": 'true', style: { height: paddingBottom, flexShrink: 0 } })] }));
100
106
  }
101
107
  //# sourceMappingURL=ScrollArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../../src/react/components/ScrollArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollArea.js","sourceRoot":"","sources":["../../../src/react/components/ScrollArea.tsx"],"names":[],"mappings":"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"}
@@ -7,8 +7,11 @@ export interface SectionProps extends Omit<HTMLAttributes<HTMLElement>, 'title'>
7
7
  /** Right-anchored section-level controls. */
8
8
  actions?: ReactNode;
9
9
  /**
10
- * `plain` (default) — a labelled band on the page background.
11
- * `card` — the same header/body in a bordered, tinted container.
10
+ * `plain` (default) — a labelled band on the page background: its title sits
11
+ * over a 1px hairline rule, and whitespace does the rest (LAY-5, task 2461 —
12
+ * settings, forms and control panels read better cardless).
13
+ * `card` — the same header/body in a bordered, tinted container. An explicit
14
+ * opt-in: a card inside another card warns in dev (LAY-5, never four levels).
12
15
  *
13
16
  * 🔴 `card` exists because of the vault new-entry modal (2026-08-16). Its
14
17
  * fields were "identical spacing … a massive wall of text" in the owner's
@@ -1 +1 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/react/components/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvD,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC9E,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gCAAgC;IAChC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAiB,EACjB,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,YAAY,+BAuCd"}
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/react/components/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvD,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC9E,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gCAAgC;IAChC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAiB,EACjB,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,YAAY,+BAyCd"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '../lib/cn.js';
3
+ import { CardFrameContext, useCardNestingWarning } from './cardFrame.js';
3
4
  import { Split } from './layout.js';
4
5
  /**
5
6
  * Chunks a form or page into a labeled band: an optional title/description/actions
@@ -10,10 +11,12 @@ import { Split } from './layout.js';
10
11
  export function Section({ title, description, actions, variant = 'plain', children, className, ...rest }) {
11
12
  const hasHeader = title || description || actions;
12
13
  const card = variant === 'card';
13
- return (_jsxs("section", {
14
+ useCardNestingWarning(card, 'Section');
15
+ const section = (_jsxs("section", {
14
16
  // guardrails-ignore no-hand-rolled-surface: this IS the section primitive; its `card` variant is the tinted frame apps are told to use instead of a hand-rolled one
15
- className: cn('flex flex-col', card ? 'gap-3 rounded-lg border border-border bg-muted/20 p-3 sm:p-4' : 'gap-4', className), ...rest, children: [hasHeader && (_jsxs(Split, { children: [_jsxs("div", { className: 'min-w-0', children: [title && (_jsx("h2", { className: cn(card
17
+ className: cn('flex flex-col', card ? 'gap-3 rounded-lg border border-border bg-muted/20 p-3 sm:p-4' : 'gap-4', className), ...rest, children: [hasHeader && (_jsxs(Split, { className: cn(!card && 'border-b border-rule pb-2'), children: [_jsxs("div", { className: 'min-w-0', children: [title && (_jsx("h2", { className: cn(card
16
18
  ? 'text-xs font-semibold uppercase tracking-wide text-muted-foreground'
17
19
  : 'text-base font-semibold text-foreground'), children: title })), description && (_jsx("p", { className: cn('mt-0.5 wrap-anywhere text-muted-foreground', card ? 'text-xs' : 'text-sm'), children: description }))] }), actions && _jsx("div", { className: 'flex items-center gap-2', children: actions })] })), children] }));
20
+ return card ? _jsx(CardFrameContext.Provider, { value: true, children: section }) : section;
18
21
  }
19
22
  //# sourceMappingURL=Section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../../src/react/components/Section.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA6BpC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,GAAG,OAAO,EACjB,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACM;IACb,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,IAAI,OAAO,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC;IAChC,OAAO,CACL;QACE,oKAAoK;QACpK,SAAS,EAAE,EAAE,CACX,eAAe,EACf,IAAI,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,OAAO,EAC/E,SAAS,CACV,KACG,IAAI,aAEP,SAAS,IAAI,CACZ,MAAC,KAAK,eACJ,eAAK,SAAS,EAAC,SAAS,aACrB,KAAK,IAAI,CACR,aACE,SAAS,EAAE,EAAE,CACX,IAAI;oCACF,CAAC,CAAC,qEAAqE;oCACvE,CAAC,CAAC,yCAAyC,CAC9C,YAEA,KAAK,GACH,CACN,EACA,WAAW,IAAI,CACd,YAAG,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YACzF,WAAW,GACV,CACL,IACG,EACL,OAAO,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,IAC9D,CACT,EACA,QAAQ,IACD,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../../src/react/components/Section.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgCpC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,GAAG,OAAO,EACjB,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACM;IACb,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,IAAI,OAAO,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC;IAChC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,CACd;QACE,oKAAoK;QACpK,SAAS,EAAE,EAAE,CACX,eAAe,EACf,IAAI,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,OAAO,EAC/E,SAAS,CACV,KACG,IAAI,aAEP,SAAS,IAAI,CACZ,MAAC,KAAK,IAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,2BAA2B,CAAC,aACxD,eAAK,SAAS,EAAC,SAAS,aACrB,KAAK,IAAI,CACR,aACE,SAAS,EAAE,EAAE,CACX,IAAI;oCACF,CAAC,CAAC,qEAAqE;oCACvE,CAAC,CAAC,yCAAyC,CAC9C,YAEA,KAAK,GACH,CACN,EACA,WAAW,IAAI,CACd,YAAG,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YACzF,WAAW,GACV,CACL,IACG,EACL,OAAO,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,IAC9D,CACT,EACA,QAAQ,IACD,CACX,CAAC;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,kBAAE,OAAO,GAA6B,CAAC,CAAC,CAAC,OAAO,CAAC;AACjG,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes } from 'react';
1
+ import { type HTMLAttributes } from 'react';
2
2
  /**
3
3
  * Skeleton — a token-driven loading placeholder (pulsing `muted` block). Compose
4
4
  * shapes from the base, or reach for the convenience shapes below for the common
@@ -25,4 +25,22 @@ export interface SkeletonListProps {
25
25
  /** A stack of full-width rows — the sensible default skeleton for list/table pages
26
26
  * (used as `QueryBoundary`'s loading fallback). */
27
27
  export declare function SkeletonList({ rows, className }: SkeletonListProps): import("react").JSX.Element;
28
+ /** A strip of stat-tile placeholders — the shape of a `StatTileGrid` (label, value, sub). */
29
+ export declare function SkeletonTiles({ tiles, className }: {
30
+ tiles?: number;
31
+ className?: string;
32
+ }): import("react").JSX.Element;
33
+ /** A chart frame's placeholder at the height the chart will take at this width (CHT-9) —
34
+ * the same `chartHeight` the frame uses, so nothing moves when the chart lands. */
35
+ export declare function SkeletonChart({ className }: {
36
+ className?: string;
37
+ }): import("react").JSX.Element;
38
+ export type SkeletonVariant = 'rows' | 'tiles' | 'chart';
39
+ /** The skeleton shaped like the content it stands in for (STA-1) — rows, tiles or a chart. */
40
+ export declare function ContentSkeleton({ variant, count, className, }: {
41
+ variant?: SkeletonVariant;
42
+ /** Rows or tiles to draw. */
43
+ count?: number;
44
+ className?: string;
45
+ }): import("react").JSX.Element;
28
46
  //# sourceMappingURL=Skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/react/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAI/E;yBAJe,QAAQ;sCAUrB;QACD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;8BAYoD;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;2BAKhB;QAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;KAAE;;AAWxF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;oDACoD;AACpD,wBAAgB,YAAY,CAAC,EAAE,IAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,+BAStE"}
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/react/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,OAAO,CAAC;AAKpD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC,+BAI/E;yBAJe,QAAQ;sCAUrB;QACD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;8BAYoD;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;2BAKhB;QAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;KAAE;;AAWxF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;oDACoD;AACpD,wBAAgB,YAAY,CAAC,EAAE,IAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,+BAStE;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,EAAE,KAAS,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAa7F;AAED;oFACoF;AACpF,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAQlE;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,EAC9B,OAAgB,EAChB,KAAK,EACL,SAAS,GACV,EAAE;IACD,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAIA"}
@@ -1,4 +1,7 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
+ import { chartHeight } from '../charts/chartBox.js';
4
+ import { useElementSize } from '../hooks/useResizeObserver.js';
2
5
  import { cn } from '../lib/cn.js';
3
6
  /**
4
7
  * Skeleton — a token-driven loading placeholder (pulsing `muted` block). Compose
@@ -24,6 +27,25 @@ Skeleton.Avatar = function SkeletonAvatar({ size = 'md' }) {
24
27
  /** A stack of full-width rows — the sensible default skeleton for list/table pages
25
28
  * (used as `QueryBoundary`'s loading fallback). */
26
29
  export function SkeletonList({ rows = 6, className }) {
27
- return (_jsx("div", { className: cn('flex flex-col gap-3', className), "aria-hidden": true, children: Array.from({ length: rows }).map((_, i) => (_jsx(Skeleton, { className: 'h-14' }, `skeleton-row-${i}`))) }));
30
+ return (_jsx("div", { className: cn('flex flex-col gap-3', className), "aria-hidden": true, "data-cb-skeleton": 'rows', children: Array.from({ length: rows }).map((_, i) => (_jsx(Skeleton, { className: 'h-14' }, `skeleton-row-${i}`))) }));
31
+ }
32
+ /** A strip of stat-tile placeholders — the shape of a `StatTileGrid` (label, value, sub). */
33
+ export function SkeletonTiles({ tiles = 4, className }) {
34
+ return (_jsx("div", { className: cn('grid grid-cols-2 gap-3 md:grid-cols-4', className), "aria-hidden": true, "data-cb-skeleton": 'tiles', children: Array.from({ length: tiles }).map((_, i) => (_jsxs("div", { className: 'flex flex-col gap-2 rounded-lg border border-border p-3', children: [_jsx(Skeleton, { className: 'h-3 w-1/2' }), _jsx(Skeleton, { className: 'h-8 w-2/3' }), _jsx(Skeleton, { className: 'h-3 w-3/4' })] }, `skeleton-tile-${i}`))) }));
35
+ }
36
+ /** A chart frame's placeholder at the height the chart will take at this width (CHT-9) —
37
+ * the same `chartHeight` the frame uses, so nothing moves when the chart lands. */
38
+ export function SkeletonChart({ className }) {
39
+ const ref = useRef(null);
40
+ const { width } = useElementSize(ref, { layout: true });
41
+ return (_jsx("div", { ref: ref, className: cn('w-full', className), "aria-hidden": true, "data-cb-skeleton": 'chart', children: _jsx(Skeleton, { className: 'w-full rounded-md', style: { height: chartHeight(width) } }) }));
42
+ }
43
+ /** The skeleton shaped like the content it stands in for (STA-1) — rows, tiles or a chart. */
44
+ export function ContentSkeleton({ variant = 'rows', count, className, }) {
45
+ if (variant === 'tiles')
46
+ return _jsx(SkeletonTiles, { tiles: count, className: className });
47
+ if (variant === 'chart')
48
+ return _jsx(SkeletonChart, { className: className });
49
+ return _jsx(SkeletonList, { rows: count, className: className });
28
50
  }
29
51
  //# sourceMappingURL=Skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/react/components/Skeleton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAkC;IAC9E,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,0BAAkB,KAAK,GAAI,CAC9F,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,QAAQ,CAAC,IAAI,GAAG,SAAS,YAAY,CAAC,EACpC,KAAK,GAAG,CAAC,EACT,SAAS,GAIV;IACC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAE3C,KAAC,QAAQ,IAA4B,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAtE,iBAAiB,CAAC,EAAE,CAAsD,CAC1F,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,0BAA0B;AAC1B,QAAQ,CAAC,IAAI,GAAG,SAAS,YAAY,CAAC,EAAE,SAAS,EAA0B;IACzE,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,GAAI,CAAC;AAC/D,CAAC,CAAC;AAEF,kCAAkC;AAClC,QAAQ,CAAC,MAAM,GAAG,SAAS,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,EAAiC;IACtF,OAAO,CACL,KAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CACX,cAAc,EACd,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACjE,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAOF;oDACoD;AACpD,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,EAAqB;IACrE,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,iCACjD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAE1C,KAAC,QAAQ,IAA2B,SAAS,EAAC,MAAM,IAArC,gBAAgB,CAAC,EAAE,CAAqB,CACxD,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/react/components/Skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuB,MAAM,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAkC;IAC9E,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,0BAAkB,KAAK,GAAI,CAC9F,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,QAAQ,CAAC,IAAI,GAAG,SAAS,YAAY,CAAC,EACpC,KAAK,GAAG,CAAC,EACT,SAAS,GAIV;IACC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAE3C,KAAC,QAAQ,IAA4B,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAtE,iBAAiB,CAAC,EAAE,CAAsD,CAC1F,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,0BAA0B;AAC1B,QAAQ,CAAC,IAAI,GAAG,SAAS,YAAY,CAAC,EAAE,SAAS,EAA0B;IACzE,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,GAAI,CAAC;AAC/D,CAAC,CAAC;AAEF,kCAAkC;AAClC,QAAQ,CAAC,MAAM,GAAG,SAAS,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,EAAiC;IACtF,OAAO,CACL,KAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CACX,cAAc,EACd,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACjE,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAOF;oDACoD;AACpD,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,EAAqB;IACrE,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,2CAA+B,MAAM,YACtF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAE1C,KAAC,QAAQ,IAA2B,SAAS,EAAC,MAAM,IAArC,gBAAgB,CAAC,EAAE,CAAqB,CACxD,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,EAA0C;IAC5F,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,SAAS,CAAC,2CAA+B,OAAO,YACzG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAE3C,eAAgC,SAAS,EAAC,yDAAyD,aACjG,KAAC,QAAQ,IAAC,SAAS,EAAC,WAAW,GAAG,EAClC,KAAC,QAAQ,IAAC,SAAS,EAAC,WAAW,GAAG,EAClC,KAAC,QAAQ,IAAC,SAAS,EAAC,WAAW,GAAG,KAH1B,iBAAiB,CAAC,EAAE,CAIxB,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED;oFACoF;AACpF,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAA0B;IACjE,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,2CAA+B,OAAO,YACrF,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,GAAI,GAC7E,CACP,CAAC;AACJ,CAAC;AAID,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,GAAG,MAAM,EAChB,KAAK,EACL,SAAS,GAMV;IACC,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IACtF,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;IACxE,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;AAC7D,CAAC"}