@crisp-ui-kit/crisp 0.2.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. package/README.md +20 -0
  2. package/dist/accordion.css +9 -1
  3. package/dist/appshell.css +12 -4
  4. package/dist/authshell.css +57 -0
  5. package/dist/authshell.d.ts +7 -0
  6. package/dist/avatargroup.css +2 -2
  7. package/dist/badge.css +4 -4
  8. package/dist/barchart.css +13 -5
  9. package/dist/base.css +25 -0
  10. package/dist/board.css +9 -1
  11. package/dist/bulkbar.css +11 -3
  12. package/dist/button.css +16 -2
  13. package/dist/button.d.ts +2 -1
  14. package/dist/card.css +8 -0
  15. package/dist/checkbox.css +17 -1
  16. package/dist/cjs/components/accordion/accordion.js +69 -0
  17. package/dist/cjs/components/accordion/accordion.recipe.js +26 -0
  18. package/dist/cjs/components/accordion/index.js +7 -0
  19. package/dist/cjs/components/avatar/avatar.js +44 -0
  20. package/dist/cjs/components/avatar/avatar.recipe.js +42 -0
  21. package/dist/cjs/components/avatar/index.js +7 -0
  22. package/dist/cjs/components/avatargroup/avatargroup.js +52 -0
  23. package/dist/cjs/components/avatargroup/avatargroup.recipe.js +18 -0
  24. package/dist/cjs/components/avatargroup/index.js +7 -0
  25. package/dist/cjs/components/badge/badge.js +44 -0
  26. package/dist/cjs/components/badge/badge.recipe.js +68 -0
  27. package/dist/cjs/components/badge/index.js +7 -0
  28. package/dist/cjs/components/barchart/barchart.js +45 -0
  29. package/dist/cjs/components/barchart/barchart.recipe.js +34 -0
  30. package/dist/cjs/components/barchart/index.js +7 -0
  31. package/dist/cjs/components/breadcrumb/breadcrumb.js +53 -0
  32. package/dist/cjs/components/breadcrumb/breadcrumb.recipe.js +21 -0
  33. package/dist/cjs/components/breadcrumb/index.js +7 -0
  34. package/dist/cjs/components/bulkbar/bulkbar.js +53 -0
  35. package/dist/cjs/components/bulkbar/bulkbar.recipe.js +31 -0
  36. package/dist/cjs/components/bulkbar/index.js +8 -0
  37. package/dist/cjs/components/button/button.js +62 -0
  38. package/dist/cjs/components/button/button.recipe.js +58 -0
  39. package/dist/cjs/components/button/index.js +7 -0
  40. package/dist/cjs/components/callout/callout.js +25 -0
  41. package/dist/cjs/components/callout/callout.recipe.js +29 -0
  42. package/dist/cjs/components/callout/index.js +7 -0
  43. package/dist/cjs/components/card/card.js +54 -0
  44. package/dist/cjs/components/card/card.recipe.js +31 -0
  45. package/dist/cjs/components/card/index.js +10 -0
  46. package/dist/cjs/components/checkbox/checkbox.js +56 -0
  47. package/dist/cjs/components/checkbox/checkbox.recipe.js +34 -0
  48. package/dist/cjs/components/checkbox/index.js +7 -0
  49. package/dist/cjs/components/columncalc/columncalc.js +139 -0
  50. package/dist/cjs/components/columncalc/columncalc.recipe.js +33 -0
  51. package/dist/cjs/components/columncalc/index.js +10 -0
  52. package/dist/cjs/components/contextmenu/contextmenu.js +78 -0
  53. package/dist/cjs/components/contextmenu/contextmenu.recipe.js +24 -0
  54. package/dist/cjs/components/contextmenu/index.js +7 -0
  55. package/dist/cjs/components/datatable/datatable.js +508 -0
  56. package/dist/cjs/components/datatable/datatable.recipe.js +113 -0
  57. package/dist/cjs/components/datatable/index.js +7 -0
  58. package/dist/cjs/components/datepicker/datepicker.js +153 -0
  59. package/dist/cjs/components/datepicker/datepicker.recipe.js +180 -0
  60. package/dist/cjs/components/datepicker/index.js +19 -0
  61. package/dist/cjs/components/datepickerfield/datepickerfield.js +85 -0
  62. package/dist/cjs/components/datepickerfield/datepickerfield.recipe.js +44 -0
  63. package/dist/cjs/components/datepickerfield/index.js +7 -0
  64. package/dist/cjs/components/dialog/dialog.js +86 -0
  65. package/dist/cjs/components/dialog/dialog.recipe.js +35 -0
  66. package/dist/cjs/components/dialog/index.js +9 -0
  67. package/dist/cjs/components/divider/divider.js +10 -0
  68. package/dist/cjs/components/divider/divider.recipe.js +17 -0
  69. package/dist/cjs/components/divider/index.js +7 -0
  70. package/dist/cjs/components/donutchart/donutchart.js +41 -0
  71. package/dist/cjs/components/donutchart/donutchart.recipe.js +30 -0
  72. package/dist/cjs/components/donutchart/index.js +7 -0
  73. package/dist/cjs/components/drawer/drawer.js +80 -0
  74. package/dist/cjs/components/drawer/drawer.recipe.js +30 -0
  75. package/dist/cjs/components/drawer/index.js +9 -0
  76. package/dist/cjs/components/emptystate/emptystate.js +10 -0
  77. package/dist/cjs/components/emptystate/emptystate.recipe.js +34 -0
  78. package/dist/cjs/components/emptystate/index.js +7 -0
  79. package/dist/cjs/components/formfield/formfield.js +50 -0
  80. package/dist/cjs/components/formfield/formfield.recipe.js +22 -0
  81. package/dist/cjs/components/formfield/index.js +7 -0
  82. package/dist/cjs/components/input/index.js +7 -0
  83. package/dist/cjs/components/input/input.js +47 -0
  84. package/dist/cjs/components/input/input.recipe.js +59 -0
  85. package/dist/cjs/components/kbd/index.js +7 -0
  86. package/dist/cjs/components/kbd/kbd.js +44 -0
  87. package/dist/cjs/components/kbd/kbd.recipe.js +23 -0
  88. package/dist/cjs/components/linechart/index.js +7 -0
  89. package/dist/cjs/components/linechart/linechart.js +57 -0
  90. package/dist/cjs/components/linechart/linechart.recipe.js +35 -0
  91. package/dist/cjs/components/menu/index.js +14 -0
  92. package/dist/cjs/components/menu/menu-keyboard.js +117 -0
  93. package/dist/cjs/components/menu/menu.js +144 -0
  94. package/dist/cjs/components/menu/menu.recipe.js +54 -0
  95. package/dist/cjs/components/multiselect/index.js +7 -0
  96. package/dist/cjs/components/multiselect/multiselect.js +161 -0
  97. package/dist/cjs/components/multiselect/multiselect.recipe.js +71 -0
  98. package/dist/cjs/components/popover/index.js +7 -0
  99. package/dist/cjs/components/popover/popover.js +106 -0
  100. package/dist/cjs/components/popover/popover.recipe.js +21 -0
  101. package/dist/cjs/components/progress/index.js +7 -0
  102. package/dist/cjs/components/progress/progress.js +26 -0
  103. package/dist/cjs/components/progress/progress.recipe.js +20 -0
  104. package/dist/cjs/components/radiogroup/index.js +8 -0
  105. package/dist/cjs/components/radiogroup/radiogroup.js +83 -0
  106. package/dist/cjs/components/radiogroup/radiogroup.recipe.js +40 -0
  107. package/dist/cjs/components/resizablepanel/index.js +12 -0
  108. package/dist/cjs/components/resizablepanel/resizablepanel.js +176 -0
  109. package/dist/cjs/components/resizablepanel/resizablepanel.recipe.js +69 -0
  110. package/dist/cjs/components/segmented/index.js +7 -0
  111. package/dist/cjs/components/segmented/segmented.js +95 -0
  112. package/dist/cjs/components/segmented/segmented.recipe.js +23 -0
  113. package/dist/cjs/components/select/index.js +7 -0
  114. package/dist/cjs/components/select/select.js +180 -0
  115. package/dist/cjs/components/select/select.recipe.js +79 -0
  116. package/dist/cjs/components/skeleton/index.js +7 -0
  117. package/dist/cjs/components/skeleton/skeleton.js +13 -0
  118. package/dist/cjs/components/skeleton/skeleton.recipe.js +17 -0
  119. package/dist/cjs/components/spinner/index.js +7 -0
  120. package/dist/cjs/components/spinner/spinner.js +15 -0
  121. package/dist/cjs/components/spinner/spinner.recipe.js +16 -0
  122. package/dist/cjs/components/stagebar/index.js +7 -0
  123. package/dist/cjs/components/stagebar/stagebar.js +26 -0
  124. package/dist/cjs/components/stagebar/stagebar.recipe.js +17 -0
  125. package/dist/cjs/components/statcard/index.js +7 -0
  126. package/dist/cjs/components/statcard/statcard.js +15 -0
  127. package/dist/cjs/components/statcard/statcard.recipe.js +37 -0
  128. package/dist/cjs/components/switch/index.js +7 -0
  129. package/dist/cjs/components/switch/switch.js +58 -0
  130. package/dist/cjs/components/switch/switch.recipe.js +29 -0
  131. package/dist/cjs/components/table/index.js +14 -0
  132. package/dist/cjs/components/table/table.js +66 -0
  133. package/dist/cjs/components/table/table.recipe.js +43 -0
  134. package/dist/cjs/components/tabletoolbar/index.js +20 -0
  135. package/dist/cjs/components/tabletoolbar/tabletoolbar.chrome.js +84 -0
  136. package/dist/cjs/components/tabletoolbar/tabletoolbar.js +237 -0
  137. package/dist/cjs/components/tabletoolbar/tabletoolbar.recipe.js +26 -0
  138. package/dist/cjs/components/tabs/index.js +7 -0
  139. package/dist/cjs/components/tabs/tabs.js +106 -0
  140. package/dist/cjs/components/tabs/tabs.recipe.js +36 -0
  141. package/dist/cjs/components/textarea/index.js +7 -0
  142. package/dist/cjs/components/textarea/textarea.js +56 -0
  143. package/dist/cjs/components/textarea/textarea.recipe.js +46 -0
  144. package/dist/cjs/components/toast/index.js +8 -0
  145. package/dist/cjs/components/toast/toast.js +95 -0
  146. package/dist/cjs/components/toast/toast.recipe.js +31 -0
  147. package/dist/cjs/components/tooltip/index.js +7 -0
  148. package/dist/cjs/components/tooltip/tooltip.js +95 -0
  149. package/dist/cjs/components/tooltip/tooltip.recipe.js +16 -0
  150. package/dist/cjs/components/wheelpicker/index.js +7 -0
  151. package/dist/cjs/components/wheelpicker/wheelpicker.js +134 -0
  152. package/dist/cjs/components/wheelpicker/wheelpicker.recipe.js +95 -0
  153. package/dist/cjs/core/cx.js +8 -0
  154. package/dist/cjs/core/define.js +6 -0
  155. package/dist/cjs/core/index.js +11 -0
  156. package/dist/cjs/core/primitive.js +49 -0
  157. package/dist/cjs/core/resolve.js +44 -0
  158. package/dist/cjs/core/types.js +2 -0
  159. package/dist/cjs/index.js +92 -0
  160. package/dist/cjs/package.json +3 -0
  161. package/dist/cjs/product/appshell/appshell.js +104 -0
  162. package/dist/cjs/product/appshell/appshell.recipe.js +30 -0
  163. package/dist/cjs/product/appshell/index.js +7 -0
  164. package/dist/cjs/product/authshell/authshell.js +21 -0
  165. package/dist/cjs/product/authshell/authshell.recipe.js +67 -0
  166. package/dist/cjs/product/authshell/index.js +7 -0
  167. package/dist/cjs/product/board/board.js +78 -0
  168. package/dist/cjs/product/board/board.recipe.js +31 -0
  169. package/dist/cjs/product/board/index.js +7 -0
  170. package/dist/cjs/product/command/command.js +238 -0
  171. package/dist/cjs/product/command/command.recipe.js +47 -0
  172. package/dist/cjs/product/command/index.js +8 -0
  173. package/dist/cjs/product/entitycard/entitycard.js +14 -0
  174. package/dist/cjs/product/entitycard/entitycard.recipe.js +32 -0
  175. package/dist/cjs/product/entitycard/index.js +7 -0
  176. package/dist/cjs/product/flowcanvas/flowcanvas.js +121 -0
  177. package/dist/cjs/product/flowcanvas/flowcanvas.recipe.js +28 -0
  178. package/dist/cjs/product/flowcanvas/index.js +7 -0
  179. package/dist/cjs/product/inbox/inbox.js +16 -0
  180. package/dist/cjs/product/inbox/inbox.recipe.js +46 -0
  181. package/dist/cjs/product/inbox/index.js +7 -0
  182. package/dist/cjs/product/listpage/index.js +8 -0
  183. package/dist/cjs/product/listpage/listpage.js +25 -0
  184. package/dist/cjs/product/listpage/listpage.recipe.js +46 -0
  185. package/dist/cjs/product/navitem/index.js +5 -0
  186. package/dist/cjs/product/navitem/navitem.js +44 -0
  187. package/dist/cjs/product/navitem/navitem.recipe.js +36 -0
  188. package/dist/cjs/product/onboarding/index.js +7 -0
  189. package/dist/cjs/product/onboarding/onboarding.js +17 -0
  190. package/dist/cjs/product/onboarding/onboarding.recipe.js +44 -0
  191. package/dist/cjs/product/recordpage/index.js +7 -0
  192. package/dist/cjs/product/recordpage/recordpage.js +409 -0
  193. package/dist/cjs/product/recordpage/recordpage.recipe.js +162 -0
  194. package/dist/cjs/product/recordpanel/index.js +7 -0
  195. package/dist/cjs/product/recordpanel/recordpanel.js +83 -0
  196. package/dist/cjs/product/recordpanel/recordpanel.recipe.js +51 -0
  197. package/dist/cjs/product/recordstable/company-logos.js +29 -0
  198. package/dist/cjs/product/recordstable/index.js +10 -0
  199. package/dist/cjs/product/recordstable/recordstable.js +1092 -0
  200. package/dist/cjs/product/recordstable/recordstable.recipe.js +152 -0
  201. package/dist/cjs/product/recordstable/recordstable.tag.js +21 -0
  202. package/dist/cjs/product/richtext/index.js +7 -0
  203. package/dist/cjs/product/richtext/richtext.js +147 -0
  204. package/dist/cjs/product/richtext/richtext.recipe.js +43 -0
  205. package/dist/cjs/product/settingssection/index.js +7 -0
  206. package/dist/cjs/product/settingssection/settingssection.js +14 -0
  207. package/dist/cjs/product/settingssection/settingssection.recipe.js +23 -0
  208. package/dist/cjs/product/settingsshell/index.js +7 -0
  209. package/dist/cjs/product/settingsshell/settingsshell.js +59 -0
  210. package/dist/cjs/product/settingsshell/settingsshell.recipe.js +46 -0
  211. package/dist/cjs/product/sidebar/index.js +13 -0
  212. package/dist/cjs/product/sidebar/sidebar.js +148 -0
  213. package/dist/cjs/product/sidebar/sidebar.recipe.js +46 -0
  214. package/dist/cjs/product/tasklist/index.js +7 -0
  215. package/dist/cjs/product/tasklist/tasklist.js +19 -0
  216. package/dist/cjs/product/tasklist/tasklist.recipe.js +38 -0
  217. package/dist/cjs/product/trialbanner/index.js +7 -0
  218. package/dist/cjs/product/trialbanner/trialbanner.js +13 -0
  219. package/dist/cjs/product/trialbanner/trialbanner.recipe.js +32 -0
  220. package/dist/cjs/product/viewtoggle/index.js +7 -0
  221. package/dist/cjs/product/viewtoggle/viewtoggle.js +55 -0
  222. package/dist/cjs/product/viewtoggle/viewtoggle.recipe.js +27 -0
  223. package/dist/cjs/tokens/contract.js +21 -0
  224. package/dist/cjs/tokens/elevation.js +47 -0
  225. package/dist/cjs/tokens/index.js +18 -0
  226. package/dist/cjs/tokens/palette.js +63 -0
  227. package/dist/cjs/tokens/scale.js +70 -0
  228. package/dist/cjs/tokens/semantic.js +57 -0
  229. package/dist/columncalc.css +26 -0
  230. package/dist/columncalc.d.ts +7 -0
  231. package/dist/command.css +34 -1
  232. package/dist/contextmenu.css +11 -3
  233. package/dist/datatable.css +106 -0
  234. package/dist/datatable.d.ts +7 -0
  235. package/dist/datepicker.css +165 -19
  236. package/dist/datepicker.d.ts +2 -2
  237. package/dist/datepickerfield.css +27 -0
  238. package/dist/datepickerfield.d.ts +7 -0
  239. package/dist/dialog.css +11 -3
  240. package/dist/donutchart.css +8 -0
  241. package/dist/drawer.css +13 -5
  242. package/dist/entitycard.css +10 -2
  243. package/dist/esm/components/accordion/accordion.js +33 -0
  244. package/dist/esm/components/accordion/accordion.recipe.js +23 -0
  245. package/dist/esm/components/accordion/index.js +2 -0
  246. package/dist/esm/components/avatar/avatar.js +8 -0
  247. package/dist/esm/components/avatar/avatar.recipe.js +39 -0
  248. package/dist/esm/components/avatar/index.js +2 -0
  249. package/dist/esm/components/avatargroup/avatargroup.js +16 -0
  250. package/dist/esm/components/avatargroup/avatargroup.recipe.js +15 -0
  251. package/dist/esm/components/avatargroup/index.js +2 -0
  252. package/dist/esm/components/badge/badge.js +8 -0
  253. package/dist/esm/components/badge/badge.recipe.js +65 -0
  254. package/dist/esm/components/badge/index.js +2 -0
  255. package/dist/esm/components/barchart/barchart.js +42 -0
  256. package/dist/esm/components/barchart/barchart.recipe.js +31 -0
  257. package/dist/esm/components/barchart/index.js +2 -0
  258. package/dist/esm/components/breadcrumb/breadcrumb.js +17 -0
  259. package/dist/esm/components/breadcrumb/breadcrumb.recipe.js +18 -0
  260. package/dist/esm/components/breadcrumb/index.js +2 -0
  261. package/dist/esm/components/bulkbar/bulkbar.js +16 -0
  262. package/dist/esm/components/bulkbar/bulkbar.recipe.js +28 -0
  263. package/dist/esm/components/bulkbar/index.js +2 -0
  264. package/dist/esm/components/button/button.js +26 -0
  265. package/dist/esm/components/button/button.recipe.js +55 -0
  266. package/dist/esm/components/button/index.js +2 -0
  267. package/dist/esm/components/callout/callout.js +22 -0
  268. package/dist/esm/components/callout/callout.recipe.js +26 -0
  269. package/dist/esm/components/callout/index.js +2 -0
  270. package/dist/esm/components/card/card.js +15 -0
  271. package/dist/esm/components/card/card.recipe.js +28 -0
  272. package/dist/esm/components/card/index.js +2 -0
  273. package/dist/esm/components/checkbox/checkbox.js +20 -0
  274. package/dist/esm/components/checkbox/checkbox.recipe.js +31 -0
  275. package/dist/esm/components/checkbox/index.js +2 -0
  276. package/dist/esm/components/columncalc/columncalc.js +100 -0
  277. package/dist/esm/components/columncalc/columncalc.recipe.js +30 -0
  278. package/dist/esm/components/columncalc/index.js +1 -0
  279. package/dist/esm/components/contextmenu/contextmenu.js +42 -0
  280. package/dist/esm/components/contextmenu/contextmenu.recipe.js +21 -0
  281. package/dist/esm/components/contextmenu/index.js +2 -0
  282. package/dist/esm/components/datatable/datatable.js +472 -0
  283. package/dist/esm/components/datatable/datatable.recipe.js +110 -0
  284. package/dist/esm/components/datatable/index.js +2 -0
  285. package/dist/esm/components/datepicker/datepicker.js +108 -0
  286. package/dist/esm/components/datepicker/datepicker.recipe.js +177 -0
  287. package/dist/esm/components/datepicker/index.js +2 -0
  288. package/dist/esm/components/datepickerfield/datepickerfield.js +49 -0
  289. package/dist/esm/components/datepickerfield/datepickerfield.recipe.js +41 -0
  290. package/dist/esm/components/datepickerfield/index.js +2 -0
  291. package/dist/esm/components/dialog/dialog.js +48 -0
  292. package/dist/esm/components/dialog/dialog.recipe.js +32 -0
  293. package/dist/esm/components/dialog/index.js +2 -0
  294. package/dist/esm/components/divider/divider.js +7 -0
  295. package/dist/esm/components/divider/divider.recipe.js +14 -0
  296. package/dist/esm/components/divider/index.js +2 -0
  297. package/dist/esm/components/donutchart/donutchart.js +38 -0
  298. package/dist/esm/components/donutchart/donutchart.recipe.js +27 -0
  299. package/dist/esm/components/donutchart/index.js +2 -0
  300. package/dist/esm/components/drawer/drawer.js +42 -0
  301. package/dist/esm/components/drawer/drawer.recipe.js +27 -0
  302. package/dist/esm/components/drawer/index.js +2 -0
  303. package/dist/esm/components/emptystate/emptystate.js +7 -0
  304. package/dist/esm/components/emptystate/emptystate.recipe.js +31 -0
  305. package/dist/esm/components/emptystate/index.js +2 -0
  306. package/dist/esm/components/formfield/formfield.js +14 -0
  307. package/dist/esm/components/formfield/formfield.recipe.js +19 -0
  308. package/dist/esm/components/formfield/index.js +2 -0
  309. package/dist/esm/components/input/index.js +2 -0
  310. package/dist/esm/components/input/input.js +11 -0
  311. package/dist/esm/components/input/input.recipe.js +56 -0
  312. package/dist/esm/components/kbd/index.js +2 -0
  313. package/dist/esm/components/kbd/kbd.js +8 -0
  314. package/dist/esm/components/kbd/kbd.recipe.js +20 -0
  315. package/dist/esm/components/linechart/index.js +2 -0
  316. package/dist/esm/components/linechart/linechart.js +54 -0
  317. package/dist/esm/components/linechart/linechart.recipe.js +32 -0
  318. package/dist/esm/components/menu/index.js +3 -0
  319. package/dist/esm/components/menu/menu-keyboard.js +80 -0
  320. package/dist/esm/components/menu/menu.js +104 -0
  321. package/dist/esm/components/menu/menu.recipe.js +51 -0
  322. package/dist/esm/components/multiselect/index.js +2 -0
  323. package/dist/esm/components/multiselect/multiselect.js +125 -0
  324. package/dist/esm/components/multiselect/multiselect.recipe.js +68 -0
  325. package/dist/esm/components/popover/index.js +2 -0
  326. package/dist/esm/components/popover/popover.js +70 -0
  327. package/dist/esm/components/popover/popover.recipe.js +18 -0
  328. package/dist/esm/components/progress/index.js +2 -0
  329. package/dist/esm/components/progress/progress.js +23 -0
  330. package/dist/esm/components/progress/progress.recipe.js +17 -0
  331. package/dist/esm/components/radiogroup/index.js +2 -0
  332. package/dist/esm/components/radiogroup/radiogroup.js +46 -0
  333. package/dist/esm/components/radiogroup/radiogroup.recipe.js +37 -0
  334. package/dist/esm/components/resizablepanel/index.js +2 -0
  335. package/dist/esm/components/resizablepanel/resizablepanel.js +135 -0
  336. package/dist/esm/components/resizablepanel/resizablepanel.recipe.js +66 -0
  337. package/dist/esm/components/segmented/index.js +2 -0
  338. package/dist/esm/components/segmented/segmented.js +59 -0
  339. package/dist/esm/components/segmented/segmented.recipe.js +20 -0
  340. package/dist/esm/components/select/index.js +2 -0
  341. package/dist/esm/components/select/select.js +144 -0
  342. package/dist/esm/components/select/select.recipe.js +76 -0
  343. package/dist/esm/components/skeleton/index.js +2 -0
  344. package/dist/esm/components/skeleton/skeleton.js +10 -0
  345. package/dist/esm/components/skeleton/skeleton.recipe.js +14 -0
  346. package/dist/esm/components/spinner/index.js +2 -0
  347. package/dist/esm/components/spinner/spinner.js +12 -0
  348. package/dist/esm/components/spinner/spinner.recipe.js +13 -0
  349. package/dist/esm/components/stagebar/index.js +2 -0
  350. package/dist/esm/components/stagebar/stagebar.js +23 -0
  351. package/dist/esm/components/stagebar/stagebar.recipe.js +14 -0
  352. package/dist/esm/components/statcard/index.js +2 -0
  353. package/dist/esm/components/statcard/statcard.js +12 -0
  354. package/dist/esm/components/statcard/statcard.recipe.js +34 -0
  355. package/dist/esm/components/switch/index.js +2 -0
  356. package/dist/esm/components/switch/switch.js +22 -0
  357. package/dist/esm/components/switch/switch.recipe.js +26 -0
  358. package/dist/esm/components/table/index.js +2 -0
  359. package/dist/esm/components/table/table.js +30 -0
  360. package/dist/esm/components/table/table.recipe.js +40 -0
  361. package/dist/esm/components/tabletoolbar/index.js +2 -0
  362. package/dist/esm/components/tabletoolbar/tabletoolbar.chrome.js +79 -0
  363. package/dist/esm/components/tabletoolbar/tabletoolbar.js +199 -0
  364. package/dist/esm/components/tabletoolbar/tabletoolbar.recipe.js +23 -0
  365. package/dist/esm/components/tabs/index.js +2 -0
  366. package/dist/esm/components/tabs/tabs.js +70 -0
  367. package/dist/esm/components/tabs/tabs.recipe.js +33 -0
  368. package/dist/esm/components/textarea/index.js +2 -0
  369. package/dist/esm/components/textarea/textarea.js +20 -0
  370. package/dist/esm/components/textarea/textarea.recipe.js +43 -0
  371. package/dist/esm/components/toast/index.js +2 -0
  372. package/dist/esm/components/toast/toast.js +58 -0
  373. package/dist/esm/components/toast/toast.recipe.js +28 -0
  374. package/dist/esm/components/tooltip/index.js +2 -0
  375. package/dist/esm/components/tooltip/tooltip.js +59 -0
  376. package/dist/esm/components/tooltip/tooltip.recipe.js +13 -0
  377. package/dist/esm/components/wheelpicker/index.js +2 -0
  378. package/dist/esm/components/wheelpicker/wheelpicker.js +98 -0
  379. package/dist/esm/components/wheelpicker/wheelpicker.recipe.js +92 -0
  380. package/dist/esm/core/cx.js +1 -0
  381. package/dist/esm/core/define.js +3 -0
  382. package/dist/esm/core/index.js +4 -0
  383. package/dist/esm/core/primitive.js +13 -0
  384. package/dist/esm/core/resolve.js +41 -0
  385. package/dist/esm/core/types.js +1 -0
  386. package/dist/esm/index.js +76 -0
  387. package/dist/esm/product/appshell/appshell.js +68 -0
  388. package/dist/esm/product/appshell/appshell.recipe.js +27 -0
  389. package/dist/esm/product/appshell/index.js +2 -0
  390. package/dist/esm/product/authshell/authshell.js +18 -0
  391. package/dist/esm/product/authshell/authshell.recipe.js +64 -0
  392. package/dist/esm/product/authshell/index.js +2 -0
  393. package/dist/esm/product/board/board.js +42 -0
  394. package/dist/esm/product/board/board.recipe.js +28 -0
  395. package/dist/esm/product/board/index.js +2 -0
  396. package/dist/esm/product/command/command.js +201 -0
  397. package/dist/esm/product/command/command.recipe.js +44 -0
  398. package/dist/esm/product/command/index.js +2 -0
  399. package/dist/esm/product/entitycard/entitycard.js +11 -0
  400. package/dist/esm/product/entitycard/entitycard.recipe.js +29 -0
  401. package/dist/esm/product/entitycard/index.js +2 -0
  402. package/dist/esm/product/flowcanvas/flowcanvas.js +85 -0
  403. package/dist/esm/product/flowcanvas/flowcanvas.recipe.js +25 -0
  404. package/dist/esm/product/flowcanvas/index.js +2 -0
  405. package/dist/esm/product/inbox/inbox.js +13 -0
  406. package/dist/esm/product/inbox/inbox.recipe.js +43 -0
  407. package/dist/esm/product/inbox/index.js +2 -0
  408. package/dist/esm/product/listpage/index.js +2 -0
  409. package/dist/esm/product/listpage/listpage.js +21 -0
  410. package/dist/esm/product/listpage/listpage.recipe.js +43 -0
  411. package/dist/esm/product/navitem/index.js +1 -0
  412. package/dist/esm/product/navitem/navitem.js +8 -0
  413. package/dist/esm/product/navitem/navitem.recipe.js +33 -0
  414. package/dist/esm/product/onboarding/index.js +2 -0
  415. package/dist/esm/product/onboarding/onboarding.js +14 -0
  416. package/dist/esm/product/onboarding/onboarding.recipe.js +41 -0
  417. package/dist/esm/product/recordpage/index.js +2 -0
  418. package/dist/esm/product/recordpage/recordpage.js +372 -0
  419. package/dist/esm/product/recordpage/recordpage.recipe.js +159 -0
  420. package/dist/esm/product/recordpanel/index.js +2 -0
  421. package/dist/esm/product/recordpanel/recordpanel.js +47 -0
  422. package/dist/esm/product/recordpanel/recordpanel.recipe.js +48 -0
  423. package/dist/esm/product/recordstable/company-logos.js +26 -0
  424. package/dist/esm/product/recordstable/index.js +2 -0
  425. package/dist/esm/product/recordstable/recordstable.js +1054 -0
  426. package/dist/esm/product/recordstable/recordstable.recipe.js +149 -0
  427. package/dist/esm/product/recordstable/recordstable.tag.js +18 -0
  428. package/dist/esm/product/richtext/index.js +2 -0
  429. package/dist/esm/product/richtext/richtext.js +111 -0
  430. package/dist/esm/product/richtext/richtext.recipe.js +40 -0
  431. package/dist/esm/product/settingssection/index.js +2 -0
  432. package/dist/esm/product/settingssection/settingssection.js +11 -0
  433. package/dist/esm/product/settingssection/settingssection.recipe.js +20 -0
  434. package/dist/esm/product/settingsshell/index.js +2 -0
  435. package/dist/esm/product/settingsshell/settingsshell.js +23 -0
  436. package/dist/esm/product/settingsshell/settingsshell.recipe.js +43 -0
  437. package/dist/esm/product/sidebar/index.js +2 -0
  438. package/dist/esm/product/sidebar/sidebar.js +112 -0
  439. package/dist/esm/product/sidebar/sidebar.recipe.js +43 -0
  440. package/dist/esm/product/tasklist/index.js +2 -0
  441. package/dist/esm/product/tasklist/tasklist.js +16 -0
  442. package/dist/esm/product/tasklist/tasklist.recipe.js +35 -0
  443. package/dist/esm/product/trialbanner/index.js +2 -0
  444. package/dist/esm/product/trialbanner/trialbanner.js +10 -0
  445. package/dist/esm/product/trialbanner/trialbanner.recipe.js +29 -0
  446. package/dist/esm/product/viewtoggle/index.js +2 -0
  447. package/dist/esm/product/viewtoggle/viewtoggle.js +19 -0
  448. package/dist/esm/product/viewtoggle/viewtoggle.recipe.js +24 -0
  449. package/dist/esm/tokens/contract.js +18 -0
  450. package/dist/esm/tokens/elevation.js +44 -0
  451. package/dist/esm/tokens/index.js +5 -0
  452. package/dist/esm/tokens/palette.js +60 -0
  453. package/dist/esm/tokens/scale.js +67 -0
  454. package/dist/esm/tokens/semantic.js +54 -0
  455. package/dist/inbox.css +9 -1
  456. package/dist/input.css +32 -4
  457. package/dist/linechart.css +5 -5
  458. package/dist/listpage.css +11 -3
  459. package/dist/menu.css +13 -5
  460. package/dist/multiselect.css +17 -9
  461. package/dist/native/tokens.d.ts +16 -0
  462. package/dist/native/tokens.js +221 -0
  463. package/dist/navitem.css +21 -1
  464. package/dist/onboarding.css +10 -2
  465. package/dist/popover.css +9 -1
  466. package/dist/progress.css +8 -0
  467. package/dist/radiogroup.css +9 -1
  468. package/dist/recordpage.css +26 -16
  469. package/dist/recordpanel.css +25 -15
  470. package/dist/recordstable.css +41 -27
  471. package/dist/resizablepanel.css +53 -0
  472. package/dist/resizablepanel.d.ts +7 -0
  473. package/dist/richtext.css +11 -3
  474. package/dist/segmented.css +8 -0
  475. package/dist/select.css +22 -8
  476. package/dist/select.d.ts +2 -1
  477. package/dist/settingsshell.css +15 -2
  478. package/dist/sidebar.css +34 -1
  479. package/dist/skeleton.css +8 -0
  480. package/dist/spinner.css +8 -0
  481. package/dist/stagebar.css +8 -0
  482. package/dist/statcard.css +6 -0
  483. package/dist/statcard.d.ts +2 -2
  484. package/dist/styles.css +2134 -999
  485. package/dist/switch.css +8 -0
  486. package/dist/table.css +34 -0
  487. package/dist/table.d.ts +8 -0
  488. package/dist/tabletoolbar.css +78 -0
  489. package/dist/tabletoolbar.d.ts +7 -0
  490. package/dist/tabs.css +12 -4
  491. package/dist/tasklist.css +8 -0
  492. package/dist/textarea.css +23 -3
  493. package/dist/toast.css +10 -2
  494. package/dist/tokens.css +53 -0
  495. package/dist/tokens.json +217 -0
  496. package/dist/tooltip.css +8 -0
  497. package/dist/trialbanner.css +8 -0
  498. package/dist/types/components/accordion/accordion.d.ts +10 -8
  499. package/dist/types/components/avatargroup/avatargroup.d.ts +2 -2
  500. package/dist/types/components/barchart/barchart.d.ts +4 -2
  501. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  502. package/dist/types/components/bulkbar/bulkbar.d.ts +4 -2
  503. package/dist/types/components/button/button.d.ts +8 -0
  504. package/dist/types/components/button/button.recipe.d.ts +12 -0
  505. package/dist/types/components/callout/callout.d.ts +2 -2
  506. package/dist/types/components/columncalc/columncalc.d.ts +49 -0
  507. package/dist/types/components/columncalc/columncalc.recipe.d.ts +3 -0
  508. package/dist/types/components/columncalc/index.d.ts +1 -0
  509. package/dist/types/components/datatable/datatable.d.ts +153 -0
  510. package/dist/types/components/datatable/datatable.recipe.d.ts +3 -0
  511. package/dist/types/components/datatable/index.d.ts +2 -0
  512. package/dist/types/components/datepicker/datepicker.d.ts +41 -18
  513. package/dist/types/components/datepicker/datepicker.recipe.d.ts +25 -2
  514. package/dist/types/components/datepicker/index.d.ts +1 -1
  515. package/dist/types/components/datepickerfield/datepickerfield.d.ts +35 -0
  516. package/dist/types/components/datepickerfield/datepickerfield.recipe.d.ts +5 -0
  517. package/dist/types/components/datepickerfield/index.d.ts +2 -0
  518. package/dist/types/components/dialog/dialog.d.ts +3 -1
  519. package/dist/types/components/divider/divider.d.ts +2 -2
  520. package/dist/types/components/donutchart/donutchart.d.ts +2 -2
  521. package/dist/types/components/drawer/drawer.d.ts +3 -1
  522. package/dist/types/components/emptystate/emptystate.d.ts +2 -2
  523. package/dist/types/components/formfield/formfield.d.ts +7 -4
  524. package/dist/types/components/input/input.d.ts +8 -2
  525. package/dist/types/components/linechart/linechart.d.ts +4 -2
  526. package/dist/types/components/menu/index.d.ts +1 -0
  527. package/dist/types/components/menu/menu-keyboard.d.ts +33 -0
  528. package/dist/types/components/menu/menu.d.ts +7 -1
  529. package/dist/types/components/multiselect/multiselect.d.ts +8 -4
  530. package/dist/types/components/popover/popover.d.ts +4 -1
  531. package/dist/types/components/progress/progress.d.ts +2 -2
  532. package/dist/types/components/radiogroup/radiogroup.d.ts +2 -2
  533. package/dist/types/components/resizablepanel/index.d.ts +2 -0
  534. package/dist/types/components/resizablepanel/resizablepanel.d.ts +75 -0
  535. package/dist/types/components/resizablepanel/resizablepanel.recipe.d.ts +3 -0
  536. package/dist/types/components/segmented/segmented.d.ts +2 -2
  537. package/dist/types/components/select/select.d.ts +4 -2
  538. package/dist/types/components/select/select.recipe.d.ts +12 -0
  539. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  540. package/dist/types/components/spinner/spinner.d.ts +2 -2
  541. package/dist/types/components/stagebar/stagebar.d.ts +2 -2
  542. package/dist/types/components/statcard/statcard.d.ts +7 -2
  543. package/dist/types/components/statcard/statcard.recipe.d.ts +12 -2
  544. package/dist/types/components/table/index.d.ts +2 -0
  545. package/dist/types/components/table/table.d.ts +53 -0
  546. package/dist/types/components/table/table.recipe.d.ts +21 -0
  547. package/dist/types/components/tabletoolbar/index.d.ts +2 -0
  548. package/dist/types/components/tabletoolbar/tabletoolbar.chrome.d.ts +2 -0
  549. package/dist/types/components/tabletoolbar/tabletoolbar.d.ts +89 -0
  550. package/dist/types/components/tabletoolbar/tabletoolbar.recipe.d.ts +3 -0
  551. package/dist/types/components/tabs/tabs.d.ts +2 -2
  552. package/dist/types/components/toast/toast.d.ts +7 -1
  553. package/dist/types/components/tooltip/tooltip.d.ts +8 -1
  554. package/dist/types/components/wheelpicker/index.d.ts +2 -0
  555. package/dist/types/components/wheelpicker/wheelpicker.d.ts +37 -0
  556. package/dist/types/components/wheelpicker/wheelpicker.recipe.d.ts +26 -0
  557. package/dist/types/index.d.ts +8 -0
  558. package/dist/types/product/appshell/appshell.d.ts +16 -2
  559. package/dist/types/product/authshell/authshell.d.ts +28 -0
  560. package/dist/types/product/authshell/authshell.recipe.d.ts +3 -0
  561. package/dist/types/product/authshell/index.d.ts +2 -0
  562. package/dist/types/product/board/board.d.ts +2 -2
  563. package/dist/types/product/command/command.d.ts +25 -1
  564. package/dist/types/product/entitycard/entitycard.d.ts +2 -2
  565. package/dist/types/product/flowcanvas/flowcanvas.d.ts +9 -1
  566. package/dist/types/product/onboarding/onboarding.d.ts +7 -1
  567. package/dist/types/product/recordpage/recordpage.d.ts +65 -1
  568. package/dist/types/product/recordpanel/recordpanel.d.ts +8 -2
  569. package/dist/types/product/recordstable/company-logos.d.ts +1 -0
  570. package/dist/types/product/recordstable/recordstable.d.ts +131 -1
  571. package/dist/types/product/recordstable/recordstable.tag.d.ts +10 -0
  572. package/dist/types/product/richtext/richtext.d.ts +5 -1
  573. package/dist/types/product/settingssection/settingssection.d.ts +2 -2
  574. package/dist/types/product/settingsshell/settingsshell.d.ts +6 -2
  575. package/dist/types/product/sidebar/index.d.ts +1 -1
  576. package/dist/types/product/sidebar/sidebar.d.ts +93 -0
  577. package/dist/types/product/tasklist/tasklist.d.ts +5 -1
  578. package/dist/types/product/trialbanner/trialbanner.d.ts +2 -2
  579. package/dist/types/product/viewtoggle/viewtoggle.d.ts +11 -5
  580. package/dist/types/tokens/contract.d.ts +26 -3
  581. package/dist/types/tokens/elevation.d.ts +44 -0
  582. package/dist/types/tokens/index.d.ts +1 -0
  583. package/dist/types/tokens/palette.d.ts +88 -0
  584. package/dist/types/tokens/scale.d.ts +7 -0
  585. package/dist/types/tokens/semantic.d.ts +31 -0
  586. package/dist/viewtoggle.css +11 -3
  587. package/dist/wheelpicker.css +68 -0
  588. package/dist/wheelpicker.d.ts +7 -0
  589. package/package.json +351 -9
  590. package/dist/index.js +0 -9690
@@ -1,7 +1,10 @@
1
1
  import * as React from "react";
2
2
  import type { VariantProps } from "../../core";
3
3
  import { inputRecipe } from "./input.recipe";
4
- export type InputProps = Omit<React.ComponentPropsWithoutRef<"input">, "size"> & VariantProps<typeof inputRecipe>;
4
+ export type InputProps = Omit<React.ComponentPropsWithoutRef<"input">, "size"> & VariantProps<typeof inputRecipe> & {
5
+ /** Class for the wrapper that draws the field chrome and focus ring. */
6
+ className?: string;
7
+ };
5
8
  export declare const Input: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size"> & VariantProps<import("../..").RecipeFn<{
6
9
  size: {
7
10
  medium: string;
@@ -29,4 +32,7 @@ export declare const Input: React.ForwardRefExoticComponent<Omit<Omit<React.Deta
29
32
  fontSize: string;
30
33
  };
31
34
  };
32
- }> & React.RefAttributes<HTMLInputElement>>;
35
+ }> & {
36
+ /** Class for the wrapper that draws the field chrome and focus ring. */
37
+ className?: string;
38
+ } & React.RefAttributes<HTMLInputElement>>;
@@ -3,7 +3,7 @@ export type LinePoint = {
3
3
  label: string;
4
4
  value: number;
5
5
  };
6
- export type LineChartProps = {
6
+ export type LineChartProps = Omit<React.ComponentPropsWithoutRef<"div">, "color"> & {
7
7
  data: LinePoint[];
8
8
  /** Overall height in px (default 240). */
9
9
  height?: number;
@@ -19,6 +19,8 @@ export type LineChartProps = {
19
19
  dots?: boolean;
20
20
  /** Formats axis ticks and point values. */
21
21
  format?: (n: number) => string;
22
+ /** Pins the value-axis gutter width in px, overriding the width auto-derived from the longest tick label. */
23
+ yAxisWidth?: number;
22
24
  /** Category-axis title, shown centred below the labels. */
23
25
  xAxisTitle?: React.ReactNode;
24
26
  "aria-label"?: string;
@@ -29,7 +31,7 @@ export type LineChartProps = {
29
31
  * A stretched SVG line/area (non-scaling stroke keeps it crisp) over dashed
30
32
  * gridlines; dots are HTML so they stay round. `role="img"` with a summary.
31
33
  */
32
- export declare function LineChart({ data, height, max, ticks, color, area, dots, format, xAxisTitle, "aria-label": ariaLabel, className, }: LineChartProps): React.JSX.Element;
34
+ export declare function LineChart({ data, height, max, ticks, color, area, dots, format, yAxisWidth, xAxisTitle, "aria-label": ariaLabel, className, ...rest }: LineChartProps): React.JSX.Element;
33
35
  export declare namespace LineChart {
34
36
  var displayName: string;
35
37
  }
@@ -1,2 +1,3 @@
1
1
  export { Menu, MenuCheckboxItem, type MenuCheckboxItemProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, } from "./menu";
2
2
  export { menuRecipe } from "./menu.recipe";
3
+ export { MENU_ITEM_SELECTOR, type UseMenuKeyboardOptions, useMenuKeyboard, } from "./menu-keyboard";
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ /**
3
+ * The elements a `role="menu"` may own, minus the disabled ones. Kept here so
4
+ * every menu surface in crisp agrees on what counts as an item.
5
+ */
6
+ export declare const MENU_ITEM_SELECTOR: string;
7
+ export type UseMenuKeyboardOptions = {
8
+ /** Whether the menu surface is currently rendered. */
9
+ open: boolean;
10
+ /** Close it. Callers that have a trigger should restore focus to it here. */
11
+ close: () => void;
12
+ /**
13
+ * Close it WITHOUT moving focus, for Tab — the browser is already taking
14
+ * focus somewhere else, and yanking it back to the trigger first would send
15
+ * the user to the wrong place.
16
+ */
17
+ dismiss?: () => void;
18
+ /** The element carrying `role="menu"`. */
19
+ contentRef: React.RefObject<HTMLElement | null>;
20
+ };
21
+ /**
22
+ * The WAI-ARIA menu keyboard model: focus the first item on open, ↑/↓ to move
23
+ * (wrapping), Home/End to jump, printable characters for typeahead, Esc to
24
+ * close, Tab to dismiss. Returns the `onKeyDown` to put on the menu element.
25
+ *
26
+ * Extracted from `Menu` so the table surfaces, which build their own popovers
27
+ * against measured positions, get the identical model instead of a second
28
+ * partial one.
29
+ */
30
+ export declare function useMenuKeyboard({ open, close, dismiss, contentRef, }: UseMenuKeyboardOptions): {
31
+ onKeyDown: (e: React.KeyboardEvent) => void;
32
+ items: () => HTMLElement[];
33
+ };
@@ -5,6 +5,12 @@ export type MenuProps = {
5
5
  children: React.ReactNode;
6
6
  /** Align the menu to the start (left) or end (right) of the trigger. */
7
7
  align?: "start" | "end";
8
+ /** Controlled open state. Omit to let Menu manage it (see defaultOpen). */
9
+ open?: boolean;
10
+ /** Initially open, when uncontrolled. */
11
+ defaultOpen?: boolean;
12
+ /** Fires with the next open state, controlled or not. */
13
+ onOpenChange?: (open: boolean) => void;
8
14
  className?: string;
9
15
  "aria-label"?: string;
10
16
  };
@@ -15,7 +21,7 @@ export type MenuProps = {
15
21
  * typeahead, Enter/Space select, Esc closes and returns focus to the trigger);
16
22
  * closes on outside click. Flips up / right-aligns when space is tight.
17
23
  */
18
- export declare function Menu({ trigger, children, align, className, "aria-label": ariaLabel, }: MenuProps): React.JSX.Element;
24
+ export declare function Menu({ trigger, children, align, open: openProp, defaultOpen, onOpenChange, className, "aria-label": ariaLabel, }: MenuProps): React.JSX.Element;
19
25
  export declare namespace Menu {
20
26
  var displayName: string;
21
27
  }
@@ -5,10 +5,14 @@ export type MultiSelectOption = {
5
5
  /** Chip colour tone; falls back to a deterministic pastel per value. */
6
6
  tone?: string;
7
7
  };
8
- export type MultiSelectProps = {
8
+ export type MultiSelectProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" | "defaultValue" | "onChange"> & {
9
9
  options: MultiSelectOption[];
10
- value: string[];
11
- onValueChange: (value: string[]) => void;
10
+ /** Controlled value. Omit to let MultiSelect manage it (see defaultValue). */
11
+ value?: string[];
12
+ /** Initially selected values, when uncontrolled. */
13
+ defaultValue?: string[];
14
+ /** Fires with the next value on every toggle, controlled or not. */
15
+ onValueChange?: (value: string[]) => void;
12
16
  placeholder?: string;
13
17
  /** Show a filter field at the top of the list (default true). */
14
18
  searchable?: boolean;
@@ -23,7 +27,7 @@ export type MultiSelectProps = {
23
27
  * popover with a search field over rows of "[chip] … [checkbox]" that toggle on
24
28
  * click (the menu stays open). Keyboard: ↑/↓ move, Enter toggles, Esc closes.
25
29
  */
26
- export declare function MultiSelect({ options, value, onValueChange, placeholder, searchable, searchPlaceholder, disabled, className, "aria-label": ariaLabel, }: MultiSelectProps): React.JSX.Element;
30
+ export declare function MultiSelect({ options, value: valueProp, defaultValue, onValueChange, placeholder, searchable, searchPlaceholder, disabled, className, "aria-label": ariaLabel, ...rest }: MultiSelectProps): React.JSX.Element;
27
31
  export declare namespace MultiSelect {
28
32
  var displayName: string;
29
33
  }
@@ -7,7 +7,10 @@ export type PopoverProps = {
7
7
  /** Align the popover to the trigger's left (`start`) or right (`end`) edge. */
8
8
  align?: "start" | "end";
9
9
  /** Controlled open state. Omit to let the popover manage it. */
10
+ /** Controlled open state. Omit to let Popover manage it (see defaultOpen). */
10
11
  open?: boolean;
12
+ /** Initially open, when uncontrolled. */
13
+ defaultOpen?: boolean;
11
14
  onOpenChange?: (open: boolean) => void;
12
15
  "aria-label"?: string;
13
16
  className?: string;
@@ -17,7 +20,7 @@ export type PopoverProps = {
17
20
  * content. Opens below the trigger (flipping up when there's no room),
18
21
  * closes on outside pointer-down and Escape. Controlled or self-managed.
19
22
  */
20
- export declare function Popover({ trigger, children, align, open: openProp, onOpenChange, "aria-label": ariaLabel, className, }: PopoverProps): React.JSX.Element;
23
+ export declare function Popover({ trigger, children, align, open: openProp, defaultOpen, onOpenChange, "aria-label": ariaLabel, className, }: PopoverProps): React.JSX.Element;
21
24
  export declare namespace Popover {
22
25
  var displayName: string;
23
26
  }
@@ -1,4 +1,4 @@
1
- export type ProgressProps = {
1
+ export type ProgressProps = React.ComponentPropsWithoutRef<"div"> & {
2
2
  /** Current value. */
3
3
  value: number;
4
4
  /** Maximum value (default 100). */
@@ -13,7 +13,7 @@ export type ProgressProps = {
13
13
  * `segments` is set (the "Getting started 3/6" pattern). Reports its state via
14
14
  * `role="progressbar"` and the ARIA value attributes.
15
15
  */
16
- export declare function Progress({ value, max, segments, "aria-label": ariaLabel, className, }: ProgressProps): import("react").JSX.Element;
16
+ export declare function Progress({ value, max, segments, "aria-label": ariaLabel, className, ...rest }: ProgressProps): import("react").JSX.Element;
17
17
  export declare namespace Progress {
18
18
  var displayName: string;
19
19
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- export type RadioGroupProps = {
2
+ export type RadioGroupProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" | "defaultValue" | "onChange"> & {
3
3
  /** Controlled value. Omit to let the group manage it (see defaultValue). */
4
4
  value?: string;
5
5
  defaultValue?: string;
@@ -17,7 +17,7 @@ export type RadioGroupProps = {
17
17
  * preview cards whose border turns brand when picked (the Theme picker). Arrow
18
18
  * keys move between options (roving focus). Controlled or uncontrolled.
19
19
  */
20
- export declare function RadioGroup({ value, defaultValue, onValueChange, variant, name, className, "aria-label": ariaLabel, children, }: RadioGroupProps): React.JSX.Element;
20
+ export declare function RadioGroup({ value, defaultValue, onValueChange, variant, name, className, "aria-label": ariaLabel, children, ...rest }: RadioGroupProps): React.JSX.Element;
21
21
  export declare namespace RadioGroup {
22
22
  var displayName: string;
23
23
  }
@@ -0,0 +1,2 @@
1
+ export { computeDragWidth, percentToWidth, ResizablePanel, type ResizablePanelHandleVariant, type ResizablePanelProps, type ResizablePanelSide, readStoredPercent, widthToPercent, writeStoredPercent, } from "./resizablepanel";
2
+ export { resizablepanelRecipe } from "./resizablepanel.recipe";
@@ -0,0 +1,75 @@
1
+ import * as React from "react";
2
+ export type ResizablePanelSide = "left" | "right";
3
+ export type ResizablePanelHandleVariant = "panel" | "column";
4
+ /**
5
+ * Drag delta -> next width, in px, signed by which edge of the panel the
6
+ * handle drags from. A left-side panel's handle sits at its *right* edge, so
7
+ * dragging right (positive dx) grows it; a right-side panel's handle sits at
8
+ * its *left* edge, so dragging right shrinks it. Pure so drag math can be
9
+ * unit-tested without a DOM.
10
+ */
11
+ export declare function computeDragWidth(startWidth: number, startX: number, clientX: number, side: ResizablePanelSide): number;
12
+ /** width (px) -> percentage of the container's width. Pure, unrounded. */
13
+ export declare function widthToPercent(width: number, containerWidth: number): number;
14
+ /** percentage of the container's width -> width (px). Pure, unrounded. */
15
+ export declare function percentToWidth(percent: number, containerWidth: number): number;
16
+ type ReadableStorage = Pick<Storage, "getItem">;
17
+ type WritableStorage = Pick<Storage, "setItem">;
18
+ /**
19
+ * Reads a persisted width percentage, wrapped in try/catch: `localStorage`
20
+ * can throw (private browsing, storage disabled), and a resizable panel
21
+ * failing to *render* over a persistence error would be worse than the
22
+ * panel simply forgetting its width. `storage` defaults to
23
+ * `window.localStorage` and exists as a seam for tests — dropping the
24
+ * try/catch here is the exact failure this must catch.
25
+ */
26
+ export declare function readStoredPercent(key: string, storage?: ReadableStorage): number | null;
27
+ /** Writes a persisted width percentage, wrapped in try/catch — see {@link readStoredPercent}. */
28
+ export declare function writeStoredPercent(key: string, percent: number, storage?: WritableStorage): void;
29
+ export type ResizablePanelProps = Omit<React.ComponentPropsWithoutRef<"div">, "children" | "onResize"> & {
30
+ /** Which edge of its container the panel is anchored to (default "left"). */
31
+ side?: ResizablePanelSide;
32
+ /** Controlled width, in px. */
33
+ size?: number;
34
+ /** Initial width, in px, when uncontrolled (default 280). */
35
+ defaultSize?: number;
36
+ /** Fires with the final, CSS-clamped width once a drag ends. */
37
+ onSizeChange?: (size: number) => void;
38
+ /** `min-width` in px (default 200). */
39
+ min?: number;
40
+ /**
41
+ * `max-width` — a px number, or a raw CSS expression for callers that need
42
+ * Attio's real clamp, e.g. `max="min(60%, 100% - 350px)"`. Constraints are
43
+ * never re-applied in JS: the handler writes the unclamped drag width, and
44
+ * the browser's own `min-width`/`max-width` resolve the rendered size.
45
+ */
46
+ max?: number | string;
47
+ /**
48
+ * Layout model: "docked" (default) reserves flow width and sits in-line
49
+ * with a hairline border; "floating" takes the panel out of flow
50
+ * (`position: fixed`, an 8px gutter, r10, the measured floating shadow).
51
+ */
52
+ floating?: boolean;
53
+ /** Resize-handle geometry — "panel" (default) or "column" (table edges). */
54
+ handleVariant?: ResizablePanelHandleVariant;
55
+ /**
56
+ * Persist width as a percentage of the container under this key (matches
57
+ * Attio: a `%`, not px, so the panel keeps its proportion on resize).
58
+ * Only applies when `size` is uncontrolled.
59
+ */
60
+ storageKey?: string;
61
+ className?: string;
62
+ children?: React.ReactNode;
63
+ };
64
+ /**
65
+ * Attio's adjustable-panel primitive: a spacer that reserves layout width
66
+ * plus a panel that overlays it, so the panel can move between docked
67
+ * (in-flow) and floating (`position: fixed`, an overlay) without a reflow
68
+ * glitch. Drag the edge handle to resize; constraints are CSS `min-width`/
69
+ * `max-width`, never re-clamped in JS.
70
+ */
71
+ export declare function ResizablePanel({ side, size, defaultSize, onSizeChange, min, max, floating, handleVariant, storageKey, className, children, ...rest }: ResizablePanelProps): React.JSX.Element;
72
+ export declare namespace ResizablePanel {
73
+ var displayName: string;
74
+ }
75
+ export {};
@@ -0,0 +1,3 @@
1
+ declare const config: import("../..").RecipeConfig<{}>;
2
+ export declare const resizablepanelRecipe: import("../..").RecipeFn<{}>;
3
+ export default config;
@@ -7,7 +7,7 @@ export type SegmentedOption = {
7
7
  disabled?: boolean;
8
8
  "aria-label"?: string;
9
9
  };
10
- export type SegmentedProps = {
10
+ export type SegmentedProps = Omit<React.ComponentPropsWithoutRef<"div">, "defaultValue"> & {
11
11
  options: SegmentedOption[];
12
12
  /** Controlled value. Omit to let the control manage it (see defaultValue). */
13
13
  value?: string;
@@ -21,7 +21,7 @@ export type SegmentedProps = {
21
21
  * switcher. `role="radiogroup"` over `role="radio"` buttons with roving
22
22
  * tabindex and ←/→ (Home/End) keyboard selection.
23
23
  */
24
- export declare function Segmented({ options, value, defaultValue, onValueChange, "aria-label": ariaLabel, className, }: SegmentedProps): React.JSX.Element;
24
+ export declare function Segmented({ options, value, defaultValue, onValueChange, "aria-label": ariaLabel, className, ...rest }: SegmentedProps): React.JSX.Element;
25
25
  export declare namespace Segmented {
26
26
  var displayName: string;
27
27
  }
@@ -8,7 +8,7 @@ export type SelectOption = {
8
8
  color?: string;
9
9
  disabled?: boolean;
10
10
  };
11
- export type SelectProps = {
11
+ export type SelectProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" | "defaultValue" | "onChange"> & {
12
12
  options: SelectOption[];
13
13
  /** Controlled value. Omit to let Select manage it (see defaultValue). */
14
14
  value?: string;
@@ -17,6 +17,8 @@ export type SelectProps = {
17
17
  placeholder?: string;
18
18
  /** `ghost` is borderless until hover — for inline selects (e.g. sort rows). */
19
19
  variant?: "default" | "ghost";
20
+ /** `full` (default) fills its container; `auto` sizes to content. */
21
+ width?: "full" | "auto";
20
22
  /** Show a search field at the top of the list that filters options (Linear/cmdk style). */
21
23
  searchable?: boolean;
22
24
  searchPlaceholder?: string;
@@ -32,7 +34,7 @@ export type SelectProps = {
32
34
  * "No results" empty state). Full keyboard model — ↑/↓ move, Enter/Space pick,
33
35
  * Esc close, Home/End jump, opens upward when tight. Controlled or uncontrolled.
34
36
  */
35
- export declare function Select({ options, value, defaultValue, onValueChange, placeholder, variant, searchable, searchPlaceholder, disabled, className, "aria-label": ariaLabel, id, }: SelectProps): React.JSX.Element;
37
+ export declare function Select({ options, value, defaultValue, onValueChange, placeholder, variant, width, searchable, searchPlaceholder, disabled, className, "aria-label": ariaLabel, id, ...rest }: SelectProps): React.JSX.Element;
36
38
  export declare namespace Select {
37
39
  var displayName: string;
38
40
  }
@@ -3,18 +3,30 @@ declare const config: import("../..").RecipeConfig<{
3
3
  default: string;
4
4
  ghost: string;
5
5
  };
6
+ width: {
7
+ full: string;
8
+ auto: string;
9
+ };
6
10
  }>;
7
11
  export declare const selectRecipe: import("../..").RecipeFn<{
8
12
  variant: {
9
13
  default: string;
10
14
  ghost: string;
11
15
  };
16
+ width: {
17
+ full: string;
18
+ auto: string;
19
+ };
12
20
  }> & {
13
21
  config: import("../..").RecipeConfig<{
14
22
  variant: {
15
23
  default: string;
16
24
  ghost: string;
17
25
  };
26
+ width: {
27
+ full: string;
28
+ auto: string;
29
+ };
18
30
  }>;
19
31
  };
20
32
  export default config;
@@ -1,4 +1,4 @@
1
- export type SkeletonProps = {
1
+ export type SkeletonProps = React.ComponentPropsWithoutRef<"span"> & {
2
2
  width?: number | string;
3
3
  height?: number | string;
4
4
  /** Render as a circle (avatar placeholder). */
@@ -7,7 +7,7 @@ export type SkeletonProps = {
7
7
  className?: string;
8
8
  };
9
9
  /** A pulsing placeholder block sized to the content it stands in for. */
10
- export declare function Skeleton({ width, height, circle, radius, className, }: SkeletonProps): import("react").JSX.Element;
10
+ export declare function Skeleton({ width, height, circle, radius, className, ...rest }: SkeletonProps): import("react").JSX.Element;
11
11
  export declare namespace Skeleton {
12
12
  var displayName: string;
13
13
  }
@@ -1,11 +1,11 @@
1
- export type SpinnerProps = {
1
+ export type SpinnerProps = React.ComponentPropsWithoutRef<"span"> & {
2
2
  /** Diameter in px (default 16). Border scales with it. */
3
3
  size?: number;
4
4
  "aria-label"?: string;
5
5
  className?: string;
6
6
  };
7
7
  /** A spinning ring indicator. Reports `role="status"` for assistive tech. */
8
- export declare function Spinner({ size, "aria-label": ariaLabel, className, }: SpinnerProps): import("react").JSX.Element;
8
+ export declare function Spinner({ size, "aria-label": ariaLabel, className, ...rest }: SpinnerProps): import("react").JSX.Element;
9
9
  export declare namespace Spinner {
10
10
  var displayName: string;
11
11
  }
@@ -3,7 +3,7 @@ export type Stage = {
3
3
  /** Stage colour (CSS). Defaults to the brand colour. */
4
4
  color?: string;
5
5
  };
6
- export type StageBarProps = {
6
+ export type StageBarProps = React.ComponentPropsWithoutRef<"div"> & {
7
7
  stages: Stage[];
8
8
  /** The current stage, by index or by matching `label`. */
9
9
  current: number | string;
@@ -14,7 +14,7 @@ export type StageBarProps = {
14
14
  * A pipeline stage bar — measured from Attio's Deal-stage Highlight. Each stage
15
15
  * is a segment tinted with its colour; the current stage is at full strength.
16
16
  */
17
- export declare function StageBar({ stages, current, "aria-label": ariaLabel, className, }: StageBarProps): import("react").JSX.Element;
17
+ export declare function StageBar({ stages, current, "aria-label": ariaLabel, className, ...rest }: StageBarProps): import("react").JSX.Element;
18
18
  export declare namespace StageBar {
19
19
  var displayName: string;
20
20
  }
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- export type StatCardProps = {
2
+ export type StatCardProps = React.ComponentPropsWithoutRef<"div"> & {
3
3
  /** Small muted metric name. */
4
4
  label: React.ReactNode;
5
5
  /** Optional icon shown before the label. */
@@ -12,13 +12,18 @@ export type StatCardProps = {
12
12
  deltaSuffix?: string;
13
13
  /** Caption after the delta (e.g. "vs last month"). */
14
14
  caption?: React.ReactNode;
15
+ /** Opt-in bordered card chrome (padding + border + radius), for use
16
+ * standalone instead of hand-wrapping in `<Card><CardBody>`. Default
17
+ * `false` — StatCard renders bare, as measured (pair with `Card` yourself
18
+ * for the Reports grid look). */
19
+ card?: boolean;
15
20
  className?: string;
16
21
  };
17
22
  /**
18
23
  * A single-metric KPI tile — measured from Attio's Reports number/insight cards.
19
24
  * Label, a large value, and an optional up/down delta pill with a caption.
20
25
  */
21
- export declare function StatCard({ label, icon, value, delta, deltaSuffix, caption, className, }: StatCardProps): React.JSX.Element;
26
+ export declare function StatCard({ label, icon, value, delta, deltaSuffix, caption, card, className, ...rest }: StatCardProps): React.JSX.Element;
22
27
  export declare namespace StatCard {
23
28
  var displayName: string;
24
29
  }
@@ -1,3 +1,13 @@
1
- declare const config: import("../..").RecipeConfig<{}>;
2
- export declare const statcardRecipe: import("../..").RecipeFn<{}>;
1
+ declare const config: import("../..").RecipeConfig<{
2
+ card: {
3
+ true: string;
4
+ false: string;
5
+ };
6
+ }>;
7
+ export declare const statcardRecipe: import("../..").RecipeFn<{
8
+ card: {
9
+ true: string;
10
+ false: string;
11
+ };
12
+ }>;
3
13
  export default config;
@@ -0,0 +1,2 @@
1
+ export { Table, TableBody, TableCaption, TableCell, type TableCellAlign, type TableCellProps, TableFooter, TableHead, TableHeader, type TableHeadProps, type TableProps, TableRow, } from "./table";
2
+ export { tableRecipe } from "./table.recipe";
@@ -0,0 +1,53 @@
1
+ import * as React from "react";
2
+ import type { VariantProps } from "../../core";
3
+ import { tableRecipe } from "./table.recipe";
4
+ export type TableProps = React.ComponentPropsWithoutRef<"table"> & VariantProps<typeof tableRecipe> & {
5
+ /** Class for the outer bordered wrapper (the recipe root). */
6
+ wrapperClassName?: string;
7
+ /** Props spread onto the horizontally-scrollable container (for sticky-column shadows). */
8
+ scrollProps?: React.ComponentPropsWithoutRef<"div"> & {
9
+ ref?: React.Ref<HTMLDivElement>;
10
+ };
11
+ };
12
+ /**
13
+ * A composable data table. Wraps `<table>` in a horizontally scrollable
14
+ * surface — `surface="card"` (default) bordered + rounded, `surface="bleed"`
15
+ * edge-to-edge like RecordsTable's full-page grid. Compose with
16
+ * `TableHeader`, `TableBody`, `TableFooter`, `TableRow`, `TableHead`,
17
+ * `TableCell`, and `TableCaption`.
18
+ */
19
+ export declare const Table: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>, "ref"> & VariantProps<import("../..").RecipeFn<{
20
+ interactive: {
21
+ true: string;
22
+ false: string;
23
+ };
24
+ surface: {
25
+ card: string;
26
+ bleed: string;
27
+ };
28
+ }>> & {
29
+ /** Class for the outer bordered wrapper (the recipe root). */
30
+ wrapperClassName?: string;
31
+ /** Props spread onto the horizontally-scrollable container (for sticky-column shadows). */
32
+ scrollProps?: React.ComponentPropsWithoutRef<"div"> & {
33
+ ref?: React.Ref<HTMLDivElement>;
34
+ };
35
+ } & React.RefAttributes<HTMLTableElement>>;
36
+ export declare const TableHeader: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & React.RefAttributes<HTMLTableSectionElement>>;
37
+ export declare const TableBody: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & React.RefAttributes<HTMLTableSectionElement>>;
38
+ export declare const TableFooter: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & React.RefAttributes<HTMLTableSectionElement>>;
39
+ export declare const TableRow: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "ref"> & React.RefAttributes<HTMLTableRowElement>>;
40
+ export type TableCellAlign = "left" | "right" | "center";
41
+ export type TableHeadProps = React.ComponentPropsWithoutRef<"th"> & {
42
+ align?: TableCellAlign;
43
+ };
44
+ export declare const TableHead: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>, "ref"> & {
45
+ align?: TableCellAlign;
46
+ } & React.RefAttributes<HTMLTableCellElement>>;
47
+ export type TableCellProps = React.ComponentPropsWithoutRef<"td"> & {
48
+ align?: TableCellAlign;
49
+ };
50
+ export declare const TableCell: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, "ref"> & {
51
+ align?: TableCellAlign;
52
+ } & React.RefAttributes<HTMLTableCellElement>>;
53
+ export declare const TableCaption: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLTableCaptionElement>>;
@@ -0,0 +1,21 @@
1
+ declare const config: import("../..").RecipeConfig<{
2
+ interactive: {
3
+ true: string;
4
+ false: string;
5
+ };
6
+ surface: {
7
+ card: string;
8
+ bleed: string;
9
+ };
10
+ }>;
11
+ export declare const tableRecipe: import("../..").RecipeFn<{
12
+ interactive: {
13
+ true: string;
14
+ false: string;
15
+ };
16
+ surface: {
17
+ card: string;
18
+ bleed: string;
19
+ };
20
+ }>;
21
+ export default config;
@@ -0,0 +1,2 @@
1
+ export * from "./tabletoolbar";
2
+ export { tabletoolbarRecipe } from "./tabletoolbar.recipe";
@@ -0,0 +1,2 @@
1
+ export declare const toolbarChromeHead: (p: string) => string;
2
+ export declare const toolbarChromeBody: (p: string) => string;
@@ -0,0 +1,89 @@
1
+ import * as React from "react";
2
+ type IconType = React.ComponentType<{
3
+ size?: number;
4
+ strokeWidth?: number;
5
+ }>;
6
+ export type SortDir = "asc" | "desc";
7
+ export type ToolbarSort = {
8
+ key: string;
9
+ dir: SortDir;
10
+ };
11
+ export type ToolbarFilterOp = "contains" | "is" | "isnot" | "empty" | "notempty";
12
+ export type ToolbarFilter = {
13
+ id: string;
14
+ key: string;
15
+ op: ToolbarFilterOp;
16
+ value: string;
17
+ };
18
+ export type TableToolbarColumn = {
19
+ key: string;
20
+ label: string;
21
+ /** Leading field-type icon, shown in the field pickers. */
22
+ icon?: IconType;
23
+ };
24
+ export type TableToolbarProps = Omit<React.ComponentPropsWithoutRef<"div">, "children"> & {
25
+ /** The fields that can be sorted and filtered on. */
26
+ columns: TableToolbarColumn[];
27
+ /** Controlled sorts. Omit to let the toolbar manage them internally. */
28
+ sorts?: ToolbarSort[];
29
+ defaultSorts?: ToolbarSort[];
30
+ onSortsChange?: (sorts: ToolbarSort[]) => void;
31
+ /** Controlled filter conditions. Omit for internal state. */
32
+ filters?: ToolbarFilter[];
33
+ defaultFilters?: ToolbarFilter[];
34
+ onFiltersChange?: (filters: ToolbarFilter[]) => void;
35
+ /** Right-aligned count, e.g. `${rows.length} records`. */
36
+ count?: React.ReactNode;
37
+ /** Right-aligned actions after the count (a "New" button, say). */
38
+ children?: React.ReactNode;
39
+ /** Shows a "Learn about sorting" link in the sort popover when set. */
40
+ helpHref?: string;
41
+ /** aria-label on the Sort trigger (default "Sort"). */
42
+ sortLabel?: string;
43
+ /** aria-label on each sort row's drag grip (default "Reorder sort"). */
44
+ reorderSortLabel?: string;
45
+ /** aria-label on a sort row's field select (default "Sort field"). */
46
+ sortFieldLabel?: string;
47
+ /** aria-label on a sort row's direction select (default "Sort direction"). */
48
+ sortDirectionLabel?: string;
49
+ /** aria-label on a sort row's remove control (default "Remove sort"). */
50
+ removeSortLabel?: string;
51
+ /** aria-label on a filter row's field select (default "Filter by field"). */
52
+ filterFieldLabel?: string;
53
+ /** Placeholder in the filter field select (default "Filter by…"). */
54
+ filterFieldPlaceholder?: string;
55
+ /** Placeholder in a filter row's value input (default "Value…"). */
56
+ filterValuePlaceholder?: string;
57
+ /** Label on the "ascending" sort-direction option (default "Ascending"). */
58
+ ascendingLabel?: string;
59
+ /** Label on the "descending" sort-direction option (default "Descending"). */
60
+ descendingLabel?: string;
61
+ /** Text on the sort trigger. Receives the active sorts and the columns, so
62
+ * the sorted-by phrase can be built in the caller's own word order —
63
+ * "Sorted by Name +2" does not survive a template with holes. */
64
+ sortTriggerLabel?: (sorts: ToolbarSort[], columns: TableToolbarColumn[]) => React.ReactNode;
65
+ /** Text on the filter trigger. Receives the number of active filters. */
66
+ filterTriggerLabel?: (activeFilters: number) => React.ReactNode;
67
+ className?: string;
68
+ };
69
+ /**
70
+ * Applies a toolbar's filter conditions to any row array. Reads the raw value
71
+ * at `row[key]` (override with `get` for derived fields) — never a formatted
72
+ * display string, so a grouped-thousands "$1,200" still matches "1200".
73
+ */
74
+ export declare function applyFilters<T>(rows: T[], filters: ToolbarFilter[], get?: (row: T, key: string) => unknown): T[];
75
+ /**
76
+ * Applies a toolbar's sorts to any row array, in order — sort 0 wins, later
77
+ * sorts break ties. Numbers compare numerically, everything else by locale.
78
+ */
79
+ export declare function applySorts<T>(rows: T[], sorts: ToolbarSort[], get?: (row: T, key: string) => unknown): T[];
80
+ /**
81
+ * Attio's table toolbar as a standalone primitive: the Sort and Filter
82
+ * controls, their menus, the sort-condition rows and the filter chips.
83
+ *
84
+ * `RecordsTable` renders this same measured chrome internally; this is the
85
+ * composable version, to put above `DataTable` or any table of your own. Pair
86
+ * it with `applyFilters` / `applySorts` to turn its state into rows.
87
+ */
88
+ export declare function TableToolbar({ columns, sorts: sortsProp, defaultSorts, onSortsChange, filters: filtersProp, defaultFilters, onFiltersChange, count, children, helpHref, className, sortLabel, reorderSortLabel, sortFieldLabel, sortDirectionLabel, removeSortLabel, filterFieldLabel, filterFieldPlaceholder, filterValuePlaceholder, ascendingLabel, descendingLabel, sortTriggerLabel, filterTriggerLabel, ...rest }: TableToolbarProps): React.JSX.Element;
89
+ export {};
@@ -0,0 +1,3 @@
1
+ declare const config: import("../..").RecipeConfig<import("../..").RecipeVariantRecord>;
2
+ export declare const tabletoolbarRecipe: import("../..").RecipeFn<import("../..").RecipeVariantRecord>;
3
+ export default config;