@servicetitan/anvil2 2.0.1 → 2.0.3

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 (280) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{Alert-DREZhnU9.js → Alert-DXoEusod.js} +4 -4
  3. package/dist/{Alert-DREZhnU9.js.map → Alert-DXoEusod.js.map} +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/{Announcement-CRaUI73J.js → Announcement-SAypScAu.js} +4 -4
  6. package/dist/{Announcement-CRaUI73J.js.map → Announcement-SAypScAu.js.map} +1 -1
  7. package/dist/Announcement.js +1 -1
  8. package/dist/{AnvilProvider-bEeSKwNj.js → AnvilProvider-C3pjoStP.js} +4 -4
  9. package/dist/{AnvilProvider-bEeSKwNj.js.map → AnvilProvider-C3pjoStP.js.map} +1 -1
  10. package/dist/AnvilProvider.js +1 -1
  11. package/dist/{Avatar-DQN2dNgB.js → Avatar-COMPK7Ym.js} +2 -2
  12. package/dist/{Avatar-DQN2dNgB.js.map → Avatar-COMPK7Ym.js.map} +1 -1
  13. package/dist/{Avatar-B4RLfLCS.js → Avatar-DShevhcs.js} +2 -2
  14. package/dist/{Avatar-B4RLfLCS.js.map → Avatar-DShevhcs.js.map} +1 -1
  15. package/dist/Avatar.js +2 -2
  16. package/dist/{Badge-BrysDYfx.js → Badge-CS-CwcOQ.js} +2 -2
  17. package/dist/{Badge-BrysDYfx.js.map → Badge-CS-CwcOQ.js.map} +1 -1
  18. package/dist/Badge.js +1 -1
  19. package/dist/{Breadcrumbs-CsVxbt4N.js → Breadcrumbs-CEVH4s23.js} +5 -5
  20. package/dist/{Breadcrumbs-CsVxbt4N.js.map → Breadcrumbs-CEVH4s23.js.map} +1 -1
  21. package/dist/Breadcrumbs.js +1 -1
  22. package/dist/{Button-B__Q1BA5.js → Button-l7pTJdPc.js} +3 -3
  23. package/dist/{Button-B__Q1BA5.js.map → Button-l7pTJdPc.js.map} +1 -1
  24. package/dist/Button.js +1 -1
  25. package/dist/{ButtonCompound-BB_WRzP4.js → ButtonCompound-CX2kHgWe.js} +2 -2
  26. package/dist/{ButtonCompound-BB_WRzP4.js.map → ButtonCompound-CX2kHgWe.js.map} +1 -1
  27. package/dist/ButtonCompound.js +1 -1
  28. package/dist/{ButtonLink-Dy0nfK_C.js → ButtonLink-CRlyK750.js} +3 -3
  29. package/dist/{ButtonLink-Dy0nfK_C.js.map → ButtonLink-CRlyK750.js.map} +1 -1
  30. package/dist/ButtonLink.js +1 -1
  31. package/dist/{ButtonToggle-DVwe4l6m.js → ButtonToggle-BOVP_jEN.js} +3 -3
  32. package/dist/{ButtonToggle-DVwe4l6m.js.map → ButtonToggle-BOVP_jEN.js.map} +1 -1
  33. package/dist/ButtonToggle.js +1 -1
  34. package/dist/{Calendar-BO9QiBJG.js → Calendar-BTr5I3t-.js} +2 -2
  35. package/dist/{Calendar-BO9QiBJG.js.map → Calendar-BTr5I3t-.js.map} +1 -1
  36. package/dist/{Calendar-BFWJ7Rlq.js → Calendar-DUGQQkga.js} +5 -5
  37. package/dist/{Calendar-BFWJ7Rlq.js.map → Calendar-DUGQQkga.js.map} +1 -1
  38. package/dist/Calendar.js +2 -2
  39. package/dist/{Card-TovA8Io5.js → Card-DDH7gI8m.js} +2 -2
  40. package/dist/{Card-TovA8Io5.js.map → Card-DDH7gI8m.js.map} +1 -1
  41. package/dist/Card.js +1 -1
  42. package/dist/{Checkbox-BrIThtCS.js → Checkbox-9VbydUcM.js} +6 -6
  43. package/dist/{Checkbox-BrIThtCS.js.map → Checkbox-9VbydUcM.js.map} +1 -1
  44. package/dist/{Checkbox-Igz3R72o.js → Checkbox-ZXftLNwB.js} +2 -2
  45. package/dist/{Checkbox-Igz3R72o.js.map → Checkbox-ZXftLNwB.js.map} +1 -1
  46. package/dist/Checkbox.js +1 -1
  47. package/dist/{Chip-U9Ly2Ykq.js → Chip-Bc7jiIJ1.js} +4 -4
  48. package/dist/{Chip-U9Ly2Ykq.js.map → Chip-Bc7jiIJ1.js.map} +1 -1
  49. package/dist/Chip.js +1 -1
  50. package/dist/{Combobox-Bb79Jl9I.js → Combobox-CNObHLjp.js} +9 -9
  51. package/dist/{Combobox-Bb79Jl9I.js.map → Combobox-CNObHLjp.js.map} +1 -1
  52. package/dist/Combobox.js +1 -1
  53. package/dist/{DataTable-CLr0j95O.js → DataTable-CQpySyDq.js} +159 -34
  54. package/dist/DataTable-CQpySyDq.js.map +1 -0
  55. package/dist/{DateFieldRange-BlpxUPPk.js → DateFieldRange-Cfnw1Chk.js} +5 -5
  56. package/dist/{DateFieldRange-BlpxUPPk.js.map → DateFieldRange-Cfnw1Chk.js.map} +1 -1
  57. package/dist/DateFieldRange.js +1 -1
  58. package/dist/{DateFieldSingle-DanvgyeQ.js → DateFieldSingle-BRuERJAl.js} +5 -5
  59. package/dist/{DateFieldSingle-DanvgyeQ.js.map → DateFieldSingle-BRuERJAl.js.map} +1 -1
  60. package/dist/DateFieldSingle.js +1 -1
  61. package/dist/{DateFieldYearless-rUMXjN0L.js → DateFieldYearless-Dw1k3_PY.js} +5 -5
  62. package/dist/{DateFieldYearless-rUMXjN0L.js.map → DateFieldYearless-Dw1k3_PY.js.map} +1 -1
  63. package/dist/DateFieldYearless.js +1 -1
  64. package/dist/{DateFieldYearlessRange-Cw71mA-Q.js → DateFieldYearlessRange--plyld10.js} +6 -6
  65. package/dist/{DateFieldYearlessRange-Cw71mA-Q.js.map → DateFieldYearlessRange--plyld10.js.map} +1 -1
  66. package/dist/DateFieldYearlessRange.js +1 -1
  67. package/dist/{DaysOfTheWeek-DOsJyEdk.js → DaysOfTheWeek-vE310Rjp.js} +6 -6
  68. package/dist/{DaysOfTheWeek-DOsJyEdk.js.map → DaysOfTheWeek-vE310Rjp.js.map} +1 -1
  69. package/dist/DaysOfTheWeek.js +1 -1
  70. package/dist/{Details-D_Iil6qI.js → Details-BF0-a1by.js} +3 -3
  71. package/dist/{Details-D_Iil6qI.js.map → Details-BF0-a1by.js.map} +1 -1
  72. package/dist/Details.js +1 -1
  73. package/dist/{Dialog-3pjJJiED.js → Dialog-DZPaz84r.js} +7 -6
  74. package/dist/{Dialog-3pjJJiED.js.map → Dialog-DZPaz84r.js.map} +1 -1
  75. package/dist/Dialog.js +1 -1
  76. package/dist/{DialogCancelButton-D0r_OFKS.js → DialogCancelButton-GuN5lgR-.js} +2 -2
  77. package/dist/{DialogCancelButton-D0r_OFKS.js.map → DialogCancelButton-GuN5lgR-.js.map} +1 -1
  78. package/dist/DialogContext-DBgtApl9.js.map +1 -1
  79. package/dist/{Divider-CJvAnDYV.js → Divider-De04mOU6.js} +2 -2
  80. package/dist/{Divider-CJvAnDYV.js.map → Divider-De04mOU6.js.map} +1 -1
  81. package/dist/Divider.js +1 -1
  82. package/dist/Dnd.js +1 -1
  83. package/dist/DndSort.js +17 -7
  84. package/dist/DndSort.js.map +1 -1
  85. package/dist/{Drawer-BPPWM11Z.js → Drawer-pMQOa2jH.js} +9 -10
  86. package/dist/Drawer-pMQOa2jH.js.map +1 -0
  87. package/dist/Drawer.js +1 -1
  88. package/dist/DrawerContext-BSpnzXVZ.js +6 -0
  89. package/dist/DrawerContext-BSpnzXVZ.js.map +1 -0
  90. package/dist/DrillDown.js +1 -1
  91. package/dist/{EditCard-DgHXddkx.js → EditCard-DAiE-Hsc.js} +6 -6
  92. package/dist/{EditCard-DgHXddkx.js.map → EditCard-DAiE-Hsc.js.map} +1 -1
  93. package/dist/EditCard.js +1 -1
  94. package/dist/{FieldDialog-NcMR2ATl.js → FieldDialog-Be54L3E-.js} +381 -18
  95. package/dist/FieldDialog-Be54L3E-.js.map +1 -0
  96. package/dist/FieldDialog.css +22 -5
  97. package/dist/{FieldLabel-EjKzPf0f.js → FieldLabel-DSrHbw9U.js} +3 -3
  98. package/dist/{FieldLabel-EjKzPf0f.js.map → FieldLabel-DSrHbw9U.js.map} +1 -1
  99. package/dist/FieldLabel.js +1 -1
  100. package/dist/{FieldMessage-CRNo4fd5.js → FieldMessage-tEr6rWXS.js} +2 -2
  101. package/dist/{FieldMessage-CRNo4fd5.js.map → FieldMessage-tEr6rWXS.js.map} +1 -1
  102. package/dist/FieldMessage.js +1 -1
  103. package/dist/{Flex-DKS51qTf.js → Flex-CUtXN-C0.js} +2 -2
  104. package/dist/{Flex-DKS51qTf.js.map → Flex-CUtXN-C0.js.map} +1 -1
  105. package/dist/Flex.js +1 -1
  106. package/dist/{Grid-BUmKiLhz.js → Grid-CatFkT0X.js} +2 -2
  107. package/dist/{Grid-BUmKiLhz.js.map → Grid-CatFkT0X.js.map} +1 -1
  108. package/dist/Grid.js +1 -1
  109. package/dist/{Helper-xZuAxaI0.js → Helper-CK-XjpR3.js} +2 -2
  110. package/dist/{Helper-xZuAxaI0.js.map → Helper-CK-XjpR3.js.map} +1 -1
  111. package/dist/{Icon-BckjFkbw.js → Icon-Bcil6aBo.js} +2 -2
  112. package/dist/{Icon-BckjFkbw.js.map → Icon-Bcil6aBo.js.map} +1 -1
  113. package/dist/Icon.js +1 -1
  114. package/dist/{InputMask-DS9TWqfO.js → InputMask-DoqWRi3t.js} +2 -2
  115. package/dist/{InputMask-DS9TWqfO.js.map → InputMask-DoqWRi3t.js.map} +1 -1
  116. package/dist/InputMask.js +1 -1
  117. package/dist/{InteractiveCard-CvX95yR4.js → InteractiveCard-OszQGxGw.js} +2 -2
  118. package/dist/{InteractiveCard-CvX95yR4.js.map → InteractiveCard-OszQGxGw.js.map} +1 -1
  119. package/dist/InteractiveCard.js +1 -1
  120. package/dist/{Link-DT8scNJ-.js → Link-B3reiL5f.js} +3 -3
  121. package/dist/{Link-DT8scNJ-.js.map → Link-B3reiL5f.js.map} +1 -1
  122. package/dist/Link.js +1 -1
  123. package/dist/{LinkButton-BMce3lWm.js → LinkButton-D62f2os3.js} +2 -2
  124. package/dist/{LinkButton-BMce3lWm.js.map → LinkButton-D62f2os3.js.map} +1 -1
  125. package/dist/LinkButton.js +1 -1
  126. package/dist/{ListView-CBmaHOY-.js → ListView-CtRhYAls.js} +13 -11
  127. package/dist/ListView-CtRhYAls.js.map +1 -0
  128. package/dist/ListView.js +1 -1
  129. package/dist/{Listbox-BFT6SBf3.js → Listbox-DMyxIokT.js} +5 -5
  130. package/dist/{Listbox-BFT6SBf3.js.map → Listbox-DMyxIokT.js.map} +1 -1
  131. package/dist/Listbox.js +1 -1
  132. package/dist/{LocalizationProvider-u6xdKCBi.js → LocalizationProvider-ay-XWdlo.js} +2 -2
  133. package/dist/{LocalizationProvider-u6xdKCBi.js.map → LocalizationProvider-ay-XWdlo.js.map} +1 -1
  134. package/dist/LocalizationProvider.js +1 -1
  135. package/dist/{Menu-Dh0q__vE.js → Menu-3LIfRdTk.js} +3 -3
  136. package/dist/{Menu-Dh0q__vE.js.map → Menu-3LIfRdTk.js.map} +1 -1
  137. package/dist/Menu.js +1 -1
  138. package/dist/MultiSelectField.js +1 -1
  139. package/dist/{MultiSelectFieldSync-7nxS5Fdi.js → MultiSelectFieldSync-xj7jXas-.js} +120 -94
  140. package/dist/MultiSelectFieldSync-xj7jXas-.js.map +1 -0
  141. package/dist/{NumberField-Dmm1YQNn.js → NumberField-W1k8V5Qq.js} +6 -6
  142. package/dist/{NumberField-Dmm1YQNn.js.map → NumberField-W1k8V5Qq.js.map} +1 -1
  143. package/dist/NumberField.js +1 -1
  144. package/dist/Overflow.js +2 -2
  145. package/dist/{Page-CjuKnpSO.js → Page-vc7zs4tn.js} +16 -16
  146. package/dist/{Page-CjuKnpSO.js.map → Page-vc7zs4tn.js.map} +1 -1
  147. package/dist/Page.js +1 -1
  148. package/dist/{Pagination-CimQTC7M.js → Pagination-DIatYUXX.js} +7 -7
  149. package/dist/{Pagination-CimQTC7M.js.map → Pagination-DIatYUXX.js.map} +1 -1
  150. package/dist/Pagination.js +1 -1
  151. package/dist/{Popover-U2Eu7v1Q.js → Popover-OOLK0hUz.js} +10 -9
  152. package/dist/Popover-OOLK0hUz.js.map +1 -0
  153. package/dist/Popover.js +1 -1
  154. package/dist/{ProgressBar-CSkAu2F4.js → ProgressBar-HA9RPZfC.js} +6 -6
  155. package/dist/{ProgressBar-CSkAu2F4.js.map → ProgressBar-HA9RPZfC.js.map} +1 -1
  156. package/dist/ProgressBar.js +1 -1
  157. package/dist/{Radio-CRv09Kbt.js → Radio-31wKzlZ4.js} +6 -6
  158. package/dist/{Radio-CRv09Kbt.js.map → Radio-31wKzlZ4.js.map} +1 -1
  159. package/dist/{Radio-D_8PAnkC.js → Radio-BwWDJuLF.js} +2 -2
  160. package/dist/{Radio-D_8PAnkC.js.map → Radio-BwWDJuLF.js.map} +1 -1
  161. package/dist/Radio.js +1 -1
  162. package/dist/{SearchField-0DZvPwPZ.js → SearchField-CoeaOip5.js} +3 -3
  163. package/dist/{SearchField-0DZvPwPZ.js.map → SearchField-CoeaOip5.js.map} +1 -1
  164. package/dist/SearchField.js +1 -1
  165. package/dist/{SegmentedControl-CMBQf7uo.js → SegmentedControl-CzTtiYS9.js} +3 -3
  166. package/dist/{SegmentedControl-CMBQf7uo.js.map → SegmentedControl-CzTtiYS9.js.map} +1 -1
  167. package/dist/SegmentedControl.js +1 -1
  168. package/dist/{SelectCard-B9RLpwtX.js → SelectCard-C91twG1S.js} +5 -5
  169. package/dist/{SelectCard-B9RLpwtX.js.map → SelectCard-C91twG1S.js.map} +1 -1
  170. package/dist/SelectCard.js +1 -1
  171. package/dist/SelectField.js +1 -1
  172. package/dist/{SelectFieldSync-BsDUUM84.js → SelectFieldSync-BFsJssdD.js} +163 -96
  173. package/dist/SelectFieldSync-BFsJssdD.js.map +1 -0
  174. package/dist/{SelectTrigger-DVLdDbfd.js → SelectTrigger-Cxhx9IVo.js} +5 -5
  175. package/dist/{SelectTrigger-DVLdDbfd.js.map → SelectTrigger-Cxhx9IVo.js.map} +1 -1
  176. package/dist/SelectTrigger.js +1 -1
  177. package/dist/{SelectTriggerBase-B3vw_qnJ.js → SelectTriggerBase-aaOWep-V.js} +6 -6
  178. package/dist/{SelectTriggerBase-B3vw_qnJ.js.map → SelectTriggerBase-aaOWep-V.js.map} +1 -1
  179. package/dist/{SideNav-DzcESFKB.js → SideNav-CbMGsIPM.js} +3 -3
  180. package/dist/{SideNav-DzcESFKB.js.map → SideNav-CbMGsIPM.js.map} +1 -1
  181. package/dist/SideNav.js +1 -1
  182. package/dist/Skeleton.js +1 -1
  183. package/dist/{Stepper-DXL6Ikux.js → Stepper-Jv9A3Ned.js} +5 -5
  184. package/dist/{Stepper-DXL6Ikux.js.map → Stepper-Jv9A3Ned.js.map} +1 -1
  185. package/dist/Stepper.js +1 -1
  186. package/dist/{Switch-CkZm45S3.js → Switch-DQICcdAv.js} +5 -5
  187. package/dist/{Switch-CkZm45S3.js.map → Switch-DQICcdAv.js.map} +1 -1
  188. package/dist/Switch.js +1 -1
  189. package/dist/{Tab-8a1qCMFA.js → Tab-CeXt6A_D.js} +4 -4
  190. package/dist/{Tab-8a1qCMFA.js.map → Tab-CeXt6A_D.js.map} +1 -1
  191. package/dist/Tab.js +1 -1
  192. package/dist/Table.js +1 -1
  193. package/dist/{Text-rR4bxNLd.js → Text-DhheKsns.js} +2 -2
  194. package/dist/{Text-rR4bxNLd.js.map → Text-DhheKsns.js.map} +1 -1
  195. package/dist/Text.js +1 -1
  196. package/dist/{TextField-Bm9ElAU1.js → TextField-CDiiYSlT.js} +4 -4
  197. package/dist/{TextField-Bm9ElAU1.js.map → TextField-CDiiYSlT.js.map} +1 -1
  198. package/dist/{TextField-B_ciNx06.js → TextField-CnYxS52Y.js} +2 -2
  199. package/dist/{TextField-B_ciNx06.js.map → TextField-CnYxS52Y.js.map} +1 -1
  200. package/dist/TextField.js +1 -1
  201. package/dist/{Textarea-stXDixWH.js → Textarea-BnHIDj2P.js} +4 -4
  202. package/dist/{Textarea-stXDixWH.js.map → Textarea-BnHIDj2P.js.map} +1 -1
  203. package/dist/Textarea.js +1 -1
  204. package/dist/{ThemeProvider-DyYBQz5m.js → ThemeProvider-BEt_iJgf.js} +5 -5
  205. package/dist/{ThemeProvider-DyYBQz5m.js.map → ThemeProvider-BEt_iJgf.js.map} +1 -1
  206. package/dist/ThemeProvider.css +14 -14
  207. package/dist/ThemeProvider.js +1 -1
  208. package/dist/{TimeField-063-mjFa.js → TimeField-ChqK40k_.js} +6 -6
  209. package/dist/{TimeField-063-mjFa.js.map → TimeField-ChqK40k_.js.map} +1 -1
  210. package/dist/TimeField.js +1 -1
  211. package/dist/Toast.js +2 -2
  212. package/dist/{Toaster-99KNznN3.js → Toaster-BlycAc63.js} +15 -9
  213. package/dist/Toaster-BlycAc63.js.map +1 -0
  214. package/dist/{Toaster-Br0IeKtP.js → Toaster-DW_bi2L9.js} +2 -2
  215. package/dist/{Toaster-Br0IeKtP.js.map → Toaster-DW_bi2L9.js.map} +1 -1
  216. package/dist/{Toolbar-DWeZEpeV.js → Toolbar-CUjj2YEZ.js} +20 -20
  217. package/dist/{Toolbar-DWeZEpeV.js.map → Toolbar-CUjj2YEZ.js.map} +1 -1
  218. package/dist/Toolbar.js +1 -1
  219. package/dist/{Tooltip-CIsvQwWo.js → Tooltip-CUiAJXak.js} +2 -2
  220. package/dist/{Tooltip-CIsvQwWo.js.map → Tooltip-CUiAJXak.js.map} +1 -1
  221. package/dist/Tooltip.js +1 -1
  222. package/dist/{YearlessDateInputWithPicker-D6HHhE_H.js → YearlessDateInputWithPicker-DZSb8sPf.js} +5 -5
  223. package/dist/{YearlessDateInputWithPicker-D6HHhE_H.js.map → YearlessDateInputWithPicker-DZSb8sPf.js.map} +1 -1
  224. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldList.d.ts +3 -1
  225. package/dist/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +13 -6
  226. package/dist/beta/components/MultiSelectField/stories/MultiSelectField.stories.data.d.ts +10 -1
  227. package/dist/beta/components/MultiSelectField/types.d.ts +34 -32
  228. package/dist/beta/components/SelectField/SelectFieldSync.d.ts +11 -1
  229. package/dist/beta/components/SelectField/internal/FieldListBase.d.ts +27 -0
  230. package/dist/beta/components/SelectField/internal/SelectFieldList.d.ts +3 -1
  231. package/dist/beta/components/SelectField/internal/types.d.ts +16 -0
  232. package/dist/beta/components/SelectField/internal/useCombo.d.ts +8 -3
  233. package/dist/beta/components/SelectField/internal/useGroupedOptions.d.ts +39 -0
  234. package/dist/beta/components/SelectField/internal/usePinnedOptions.d.ts +37 -0
  235. package/dist/beta/components/SelectField/types.d.ts +33 -10
  236. package/dist/beta/components/Table/columnTypeDefaults.d.ts +51 -0
  237. package/dist/beta/components/Table/createColumnHelper.d.ts +88 -26
  238. package/dist/beta/components/Table/formatters/dateFormatter.d.ts +1 -1
  239. package/dist/beta/components/Table/formatters/dateTimeFormatter.d.ts +1 -1
  240. package/dist/beta/components/Table/formatters/yearlessDateFormatter.d.ts +2 -2
  241. package/dist/beta/components/Table/index.d.ts +1 -0
  242. package/dist/beta/components/Table/types.d.ts +188 -19
  243. package/dist/beta/hooks/useAdaptiveView/index.d.ts +1 -0
  244. package/dist/beta.js +8 -8
  245. package/dist/components/Checkbox/internal/Checkbox.d.ts +1 -1
  246. package/dist/components/Dialog/internal/DialogContext.d.ts +5 -0
  247. package/dist/components/DndSort/DndSort.d.ts +1 -0
  248. package/dist/components/Drawer/internal/DrawerContext.d.ts +5 -0
  249. package/dist/components/FieldLabel/FieldLabel.d.ts +3 -1
  250. package/dist/components/Popover/internal/PopoverContext.d.ts +0 -1
  251. package/dist/components/Popover/internal/usePopoverContext.d.ts +0 -1
  252. package/dist/{index-DVtI3CrN.js → index-DFvIVS57.js} +3 -3
  253. package/dist/{index-DVtI3CrN.js.map → index-DFvIVS57.js.map} +1 -1
  254. package/dist/index.js +64 -64
  255. package/dist/{primitive-BByug0kD.js → primitive-C3RFDRA8.js} +11 -11
  256. package/dist/{primitive-BByug0kD.js.map → primitive-C3RFDRA8.js.map} +1 -1
  257. package/dist/token/core/primitive-variables.scss +10 -10
  258. package/dist/token/core/primitive.js +10 -10
  259. package/dist/token/core/primitive.scss +10 -10
  260. package/dist/token.js +1 -1
  261. package/dist/{useBreakpoint-BGCsBhQ7.js → useBreakpoint-BP3HZXmh.js} +2 -2
  262. package/dist/{useBreakpoint-BGCsBhQ7.js.map → useBreakpoint-BP3HZXmh.js.map} +1 -1
  263. package/dist/useBreakpoint.js +1 -1
  264. package/dist/{useDrilldown-pzr3387k.js → useDrilldown-lAdB3FFW.js} +4 -4
  265. package/dist/{useDrilldown-pzr3387k.js.map → useDrilldown-lAdB3FFW.js.map} +1 -1
  266. package/dist/{useInitialFocus-DfFGsgjO.js → useInitialFocus-nOW12jQ5.js} +20 -17
  267. package/dist/useInitialFocus-nOW12jQ5.js.map +1 -0
  268. package/dist/{useLayoutPropsUtil-BlIWftBb.js → useLayoutPropsUtil-loxbyklF.js} +3 -3
  269. package/dist/{useLayoutPropsUtil-BlIWftBb.js.map → useLayoutPropsUtil-loxbyklF.js.map} +1 -1
  270. package/package.json +5 -5
  271. package/dist/DataTable-CLr0j95O.js.map +0 -1
  272. package/dist/Drawer-BPPWM11Z.js.map +0 -1
  273. package/dist/FieldDialog-NcMR2ATl.js.map +0 -1
  274. package/dist/ListView-CBmaHOY-.js.map +0 -1
  275. package/dist/MultiSelectFieldSync-7nxS5Fdi.js.map +0 -1
  276. package/dist/Popover-U2Eu7v1Q.js.map +0 -1
  277. package/dist/SelectFieldSync-BsDUUM84.js.map +0 -1
  278. package/dist/Toaster-99KNznN3.js.map +0 -1
  279. package/dist/useInitialFocus-DfFGsgjO.js.map +0 -1
  280. /package/dist/beta/hooks/{useAdaptiveView.d.ts → useAdaptiveView/useAdaptiveView.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { SelectFieldDownshiftItem, SelectFieldOption } from '../types';
2
2
  import { UseComboboxPropGetters } from 'downshift';
3
3
  import { CSSProperties } from 'react';
4
+ import { SectionMeta } from './types';
4
5
  type GetMenuProps = UseComboboxPropGetters<SelectFieldDownshiftItem>["getMenuProps"];
5
6
  type GetItemProps = UseComboboxPropGetters<SelectFieldDownshiftItem>["getItemProps"];
6
7
  export type SelectFieldListProps = {
@@ -18,9 +19,10 @@ export type SelectFieldListProps = {
18
19
  disabled?: boolean;
19
20
  className?: string;
20
21
  style?: CSSProperties;
22
+ sectionsMeta?: SectionMeta[];
21
23
  };
22
24
  export declare const SelectFieldList: {
23
- ({ isOpen, items, getMenuProps, getItemProps, highlightedIndex, selectedOption, hasMore, onLoadMore, loading, loadingMore, disableAutoLoadMore, disabled, className, style, }: SelectFieldListProps): import("react/jsx-runtime").JSX.Element;
25
+ ({ selectedOption, ...rest }: SelectFieldListProps): import("react/jsx-runtime").JSX.Element;
24
26
  displayName: string;
25
27
  };
26
28
  export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Metadata about list sections for rendering purposes.
3
+ * Used by both SelectFieldList and MultiSelectFieldList to render section headers and dividers.
4
+ * @property type - The type of section ("pinned" for pinned options, "group" for grouped options)
5
+ * @property label - Section label (e.g., "Recent", "Favorites", or group name)
6
+ * @property startIndex - Index in downshiftItems where this section starts
7
+ * @property endIndex - Index where this section ends (exclusive)
8
+ * @property loading - Whether this section is still loading its options (pinned sections only)
9
+ */
10
+ export type SectionMeta = {
11
+ type: "pinned" | "group";
12
+ label: string;
13
+ startIndex: number;
14
+ endIndex: number;
15
+ loading?: boolean;
16
+ };
@@ -1,8 +1,12 @@
1
1
  import { UseComboboxProps } from 'downshift';
2
- import { SelectFieldDownshiftItem, SelectFieldOption } from '../types';
2
+ import { SelectFieldDownshiftItem, SelectFieldGroupByValue, SelectFieldOption, SelectFieldPinnedOptions } from '../types';
3
+ import { SectionMeta } from './types';
4
+ export type { SectionMeta };
3
5
  export type UseComboOptions = {
4
6
  options: SelectFieldOption[];
5
- pinnedOptions?: unknown;
7
+ pinned?: SelectFieldPinnedOptions;
8
+ groupToString?: (groupValue: SelectFieldGroupByValue) => string;
9
+ groupSorter?: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number;
6
10
  selectAll?: {
7
11
  label: string;
8
12
  onClick: () => void;
@@ -16,7 +20,7 @@ export type UseComboOptions = {
16
20
  /**
17
21
  * The purpose of useCombo is to provide an abstraction over the downshift combobox hook.
18
22
  */
19
- export declare const useCombo: ({ options, pinnedOptions, selectAll, selectedOption, onSelectedOptionChange, onInputValueChange, onIsOpenChange, displayAs, disableHighlightOnOpen, disabled, }: UseComboOptions) => {
23
+ export declare const useCombo: ({ options, pinned, groupToString, groupSorter, selectAll, selectedOption, onSelectedOptionChange, onInputValueChange, onIsOpenChange, displayAs, disableHighlightOnOpen, disabled, }: UseComboOptions) => {
20
24
  inputValue: string;
21
25
  wrapperDivRef: import('react').RefObject<HTMLDivElement>;
22
26
  getToggleButtonProps: <Options>(options?: import('downshift').UseComboboxGetToggleButtonPropsOptions & Options) => import('downshift').Overwrite<import('downshift').UseComboboxGetToggleButtonPropsReturnValue, Options>;
@@ -27,6 +31,7 @@ export declare const useCombo: ({ options, pinnedOptions, selectAll, selectedOpt
27
31
  highlightedIndex: number;
28
32
  isOpen: boolean;
29
33
  downshiftItems: SelectFieldDownshiftItem[];
34
+ sectionsMeta: SectionMeta[];
30
35
  closeMenu: () => void;
31
36
  openMenu: () => void;
32
37
  };
@@ -0,0 +1,39 @@
1
+ import { SelectFieldDownshiftItem, SelectFieldGroupByValue, SelectFieldOption } from '../types';
2
+ /**
3
+ * Normalized group section structure used internally.
4
+ * @property label - The group label (derived from groupToString or String(groupValue))
5
+ * @property options - The options belonging to this group
6
+ */
7
+ export type NormalizedGroupSection = {
8
+ label: string;
9
+ options: SelectFieldOption[];
10
+ };
11
+ type UseGroupedOptionsResult = {
12
+ /** Options that have a group property, converted to downshift items */
13
+ groupedItems: SelectFieldDownshiftItem[];
14
+ /** Options that don't have a group property, converted to downshift items */
15
+ ungroupedItems: SelectFieldDownshiftItem[];
16
+ /** Metadata about each group section for rendering */
17
+ groupSections: NormalizedGroupSection[];
18
+ };
19
+ /**
20
+ * Hook that processes options and groups them by their `group` property.
21
+ *
22
+ * Groups are ordered by insertion order (first occurrence of a group value
23
+ * defines its position in the list).
24
+ *
25
+ * @param options - The options to process
26
+ * @param groupToString - Optional function to convert group values to display labels
27
+ * @returns Grouped items, ungrouped items, and group section metadata
28
+ */
29
+ export declare function useGroupedOptions(options: SelectFieldOption[], groupToString?: (groupValue: SelectFieldGroupByValue) => string): UseGroupedOptionsResult;
30
+ /**
31
+ * Sorts group sections using the provided comparator function.
32
+ * The group value is extracted from the first option in each section.
33
+ *
34
+ * @param sections - The group sections to sort
35
+ * @param groupSorter - Comparator function for group values
36
+ * @returns A new array of sorted sections
37
+ */
38
+ export declare function sortGroupSections(sections: NormalizedGroupSection[], groupSorter: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number): NormalizedGroupSection[];
39
+ export {};
@@ -0,0 +1,37 @@
1
+ import { SelectFieldOption, SelectFieldPinnedOptions } from '../types';
2
+ /**
3
+ * Normalized pinned section structure used internally.
4
+ * @property label - Section label (e.g., "Recent", "Favorites")
5
+ * @property options - The pinned options for this section
6
+ * @property loading - Whether this section is still loading its options
7
+ */
8
+ export type NormalizedPinnedSection = {
9
+ label: string;
10
+ options: SelectFieldOption[];
11
+ loading?: boolean;
12
+ };
13
+ type UsePinnedOptionsResult = {
14
+ pinnedSections: NormalizedPinnedSection[];
15
+ };
16
+ /**
17
+ * Hook that normalizes and loads pinned options from various input formats.
18
+ *
19
+ * Handles:
20
+ * - Labeled pinned options object
21
+ * - Array of labeled pinned options objects
22
+ *
23
+ * Dynamic sections appear immediately with `loading: true` and empty options,
24
+ * then transition to their resolved options once loaded. Results are cached
25
+ * per section per search value so revisiting a previous search term is instant.
26
+ *
27
+ * Per-section configuration:
28
+ * - `searchReactive` (default true): when false, loader is called once and the
29
+ * result is reused for all search values.
30
+ * - `cacheSize` (default 15): max number of search results cached per section.
31
+ *
32
+ * @param pinned - The pinned options configuration from props
33
+ * @param searchValue - Current search input value
34
+ * @returns Normalized pinned sections with per-section loading state
35
+ */
36
+ export declare function usePinnedOptions(pinned: SelectFieldPinnedOptions | undefined, searchValue: string): UsePinnedOptionsResult;
37
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { AriaAttributes, CSSProperties, ReactElement, ReactNode } from 'react';
2
- import { LayoutUtilProps, Size } from '../../../types';
2
+ import { CheckState, LayoutUtilProps, Size } from '../../../types';
3
3
  /**
4
4
  * Configuration options for the SelectField cache.
5
5
  * @property enabled - Whether caching is enabled. Defaults to true.
@@ -23,6 +23,7 @@ export type SelectFieldOption = {
23
23
  searchText?: string;
24
24
  group?: SelectFieldGroupByValue;
25
25
  disabled?: boolean;
26
+ extra?: Record<string, unknown>;
26
27
  content?: {
27
28
  title?: string;
28
29
  description?: string;
@@ -82,18 +83,30 @@ type SelectFieldAddNewOptionProps = {
82
83
  renderDialogContent: (searchValue: string) => React.ReactNode;
83
84
  };
84
85
  };
85
- export type SelectFieldLabeledPinnedOptions = {
86
+ export type SelectFieldPinnedOptionsSection = {
86
87
  options: SelectFieldOption[] | ((searchValue: string) => SelectFieldOption[] | Promise<SelectFieldOption[]>);
87
88
  label: string;
89
+ /**
90
+ * Whether to re-call the loader when search value changes.
91
+ * Only applies when `options` is a function. Defaults to true.
92
+ * When false, the loader is called once and the result is reused for all search values.
93
+ *
94
+ * You may wish to use this, for example, if you are loading a set of "favorites" options that should not be re-loaded when the search value changes.
95
+ */
96
+ searchReactive?: boolean;
97
+ /**
98
+ * Maximum number of search results to cache per section.
99
+ * Only applies when `options` is a function and `searchReactive` is true.
100
+ * Oldest entries are evicted when the limit is reached. Defaults to 15.
101
+ */
102
+ cacheSize?: number;
88
103
  };
89
104
  /**
90
- * There are a number of ways to configure pinned options.
91
- * 1. An array of options
92
- * 2. A function that returns a list of options (or Promise thereof) based on the search value
93
- * 3. A labeled pinned options object (e.g. "Favorites", "Recent", "AI Suggestions", etc.)
94
- * 4. An array of labeled pinned options objects (e.g. [{"label": "Favorites", "options": [...]}])
105
+ * There are two ways to configure pinned options.
106
+ * 1. A labeled pinned options object (e.g. "Favorites", "Recent", "AI Suggestions", etc.)
107
+ * 2. An array of labeled pinned options objects (e.g. [{"label": "Favorites", "options": [...]}])
95
108
  */
96
- export type SelectFieldPinnedOptions = SelectFieldOption[] | ((searchValue: string) => SelectFieldOption[] | Promise<SelectFieldOption[]>) | SelectFieldLabeledPinnedOptions | SelectFieldLabeledPinnedOptions[];
109
+ export type SelectFieldPinnedOptions = SelectFieldPinnedOptionsSection | SelectFieldPinnedOptionsSection[];
97
110
  type SelectFieldCommonSelectFieldProps = {
98
111
  /**
99
112
  * The id of the select field.
@@ -217,6 +230,15 @@ type SelectFieldGroupingProps = {
217
230
  * @returns The formatted group label
218
231
  */
219
232
  groupToString?: (groupValue: SelectFieldGroupByValue) => string;
233
+ /**
234
+ * Function to compare two group values for sorting.
235
+ * When provided, options are sorted by group using this comparator,
236
+ * then by match-sort order within each group.
237
+ * @param a - First group value to compare
238
+ * @param b - Second group value to compare
239
+ * @returns Negative if a < b, positive if a > b, zero if equal
240
+ */
241
+ groupSorter?: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number;
220
242
  };
221
243
  type SelectFieldNonGroupingProps = {
222
244
  /**
@@ -281,13 +303,14 @@ export type SelectFieldPropsEager = SelectFieldCommonSelectFieldProps & {
281
303
  * Function to load the options.
282
304
  */
283
305
  loadOptions: SelectFieldEagerLoader;
284
- };
306
+ } & SelectFieldGroupingProps;
285
307
  export type SelectFieldPropsLazy = SelectFieldPropsLazyPage | SelectFieldPropsLazyOffset | SelectFieldPropsLazyGroup;
286
308
  export type SelectFieldProps = SelectFieldPropsLazy | SelectFieldPropsEager;
287
309
  export type SelectFieldDownshiftItem = {
288
310
  id: string | number;
289
- type: "option" | "pinned-option" | "select-all";
311
+ type: "option" | "pinned-option" | "grouped-option" | "select-all";
290
312
  original: SelectFieldOption;
291
313
  disabled?: boolean;
314
+ checkState?: CheckState;
292
315
  };
293
316
  export {};
@@ -0,0 +1,51 @@
1
+ import { ReactNode } from 'react';
2
+ import { ColumnType, ColumnTypeConfig, ColumnTypeOptionsMap } from './types';
3
+ /**
4
+ * Display defaults for a column type.
5
+ * Defines the default formatter and alignment for each column type.
6
+ */
7
+ export type ColumnTypeDefaults = {
8
+ /**
9
+ * Default horizontal alignment for the column.
10
+ */
11
+ align: "start" | "center" | "end";
12
+ /**
13
+ * Factory function to create the default renderCell function.
14
+ * Receives formatter options and returns the renderCell function.
15
+ */
16
+ createRenderCell: (options?: ColumnTypeOptionsMap[ColumnType]) => ((value: unknown, rowDepth: number) => ReactNode) | undefined;
17
+ };
18
+ /**
19
+ * Mapping of column types to their display defaults.
20
+ * Used by the column helper to apply sensible defaults based on data type.
21
+ */
22
+ export declare const COLUMN_TYPE_DEFAULTS: Record<ColumnType, ColumnTypeDefaults>;
23
+ /**
24
+ * Extracts the column type string and options from a ColumnTypeConfig.
25
+ *
26
+ * @param config - The column type configuration (string or object)
27
+ * @returns Tuple of [type string, options object or undefined]
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * resolveColumnTypeConfig("currency")
32
+ * // Returns: ["currency", undefined]
33
+ *
34
+ * resolveColumnTypeConfig({ type: "currency", options: { currency: "EUR" } })
35
+ * // Returns: ["currency", { currency: "EUR" }]
36
+ * ```
37
+ */
38
+ export declare function resolveColumnTypeConfig<T extends ColumnType>(config: ColumnTypeConfig<T>): [T, ColumnTypeOptionsMap[T] | undefined];
39
+ /**
40
+ * Gets the display defaults for a column type.
41
+ *
42
+ * @param type - The column type
43
+ * @returns The column type defaults (align and createRenderCell)
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const defaults = getColumnTypeDefaults("currency");
48
+ * // Returns: { align: "end", createRenderCell: ... }
49
+ * ```
50
+ */
51
+ export declare function getColumnTypeDefaults(type: ColumnType): ColumnTypeDefaults;
@@ -1,11 +1,11 @@
1
1
  import { ReactNode } from 'react';
2
- import { ColumnDef } from './types';
2
+ import { ColumnDef, ColumnTypeConfig, TextEditConfig, SelectEditConfig, MultiselectEditConfig } from './types';
3
3
  /**
4
4
  * Utility type that extracts the element type from an array type
5
5
  */
6
6
  type ArrayElement<T> = T extends (infer U)[] ? U : never;
7
7
  /**
8
- * Base column configuration without editMode-specific properties
8
+ * Base column configuration without editMode-specific or editConfig-specific properties
9
9
  */
10
10
  type BaseColumnConfig<T, K extends keyof T> = {
11
11
  /**
@@ -13,7 +13,8 @@ type BaseColumnConfig<T, K extends keyof T> = {
13
13
  */
14
14
  headerLabel: string;
15
15
  /**
16
- * The alignment of the header
16
+ * The alignment of the header.
17
+ * When using `type`, this is set automatically but can be overridden.
17
18
  */
18
19
  align?: "start" | "center" | "end";
19
20
  /**
@@ -41,38 +42,74 @@ type BaseColumnConfig<T, K extends keyof T> = {
41
42
  */
42
43
  resizable?: boolean;
43
44
  /**
44
- * The function to customize how the cell content is rendered
45
+ * The function to customize how the cell content is rendered.
46
+ * When using `type`, a default renderer is provided but can be overridden.
45
47
  */
46
48
  renderCell?: (value: T[K], rowDepth: number) => ReactNode;
47
49
  /**
48
50
  * Whether the column is sortable, or a function to customize the sorting logic
49
51
  */
50
52
  sortable?: boolean | ((valueA: T[K], valueB: T[K]) => number);
53
+ /**
54
+ * The column type for automatic display configuration.
55
+ * Sets default `renderCell` (formatter) and `align` based on the data type.
56
+ */
57
+ type?: ColumnTypeConfig;
51
58
  };
52
59
  /**
53
- * Configuration for read-only columns (no editMode)
60
+ * Configuration for read-only columns (no editing)
54
61
  */
55
62
  type ReadOnlyColumnConfig<T, K extends keyof T> = BaseColumnConfig<T, K> & {
63
+ editConfig?: undefined;
56
64
  editMode?: undefined;
57
65
  onChange?: never;
58
66
  options?: never;
59
67
  };
60
68
  /**
61
- * Configuration for text editable columns
69
+ * Configuration for text editable columns using editConfig
62
70
  * Valid when T[K] is a string, number, or boolean type
63
- * Number and boolean values are converted to strings -- support for this will be dropped in a future release
64
- * once we implement additional editable cell types
65
- * TODO: https://servicetitan.atlassian.net/browse/ANV-3798 Drop support for number and boolean values
71
+ */
72
+ type TextEditConfigColumnConfig<T, K extends keyof T> = NonNullable<T[K]> extends string | number | boolean ? BaseColumnConfig<T, K> & {
73
+ editConfig: TextEditConfig<T, K>;
74
+ editMode?: undefined;
75
+ onChange?: undefined;
76
+ options?: undefined;
77
+ } : never;
78
+ /**
79
+ * Configuration for select editable columns using editConfig
80
+ */
81
+ type SelectEditConfigColumnConfig<T, K extends keyof T> = BaseColumnConfig<T, K> & {
82
+ editConfig: SelectEditConfig<T, K>;
83
+ editMode?: undefined;
84
+ onChange?: undefined;
85
+ options?: undefined;
86
+ };
87
+ /**
88
+ * Configuration for multiselect editable columns using editConfig
89
+ * Only valid when T[K] is an array type
90
+ */
91
+ type MultiselectEditConfigColumnConfig<T, K extends keyof T> = NonNullable<T[K]> extends unknown[] ? BaseColumnConfig<T, K> & {
92
+ editConfig: MultiselectEditConfig<T, K>;
93
+ editMode?: undefined;
94
+ onChange?: undefined;
95
+ options?: undefined;
96
+ } : never;
97
+ /**
98
+ * Configuration for text editable columns (legacy)
99
+ * @deprecated Use editConfig instead: `editConfig: { mode: "text", onChange: ... }`
66
100
  */
67
101
  type TextEditableColumnConfig<T, K extends keyof T> = NonNullable<T[K]> extends string | number | boolean ? BaseColumnConfig<T, K> & {
102
+ editConfig?: undefined;
68
103
  editMode: "text";
69
104
  onChange?: (value: string, rowId: string) => void;
70
105
  options?: never;
71
106
  } : never;
72
107
  /**
73
- * Configuration for select editable columns
108
+ * Configuration for select editable columns (legacy)
109
+ * @deprecated Use editConfig instead: `editConfig: { mode: "select", options: [...], onChange: ... }`
74
110
  */
75
111
  type SelectEditableColumnConfig<T, K extends keyof T> = BaseColumnConfig<T, K> & {
112
+ editConfig?: undefined;
76
113
  editMode: "select";
77
114
  onChange?: (value: T[K], rowId: string) => void;
78
115
  options: {
@@ -81,10 +118,11 @@ type SelectEditableColumnConfig<T, K extends keyof T> = BaseColumnConfig<T, K> &
81
118
  }[];
82
119
  };
83
120
  /**
84
- * Configuration for multiselect editable columns
85
- * Only valid when T[K] is an array type
121
+ * Configuration for multiselect editable columns (legacy)
122
+ * @deprecated Use editConfig instead: `editConfig: { mode: "multiselect", options: [...], onChange: ... }`
86
123
  */
87
124
  type MultiselectEditableColumnConfig<T, K extends keyof T> = NonNullable<T[K]> extends unknown[] ? BaseColumnConfig<T, K> & {
125
+ editConfig?: undefined;
88
126
  editMode: "multiselect";
89
127
  onChange?: (value: T[K], rowId: string) => void;
90
128
  options: {
@@ -93,35 +131,59 @@ type MultiselectEditableColumnConfig<T, K extends keyof T> = NonNullable<T[K]> e
93
131
  }[];
94
132
  } : never;
95
133
  /**
96
- * Full column configuration type - union of all possible configurations
97
- * TypeScript will enforce that the editMode matches the value type constraints
134
+ * Full column configuration type - union of all possible configurations.
135
+ * Includes both new editConfig-based and legacy editMode-based configs.
136
+ * TypeScript will enforce that the editMode/editConfig matches the value type constraints.
98
137
  */
99
- type ColumnConfig<T, K extends keyof T> = ReadOnlyColumnConfig<T, K> | TextEditableColumnConfig<T, K> | SelectEditableColumnConfig<T, K> | MultiselectEditableColumnConfig<T, K>;
138
+ type ColumnConfig<T, K extends keyof T> = ReadOnlyColumnConfig<T, K> | TextEditConfigColumnConfig<T, K> | SelectEditConfigColumnConfig<T, K> | MultiselectEditConfigColumnConfig<T, K> | TextEditableColumnConfig<T, K> | SelectEditableColumnConfig<T, K> | MultiselectEditableColumnConfig<T, K>;
100
139
  /**
101
140
  * Factory function to create column helper function for defining Table columns.
102
141
  *
103
142
  * This helper provides type safety by enforcing that:
104
- * - `editMode: "text"` can only be used with string, number, or boolean columns
105
- * - `editMode: "multiselect"` can only be used with array columns
106
- * - `editMode: "select"` options values must match the column's value type
107
- * - `onChange` callback receives the correct value type for the column
143
+ * - `type` sets display defaults (formatter and alignment) for the column
144
+ * - `editConfig` enables cell editing with proper type constraints
145
+ * - `editConfig.mode: "text"` can only be used with string, number, or boolean columns
146
+ * - `editConfig.mode: "multiselect"` can only be used with array columns
147
+ * - `editConfig.mode: "select"` options values must match the column's value type
148
+ * - `editConfig.onChange` callback receives the correct value type for the column
108
149
  *
109
150
  * @template T - The type of the row data
110
151
  * @returns A function that creates type-safe column definitions
111
152
  *
112
153
  * @example
113
154
  * ```ts
114
- * type Data = { name: string; count: number; tags: string[] };
155
+ * type Data = { name: string; amount: number; tags: string[] };
115
156
  * const createColumn = createColumnHelper<Data>();
116
157
  *
117
- * // Valid: text mode with string column
118
- * createColumn("name", { headerLabel: "Name", editMode: "text" });
158
+ * // Display-only column with type defaults
159
+ * createColumn("amount", { headerLabel: "Amount", type: "currency" });
160
+ *
161
+ * // Editable column with editConfig
162
+ * createColumn("name", {
163
+ * headerLabel: "Name",
164
+ * type: "text",
165
+ * editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
166
+ * });
119
167
  *
120
- * // Valid: text mode with number column (value converted to string)
121
- * createColumn("count", { headerLabel: "Count", editMode: "text" });
168
+ * // Select editing
169
+ * createColumn("status", {
170
+ * headerLabel: "Status",
171
+ * editConfig: {
172
+ * mode: "select",
173
+ * options: [{ value: "active", label: "Active" }],
174
+ * onChange: (value, rowId) => save(value, rowId)
175
+ * }
176
+ * });
122
177
  *
123
- * // Valid: multiselect mode with array column
124
- * createColumn("tags", { headerLabel: "Tags", editMode: "multiselect", options: [...] });
178
+ * // Multiselect editing with array column
179
+ * createColumn("tags", {
180
+ * headerLabel: "Tags",
181
+ * editConfig: {
182
+ * mode: "multiselect",
183
+ * options: [{ value: "urgent", label: "Urgent" }],
184
+ * onChange: (value, rowId) => save(value, rowId)
185
+ * }
186
+ * });
125
187
  * ```
126
188
  */
127
189
  export declare function createColumnHelper<T>(): <K extends keyof T>(id: K | {
@@ -16,7 +16,7 @@ export type DateFormatterOptions = {
16
16
  * - "long": January 15, 2024
17
17
  * - "full": Monday, January 15, 2024
18
18
  * - Intl.DateTimeFormatOptions: Custom format (e.g., { weekday: "long", month: "short", day: "numeric" })
19
- * @default "medium"
19
+ * @default "short"
20
20
  */
21
21
  format?: DateFormatPreset | Intl.DateTimeFormatOptions;
22
22
  };
@@ -24,7 +24,7 @@ export type DateTimeFormatterOptions = {
24
24
  * - "long": January 15, 2024
25
25
  * - "full": Monday, January 15, 2024
26
26
  * - Intl.DateTimeFormatOptions: Custom format (e.g., { weekday: "long", month: "short", day: "numeric" })
27
- * @default "medium"
27
+ * @default "short"
28
28
  */
29
29
  dateFormat?: DateTimeFormatDatePreset | Intl.DateTimeFormatOptions;
30
30
  /**
@@ -16,8 +16,8 @@ export type YearlessDateFormatterOptions = {
16
16
  * The format preset or Intl.DateTimeFormatOptions object
17
17
  * - "short": Jan 05
18
18
  * - "long": January 05
19
- * - Intl.DateTimeFormatOptions: Custom format (e.g., { month: "2-digit", day: "2-digit" })
20
- * @default "long"
19
+ * - Intl.DateTimeFormatOptions: Custom format (e.g., { month: "long", day: "numeric" })
20
+ * @default "short"
21
21
  */
22
22
  format?: YearlessDateFormatPreset | Intl.DateTimeFormatOptions;
23
23
  };
@@ -1,3 +1,4 @@
1
+ export * from './columnTypeDefaults';
1
2
  export * from './createColumnHelper';
2
3
  export * from './formatters';
3
4
  export * from './DataTable';