@servicetitan/anvil2 3.15.0 → 3.15.2

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 (414) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{AiMark-D57s1e0T.js → AiMark-N8UfGfcV.js} +2 -2
  3. package/dist/{AiMark-D57s1e0T.js.map → AiMark-N8UfGfcV.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-DExHiAbM.js → Alert-DTKIlitZ.js} +3 -3
  6. package/dist/{Alert-DExHiAbM.js.map → Alert-DTKIlitZ.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-CGTv6M31.js → Announcement-Cnz80WGx.js} +2 -2
  9. package/dist/{Announcement-CGTv6M31.js.map → Announcement-Cnz80WGx.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{Breadcrumbs-DtLSS0PJ.js → Breadcrumbs-B8UGx4Mq.js} +2 -2
  12. package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-B8UGx4Mq.js.map} +1 -1
  13. package/dist/Breadcrumbs.js +1 -1
  14. package/dist/{Button-Dwh_Nd4l.js → Button-Dn6-01xl.js} +230 -67
  15. package/dist/Button-Dn6-01xl.js.map +1 -0
  16. package/dist/Button.js +1 -1
  17. package/dist/{ButtonToggle-DKDBD1g3.js → ButtonToggle-BSU8GBxr.js} +2 -2
  18. package/dist/{ButtonToggle-DKDBD1g3.js.map → ButtonToggle-BSU8GBxr.js.map} +1 -1
  19. package/dist/ButtonToggle.js +1 -1
  20. package/dist/{Calendar-CEf7ke8X.js → Calendar-CpmaI3b6.js} +3 -3
  21. package/dist/Calendar-CpmaI3b6.js.map +1 -0
  22. package/dist/{Calendar-BUFPc5UN.js → Calendar-Cv07q_tE.js} +2 -2
  23. package/dist/Calendar-Cv07q_tE.js.map +1 -0
  24. package/dist/Calendar.js +2 -2
  25. package/dist/{Checkbox-DVy-QESI.js → Checkbox-cB0D9W0a.js} +3 -3
  26. package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-cB0D9W0a.js.map} +1 -1
  27. package/dist/{Checkbox-DBE35nMv.js → Checkbox-jomKCuAj.js} +2 -2
  28. package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-jomKCuAj.js.map} +1 -1
  29. package/dist/Checkbox.js +1 -1
  30. package/dist/{Chip-B4G4zaP-.js → Chip-DivZ3OuB.js} +2 -2
  31. package/dist/{Chip-B4G4zaP-.js.map → Chip-DivZ3OuB.js.map} +1 -1
  32. package/dist/Chip.js +1 -1
  33. package/dist/Combobox.js +1 -1
  34. package/dist/{DataTable-DbuXfDNJ.js → DataTable-_XXxSbvH.js} +16 -41
  35. package/dist/DataTable-_XXxSbvH.js.map +1 -0
  36. package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-31zIfcR2.js} +4 -4
  37. package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-31zIfcR2.js.map} +1 -1
  38. package/dist/DateFieldRange.js +1 -1
  39. package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-DDFe1inZ.js} +4 -4
  40. package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-DDFe1inZ.js.map} +1 -1
  41. package/dist/DateFieldSingle.js +1 -1
  42. package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-Cv34myLZ.js} +4 -4
  43. package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-Cv34myLZ.js.map} +1 -1
  44. package/dist/DateFieldYearless.js +1 -1
  45. package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-D_ftkt3w.js} +3 -3
  46. package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-D_ftkt3w.js.map} +1 -1
  47. package/dist/DateFieldYearlessRange.js +1 -1
  48. package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-D4tUHUay.js} +3 -3
  49. package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-D4tUHUay.js.map} +1 -1
  50. package/dist/DaysOfTheWeek.js +1 -1
  51. package/dist/{Details-oM-nR4ju.js → Details-BxqP-5vp.js} +11 -9
  52. package/dist/Details-BxqP-5vp.js.map +1 -0
  53. package/dist/Details.css +18 -14
  54. package/dist/Details.js +1 -1
  55. package/dist/{Dialog-vSiZAR1y.js → Dialog-B2QAFibn.js} +4 -4
  56. package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B2QAFibn.js.map} +1 -1
  57. package/dist/Dialog.js +1 -1
  58. package/dist/{DialogCancelButton-DBL0aKTK.js → DialogCancelButton-C0r8hJ8Z.js} +2 -2
  59. package/dist/{DialogCancelButton-DBL0aKTK.js.map → DialogCancelButton-C0r8hJ8Z.js.map} +1 -1
  60. package/dist/{Drawer-B4pxj_2P.js → Drawer-CBIOWwh3.js} +5 -5
  61. package/dist/{Drawer-B4pxj_2P.js.map → Drawer-CBIOWwh3.js.map} +1 -1
  62. package/dist/Drawer.js +1 -1
  63. package/dist/DrillDown.js +1 -1
  64. package/dist/{EditCard-CX1G7G2Q.js → EditCard-Q6WlsM4O.js} +3 -3
  65. package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-Q6WlsM4O.js.map} +1 -1
  66. package/dist/EditCard.js +1 -1
  67. package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-FsNIjn8T.js} +2 -2
  68. package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-FsNIjn8T.js.map} +1 -1
  69. package/dist/FieldLabel.js +1 -1
  70. package/dist/{FilterBar-CKYf-1oU.js → FilterBar-PXv7_svO.js} +7 -7
  71. package/dist/FilterBar-PXv7_svO.js.map +1 -0
  72. package/dist/FilterBar.js +1 -1
  73. package/dist/{InputMask-xMpquXPU.js → InputMask-BgZX650-.js} +3 -3
  74. package/dist/{InputMask-xMpquXPU.js.map → InputMask-BgZX650-.js.map} +1 -1
  75. package/dist/InputMask.js +1 -1
  76. package/dist/{InteractiveCard-C0g5PxB6.js → InteractiveCard-C2CYRtgQ.js} +3 -3
  77. package/dist/InteractiveCard-C2CYRtgQ.js.map +1 -0
  78. package/dist/InteractiveCard.js +1 -1
  79. package/dist/{ListView-D6l1KY92.js → ListView-aRwUEGI3.js} +2 -2
  80. package/dist/{ListView-D6l1KY92.js.map → ListView-aRwUEGI3.js.map} +1 -1
  81. package/dist/ListView.js +1 -1
  82. package/dist/{Listbox-Dep1eJ3u.js → Listbox-BCszel4v.js} +2 -2
  83. package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-BCszel4v.js.map} +1 -1
  84. package/dist/Listbox.js +1 -1
  85. package/dist/{Menu-eLxQwmZk.js → Menu-Da2OEN0o.js} +2 -2
  86. package/dist/{Menu-eLxQwmZk.js.map → Menu-Da2OEN0o.js.map} +1 -1
  87. package/dist/Menu.js +1 -1
  88. package/dist/{MenuFooter-fGSZYh8e.js → MenuFooter-D__gg92C.js} +2 -2
  89. package/dist/{MenuFooter-fGSZYh8e.js.map → MenuFooter-D__gg92C.js.map} +1 -1
  90. package/dist/MultiSelectField.js +1 -1
  91. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js → MultiSelectFieldSync-DY5wr7cT.js} +7 -7
  92. package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DY5wr7cT.js.map} +1 -1
  93. package/dist/MultiSelectMenu.js +1 -1
  94. package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-D3sfHivW.js} +5 -5
  95. package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-D3sfHivW.js.map} +1 -1
  96. package/dist/{NumberField-D5ZzEHg1.js → NumberField-CrvEEy_h.js} +4 -4
  97. package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CrvEEy_h.js.map} +1 -1
  98. package/dist/NumberField.js +1 -1
  99. package/dist/{Page-B2HZzNGP.js → Page-CS6x6C7Y.js} +18 -187
  100. package/dist/Page-CS6x6C7Y.js.map +1 -0
  101. package/dist/Page.js +1 -1
  102. package/dist/{Pagination-CAgXtt9t.js → Pagination-DianLtHs.js} +5 -5
  103. package/dist/{Pagination-CAgXtt9t.js.map → Pagination-DianLtHs.js.map} +1 -1
  104. package/dist/Pagination.js +1 -1
  105. package/dist/{Popover-CjL2ixjB.js → Popover-BsEwcuu4.js} +2 -2
  106. package/dist/{Popover-CjL2ixjB.js.map → Popover-BsEwcuu4.js.map} +1 -1
  107. package/dist/Popover.js +1 -1
  108. package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-0pebwBJ0.js} +2 -2
  109. package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-0pebwBJ0.js.map} +1 -1
  110. package/dist/ProgressBar.js +1 -1
  111. package/dist/{Radio-_ftIQSru.js → Radio-BxXN612_.js} +3 -3
  112. package/dist/{Radio-_ftIQSru.js.map → Radio-BxXN612_.js.map} +1 -1
  113. package/dist/{Radio-C2BJqWlV.js → Radio-CU2--1uW.js} +2 -2
  114. package/dist/{Radio-C2BJqWlV.js.map → Radio-CU2--1uW.js.map} +1 -1
  115. package/dist/Radio.js +1 -1
  116. package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-Dnc7vOjq.js} +18831 -20238
  117. package/dist/RichTextEditor-Dnc7vOjq.js.map +1 -0
  118. package/dist/RichTextEditor.js +1 -1
  119. package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-BWlE7UnI.js} +10 -24
  120. package/dist/SavedFiltersButton-BWlE7UnI.js.map +1 -0
  121. package/dist/SavedFiltersButton.js +1 -1
  122. package/dist/{SegmentedControl-CtKoYHoO.js → SegmentedControl-BHVJmmTH.js} +3 -3
  123. package/dist/{SegmentedControl-CtKoYHoO.js.map → SegmentedControl-BHVJmmTH.js.map} +1 -1
  124. package/dist/SegmentedControl.js +1 -1
  125. package/dist/{SelectCard-BwIbfore.js → SelectCard-D2PAyR7T.js} +3 -3
  126. package/dist/{SelectCard-BwIbfore.js.map → SelectCard-D2PAyR7T.js.map} +1 -1
  127. package/dist/SelectCard.js +1 -1
  128. package/dist/SelectField.js +1 -1
  129. package/dist/{SelectFieldLabel-7VTZ83QJ.js → SelectFieldLabel-BXJJQ0zt.js} +2 -2
  130. package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BXJJQ0zt.js.map} +1 -1
  131. package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-CkWoMhrv.js} +6 -6
  132. package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-CkWoMhrv.js.map} +1 -1
  133. package/dist/SelectMenu.js +1 -1
  134. package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-C-6mULc_.js} +5 -5
  135. package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-C-6mULc_.js.map} +1 -1
  136. package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-pAkVhulQ.js} +2 -2
  137. package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-pAkVhulQ.js.map} +1 -1
  138. package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B9WUUdIu.js} +2 -2
  139. package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B9WUUdIu.js.map} +1 -1
  140. package/dist/SelectTrigger.js +1 -1
  141. package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-Dq7QDlPS.js} +4 -4
  142. package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-Dq7QDlPS.js.map} +1 -1
  143. package/dist/{Stepper-C-QC9QHx.js → Stepper-l_P6VPOv.js} +3 -3
  144. package/dist/{Stepper-C-QC9QHx.js.map → Stepper-l_P6VPOv.js.map} +1 -1
  145. package/dist/Stepper.js +1 -1
  146. package/dist/{Switch-DWq4QI8M.js → Switch-BS4bw5KF.js} +2 -2
  147. package/dist/{Switch-DWq4QI8M.js.map → Switch-BS4bw5KF.js.map} +1 -1
  148. package/dist/Switch.js +1 -1
  149. package/dist/{Tab-mXEQ0ifM.js → Tab-DR5YYXkq.js} +124 -19
  150. package/dist/Tab-DR5YYXkq.js.map +1 -0
  151. package/dist/Tab.js +1 -1
  152. package/dist/Table.js +1 -1
  153. package/dist/{Text-dONmlARH.js → Text-B_-Ldn9K.js} +2 -2
  154. package/dist/{Text-dONmlARH.js.map → Text-B_-Ldn9K.js.map} +1 -1
  155. package/dist/Text.js +1 -1
  156. package/dist/{TextField-CtXjbtqa.js → TextField-B6tVKoxq.js} +2 -2
  157. package/dist/{TextField-CtXjbtqa.js.map → TextField-B6tVKoxq.js.map} +1 -1
  158. package/dist/{TextField-CQ7e3mC4.js → TextField-DxQ6-IhP.js} +3 -3
  159. package/dist/{TextField-CQ7e3mC4.js.map → TextField-DxQ6-IhP.js.map} +1 -1
  160. package/dist/TextField.js +1 -1
  161. package/dist/{Textarea-DGVHQktZ.js → Textarea-oChzBuWz.js} +3 -3
  162. package/dist/{Textarea-DGVHQktZ.js.map → Textarea-oChzBuWz.js.map} +1 -1
  163. package/dist/Textarea.js +1 -1
  164. package/dist/{TimeField-AttXPsQw.js → TimeField-Dq7l8xNU.js} +4 -4
  165. package/dist/{TimeField-AttXPsQw.js.map → TimeField-Dq7l8xNU.js.map} +1 -1
  166. package/dist/TimeField.js +1 -1
  167. package/dist/Toast.js +2 -2
  168. package/dist/{Toaster-DYO8NLTo.js → Toaster-CsZkAOVn.js} +2 -2
  169. package/dist/{Toaster-DYO8NLTo.js.map → Toaster-CsZkAOVn.js.map} +1 -1
  170. package/dist/{Toaster-CNtAl-tF.js → Toaster-oK4dSBPK.js} +4 -4
  171. package/dist/{Toaster-CNtAl-tF.js.map → Toaster-oK4dSBPK.js.map} +1 -1
  172. package/dist/{Toolbar-BIbbaCxh.js → Toolbar-Bp-A2P4L.js} +5 -5
  173. package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-Bp-A2P4L.js.map} +1 -1
  174. package/dist/{Toolbar-B_lHD0c2.js → Toolbar-Do8KEjJJ.js} +11 -105
  175. package/dist/Toolbar-Do8KEjJJ.js.map +1 -0
  176. package/dist/Toolbar.js +2 -2
  177. package/dist/{ToolbarButtonToggle-BMBmBdw1.js → ToolbarButtonToggle-T8YnSJ5x.js} +2 -3
  178. package/dist/ToolbarButtonToggle-T8YnSJ5x.js.map +1 -0
  179. package/dist/TreeSelectField.js +1 -1
  180. package/dist/{TreeSelectFieldSync-CKnFwROC.js → TreeSelectFieldSync-BXfLbDBM.js} +7 -7
  181. package/dist/TreeSelectFieldSync-BXfLbDBM.js.map +1 -0
  182. package/dist/TreeSelectMenu.js +1 -1
  183. package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D7fQIyHr.js} +4 -4
  184. package/dist/TreeSelectMenuSync-D7fQIyHr.js.map +1 -0
  185. package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-Dkh84OCF.js} +10 -19
  186. package/dist/TypeaheadTextField-Dkh84OCF.js.map +1 -0
  187. package/dist/TypeaheadTextField.js +1 -1
  188. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-7y8xhacx.js} +2 -2
  189. package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-7y8xhacx.js.map} +1 -1
  190. package/dist/assets/icons/material.ts +184 -184
  191. package/dist/assets/icons/st.ts +9 -9
  192. package/dist/beta.js +18 -18
  193. package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-BVJZ01mE.js} +2 -2
  194. package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-BVJZ01mE.js.map} +1 -1
  195. package/dist/{filter-state-DW8YmRHb.js → filter-state-CPCn-owS.js} +55 -37
  196. package/dist/filter-state-CPCn-owS.js.map +1 -0
  197. package/dist/{index-Cw2HFh0a.js → index-D1WfdON1.js} +1549 -1582
  198. package/dist/index-D1WfdON1.js.map +1 -0
  199. package/dist/index.js +48 -48
  200. package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
  201. package/dist/react-ORV84FjM.js.map +1 -0
  202. package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
  203. package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
  204. package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
  205. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
  206. package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
  207. package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
  208. package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
  209. package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
  210. package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
  211. package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
  212. package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
  213. package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
  214. package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
  215. package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
  216. package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
  217. package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
  218. package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
  219. package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
  220. package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
  221. package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
  222. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
  223. package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
  224. package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
  225. package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
  226. package/dist/src/beta/components/Page/Page.d.ts +8 -166
  227. package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
  228. package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
  229. package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
  230. package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
  231. package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
  232. package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
  233. package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
  234. package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
  235. package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
  236. package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
  237. package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
  238. package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
  239. package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
  240. package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
  241. package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
  242. package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
  243. package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
  244. package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
  245. package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
  246. package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
  247. package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
  248. package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
  249. package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
  250. package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
  251. package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
  252. package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
  253. package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
  254. package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
  255. package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
  256. package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
  257. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
  258. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
  259. package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
  260. package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
  261. package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
  262. package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
  263. package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
  264. package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
  265. package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
  266. package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
  267. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
  268. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
  269. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
  270. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
  271. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
  272. package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
  273. package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
  274. package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
  275. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
  276. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
  277. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
  278. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
  279. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
  280. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
  281. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
  282. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
  283. package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
  284. package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
  285. package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
  286. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
  287. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
  288. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
  289. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
  290. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
  291. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
  292. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
  293. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
  294. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
  295. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
  296. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
  297. package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
  298. package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
  299. package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
  300. package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
  301. package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
  302. package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
  303. package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
  304. package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
  305. package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
  306. package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
  307. package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
  308. package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
  309. package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
  310. package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
  311. package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
  312. package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
  313. package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
  314. package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
  315. package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
  316. package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
  317. package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
  318. package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
  319. package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
  320. package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
  321. package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
  322. package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
  323. package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
  324. package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
  325. package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
  326. package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
  327. package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
  328. package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
  329. package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
  330. package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
  331. package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
  332. package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
  333. package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
  334. package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
  335. package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
  336. package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
  337. package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
  338. package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
  339. package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
  340. package/dist/src/beta/components/Table/types.d.ts +183 -462
  341. package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
  342. package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
  343. package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
  344. package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
  345. package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
  346. package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
  347. package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
  348. package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
  349. package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
  350. package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
  351. package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
  352. package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
  353. package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
  354. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
  355. package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
  356. package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
  357. package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
  358. package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
  359. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
  360. package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
  361. package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
  362. package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
  363. package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
  364. package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
  365. package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
  366. package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
  367. package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
  368. package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
  369. package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
  370. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
  371. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
  372. package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
  373. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
  374. package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
  375. package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
  376. package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
  377. package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
  378. package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-CcwDEdw0.js} +2 -2
  379. package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-CcwDEdw0.js.map} +1 -1
  380. package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ubEYuRGQ.js} +4 -4
  381. package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ubEYuRGQ.js.map} +1 -1
  382. package/dist/{treeSync-CDrgjuw8.js → treeSync-CkjyJSVq.js} +5 -11
  383. package/dist/treeSync-CkjyJSVq.js.map +1 -0
  384. package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
  385. package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
  386. package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-DOXav1An.js} +3 -3
  387. package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-DOXav1An.js.map} +1 -1
  388. package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-15_SoeWw.js} +4 -4
  389. package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-15_SoeWw.js.map} +1 -1
  390. package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-DiRbyJFp.js} +4 -4
  391. package/dist/useInvalidateOnOptionsChange-DiRbyJFp.js.map +1 -0
  392. package/package.json +22 -20
  393. package/dist/Button-Dwh_Nd4l.js.map +0 -1
  394. package/dist/Calendar-BUFPc5UN.js.map +0 -1
  395. package/dist/Calendar-CEf7ke8X.js.map +0 -1
  396. package/dist/DataTable-DbuXfDNJ.js.map +0 -1
  397. package/dist/Details-oM-nR4ju.js.map +0 -1
  398. package/dist/FilterBar-CKYf-1oU.js.map +0 -1
  399. package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
  400. package/dist/Page-B2HZzNGP.js.map +0 -1
  401. package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
  402. package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
  403. package/dist/Tab-mXEQ0ifM.js.map +0 -1
  404. package/dist/Toolbar-B_lHD0c2.js.map +0 -1
  405. package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
  406. package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
  407. package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
  408. package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
  409. package/dist/filter-state-DW8YmRHb.js.map +0 -1
  410. package/dist/index-Cw2HFh0a.js.map +0 -1
  411. package/dist/proxy-DEehATlA.js.map +0 -1
  412. package/dist/treeSync-CDrgjuw8.js.map +0 -1
  413. package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
  414. package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
@@ -7,13 +7,11 @@ import { MultiSelectMenuOption } from '../../../components/MultiSelectMenu';
7
7
  import { MultiSelectMenuSyncProps } from '../../../components/MultiSelectMenu/MultiSelectMenuSync';
8
8
  import { MultiSelectMenuProps } from '../../../components/MultiSelectMenu/types';
9
9
  /**
10
- * Column type literals for display configuration.
11
- * Each type maps to a default formatter and alignment.
10
+ * Built-in display treatments. Each maps to default formatting and alignment.
12
11
  */
13
12
  export type ColumnType = "text" | "number" | "currency" | "percent" | "date" | "dateTime" | "time" | "boolean" | "markdown" | "html";
14
13
  /**
15
- * Maps column types to their formatter options.
16
- * Used for type-safe formatter configuration.
14
+ * Formatter options accepted by each built-in column type.
17
15
  */
18
16
  export type ColumnTypeOptionsMap = {
19
17
  text: undefined;
@@ -28,15 +26,12 @@ export type ColumnTypeOptionsMap = {
28
26
  html: undefined;
29
27
  };
30
28
  /**
31
- * Column type configuration.
32
- * Can be a simple type string (uses defaults) or an object with custom options.
29
+ * Built-in type shorthand, or an object that customizes its formatter.
33
30
  *
34
31
  * @example
35
32
  * ```ts
36
- * // Simple - uses default formatter options
37
33
  * type: "currency"
38
34
  *
39
- * // With options - customizes formatter behavior
40
35
  * type: { type: "currency", options: { currency: "EUR", locale: "de-DE" } }
41
36
  * ```
42
37
  */
@@ -44,21 +39,10 @@ export type ColumnTypeConfig<T extends ColumnType = ColumnType> = T | {
44
39
  type: T;
45
40
  options: ColumnTypeOptionsMap[T];
46
41
  };
47
- /**
48
- * Edit mode literals for editable cells.
49
- */
42
+ /** Supported `editConfig` discriminants. */
50
43
  export type EditMode = "text" | "number" | "select" | "select-async" | "multiselect" | "multiselect-async" | "boolean" | "custom";
51
- /**
52
- * Base edit configuration shared by all edit modes.
53
- * @template T - The row data type
54
- * @template K - The column key
55
- */
56
44
  type BaseEditConfig<T, K extends keyof T> = {
57
- /**
58
- * Callback fired when the cell value is saved.
59
- * @param value - The new value
60
- * @param rowId - The id of the row being edited
61
- */
45
+ /** Persists the committed value for the identified row. */
62
46
  onChange: (value: T[K], rowId: string) => void;
63
47
  };
64
48
  type CustomEditInvalidPresentValue<TValue> = Extract<NonNullable<TValue>, readonly unknown[]> | Extract<NonNullable<TValue>, (...args: never[]) => unknown> | Exclude<NonNullable<TValue>, object>;
@@ -66,91 +50,75 @@ type CustomEditPresentObjectValueForValue<TValue> = [
66
50
  CustomEditInvalidPresentValue<TValue>
67
51
  ] extends [never] ? NonNullable<TValue> extends object ? NonNullable<TValue> : never : never;
68
52
  type CustomEditPartialPresentValue<TValue extends object> = TValue extends object ? Partial<TValue> : never;
53
+ /** Nullish members explicitly allowed by a custom-edit value type. */
69
54
  export type CustomEditAllowedNullishValue<TValue> = Extract<TValue, null | undefined>;
55
+ /**
56
+ * The non-null object accepted by custom edit mode, or `never` when the value
57
+ * also permits arrays, functions, or non-object members.
58
+ */
70
59
  export type CustomEditPresentObjectValue<T, K extends keyof T> = CustomEditPresentObjectValueForValue<T[K]>;
60
+ /** A partial custom-edit object plus nullish members declared by the value type. */
71
61
  export type CustomEditDraftValueForValue<TValue> = [
72
62
  CustomEditPresentObjectValueForValue<TValue>
73
63
  ] extends [never] ? never : CustomEditPartialPresentValue<CustomEditPresentObjectValueForValue<TValue>> | CustomEditAllowedNullishValue<TValue>;
64
+ /** Draft shape for a custom-edit column. */
74
65
  export type CustomEditDraftValue<T, K extends keyof T> = CustomEditDraftValueForValue<T[K]>;
66
+ /** Committed row value captured when custom editing begins. */
75
67
  export type CustomEditInitialValue<T, K extends keyof T> = T[K];
68
+ /** Direct field value or updater receiving the current field and full draft. */
76
69
  export type CustomEditFieldValueUpdater<TValue extends object, TField extends keyof TValue> = TValue[TField] | ((previousValue: TValue[TField] | undefined, draftValue: Partial<TValue>) => TValue[TField]);
70
+ /** Events and commands that can request custom-editor closure. */
77
71
  export type CustomEditCloseReason = "submit" | "escape" | "outside-click" | "close-button" | "programmatic";
72
+ /** Form- and field-level messages for a custom-editor draft. */
78
73
  export type CustomEditValidation<TValue extends object> = {
79
- /**
80
- * Form-level validation summary for the entire editor.
81
- */
74
+ /** Editor-wide message shown independently of individual fields. */
82
75
  formError?: ReactNode;
83
- /**
84
- * Field-level validation messages keyed by draft field.
85
- */
76
+ /** Messages keyed by draft field. */
86
77
  fieldErrors?: Partial<Record<keyof TValue, ReactNode>>;
87
78
  };
79
+ /** Presentation and keyboard overrides for the custom-editor Surface. */
88
80
  export type CustomEditSurfaceConfig = {
89
- /**
90
- * Optional title rendered in the editor surface header.
91
- */
81
+ /** Header content; omitting it removes the header title. */
92
82
  title?: ReactNode;
93
- /**
94
- * Optional surface width.
95
- */
83
+ /** CSS width of the editor Surface. */
96
84
  width?: number | string;
97
- /**
98
- * Optional surface max height.
99
- */
85
+ /** CSS max-height of the editor Surface. */
100
86
  maxHeight?: number | string;
101
- /**
102
- * Accessible label for the close button.
103
- */
87
+ /** Accessible name for the header close button. */
104
88
  closeButtonLabel?: string;
105
- /**
106
- * Optional keydown handler forwarded to the surface.
107
- */
89
+ /** Runs before built-in key handling; prevent default to skip that handling. */
108
90
  onKeyDown?: (event: ReactKeyboardEvent<HTMLDivElement>) => void;
109
91
  };
92
+ /** Draft state supplied when custom-editor closure is requested. */
110
93
  export type CustomEditCloseRequest<TValue extends object, TDraftValue = Partial<TValue>, TInitialValue = TValue> = {
111
- /**
112
- * Why the close was requested.
113
- */
94
+ /** Trigger that initiated this request. */
114
95
  reason: CustomEditCloseReason;
115
- /**
116
- * Draft value at the time the request is evaluated.
117
- */
96
+ /** Draft snapshot evaluated by the close policy. */
118
97
  draftValue: TDraftValue;
119
- /**
120
- * Original committed value when editing began.
121
- */
98
+ /** Committed value captured when editing began. */
122
99
  initialValue: TInitialValue;
123
- /**
124
- * Whether the draft differs from the initial value.
125
- */
100
+ /** Whether draft and initial values differ. */
126
101
  isDirty: boolean;
127
- /**
128
- * Current validation metadata.
129
- */
102
+ /** Validation snapshot evaluated by the close policy. */
130
103
  validation: CustomEditValidation<TValue>;
131
104
  };
105
+ /** Draft, validation, focus, and lifecycle controls for a custom editor. */
132
106
  export type CustomEditController<TValue extends object, TDraftValue = Partial<TValue>, TInitialValue = TValue> = {
133
107
  /**
134
108
  * Current local draft. Custom editors may hold a partial object, or a
135
109
  * row-type-supported nullish value.
136
110
  */
137
111
  draftValue: TDraftValue;
138
- /**
139
- * Original value before editing began.
140
- */
112
+ /** Committed value captured when editing began. */
141
113
  initialValue: TInitialValue;
142
- /**
143
- * Whether the draft differs from the initial value.
144
- */
114
+ /** Whether draft and initial values differ. */
145
115
  isDirty: boolean;
146
116
  /**
147
117
  * Ordered list of changed object fields. Whole-value nullish changes are
148
118
  * represented by `isDirty`, not by synthetic field names.
149
119
  */
150
120
  changedFields: ReadonlyArray<keyof TValue>;
151
- /**
152
- * Current validation metadata for the draft.
153
- */
121
+ /** Validation metadata for the current draft. */
154
122
  validation: CustomEditValidation<TValue>;
155
123
  /**
156
124
  * Replace the entire draft value. Null and undefined are accepted only when
@@ -162,33 +130,29 @@ export type CustomEditController<TValue extends object, TDraftValue = Partial<TV
162
130
  * nullish, a partial object containing this field is synthesized.
163
131
  */
164
132
  setDraftField: <TField extends keyof TValue>(field: TField, nextValue: CustomEditFieldValueUpdater<TValue, TField>) => TDraftValue;
165
- /**
166
- * Submit the current draft and close the editor.
167
- */
133
+ /** Commits the current draft and closes when policy allows. */
168
134
  submit: () => void;
169
- /**
170
- * Restore the initial value and close the editor.
171
- */
135
+ /** Restores the initial value and closes without committing. */
172
136
  discard: () => void;
173
137
  /**
174
138
  * Request closure using the configured policy for the supplied reason.
175
139
  */
176
140
  requestClose: (reason: CustomEditCloseReason) => void;
177
- /**
178
- * Register the one preferred initial-focus action for the editor.
179
- */
141
+ /** Registers the editor's one preferred initial-focus action. */
180
142
  setInitialFocus: (focus: (() => void) | null) => void;
181
- /**
182
- * Canonical submit handler for form-based editors.
183
- */
143
+ /** Prevents native submission, then delegates to {@link submit}. */
184
144
  handleSubmit: (event?: {
185
145
  preventDefault?: () => void;
186
146
  }) => void;
187
147
  };
148
+ /** Row data available to read-path renderers and text extractors. */
188
149
  export type ColumnReadRenderContext<T> = {
150
+ /** Full row for cross-field read rendering. */
189
151
  row: T;
152
+ /** Zero-based nesting depth. */
190
153
  depth: number;
191
154
  };
155
+ /** Rich read content paired with optional sortable text. */
192
156
  export type ColumnReadRenderResult = {
193
157
  /**
194
158
  * Advanced read-path rendered content.
@@ -196,19 +160,14 @@ export type ColumnReadRenderResult = {
196
160
  * this shape when one hook should return both rendered content and sortable text.
197
161
  */
198
162
  content: ReactNode;
199
- /**
200
- * Optional sortable plain-text representation of the rendered content.
201
- */
163
+ /** Sortable plain text for the rendered content. */
202
164
  rawString?: string;
203
165
  };
166
+ /** Row and controller state supplied to a custom editor renderer. */
204
167
  export type CustomEditRenderContext<T, K extends keyof T> = {
205
- /**
206
- * Full row data for the cell being edited.
207
- */
168
+ /** Full row for cross-field editor behavior. */
208
169
  row: T;
209
- /**
210
- * String row id for the cell being edited.
211
- */
170
+ /** String-normalized id of the edited row. */
212
171
  rowId: string;
213
172
  /**
214
173
  * Committed value for the cell, exactly as declared by the row type.
@@ -220,47 +179,31 @@ export type CustomEditRenderContext<T, K extends keyof T> = {
220
179
  controller: CustomEditController<CustomEditPresentObjectValue<T, K>, CustomEditDraftValue<T, K>, CustomEditInitialValue<T, K>>;
221
180
  };
222
181
  /**
223
- * Edit configuration for custom mode cells.
224
- * Custom mode is for structured object-valued columns. The committed read
225
- * value remains `T[K]`; editable drafts may be partial objects, plus `null`
226
- * or `undefined` when those values are part of `T[K]`.
227
- *
228
- * @template T - The row data type
229
- * @template K - The column key
182
+ * Custom Surface editor for structured object columns. Drafts are partial
183
+ * objects plus any nullish members declared by the row value.
230
184
  */
231
185
  export type CustomEditConfig<T, K extends keyof T> = [
232
186
  CustomEditPresentObjectValue<T, K>
233
187
  ] extends [never] ? never : Omit<BaseEditConfig<T, K>, "onChange"> & {
234
- /**
235
- * Custom edit mode - renders a multi-field editor surface.
236
- */
188
+ /** Opens a consumer-rendered multi-field Surface editor. */
237
189
  mode: "custom";
238
190
  /**
239
191
  * Callback fired when the current draft is committed. The value is the
240
192
  * exact draft state: partial object, full object, or allowed nullish value.
241
193
  */
242
194
  onCommit: (value: CustomEditDraftValue<T, K>, rowId: string) => void;
243
- /**
244
- * Callback fired on every local draft mutation with the exact draft state.
245
- */
195
+ /** Observes every local draft mutation without committing it. */
246
196
  onDraftUpdate?: (value: CustomEditDraftValue<T, K>, rowId: string) => void;
247
- /**
248
- * Optional validation metadata derived from the current draft.
249
- */
197
+ /** Derives form and field errors from the current draft. */
250
198
  validateDraft?: (draftValue: CustomEditDraftValue<T, K>, rowId: string) => CustomEditValidation<CustomEditPresentObjectValue<T, K>> | undefined;
251
199
  /**
252
200
  * When true, submit-style close requests are blocked while validation contains
253
201
  * a form error or any field error. Defaults to `false`.
254
202
  */
255
203
  blockOnValidationError?: boolean;
256
- /**
257
- * Optional close interception hook.
258
- * Return `false` to keep the editor open.
259
- */
204
+ /** Return `false` to reject the requested close. */
260
205
  onRequestClose?: (request: CustomEditCloseRequest<CustomEditPresentObjectValue<T, K>, CustomEditDraftValue<T, K>, CustomEditInitialValue<T, K>>) => boolean | void;
261
- /**
262
- * Optional surface presentation overrides.
263
- */
206
+ /** Presentation and keyboard overrides for the editor Surface. */
264
207
  surface?: CustomEditSurfaceConfig;
265
208
  /**
266
209
  * Consumer-owned renderer for the custom editor contents. Editors should
@@ -268,121 +211,60 @@ export type CustomEditConfig<T, K extends keyof T> = [
268
211
  */
269
212
  renderEditor: (context: CustomEditRenderContext<T, K>) => ReactNode;
270
213
  };
271
- /**
272
- * Edit configuration for text mode cells.
273
- * @template T - The row data type
274
- * @template K - The column key
275
- */
214
+ /** Inline text editor configuration. */
276
215
  export type TextEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
277
- /**
278
- * Text edit mode - renders an inline text input.
279
- */
216
+ /** Renders an inline text field. */
280
217
  mode: "text";
281
218
  };
282
- /**
283
- * Edit configuration for number mode cells.
284
- * Renders an inline number input with increment/decrement support.
285
- *
286
- * @template T - The row data type
287
- * @template K - The column key
288
- */
219
+ /** Inline numeric editor configuration. */
289
220
  export type NumberEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
290
- /**
291
- * Number edit mode - renders an inline number input with formatting and validation.
292
- */
221
+ /** Renders an inline number field. */
293
222
  mode: "number";
294
- /**
295
- * The minimum value for the number field.
296
- * @default 0
297
- */
223
+ /** Inclusive minimum. Defaults to `0`. */
298
224
  minValue?: number;
299
- /**
300
- * The maximum value for the number field.
301
- * @default 100000000000000
302
- */
225
+ /** Inclusive maximum. Defaults to `100000000000000`. */
303
226
  maxValue?: number;
304
- /**
305
- * The step value for the number field.
306
- * @default 1
307
- */
227
+ /** Increment used by stepping controls. Defaults to `1`. */
308
228
  step?: number;
309
- /**
310
- * The maximum number of decimal places for the number field.
311
- * @default 0
312
- */
229
+ /** Maximum accepted fraction digits. Defaults to `0`. */
313
230
  maximumFractionDigits?: number;
314
- /**
315
- * The minimum number of decimal places for the number field.
316
- * @default 0
317
- */
231
+ /** Minimum displayed fraction digits. Defaults to `0`. */
318
232
  minimumFractionDigits?: number;
319
233
  };
320
234
  type SelectMenuCellPassthroughProps = Omit<SelectMenuSyncProps, "trigger" | "label" | "value" | "onSelectedOptionChange" | "options" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
321
235
  type MultiSelectMenuCellPassthroughProps = Omit<MultiSelectMenuSyncProps, "trigger" | "label" | "value" | "onSelectedOptionsChange" | "options" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
322
- /**
323
- * Edit configuration for select mode cells.
324
- * @template T - The row data type
325
- * @template K - The column key
326
- */
236
+ /** Synchronous single-select editor configuration. */
327
237
  export type SelectEditConfig<T, K extends keyof T> = Omit<BaseEditConfig<T, K>, "onChange"> & {
328
- /**
329
- * Select edit mode - renders a SelectMenu popover.
330
- */
238
+ /** Opens a SelectMenu popover. */
331
239
  mode: "select";
332
- /**
333
- * The options available for selection.
334
- */
240
+ /** Complete option set shown by the menu. */
335
241
  options: SelectMenuOption[];
336
- /**
337
- * Callback fired when the selected option changes.
338
- * @param option - The newly selected option, or null if cleared
339
- * @param rowId - The id of the row being edited
340
- */
242
+ /** Persists the selected option, or `null` after Clear, for the row. */
341
243
  onChange: (option: SelectMenuOption | null, rowId: string) => void;
342
244
  } & SelectMenuCellPassthroughProps;
343
- /**
344
- * Edit configuration for multiselect mode cells.
345
- * @template T - The row data type
346
- * @template K - The column key
347
- */
245
+ /** Synchronous multi-select editor configuration. */
348
246
  export type MultiselectEditConfig<T, K extends keyof T> = Omit<BaseEditConfig<T, K>, "onChange"> & {
349
- /**
350
- * Multiselect edit mode - renders a searchable MultiSelectMenu popover.
351
- */
247
+ /** Opens a searchable MultiSelectMenu popover. */
352
248
  mode: "multiselect";
353
- /**
354
- * The options available for selection.
355
- */
249
+ /** Complete option set shown by the menu. */
356
250
  options: MultiSelectMenuOption[];
357
- /**
358
- * Callback fired when the selected options change.
359
- * @param options - The newly selected options
360
- * @param rowId - The id of the row being edited
361
- */
251
+ /** Persists the selected option objects for the row. */
362
252
  onChange: (options: MultiSelectMenuOption[], rowId: string) => void;
363
253
  } & MultiSelectMenuCellPassthroughProps;
364
254
  type SelectMenuAsyncCellPassthroughProps = Omit<SelectMenuProps, "trigger" | "label" | "value" | "onSelectedOptionChange" | "loadOptions" | "lazy" | "lazyOptions" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
365
255
  type MultiSelectMenuAsyncCellPassthroughProps = Omit<MultiSelectMenuProps, "trigger" | "label" | "value" | "onSelectedOptionsChange" | "loadOptions" | "lazy" | "lazyOptions" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
366
256
  /**
367
- * Context passed to `loadOptions` for async edit configs.
368
- * Provides row data for per-row option loading.
369
- * @template T - The row data type
370
- * @property row - The full row data object
371
- * @property rowId - The string id of the row
257
+ * Row-specific context appended to async option-loader arguments.
372
258
  */
373
259
  export type AsyncCellContext<T> = {
374
260
  row: T;
375
261
  rowId: string;
376
262
  };
377
263
  /**
378
- * Eager loader for `mode: "select-async"` — returns all matching options at once.
379
- * @template T - The row data type
264
+ * Returns all matching single-select options for a query and row.
380
265
  */
381
266
  export type SelectAsyncCellEagerLoader<T> = (searchValue: string, context: AsyncCellContext<T>) => SelectMenuOption[] | Promise<SelectMenuOption[]>;
382
- /**
383
- * Page-based lazy loader for `mode: "select-async"`.
384
- * @template T - The row data type
385
- */
267
+ /** Loads one numbered page of single-select options for a query and row. */
386
268
  export type SelectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: number, pageSize: number, context: AsyncCellContext<T>) => {
387
269
  options: SelectMenuOption[];
388
270
  hasMore?: boolean;
@@ -390,10 +272,7 @@ export type SelectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: num
390
272
  options: SelectMenuOption[];
391
273
  hasMore?: boolean;
392
274
  }>;
393
- /**
394
- * Offset-based lazy loader for `mode: "select-async"`.
395
- * @template T - The row data type
396
- */
275
+ /** Loads one offset window of single-select options for a query and row. */
397
276
  export type SelectAsyncCellOffsetLoader<T> = (searchValue: string, offset: number, limit: number, context: AsyncCellContext<T>) => {
398
277
  options: SelectMenuOption[];
399
278
  hasMore?: boolean;
@@ -401,10 +280,7 @@ export type SelectAsyncCellOffsetLoader<T> = (searchValue: string, offset: numbe
401
280
  options: SelectMenuOption[];
402
281
  hasMore?: boolean;
403
282
  }>;
404
- /**
405
- * Group-based lazy loader for `mode: "select-async"`.
406
- * @template T - The row data type
407
- */
283
+ /** Loads the single-select group after `previousGroupKey`. */
408
284
  export type SelectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupKey: SelectMenuGroupByValue | null, context: AsyncCellContext<T>) => {
409
285
  options: SelectMenuOption[];
410
286
  hasMore?: boolean;
@@ -412,15 +288,9 @@ export type SelectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupK
412
288
  options: SelectMenuOption[];
413
289
  hasMore?: boolean;
414
290
  }>;
415
- /**
416
- * Eager loader for `mode: "multiselect-async"` — returns all matching options at once.
417
- * @template T - The row data type
418
- */
291
+ /** Returns all matching multi-select options for a query and row. */
419
292
  export type MultiselectAsyncCellEagerLoader<T> = (searchValue: string, context: AsyncCellContext<T>) => MultiSelectMenuOption[] | Promise<MultiSelectMenuOption[]>;
420
- /**
421
- * Page-based lazy loader for `mode: "multiselect-async"`.
422
- * @template T - The row data type
423
- */
293
+ /** Loads one numbered page of multi-select options for a query and row. */
424
294
  export type MultiselectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: number, pageSize: number, context: AsyncCellContext<T>) => {
425
295
  options: MultiSelectMenuOption[];
426
296
  hasMore?: boolean;
@@ -428,10 +298,7 @@ export type MultiselectAsyncCellPageLoader<T> = (searchValue: string, pageNumber
428
298
  options: MultiSelectMenuOption[];
429
299
  hasMore?: boolean;
430
300
  }>;
431
- /**
432
- * Offset-based lazy loader for `mode: "multiselect-async"`.
433
- * @template T - The row data type
434
- */
301
+ /** Loads one offset window of multi-select options for a query and row. */
435
302
  export type MultiselectAsyncCellOffsetLoader<T> = (searchValue: string, offset: number, limit: number, context: AsyncCellContext<T>) => {
436
303
  options: MultiSelectMenuOption[];
437
304
  hasMore?: boolean;
@@ -439,10 +306,7 @@ export type MultiselectAsyncCellOffsetLoader<T> = (searchValue: string, offset:
439
306
  options: MultiSelectMenuOption[];
440
307
  hasMore?: boolean;
441
308
  }>;
442
- /**
443
- * Group-based lazy loader for `mode: "multiselect-async"`.
444
- * @template T - The row data type
445
- */
309
+ /** Loads the multi-select group after `previousGroupKey`. */
446
310
  export type MultiselectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupKey: SelectMenuGroupByValue | null, context: AsyncCellContext<T>) => {
447
311
  options: MultiSelectMenuOption[];
448
312
  hasMore?: boolean;
@@ -451,192 +315,133 @@ export type MultiselectAsyncCellGroupLoader<T> = (searchValue: string, previousG
451
315
  hasMore?: boolean;
452
316
  }>;
453
317
  type SelectAsyncEditConfigBase = {
454
- /**
455
- * Callback fired when the selected option changes.
456
- * @param option - The newly selected option, or null if cleared
457
- * @param rowId - The id of the row being edited
458
- */
318
+ /** Persists the selected option, or `null` after Clear, for the row. */
459
319
  onChange: (option: SelectMenuOption | null, rowId: string) => void;
460
320
  } & SelectMenuAsyncCellPassthroughProps;
461
321
  /**
462
- * Edit configuration for async select mode cells.
463
- * Uses `SelectMenu` directly (not `SelectMenuSync`) to support server-side option loading.
464
- *
465
- * The `loadOptions` function receives a `context` argument as its last parameter,
466
- * containing the current row data and row id. This enables per-row option loading.
467
- *
468
- * By default, caching is disabled to prevent cross-row cache pollution when `loadOptions`
469
- * uses row context. Pass `cache={{ enabled: true }}` to override.
470
- *
471
- * Cell value is expected to be a primitive that matches a `SelectMenuOption.id`.
472
- *
473
- * @template T - The row data type
322
+ * Server-loaded single-select editor for primitive values matching option ids.
323
+ * Loaders receive row context, so caching defaults off to avoid sharing results
324
+ * across rows.
474
325
  */
475
326
  export type SelectAsyncEditConfig<T> = (SelectAsyncEditConfigBase & {
327
+ /** Opens a server-loaded SelectMenu. */
476
328
  mode: "select-async";
329
+ /** Eager loading. Defaults to `false`. */
477
330
  lazy?: false;
331
+ /** Returns all options matching the search. */
478
332
  loadOptions: SelectAsyncCellEagerLoader<T>;
333
+ /** Eager loading accepts no pagination settings. */
479
334
  lazyOptions?: never;
480
335
  }) | (SelectAsyncEditConfigBase & {
336
+ /** Opens a server-loaded SelectMenu. */
481
337
  mode: "select-async";
338
+ /** Loads options by page number. */
482
339
  lazy: "page";
340
+ /** Returns one page matching the search. */
483
341
  loadOptions: SelectAsyncCellPageLoader<T>;
342
+ /** Page-size override forwarded to the menu. */
484
343
  lazyOptions?: {
485
344
  pageSize?: number;
486
345
  };
487
346
  }) | (SelectAsyncEditConfigBase & {
347
+ /** Opens a server-loaded SelectMenu. */
488
348
  mode: "select-async";
349
+ /** Loads options by offset. */
489
350
  lazy: "offset";
351
+ /** Returns one offset window matching the search. */
490
352
  loadOptions: SelectAsyncCellOffsetLoader<T>;
353
+ /** Window-size override forwarded to the menu. */
491
354
  lazyOptions?: {
492
355
  limit?: number;
493
356
  };
494
357
  }) | (SelectAsyncEditConfigBase & {
358
+ /** Opens a server-loaded SelectMenu. */
495
359
  mode: "select-async";
360
+ /** Loads options one group at a time. */
496
361
  lazy: "group";
362
+ /** Returns the group after the supplied group key. */
497
363
  loadOptions: SelectAsyncCellGroupLoader<T>;
364
+ /** Group-loading settings forwarded to the menu. */
498
365
  lazyOptions?: object;
499
366
  });
500
367
  type MultiselectAsyncEditConfigBase = {
501
- /**
502
- * Callback fired when the selected options change.
503
- * @param options - The newly selected options (full option objects)
504
- * @param rowId - The id of the row being edited
505
- */
368
+ /** Persists the selected full option objects for the row. */
506
369
  onChange: (options: MultiSelectMenuOption[], rowId: string) => void;
507
370
  } & MultiSelectMenuAsyncCellPassthroughProps;
508
371
  /**
509
- * Edit configuration for async multiselect mode cells.
510
- * Uses `MultiSelectMenu` directly (not `MultiSelectMenuSync`) to support server-side option loading.
511
- *
512
- * The `loadOptions` function receives a `context` argument as its last parameter,
513
- * containing the current row data and row id. This enables per-row option loading.
514
- *
515
- * By default, caching is disabled to prevent cross-row cache pollution when `loadOptions`
516
- * uses row context. Pass `cache={{ enabled: true }}` to override.
517
- *
518
- * **Value contract**: Unlike `mode: "multiselect"` (which stores ID arrays), the cell value
519
- * for `mode: "multiselect-async"` must be `MultiSelectMenuOption[]` — full option objects.
520
- * The `onChange` callback receives these objects directly and the consumer stores them wholesale.
521
- *
522
- * @template T - The row data type
372
+ * Server-loaded multi-select editor whose cell value is the full option-object
373
+ * array. Loaders receive row context, so caching defaults off to avoid sharing
374
+ * results across rows.
523
375
  */
524
376
  export type MultiselectAsyncEditConfig<T> = (MultiselectAsyncEditConfigBase & {
377
+ /** Opens a server-loaded MultiSelectMenu. */
525
378
  mode: "multiselect-async";
379
+ /** Eager loading. Defaults to `false`. */
526
380
  lazy?: false;
381
+ /** Returns all options matching the search. */
527
382
  loadOptions: MultiselectAsyncCellEagerLoader<T>;
383
+ /** Eager loading accepts no pagination settings. */
528
384
  lazyOptions?: never;
529
385
  }) | (MultiselectAsyncEditConfigBase & {
386
+ /** Opens a server-loaded MultiSelectMenu. */
530
387
  mode: "multiselect-async";
388
+ /** Loads options by page number. */
531
389
  lazy: "page";
390
+ /** Returns one page matching the search. */
532
391
  loadOptions: MultiselectAsyncCellPageLoader<T>;
392
+ /** Page-size override forwarded to the menu. */
533
393
  lazyOptions?: {
534
394
  pageSize?: number;
535
395
  };
536
396
  }) | (MultiselectAsyncEditConfigBase & {
397
+ /** Opens a server-loaded MultiSelectMenu. */
537
398
  mode: "multiselect-async";
399
+ /** Loads options by offset. */
538
400
  lazy: "offset";
401
+ /** Returns one offset window matching the search. */
539
402
  loadOptions: MultiselectAsyncCellOffsetLoader<T>;
403
+ /** Window-size override forwarded to the menu. */
540
404
  lazyOptions?: {
541
405
  limit?: number;
542
406
  };
543
407
  }) | (MultiselectAsyncEditConfigBase & {
408
+ /** Opens a server-loaded MultiSelectMenu. */
544
409
  mode: "multiselect-async";
410
+ /** Loads options one group at a time. */
545
411
  lazy: "group";
412
+ /** Returns the group after the supplied group key. */
546
413
  loadOptions: MultiselectAsyncCellGroupLoader<T>;
414
+ /** Group-loading settings forwarded to the menu. */
547
415
  lazyOptions?: object;
548
416
  });
549
417
  /**
550
- * Edit configuration for boolean mode cells.
551
- * Renders a dropdown menu with predefined true/false options and an optional null option.
552
- *
553
- * @template T - The row data type
554
- * @template K - The column key
418
+ * Boolean dropdown editor with an optional null choice.
555
419
  */
556
420
  export type BooleanEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
557
- /**
558
- * Boolean edit mode - renders a dropdown with true/false/null options.
559
- */
421
+ /** Opens the boolean-options menu. */
560
422
  mode: "boolean";
561
- /**
562
- * The label displayed for the `true` option.
563
- * @default "True"
564
- */
423
+ /** Label for `true`. Defaults to `"True"`. */
565
424
  trueLabel?: string;
566
- /**
567
- * The label displayed for the `false` option.
568
- * @default "False"
569
- */
425
+ /** Label for `false`. Defaults to `"False"`. */
570
426
  falseLabel?: string;
571
- /**
572
- * Whether to include a null option in the dropdown.
573
- * @default false
574
- */
427
+ /** Adds a null choice. Defaults to `false`. */
575
428
  allowNull?: boolean;
576
- /**
577
- * The label displayed for the `null` option. Only used when `allowNull` is true.
578
- * @default "Unset"
579
- */
429
+ /** Label for the null choice. Defaults to `"Unset"`. */
580
430
  nullLabel?: string;
581
431
  };
582
432
  /**
583
- * Union of all edit configurations.
584
- * Use with `editConfig` property on column definitions.
585
- *
586
- * @template T - The row data type
587
- * @template K - The column key
588
- *
589
- * @example
590
- * ```ts
591
- * // Text editing
592
- * editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
593
- *
594
- * // Number editing
595
- * editConfig: {
596
- * mode: "number",
597
- * minValue: 0,
598
- * maxValue: 1000,
599
- * step: 1,
600
- * onChange: (value, rowId) => save(value, rowId)
601
- * }
602
- *
603
- * // Select editing
604
- * editConfig: {
605
- * mode: "select",
606
- * options: [{ id: "active", label: "Active" }],
607
- * onChange: (option, rowId) => save(option?.id, rowId)
608
- * }
609
- *
610
- * // Boolean editing
611
- * editConfig: {
612
- * mode: "boolean",
613
- * trueLabel: "Yes",
614
- * falseLabel: "No",
615
- * onChange: (value, rowId) => save(value, rowId)
616
- * }
617
- *
618
- * // Custom editing keeps renderCell as the read path
619
- * editConfig: {
620
- * mode: "custom",
621
- * onCommit: (draft, rowId) => saveDraft(draft, rowId),
622
- * onDraftUpdate: (draft, rowId) => previewDraft(draft, rowId),
623
- * renderEditor: ({ controller }) => renderAddressEditor(controller)
624
- * }
625
- * ```
433
+ * Edit configurations available for a keyed row value. `createColumnHelper`
434
+ * narrows this union to modes compatible with that value type.
626
435
  */
627
436
  export type EditConfig<T, K extends keyof T> = TextEditConfig<T, K> | NumberEditConfig<T, K> | SelectEditConfig<T, K> | SelectAsyncEditConfig<T> | MultiselectEditConfig<T, K> | MultiselectAsyncEditConfig<T> | BooleanEditConfig<T, K> | CustomEditConfig<T, K>;
628
437
  /**
629
- * The type for a table row
630
- * @extends T
438
+ * Consumer row data plus the identity and optional status/expansion metadata
439
+ * required by DataTable.
631
440
  */
632
441
  export type TableRow<T> = T & {
633
- /**
634
- * The id of the row
635
- */
442
+ /** Stable identity used for selection, editing, and React keys. */
636
443
  id: string | number;
637
- /**
638
- * Row metadata including errors
639
- */
444
+ /** Cell- and row-level validation status. */
640
445
  meta?: {
641
446
  /**
642
447
  * Cell-level errors keyed by column id.
@@ -665,36 +470,31 @@ export type TableRow<T> = T & {
665
470
  */
666
471
  rowWarning?: boolean | string;
667
472
  };
668
- /**
669
- * The sub component displayed when the row is expanded
670
- */
473
+ /** Detail content shown beneath an expanded row. */
671
474
  subComponent?: ReactNode;
672
- /**
673
- * The sub rows of the row when the row is expanded
674
- */
475
+ /** Nested rows revealed by expansion. */
675
476
  subRows?: TableRow<T>[];
676
477
  };
478
+ /** Read-only overflow treatment for a leaf column. */
677
479
  export type ColumnOverflowConfig = {
678
480
  /**
679
481
  * Disclosure behavior used when mounted read-only cell content is clipped.
680
482
  */
681
483
  mode: "surface";
682
484
  };
485
+ /** Header, sizing, alignment, pinning, and footer options shared by columns. */
683
486
  export type ColumnBaseDef = ColumnHeaderConfig & {
684
487
  /**
685
- * The alignment of the header and cell content.
686
- * When using `type`, this is set automatically but can be overridden.
488
+ * On leaf columns, overrides the alignment inferred from `type`. Group
489
+ * headers stay start-aligned.
687
490
  */
688
491
  align?: "start" | "center" | "end";
689
492
  /**
690
- * Custom content to display when a cell value is empty (null, undefined, or empty string).
691
- * Overrides the default em dash. When set on both the column and the DataTable,
692
- * the column-level value takes precedence.
493
+ * Replaces the table's empty-cell content for this column. Applies to `null`,
494
+ * `undefined`, and empty strings.
693
495
  */
694
496
  emptyCellContent?: ReactNode;
695
- /**
696
- * The content of the footer cell. An array will display multiple footer rows
697
- */
497
+ /** One footer value, or one value per footer row. */
698
498
  footerContent?: ReactNode | ReactNode[];
699
499
  /**
700
500
  * The maximum width of the column, in pixels. Caps automatic growth when
@@ -708,39 +508,25 @@ export type ColumnBaseDef = ColumnHeaderConfig & {
708
508
  */
709
509
  minWidth?: number;
710
510
  /**
711
- * The preferred starting width of the column, in pixels. Used as the basis
712
- * for automatic growing/shrinking: the column renders at this width by
713
- * default, grows toward `maxWidth` when the table has spare horizontal
714
- * space, and never auto-shrinks below it — the table scrolls horizontally
715
- * instead.
716
- *
717
- * Manual resize via the column's resize handle is still bounded by
718
- * `minWidth`/`maxWidth`, so users can drag a column below `defaultWidth`
719
- * down to `minWidth`.
720
- *
721
- * @remarks Values outside `minWidth`/`maxWidth` are not validated when
722
- * provided. CSS grid clamps the rendered width at display time.
511
+ * Preferred starting width in pixels. Unpinned columns render at this width,
512
+ * grow toward `maxWidth` when the table has spare space, and never
513
+ * auto-shrink below it (the table scrolls instead). Pinned columns stay at
514
+ * this size. Manual resize is still bounded by `minWidth`/`maxWidth`.
723
515
  *
724
- * Falls back to `minWidth` when not specified.
516
+ * Values outside `minWidth`/`maxWidth` are not validated when provided; CSS
517
+ * grid clamps at display time. Falls back to `minWidth` when omitted.
725
518
  */
726
519
  defaultWidth?: number;
727
- /**
728
- * The pinning location of the column
729
- */
520
+ /** Keeps the column against the chosen edge while horizontally scrolling. */
730
521
  pinned?: "left" | "right";
731
- /**
732
- * Whether the column is resizable
733
- */
522
+ /** Shows a pointer-driven resize handle. */
734
523
  resizable?: boolean;
735
524
  };
525
+ /** Header group containing nested leaf or group columns. */
736
526
  export type ColumnGroupDef<T> = ColumnBaseDef & {
737
- /**
738
- * Group column id.
739
- */
527
+ /** Stable id for the header group. */
740
528
  id: string;
741
- /**
742
- * Columns of a group column
743
- */
529
+ /** Leaf or nested columns displayed beneath this group header. */
744
530
  columns: ColumnDef<T>[];
745
531
  editConfig?: never;
746
532
  overflow?: never;
@@ -749,155 +535,90 @@ export type ColumnGroupDef<T> = ColumnBaseDef & {
749
535
  type?: never;
750
536
  };
751
537
  type ColumnDataDefBase<T, K extends keyof T> = ColumnBaseDef & {
752
- /**
753
- * The id of the column - must be a key of T
754
- */
538
+ /** Row key read by this column. */
755
539
  id: K;
756
- /**
757
- * Columns of a group column
758
- */
759
540
  columns?: undefined;
760
541
  /**
761
- * The function to customize how the cell content is rendered.
762
- * When using `type`, a default renderer is provided but can be overridden.
763
- * Custom edit columns continue to use this read-only render path.
542
+ * Overrides the renderer inferred from `type`. Custom edit columns continue
543
+ * to use this for their read-only state.
764
544
  */
765
545
  renderCell?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => ReactNode;
766
- /**
767
- * Optional plain-text extractor for the read path.
768
- * Useful when `renderCell` returns JSX or multiline content but default sorting
769
- * should still use a simple string.
770
- */
546
+ /** Supplies sortable text when `renderCell` returns rich content. */
771
547
  getCellText?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => string;
772
548
  /**
773
- * Optional advanced read-display extractor.
774
- * Prefer `getCellText` for the common case where `renderCell` already handles
775
- * display and sorting only needs a simple string. Use this when you want one
776
- * hook to return both rendered read content and the sortable raw string.
549
+ * Supplies rendered content and sortable text together. When set, it wins
550
+ * over `renderCell` and `getCellText`. Prefer `getCellText` when only
551
+ * sorting needs an alternate representation.
777
552
  */
778
553
  getReadRenderResult?: (value: T[K], context: ColumnReadRenderContext<TableRow<T>>) => ColumnReadRenderResult;
779
- /**
780
- * Whether the column is sortable, or a function to customize the sorting logic.
781
- * When a function, receives values of the column's value type.
782
- */
554
+ /** Enables default sorting, or supplies a value comparator. */
783
555
  sortable?: boolean | ((valueA: T[K], valueB: T[K]) => number);
784
556
  /**
785
- * The column type for automatic display configuration.
786
- * Sets default `renderCell` (formatter) and `align` based on the data type.
557
+ * Supplies default formatting and alignment; explicit column options override
558
+ * those defaults.
787
559
  */
788
560
  type?: ColumnTypeConfig;
789
561
  };
790
562
  type ColumnReadOnlyDefForKey<T, K extends keyof T> = ColumnDataDefBase<T, K> & {
791
563
  editConfig?: undefined;
792
- /**
793
- * Shows full read-only cell content in a Surface when mounted content is clipped.
794
- */
564
+ /** Shows clipped read-only content in a disclosure Surface. */
795
565
  overflow?: ColumnOverflowConfig;
796
566
  };
797
567
  type ColumnEditableDefForKey<T, K extends keyof T> = ColumnDataDefBase<T, K> & {
798
- /**
799
- * Configuration for cell editing. Presence enables editing for the column.
800
- * Consolidates edit mode, options, and onChange into a single object.
801
- */
568
+ /** Enables cell editing with the selected mode and persistence callback. */
802
569
  editConfig: EditConfig<T, K>;
803
570
  overflow?: never;
804
571
  };
572
+ /** Read-only or editable leaf definition for one row key. */
805
573
  export type ColumnDefForKey<T, K extends keyof T> = ColumnReadOnlyDefForKey<T, K> | ColumnEditableDefForKey<T, K>;
806
574
  type ColumnLeafDef<T> = ColumnDataDefBase<T, keyof T> & ({
807
575
  editConfig?: undefined;
808
- /**
809
- * Shows full read-only cell content in a Surface when mounted content is clipped.
810
- */
576
+ /** Shows clipped read-only content in a disclosure Surface. */
811
577
  overflow?: ColumnOverflowConfig;
812
578
  } | {
813
- /**
814
- * Configuration for cell editing. Presence enables editing for the column.
815
- * Consolidates edit mode, options, and onChange into a single object.
816
- */
579
+ /** Enables cell editing with the selected mode and persistence callback. */
817
580
  editConfig: EditConfig<T, keyof T>;
818
581
  overflow?: never;
819
582
  });
820
- /**
821
- * Column definition type for DataTable columns.
822
- *
823
- * Use `createColumnHelper<T>()` to create type-safe column definitions with
824
- * proper type inference for `type`, `editConfig`, and value types.
825
- *
826
- * @example
827
- * ```ts
828
- * type Data = { name: string; amount: number; tags: string[] };
829
- * const createColumn = createColumnHelper<Data>();
830
- *
831
- * const columns = [
832
- * // Display-only column with type defaults
833
- * createColumn("amount", { header: { label: "Amount" }, type: "currency" }),
834
- *
835
- * // Editable column with editConfig
836
- * createColumn("name", {
837
- * header: { label: "Name" },
838
- * type: "text",
839
- * editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
840
- * }),
841
- *
842
- * // Multiselect editing
843
- * createColumn("tags", {
844
- * header: { label: "Tags" },
845
- * editConfig: {
846
- * mode: "multiselect",
847
- * options: [{ value: "urgent", label: "Urgent" }],
848
- * onChange: (value, rowId) => save(value, rowId)
849
- * }
850
- * }),
851
- * ];
852
- * ```
853
- */
583
+ /** Visible label and optional indicator/help content for a column header. */
854
584
  export type ColumnHeader = {
855
- /**
856
- * The visible header label text.
857
- */
585
+ /** Text used as the visible and accessible column label. */
858
586
  label: string;
859
- /**
860
- * Whether the header should show a required indicator.
861
- */
587
+ /** Shows the required indicator beside the label. */
862
588
  required?: boolean;
863
- /**
864
- * Additional contextual content rendered from a keyboard-accessible more-info trigger.
865
- */
589
+ /** Content opened from the header's keyboard-accessible more-info trigger. */
866
590
  moreInfo?: ReactNode;
867
591
  };
592
+ /**
593
+ * Requires either the current structured header or the deprecated label.
594
+ */
868
595
  export type ColumnHeaderConfig = {
869
- /**
870
- * The forward-looking header configuration.
871
- */
596
+ /** Label and optional header adornments. */
872
597
  header: ColumnHeader;
873
598
  /**
874
- * Legacy header label support during the transition to `header`.
599
+ * Deprecated string label used when `header` is omitted.
875
600
  * @deprecated Use `header.label` instead.
876
601
  */
877
602
  headerLabel?: string;
878
603
  } | {
879
- /**
880
- * The forward-looking header configuration.
881
- */
604
+ /** Label and optional header adornments. */
882
605
  header?: ColumnHeader;
883
606
  /**
884
- * Legacy header label support during the transition to `header`.
607
+ * Deprecated string label used when `header` is omitted.
885
608
  * @deprecated Use `header.label` instead.
886
609
  */
887
610
  headerLabel: string;
888
611
  };
889
- export type ColumnDef<T> = ColumnGroupDef<T> | ColumnLeafDef<T>;
890
612
  /**
891
- * The type for a custom table footer cell props
613
+ * Group or leaf definition consumed by DataTable. Prefer
614
+ * {@link createColumnHelper} for value-aware edit-mode inference.
892
615
  */
616
+ export type ColumnDef<T> = ColumnGroupDef<T> | ColumnLeafDef<T>;
617
+ /** Values passed to a custom footer-cell renderer. */
893
618
  export type CustomTableFooterCellProps = {
894
- /**
895
- * The content of the footer cell
896
- */
619
+ /** Rendered footer content. */
897
620
  content: ReactNode;
898
- /**
899
- * The number of columns the footer cell should span
900
- */
621
+ /** Grid columns occupied by this footer cell. */
901
622
  colSpan: number;
902
623
  };
903
624
  export {};