@nadicodeai/ui 12.1.95 → 12.1.97

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 (596) hide show
  1. package/AGENTS.md +5 -1
  2. package/dist/components/accordion.d.ts +13 -0
  3. package/dist/components/accordion.d.ts.map +1 -1
  4. package/dist/components/accordion.js +13 -0
  5. package/dist/components/account-menu.d.ts +62 -18
  6. package/dist/components/account-menu.d.ts.map +1 -1
  7. package/dist/components/account-menu.js +32 -8
  8. package/dist/components/action-menu.d.ts +61 -5
  9. package/dist/components/action-menu.d.ts.map +1 -1
  10. package/dist/components/action-menu.js +31 -2
  11. package/dist/components/action-status.d.ts +13 -3
  12. package/dist/components/action-status.d.ts.map +1 -1
  13. package/dist/components/action-status.js +13 -3
  14. package/dist/components/activity-calendar.d.ts +14 -0
  15. package/dist/components/activity-calendar.d.ts.map +1 -1
  16. package/dist/components/activity-calendar.js +14 -0
  17. package/dist/components/activity-feed.d.ts +62 -0
  18. package/dist/components/activity-feed.d.ts.map +1 -0
  19. package/dist/components/activity-feed.js +54 -0
  20. package/dist/components/agent-card.d.ts +15 -0
  21. package/dist/components/agent-card.d.ts.map +1 -1
  22. package/dist/components/agent-card.js +15 -0
  23. package/dist/components/agent-list-row.d.ts +11 -7
  24. package/dist/components/agent-list-row.d.ts.map +1 -1
  25. package/dist/components/agent-list-row.js +10 -8
  26. package/dist/components/agent-orb-appearance.d.ts +5 -4
  27. package/dist/components/agent-orb-appearance.d.ts.map +1 -1
  28. package/dist/components/agent-orb.d.ts +16 -0
  29. package/dist/components/agent-orb.d.ts.map +1 -1
  30. package/dist/components/agent-orb.js +17 -0
  31. package/dist/components/agent-profile.d.ts +39 -10
  32. package/dist/components/agent-profile.d.ts.map +1 -1
  33. package/dist/components/agent-profile.js +40 -10
  34. package/dist/components/alert-dialog.d.ts +14 -0
  35. package/dist/components/alert-dialog.d.ts.map +1 -1
  36. package/dist/components/alert-dialog.js +14 -0
  37. package/dist/components/alert.d.ts +14 -0
  38. package/dist/components/alert.d.ts.map +1 -1
  39. package/dist/components/alert.js +14 -0
  40. package/dist/components/app-mark.d.ts +14 -4
  41. package/dist/components/app-mark.d.ts.map +1 -1
  42. package/dist/components/app-mark.js +16 -4
  43. package/dist/components/approval-row.d.ts +15 -2
  44. package/dist/components/approval-row.d.ts.map +1 -1
  45. package/dist/components/approval-row.js +15 -2
  46. package/dist/components/aspect-ratio.d.ts +10 -0
  47. package/dist/components/aspect-ratio.d.ts.map +1 -1
  48. package/dist/components/aspect-ratio.js +13 -1
  49. package/dist/components/avatar.d.ts +15 -0
  50. package/dist/components/avatar.d.ts.map +1 -1
  51. package/dist/components/avatar.js +15 -0
  52. package/dist/components/badge.d.ts +11 -1
  53. package/dist/components/badge.d.ts.map +1 -1
  54. package/dist/components/badge.js +10 -5
  55. package/dist/components/brand-field.d.ts +10 -0
  56. package/dist/components/brand-field.d.ts.map +1 -1
  57. package/dist/components/brand-field.js +10 -0
  58. package/dist/components/brand.d.ts +14 -0
  59. package/dist/components/brand.d.ts.map +1 -1
  60. package/dist/components/brand.js +18 -4
  61. package/dist/components/breadcrumb.d.ts +20 -2
  62. package/dist/components/breadcrumb.d.ts.map +1 -1
  63. package/dist/components/breadcrumb.js +13 -3
  64. package/dist/components/button-group.d.ts +21 -0
  65. package/dist/components/button-group.d.ts.map +1 -1
  66. package/dist/components/button-group.js +21 -0
  67. package/dist/components/button.d.ts +20 -0
  68. package/dist/components/button.d.ts.map +1 -1
  69. package/dist/components/button.js +20 -0
  70. package/dist/components/calendar.d.ts +15 -0
  71. package/dist/components/calendar.d.ts.map +1 -1
  72. package/dist/components/calendar.js +15 -0
  73. package/dist/components/card-row.d.ts +15 -5
  74. package/dist/components/card-row.d.ts.map +1 -1
  75. package/dist/components/card-row.js +15 -5
  76. package/dist/components/card.d.ts +16 -0
  77. package/dist/components/card.d.ts.map +1 -1
  78. package/dist/components/card.js +16 -0
  79. package/dist/components/carousel.d.ts +12 -0
  80. package/dist/components/carousel.d.ts.map +1 -1
  81. package/dist/components/carousel.js +12 -0
  82. package/dist/components/catalog-drawer.d.ts +29 -0
  83. package/dist/components/catalog-drawer.d.ts.map +1 -0
  84. package/dist/components/catalog-drawer.js +31 -0
  85. package/dist/components/catalog-entry.d.ts +49 -26
  86. package/dist/components/catalog-entry.d.ts.map +1 -1
  87. package/dist/components/catalog-entry.js +5 -27
  88. package/dist/components/channel-view.d.ts +23 -0
  89. package/dist/components/channel-view.d.ts.map +1 -1
  90. package/dist/components/channel-view.js +13 -4
  91. package/dist/components/chart-area-stacked.d.ts +11 -1
  92. package/dist/components/chart-area-stacked.d.ts.map +1 -1
  93. package/dist/components/chart-area-stacked.js +12 -2
  94. package/dist/components/chart-axis.d.ts.map +1 -1
  95. package/dist/components/chart-axis.js +2 -0
  96. package/dist/components/chart-bar-horizontal.d.ts +11 -1
  97. package/dist/components/chart-bar-horizontal.d.ts.map +1 -1
  98. package/dist/components/chart-bar-horizontal.js +15 -2
  99. package/dist/components/chart-bar-multiple.d.ts +9 -4
  100. package/dist/components/chart-bar-multiple.d.ts.map +1 -1
  101. package/dist/components/chart-bar-multiple.js +10 -5
  102. package/dist/components/chart-bar-stacked.d.ts +11 -1
  103. package/dist/components/chart-bar-stacked.d.ts.map +1 -1
  104. package/dist/components/chart-bar-stacked.js +12 -2
  105. package/dist/components/chart-card.d.ts +38 -24
  106. package/dist/components/chart-card.d.ts.map +1 -1
  107. package/dist/components/chart-card.js +21 -8
  108. package/dist/components/chart-date-range-control.d.ts +15 -10
  109. package/dist/components/chart-date-range-control.d.ts.map +1 -1
  110. package/dist/components/chart-date-range-control.js +16 -12
  111. package/dist/components/chart-date-range.d.ts +2 -1
  112. package/dist/components/chart-date-range.d.ts.map +1 -1
  113. package/dist/components/chart-date-range.js +5 -2
  114. package/dist/components/chart-entity-colors.d.ts +7 -0
  115. package/dist/components/chart-entity-colors.d.ts.map +1 -1
  116. package/dist/components/chart-entity-colors.js +7 -0
  117. package/dist/components/chart-sparkline.d.ts +10 -0
  118. package/dist/components/chart-sparkline.d.ts.map +1 -1
  119. package/dist/components/chart-sparkline.js +8 -7
  120. package/dist/components/chart.d.ts +10 -0
  121. package/dist/components/chart.d.ts.map +1 -1
  122. package/dist/components/chart.js +27 -4
  123. package/dist/components/checkbox.d.ts +15 -0
  124. package/dist/components/checkbox.d.ts.map +1 -1
  125. package/dist/components/checkbox.js +15 -0
  126. package/dist/components/code-block.d.ts +15 -0
  127. package/dist/components/code-block.d.ts.map +1 -1
  128. package/dist/components/code-block.js +15 -0
  129. package/dist/components/collapsible.d.ts +12 -0
  130. package/dist/components/collapsible.d.ts.map +1 -1
  131. package/dist/components/collapsible.js +12 -0
  132. package/dist/components/collection-filters.d.ts +15 -2
  133. package/dist/components/collection-filters.d.ts.map +1 -1
  134. package/dist/components/collection-filters.js +13 -1
  135. package/dist/components/collection-page.d.ts +29 -115
  136. package/dist/components/collection-page.d.ts.map +1 -1
  137. package/dist/components/collection-page.js +24 -139
  138. package/dist/components/collection-search.d.ts +14 -0
  139. package/dist/components/collection-search.d.ts.map +1 -1
  140. package/dist/components/collection-search.js +14 -0
  141. package/dist/components/collection-sort.d.ts +13 -3
  142. package/dist/components/collection-sort.d.ts.map +1 -1
  143. package/dist/components/collection-sort.js +17 -4
  144. package/dist/components/collection-toolbar.d.ts +13 -0
  145. package/dist/components/collection-toolbar.d.ts.map +1 -1
  146. package/dist/components/collection-toolbar.js +13 -0
  147. package/dist/components/combobox.d.ts +17 -0
  148. package/dist/components/combobox.d.ts.map +1 -1
  149. package/dist/components/combobox.js +17 -0
  150. package/dist/components/command.d.ts +16 -0
  151. package/dist/components/command.d.ts.map +1 -1
  152. package/dist/components/command.js +16 -0
  153. package/dist/components/company-card/renderer.js +2 -2
  154. package/dist/components/company-card.d.ts +16 -4
  155. package/dist/components/company-card.d.ts.map +1 -1
  156. package/dist/components/company-card.js +22 -10
  157. package/dist/components/confirm-dialog.d.ts +24 -14
  158. package/dist/components/confirm-dialog.d.ts.map +1 -1
  159. package/dist/components/confirm-dialog.js +16 -10
  160. package/dist/components/context-menu.d.ts +10 -0
  161. package/dist/components/context-menu.d.ts.map +1 -1
  162. package/dist/components/context-menu.js +10 -0
  163. package/dist/components/copy-button.d.ts +10 -0
  164. package/dist/components/copy-button.d.ts.map +1 -1
  165. package/dist/components/copy-button.js +10 -0
  166. package/dist/components/dashboard-shell.d.ts +14 -0
  167. package/dist/components/dashboard-shell.d.ts.map +1 -1
  168. package/dist/components/dashboard-shell.js +15 -1
  169. package/dist/components/data-table.d.ts +23 -1
  170. package/dist/components/data-table.d.ts.map +1 -1
  171. package/dist/components/data-table.js +63 -31
  172. package/dist/components/desktop-shell.d.ts +15 -0
  173. package/dist/components/desktop-shell.d.ts.map +1 -1
  174. package/dist/components/desktop-shell.js +15 -0
  175. package/dist/components/dialog.d.ts +16 -0
  176. package/dist/components/dialog.d.ts.map +1 -1
  177. package/dist/components/dialog.js +16 -0
  178. package/dist/components/diff-count.d.ts +11 -0
  179. package/dist/components/diff-count.d.ts.map +1 -1
  180. package/dist/components/diff-count.js +11 -0
  181. package/dist/components/disclosure-row.d.ts +12 -0
  182. package/dist/components/disclosure-row.d.ts.map +1 -1
  183. package/dist/components/disclosure-row.js +12 -0
  184. package/dist/components/disclosure.d.ts +15 -5
  185. package/dist/components/disclosure.d.ts.map +1 -1
  186. package/dist/components/disclosure.js +15 -5
  187. package/dist/components/drawer.d.ts +13 -0
  188. package/dist/components/drawer.d.ts.map +1 -1
  189. package/dist/components/drawer.js +13 -0
  190. package/dist/components/dropdown-menu.d.ts +17 -5
  191. package/dist/components/dropdown-menu.d.ts.map +1 -1
  192. package/dist/components/dropdown-menu.js +20 -7
  193. package/dist/components/empty-art.d.ts +1 -1
  194. package/dist/components/empty-art.d.ts.map +1 -1
  195. package/dist/components/empty-art.js +8 -0
  196. package/dist/components/empty-state.d.ts +24 -10
  197. package/dist/components/empty-state.d.ts.map +1 -1
  198. package/dist/components/empty-state.js +23 -1
  199. package/dist/components/entry-scene.d.ts +33 -20
  200. package/dist/components/entry-scene.d.ts.map +1 -1
  201. package/dist/components/entry-scene.js +40 -9
  202. package/dist/components/expandable-block.d.ts +10 -0
  203. package/dist/components/expandable-block.d.ts.map +1 -1
  204. package/dist/components/expandable-block.js +10 -0
  205. package/dist/components/field.d.ts +17 -0
  206. package/dist/components/field.d.ts.map +1 -1
  207. package/dist/components/field.js +17 -0
  208. package/dist/components/file-diff.d.ts +12 -0
  209. package/dist/components/file-diff.d.ts.map +1 -1
  210. package/dist/components/file-diff.js +12 -0
  211. package/dist/components/file-type-icon.d.ts +12 -0
  212. package/dist/components/file-type-icon.d.ts.map +1 -1
  213. package/dist/components/file-type-icon.js +46 -31
  214. package/dist/components/footer.d.ts +14 -0
  215. package/dist/components/footer.d.ts.map +1 -1
  216. package/dist/components/footer.js +14 -0
  217. package/dist/components/form-dialog.d.ts +10 -0
  218. package/dist/components/form-dialog.d.ts.map +1 -1
  219. package/dist/components/form-dialog.js +10 -0
  220. package/dist/components/form-drawer.d.ts +24 -11
  221. package/dist/components/form-drawer.d.ts.map +1 -1
  222. package/dist/components/form-drawer.js +13 -3
  223. package/dist/components/form.d.ts +17 -0
  224. package/dist/components/form.d.ts.map +1 -1
  225. package/dist/components/form.js +25 -5
  226. package/dist/components/glass-control.d.ts +13 -0
  227. package/dist/components/glass-control.d.ts.map +1 -1
  228. package/dist/components/glass-control.js +13 -0
  229. package/dist/components/heatmap/calendar-heatmap.d.ts.map +1 -1
  230. package/dist/components/heatmap/calendar-heatmap.js +6 -4
  231. package/dist/components/hive-scene.d.ts +14 -0
  232. package/dist/components/hive-scene.d.ts.map +1 -1
  233. package/dist/components/hive-scene.js +14 -0
  234. package/dist/components/house-icons.d.ts +15 -0
  235. package/dist/components/house-icons.d.ts.map +1 -1
  236. package/dist/components/house-icons.js +19 -1
  237. package/dist/components/hover-card.d.ts +15 -0
  238. package/dist/components/hover-card.d.ts.map +1 -1
  239. package/dist/components/hover-card.js +15 -0
  240. package/dist/components/identity-mark.d.ts +55 -0
  241. package/dist/components/identity-mark.d.ts.map +1 -0
  242. package/dist/components/identity-mark.js +66 -0
  243. package/dist/components/input-group.d.ts +16 -0
  244. package/dist/components/input-group.d.ts.map +1 -1
  245. package/dist/components/input-group.js +17 -0
  246. package/dist/components/input-otp.d.ts +15 -0
  247. package/dist/components/input-otp.d.ts.map +1 -1
  248. package/dist/components/input-otp.js +15 -0
  249. package/dist/components/input.d.ts +15 -0
  250. package/dist/components/input.d.ts.map +1 -1
  251. package/dist/components/input.js +15 -0
  252. package/dist/components/item.d.ts +16 -0
  253. package/dist/components/item.d.ts.map +1 -1
  254. package/dist/components/item.js +16 -0
  255. package/dist/components/kbd.d.ts +14 -0
  256. package/dist/components/kbd.d.ts.map +1 -1
  257. package/dist/components/kbd.js +14 -0
  258. package/dist/components/kpi-card.d.ts +21 -13
  259. package/dist/components/kpi-card.d.ts.map +1 -1
  260. package/dist/components/kpi-card.js +14 -3
  261. package/dist/components/label-system.d.ts +12 -0
  262. package/dist/components/label-system.d.ts.map +1 -1
  263. package/dist/components/label-system.js +12 -0
  264. package/dist/components/label.d.ts +15 -0
  265. package/dist/components/label.d.ts.map +1 -1
  266. package/dist/components/label.js +15 -0
  267. package/dist/components/library-shelf.d.ts +35 -0
  268. package/dist/components/library-shelf.d.ts.map +1 -0
  269. package/dist/components/library-shelf.js +40 -0
  270. package/dist/components/memory-item.d.ts +12 -0
  271. package/dist/components/memory-item.d.ts.map +1 -1
  272. package/dist/components/memory-item.js +12 -0
  273. package/dist/components/menu-choice-row.d.ts +13 -5
  274. package/dist/components/menu-choice-row.d.ts.map +1 -1
  275. package/dist/components/menu-choice-row.js +12 -6
  276. package/dist/components/menubar.d.ts +13 -0
  277. package/dist/components/menubar.d.ts.map +1 -1
  278. package/dist/components/menubar.js +13 -0
  279. package/dist/components/message-notice.d.ts +16 -0
  280. package/dist/components/message-notice.d.ts.map +1 -1
  281. package/dist/components/message-notice.js +18 -2
  282. package/dist/components/model-identity.d.ts +16 -3
  283. package/dist/components/model-identity.d.ts.map +1 -1
  284. package/dist/components/model-identity.js +16 -3
  285. package/dist/components/model-mark.d.ts +15 -2
  286. package/dist/components/model-mark.d.ts.map +1 -1
  287. package/dist/components/model-mark.js +36 -23
  288. package/dist/components/nadia-presence.d.ts +10 -4
  289. package/dist/components/nadia-presence.d.ts.map +1 -1
  290. package/dist/components/nadia-presence.js +10 -4
  291. package/dist/components/native-select.d.ts +16 -0
  292. package/dist/components/native-select.d.ts.map +1 -1
  293. package/dist/components/native-select.js +21 -0
  294. package/dist/components/navigation-menu.d.ts +14 -0
  295. package/dist/components/navigation-menu.d.ts.map +1 -1
  296. package/dist/components/navigation-menu.js +14 -0
  297. package/dist/components/notice-banner.d.ts +10 -3
  298. package/dist/components/notice-banner.d.ts.map +1 -1
  299. package/dist/components/notice-banner.js +9 -3
  300. package/dist/components/numbered-steps.d.ts +33 -0
  301. package/dist/components/numbered-steps.d.ts.map +1 -0
  302. package/dist/components/numbered-steps.js +23 -0
  303. package/dist/components/object-page.d.ts +37 -0
  304. package/dist/components/object-page.d.ts.map +1 -0
  305. package/dist/components/object-page.js +19 -0
  306. package/dist/components/object-workspace.d.ts +26 -36
  307. package/dist/components/object-workspace.d.ts.map +1 -1
  308. package/dist/components/object-workspace.js +27 -24
  309. package/dist/components/overview-page.d.ts +24 -0
  310. package/dist/components/overview-page.d.ts.map +1 -0
  311. package/dist/components/overview-page.js +26 -0
  312. package/dist/components/page-actions.d.ts +28 -23
  313. package/dist/components/page-actions.d.ts.map +1 -1
  314. package/dist/components/page-actions.js +20 -14
  315. package/dist/components/page-header.d.ts +11 -5
  316. package/dist/components/page-header.d.ts.map +1 -1
  317. package/dist/components/page-header.js +11 -5
  318. package/dist/components/pagination.d.ts +15 -0
  319. package/dist/components/pagination.d.ts.map +1 -1
  320. package/dist/components/pagination.js +15 -0
  321. package/dist/components/pairing-code.d.ts +15 -4
  322. package/dist/components/pairing-code.d.ts.map +1 -1
  323. package/dist/components/pairing-code.js +15 -4
  324. package/dist/components/pending-label.d.ts +12 -4
  325. package/dist/components/pending-label.d.ts.map +1 -1
  326. package/dist/components/pending-label.js +12 -4
  327. package/dist/components/picture-label.d.ts +15 -7
  328. package/dist/components/picture-label.d.ts.map +1 -1
  329. package/dist/components/picture-label.js +15 -7
  330. package/dist/components/platform-mark.d.ts +12 -3
  331. package/dist/components/platform-mark.d.ts.map +1 -1
  332. package/dist/components/platform-mark.js +12 -3
  333. package/dist/components/plugin-slot-boundary.d.ts +15 -0
  334. package/dist/components/plugin-slot-boundary.d.ts.map +1 -1
  335. package/dist/components/plugin-slot-boundary.js +18 -1
  336. package/dist/components/popover.d.ts +15 -0
  337. package/dist/components/popover.d.ts.map +1 -1
  338. package/dist/components/popover.js +15 -0
  339. package/dist/components/portal-sidebar-frame.d.ts +26 -12
  340. package/dist/components/portal-sidebar-frame.d.ts.map +1 -1
  341. package/dist/components/portal-sidebar-frame.js +26 -0
  342. package/dist/components/product-message.d.ts.map +1 -1
  343. package/dist/components/product-message.js +1 -0
  344. package/dist/components/progress.d.ts +10 -8
  345. package/dist/components/progress.d.ts.map +1 -1
  346. package/dist/components/progress.js +17 -16
  347. package/dist/components/qr-code.d.ts +9 -3
  348. package/dist/components/qr-code.d.ts.map +1 -1
  349. package/dist/components/qr-code.js +9 -3
  350. package/dist/components/radio-group.d.ts +15 -0
  351. package/dist/components/radio-group.d.ts.map +1 -1
  352. package/dist/components/radio-group.js +15 -0
  353. package/dist/components/reading-column.d.ts +11 -0
  354. package/dist/components/reading-column.d.ts.map +1 -1
  355. package/dist/components/reading-column.js +11 -0
  356. package/dist/components/record-identity.d.ts +12 -7
  357. package/dist/components/record-identity.d.ts.map +1 -1
  358. package/dist/components/record-identity.js +12 -7
  359. package/dist/components/record-list.d.ts +119 -0
  360. package/dist/components/record-list.d.ts.map +1 -0
  361. package/dist/components/record-list.js +161 -0
  362. package/dist/components/record-sheet.d.ts +36 -0
  363. package/dist/components/record-sheet.d.ts.map +1 -0
  364. package/dist/components/record-sheet.js +19 -0
  365. package/dist/components/record-time.d.ts +27 -11
  366. package/dist/components/record-time.d.ts.map +1 -1
  367. package/dist/components/record-time.js +35 -14
  368. package/dist/components/resizable.d.ts +10 -0
  369. package/dist/components/resizable.d.ts.map +1 -1
  370. package/dist/components/resizable.js +10 -0
  371. package/dist/components/row-edit-form.d.ts +8 -5
  372. package/dist/components/row-edit-form.d.ts.map +1 -1
  373. package/dist/components/row-edit-form.js +8 -5
  374. package/dist/components/run-timeline.d.ts +24 -11
  375. package/dist/components/run-timeline.d.ts.map +1 -1
  376. package/dist/components/run-timeline.js +13 -6
  377. package/dist/components/scope-switcher.d.ts +11 -0
  378. package/dist/components/scope-switcher.d.ts.map +1 -1
  379. package/dist/components/scope-switcher.js +20 -9
  380. package/dist/components/scroll-area.d.ts +12 -0
  381. package/dist/components/scroll-area.d.ts.map +1 -1
  382. package/dist/components/scroll-area.js +12 -0
  383. package/dist/components/select.d.ts +16 -0
  384. package/dist/components/select.d.ts.map +1 -1
  385. package/dist/components/select.js +16 -0
  386. package/dist/components/separator.d.ts +11 -0
  387. package/dist/components/separator.d.ts.map +1 -1
  388. package/dist/components/separator.js +11 -0
  389. package/dist/components/settings-facts.d.ts +18 -1
  390. package/dist/components/settings-facts.d.ts.map +1 -1
  391. package/dist/components/settings-facts.js +20 -1
  392. package/dist/components/settings-page.d.ts +20 -0
  393. package/dist/components/settings-page.d.ts.map +1 -0
  394. package/dist/components/settings-page.js +16 -0
  395. package/dist/components/settings-section.d.ts +38 -8
  396. package/dist/components/settings-section.d.ts.map +1 -1
  397. package/dist/components/settings-section.js +33 -7
  398. package/dist/components/sheet.d.ts +16 -0
  399. package/dist/components/sheet.d.ts.map +1 -1
  400. package/dist/components/sheet.js +16 -0
  401. package/dist/components/sidebar-sections.d.ts +40 -0
  402. package/dist/components/sidebar-sections.d.ts.map +1 -0
  403. package/dist/components/sidebar-sections.js +35 -0
  404. package/dist/components/sidebar.d.ts +14 -1
  405. package/dist/components/sidebar.d.ts.map +1 -1
  406. package/dist/components/sidebar.js +24 -5
  407. package/dist/components/skeleton.d.ts +10 -0
  408. package/dist/components/skeleton.d.ts.map +1 -1
  409. package/dist/components/skeleton.js +11 -1
  410. package/dist/components/slider.d.ts +14 -0
  411. package/dist/components/slider.d.ts.map +1 -1
  412. package/dist/components/slider.js +14 -0
  413. package/dist/components/sonner.d.ts +18 -0
  414. package/dist/components/sonner.d.ts.map +1 -1
  415. package/dist/components/sonner.js +23 -2
  416. package/dist/components/status-badge.d.ts +13 -2
  417. package/dist/components/status-badge.d.ts.map +1 -1
  418. package/dist/components/status-badge.js +21 -9
  419. package/dist/components/status-dot.d.ts +12 -0
  420. package/dist/components/status-dot.d.ts.map +1 -1
  421. package/dist/components/status-dot.js +12 -0
  422. package/dist/components/status-row.d.ts +14 -0
  423. package/dist/components/status-row.d.ts.map +1 -1
  424. package/dist/components/status-row.js +14 -0
  425. package/dist/components/switch.d.ts +15 -0
  426. package/dist/components/switch.d.ts.map +1 -1
  427. package/dist/components/switch.js +15 -0
  428. package/dist/components/table-card.d.ts +16 -3
  429. package/dist/components/table-card.d.ts.map +1 -1
  430. package/dist/components/table-card.js +16 -3
  431. package/dist/components/table-value.d.ts +24 -2
  432. package/dist/components/table-value.d.ts.map +1 -1
  433. package/dist/components/table-value.js +25 -3
  434. package/dist/components/table.d.ts +16 -0
  435. package/dist/components/table.d.ts.map +1 -1
  436. package/dist/components/table.js +17 -1
  437. package/dist/components/tabs.d.ts +27 -0
  438. package/dist/components/tabs.d.ts.map +1 -1
  439. package/dist/components/tabs.js +27 -0
  440. package/dist/components/tag.d.ts +12 -2
  441. package/dist/components/tag.d.ts.map +1 -1
  442. package/dist/components/tag.js +12 -2
  443. package/dist/components/text-link.d.ts +17 -0
  444. package/dist/components/text-link.d.ts.map +1 -1
  445. package/dist/components/text-link.js +17 -0
  446. package/dist/components/textarea.d.ts +14 -0
  447. package/dist/components/textarea.d.ts.map +1 -1
  448. package/dist/components/textarea.js +14 -0
  449. package/dist/components/theme-mode-switcher.d.ts +21 -0
  450. package/dist/components/theme-mode-switcher.d.ts.map +1 -1
  451. package/dist/components/theme-mode-switcher.js +23 -1
  452. package/dist/components/toggle-group.d.ts +13 -0
  453. package/dist/components/toggle-group.d.ts.map +1 -1
  454. package/dist/components/toggle-group.js +16 -1
  455. package/dist/components/toggle.d.ts +14 -0
  456. package/dist/components/toggle.d.ts.map +1 -1
  457. package/dist/components/toggle.js +14 -0
  458. package/dist/components/tool-icon.d.ts +14 -4
  459. package/dist/components/tool-icon.d.ts.map +1 -1
  460. package/dist/components/tool-icon.js +28 -19
  461. package/dist/components/tooltip.d.ts +15 -0
  462. package/dist/components/tooltip.d.ts.map +1 -1
  463. package/dist/components/tooltip.js +15 -0
  464. package/dist/components/trend-badge.d.ts +16 -1
  465. package/dist/components/trend-badge.d.ts.map +1 -1
  466. package/dist/components/trend-badge.js +16 -7
  467. package/dist/components/update-card.d.ts +36 -0
  468. package/dist/components/update-card.d.ts.map +1 -0
  469. package/dist/components/update-card.js +28 -0
  470. package/dist/components/usage-meter.d.ts +15 -0
  471. package/dist/components/usage-meter.d.ts.map +1 -1
  472. package/dist/components/usage-meter.js +20 -1
  473. package/dist/components/waiting-line.d.ts +13 -10
  474. package/dist/components/waiting-line.d.ts.map +1 -1
  475. package/dist/components/waiting-line.js +13 -10
  476. package/dist/eslint/index.js +9 -0
  477. package/dist/eslint/rules/empty-state-owner.js +145 -0
  478. package/dist/eslint/rules/jsx-class-utility.js +5 -0
  479. package/dist/eslint/rules/menu-owner.js +75 -0
  480. package/dist/eslint/rules/no-choice-control-wrapper.js +2 -0
  481. package/dist/eslint/rules/no-decorative-icon.js +164 -0
  482. package/dist/eslint/rules/no-deprecated-zod-api.js +1 -0
  483. package/dist/eslint/rules/no-shadcn-appearance-override.js +1 -0
  484. package/dist/eslint/rules/no-subject-derived-expectation.js +1 -1
  485. package/dist/eslint/rules/no-write-in-subscription.js +1 -0
  486. package/dist/eslint/rules/page-composition.js +232 -0
  487. package/dist/eslint/rules/rendered-import.js +121 -0
  488. package/dist/eslint/strict-design-system.js +1 -1
  489. package/dist/hooks/use-hydrated.d.ts +2 -0
  490. package/dist/hooks/use-hydrated.d.ts.map +1 -0
  491. package/dist/hooks/use-hydrated.js +7 -0
  492. package/dist/index.d.ts +15 -10
  493. package/dist/index.d.ts.map +1 -1
  494. package/dist/index.js +15 -10
  495. package/dist/internal/agent-orb.d.ts.map +1 -1
  496. package/dist/internal/agent-orb.js +2 -1
  497. package/dist/internal/assistant-ui/attachment.d.ts.map +1 -1
  498. package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -1
  499. package/dist/internal/assistant-ui/reasoning.js +3 -1
  500. package/dist/internal/assistant-ui/thread.js +3 -1
  501. package/dist/internal/assistant-ui/tool-fallback.d.ts.map +1 -1
  502. package/dist/internal/assistant-ui/tool-fallback.js +13 -13
  503. package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -1
  504. package/dist/internal/assistant-ui/tool-group.js +3 -1
  505. package/dist/internal/catalog-list.d.ts +14 -0
  506. package/dist/internal/catalog-list.d.ts.map +1 -0
  507. package/dist/internal/catalog-list.js +53 -0
  508. package/dist/internal/empty.d.ts +6 -9
  509. package/dist/internal/empty.d.ts.map +1 -1
  510. package/dist/internal/empty.js +24 -22
  511. package/dist/internal/footer-strip.d.ts +0 -4
  512. package/dist/internal/footer-strip.d.ts.map +1 -1
  513. package/dist/internal/footer-strip.js +0 -4
  514. package/dist/internal/record-menu-items.d.ts +19 -0
  515. package/dist/internal/record-menu-items.d.ts.map +1 -0
  516. package/dist/internal/record-menu-items.js +20 -0
  517. package/dist/internal/settings-save.d.ts +43 -0
  518. package/dist/internal/settings-save.d.ts.map +1 -0
  519. package/dist/internal/settings-save.js +147 -0
  520. package/dist/lib/theme-mode.d.ts +1 -1
  521. package/dist/lib/theme-mode.js +2 -2
  522. package/dist/lib/use-copy-to-clipboard.d.ts.map +1 -1
  523. package/dist/lib/use-copy-to-clipboard.js +1 -0
  524. package/dist/showcase/assets.d.ts +8 -0
  525. package/dist/showcase/assets.d.ts.map +1 -0
  526. package/dist/showcase/assets.js +13 -0
  527. package/dist/showcase/foundations.d.ts +2 -0
  528. package/dist/showcase/foundations.d.ts.map +1 -0
  529. package/dist/showcase/foundations.js +61 -0
  530. package/dist/showcase/samples.d.ts +21 -0
  531. package/dist/showcase/samples.d.ts.map +1 -0
  532. package/dist/showcase/samples.js +48 -0
  533. package/dist/showcase/showcase.d.ts +10 -0
  534. package/dist/showcase/showcase.d.ts.map +1 -0
  535. package/dist/showcase/showcase.js +44 -0
  536. package/dist/showcase/specimens/actions.d.ts +7 -0
  537. package/dist/showcase/specimens/actions.d.ts.map +1 -0
  538. package/dist/showcase/specimens/actions.js +15 -0
  539. package/dist/showcase/specimens/charts.d.ts +17 -0
  540. package/dist/showcase/specimens/charts.d.ts.map +1 -0
  541. package/dist/showcase/specimens/charts.js +104 -0
  542. package/dist/showcase/specimens/choices.d.ts +21 -0
  543. package/dist/showcase/specimens/choices.d.ts.map +1 -0
  544. package/dist/showcase/specimens/choices.js +68 -0
  545. package/dist/showcase/specimens/compositions.d.ts +39 -0
  546. package/dist/showcase/specimens/compositions.d.ts.map +1 -0
  547. package/dist/showcase/specimens/compositions.js +270 -0
  548. package/dist/showcase/specimens/data.d.ts +31 -0
  549. package/dist/showcase/specimens/data.d.ts.map +1 -0
  550. package/dist/showcase/specimens/data.js +111 -0
  551. package/dist/showcase/specimens/feedback.d.ts +23 -0
  552. package/dist/showcase/specimens/feedback.d.ts.map +1 -0
  553. package/dist/showcase/specimens/feedback.js +64 -0
  554. package/dist/showcase/specimens/index.d.ts +164 -0
  555. package/dist/showcase/specimens/index.d.ts.map +1 -0
  556. package/dist/showcase/specimens/index.js +24 -0
  557. package/dist/showcase/specimens/inputs.d.ts +22 -0
  558. package/dist/showcase/specimens/inputs.d.ts.map +1 -0
  559. package/dist/showcase/specimens/inputs.js +60 -0
  560. package/dist/showcase/specimens/menus.d.ts +20 -0
  561. package/dist/showcase/specimens/menus.d.ts.map +1 -0
  562. package/dist/showcase/specimens/menus.js +65 -0
  563. package/dist/showcase/specimens/navigation.d.ts +22 -0
  564. package/dist/showcase/specimens/navigation.d.ts.map +1 -0
  565. package/dist/showcase/specimens/navigation.js +103 -0
  566. package/dist/showcase/specimens/other.d.ts +26 -0
  567. package/dist/showcase/specimens/other.d.ts.map +1 -0
  568. package/dist/showcase/specimens/other.js +73 -0
  569. package/dist/showcase/specimens/specimen.d.ts +5 -0
  570. package/dist/showcase/specimens/specimen.d.ts.map +1 -0
  571. package/dist/showcase/specimens/specimen.js +1 -0
  572. package/dist/showcase/specimens/status.d.ts +22 -0
  573. package/dist/showcase/specimens/status.d.ts.map +1 -0
  574. package/dist/showcase/specimens/status.js +44 -0
  575. package/dist/showcase/usage.generated.d.ts +16 -0
  576. package/dist/showcase/usage.generated.d.ts.map +1 -0
  577. package/dist/showcase/usage.generated.js +1788 -0
  578. package/dist/standalone/index.js +2 -2
  579. package/dist/standalone/orb-page.js +1 -0
  580. package/dist/styles/components.css +21 -0
  581. package/package.json +8 -3
  582. package/dist/components/automation-section.d.ts +0 -78
  583. package/dist/components/automation-section.d.ts.map +0 -1
  584. package/dist/components/automation-section.js +0 -75
  585. package/dist/components/catalog-tile.d.ts +0 -19
  586. package/dist/components/catalog-tile.d.ts.map +0 -1
  587. package/dist/components/catalog-tile.js +0 -13
  588. package/dist/components/feedback-state.d.ts +0 -14
  589. package/dist/components/feedback-state.d.ts.map +0 -1
  590. package/dist/components/feedback-state.js +0 -65
  591. package/dist/components/installer-shell.d.ts +0 -25
  592. package/dist/components/installer-shell.d.ts.map +0 -1
  593. package/dist/components/installer-shell.js +0 -32
  594. package/dist/components/settings-form.d.ts +0 -9
  595. package/dist/components/settings-form.d.ts.map +0 -1
  596. package/dist/components/settings-form.js +0 -85
@@ -6,6 +6,18 @@ const TONE_BG_CLASS = {
6
6
  warn: "bg-warning",
7
7
  bad: "bg-destructive",
8
8
  };
9
+ /**
10
+ * A small still dot beside a word that already names the state.
11
+ *
12
+ * @family Status
13
+ * @when A small mark in dense chrome, beside a word that already names the state: a channel, a
14
+ * machine in a list.
15
+ * @instead A status that stands alone is a `StatusBadge`. Something in motion is the waiting line
16
+ * or an Agent's orb; the dot has no info tone.
17
+ * @behaviour Still; never pulses. Tones are `good`, `muted`, `warn`, `bad`, at full strength.
18
+ * @words None of its own. The word beside it says the state.
19
+ * @access Always `aria-hidden`. If the word is missing, the state is missing.
20
+ */
9
21
  function StatusDot({ className, tone, ...props }) {
10
22
  return (_jsx("span", { "aria-hidden": "true", className: cn("inline-block size-1.5 rounded-full", TONE_BG_CLASS[tone], className), "data-slot": "status-dot", "data-tone": tone, ...props }));
11
23
  }
@@ -5,6 +5,20 @@ interface StatusRowProps extends Omit<React.ComponentProps<"div">, "onClick" | "
5
5
  trailing?: ReactNode;
6
6
  trailingVisible?: boolean;
7
7
  }
8
+ /**
9
+ * One line of a status panel: a mark, what it is, and controls that show on hover.
10
+ *
11
+ * @family Data
12
+ * @when Lines inside a side panel that report what is running or connected, grouped under a
13
+ * collapsible `StatusSection`.
14
+ * @instead A collection's row is `RecordList`'s. A row with a sentence and actions is `Item`.
15
+ * @behaviour When `onActivate` is given the whole row is one button that takes the accent hover;
16
+ * the trailing controls show on hover or focus unless `trailingVisible`. A `StatusSection` starts
17
+ * collapsed.
18
+ * @words The row names the thing; the section's label is a plural noun.
19
+ * @access An activatable row is `role="button"`, reached by Tab and run by Enter or Space. The
20
+ * section's toggle exposes `aria-expanded`.
21
+ */
8
22
  declare function StatusRow({ children, className, leading, onActivate, trailing, trailingVisible, ...props }: StatusRowProps): import("react").JSX.Element;
9
23
  interface StatusSectionProps {
10
24
  accessory?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"status-row.d.ts","sourceRoot":"","sources":["../../src/components/status-row.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtF,UAAU,cAAe,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACzF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iBAAS,SAAS,CAAC,EACjB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAuB,EACvB,GAAG,KAAK,EACT,EAAE,cAAc,+BAyChB;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,gBAAuB,EACvB,IAAI,EACJ,KAAK,GACN,EAAE,kBAAkB,+BAwBpB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"status-row.d.ts","sourceRoot":"","sources":["../../src/components/status-row.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtF,UAAU,cAAe,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACzF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,SAAS,CAAC,EACjB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAuB,EACvB,GAAG,KAAK,EACT,EAAE,cAAc,+BAyChB;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,gBAAuB,EACvB,IAAI,EACJ,KAAK,GACN,EAAE,kBAAkB,+BAwBpB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC"}
@@ -3,6 +3,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
4
  import { ChevronRightIcon } from "lucide-react";
5
5
  import { cn } from "../lib/utils.js";
6
+ /**
7
+ * One line of a status panel: a mark, what it is, and controls that show on hover.
8
+ *
9
+ * @family Data
10
+ * @when Lines inside a side panel that report what is running or connected, grouped under a
11
+ * collapsible `StatusSection`.
12
+ * @instead A collection's row is `RecordList`'s. A row with a sentence and actions is `Item`.
13
+ * @behaviour When `onActivate` is given the whole row is one button that takes the accent hover;
14
+ * the trailing controls show on hover or focus unless `trailingVisible`. A `StatusSection` starts
15
+ * collapsed.
16
+ * @words The row names the thing; the section's label is a plural noun.
17
+ * @access An activatable row is `role="button"`, reached by Tab and run by Enter or Space. The
18
+ * section's toggle exposes `aria-expanded`.
19
+ */
6
20
  function StatusRow({ children, className, leading, onActivate, trailing, trailingVisible = false, ...props }) {
7
21
  return (_jsxs("div", { className: cn("group/status-row flex min-h-6 items-center gap-2 rounded-sm px-1.5 py-1", onActivate && "cursor-pointer hover:bg-accent", className), "data-slot": "status-row", onClick: onActivate, onKeyDown: onActivate
8
22
  ? (event) => {
@@ -1,4 +1,19 @@
1
1
  import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
2
+ /**
3
+ * A setting that is on or off.
4
+ *
5
+ * @family Choices
6
+ * @when A setting that is either on or off, inside a settings section that saves.
7
+ * @instead Choosing or agreeing to something is a `Checkbox`. A tool button that stays pressed is a
8
+ * `Toggle`. Choosing between named values is a `RadioGroup`.
9
+ * @behaviour Off is the input grey, on is ink; the thumb travels 16 px. Space flips it. On a
10
+ * settings page the change waits for the section's Save, which lights up; only Theme and Language
11
+ * in the account menu apply at once. A failed save leaves the switch showing the true state.
12
+ * @words The label names what on means: *Approvals*, with help saying when. Never *Enable
13
+ * approvals*, and no On/Off text beside the switch.
14
+ * @access `role="switch"` with `aria-checked`. The name is the visible label and stays the same in
15
+ * both states. `sm` only inside a dense row.
16
+ */
2
17
  declare function Switch({ className, size, ...props }: SwitchPrimitive.Root.Props & {
3
18
  size?: "sm" | "default";
4
19
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/components/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIlE,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,+BAiBA;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/components/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;;;;;;;;;;GAcG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,+BAiBA;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,6 +1,21 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
3
3
  import { cn } from "../lib/utils.js";
4
+ /**
5
+ * A setting that is on or off.
6
+ *
7
+ * @family Choices
8
+ * @when A setting that is either on or off, inside a settings section that saves.
9
+ * @instead Choosing or agreeing to something is a `Checkbox`. A tool button that stays pressed is a
10
+ * `Toggle`. Choosing between named values is a `RadioGroup`.
11
+ * @behaviour Off is the input grey, on is ink; the thumb travels 16 px. Space flips it. On a
12
+ * settings page the change waits for the section's Save, which lights up; only Theme and Language
13
+ * in the account menu apply at once. A failed save leaves the switch showing the true state.
14
+ * @words The label names what on means: *Approvals*, with help saying when. Never *Enable
15
+ * approvals*, and no On/Off text beside the switch.
16
+ * @access `role="switch"` with `aria-checked`. The name is the visible label and stays the same in
17
+ * both states. `sm` only inside a dense row.
18
+ */
4
19
  function Switch({ className, size = "default", ...props }) {
5
20
  return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", "data-size": size, className: cn("nc-transition-paint peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent p-px after:absolute after:top-1/2 after:left-1/2 after:size-touch-target after:-translate-x-1/2 after:-translate-y-1/2 aria-invalid:border-destructive data-[size=default]:h-5 data-[size=default]:w-9 data-[size=sm]:h-4 data-[size=sm]:w-7 data-checked:bg-primary data-unchecked:bg-input data-disabled:cursor-not-allowed data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:after:hidden", className), ...props, children: _jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: "nc-transition-transform pointer-events-none block rounded-full bg-background ring-0 group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-full group-data-[size=sm]/switch:data-checked:translate-x-full group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0" }) }));
6
21
  }
@@ -2,9 +2,22 @@ import * as React from "react";
2
2
  import { type CardSurface } from "./card.js";
3
3
  /**
4
4
  * The frame a collection's table sits in: a heading, the collection's own
5
- * toolbar under it, the table, a labelled total, and the recessed footer
6
- * strip. The Portal's DataTable and Nadia's record sections draw this one
7
- * frame, so a registry card ends the same way in both products.
5
+ * toolbar under it, the table, a labelled total, and the recessed footer strip.
6
+ *
7
+ * The Portal's DataTable and Nadia's record sections draw this one frame, so a
8
+ * registry card ends the same way in both products.
9
+ *
10
+ * @family Data
11
+ * @when A table of records in a card: its heading, its own toolbar, the table, a labelled total and
12
+ * the recessed footer strip.
13
+ * @instead An entity collection that is the page's whole job is `CollectionPage`. A chart is
14
+ * `ChartCard`. One object's facts are `SettingsFactsSection`.
15
+ * @behaviour The heading, the toolbar and a separator come first when given; the summary row is a
16
+ * labelled total under the table; the footer strip holds the hint on the left and the count or
17
+ * paging on the right.
18
+ * @words The title names the collection. The footer is a count or the paging; the summary is a
19
+ * labelled total. Never a help sentence in the footer.
20
+ * @access A `section` whose title is an `h2`; the summary is a `dl`.
8
21
  */
9
22
  declare function TableCard({ title, description, actions, toolbar, summary, footer, footerHint, children, className, surface, ...props }: Omit<React.ComponentProps<"section">, "title"> & {
10
23
  title?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"table-card.d.ts","sourceRoot":"","sources":["../../src/components/table-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAA4D,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGpG;;;;;GAKG;AACH,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wCAAwC;IACxC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,qBA8CA;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"table-card.d.ts","sourceRoot":"","sources":["../../src/components/table-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAA4D,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGpG;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wCAAwC;IACxC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,qBA8CA;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -5,9 +5,22 @@ import { Card, CardAction, CardDescription, CardHeader, CardTitle } from "./card
5
5
  import { Separator } from "./separator.js";
6
6
  /**
7
7
  * The frame a collection's table sits in: a heading, the collection's own
8
- * toolbar under it, the table, a labelled total, and the recessed footer
9
- * strip. The Portal's DataTable and Nadia's record sections draw this one
10
- * frame, so a registry card ends the same way in both products.
8
+ * toolbar under it, the table, a labelled total, and the recessed footer strip.
9
+ *
10
+ * The Portal's DataTable and Nadia's record sections draw this one frame, so a
11
+ * registry card ends the same way in both products.
12
+ *
13
+ * @family Data
14
+ * @when A table of records in a card: its heading, its own toolbar, the table, a labelled total and
15
+ * the recessed footer strip.
16
+ * @instead An entity collection that is the page's whole job is `CollectionPage`. A chart is
17
+ * `ChartCard`. One object's facts are `SettingsFactsSection`.
18
+ * @behaviour The heading, the toolbar and a separator come first when given; the summary row is a
19
+ * labelled total under the table; the footer strip holds the hint on the left and the count or
20
+ * paging on the right.
21
+ * @words The title names the collection. The footer is a count or the paging; the summary is a
22
+ * labelled total. Never a help sentence in the footer.
23
+ * @access A `section` whose title is an `h2`; the summary is a `dl`.
11
24
  */
12
25
  function TableCard({ title, description, actions, toolbar, summary, footer, footerHint, children, className, surface = "resting", ...props }) {
13
26
  const heading = title || description || actions;
@@ -1,7 +1,29 @@
1
1
  import type { ReactElement } from "react";
2
+ type TableReading = string | number | ReactElement;
2
3
  export type TableValueProps = {
3
- value: string | number | ReactElement | null | undefined;
4
+ state?: "read";
5
+ value: TableReading | null | undefined;
6
+ /** What a missing value means, read to a screen reader behind the dash: "Not reported". */
4
7
  missingLabel: string;
8
+ /** The word set after a reading that is out of date, such as "Stale"; absent while it is current. */
9
+ staleLabel?: string;
10
+ } | {
11
+ state: "failed";
12
+ /** The catalogue's words for a read that failed: "Couldn't read". */
13
+ failedLabel: string;
14
+ } | {
15
+ state: "loading";
5
16
  };
6
- export declare function TableValue({ value, missingLabel }: TableValueProps): string | number | import("react").JSX.Element;
17
+ /**
18
+ * One cell's value in a table, in each state a reading can be in.
19
+ *
20
+ * @family Data
21
+ * @when Every cell of a `DataTable` whose reading can be missing, zero, out of date, unreadable or still loading.
22
+ * @instead A whole table that failed to read is `EmptyState kind="failed"`; a figure on its own is a `KpiCard`.
23
+ * @behaviour Five states that never collapse into a dash: unknown (a muted dash), zero (the figure "0"), stale (the reading, then the stale word), failed (the warning mark and its words) and loading (a still 64 × 12 placeholder). A real value, `0` included, is shown as it is.
24
+ * @words `missingLabel` says what the absence means ("Not reported", never "N/A" or "None"); `staleLabel` is one word ("Stale"); `failedLabel` says the read failed ("Couldn't read").
25
+ * @access The dash is hidden and `missingLabel` is read in its place; the warning mark is hidden beside its words; the placeholder is decorative, and the table is `aria-busy` while it loads.
26
+ */
27
+ export declare function TableValue(props: TableValueProps): string | number | import("react").JSX.Element;
28
+ export {};
7
29
  //# sourceMappingURL=table-value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-value.d.ts","sourceRoot":"","sources":["../../src/components/table-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACzD,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,eAAe,iDASlE"}
1
+ {"version":3,"file":"table-value.d.ts","sourceRoot":"","sources":["../../src/components/table-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAEnD,MAAM,MAAM,eAAe,GACvB;IACE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzB;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,iDAoChD"}
@@ -1,6 +1,28 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function TableValue({ value, missingLabel }) {
3
- if (value !== null && value !== undefined && value !== "")
2
+ import { CircleAlert } from "lucide-react";
3
+ import { Skeleton } from "./skeleton.js";
4
+ /**
5
+ * One cell's value in a table, in each state a reading can be in.
6
+ *
7
+ * @family Data
8
+ * @when Every cell of a `DataTable` whose reading can be missing, zero, out of date, unreadable or still loading.
9
+ * @instead A whole table that failed to read is `EmptyState kind="failed"`; a figure on its own is a `KpiCard`.
10
+ * @behaviour Five states that never collapse into a dash: unknown (a muted dash), zero (the figure "0"), stale (the reading, then the stale word), failed (the warning mark and its words) and loading (a still 64 × 12 placeholder). A real value, `0` included, is shown as it is.
11
+ * @words `missingLabel` says what the absence means ("Not reported", never "N/A" or "None"); `staleLabel` is one word ("Stale"); `failedLabel` says the read failed ("Couldn't read").
12
+ * @access The dash is hidden and `missingLabel` is read in its place; the warning mark is hidden beside its words; the placeholder is decorative, and the table is `aria-busy` while it loads.
13
+ */
14
+ export function TableValue(props) {
15
+ if (props.state === "loading") {
16
+ return _jsx(Skeleton, { className: "h-3 w-16" });
17
+ }
18
+ if (props.state === "failed") {
19
+ return (_jsxs("span", { "data-slot": "table-failed-value", className: "inline-flex items-center gap-1 text-caption text-warning-soft-foreground", children: [_jsx(CircleAlert, { "aria-hidden": "true", className: "size-3 shrink-0", strokeWidth: 1.25 }), props.failedLabel] }));
20
+ }
21
+ const { value, missingLabel, staleLabel } = props;
22
+ if (value === null || value === undefined || value === "") {
23
+ return (_jsxs("span", { "data-slot": "table-missing-value", className: "text-muted-foreground", children: [_jsx("span", { "aria-hidden": "true", children: "\u2014" }), _jsx("span", { className: "sr-only", children: missingLabel })] }));
24
+ }
25
+ if (staleLabel === undefined)
4
26
  return value;
5
- return (_jsxs("span", { "data-slot": "table-missing-value", className: "text-muted-foreground", children: [_jsx("span", { "aria-hidden": "true", children: "\u2014" }), _jsx("span", { className: "sr-only", children: missingLabel })] }));
27
+ return (_jsxs("span", { "data-slot": "table-stale-value", className: "inline-flex items-baseline gap-1.5", children: [value, _jsx("span", { className: "text-caption text-muted-foreground", children: staleLabel })] }));
6
28
  }
@@ -1,5 +1,21 @@
1
1
  import * as React from "react";
2
2
  import { tableCompactLayouts, type TableCompactLayout } from "./table-layouts.js";
3
+ /**
4
+ * The native table primitive every comparison table is drawn with.
5
+ *
6
+ * @family Data
7
+ * @when A fixed table a composition draws itself: a summary inside a card, a list of plan limits. A
8
+ * table of records is `DataTable`, which draws this one.
9
+ * @instead Records with sorting, paging and an empty state are `DataTable`. A descriptive list is
10
+ * `ItemGroup`. One object's facts are `ObjectFacts`.
11
+ * @behaviour Headings visible; numbers trail in tabular figures. Row hover takes `accent`; headers
12
+ * and footers never highlight. `TableDetailRow` and `tableCompactLayouts` move facts into a detail
13
+ * row on a narrow card instead of scrolling sideways.
14
+ * @words Headings are nouns with their unit: *Cost (€)*, *Tokens*. Italian headings run a third
15
+ * longer and never wrap.
16
+ * @access A native `table` with a caption or `aria-label`; `th scope="col"`. A missing value is
17
+ * `TableValue`'s hidden dash, never blank.
18
+ */
3
19
  declare function Table({ className, compactDetails, density, variant, interactive, ...props }: React.ComponentProps<"table"> & {
4
20
  compactDetails?: TableCompactLayout;
5
21
  density?: "default" | "comfortable";
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,cAAc,EACd,OAAmB,EACnB,OAAmB,EACnB,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;IACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,qBAyBA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAQ1E;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAWxE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW/E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW1E;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;IAC9B,6GAA6G;IAC7G,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,qBAYA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAWrE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAWrE;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,KAAK,EACL,MAAmB,GACpB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,SAAS;QACd,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL,qBA8BA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,qBAQ7E;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,KAAK,kBAAkB,GACxB,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE1F;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,cAAc,EACd,OAAmB,EACnB,OAAmB,EACnB,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;IACjC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,qBA0BA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAQ1E;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAWxE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW/E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW1E;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;IAC9B,6GAA6G;IAC7G,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,qBAYA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAWrE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAWrE;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,KAAK,EACL,MAAmB,GACpB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,SAAS;QACd,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL,qBA8BA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,qBAQ7E;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,KAAK,kBAAkB,GACxB,CAAC"}
@@ -2,8 +2,24 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "../lib/utils.js";
4
4
  import { tableCompactLayouts } from "./table-layouts.js";
5
+ /**
6
+ * The native table primitive every comparison table is drawn with.
7
+ *
8
+ * @family Data
9
+ * @when A fixed table a composition draws itself: a summary inside a card, a list of plan limits. A
10
+ * table of records is `DataTable`, which draws this one.
11
+ * @instead Records with sorting, paging and an empty state are `DataTable`. A descriptive list is
12
+ * `ItemGroup`. One object's facts are `ObjectFacts`.
13
+ * @behaviour Headings visible; numbers trail in tabular figures. Row hover takes `accent`; headers
14
+ * and footers never highlight. `TableDetailRow` and `tableCompactLayouts` move facts into a detail
15
+ * row on a narrow card instead of scrolling sideways.
16
+ * @words Headings are nouns with their unit: *Cost (€)*, *Tokens*. Italian headings run a third
17
+ * longer and never wrap.
18
+ * @access A native `table` with a caption or `aria-label`; `th scope="col"`. A missing value is
19
+ * `TableValue`'s hidden dash, never blank.
20
+ */
5
21
  function Table({ className, compactDetails, density = "default", variant = "default", interactive = false, ...props }) {
6
- return (_jsx("div", { "data-slot": "table-container", className: cn("relative w-full overflow-x-auto", compactDetails && "@container/table", variant === "bordered" && "rounded-sm border border-border"), children: _jsx("table", { "data-slot": "table", "data-density": density, "data-variant": variant, "data-interactive": interactive, className: cn("group/table w-full caption-bottom text-sm", variant === "striped" && "bg-card", className, compactDetails && tableCompactLayouts[compactDetails].table), ...props }) }));
22
+ return (_jsx("div", { "data-slot": "table-container", className: cn("relative w-full overflow-x-auto", compactDetails && "@container/table", variant === "bordered" && "rounded-sm border border-border"), children: _jsx("table", { "data-slot": "table", "data-compact-details": compactDetails, "data-density": density, "data-variant": variant, "data-interactive": interactive, className: cn("group/table w-full caption-bottom text-sm", variant === "striped" && "bg-card", className, compactDetails && tableCompactLayouts[compactDetails].table), ...props }) }));
7
23
  }
8
24
  function TableHeader({ className, ...props }) {
9
25
  return (_jsx("thead", { "data-slot": "table-header", className: cn("bg-recessed [&_tr]:h-9 [&_tr]:border-b", className), ...props }));
@@ -2,6 +2,19 @@ import * as React from "react";
2
2
  import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
3
3
  import { useRender } from "@base-ui/react/use-render";
4
4
  import { type VariantProps } from "class-variance-authority";
5
+ /**
6
+ * Panels of one surface that switch in place.
7
+ *
8
+ * @family Navigation
9
+ * @when Sibling views of one object that switch in place inside one surface.
10
+ * @instead Views with their own URL are `TabsNav`. A choice that changes a value is a `RadioGroup`
11
+ * or `ToggleGroup`. A stable destination belongs in the `Sidebar`. A tab never opens a new scope.
12
+ * @behaviour One treatment among siblings, chosen through `variant`, never a page border. Arrow
13
+ * keys move, one tab stop. The underline fades on `confirm`, 180 ms.
14
+ * @words Nouns, one or two words: *Overview*, *Installations*. Italian (*Installazioni*) scrolls,
15
+ * never wraps or truncates.
16
+ * @access `tablist`, `tab`, `tabpanel` with `aria-selected`.
17
+ */
5
18
  declare function Tabs({ className, orientation, ...props }: TabsPrimitive.Root.Props): React.JSX.Element;
6
19
  declare const tabsListVariants: (props?: ({
7
20
  variant?: "line" | "default" | null | undefined;
@@ -9,6 +22,20 @@ declare const tabsListVariants: (props?: ({
9
22
  declare function TabsList({ className, variant, ...props }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>): React.JSX.Element;
10
23
  declare function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props): React.JSX.Element;
11
24
  declare function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props): React.JSX.Element;
25
+ /**
26
+ * Sibling views of one object, each with its own URL, under the top bar.
27
+ *
28
+ * @family Navigation
29
+ * @when Sibling views of one object under the top bar, when each view has its own URL (an object's
30
+ * sections), with `TabsLink` for each.
31
+ * @instead Panels that switch in place are `Tabs`. A stable destination belongs in the `Sidebar`.
32
+ * An object's ancestry is the `Breadcrumb`.
33
+ * @behaviour Overflow scrolls sideways and brings the current link into view. The current link
34
+ * takes the underline.
35
+ * @words Nouns, one or two words: *Overview*, *Installations*. Italian scrolls, never wraps or
36
+ * truncates.
37
+ * @access A labelled `nav` of links with `aria-current="page"` on the current one.
38
+ */
12
39
  declare function TabsNav({ className, children, variant, ...props }: React.ComponentProps<"nav"> & VariantProps<typeof tabsListVariants>): React.JSX.Element;
13
40
  declare function TabsLink({ current, className, render, ...props }: useRender.ComponentProps<"a"> & {
14
41
  current?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,qBAU1F;AAED,QAAA,MAAM,gBAAgB;;8EAarB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBASlE;AAKD,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,qBAepE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,qBAQtE;AAED,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,QAAQ,EACR,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBA2BrE;AAED,iBAAS,QAAQ,CAAC,EAChB,OAAe,EACf,SAAS,EACT,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAoBvD;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;;;;;;;;GAYG;AACH,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,qBAU1F;AAED,QAAA,MAAM,gBAAgB;;8EAarB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBASlE;AAKD,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,qBAepE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,qBAQtE;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,QAAQ,EACR,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBA2BrE;AAED,iBAAS,QAAQ,CAAC,EAChB,OAAe,EACf,SAAS,EACT,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAoBvD;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC"}
@@ -6,6 +6,19 @@ import { mergeProps } from "@base-ui/react/merge-props";
6
6
  import { useRender } from "@base-ui/react/use-render";
7
7
  import { cva } from "class-variance-authority";
8
8
  import { cn } from "../lib/utils.js";
9
+ /**
10
+ * Panels of one surface that switch in place.
11
+ *
12
+ * @family Navigation
13
+ * @when Sibling views of one object that switch in place inside one surface.
14
+ * @instead Views with their own URL are `TabsNav`. A choice that changes a value is a `RadioGroup`
15
+ * or `ToggleGroup`. A stable destination belongs in the `Sidebar`. A tab never opens a new scope.
16
+ * @behaviour One treatment among siblings, chosen through `variant`, never a page border. Arrow
17
+ * keys move, one tab stop. The underline fades on `confirm`, 180 ms.
18
+ * @words Nouns, one or two words: *Overview*, *Installations*. Italian (*Installazioni*) scrolls,
19
+ * never wraps or truncates.
20
+ * @access `tablist`, `tab`, `tabpanel` with `aria-selected`.
21
+ */
9
22
  function Tabs({ className, orientation = "horizontal", ...props }) {
10
23
  return (_jsx(TabsPrimitive.Root, { "data-slot": "tabs", "data-orientation": orientation, orientation: orientation, className: cn("group/tabs flex min-w-0 gap-4 data-horizontal:flex-col", className), ...props }));
11
24
  }
@@ -30,6 +43,20 @@ function TabsTrigger({ className, ...props }) {
30
43
  function TabsContent({ className, ...props }) {
31
44
  return (_jsx(TabsPrimitive.Panel, { "data-slot": "tabs-content", className: cn("min-w-0 flex-1 text-sm outline-none", className), ...props }));
32
45
  }
46
+ /**
47
+ * Sibling views of one object, each with its own URL, under the top bar.
48
+ *
49
+ * @family Navigation
50
+ * @when Sibling views of one object under the top bar, when each view has its own URL (an object's
51
+ * sections), with `TabsLink` for each.
52
+ * @instead Panels that switch in place are `Tabs`. A stable destination belongs in the `Sidebar`.
53
+ * An object's ancestry is the `Breadcrumb`.
54
+ * @behaviour Overflow scrolls sideways and brings the current link into view. The current link
55
+ * takes the underline.
56
+ * @words Nouns, one or two words: *Overview*, *Installations*. Italian scrolls, never wraps or
57
+ * truncates.
58
+ * @access A labelled `nav` of links with `aria-current="page"` on the current one.
59
+ */
33
60
  function TabsNav({ className, children, variant = "default", ...props }) {
34
61
  const navigation = React.useRef(null);
35
62
  const current = React.useRef(null);
@@ -11,8 +11,18 @@ type TagProps = Omit<ComponentProps<"span">, "children"> & {
11
11
  note?: ReactNode;
12
12
  };
13
13
  /**
14
- * One categorical fact in a row, as a pill. A tag never carries
15
- * a status: that is a StatusBadge.
14
+ * One categorical fact in a row, as a pill.
15
+ *
16
+ * @family Status
17
+ * @when One categorical fact in a row: the installation, the partner, the company a record belongs
18
+ * to. A 24 px pill with its 12 px mark.
19
+ * @instead For a state use `StatusBadge`; a tag never carries one. For a removable filter use
20
+ * `CollectionFilters`. For a way to the thing, a link.
21
+ * @behaviour Static, truncates inside its width. The same category keeps the same tone across a
22
+ * surface and after sorting. Dashed and muted when it states an absence.
23
+ * @words The thing's own name. A quiet tag names the absence in two or three words (*Direct
24
+ * customer*); the note says whose (*Your account*).
25
+ * @access Text; the mark is decorative. Never focusable unless wrapped by a real link.
16
26
  */
17
27
  declare function Tag({ children, className, mark, note, quiet, tone, ...props }: TagProps): import("react").JSX.Element;
18
28
  export { Tag, type TagProps, type TagTone };
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/components/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,KAAK,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAU/D,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACzD,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,iBAAS,GAAG,CAAC,EACX,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAa,EACb,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,QAAQ,+BA4BV;AAED,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/components/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,KAAK,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAU/D,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACzD,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,iBAAS,GAAG,CAAC,EACX,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAa,EACb,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,QAAQ,+BA4BV;AAED,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC"}
@@ -8,8 +8,18 @@ const TONE_CLASS = {
8
8
  pink: "border-transparent bg-category-pink text-category-pink-foreground",
9
9
  };
10
10
  /**
11
- * One categorical fact in a row, as a pill. A tag never carries
12
- * a status: that is a StatusBadge.
11
+ * One categorical fact in a row, as a pill.
12
+ *
13
+ * @family Status
14
+ * @when One categorical fact in a row: the installation, the partner, the company a record belongs
15
+ * to. A 24 px pill with its 12 px mark.
16
+ * @instead For a state use `StatusBadge`; a tag never carries one. For a removable filter use
17
+ * `CollectionFilters`. For a way to the thing, a link.
18
+ * @behaviour Static, truncates inside its width. The same category keeps the same tone across a
19
+ * surface and after sorting. Dashed and muted when it states an absence.
20
+ * @words The thing's own name. A quiet tag names the absence in two or three words (*Direct
21
+ * customer*); the note says whose (*Your account*).
22
+ * @access Text; the mark is decorative. Never focusable unless wrapped by a real link.
13
23
  */
14
24
  function Tag({ children, className, mark, note, quiet = false, tone = "neutral", ...props }) {
15
25
  return (_jsxs("span", { className: cn("inline-flex h-6 max-w-full min-w-0 shrink-0 items-center gap-1.5 rounded-full border ps-2 pe-2.5 text-xs whitespace-nowrap", quiet ? "border-dashed border-border text-muted-foreground" : TONE_CLASS[tone], className), "data-quiet": quiet ? "" : undefined, "data-slot": "tag", ...props, children: [mark ? (_jsx("span", { className: "flex size-3 shrink-0 items-center justify-center [&>svg]:size-3", "data-slot": "tag-mark", children: mark })) : null, _jsx("span", { className: "truncate", children: children }), note ? (_jsx("span", { className: "shrink-0 text-muted-foreground", "data-slot": "tag-note", children: note })) : null] }));
@@ -1,4 +1,21 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
+ /**
3
+ * The classes of a link that reads as text: `inline` inside a sentence, `plain` on its own, `quiet`
4
+ * for a muted way out.
5
+ *
6
+ * @family Navigation
7
+ * @when A link inside a sentence (`inline`, blue and underlined), a link that stands alone as text
8
+ * (`plain`), or a muted secondary way to somewhere such as a footer's *Learn more* (`quiet`).
9
+ * @instead A command is a `Button`; a destination drawn as a button is a link with
10
+ * `buttonVariants`. Going to a record from its row is the record's name in `RecordIdentity`.
11
+ * @behaviour Classes only: the caller renders the real anchor or router link. `inline` thickens its
12
+ * underline on hover; `plain` and `quiet` underline on hover. Paint changes ride the shared paint
13
+ * transition.
14
+ * @words The link's text names where it goes: *Open Billing*, *Read the privacy notice*; never
15
+ * *Click here* or a bare URL.
16
+ * @access A real `a` with an `href`. A link that leaves the product says so in its text or carries
17
+ * the arrow with a name. Focus is the base layer's 2 px outline.
18
+ */
2
19
  declare const textLinkVariants: (props?: ({
3
20
  kind?: "plain" | "inline" | "quiet" | null | undefined;
4
21
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"text-link.d.ts","sourceRoot":"","sources":["../../src/components/text-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,QAAA,MAAM,gBAAgB;;8EAYpB,CAAC;AAEH,KAAK,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"text-link.d.ts","sourceRoot":"","sources":["../../src/components/text-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,gBAAgB;;8EAYpB,CAAC;AAEH,KAAK,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,CAAC"}
@@ -1,4 +1,21 @@
1
1
  import { cva } from "class-variance-authority";
2
+ /**
3
+ * The classes of a link that reads as text: `inline` inside a sentence, `plain` on its own, `quiet`
4
+ * for a muted way out.
5
+ *
6
+ * @family Navigation
7
+ * @when A link inside a sentence (`inline`, blue and underlined), a link that stands alone as text
8
+ * (`plain`), or a muted secondary way to somewhere such as a footer's *Learn more* (`quiet`).
9
+ * @instead A command is a `Button`; a destination drawn as a button is a link with
10
+ * `buttonVariants`. Going to a record from its row is the record's name in `RecordIdentity`.
11
+ * @behaviour Classes only: the caller renders the real anchor or router link. `inline` thickens its
12
+ * underline on hover; `plain` and `quiet` underline on hover. Paint changes ride the shared paint
13
+ * transition.
14
+ * @words The link's text names where it goes: *Open Billing*, *Read the privacy notice*; never
15
+ * *Click here* or a bare URL.
16
+ * @access A real `a` with an `href`. A link that leaves the product says so in its text or carries
17
+ * the arrow with a name. Focus is the base layer's 2 px outline.
18
+ */
2
19
  const textLinkVariants = cva("nc-transition-paint rounded-sm underline-offset-4", {
3
20
  variants: {
4
21
  kind: {
@@ -1,4 +1,18 @@
1
1
  import * as React from "react";
2
+ /**
3
+ * Several lines of free text that grow with their content.
4
+ *
5
+ * @family Inputs
6
+ * @when Several lines of free text: an Agent's instructions, a description, notes.
7
+ * @instead One line is `Input`. Code or a value to copy is `CodeBlock`, read-only.
8
+ * @behaviour At least 64 px, then it grows with its content (`field-sizing: content`). The same
9
+ * edge, focus, invalid and disabled as `Input`. Whitespace is kept exactly; nothing trims it. A
10
+ * character count shows only when a real limit exists.
11
+ * @words The label names the content (*Instructions*); the help says who reads it and when. The
12
+ * placeholder is a short example, not a paragraph.
13
+ * @access A visible label tied by `id`; help and error through `aria-describedby`. In a dialog, the
14
+ * footer's Save stays reachable while the box grows.
15
+ */
2
16
  declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): React.JSX.Element;
3
17
  export { Textarea };
4
18
  //# sourceMappingURL=textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../src/components/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,qBAW1E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../src/components/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;;;;;;GAaG;AACH,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,qBAW1E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,5 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "../lib/utils.js";
3
+ /**
4
+ * Several lines of free text that grow with their content.
5
+ *
6
+ * @family Inputs
7
+ * @when Several lines of free text: an Agent's instructions, a description, notes.
8
+ * @instead One line is `Input`. Code or a value to copy is `CodeBlock`, read-only.
9
+ * @behaviour At least 64 px, then it grows with its content (`field-sizing: content`). The same
10
+ * edge, focus, invalid and disabled as `Input`. Whitespace is kept exactly; nothing trims it. A
11
+ * character count shows only when a real limit exists.
12
+ * @words The label names the content (*Instructions*); the help says who reads it and when. The
13
+ * placeholder is a short example, not a paragraph.
14
+ * @access A visible label tied by `id`; help and error through `aria-describedby`. In a dialog, the
15
+ * footer's Save stays reachable while the box grows.
16
+ */
3
17
  function Textarea({ className, ...props }) {
4
18
  return (_jsx("textarea", { "data-slot": "textarea", className: cn("flex field-sizing-content min-h-16 w-full rounded-sm border border-input bg-background px-control-padding-inline py-2 text-base transition-colors placeholder:text-placeholder disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive md:text-sm", className), ...props }));
5
19
  }
@@ -19,8 +19,29 @@ export type ThemeModeSwitcherProps = Omit<React.ComponentProps<typeof RadioGroup
19
19
  renderItem?: (option: ThemeModeOption) => React.ReactNode;
20
20
  value: ThemeMode;
21
21
  };
22
+ /**
23
+ * The three appearances side by side, each with its glyph and its name.
24
+ *
25
+ * @family Choices
26
+ * @when An Appearance setting on a settings page, where the choice has room to show its names.
27
+ * @instead Inside a menu, the same choice is ThemeModeMenu; a choice that is not the appearance is a RadioGroup or a ToggleGroup.
28
+ * @behaviour Exclusive: one mode is selected, and choosing one applies it at once with no Save. The order is System, Light, Dark everywhere.
29
+ * @words The setting's name, then each mode's name from the product's catalogue: "System", "Light", "Dark".
30
+ * @access A radio group named by `aria-label`; each mode is a radio with its name, moved through with the arrow keys.
31
+ */
22
32
  declare function ThemeModeSwitcher({ "aria-label": ariaLabel, className, compact, disabled, itemClassName, labels, onValueChange, renderItem, value, ...props }: ThemeModeSwitcherProps): React.JSX.Element;
23
33
  export { ThemeModeSwitcher };
34
+ /**
35
+ * The appearance as one row of a menu: its name and the current mode's glyph
36
+ * leading, the three modes as compact choices at its end.
37
+ *
38
+ * @family Menus
39
+ * @when The account menu's Theme row, in the Portal and in Nadia.
40
+ * @instead On a settings page the choice is ThemeModeSwitcher, with its names shown.
41
+ * @behaviour Choosing a mode applies it at once and keeps the menu open, so the result shows without reopening it. The order is System, Light, Dark.
42
+ * @words The row's name ("Theme") and each mode's name, read as the choice's accessible name and tooltip.
43
+ * @access A radio group inside the menu, named by the row's label; each mode is a menu radio item with its name.
44
+ */
24
45
  export declare function ThemeModeMenu({ label, labels, value, onValueChange, disabled, }: {
25
46
  label: string;
26
47
  labels: ThemeModeOptionLabels;
@@ -1 +1 @@
1
- {"version":3,"file":"theme-mode-switcher.d.ts","sourceRoot":"","sources":["../../src/components/theme-mode-switcher.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,UAAU,EAAkB,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EACvC,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,CACxD,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAQF,iBAAS,iBAAiB,CAAC,EACzB,YAAY,EAAE,SAAS,EACvB,SAAS,EACT,OAAe,EACf,QAAQ,EACR,aAAa,EACb,MAAM,EACN,aAAa,EACb,UAAU,EACV,KAAK,EACL,GAAG,KAAK,EACT,EAAE,sBAAsB,qBA6CxB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,qBAkBA"}
1
+ {"version":3,"file":"theme-mode-switcher.d.ts","sourceRoot":"","sources":["../../src/components/theme-mode-switcher.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,UAAU,EAAkB,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EACvC,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,CACxD,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAQF;;;;;;;;;GASG;AACH,iBAAS,iBAAiB,CAAC,EACzB,YAAY,EAAE,SAAS,EACvB,SAAS,EACT,OAAe,EACf,QAAQ,EACR,aAAa,EACb,MAAM,EACN,aAAa,EACb,UAAU,EACV,KAAK,EACL,GAAG,KAAK,EACT,EAAE,sBAAsB,qBA6CxB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,qBAoBA"}