@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
@@ -8,7 +8,7 @@ export type TabItem = {
8
8
  badge?: React.ReactNode;
9
9
  disabled?: boolean;
10
10
  };
11
- export type TabsProps = {
11
+ export type TabsProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" | "defaultValue" | "children"> & {
12
12
  tabs: TabItem[];
13
13
  /** Controlled active value. Omit to let Tabs manage it (see defaultValue). */
14
14
  value?: string;
@@ -27,7 +27,7 @@ export type TabsProps = {
27
27
  * Home/End jump); activation follows focus, matching Attio. Controlled via
28
28
  * `value`/`onValueChange`, or uncontrolled from `defaultValue`.
29
29
  */
30
- export declare function Tabs({ tabs, value, defaultValue, onValueChange, leading, children, className, "aria-label": ariaLabel, }: TabsProps): React.JSX.Element;
30
+ export declare function Tabs({ tabs, value, defaultValue, onValueChange, leading, children, className, "aria-label": ariaLabel, ...rest }: TabsProps): React.JSX.Element;
31
31
  export declare namespace Tabs {
32
32
  var displayName: string;
33
33
  }
@@ -20,9 +20,15 @@ type ToastApi = {
20
20
  * anywhere to push a notification. Toasts stack bottom-right and auto-dismiss
21
21
  * after `duration` (default 4s; 0 keeps them until dismissed).
22
22
  */
23
- export declare function ToastProvider({ children, duration, }: {
23
+ export declare function ToastProvider({ children, duration, dismissLabel, regionLabel, }: {
24
24
  children: React.ReactNode;
25
25
  duration?: number;
26
+ /** aria-label on each toast's dismiss button (default "Dismiss"). */
27
+ dismissLabel?: string;
28
+ /** aria-label on the always-mounted notifications region (default
29
+ * "Notifications") — announced to screen readers on every page, whether or
30
+ * not a toast is ever shown. */
31
+ regionLabel?: string;
26
32
  }): React.JSX.Element;
27
33
  export declare namespace ToastProvider {
28
34
  var displayName: string;
@@ -8,6 +8,13 @@ export type TooltipProps = {
8
8
  side?: "top" | "bottom";
9
9
  /** Delay in ms before showing (default 350). Hides immediately. */
10
10
  delay?: number;
11
+ /** Controlled open state. Omit to let Tooltip manage it (see defaultOpen).
12
+ * A controlled tooltip shows at once — `delay` only paces hover. */
13
+ open?: boolean;
14
+ /** Initially open, when uncontrolled. */
15
+ defaultOpen?: boolean;
16
+ /** Fires with the next open state, controlled or not. */
17
+ onOpenChange?: (open: boolean) => void;
11
18
  };
12
19
  /**
13
20
  * A hover/focus tooltip — a dark hint chip measured from Attio. Wraps its
@@ -15,7 +22,7 @@ export type TooltipProps = {
15
22
  * and hides on leave / blur / Escape. The bubble is portaled and positioned
16
23
  * above the trigger (flipping below near the top edge).
17
24
  */
18
- export declare function Tooltip({ content, children, side, delay, }: TooltipProps): React.JSX.Element;
25
+ export declare function Tooltip({ content, children, side, delay, open: openProp, defaultOpen, onOpenChange, }: TooltipProps): React.JSX.Element;
19
26
  export declare namespace Tooltip {
20
27
  var displayName: string;
21
28
  }
@@ -0,0 +1,2 @@
1
+ export { WheelPicker, type WheelPickerColumn, type WheelPickerOption, type WheelPickerProps, } from "./wheelpicker";
2
+ export { wheelpickerRecipe } from "./wheelpicker.recipe";
@@ -0,0 +1,37 @@
1
+ import * as React from "react";
2
+ export type WheelPickerOption = {
3
+ value: string;
4
+ label: React.ReactNode;
5
+ };
6
+ export type WheelPickerColumn = {
7
+ /** Identifies the column in `value` / `onValueChange`. */
8
+ key: string;
9
+ options: WheelPickerOption[];
10
+ /** Accessible name for this column's listbox. */
11
+ label: string;
12
+ };
13
+ export type WheelPickerProps = Omit<React.ComponentPropsWithoutRef<"div">, "onChange" | "defaultValue"> & {
14
+ columns: WheelPickerColumn[];
15
+ /** Controlled selection, keyed by column. Omit to let WheelPicker manage it. */
16
+ value?: Record<string, string>;
17
+ /** Initial selection, when uncontrolled. Defaults to each column's first option. */
18
+ defaultValue?: Record<string, string>;
19
+ /** Fires with the next selection on every change, controlled or not. */
20
+ onValueChange?: (value: Record<string, string>) => void;
21
+ size?: "small" | "medium";
22
+ className?: string;
23
+ };
24
+ /**
25
+ * A scroll-snapping wheel, measured from seed-design. Each column snaps its
26
+ * rows to a centred selection band; the momentum is the browser's own, because
27
+ * the column is an ordinary scroll container with `scroll-snap-type: y
28
+ * mandatory` rather than a JavaScript animation.
29
+ *
30
+ * Keyboard: each column is a `listbox` that takes focus, with ↑/↓ moving the
31
+ * selection, Home/End jumping to the ends, and a visible ring on the selected
32
+ * row for keyboard focus only.
33
+ */
34
+ export declare function WheelPicker({ columns, value: valueProp, defaultValue, onValueChange, size, className, ...rest }: WheelPickerProps): React.JSX.Element;
35
+ export declare namespace WheelPicker {
36
+ var displayName: string;
37
+ }
@@ -0,0 +1,26 @@
1
+ declare const config: import("../..").RecipeConfig<{
2
+ size: {
3
+ small: string;
4
+ medium: string;
5
+ };
6
+ }>;
7
+ export declare const wheelpickerRecipe: import("../..").RecipeFn<{
8
+ size: {
9
+ small: string;
10
+ medium: string;
11
+ };
12
+ }> & {
13
+ config: import("../..").RecipeConfig<{
14
+ size: {
15
+ small: string;
16
+ medium: string;
17
+ };
18
+ }>;
19
+ meta: {
20
+ medium: {
21
+ height: string;
22
+ itemHeight: string;
23
+ };
24
+ };
25
+ };
26
+ export default config;
@@ -9,8 +9,11 @@ export * from "./components/button";
9
9
  export * from "./components/callout";
10
10
  export * from "./components/card";
11
11
  export * from "./components/checkbox";
12
+ export * from "./components/columncalc";
12
13
  export * from "./components/contextmenu";
14
+ export * from "./components/datatable";
13
15
  export * from "./components/datepicker";
16
+ export * from "./components/datepickerfield";
14
17
  export * from "./components/dialog";
15
18
  export * from "./components/divider";
16
19
  export * from "./components/donutchart";
@@ -25,6 +28,7 @@ export * from "./components/multiselect";
25
28
  export * from "./components/popover";
26
29
  export * from "./components/progress";
27
30
  export * from "./components/radiogroup";
31
+ export * from "./components/resizablepanel";
28
32
  export * from "./components/segmented";
29
33
  export * from "./components/select";
30
34
  export * from "./components/skeleton";
@@ -32,12 +36,16 @@ export * from "./components/spinner";
32
36
  export * from "./components/stagebar";
33
37
  export * from "./components/statcard";
34
38
  export * from "./components/switch";
39
+ export * from "./components/table";
40
+ export * from "./components/tabletoolbar";
35
41
  export * from "./components/tabs";
36
42
  export * from "./components/textarea";
37
43
  export * from "./components/toast";
38
44
  export * from "./components/tooltip";
45
+ export * from "./components/wheelpicker";
39
46
  export * from "./core";
40
47
  export * from "./product/appshell";
48
+ export * from "./product/authshell";
41
49
  export * from "./product/board";
42
50
  export * from "./product/command";
43
51
  export * from "./product/entitycard";
@@ -1,13 +1,27 @@
1
1
  import * as React from "react";
2
- export type AppShellProps = {
2
+ export type AppShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "children" | "onResize"> & {
3
3
  /**
4
4
  * The sidebar, as a render function receiving a `toggleCollapse` callback to
5
5
  * wire to your sidebar's collapse control (e.g. `Sidebar`'s
6
6
  * `onToggleCollapse`). Make the sidebar fill its pane (`width: 100%`).
7
7
  */
8
8
  sidebar: (toggleCollapse: () => void) => React.ReactNode;
9
+ /** Label for the control that reopens a collapsed sidebar. */
10
+ expandLabel?: string;
9
11
  children: React.ReactNode;
12
+ /** Controlled sidebar width in px. Omit to let AppShell manage it. */
13
+ width?: number;
14
+ /** Initial width in px when uncontrolled (default 275). */
10
15
  defaultWidth?: number;
16
+ /** Fires with the final clamped width once a drag ends — not on every
17
+ * pointer move, matching ResizablePanel's `onSizeChange`. Persist it here. */
18
+ onWidthChange?: (width: number) => void;
19
+ /** Controlled collapsed state. Omit to let AppShell manage it. */
20
+ collapsed?: boolean;
21
+ /** Initially collapsed when uncontrolled (default false). */
22
+ defaultCollapsed?: boolean;
23
+ /** Fires with the next collapsed state, controlled or not. */
24
+ onCollapsedChange?: (collapsed: boolean) => void;
11
25
  minWidth?: number;
12
26
  maxWidth?: number;
13
27
  className?: string;
@@ -18,7 +32,7 @@ export type AppShellProps = {
18
32
  * collapse button to slide it away (a floating button brings it back). The
19
33
  * sidebar pane clips rather than squishing, so its content never reflows.
20
34
  */
21
- export declare function AppShell({ sidebar, children, defaultWidth, minWidth, maxWidth, className, }: AppShellProps): React.JSX.Element;
35
+ export declare function AppShell({ sidebar, children, width: widthProp, defaultWidth, onWidthChange, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, minWidth, maxWidth, className, expandLabel, ...rest }: AppShellProps): React.JSX.Element;
22
36
  export declare namespace AppShell {
23
37
  var displayName: string;
24
38
  }
@@ -0,0 +1,28 @@
1
+ import type * as React from "react";
2
+ export type AuthShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "title"> & {
3
+ /** 0–1. Omit for no progress bar. */
4
+ progress?: number;
5
+ /** Brand mark above the card (measured 96x24). */
6
+ logo?: React.ReactNode;
7
+ /** Card heading. */
8
+ title?: React.ReactNode;
9
+ /** The form / body content. */
10
+ children: React.ReactNode;
11
+ /** Right-hand product preview. Hidden under 1200px; omit for a single-pane card. */
12
+ preview?: React.ReactNode;
13
+ /** Legal / support links under the card. */
14
+ footer?: React.ReactNode;
15
+ className?: string;
16
+ };
17
+ /**
18
+ * The Attio welcome/auth layout (app.attio.com/welcome/*) — measured live.
19
+ * A centered page frame: an optional top progress bar, a logo, a two-pane
20
+ * card (the form + an optional product preview, hidden under 1200px), and
21
+ * a footer. Auth-surface Input/FormField/Button treatment (flatter fields,
22
+ * 36px buttons) applies automatically to those crisp components when
23
+ * rendered as `children` — see authshell.recipe.ts.
24
+ */
25
+ export declare function AuthShell({ progress, logo, title, children, preview, footer, className, ...rest }: AuthShellProps): React.JSX.Element;
26
+ export declare namespace AuthShell {
27
+ var displayName: string;
28
+ }
@@ -0,0 +1,3 @@
1
+ declare const config: import("../..").RecipeConfig<{}>;
2
+ export declare const authshellRecipe: import("../..").RecipeFn<{}>;
3
+ export default config;
@@ -0,0 +1,2 @@
1
+ export { AuthShell, type AuthShellProps } from "./authshell";
2
+ export { authshellRecipe } from "./authshell.recipe";
@@ -9,7 +9,7 @@ export type BoardCard = {
9
9
  id: string;
10
10
  columnId: string;
11
11
  };
12
- export type BoardProps<T extends BoardCard> = {
12
+ export type BoardProps<T extends BoardCard> = Omit<React.ComponentPropsWithoutRef<"div">, "children"> & {
13
13
  columns: BoardColumn[];
14
14
  cards: T[];
15
15
  /** Called with the next cards after a drag moves one between columns. */
@@ -26,7 +26,7 @@ export type BoardProps<T extends BoardCard> = {
26
26
  * (the parent owns the cards, so the move is a controlled state update).
27
27
  * Measured from Attio's Deals pipeline.
28
28
  */
29
- export declare function Board<T extends BoardCard>({ columns, cards, onCardsChange, renderCard, onNewCard, newCardLabel, className, }: BoardProps<T>): React.JSX.Element;
29
+ export declare function Board<T extends BoardCard>({ columns, cards, onCardsChange, renderCard, onNewCard, newCardLabel, className, ...rest }: BoardProps<T>): React.JSX.Element;
30
30
  export declare namespace Board {
31
31
  var displayName: string;
32
32
  }
@@ -19,6 +19,30 @@ export type CommandProps = {
19
19
  onOpenChange: (open: boolean) => void;
20
20
  items?: CommandItem[];
21
21
  placeholder?: string;
22
+ "aria-label"?: string;
23
+ /** Footer hint next to the ↑ ↓ keys (default "Navigate"). */
24
+ navigateLabel?: React.ReactNode;
25
+ /** Footer action-button fallback text, shown while no item is highlighted
26
+ * (once one is, the button mirrors that item's own — already translatable
27
+ * — label instead). Default "Select". */
28
+ selectLabel?: string;
29
+ /** Shown in the list when no item matches the query (default
30
+ * "No matching commands"). */
31
+ emptyLabel?: React.ReactNode;
32
+ /** The search input's text. Omit for internal state (the default) — pass
33
+ * this alongside `onQueryChange` to observe or drive it from outside, e.g.
34
+ * to search the host app's own data (records, transactions, …) and feed
35
+ * matching results back in via `items`. */
36
+ query?: string;
37
+ /** Called with the next query text on every keystroke, and on the
38
+ * open-triggered reset to `""`. Works standalone (without `query`) just to
39
+ * observe what the user typed. */
40
+ onQueryChange?: (query: string) => void;
41
+ /** Whether Command filters `items` against `query` itself (default true).
42
+ * Turn off when `items` is already filtered externally — e.g. driven by
43
+ * `onQueryChange` calling out to search the host app's own data — so
44
+ * results aren't filtered a second time here. */
45
+ filterItems?: boolean;
22
46
  };
23
47
  /**
24
48
  * ⌘K command palette. Composes a Zag dialog machine (modal, focus trap,
@@ -26,4 +50,4 @@ export type CommandProps = {
26
50
  * option list) so keyboard/focus correctness comes from the machines, not
27
51
  * hand-rolled event handling.
28
52
  */
29
- export declare function Command({ open, onOpenChange, items, placeholder, }: CommandProps): React.JSX.Element | null;
53
+ export declare function Command({ open, onOpenChange, items, placeholder, "aria-label": ariaLabel, navigateLabel, selectLabel, emptyLabel, query: queryProp, onQueryChange, filterItems, }: CommandProps): React.JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- export type EntityCardProps = {
2
+ export type EntityCardProps = Omit<React.ComponentPropsWithoutRef<"button">, "children" | "title"> & {
3
3
  /** Author row shown at the top (e.g. avatar + name). */
4
4
  author?: React.ReactNode;
5
5
  title: React.ReactNode;
@@ -18,7 +18,7 @@ export type EntityCardProps = {
18
18
  * card with an author row, a title, a clamped excerpt, and a footer row with a
19
19
  * right-aligned date. Rendered as a button so the whole card is clickable.
20
20
  */
21
- export declare function EntityCard({ author, title, excerpt, footer, date, onClick, "aria-label": ariaLabel, className, }: EntityCardProps): React.JSX.Element;
21
+ export declare function EntityCard({ author, title, excerpt, footer, date, onClick, "aria-label": ariaLabel, className, ...rest }: EntityCardProps): React.JSX.Element;
22
22
  export declare namespace EntityCard {
23
23
  var displayName: string;
24
24
  }
@@ -9,6 +9,14 @@ export type FlowEdge = {
9
9
  to: string;
10
10
  };
11
11
  export type FlowCanvasProps<T extends FlowNode> = {
12
+ /** Zoom-out control label. */
13
+ zoomOutLabel?: string;
14
+ /** Zoom-in control label. */
15
+ zoomInLabel?: string;
16
+ /** Reset-view control label. */
17
+ resetLabel?: string;
18
+ /** Accessible title for the edges layer. */
19
+ edgesLabel?: string;
12
20
  nodes: T[];
13
21
  edges: FlowEdge[];
14
22
  /** Called with the next nodes after a node is dragged. */
@@ -26,7 +34,7 @@ export type FlowCanvasProps<T extends FlowNode> = {
26
34
  * measured from Attio's Workflows editor. Drag a node to move it (fires
27
35
  * `onNodesChange`); drag the background to pan; use the toolbar to zoom.
28
36
  */
29
- export declare function FlowCanvas<T extends FlowNode>({ nodes, edges, onNodesChange, renderNode, nodeWidth, nodeHeight, "aria-label": ariaLabel, className, }: FlowCanvasProps<T>): React.JSX.Element;
37
+ export declare function FlowCanvas<T extends FlowNode>({ nodes, edges, onNodesChange, renderNode, nodeWidth, nodeHeight, "aria-label": ariaLabel, className, zoomOutLabel, zoomInLabel, resetLabel, edgesLabel, }: FlowCanvasProps<T>): React.JSX.Element;
30
38
  export declare namespace FlowCanvas {
31
39
  var displayName: string;
32
40
  }
@@ -8,6 +8,12 @@ export type OnboardingStep = {
8
8
  done?: boolean;
9
9
  };
10
10
  export type OnboardingChecklistProps = {
11
+ /** Label for the overflow-menu trigger. */
12
+ optionsLabel?: string;
13
+ /** Label for the minimise control. */
14
+ minimizeLabel?: string;
15
+ /** Accessible name for the progress bar. */
16
+ progressLabel?: string;
11
17
  title?: React.ReactNode;
12
18
  steps: OnboardingStep[];
13
19
  /** Subtitle after "N/total steps completed" (default "Keep it up!"). */
@@ -25,7 +31,7 @@ export type OnboardingChecklistProps = {
25
31
  * started" widget. Title + optional menu/minimize, a segmented progress bar,
26
32
  * and step rows (completed rows strike through with a brand check).
27
33
  */
28
- export declare function OnboardingChecklist({ title, steps, encouragement, onStepClick, onMenu, onMinimize, className, }: OnboardingChecklistProps): React.JSX.Element;
34
+ export declare function OnboardingChecklist({ title, steps, encouragement, onStepClick, onMenu, onMinimize, className, optionsLabel, minimizeLabel, progressLabel, }: OnboardingChecklistProps): React.JSX.Element;
29
35
  export declare namespace OnboardingChecklist {
30
36
  var displayName: string;
31
37
  }
@@ -5,12 +5,76 @@ export type RecordPageProps = {
5
5
  columns: Column[];
6
6
  /** Breadcrumb label + back button target (e.g. "Companies"). */
7
7
  collection?: string;
8
+ /** Partial override of the chrome strings; see `recordPageLabels`. */
9
+ labels?: RecordPageLabelsInput;
8
10
  onBack?: () => void;
9
11
  /** When provided, shows a maximise/minimise button in the top bar. */
10
12
  onToggleFull?: () => void;
11
13
  full?: boolean;
12
14
  className?: string;
13
15
  };
16
+ /**
17
+ * Every chrome string RecordPage renders. Supplied as a PARTIAL map, so
18
+ * translating one control does not mean restating the other fifty; anything
19
+ * omitted keeps its English default from `recordPageLabels`.
20
+ *
21
+ * The record's own field labels and values are NOT here — those arrive through
22
+ * `record` and `columns`, and are the consumer's data. What this covers is the
23
+ * surface crisp draws around them: the tab strip, the Highlights stats (a fixed
24
+ * set measured from Attio, not consumer data), the action bar and the feed.
25
+ */
26
+ export type RecordPageLabels = {
27
+ breadcrumb: string;
28
+ editRecord: string;
29
+ recordActions: string;
30
+ addToFavourites: string;
31
+ removeFromFavourites: string;
32
+ copyRecordLink: string;
33
+ deleteRecord: string;
34
+ linkRecords: string;
35
+ logANote: string;
36
+ createATask: string;
37
+ fullScreen: string;
38
+ exitFullScreen: string;
39
+ resizeDetails: string;
40
+ composeEmail: string;
41
+ askAttio: string;
42
+ addToList: string;
43
+ highlights: string;
44
+ recordDetails: string;
45
+ searchFields: string;
46
+ closeSearch: string;
47
+ searchPlaceholder: string;
48
+ viewAllValues: string;
49
+ setAValue: string;
50
+ viewAll: string;
51
+ showLess: string;
52
+ viewLess: string;
53
+ newNote: string;
54
+ newTask: string;
55
+ cancel: string;
56
+ noNotesYet: string;
57
+ noTasksYet: string;
58
+ nothingHereYet: string;
59
+ you: string;
60
+ justNow: string;
61
+ /** Tab names, keyed by tab. */
62
+ tabs: Record<"overview" | "activity" | "emails" | "calls" | "team" | "lists" | "notes" | "tasks" | "files", string>;
63
+ /** Highlight stat names and their empty states, keyed by stat. */
64
+ highlightLabels: Record<"connectionStrength" | "nextInteraction" | "team" | "estimatedArr" | "fundingRaised" | "employeeRange" | "associatedDeals", string>;
65
+ highlightEmpty: Record<"connectionStrength" | "nextInteraction" | "team" | "estimatedArr" | "fundingRaised" | "employeeRange" | "associatedDeals", string>;
66
+ /** Activity line for a changed domain, given the new value. */
67
+ domainSetTo: (value: React.ReactNode) => React.ReactNode;
68
+ /** Activity line for added categories, given how many. */
69
+ taggedCategories: (count: number) => React.ReactNode;
70
+ };
71
+ export declare const recordPageLabels: RecordPageLabels;
72
+ /** Partial override of any chrome string; the keyed maps nest. */
73
+ export type RecordPageLabelsInput = Partial<Omit<RecordPageLabels, "tabs" | "highlightLabels" | "highlightEmpty">> & {
74
+ tabs?: Partial<RecordPageLabels["tabs"]>;
75
+ highlightLabels?: Partial<RecordPageLabels["highlightLabels"]>;
76
+ highlightEmpty?: Partial<RecordPageLabels["highlightEmpty"]>;
77
+ };
14
78
  /**
15
79
  * The full-page company record view — the page Attio opens when you click into a
16
80
  * record (as opposed to the peek [RecordPanel]). A top breadcrumb bar with
@@ -19,7 +83,7 @@ export type RecordPageProps = {
19
83
  * Emails sections (Notes & Tasks are live — add and check things off). Drop it
20
84
  * into the app's main content area.
21
85
  */
22
- export declare function RecordPage({ record, columns, collection, onBack, onToggleFull, full, className, }: RecordPageProps): React.JSX.Element;
86
+ export declare function RecordPage({ record, columns, collection, labels, onBack, onToggleFull, full, className, }: RecordPageProps): React.JSX.Element;
23
87
  export declare namespace RecordPage {
24
88
  var displayName: string;
25
89
  }
@@ -1,7 +1,13 @@
1
1
  import * as React from "react";
2
2
  import { type Column, type Row } from "../recordstable";
3
- export type RecordPanelProps = {
3
+ export type RecordPanelProps = Omit<React.ComponentPropsWithoutRef<"div">, "children" | "title"> & {
4
4
  /** The record to show; render nothing when null. */
5
+ /** Label for the close control. */
6
+ closeLabel?: string;
7
+ /** Heading above the field list. */
8
+ detailsLabel?: React.ReactNode;
9
+ /** Shown in place of a field that has no value. */
10
+ emptyLabel?: React.ReactNode;
5
11
  record: Row | null;
6
12
  columns: Column[];
7
13
  onClose: () => void;
@@ -13,7 +19,7 @@ export type RecordPanelProps = {
13
19
  * relative` container (e.g. the app main area); it slides in from the right and
14
20
  * overlays the content.
15
21
  */
16
- export declare function RecordPanel({ record, columns, onClose, className, }: RecordPanelProps): React.JSX.Element | null;
22
+ export declare function RecordPanel({ record, columns, onClose, className, closeLabel, detailsLabel, emptyLabel, ...rest }: RecordPanelProps): React.JSX.Element | null;
17
23
  export declare namespace RecordPanel {
18
24
  var displayName: string;
19
25
  }
@@ -0,0 +1 @@
1
+ export declare const companyLogos: Record<string, string>;
@@ -18,6 +18,9 @@ export type Column = {
18
18
  key: string;
19
19
  label: string;
20
20
  type?: ColumnType;
21
+ /** Mark the column's values as AI-enriched — tints the cells the way Attio
22
+ * washes enriched values (#9b69ff at 4%). */
23
+ enriched?: boolean;
21
24
  icon?: IconType;
22
25
  width?: number;
23
26
  /** Currency symbol for `currency` columns (default "$"). */
@@ -26,6 +29,42 @@ export type Column = {
26
29
  options?: StatusOption[];
27
30
  /** Choices for a `reference` column (a searchable record picker). */
28
31
  refOptions?: ReferenceOption[];
32
+ /**
33
+ * Full custom cell content — an escape hatch for a display crisp can't
34
+ * express via `type` (sign-coloured currency, a maskable amount, a custom
35
+ * badge, …). Precedence is **`render` > `format` > the built-in `type`
36
+ * renderer**: when `render` is set it is the *only* thing drawn in the
37
+ * cell, replacing whatever `type` would normally render.
38
+ *
39
+ * Interaction contract for a `render` column: it keeps every grid chrome —
40
+ * row height, hairlines, padding, hover/selected tint, the cell focus ring,
41
+ * shift-click range select, the right-click row menu — but is **never**
42
+ * inline-editable and never shows a `type` picker (status/reference/date/
43
+ * tags), because crisp has no way to write a value back into custom
44
+ * content. Use `format` instead if the column should stay editable.
45
+ *
46
+ * ⌘C copies `format(value, row)` when the column also has one, otherwise
47
+ * the raw value stringified the same way a plain column would — never a
48
+ * serialization of the rendered node. Sort, filter, and the footer
49
+ * aggregation all read `row[column.key]` directly and never call `render`.
50
+ */
51
+ render?: (value: unknown, row: Row) => React.ReactNode;
52
+ /**
53
+ * Display-only string transform. Unlike `render`, a `format` column keeps
54
+ * the built-in `type` renderer's chrome (a `currency`/`number` column stays
55
+ * right-aligned in its numeric span; `text`/`url`/`date`/the default case
56
+ * keep their own wrapper) — `format`'s return value simply replaces the
57
+ * text that renderer would otherwise show. `format` fully owns that text,
58
+ * so a `currency` column's `format` should include its own symbol/masking
59
+ * if it wants one (the built-in `$` prefix is skipped once `format` is
60
+ * set). A `format` column stays editable/pickable exactly like a plain
61
+ * `type` column — only `render` disables that.
62
+ *
63
+ * Sort, filter, and the footer aggregation all read the **raw**
64
+ * `row[column.key]` value, never `format`'s output — so a grouped/prefixed
65
+ * currency string still sums and sorts numerically.
66
+ */
67
+ format?: (value: unknown, row: Row) => string;
29
68
  };
30
69
  export type EntityValue = {
31
70
  name: string;
@@ -35,6 +74,8 @@ export type Row = {
35
74
  id: string;
36
75
  } & Record<string, any>;
37
76
  export type RecordsTableProps = {
77
+ /** Partial override of the chrome strings; see `recordsTableLabels`. */
78
+ labels?: RecordsTableLabelsInput;
38
79
  columns?: Column[];
39
80
  rows?: Row[];
40
81
  /** Controlled selection — omit for self-managed selection state. */
@@ -48,9 +89,98 @@ export type RecordsTableProps = {
48
89
  onOpenRecord?: (row: Row) => void;
49
90
  /** Called when a row's entity name is clicked — navigate to its full record page. */
50
91
  onOpenRecordPage?: (row: Row) => void;
92
+ /** Tone for `entity`/`reference` avatars: `"brand"` (uniform, today's
93
+ * measured Attio records-grid behaviour — the default) or `"hashed"` (a
94
+ * stable colour per name, matching what `DataTable`'s `avatarTone` offers).
95
+ * Entity avatars only — `TAG_TONES`/tag/status tone logic is untouched. */
96
+ avatarTone?: "brand" | "hashed";
51
97
  className?: string;
52
98
  };
53
99
  export declare function tagTone(t: string): string;
100
+ type Agg = "none" | "count" | "filled" | "sum" | "avg" | "min" | "max";
101
+ /**
102
+ * Every chrome string RecordsTable renders. Supplied as a PARTIAL map, so
103
+ * translating one menu item does not mean restating the other fifty; anything
104
+ * omitted keeps its English default from `recordsTableLabels`.
105
+ *
106
+ * The interpolated ones are formatters rather than templates because word
107
+ * order does not survive translation — "Sorted by Name +2" has no stable
108
+ * arrangement of its parts across languages (the same reason TableToolbar's
109
+ * triggers take formatters, #77).
110
+ */
111
+ export type RecordsTableLabels = {
112
+ selectAll: string;
113
+ sort: string;
114
+ sortField: string;
115
+ sortDirection: string;
116
+ removeSort: string;
117
+ reorderSort: string;
118
+ addSort: string;
119
+ ascending: string;
120
+ descending: string;
121
+ noSorts: string;
122
+ learnSorting: string;
123
+ filter: string;
124
+ addFilter: string;
125
+ filterByField: string;
126
+ filterByPlaceholder: string;
127
+ filterValuePlaceholder: string;
128
+ selectCondition: string;
129
+ clearFilter: string;
130
+ addColumn: string;
131
+ columnLabel: string;
132
+ editColumnLabel: string;
133
+ hideFromView: string;
134
+ moveLeft: string;
135
+ moveRight: string;
136
+ sortAscending: string;
137
+ sortDescending: string;
138
+ newRecord: string;
139
+ createRecord: string;
140
+ createMore: string;
141
+ newButton: string;
142
+ more: string;
143
+ moreActions: string;
144
+ recordActions: string;
145
+ copy: string;
146
+ duplicate: string;
147
+ addToList: string;
148
+ inAList: string;
149
+ delete: string;
150
+ sendEmail: string;
151
+ exportCsv: string;
152
+ runWorkflow: string;
153
+ calculate: string;
154
+ emptyPlaceholder: string;
155
+ setRecordPlaceholder: string;
156
+ noRecords: string;
157
+ untitled: string;
158
+ /** Aggregation names, keyed by the aggregation. */
159
+ agg: Record<Agg, string>;
160
+ /** Filter operator names, keyed by the operator. */
161
+ op: Record<FilterOp, string>;
162
+ /** Title of the create dialog, given the entity column's label. */
163
+ newRecordTitle: (entity: string) => string;
164
+ /** Placeholder for a create-dialog field, given the field's label. */
165
+ setFieldPlaceholder: (field: string) => string;
166
+ /** Label for a newly added column, given how many columns exist. */
167
+ newColumnLabel: (index: number) => string;
168
+ /** The sort trigger, given the first sorted column and how many more. */
169
+ sortedBy: (first: string, extra: number) => string;
170
+ /** The filter trigger, given how many filters are active. */
171
+ filterCount: (active: number) => string;
172
+ /** The row count under the table. */
173
+ recordCount: (n: number) => string;
174
+ /** Heading above a filter chip's condition editor. */
175
+ conditionTitle: (field: string) => string;
176
+ };
177
+ export declare const recordsTableLabels: RecordsTableLabels;
178
+ /** Partial override of any chrome string; the two keyed maps nest. */
179
+ export type RecordsTableLabelsInput = Partial<Omit<RecordsTableLabels, "agg" | "op">> & {
180
+ agg?: Partial<Record<Agg, string>>;
181
+ op?: Partial<Record<FilterOp, string>>;
182
+ };
183
+ type FilterOp = "contains" | "is" | "isnot" | "empty" | "notempty";
54
184
  /**
55
185
  * Attio-style record grid — fully featured. Toolbar (search / sort status /
56
186
  * count / New), sticky checkbox + entity columns, 36px rows, typed cells,
@@ -59,7 +189,7 @@ export declare function tagTone(t: string): string;
59
189
  * and a floating bulk-action bar (delete / deselect) when rows are selected.
60
190
  * Selection can be controlled via `selectedIds`/`onSelectionChange`.
61
191
  */
62
- export declare function RecordsTable({ columns: columnsProp, rows: rowsProp, selectedIds, onSelectionChange, showNew, allowAddColumn, onOpenRecord, onOpenRecordPage, className, }: RecordsTableProps): React.JSX.Element;
192
+ export declare function RecordsTable({ labels, columns: columnsProp, rows: rowsProp, selectedIds, onSelectionChange, showNew, allowAddColumn, onOpenRecord, onOpenRecordPage, avatarTone, className, }: RecordsTableProps): React.JSX.Element;
63
193
  export declare const defaultColumns: Column[];
64
194
  export declare const defaultRows: Row[];
65
195
  export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The record tag/chip, measured from Attio: 22px tall, `padding: 0 4px`,
3
+ * `border-radius: ${c.radius.chip}`, 14px/20px at weight 500, and a 1px inset ring in the
4
+ * tone's colour.
5
+ *
6
+ * Shared because RecordsTable and RecordPanel render the *same* chip. It used
7
+ * to be pasted into both recipes, and the two copies had already started to
8
+ * drift — adding the measured inset ring meant patching the same rules twice.
9
+ */
10
+ export declare const recordTagCss: string;