@nadicodeai/ui 12.1.101 → 12.1.103

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 (567) hide show
  1. package/dist/components/accordion.d.ts +38 -12
  2. package/dist/components/accordion.d.ts.map +1 -1
  3. package/dist/components/accordion.js +36 -15
  4. package/dist/components/account-menu.d.ts +18 -18
  5. package/dist/components/account-menu.d.ts.map +1 -1
  6. package/dist/components/account-menu.js +17 -13
  7. package/dist/components/action-menu.d.ts +20 -19
  8. package/dist/components/action-menu.d.ts.map +1 -1
  9. package/dist/components/action-menu.js +22 -15
  10. package/dist/components/action-status.d.ts +14 -10
  11. package/dist/components/action-status.d.ts.map +1 -1
  12. package/dist/components/action-status.js +14 -10
  13. package/dist/components/activity-calendar.d.ts +3 -1
  14. package/dist/components/activity-calendar.d.ts.map +1 -1
  15. package/dist/components/activity-calendar.js +16 -2
  16. package/dist/components/activity-feed.d.ts +2 -2
  17. package/dist/components/activity-feed.d.ts.map +1 -1
  18. package/dist/components/activity-feed.js +14 -5
  19. package/dist/components/agent-card.d.ts +11 -5
  20. package/dist/components/agent-card.d.ts.map +1 -1
  21. package/dist/components/agent-card.js +13 -7
  22. package/dist/components/agent-list-row.js +1 -1
  23. package/dist/components/agent-orb-appearance.d.ts +7 -1
  24. package/dist/components/agent-orb-appearance.d.ts.map +1 -1
  25. package/dist/components/agent-orb-appearance.js +26 -0
  26. package/dist/components/agent-profile.d.ts +8 -7
  27. package/dist/components/agent-profile.d.ts.map +1 -1
  28. package/dist/components/agent-profile.js +6 -6
  29. package/dist/components/alert-dialog.d.ts +25 -16
  30. package/dist/components/alert-dialog.d.ts.map +1 -1
  31. package/dist/components/alert-dialog.js +30 -18
  32. package/dist/components/alert.d.ts +1 -1
  33. package/dist/components/avatar.d.ts +83 -17
  34. package/dist/components/avatar.d.ts.map +1 -1
  35. package/dist/components/avatar.js +89 -23
  36. package/dist/components/badge.d.ts +59 -8
  37. package/dist/components/badge.d.ts.map +1 -1
  38. package/dist/components/badge.js +57 -14
  39. package/dist/components/breadcrumb.d.ts +18 -7
  40. package/dist/components/breadcrumb.d.ts.map +1 -1
  41. package/dist/components/breadcrumb.js +37 -13
  42. package/dist/components/button-group.d.ts +12 -15
  43. package/dist/components/button-group.d.ts.map +1 -1
  44. package/dist/components/button-group.js +13 -17
  45. package/dist/components/button.d.ts +126 -23
  46. package/dist/components/button.d.ts.map +1 -1
  47. package/dist/components/button.js +164 -39
  48. package/dist/components/calendar.d.ts +26 -15
  49. package/dist/components/calendar.d.ts.map +1 -1
  50. package/dist/components/calendar.js +60 -46
  51. package/dist/components/card-row.d.ts +13 -5
  52. package/dist/components/card-row.d.ts.map +1 -1
  53. package/dist/components/card-row.js +24 -10
  54. package/dist/components/card.d.ts +6 -12
  55. package/dist/components/card.d.ts.map +1 -1
  56. package/dist/components/card.js +11 -16
  57. package/dist/components/carousel.d.ts +3 -3
  58. package/dist/components/carousel.d.ts.map +1 -1
  59. package/dist/components/carousel.js +7 -7
  60. package/dist/components/catalog-drawer.d.ts +7 -7
  61. package/dist/components/catalog-drawer.d.ts.map +1 -1
  62. package/dist/components/catalog-drawer.js +6 -6
  63. package/dist/components/chart-area-stacked.d.ts +1 -1
  64. package/dist/components/chart-area-stacked.d.ts.map +1 -1
  65. package/dist/components/chart-area-stacked.js +4 -4
  66. package/dist/components/chart-axis.d.ts +14 -1
  67. package/dist/components/chart-axis.d.ts.map +1 -1
  68. package/dist/components/chart-axis.js +11 -1
  69. package/dist/components/chart-bar-horizontal.d.ts +2 -2
  70. package/dist/components/chart-bar-horizontal.d.ts.map +1 -1
  71. package/dist/components/chart-bar-horizontal.js +14 -5
  72. package/dist/components/chart-bar-multiple.d.ts +1 -1
  73. package/dist/components/chart-bar-multiple.d.ts.map +1 -1
  74. package/dist/components/chart-bar-multiple.js +3 -3
  75. package/dist/components/chart-bar-stacked.d.ts +1 -1
  76. package/dist/components/chart-bar-stacked.d.ts.map +1 -1
  77. package/dist/components/chart-bar-stacked.js +3 -3
  78. package/dist/components/chart-card.d.ts +17 -6
  79. package/dist/components/chart-card.d.ts.map +1 -1
  80. package/dist/components/chart-card.js +11 -4
  81. package/dist/components/chart-date-range-control.d.ts +18 -9
  82. package/dist/components/chart-date-range-control.d.ts.map +1 -1
  83. package/dist/components/chart-date-range-control.js +43 -47
  84. package/dist/components/chart-sparkline.d.ts +4 -3
  85. package/dist/components/chart-sparkline.d.ts.map +1 -1
  86. package/dist/components/chart-sparkline.js +6 -5
  87. package/dist/components/check-counts.d.ts +44 -0
  88. package/dist/components/check-counts.d.ts.map +1 -0
  89. package/dist/components/check-counts.js +51 -0
  90. package/dist/components/checkbox.d.ts +39 -11
  91. package/dist/components/checkbox.d.ts.map +1 -1
  92. package/dist/components/checkbox.js +38 -11
  93. package/dist/components/choicebox.d.ts +96 -0
  94. package/dist/components/choicebox.d.ts.map +1 -0
  95. package/dist/components/choicebox.js +113 -0
  96. package/dist/components/clearable-input.d.ts +57 -0
  97. package/dist/components/clearable-input.d.ts.map +1 -0
  98. package/dist/components/clearable-input.js +58 -0
  99. package/dist/components/code-block.d.ts +77 -17
  100. package/dist/components/code-block.d.ts.map +1 -1
  101. package/dist/components/code-block.js +85 -15
  102. package/dist/components/collapsible.d.ts +27 -10
  103. package/dist/components/collapsible.d.ts.map +1 -1
  104. package/dist/components/collapsible.js +24 -9
  105. package/dist/components/collection-filters.d.ts +3 -1
  106. package/dist/components/collection-filters.d.ts.map +1 -1
  107. package/dist/components/collection-filters.js +7 -9
  108. package/dist/components/collection-page.d.ts +31 -10
  109. package/dist/components/collection-page.d.ts.map +1 -1
  110. package/dist/components/collection-page.js +14 -13
  111. package/dist/components/collection-search.d.ts +32 -10
  112. package/dist/components/collection-search.d.ts.map +1 -1
  113. package/dist/components/collection-search.js +24 -13
  114. package/dist/components/collection-sort.d.ts.map +1 -1
  115. package/dist/components/collection-sort.js +2 -2
  116. package/dist/components/collection-toolbar.d.ts +5 -2
  117. package/dist/components/collection-toolbar.d.ts.map +1 -1
  118. package/dist/components/collection-toolbar.js +7 -4
  119. package/dist/components/combobox.d.ts +97 -22
  120. package/dist/components/combobox.d.ts.map +1 -1
  121. package/dist/components/combobox.js +80 -28
  122. package/dist/components/command.d.ts +34 -21
  123. package/dist/components/command.d.ts.map +1 -1
  124. package/dist/components/command.js +33 -25
  125. package/dist/components/confirm-dialog.d.ts +23 -6
  126. package/dist/components/confirm-dialog.d.ts.map +1 -1
  127. package/dist/components/confirm-dialog.js +32 -13
  128. package/dist/components/context-menu.d.ts +14 -10
  129. package/dist/components/context-menu.d.ts.map +1 -1
  130. package/dist/components/context-menu.js +17 -12
  131. package/dist/components/copy-button.d.ts +5 -2
  132. package/dist/components/copy-button.d.ts.map +1 -1
  133. package/dist/components/copy-button.js +16 -8
  134. package/dist/components/data-table.d.ts +120 -54
  135. package/dist/components/data-table.d.ts.map +1 -1
  136. package/dist/components/data-table.js +163 -92
  137. package/dist/components/desktop-shell.d.ts +4 -2
  138. package/dist/components/desktop-shell.d.ts.map +1 -1
  139. package/dist/components/desktop-shell.js +3 -3
  140. package/dist/components/dialog.d.ts +63 -24
  141. package/dist/components/dialog.d.ts.map +1 -1
  142. package/dist/components/dialog.js +52 -31
  143. package/dist/components/disclosure-row.d.ts +1 -2
  144. package/dist/components/disclosure-row.d.ts.map +1 -1
  145. package/dist/components/disclosure-row.js +1 -2
  146. package/dist/components/disclosure.d.ts +1 -1
  147. package/dist/components/disclosure.js +1 -1
  148. package/dist/components/drawer.d.ts +33 -12
  149. package/dist/components/drawer.d.ts.map +1 -1
  150. package/dist/components/drawer.js +47 -35
  151. package/dist/components/dropdown-menu.d.ts +59 -14
  152. package/dist/components/dropdown-menu.d.ts.map +1 -1
  153. package/dist/components/dropdown-menu.js +58 -26
  154. package/dist/components/empty-state.d.ts +35 -12
  155. package/dist/components/empty-state.d.ts.map +1 -1
  156. package/dist/components/empty-state.js +35 -17
  157. package/dist/components/entry-scene.d.ts +4 -4
  158. package/dist/components/entry-scene.d.ts.map +1 -1
  159. package/dist/components/entry-scene.js +2 -2
  160. package/dist/components/field.d.ts +44 -14
  161. package/dist/components/field.d.ts.map +1 -1
  162. package/dist/components/field.js +49 -20
  163. package/dist/components/file-diff.d.ts.map +1 -1
  164. package/dist/components/file-diff.js +3 -4
  165. package/dist/components/form-dialog.d.ts +7 -7
  166. package/dist/components/form-dialog.d.ts.map +1 -1
  167. package/dist/components/form-dialog.js +13 -11
  168. package/dist/components/form-drawer.d.ts +10 -7
  169. package/dist/components/form-drawer.d.ts.map +1 -1
  170. package/dist/components/form-drawer.js +11 -10
  171. package/dist/components/gauge.d.ts +64 -0
  172. package/dist/components/gauge.d.ts.map +1 -0
  173. package/dist/components/gauge.js +73 -0
  174. package/dist/components/hover-card.d.ts +72 -14
  175. package/dist/components/hover-card.d.ts.map +1 -1
  176. package/dist/components/hover-card.js +51 -17
  177. package/dist/components/identity-mark.d.ts +8 -1
  178. package/dist/components/identity-mark.d.ts.map +1 -1
  179. package/dist/components/identity-mark.js +31 -5
  180. package/dist/components/input-group.d.ts +44 -21
  181. package/dist/components/input-group.d.ts.map +1 -1
  182. package/dist/components/input-group.js +74 -27
  183. package/dist/components/input.d.ts +64 -12
  184. package/dist/components/input.d.ts.map +1 -1
  185. package/dist/components/input.js +51 -15
  186. package/dist/components/item.d.ts +37 -15
  187. package/dist/components/item.d.ts.map +1 -1
  188. package/dist/components/item.js +41 -22
  189. package/dist/components/kbd.d.ts +49 -13
  190. package/dist/components/kbd.d.ts.map +1 -1
  191. package/dist/components/kbd.js +115 -16
  192. package/dist/components/kpi-card.d.ts +12 -4
  193. package/dist/components/kpi-card.d.ts.map +1 -1
  194. package/dist/components/kpi-card.js +13 -4
  195. package/dist/components/label.d.ts +17 -10
  196. package/dist/components/label.d.ts.map +1 -1
  197. package/dist/components/label.js +18 -11
  198. package/dist/components/library-shelf.d.ts +6 -6
  199. package/dist/components/library-shelf.d.ts.map +1 -1
  200. package/dist/components/library-shelf.js +5 -5
  201. package/dist/components/load-more-button.d.ts +35 -0
  202. package/dist/components/load-more-button.d.ts.map +1 -0
  203. package/dist/components/load-more-button.js +26 -0
  204. package/dist/components/menu-choice-row.d.ts +6 -8
  205. package/dist/components/menu-choice-row.d.ts.map +1 -1
  206. package/dist/components/menu-choice-row.js +8 -8
  207. package/dist/components/message-notice.d.ts +8 -13
  208. package/dist/components/message-notice.d.ts.map +1 -1
  209. package/dist/components/message-notice.js +25 -22
  210. package/dist/components/middle-truncate.d.ts +33 -0
  211. package/dist/components/middle-truncate.d.ts.map +1 -0
  212. package/dist/components/middle-truncate.js +72 -0
  213. package/dist/components/multi-select.d.ts +94 -0
  214. package/dist/components/multi-select.d.ts.map +1 -0
  215. package/dist/components/multi-select.js +132 -0
  216. package/dist/components/native-select.d.ts +37 -13
  217. package/dist/components/native-select.d.ts.map +1 -1
  218. package/dist/components/native-select.js +27 -11
  219. package/dist/components/notice-banner.d.ts +17 -10
  220. package/dist/components/notice-banner.d.ts.map +1 -1
  221. package/dist/components/notice-banner.js +12 -11
  222. package/dist/components/numbered-steps.d.ts +10 -4
  223. package/dist/components/numbered-steps.d.ts.map +1 -1
  224. package/dist/components/numbered-steps.js +9 -7
  225. package/dist/components/object-page.d.ts +40 -14
  226. package/dist/components/object-page.d.ts.map +1 -1
  227. package/dist/components/object-page.js +12 -10
  228. package/dist/components/object-workspace.d.ts +29 -10
  229. package/dist/components/object-workspace.d.ts.map +1 -1
  230. package/dist/components/object-workspace.js +18 -8
  231. package/dist/components/overview-page.d.ts +2 -2
  232. package/dist/components/overview-page.d.ts.map +1 -1
  233. package/dist/components/overview-page.js +8 -7
  234. package/dist/components/page-actions.d.ts +28 -8
  235. package/dist/components/page-actions.d.ts.map +1 -1
  236. package/dist/components/page-actions.js +22 -25
  237. package/dist/components/page-header.d.ts +11 -4
  238. package/dist/components/page-header.d.ts.map +1 -1
  239. package/dist/components/page-header.js +10 -5
  240. package/dist/components/pending-label.d.ts +6 -5
  241. package/dist/components/pending-label.d.ts.map +1 -1
  242. package/dist/components/pending-label.js +14 -6
  243. package/dist/components/picture-label.d.ts +2 -2
  244. package/dist/components/picture-label.d.ts.map +1 -1
  245. package/dist/components/picture-label.js +3 -3
  246. package/dist/components/portal-sidebar-frame.d.ts +9 -21
  247. package/dist/components/portal-sidebar-frame.d.ts.map +1 -1
  248. package/dist/components/portal-sidebar-frame.js +13 -27
  249. package/dist/components/progress-checklist.d.ts +46 -0
  250. package/dist/components/progress-checklist.d.ts.map +1 -0
  251. package/dist/components/progress-checklist.js +46 -0
  252. package/dist/components/progress.d.ts +48 -8
  253. package/dist/components/progress.d.ts.map +1 -1
  254. package/dist/components/progress.js +92 -16
  255. package/dist/components/prose.d.ts +19 -0
  256. package/dist/components/prose.d.ts.map +1 -0
  257. package/dist/components/prose.js +29 -0
  258. package/dist/components/radio-group.d.ts +51 -12
  259. package/dist/components/radio-group.d.ts.map +1 -1
  260. package/dist/components/radio-group.js +42 -12
  261. package/dist/components/reading-column.js +1 -1
  262. package/dist/components/record-identity.d.ts +6 -5
  263. package/dist/components/record-identity.d.ts.map +1 -1
  264. package/dist/components/record-identity.js +12 -3
  265. package/dist/components/record-list.d.ts +117 -27
  266. package/dist/components/record-list.d.ts.map +1 -1
  267. package/dist/components/record-list.js +185 -55
  268. package/dist/components/record-time.d.ts +20 -7
  269. package/dist/components/record-time.d.ts.map +1 -1
  270. package/dist/components/record-time.js +38 -19
  271. package/dist/components/resizable.d.ts +7 -5
  272. package/dist/components/resizable.d.ts.map +1 -1
  273. package/dist/components/resizable.js +6 -6
  274. package/dist/components/scope-switcher.d.ts +2 -0
  275. package/dist/components/scope-switcher.d.ts.map +1 -1
  276. package/dist/components/scope-switcher.js +2 -2
  277. package/dist/components/scroll-area.d.ts +47 -11
  278. package/dist/components/scroll-area.d.ts.map +1 -1
  279. package/dist/components/scroll-area.js +72 -14
  280. package/dist/components/segmented-control.d.ts +82 -0
  281. package/dist/components/segmented-control.d.ts.map +1 -0
  282. package/dist/components/segmented-control.js +90 -0
  283. package/dist/components/select.d.ts +55 -15
  284. package/dist/components/select.d.ts.map +1 -1
  285. package/dist/components/select.js +62 -19
  286. package/dist/components/separator.d.ts +12 -5
  287. package/dist/components/separator.d.ts.map +1 -1
  288. package/dist/components/separator.js +11 -6
  289. package/dist/components/settings-facts.d.ts +34 -14
  290. package/dist/components/settings-facts.d.ts.map +1 -1
  291. package/dist/components/settings-facts.js +21 -12
  292. package/dist/components/settings-page.d.ts +4 -4
  293. package/dist/components/settings-page.js +5 -5
  294. package/dist/components/settings-section.d.ts +160 -34
  295. package/dist/components/settings-section.d.ts.map +1 -1
  296. package/dist/components/settings-section.js +92 -39
  297. package/dist/components/sheet.d.ts +47 -16
  298. package/dist/components/sheet.d.ts.map +1 -1
  299. package/dist/components/sheet.js +40 -19
  300. package/dist/components/sidebar-sections.d.ts +16 -12
  301. package/dist/components/sidebar-sections.d.ts.map +1 -1
  302. package/dist/components/sidebar-sections.js +30 -15
  303. package/dist/components/sidebar.d.ts +117 -21
  304. package/dist/components/sidebar.d.ts.map +1 -1
  305. package/dist/components/sidebar.js +180 -55
  306. package/dist/components/skeleton.d.ts +54 -8
  307. package/dist/components/skeleton.d.ts.map +1 -1
  308. package/dist/components/skeleton.js +44 -9
  309. package/dist/components/slider.d.ts +53 -11
  310. package/dist/components/slider.d.ts.map +1 -1
  311. package/dist/components/slider.js +71 -17
  312. package/dist/components/snippet.d.ts +57 -0
  313. package/dist/components/snippet.d.ts.map +1 -0
  314. package/dist/components/snippet.js +60 -0
  315. package/dist/components/sonner.d.ts +13 -14
  316. package/dist/components/sonner.d.ts.map +1 -1
  317. package/dist/components/sonner.js +25 -22
  318. package/dist/components/status-badge.d.ts +37 -11
  319. package/dist/components/status-badge.d.ts.map +1 -1
  320. package/dist/components/status-badge.js +63 -15
  321. package/dist/components/status-dot.d.ts +42 -11
  322. package/dist/components/status-dot.d.ts.map +1 -1
  323. package/dist/components/status-dot.js +40 -11
  324. package/dist/components/switch.d.ts +43 -12
  325. package/dist/components/switch.d.ts.map +1 -1
  326. package/dist/components/switch.js +42 -12
  327. package/dist/components/table-card.d.ts +21 -12
  328. package/dist/components/table-card.d.ts.map +1 -1
  329. package/dist/components/table-card.js +17 -9
  330. package/dist/components/table-layouts.d.ts +40 -8
  331. package/dist/components/table-layouts.d.ts.map +1 -1
  332. package/dist/components/table-layouts.js +52 -8
  333. package/dist/components/table-value.d.ts +4 -3
  334. package/dist/components/table-value.d.ts.map +1 -1
  335. package/dist/components/table-value.js +6 -5
  336. package/dist/components/table.d.ts +62 -25
  337. package/dist/components/table.d.ts.map +1 -1
  338. package/dist/components/table.js +62 -26
  339. package/dist/components/tabs.d.ts +86 -17
  340. package/dist/components/tabs.d.ts.map +1 -1
  341. package/dist/components/tabs.js +93 -22
  342. package/dist/components/text-link.d.ts +4 -1
  343. package/dist/components/text-link.d.ts.map +1 -1
  344. package/dist/components/text-link.js +4 -1
  345. package/dist/components/text-with-copy-button.d.ts +30 -0
  346. package/dist/components/text-with-copy-button.d.ts.map +1 -0
  347. package/dist/components/text-with-copy-button.js +32 -0
  348. package/dist/components/textarea.d.ts +40 -10
  349. package/dist/components/textarea.d.ts.map +1 -1
  350. package/dist/components/textarea.js +50 -11
  351. package/dist/components/theme-mode-switcher.d.ts +20 -3
  352. package/dist/components/theme-mode-switcher.d.ts.map +1 -1
  353. package/dist/components/theme-mode-switcher.js +23 -6
  354. package/dist/components/toggle-group.d.ts +28 -8
  355. package/dist/components/toggle-group.d.ts.map +1 -1
  356. package/dist/components/toggle-group.js +12 -6
  357. package/dist/components/toggle.d.ts +6 -3
  358. package/dist/components/toggle.d.ts.map +1 -1
  359. package/dist/components/toggle.js +10 -7
  360. package/dist/components/tooltip.d.ts +43 -12
  361. package/dist/components/tooltip.d.ts.map +1 -1
  362. package/dist/components/tooltip.js +45 -16
  363. package/dist/components/trend-badge.js +1 -1
  364. package/dist/components/update-card.js +1 -1
  365. package/dist/eslint/index.js +82 -0
  366. package/dist/eslint/rules/badge-is-static-label.js +93 -0
  367. package/dist/eslint/rules/button-icon-slot.js +102 -0
  368. package/dist/eslint/rules/button-link-for-navigation.js +146 -0
  369. package/dist/eslint/rules/button-no-aria-label-with-text.js +75 -0
  370. package/dist/eslint/rules/button-type-roles-only-in-buttons.js +83 -0
  371. package/dist/eslint/rules/choice-control-has-a-name.js +98 -0
  372. package/dist/eslint/rules/choice-group-in-fieldset.js +86 -0
  373. package/dist/eslint/rules/command-shortcut-single-owner.js +118 -0
  374. package/dist/eslint/rules/confirm-dialog-words.js +63 -0
  375. package/dist/eslint/rules/data-table-one-unsized-column.js +96 -0
  376. package/dist/eslint/rules/destructive-action-placement.js +69 -0
  377. package/dist/eslint/rules/disabled-choice-says-why.js +71 -0
  378. package/dist/eslint/rules/ellipsis-opens-a-dialog.js +110 -0
  379. package/dist/eslint/rules/input-group-owners.js +155 -0
  380. package/dist/eslint/rules/kbd-children-no-modifier-text.js +128 -0
  381. package/dist/eslint/rules/literal-text.js +41 -0
  382. package/dist/eslint/rules/middle-truncate-placement.js +69 -0
  383. package/dist/eslint/rules/no-bare-button-label.js +55 -0
  384. package/dist/eslint/rules/no-control-in-read-only-surface.js +106 -0
  385. package/dist/eslint/rules/no-hand-built-busy.js +104 -0
  386. package/dist/eslint/rules/no-hand-built-theme-picker.js +144 -0
  387. package/dist/eslint/rules/no-hand-built-tile.js +41 -0
  388. package/dist/eslint/rules/no-hand-formatted-date.js +87 -0
  389. package/dist/eslint/rules/no-hand-stacked-avatars.js +67 -0
  390. package/dist/eslint/rules/no-nested-collapse.js +60 -0
  391. package/dist/eslint/rules/no-search-in-form.js +47 -0
  392. package/dist/eslint/rules/no-shadcn-appearance-override.js +2 -16
  393. package/dist/eslint/rules/no-shell-prompt-in-snippet.js +74 -0
  394. package/dist/eslint/rules/no-stock-error-words.js +56 -0
  395. package/dist/eslint/rules/no-tooltip-around-labelled-field.js +72 -0
  396. package/dist/eslint/rules/no-weight-class-on-strong-in-type-role.js +57 -0
  397. package/dist/eslint/rules/one-submenu-level.js +43 -0
  398. package/dist/eslint/rules/one-toast-per-flow.js +91 -0
  399. package/dist/eslint/rules/option-count.js +167 -0
  400. package/dist/eslint/rules/page-command-link-not-render.js +43 -0
  401. package/dist/eslint/rules/progress-needs-name.js +57 -0
  402. package/dist/eslint/rules/settings-limit-in-footer.js +94 -0
  403. package/dist/eslint/rules/skeleton-in-region.js +80 -0
  404. package/dist/eslint/rules/sortable-heading-uses-sort.js +79 -0
  405. package/dist/eslint/rules/table-cell-inset-owner.js +107 -0
  406. package/dist/eslint/rules/tabs-selection-is-controlled.js +47 -0
  407. package/dist/eslint/rules/tooltip-only-arrow.js +38 -0
  408. package/dist/eslint/rules/tooltip-trigger-accessible-name.js +114 -0
  409. package/dist/eslint/strict-design-system.js +21 -7
  410. package/dist/index.d.ts +13 -13
  411. package/dist/index.d.ts.map +1 -1
  412. package/dist/index.js +12 -13
  413. package/dist/internal/assistant-ui/attachment.d.ts.map +1 -1
  414. package/dist/internal/assistant-ui/attachment.js +2 -2
  415. package/dist/internal/assistant-ui/reasoning.d.ts +1 -1
  416. package/dist/internal/assistant-ui/reasoning.d.ts.map +1 -1
  417. package/dist/internal/assistant-ui/tool-fallback.js +1 -1
  418. package/dist/internal/assistant-ui/tool-group.d.ts +1 -1
  419. package/dist/internal/assistant-ui/tool-group.d.ts.map +1 -1
  420. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts +2 -3
  421. package/dist/internal/assistant-ui/tooltip-icon-button.d.ts.map +1 -1
  422. package/dist/internal/assistant-ui/tooltip-icon-button.js +1 -1
  423. package/dist/internal/catalog-list.js +2 -2
  424. package/dist/internal/collection-note.d.ts +23 -0
  425. package/dist/internal/collection-note.d.ts.map +1 -0
  426. package/dist/internal/collection-note.js +17 -0
  427. package/dist/internal/collection-rail.d.ts +57 -0
  428. package/dist/internal/collection-rail.d.ts.map +1 -0
  429. package/dist/internal/collection-rail.js +33 -0
  430. package/dist/internal/company-logo.d.ts +18 -0
  431. package/dist/internal/company-logo.d.ts.map +1 -0
  432. package/dist/internal/company-logo.js +14 -0
  433. package/dist/internal/control-name.d.ts +12 -0
  434. package/dist/internal/control-name.d.ts.map +1 -0
  435. package/dist/internal/control-name.js +1 -0
  436. package/dist/internal/diff-line.d.ts +9 -0
  437. package/dist/internal/diff-line.d.ts.map +1 -0
  438. package/dist/internal/diff-line.js +8 -0
  439. package/dist/internal/empty.d.ts +8 -4
  440. package/dist/internal/empty.d.ts.map +1 -1
  441. package/dist/internal/empty.js +14 -8
  442. package/dist/internal/field-frame.d.ts +33 -0
  443. package/dist/internal/field-frame.d.ts.map +1 -0
  444. package/dist/internal/field-frame.js +20 -0
  445. package/dist/internal/final-focus.d.ts +8 -0
  446. package/dist/internal/final-focus.d.ts.map +1 -0
  447. package/dist/internal/final-focus.js +10 -0
  448. package/dist/internal/footer-strip.d.ts.map +1 -1
  449. package/dist/internal/footer-strip.js +3 -1
  450. package/dist/internal/form-submit.d.ts +9 -5
  451. package/dist/internal/form-submit.d.ts.map +1 -1
  452. package/dist/internal/form-submit.js +31 -2
  453. package/dist/internal/input-box.d.ts +26 -0
  454. package/dist/internal/input-box.d.ts.map +1 -0
  455. package/dist/internal/input-box.js +59 -0
  456. package/dist/internal/menu-surface.d.ts +10 -3
  457. package/dist/internal/menu-surface.d.ts.map +1 -1
  458. package/dist/internal/menu-surface.js +10 -3
  459. package/dist/internal/notice.d.ts +25 -0
  460. package/dist/internal/notice.d.ts.map +1 -0
  461. package/dist/internal/notice.js +33 -0
  462. package/dist/internal/overlay-stem.d.ts +5 -0
  463. package/dist/internal/overlay-stem.d.ts.map +1 -0
  464. package/dist/internal/overlay-stem.js +7 -0
  465. package/dist/internal/phone-sheet.d.ts +4 -0
  466. package/dist/internal/phone-sheet.d.ts.map +1 -0
  467. package/dist/internal/phone-sheet.js +2 -0
  468. package/dist/internal/present-content.d.ts +3 -0
  469. package/dist/internal/present-content.d.ts.map +1 -0
  470. package/dist/internal/present-content.js +1 -0
  471. package/dist/internal/record-menu-items.d.ts +4 -3
  472. package/dist/internal/record-menu-items.d.ts.map +1 -1
  473. package/dist/internal/record-menu-items.js +21 -6
  474. package/dist/internal/settings-save.d.ts +9 -2
  475. package/dist/internal/settings-save.d.ts.map +1 -1
  476. package/dist/internal/settings-save.js +9 -6
  477. package/dist/internal/table-compact-line.d.ts +38 -0
  478. package/dist/internal/table-compact-line.d.ts.map +1 -0
  479. package/dist/internal/table-compact-line.js +35 -0
  480. package/dist/internal/title-when-cut.d.ts +8 -0
  481. package/dist/internal/title-when-cut.d.ts.map +1 -0
  482. package/dist/internal/title-when-cut.js +22 -0
  483. package/dist/internal/unsaved-guard.d.ts +18 -0
  484. package/dist/internal/unsaved-guard.d.ts.map +1 -0
  485. package/dist/internal/unsaved-guard.js +31 -0
  486. package/dist/lib/merge-tokens.generated.js +2 -2
  487. package/dist/showcase/foundations.d.ts.map +1 -1
  488. package/dist/showcase/foundations.js +10 -2
  489. package/dist/showcase/specimens/actions.d.ts +2 -0
  490. package/dist/showcase/specimens/actions.d.ts.map +1 -1
  491. package/dist/showcase/specimens/actions.js +30 -5
  492. package/dist/showcase/specimens/charts.d.ts.map +1 -1
  493. package/dist/showcase/specimens/charts.js +22 -13
  494. package/dist/showcase/specimens/choices.d.ts +14 -3
  495. package/dist/showcase/specimens/choices.d.ts.map +1 -1
  496. package/dist/showcase/specimens/choices.js +93 -13
  497. package/dist/showcase/specimens/compositions.d.ts.map +1 -1
  498. package/dist/showcase/specimens/compositions.js +136 -23
  499. package/dist/showcase/specimens/data.d.ts +12 -7
  500. package/dist/showcase/specimens/data.d.ts.map +1 -1
  501. package/dist/showcase/specimens/data.js +139 -35
  502. package/dist/showcase/specimens/feedback.d.ts +2 -0
  503. package/dist/showcase/specimens/feedback.d.ts.map +1 -1
  504. package/dist/showcase/specimens/feedback.js +39 -15
  505. package/dist/showcase/specimens/index.d.ts +20 -12
  506. package/dist/showcase/specimens/index.d.ts.map +1 -1
  507. package/dist/showcase/specimens/inputs.d.ts +4 -2
  508. package/dist/showcase/specimens/inputs.d.ts.map +1 -1
  509. package/dist/showcase/specimens/inputs.js +62 -19
  510. package/dist/showcase/specimens/menus.d.ts +0 -1
  511. package/dist/showcase/specimens/menus.d.ts.map +1 -1
  512. package/dist/showcase/specimens/menus.js +47 -18
  513. package/dist/showcase/specimens/navigation.d.ts +6 -4
  514. package/dist/showcase/specimens/navigation.d.ts.map +1 -1
  515. package/dist/showcase/specimens/navigation.js +61 -32
  516. package/dist/showcase/specimens/other.d.ts +1 -3
  517. package/dist/showcase/specimens/other.d.ts.map +1 -1
  518. package/dist/showcase/specimens/other.js +17 -13
  519. package/dist/showcase/specimens/status.d.ts +4 -1
  520. package/dist/showcase/specimens/status.d.ts.map +1 -1
  521. package/dist/showcase/specimens/status.js +64 -11
  522. package/dist/showcase/usage.generated.d.ts +1 -1
  523. package/dist/showcase/usage.generated.d.ts.map +1 -1
  524. package/dist/showcase/usage.generated.js +637 -549
  525. package/dist/standalone/index.js +1 -1
  526. package/dist/styles/components.css +13 -13
  527. package/dist/styles/globals.css +25 -0
  528. package/package.json +2 -3
  529. package/dist/components/approval-row.d.ts +0 -34
  530. package/dist/components/approval-row.d.ts.map +0 -1
  531. package/dist/components/approval-row.js +0 -27
  532. package/dist/components/channel-view.d.ts +0 -112
  533. package/dist/components/channel-view.d.ts.map +0 -1
  534. package/dist/components/channel-view.js +0 -84
  535. package/dist/components/dashboard-shell.d.ts +0 -51
  536. package/dist/components/dashboard-shell.d.ts.map +0 -1
  537. package/dist/components/dashboard-shell.js +0 -89
  538. package/dist/components/direction.d.ts +0 -2
  539. package/dist/components/direction.d.ts.map +0 -1
  540. package/dist/components/direction.js +0 -1
  541. package/dist/components/expandable-block.d.ts +0 -20
  542. package/dist/components/expandable-block.d.ts.map +0 -1
  543. package/dist/components/expandable-block.js +0 -32
  544. package/dist/components/form.d.ts +0 -42
  545. package/dist/components/form.d.ts.map +0 -1
  546. package/dist/components/form.js +0 -91
  547. package/dist/components/label-system.d.ts +0 -17
  548. package/dist/components/label-system.d.ts.map +0 -1
  549. package/dist/components/label-system.js +0 -21
  550. package/dist/components/memory-item.d.ts +0 -21
  551. package/dist/components/memory-item.d.ts.map +0 -1
  552. package/dist/components/memory-item.js +0 -18
  553. package/dist/components/menubar.d.ts +0 -43
  554. package/dist/components/menubar.d.ts.map +0 -1
  555. package/dist/components/menubar.js +0 -69
  556. package/dist/components/navigation-menu.d.ts +0 -26
  557. package/dist/components/navigation-menu.d.ts.map +0 -1
  558. package/dist/components/navigation-menu.js +0 -45
  559. package/dist/components/pagination.d.ts +0 -33
  560. package/dist/components/pagination.d.ts.map +0 -1
  561. package/dist/components/pagination.js +0 -41
  562. package/dist/components/plugin-slot-boundary.d.ts +0 -42
  563. package/dist/components/plugin-slot-boundary.d.ts.map +0 -1
  564. package/dist/components/plugin-slot-boundary.js +0 -41
  565. package/dist/components/status-row.d.ts +0 -32
  566. package/dist/components/status-row.d.ts.map +0 -1
  567. package/dist/components/status-row.js +0 -35
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Standard tool checked first: a `no-restricted-syntax` selector can match a
3
+ * padding class written as a literal on `<TableCell>`, but not one composed
4
+ * through `cn(...)` or a conditional, not which JSX name is the table's part
5
+ * once the import is renamed, and not which object literal is a column
6
+ * definition rather than any other object with a `className`.
7
+ */
8
+ import { PACKAGE_BARREL, partOf, renderedImports, walk } from "./rendered-import.js";
9
+
10
+ const CELL_PARTS = new Set(["TableHead", "TableCell"]);
11
+
12
+ const TABLE_PARTS = new Map(
13
+ [...CELL_PARTS].map((name) => [
14
+ name,
15
+ ["@nadicodeai/ui/components/table", PACKAGE_BARREL, "@/components/table"].map((from) => ({
16
+ from,
17
+ part: name,
18
+ })),
19
+ ]),
20
+ );
21
+
22
+ const COLUMN_KEYS = new Set(["accessorKey", "accessorFn", "header", "cell"]);
23
+ const SIDEWAYS_PADDING = /^-?(?:px|ps|pe|pl|pr)-(?<step>.+?)!?$/;
24
+
25
+ const keyName = (property) => {
26
+ if (property.computed) return null;
27
+ return property.key.type === "Identifier" ? property.key.name : property.key.value;
28
+ };
29
+
30
+ const propertyNamed = (objectExpression, name) =>
31
+ objectExpression.properties.find(
32
+ (property) => property.type === "Property" && keyName(property) === name,
33
+ );
34
+
35
+ function withoutVariants(utility) {
36
+ let depth = 0;
37
+ let start = 0;
38
+ for (let index = 0; index < utility.length; index += 1) {
39
+ const character = utility[index];
40
+ if (character === "[") depth += 1;
41
+ else if (character === "]") depth -= 1;
42
+ else if (character === ":" && depth === 0) start = index + 1;
43
+ }
44
+ return utility.slice(start).replace(/^!/, "");
45
+ }
46
+
47
+ const insetsSideways = (utility) => {
48
+ const step = SIDEWAYS_PADDING.exec(withoutVariants(utility))?.groups.step;
49
+ return step !== undefined && step !== "0";
50
+ };
51
+
52
+ export const tableCellInsetOwner = {
53
+ meta: {
54
+ type: "problem",
55
+ docs: {
56
+ description: "The table insets its cells sideways; a cell or a column never sets it.",
57
+ },
58
+ schema: [],
59
+ messages: {
60
+ "cell-inset":
61
+ "Table cells are inset 8 px sideways at every width by the table. Remove the class; set the width with the column's `size`.",
62
+ },
63
+ },
64
+ create(context) {
65
+ const importOf = renderedImports(context);
66
+ const { visitorKeys } = context.sourceCode;
67
+
68
+ function checkClasses(value) {
69
+ const fragments = [];
70
+ const read = (node) => {
71
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- ESTree types Literal.value as string | number | boolean | RegExp | bigint | null; only typeof picks the string.
72
+ if (node.type === "Literal" && typeof node.value === "string") fragments.push(node.value);
73
+ if (node.type === "TemplateElement") fragments.push(node.value.cooked ?? node.value.raw);
74
+ };
75
+ read(value);
76
+ walk(value, visitorKeys, read);
77
+ const refused = fragments
78
+ .flatMap((fragment) => fragment.split(/\s+/).filter(Boolean))
79
+ .some(insetsSideways);
80
+ if (refused) context.report({ node: value, messageId: "cell-inset" });
81
+ }
82
+
83
+ return {
84
+ JSXOpeningElement(node) {
85
+ if (!CELL_PARTS.has(partOf(importOf(node.name), TABLE_PARTS, context.filename) ?? "")) {
86
+ return;
87
+ }
88
+ for (const attribute of node.attributes) {
89
+ if (attribute.type === "JSXAttribute" && attribute.name.name === "className") {
90
+ if (attribute.value) checkClasses(attribute.value);
91
+ }
92
+ }
93
+ },
94
+ ObjectExpression(node) {
95
+ const isColumn = node.properties.some(
96
+ (property) => property.type === "Property" && COLUMN_KEYS.has(keyName(property)),
97
+ );
98
+ if (!isColumn) return;
99
+ const own = propertyNamed(node, "className");
100
+ if (own) checkClasses(own.value);
101
+ const meta = propertyNamed(node, "meta")?.value;
102
+ const metaOwn = meta?.type === "ObjectExpression" && propertyNamed(meta, "className");
103
+ if (metaOwn) checkClasses(metaOwn.value);
104
+ },
105
+ };
106
+ },
107
+ };
@@ -0,0 +1,47 @@
1
+ /*
2
+ * Standard tool checked first: a `no-restricted-syntax` selector can match a
3
+ * `JSXAttribute[name.name='defaultValue']`, but not that the element is the
4
+ * package's Tabs rather than TabsNav or a local component, nor that a missing
5
+ * `value` is covered by a spread. Those need the import binding and the
6
+ * attribute list read together.
7
+ */
8
+ import { packageModules, partOf, renderedImports } from "./rendered-import.js";
9
+
10
+ const TABS = new Map([["Tabs", packageModules("tabs").map((from) => ({ from, part: "Tabs" }))]]);
11
+
12
+ const hasAttribute = (openingElement, attributeName) =>
13
+ openingElement.attributes.some(
14
+ (attribute) => attribute.type === "JSXAttribute" && attribute.name.name === attributeName,
15
+ );
16
+
17
+ const hasSpread = (openingElement) =>
18
+ openingElement.attributes.some((attribute) => attribute.type === "JSXSpreadAttribute");
19
+
20
+ export const tabsSelectionIsControlled = {
21
+ meta: {
22
+ type: "problem",
23
+ docs: {
24
+ description: "Tabs is controlled by a `value` read from the address, never `defaultValue`.",
25
+ },
26
+ schema: [],
27
+ messages: {
28
+ "chosen-tab-in-address":
29
+ "The chosen tab lives in the address: control Tabs with `value` read from the route or ?tab=, so a reload, Back and a shared link restore it.",
30
+ },
31
+ },
32
+ create(context) {
33
+ const importOf = renderedImports(context);
34
+ return {
35
+ JSXElement(node) {
36
+ const { openingElement } = node;
37
+ if (!partOf(importOf(openingElement.name), TABS, context.filename)) return;
38
+ const uncontrolled =
39
+ hasAttribute(openingElement, "defaultValue") ||
40
+ (!hasAttribute(openingElement, "value") && !hasSpread(openingElement));
41
+ if (uncontrolled) {
42
+ context.report({ node: openingElement, messageId: "chosen-tab-in-address" });
43
+ }
44
+ },
45
+ };
46
+ },
47
+ };
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Standard tool checked first: a `no-restricted-syntax` selector can match a
3
+ * member element named `Arrow`, but not that its object is an import from
4
+ * `@base-ui/react`, so it would also refuse a product's own `Chart.Arrow`.
5
+ */
6
+ const BASE_UI = /^@base-ui\/react(\/|$)/;
7
+
8
+ const rootOf = (name) => (name.type === "JSXMemberExpression" ? rootOf(name.object) : name);
9
+
10
+ export const tooltipOnlyArrow = {
11
+ meta: {
12
+ type: "problem",
13
+ docs: {
14
+ description: "Only a tooltip has a pointer: a popup part named Arrow belongs in tooltip.tsx.",
15
+ },
16
+ schema: [],
17
+ messages: {
18
+ "popup-arrow": "Only a tooltip has a pointer. Remove the arrow from this popup.",
19
+ },
20
+ },
21
+ create(context) {
22
+ const baseUiBindings = new Set();
23
+ return {
24
+ ImportDeclaration(node) {
25
+ if (node.importKind === "type" || !BASE_UI.test(node.source.value)) return;
26
+ for (const specifier of node.specifiers) {
27
+ if (specifier.importKind !== "type") baseUiBindings.add(specifier.local.name);
28
+ }
29
+ },
30
+ JSXOpeningElement(node) {
31
+ const { name } = node;
32
+ if (name.type !== "JSXMemberExpression" || name.property.name !== "Arrow") return;
33
+ if (baseUiBindings.has(rootOf(name).name))
34
+ context.report({ node, messageId: "popup-arrow" });
35
+ },
36
+ };
37
+ },
38
+ };
@@ -0,0 +1,114 @@
1
+ /*
2
+ * Standard tool checked first: a `no-restricted-syntax` selector can match a
3
+ * `TooltipTrigger` with no `aria-label`, but not that the package's trigger is
4
+ * meant rather than a local one, that its children draw no text, nor that the
5
+ * name may sit on the element passed as `render`. Those need the import
6
+ * binding, the children and the `render` element read together.
7
+ */
8
+ import { PACKAGE_BARREL, partOf, renderedImports, staticAttribute } from "./rendered-import.js";
9
+
10
+ const TRIGGERS = new Map(
11
+ [
12
+ ["TooltipTrigger", "tooltip"],
13
+ ["PopoverTrigger", "popover"],
14
+ ["HoverCardTrigger", "hover-card"],
15
+ ].map(([name, module]) => [
16
+ name,
17
+ [`@nadicodeai/ui/components/${module}`, PACKAGE_BARREL, `@/components/${module}`].map(
18
+ (from) => ({ from, part: name }),
19
+ ),
20
+ ]),
21
+ );
22
+
23
+ const BUTTONS = new Map(
24
+ ["Button", "ButtonLink"].map((name) => [
25
+ name,
26
+ ["@nadicodeai/ui/components/button", PACKAGE_BARREL].map((from) => ({ from, part: name })),
27
+ ]),
28
+ );
29
+
30
+ const NAMING_ATTRIBUTES = new Set(["aria-label", "aria-labelledby"]);
31
+
32
+ const hasAttribute = (openingElement, names) =>
33
+ openingElement.attributes.some(
34
+ (attribute) => attribute.type === "JSXAttribute" && names.has(attribute.name.name),
35
+ );
36
+
37
+ const hasSpread = (openingElement) =>
38
+ openingElement.attributes.some((attribute) => attribute.type === "JSXSpreadAttribute");
39
+
40
+ function staticText(expression) {
41
+ if (expression.type === "Literal") {
42
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- ESTree types Literal.value as string | number | boolean | RegExp | bigint | null; only typeof picks the string.
43
+ return typeof expression.value === "string" ? expression.value : null;
44
+ }
45
+ if (expression.type === "TemplateLiteral" && expression.expressions.length === 0) {
46
+ return expression.quasis[0].value.cooked;
47
+ }
48
+ return null;
49
+ }
50
+
51
+ function rendersText(child) {
52
+ if (child.type === "JSXText") return child.value.trim() !== "";
53
+ if (child.type === "JSXElement" || child.type === "JSXFragment") {
54
+ return child.children.some(rendersText);
55
+ }
56
+ if (child.type !== "JSXExpressionContainer") return false;
57
+ const { expression } = child;
58
+ if (expression.type === "JSXEmptyExpression") return false;
59
+ const text = staticText(expression);
60
+ if (text !== null) return text.trim() !== "";
61
+ return expression.type !== "Literal";
62
+ }
63
+
64
+ const isElement = (child) => child.type === "JSXElement" || child.type === "JSXFragment";
65
+
66
+ const isIconOnly = (children) => children.some(isElement) && !children.some(rendersText);
67
+
68
+ const renderElement = (openingElement) => {
69
+ const attribute = openingElement.attributes.find(
70
+ (candidate) => candidate.type === "JSXAttribute" && candidate.name.name === "render",
71
+ );
72
+ const expression = attribute?.value?.expression;
73
+ return expression?.type === "JSXElement" ? expression : null;
74
+ };
75
+
76
+ const isIconButton = (importOf, filename, element) =>
77
+ Boolean(partOf(importOf(element.openingElement.name), BUTTONS, filename)) &&
78
+ String(staticAttribute(element.openingElement, "size") ?? "").startsWith("icon");
79
+
80
+ export const tooltipTriggerAccessibleName = {
81
+ meta: {
82
+ type: "problem",
83
+ docs: {
84
+ description:
85
+ "A trigger whose children are only icons is named by an aria-label: the tooltip describes the control, it does not name it.",
86
+ },
87
+ schema: [],
88
+ messages: {
89
+ "icon-only-trigger":
90
+ "An icon-only trigger needs an aria-label that names the action. The tooltip describes the control; it does not name it.",
91
+ },
92
+ },
93
+ create(context) {
94
+ const importOf = renderedImports(context);
95
+ return {
96
+ JSXElement(node) {
97
+ const { openingElement } = node;
98
+ if (!partOf(importOf(openingElement.name), TRIGGERS, context.filename)) return;
99
+ if (hasSpread(openingElement) || hasAttribute(openingElement, NAMING_ATTRIBUTES)) return;
100
+ const rendered = renderElement(openingElement);
101
+ if (rendered) {
102
+ if (isIconButton(importOf, context.filename, rendered)) return;
103
+ if (hasSpread(rendered.openingElement)) return;
104
+ if (hasAttribute(rendered.openingElement, NAMING_ATTRIBUTES)) return;
105
+ }
106
+ const drawsItself = node.children.some(isElement) || node.children.some(rendersText);
107
+ const children = drawsItself ? node.children : (rendered?.children ?? []);
108
+ if (isIconOnly(children)) {
109
+ context.report({ node: openingElement, messageId: "icon-only-trigger" });
110
+ }
111
+ },
112
+ };
113
+ },
114
+ };
@@ -44,7 +44,6 @@ const OVERLAY_ROOTS = [
44
44
  "Popover",
45
45
  "DropdownMenu",
46
46
  "ContextMenu",
47
- "Menubar",
48
47
  "Tooltip",
49
48
  "HoverCard",
50
49
  "Combobox",
@@ -67,10 +66,16 @@ const overlayRoot = `JSXOpeningElement[name.name=/Dialog|Drawer|Sheet|Popover|Me
67
66
  const isTrue = ":matches([value=null], [value.expression.value=true])";
68
67
 
69
68
  const selectItem = "JSXElement[openingElement.name.name='SelectItem']";
69
+ const nativeOption =
70
+ "JSXElement[openingElement.name.name=/^(NativeSelectOption|option)$/]:has(> JSXOpeningElement:has(> JSXAttribute[name.name='value']:matches([value.value=/./], [value.expression.value=/./])))";
70
71
  const noExpressionChild =
71
72
  ":not(:has(> JSXExpressionContainer[expression.type!='JSXEmptyExpression']))";
72
- const fewItems = (parent) =>
73
- `${parent}:has(> ${selectItem} ~ ${selectItem}):not(:has(> ${selectItem} ~ ${selectItem} ~ ${selectItem} ~ ${selectItem}))${noExpressionChild}`;
73
+ const fewItems = (parent, item) =>
74
+ `${parent}:has(> ${item} ~ ${item}):not(:has(> ${item} ~ ${item} ~ ${item} ~ ${item}))${noExpressionChild}`;
75
+ const fewOptions = (root, group, item) =>
76
+ `JSXElement[openingElement.name.name='${root}']${noExpressionChild}:matches(${fewItems("JSXElement", item)}, :has(> ${fewItems(`JSXElement[openingElement.name.name=/^${group}$/]`, item)})) > JSXOpeningElement`;
77
+ const fewFixedOptionsMessage =
78
+ "Two or three fixed options are a SegmentedControl when they switch views of one surface, or a RadioGroup when they are a setting; a Select hides them until it opens.";
74
79
 
75
80
  const drawerSlot = "/^Drawer(Header|Body|Footer)$/";
76
81
  const drawerEdge = literal(token(String.raw`border(-[tby])?(-\d+)?`));
@@ -214,11 +219,20 @@ export const strictDesignSystemSelectors = {
214
219
  },
215
220
  ],
216
221
  "prefer-radio-for-few-static-options": [
217
- ...keepName(["SelectContent", "SelectItem"]),
222
+ ...keepName([
223
+ "SelectContent",
224
+ "SelectItem",
225
+ "NativeSelect",
226
+ "NativeSelectOption",
227
+ "NativeSelectOptGroup",
228
+ ]),
218
229
  {
219
- selector: `JSXElement[openingElement.name.name='SelectContent']${noExpressionChild}:matches(${fewItems("JSXElement")}, :has(> ${fewItems("JSXElement[openingElement.name.name='SelectGroup']")})) > JSXOpeningElement`,
220
- message:
221
- "This Select holds two or three options fixed at author time, so a reader has to open it to learn what the alternatives are. RadioGroup shows them all at once and takes one arrow key instead of an open and an arrow. Use RadioGroup with a RadioGroupItem per option.",
230
+ selector: fewOptions("SelectContent", "SelectGroup", selectItem),
231
+ message: fewFixedOptionsMessage,
232
+ },
233
+ {
234
+ selector: fewOptions("NativeSelect", "(NativeSelectOptGroup|optgroup)", nativeOption),
235
+ message: fewFixedOptionsMessage,
222
236
  },
223
237
  ],
224
238
  };
package/dist/index.d.ts CHANGED
@@ -11,7 +11,6 @@ export * from "./components/agent-profile.js";
11
11
  export * from "./components/alert.js";
12
12
  export * from "./components/alert-dialog.js";
13
13
  export * from "./components/app-mark.js";
14
- export * from "./components/approval-row.js";
15
14
  export * from "./components/aspect-ratio.js";
16
15
  export * from "./components/avatar.js";
17
16
  export * from "./components/badge.js";
@@ -25,7 +24,6 @@ export * from "./components/card.js";
25
24
  export * from "./components/card-row.js";
26
25
  export * from "./components/carousel.js";
27
26
  export * from "./components/catalog-drawer.js";
28
- export * from "./components/channel-view.js";
29
27
  export * from "./components/chart.js";
30
28
  export * from "./components/chart-area-stacked.js";
31
29
  export * from "./components/chart-bar-horizontal.js";
@@ -35,7 +33,10 @@ export * from "./components/chart-card.js";
35
33
  export * from "./components/chart-date-range-control.js";
36
34
  export * from "./components/chart-entity-colors.js";
37
35
  export * from "./components/chart-sparkline.js";
36
+ export * from "./components/check-counts.js";
38
37
  export * from "./components/checkbox.js";
38
+ export * from "./components/choicebox.js";
39
+ export * from "./components/clearable-input.js";
39
40
  export * from "./components/code-block.js";
40
41
  export * from "./components/collapsible.js";
41
42
  export * from "./components/collection-filters.js";
@@ -49,26 +50,23 @@ export * from "./components/company-card.js";
49
50
  export * from "./components/confirm-dialog.js";
50
51
  export * from "./components/context-menu.js";
51
52
  export * from "./components/copy-button.js";
52
- export * from "./components/dashboard-shell.js";
53
53
  export * from "./components/data-table.js";
54
54
  export * from "./components/desktop-shell.js";
55
55
  export * from "./components/dialog.js";
56
56
  export * from "./components/diff-count.js";
57
- export * from "./components/direction.js";
58
57
  export * from "./components/disclosure.js";
59
58
  export * from "./components/disclosure-row.js";
60
59
  export * from "./components/drawer.js";
61
60
  export * from "./components/dropdown-menu.js";
62
61
  export * from "./components/empty-state.js";
63
62
  export * from "./components/entry-scene.js";
64
- export * from "./components/expandable-block.js";
65
63
  export * from "./components/field.js";
66
64
  export * from "./components/file-diff.js";
67
65
  export * from "./components/file-type-icon.js";
68
66
  export * from "./components/footer.js";
69
- export * from "./components/form.js";
70
67
  export * from "./components/form-dialog.js";
71
68
  export * from "./components/form-drawer.js";
69
+ export * from "./components/gauge.js";
72
70
  export * from "./components/glass-control.js";
73
71
  export * from "./components/hive-scene.js";
74
72
  export * from "./components/house-icons.js";
@@ -81,17 +79,16 @@ export * from "./components/item.js";
81
79
  export * from "./components/kbd.js";
82
80
  export * from "./components/kpi-card.js";
83
81
  export * from "./components/label.js";
84
- export * from "./components/label-system.js";
85
82
  export * from "./components/library-shelf.js";
86
- export * from "./components/memory-item.js";
83
+ export * from "./components/load-more-button.js";
87
84
  export * from "./components/menu-choice-row.js";
88
- export * from "./components/menubar.js";
89
85
  export * from "./components/message-notice.js";
86
+ export * from "./components/middle-truncate.js";
90
87
  export * from "./components/model-identity.js";
91
88
  export * from "./components/model-mark.js";
89
+ export * from "./components/multi-select.js";
92
90
  export * from "./components/nadia-presence.js";
93
91
  export * from "./components/native-select.js";
94
- export * from "./components/navigation-menu.js";
95
92
  export * from "./components/notice-banner.js";
96
93
  export * from "./components/numbered-steps.js";
97
94
  export * from "./components/object-page.js";
@@ -99,15 +96,15 @@ export * from "./components/object-workspace.js";
99
96
  export * from "./components/overview-page.js";
100
97
  export * from "./components/page-actions.js";
101
98
  export * from "./components/page-header.js";
102
- export * from "./components/pagination.js";
103
99
  export * from "./components/pairing-code.js";
104
100
  export * from "./components/pending-label.js";
105
101
  export * from "./components/picture-label.js";
106
102
  export * from "./components/platform-mark.js";
107
- export * from "./components/plugin-slot-boundary.js";
108
103
  export * from "./components/popover.js";
109
104
  export * from "./components/portal-sidebar-frame.js";
110
105
  export * from "./components/progress.js";
106
+ export * from "./components/progress-checklist.js";
107
+ export * from "./components/prose.js";
111
108
  export * from "./components/qr-code.js";
112
109
  export * from "./components/radio-group.js";
113
110
  export * from "./components/reading-column.js";
@@ -120,6 +117,7 @@ export * from "./components/row-edit-form.js";
120
117
  export * from "./components/run-timeline.js";
121
118
  export * from "./components/scope-switcher.js";
122
119
  export * from "./components/scroll-area.js";
120
+ export * from "./components/segmented-control.js";
123
121
  export * from "./components/select.js";
124
122
  export * from "./components/separator.js";
125
123
  export * from "./components/settings-facts.js";
@@ -130,10 +128,10 @@ export * from "./components/sidebar.js";
130
128
  export * from "./components/sidebar-sections.js";
131
129
  export * from "./components/skeleton.js";
132
130
  export * from "./components/slider.js";
131
+ export * from "./components/snippet.js";
133
132
  export * from "./components/sonner.js";
134
133
  export * from "./components/status-badge.js";
135
134
  export * from "./components/status-dot.js";
136
- export * from "./components/status-row.js";
137
135
  export * from "./components/switch.js";
138
136
  export * from "./components/table.js";
139
137
  export * from "./components/table-card.js";
@@ -141,6 +139,7 @@ export * from "./components/table-value.js";
141
139
  export * from "./components/tabs.js";
142
140
  export * from "./components/tag.js";
143
141
  export * from "./components/text-link.js";
142
+ export * from "./components/text-with-copy-button.js";
144
143
  export * from "./components/textarea.js";
145
144
  export * from "./components/theme-mode-switcher.js";
146
145
  export * from "./components/toggle.js";
@@ -151,4 +150,5 @@ export * from "./components/trend-badge.js";
151
150
  export * from "./components/update-card.js";
152
151
  export * from "./components/usage-meter.js";
153
152
  export * from "./components/waiting-line.js";
153
+ export type { ControlName } from "./internal/control-name.js";
154
154
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,6 @@ export * from "./components/agent-profile.js";
11
11
  export * from "./components/alert.js";
12
12
  export * from "./components/alert-dialog.js";
13
13
  export * from "./components/app-mark.js";
14
- export * from "./components/approval-row.js";
15
14
  export * from "./components/aspect-ratio.js";
16
15
  export * from "./components/avatar.js";
17
16
  export * from "./components/badge.js";
@@ -25,7 +24,6 @@ export * from "./components/card.js";
25
24
  export * from "./components/card-row.js";
26
25
  export * from "./components/carousel.js";
27
26
  export * from "./components/catalog-drawer.js";
28
- export * from "./components/channel-view.js";
29
27
  export * from "./components/chart.js";
30
28
  export * from "./components/chart-area-stacked.js";
31
29
  export * from "./components/chart-bar-horizontal.js";
@@ -35,7 +33,10 @@ export * from "./components/chart-card.js";
35
33
  export * from "./components/chart-date-range-control.js";
36
34
  export * from "./components/chart-entity-colors.js";
37
35
  export * from "./components/chart-sparkline.js";
36
+ export * from "./components/check-counts.js";
38
37
  export * from "./components/checkbox.js";
38
+ export * from "./components/choicebox.js";
39
+ export * from "./components/clearable-input.js";
39
40
  export * from "./components/code-block.js";
40
41
  export * from "./components/collapsible.js";
41
42
  export * from "./components/collection-filters.js";
@@ -49,26 +50,23 @@ export * from "./components/company-card.js";
49
50
  export * from "./components/confirm-dialog.js";
50
51
  export * from "./components/context-menu.js";
51
52
  export * from "./components/copy-button.js";
52
- export * from "./components/dashboard-shell.js";
53
53
  export * from "./components/data-table.js";
54
54
  export * from "./components/desktop-shell.js";
55
55
  export * from "./components/dialog.js";
56
56
  export * from "./components/diff-count.js";
57
- export * from "./components/direction.js";
58
57
  export * from "./components/disclosure.js";
59
58
  export * from "./components/disclosure-row.js";
60
59
  export * from "./components/drawer.js";
61
60
  export * from "./components/dropdown-menu.js";
62
61
  export * from "./components/empty-state.js";
63
62
  export * from "./components/entry-scene.js";
64
- export * from "./components/expandable-block.js";
65
63
  export * from "./components/field.js";
66
64
  export * from "./components/file-diff.js";
67
65
  export * from "./components/file-type-icon.js";
68
66
  export * from "./components/footer.js";
69
- export * from "./components/form.js";
70
67
  export * from "./components/form-dialog.js";
71
68
  export * from "./components/form-drawer.js";
69
+ export * from "./components/gauge.js";
72
70
  export * from "./components/glass-control.js";
73
71
  export * from "./components/hive-scene.js";
74
72
  export * from "./components/house-icons.js";
@@ -81,17 +79,16 @@ export * from "./components/item.js";
81
79
  export * from "./components/kbd.js";
82
80
  export * from "./components/kpi-card.js";
83
81
  export * from "./components/label.js";
84
- export * from "./components/label-system.js";
85
82
  export * from "./components/library-shelf.js";
86
- export * from "./components/memory-item.js";
83
+ export * from "./components/load-more-button.js";
87
84
  export * from "./components/menu-choice-row.js";
88
- export * from "./components/menubar.js";
89
85
  export * from "./components/message-notice.js";
86
+ export * from "./components/middle-truncate.js";
90
87
  export * from "./components/model-identity.js";
91
88
  export * from "./components/model-mark.js";
89
+ export * from "./components/multi-select.js";
92
90
  export * from "./components/nadia-presence.js";
93
91
  export * from "./components/native-select.js";
94
- export * from "./components/navigation-menu.js";
95
92
  export * from "./components/notice-banner.js";
96
93
  export * from "./components/numbered-steps.js";
97
94
  export * from "./components/object-page.js";
@@ -99,15 +96,15 @@ export * from "./components/object-workspace.js";
99
96
  export * from "./components/overview-page.js";
100
97
  export * from "./components/page-actions.js";
101
98
  export * from "./components/page-header.js";
102
- export * from "./components/pagination.js";
103
99
  export * from "./components/pairing-code.js";
104
100
  export * from "./components/pending-label.js";
105
101
  export * from "./components/picture-label.js";
106
102
  export * from "./components/platform-mark.js";
107
- export * from "./components/plugin-slot-boundary.js";
108
103
  export * from "./components/popover.js";
109
104
  export * from "./components/portal-sidebar-frame.js";
110
105
  export * from "./components/progress.js";
106
+ export * from "./components/progress-checklist.js";
107
+ export * from "./components/prose.js";
111
108
  export * from "./components/qr-code.js";
112
109
  export * from "./components/radio-group.js";
113
110
  export * from "./components/reading-column.js";
@@ -120,6 +117,7 @@ export * from "./components/row-edit-form.js";
120
117
  export * from "./components/run-timeline.js";
121
118
  export * from "./components/scope-switcher.js";
122
119
  export * from "./components/scroll-area.js";
120
+ export * from "./components/segmented-control.js";
123
121
  export * from "./components/select.js";
124
122
  export * from "./components/separator.js";
125
123
  export * from "./components/settings-facts.js";
@@ -130,10 +128,10 @@ export * from "./components/sidebar.js";
130
128
  export * from "./components/sidebar-sections.js";
131
129
  export * from "./components/skeleton.js";
132
130
  export * from "./components/slider.js";
131
+ export * from "./components/snippet.js";
133
132
  export * from "./components/sonner.js";
134
133
  export * from "./components/status-badge.js";
135
134
  export * from "./components/status-dot.js";
136
- export * from "./components/status-row.js";
137
135
  export * from "./components/switch.js";
138
136
  export * from "./components/table.js";
139
137
  export * from "./components/table-card.js";
@@ -141,6 +139,7 @@ export * from "./components/table-value.js";
141
139
  export * from "./components/tabs.js";
142
140
  export * from "./components/tag.js";
143
141
  export * from "./components/text-link.js";
142
+ export * from "./components/text-with-copy-button.js";
144
143
  export * from "./components/textarea.js";
145
144
  export * from "./components/theme-mode-switcher.js";
146
145
  export * from "./components/toggle.js";
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../../src/internal/assistant-ui/attachment.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+C,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAqN7F,eAAO,MAAM,sBAAsB,EAAE,EAMpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,EAMjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,EAiBnC,CAAC"}
1
+ {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../../src/internal/assistant-ui/attachment.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+C,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AA2N7F,eAAO,MAAM,sBAAsB,EAAE,EAMpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,EAMjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,EAiBnC,CAAC"}
@@ -45,11 +45,11 @@ const AttachmentPreviewDialog = ({ children }) => {
45
45
  const src = useAttachmentSrc();
46
46
  if (!src)
47
47
  return children;
48
- return (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { nativeButton: false, className: "aui-attachment-preview-trigger", render: isValidElement(children) ? children : _jsx("button", { type: "button" }) }), _jsxs(DialogContent, { className: "aui-attachment-preview-dialog-content sm:max-w-3xl", children: [_jsx(DialogTitle, { className: "aui-sr-only sr-only", children: "Image Attachment Preview" }), _jsx("div", { className: "aui-attachment-preview bg-background relative mx-auto flex max-h-[80dvh] w-full items-center justify-center overflow-hidden rounded-sm", children: _jsx(AttachmentPreview, { src: src }) })] })] }));
48
+ return (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { nativeButton: false, className: "aui-attachment-preview-trigger", render: isValidElement(children) ? children : _jsx("button", { type: "button" }) }), _jsxs(DialogContent, { className: "aui-attachment-preview-dialog-content sm:max-w-3xl", closeLabel: "Close", children: [_jsx(DialogTitle, { className: "aui-sr-only sr-only", children: "Image Attachment Preview" }), _jsx("div", { className: "aui-attachment-preview bg-background relative mx-auto flex max-h-[80dvh] w-full items-center justify-center overflow-hidden rounded-sm", children: _jsx(AttachmentPreview, { src: src }) })] })] }));
49
49
  };
50
50
  const AttachmentThumb = () => {
51
51
  const src = useAttachmentSrc();
52
- return (_jsxs(Avatar, { className: "aui-attachment-tile-avatar h-full w-full rounded-none after:hidden", children: [_jsx(AvatarImage, { src: src, alt: "Attachment preview", className: "aui-attachment-tile-image object-cover" }), _jsx(AvatarFallback, { children: _jsx(FileText, { className: "aui-attachment-tile-fallback-icon text-muted-foreground/80 size-6 stroke-[1.5]" }) })] }));
52
+ return (_jsxs(Avatar, { decorative: true, className: "aui-attachment-tile-avatar h-full w-full rounded-none after:hidden", children: [_jsx(AvatarImage, { src: src, alt: "Attachment preview", className: "aui-attachment-tile-image object-cover" }), _jsx(AvatarFallback, { children: _jsx(FileText, { className: "aui-attachment-tile-fallback-icon text-muted-foreground/80 size-6 stroke-[1.5]" }) })] }));
53
53
  };
54
54
  const AttachmentUI = () => {
55
55
  const aui = useAui();