@servicetitan/anvil2 2.7.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/CHANGELOG.md +73 -1
  2. package/dist/{floating-ui.react-aKYfs-aw.js → AiMark-DR-w6Nbm.js} +767 -5
  3. package/dist/AiMark-DR-w6Nbm.js.map +1 -0
  4. package/dist/AiMark.css +260 -0
  5. package/dist/AiMark.d.ts +2 -0
  6. package/dist/AiMark.js +2 -0
  7. package/dist/AiMark.js.map +1 -0
  8. package/dist/{Alert-C_o2f78C.js → Alert-Dj61Bq8h.js} +27 -13
  9. package/dist/Alert-Dj61Bq8h.js.map +1 -0
  10. package/dist/Alert.css +23 -15
  11. package/dist/Alert.js +1 -1
  12. package/dist/{Announcement-CyrTvgP4.js → Announcement-B9zm-_1S.js} +2 -2
  13. package/dist/{Announcement-CyrTvgP4.js.map → Announcement-B9zm-_1S.js.map} +1 -1
  14. package/dist/Announcement.js +1 -1
  15. package/dist/{AnvilProvider-ClfmLl_6.js → AnvilProvider-DUPYyMc7.js} +2 -2
  16. package/dist/{AnvilProvider-ClfmLl_6.js.map → AnvilProvider-DUPYyMc7.js.map} +1 -1
  17. package/dist/AnvilProvider.js +1 -1
  18. package/dist/{Breadcrumbs-C_WK9Yul.js → Breadcrumbs-ojgYVZwe.js} +3 -3
  19. package/dist/{Breadcrumbs-C_WK9Yul.js.map → Breadcrumbs-ojgYVZwe.js.map} +1 -1
  20. package/dist/Breadcrumbs.js +1 -1
  21. package/dist/Button-BdrrhBTI.js +2185 -0
  22. package/dist/Button-BdrrhBTI.js.map +1 -0
  23. package/dist/Button.js +1 -1
  24. package/dist/{ButtonToggle-DaYJWso_.js → ButtonToggle-DaFQ3DBG.js} +2 -2
  25. package/dist/{ButtonToggle-DaYJWso_.js.map → ButtonToggle-DaFQ3DBG.js.map} +1 -1
  26. package/dist/ButtonToggle.js +1 -1
  27. package/dist/{Calendar-BTStJPV1.js → Calendar-Cka4unyi.js} +2 -2
  28. package/dist/{Calendar-BTStJPV1.js.map → Calendar-Cka4unyi.js.map} +1 -1
  29. package/dist/{Calendar-Frpv5rRY.js → Calendar-Dxl9QnfP.js} +3 -3
  30. package/dist/{Calendar-Frpv5rRY.js.map → Calendar-Dxl9QnfP.js.map} +1 -1
  31. package/dist/Calendar.js +2 -2
  32. package/dist/Card-wz71dEVA.js.map +1 -1
  33. package/dist/{Checkbox-Drgai_lS.js → Checkbox-B-XTVPbX.js} +24 -13
  34. package/dist/Checkbox-B-XTVPbX.js.map +1 -0
  35. package/dist/{Checkbox-CTZdZym4.js → Checkbox-Cw1-KFvq.js} +2 -2
  36. package/dist/{Checkbox-CTZdZym4.js.map → Checkbox-Cw1-KFvq.js.map} +1 -1
  37. package/dist/Checkbox.js +1 -1
  38. package/dist/{Chip-CVyEctAz.js → Chip-Ce0WGKAc.js} +42 -12
  39. package/dist/Chip-Ce0WGKAc.js.map +1 -0
  40. package/dist/Chip.css +44 -28
  41. package/dist/Chip.js +1 -1
  42. package/dist/{Combobox-BRtfrYyZ.js → Combobox-CNQUROyr.js} +4 -4
  43. package/dist/{Combobox-BRtfrYyZ.js.map → Combobox-CNQUROyr.js.map} +1 -1
  44. package/dist/Combobox.js +1 -1
  45. package/dist/{DataTable-BmVPjMMg.js → DataTable-BCV_mtSy.js} +572 -98
  46. package/dist/DataTable-BCV_mtSy.js.map +1 -0
  47. package/dist/DataTable.css +148 -103
  48. package/dist/{DateFieldRange-D9DtlkSQ.js → DateFieldRange-D2hnF50O.js} +6 -6
  49. package/dist/{DateFieldRange-D9DtlkSQ.js.map → DateFieldRange-D2hnF50O.js.map} +1 -1
  50. package/dist/DateFieldRange.js +1 -1
  51. package/dist/{DateFieldSingle-CkdeCUJv.js → DateFieldSingle-BuaB7RDr.js} +6 -6
  52. package/dist/{DateFieldSingle-CkdeCUJv.js.map → DateFieldSingle-BuaB7RDr.js.map} +1 -1
  53. package/dist/DateFieldSingle.js +1 -1
  54. package/dist/{DateFieldYearless-b81ZcYdp.js → DateFieldYearless-DLeMEutt.js} +22 -6
  55. package/dist/DateFieldYearless-DLeMEutt.js.map +1 -0
  56. package/dist/DateFieldYearless.js +1 -1
  57. package/dist/{DateFieldYearlessRange-ClAFzIDD.js → DateFieldYearlessRange-BfPuYKKC.js} +3 -3
  58. package/dist/DateFieldYearlessRange-BfPuYKKC.js.map +1 -0
  59. package/dist/DateFieldYearlessRange.js +1 -1
  60. package/dist/{DaysOfTheWeek-2Zeh79oR.js → DaysOfTheWeek-BW1T8sTU.js} +4 -4
  61. package/dist/{DaysOfTheWeek-2Zeh79oR.js.map → DaysOfTheWeek-BW1T8sTU.js.map} +1 -1
  62. package/dist/DaysOfTheWeek.js +1 -1
  63. package/dist/{Dialog-CloZWa1Q.js → Dialog-Cewu2pd_.js} +38 -10
  64. package/dist/Dialog-Cewu2pd_.js.map +1 -0
  65. package/dist/Dialog.js +1 -1
  66. package/dist/{DialogCancelButton-DQDMzGeT.js → DialogCancelButton-Czz4Wpse.js} +2 -2
  67. package/dist/{DialogCancelButton-DQDMzGeT.js.map → DialogCancelButton-Czz4Wpse.js.map} +1 -1
  68. package/dist/{Drawer-CfkoH081.js → Drawer-Cb5asXWf.js} +38 -10
  69. package/dist/Drawer-Cb5asXWf.js.map +1 -0
  70. package/dist/Drawer.js +1 -1
  71. package/dist/DrillDown.js +1 -1
  72. package/dist/DrillDown.module-C8VOhzaF.js.map +1 -1
  73. package/dist/{EditCard-CLN0GBN_.js → EditCard-DlJE3LXN.js} +3 -3
  74. package/dist/{EditCard-CLN0GBN_.js.map → EditCard-DlJE3LXN.js.map} +1 -1
  75. package/dist/EditCard.js +1 -1
  76. package/dist/FieldLabel-HO2VP-4B.js +180 -0
  77. package/dist/FieldLabel-HO2VP-4B.js.map +1 -0
  78. package/dist/FieldLabel.css +33 -73
  79. package/dist/FieldLabel.js +1 -1
  80. package/dist/{InputMask-CI4Q5UwG.js → InputMask-CLLTehFI.js} +3 -3
  81. package/dist/{InputMask-CI4Q5UwG.js.map → InputMask-CLLTehFI.js.map} +1 -1
  82. package/dist/InputMask.js +1 -1
  83. package/dist/{ListView-DAbBuss4.js → ListView-CPi-qG2w.js} +2 -2
  84. package/dist/{ListView-DAbBuss4.js.map → ListView-CPi-qG2w.js.map} +1 -1
  85. package/dist/ListView.js +1 -1
  86. package/dist/{Listbox-D_T55BFX.js → Listbox-Bp4hqIpH.js} +2 -2
  87. package/dist/{Listbox-D_T55BFX.js.map → Listbox-Bp4hqIpH.js.map} +1 -1
  88. package/dist/Listbox.js +1 -1
  89. package/dist/{Menu-CRoJYJ53.js → Menu-CCavGohP.js} +92 -95
  90. package/dist/Menu-CCavGohP.js.map +1 -0
  91. package/dist/Menu.js +1 -1
  92. package/dist/MultiSelectField.js +1 -1
  93. package/dist/{MultiSelectFieldSync-CSOitvtu.js → MultiSelectFieldSync-ChZCW4M9.js} +32 -19
  94. package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +1 -0
  95. package/dist/MultiSelectMenu.js +1 -1
  96. package/dist/{MultiSelectMenuSync-62OeGmkz.js → MultiSelectMenuSync-7C1wW4oO.js} +3 -3
  97. package/dist/{MultiSelectMenuSync-62OeGmkz.js.map → MultiSelectMenuSync-7C1wW4oO.js.map} +1 -1
  98. package/dist/{NumberField-CHBXBMSj.js → NumberField-CZSTHBeO.js} +16 -5
  99. package/dist/NumberField-CZSTHBeO.js.map +1 -0
  100. package/dist/NumberField.js +1 -1
  101. package/dist/{Page-DtSjnBJL.js → Page-BHdvTlfE.js} +116 -63
  102. package/dist/Page-BHdvTlfE.js.map +1 -0
  103. package/dist/Page.css +76 -76
  104. package/dist/Page.js +1 -1
  105. package/dist/{Pagination-CbBte3GQ.js → Pagination-DecGSuW4.js} +5 -5
  106. package/dist/{Pagination-CbBte3GQ.js.map → Pagination-DecGSuW4.js.map} +1 -1
  107. package/dist/Pagination.js +1 -1
  108. package/dist/{Popover-Rha0q-Pv.js → Popover-BbqTZw-1.js} +4 -6
  109. package/dist/{Popover-Rha0q-Pv.js.map → Popover-BbqTZw-1.js.map} +1 -1
  110. package/dist/Popover.js +1 -1
  111. package/dist/{ProgressBar-DEaMqbM-.js → ProgressBar-CZcxkdX6.js} +2 -2
  112. package/dist/{ProgressBar-DEaMqbM-.js.map → ProgressBar-CZcxkdX6.js.map} +1 -1
  113. package/dist/ProgressBar.js +1 -1
  114. package/dist/{Radio-CCvu8mbI.js → Radio-BFr8AdHc.js} +2 -2
  115. package/dist/{Radio-CCvu8mbI.js.map → Radio-BFr8AdHc.js.map} +1 -1
  116. package/dist/{Radio-Bw2LDl9G.js → Radio-DJZVMCv0.js} +24 -13
  117. package/dist/Radio-DJZVMCv0.js.map +1 -0
  118. package/dist/Radio.js +1 -1
  119. package/dist/{SegmentedControl-BAi4pnFe.js → SegmentedControl-B9NWUF7s.js} +3 -3
  120. package/dist/{SegmentedControl-BAi4pnFe.js.map → SegmentedControl-B9NWUF7s.js.map} +1 -1
  121. package/dist/SegmentedControl.js +1 -1
  122. package/dist/{SelectCard-ZaAD0wR1.js → SelectCard-DVcWJRbX.js} +51 -24
  123. package/dist/SelectCard-DVcWJRbX.js.map +1 -0
  124. package/dist/SelectCard.js +1 -1
  125. package/dist/SelectField.js +1 -1
  126. package/dist/{SelectFieldLabel-EJCXA02B.js → SelectFieldLabel-kEBS8L4l.js} +5 -4
  127. package/dist/SelectFieldLabel-kEBS8L4l.js.map +1 -0
  128. package/dist/{SelectFieldSync-DA54WXOk.js → SelectFieldSync-o1Cp9UYC.js} +14 -14
  129. package/dist/SelectFieldSync-o1Cp9UYC.js.map +1 -0
  130. package/dist/SelectMenu.js +1 -1
  131. package/dist/{SelectMenuSync-BQaSTcaN.js → SelectMenuSync-DXrwecFt.js} +3 -3
  132. package/dist/{SelectMenuSync-BQaSTcaN.js.map → SelectMenuSync-DXrwecFt.js.map} +1 -1
  133. package/dist/{SelectOptions-D-DzWmKE.js → SelectOptions-Dy2OWqxn.js} +2 -2
  134. package/dist/{SelectOptions-D-DzWmKE.js.map → SelectOptions-Dy2OWqxn.js.map} +1 -1
  135. package/dist/{SelectTrigger-DWyRndmY.js → SelectTrigger-DhKYzEAr.js} +7 -5
  136. package/dist/SelectTrigger-DhKYzEAr.js.map +1 -0
  137. package/dist/SelectTrigger.js +1 -1
  138. package/dist/{SelectTriggerBase-B6aZd2a6.js → SelectTriggerBase-Ni8WqeUx.js} +76 -63
  139. package/dist/SelectTriggerBase-Ni8WqeUx.js.map +1 -0
  140. package/dist/SelectTriggerBase.css +83 -66
  141. package/dist/SelectTriggerBase.module-CKoq6qzX.js +38 -0
  142. package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +1 -0
  143. package/dist/{SideNav-CxHemV3H.js → SideNav-CrxYExjh.js} +11 -11
  144. package/dist/{SideNav-CxHemV3H.js.map → SideNav-CrxYExjh.js.map} +1 -1
  145. package/dist/SideNav.css +72 -55
  146. package/dist/SideNav.js +1 -1
  147. package/dist/Skeleton.css +18 -12
  148. package/dist/Skeleton.js +24 -11
  149. package/dist/Skeleton.js.map +1 -1
  150. package/dist/{Stepper-CQUXV6P4.js → Stepper-Dt2xAXth.js} +3 -3
  151. package/dist/{Stepper-CQUXV6P4.js.map → Stepper-Dt2xAXth.js.map} +1 -1
  152. package/dist/Stepper.js +1 -1
  153. package/dist/{Switch-DpPHr3G3.js → Switch-C84MBChG.js} +14 -2
  154. package/dist/Switch-C84MBChG.js.map +1 -0
  155. package/dist/Switch.js +1 -1
  156. package/dist/{Tab-BGGNcz9S.js → Tab-BZpTCG0i.js} +3 -3
  157. package/dist/{Tab-BGGNcz9S.js.map → Tab-BZpTCG0i.js.map} +1 -1
  158. package/dist/Tab.js +1 -1
  159. package/dist/Table.js +1 -1
  160. package/dist/{Text-BJo4oMI2.js → Text-WiS8UZkY.js} +30 -12
  161. package/dist/Text-WiS8UZkY.js.map +1 -0
  162. package/dist/Text.css +37 -20
  163. package/dist/Text.js +1 -1
  164. package/dist/{TextField-o8zvVFDk.js → TextField-Bul_uln5.js} +21 -5
  165. package/dist/TextField-Bul_uln5.js.map +1 -0
  166. package/dist/{TextField-CMv9CpBq.js → TextField-OznkTx4e.js} +2 -2
  167. package/dist/{TextField-CMv9CpBq.js.map → TextField-OznkTx4e.js.map} +1 -1
  168. package/dist/TextField.js +1 -1
  169. package/dist/{Textarea-B4bBvO8c.js → Textarea-CCYLsJ1x.js} +21 -5
  170. package/dist/Textarea-CCYLsJ1x.js.map +1 -0
  171. package/dist/Textarea.js +1 -1
  172. package/dist/{TimeField-BEgnjk4R.js → TimeField-BPvPbD8H.js} +6 -5
  173. package/dist/{TimeField-BEgnjk4R.js.map → TimeField-BPvPbD8H.js.map} +1 -1
  174. package/dist/TimeField.js +1 -1
  175. package/dist/Toast.js +2 -2
  176. package/dist/{Toaster-B38WlKC7.js → Toaster-CIaIvwH6.js} +2 -2
  177. package/dist/{Toaster-B38WlKC7.js.map → Toaster-CIaIvwH6.js.map} +1 -1
  178. package/dist/{Toaster-6_LVKok2.js → Toaster-DYJm06Vb.js} +5 -5
  179. package/dist/Toaster-DYJm06Vb.js.map +1 -0
  180. package/dist/{Toolbar-0EKhrvZN.js → Toolbar-ByyI7SqG.js} +15 -15
  181. package/dist/{Toolbar-0EKhrvZN.js.map → Toolbar-ByyI7SqG.js.map} +1 -1
  182. package/dist/Toolbar.js +1 -1
  183. package/dist/{Tooltip-BHwSTwsv.js → Tooltip-C1PBRnJv.js} +2 -3
  184. package/dist/{Tooltip-BHwSTwsv.js.map → Tooltip-C1PBRnJv.js.map} +1 -1
  185. package/dist/Tooltip.js +1 -1
  186. package/dist/{YearlessDateInputWithPicker-BC4lRuny.js → YearlessDateInputWithPicker-C_twiQW5.js} +2 -3
  187. package/dist/{YearlessDateInputWithPicker-BC4lRuny.js.map → YearlessDateInputWithPicker-C_twiQW5.js.map} +1 -1
  188. package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
  189. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  190. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -2
  191. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  192. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +3 -2
  193. package/dist/beta/components/MultiSelectField/internal/types.d.ts +4 -3
  194. package/dist/beta/components/MultiSelectField/types.d.ts +28 -7
  195. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  196. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -4
  197. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  198. package/dist/beta/components/SelectField/types.d.ts +5 -5
  199. package/dist/beta/components/Table/DataTable/DataTable.d.ts +8 -5
  200. package/dist/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +5 -5
  201. package/dist/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +4 -4
  202. package/dist/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +29 -0
  203. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +13 -2
  204. package/dist/beta/components/Table/DataTable/types.d.ts +30 -0
  205. package/dist/beta/components/Table/base/cells/TableHeaderCell.d.ts +4 -0
  206. package/dist/beta/components/Table/createColumnHelper.d.ts +17 -10
  207. package/dist/beta/components/Table/formatters/htmlFormatter.d.ts +13 -0
  208. package/dist/beta/components/Table/formatters/htmlToMarkdown.d.ts +11 -0
  209. package/dist/beta/components/Table/formatters/index.d.ts +2 -0
  210. package/dist/beta/components/Table/formatters/markdownFormatter.d.ts +11 -0
  211. package/dist/beta/components/Table/types.d.ts +41 -8
  212. package/dist/beta/components/Toolbar/Toolbar.d.ts +10 -6
  213. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +5 -3
  214. package/dist/beta.js +9 -9
  215. package/dist/components/AiMark/AiMark.d.ts +87 -0
  216. package/dist/components/AiMark/index.d.ts +1 -0
  217. package/dist/components/AiMark/internal/AiMarkIconAnimated.d.ts +30 -0
  218. package/dist/components/AiMark/internal/AiMarkInteractive.d.ts +10 -0
  219. package/dist/components/AiMark/stories/aiMarkStoryArgTypes.d.ts +16 -0
  220. package/dist/components/Alert/Alert.d.ts +12 -0
  221. package/dist/components/Button/Button.d.ts +14 -6
  222. package/dist/components/Button/internal/buttonAiMarkUtils.d.ts +18 -0
  223. package/dist/components/Button/internal/index.d.ts +1 -0
  224. package/dist/components/Card/Card.d.ts +6 -1
  225. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  226. package/dist/components/Checkbox/CheckboxGroup.d.ts +27 -6
  227. package/dist/components/Chip/Chip.d.ts +10 -1
  228. package/dist/components/Chip/internal/Chip.d.ts +4 -0
  229. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  230. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  231. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  232. package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +8 -1
  233. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  234. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  235. package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +7 -0
  236. package/dist/components/DrillDown/internal/DrillDownContext.d.ts +4 -0
  237. package/dist/components/DrillDown/internal/useDrillDownContextState.d.ts +4 -0
  238. package/dist/components/FieldLabel/FieldLabel.d.ts +2 -1
  239. package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +3 -2
  240. package/dist/components/NumberField/NumberField.d.ts +29 -2
  241. package/dist/components/Radio/Radio.d.ts +2 -0
  242. package/dist/components/Radio/RadioGroup.d.ts +27 -6
  243. package/dist/components/SelectCard/SelectCard.d.ts +1 -1
  244. package/dist/components/SelectCard/SelectCardGroup.d.ts +18 -1
  245. package/dist/components/SelectCard/internal/SelectCardContext.d.ts +11 -0
  246. package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +11 -1
  247. package/dist/components/Skeleton/SkeletonCircle.d.ts +8 -0
  248. package/dist/components/Skeleton/SkeletonPill.d.ts +8 -0
  249. package/dist/components/Skeleton/SkeletonRectangle.d.ts +8 -0
  250. package/dist/components/Skeleton/SkeletonText.d.ts +6 -1
  251. package/dist/components/Skeleton/index.d.ts +3 -0
  252. package/dist/components/Switch/Switch.d.ts +11 -1
  253. package/dist/components/Text/types.d.ts +9 -0
  254. package/dist/components/TextField/internal/TextField.d.ts +11 -0
  255. package/dist/components/Textarea/Textarea.d.ts +9 -2
  256. package/dist/components/Toast/internal/Toast.d.ts +5 -0
  257. package/dist/components/Toast/toast.d.ts +1 -1
  258. package/dist/components/Toolbar/Toolbar.d.ts +5 -3
  259. package/dist/components/Toolbar/ToolbarSelect.d.ts +5 -3
  260. package/dist/components/index.d.ts +1 -0
  261. package/dist/{floating-ui.react-dom-imrk9N49.js → floating-ui.react-dom-CHrYz13o.js} +17 -2
  262. package/dist/floating-ui.react-dom-CHrYz13o.js.map +1 -0
  263. package/dist/hooks/index.d.ts +1 -0
  264. package/dist/hooks/usePrefersReducedMotion/index.d.ts +1 -0
  265. package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +15 -0
  266. package/dist/index.js +48 -47
  267. package/dist/index.js.map +1 -1
  268. package/dist/internal/components/InlineMarkdown/InlineMarkdown.d.ts +23 -0
  269. package/dist/internal/components/InlineMarkdown/index.d.ts +1 -0
  270. package/dist/internal/components/Label/Label.d.ts +1 -1
  271. package/dist/internal/components/Popover/Popover.d.ts +3 -1
  272. package/dist/internal/components/index.d.ts +2 -1
  273. package/dist/internal/flubber/a2c.d.ts +16 -0
  274. package/dist/internal/flubber/add.d.ts +3 -0
  275. package/dist/internal/flubber/arc.d.ts +26 -0
  276. package/dist/internal/flubber/bezier.d.ts +32 -0
  277. package/dist/internal/flubber/errors.d.ts +5 -0
  278. package/dist/internal/flubber/index.d.ts +6 -0
  279. package/dist/internal/flubber/interpolate.d.ts +7 -0
  280. package/dist/internal/flubber/linear.d.ts +27 -0
  281. package/dist/internal/flubber/math.d.ts +10 -0
  282. package/dist/internal/flubber/normalize.d.ts +4 -0
  283. package/dist/internal/flubber/parse.d.ts +7 -0
  284. package/dist/internal/flubber/path-properties.d.ts +23 -0
  285. package/dist/internal/flubber/rotate.d.ts +2 -0
  286. package/dist/internal/flubber/svg.d.ts +9 -0
  287. package/dist/internal/functions/index.d.ts +2 -0
  288. package/dist/internal/functions/inlineMarkdown.d.ts +20 -0
  289. package/dist/internal/functions/stripInlineMarkdown.d.ts +8 -0
  290. package/dist/internal/index.d.ts +1 -0
  291. package/dist/internal/types/props.d.ts +2 -1
  292. package/dist/internal/types/selectFieldInternalTypes.d.ts +2 -2
  293. package/dist/internal/utils/index.d.ts +1 -0
  294. package/dist/internal/utils/inlineMarkdownRegex.d.ts +5 -0
  295. package/dist/{proxy-BbFHSE6L.js → proxy-DEehATlA.js} +8 -2
  296. package/dist/{proxy-BbFHSE6L.js.map → proxy-DEehATlA.js.map} +1 -1
  297. package/dist/stripInlineMarkdown-Cg1qlNwL.js +25 -0
  298. package/dist/stripInlineMarkdown-Cg1qlNwL.js.map +1 -0
  299. package/dist/{syncFilterUtils-B03Pc941.js → syncFilterUtils-UR5Vgqkh.js} +8 -9
  300. package/dist/{syncFilterUtils-B03Pc941.js.map → syncFilterUtils-UR5Vgqkh.js.map} +1 -1
  301. package/dist/types/ai-marks.d.ts +72 -0
  302. package/dist/types/index.d.ts +1 -0
  303. package/dist/{use-reduced-motion-DSpxmqyT.js → use-reduced-motion-CqjZZ5QB.js} +2 -2
  304. package/dist/{use-reduced-motion-DSpxmqyT.js.map → use-reduced-motion-CqjZZ5QB.js.map} +1 -1
  305. package/dist/{useDrilldown-BW2XkUcK.js → useDrilldown-D6VZNSCX.js} +46 -20
  306. package/dist/{useDrilldown-BW2XkUcK.js.map → useDrilldown-D6VZNSCX.js.map} +1 -1
  307. package/dist/{useInitialFocus-BRRbylek.js → useInitialFocus-BUxEDMEG.js} +65 -24
  308. package/dist/useInitialFocus-BUxEDMEG.js.map +1 -0
  309. package/dist/{index.esm-K9kxJhLx.js → usePopoverTransitionStates-CDXCdyKa.js} +88 -2
  310. package/dist/usePopoverTransitionStates-CDXCdyKa.js.map +1 -0
  311. package/dist/usePrefersReducedMotion-DR9B_D6w.js +37 -0
  312. package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -0
  313. package/dist/usePrefersReducedMotion.d.ts +2 -0
  314. package/dist/usePrefersReducedMotion.js +2 -0
  315. package/dist/usePrefersReducedMotion.js.map +1 -0
  316. package/dist/{useToggleSelection-Dip0eimQ.js → useToggleSelection-BBdrIVWs.js} +2 -2
  317. package/dist/{useToggleSelection-Dip0eimQ.js.map → useToggleSelection-BBdrIVWs.js.map} +1 -1
  318. package/package.json +2 -2
  319. package/dist/Alert-C_o2f78C.js.map +0 -1
  320. package/dist/Button-CVsGhVJz.js +0 -113
  321. package/dist/Button-CVsGhVJz.js.map +0 -1
  322. package/dist/Checkbox-Drgai_lS.js.map +0 -1
  323. package/dist/Chip-CVyEctAz.js.map +0 -1
  324. package/dist/DataTable-BmVPjMMg.js.map +0 -1
  325. package/dist/DateFieldYearless-b81ZcYdp.js.map +0 -1
  326. package/dist/DateFieldYearlessRange-ClAFzIDD.js.map +0 -1
  327. package/dist/Dialog-CloZWa1Q.js.map +0 -1
  328. package/dist/Drawer-CfkoH081.js.map +0 -1
  329. package/dist/FieldLabel-CQ5QGTVq.js +0 -125
  330. package/dist/FieldLabel-CQ5QGTVq.js.map +0 -1
  331. package/dist/Menu-CRoJYJ53.js.map +0 -1
  332. package/dist/MultiSelectFieldSync-CSOitvtu.js.map +0 -1
  333. package/dist/NumberField-CHBXBMSj.js.map +0 -1
  334. package/dist/Page-DtSjnBJL.js.map +0 -1
  335. package/dist/Popover-CQhLSNYR.js +0 -537
  336. package/dist/Popover-CQhLSNYR.js.map +0 -1
  337. package/dist/Popover2.css +0 -68
  338. package/dist/Radio-Bw2LDl9G.js.map +0 -1
  339. package/dist/SelectCard-ZaAD0wR1.js.map +0 -1
  340. package/dist/SelectFieldLabel-EJCXA02B.js.map +0 -1
  341. package/dist/SelectFieldSync-DA54WXOk.js.map +0 -1
  342. package/dist/SelectTrigger-DWyRndmY.js.map +0 -1
  343. package/dist/SelectTriggerBase-B6aZd2a6.js.map +0 -1
  344. package/dist/SelectTriggerBase.module-B0NFRlQP.js +0 -36
  345. package/dist/SelectTriggerBase.module-B0NFRlQP.js.map +0 -1
  346. package/dist/Switch-DpPHr3G3.js.map +0 -1
  347. package/dist/Text-BJo4oMI2.js.map +0 -1
  348. package/dist/TextField-o8zvVFDk.js.map +0 -1
  349. package/dist/Textarea-B4bBvO8c.js.map +0 -1
  350. package/dist/Toaster-6_LVKok2.js.map +0 -1
  351. package/dist/floating-ui.react-aKYfs-aw.js.map +0 -1
  352. package/dist/floating-ui.react-dom-imrk9N49.js.map +0 -1
  353. package/dist/index.esm-K9kxJhLx.js.map +0 -1
  354. package/dist/safePopover-BDso-xSH.js +0 -17
  355. package/dist/safePopover-BDso-xSH.js.map +0 -1
  356. package/dist/useInitialFocus-BRRbylek.js.map +0 -1
  357. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +0 -68
  358. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +0 -1
  359. package/dist/usePopoverTransitionStates-CDIoNUuf.js +0 -24
  360. package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +0 -1
  361. /package/dist/{anvil-fonts.css → AnvilProvider.css} +0 -0
@@ -1,14 +1,16 @@
1
1
  import { ComponentPropsWithoutRef, Ref, ReactNode } from 'react';
2
2
  import { LayoutUtilProps } from '../../../../types';
3
3
  import { ColumnDef, CustomTableFooterCellProps, TableRow } from '../types';
4
- import { DataTableEmptyState, DataTablePaginationConfig, DataTableRef, SortedColumn } from './types';
5
- export type { DataTableRef, DataTableEmptyState, SortedColumn };
4
+ import { DataTableCacheOptions, DataTableEmptyState, DataTablePaginationConfig, DataTableRef, SortedColumn } from './types';
5
+ export type { DataTableCacheOptions, DataTableRef, DataTableEmptyState, SortedColumn, };
6
+ type DataTableCellValue = object | string | number | boolean | bigint | symbol | null | undefined;
7
+ export type DataTableRowData = Record<PropertyKey, DataTableCellValue>;
6
8
  /**
7
9
  * Props for the DataTable component
8
10
  * @extends LayoutUtilProps
9
11
  * @extends ComponentPropsWithoutRef<"div">
10
12
  */
11
- export type DataTableProps<T> = LayoutUtilProps & ComponentPropsWithoutRef<"div"> & {
13
+ export type DataTableProps<T extends DataTableRowData> = LayoutUtilProps & ComponentPropsWithoutRef<"div"> & {
12
14
  /**
13
15
  * The columns for the table, created with the `createColumnHelper` factory function.
14
16
  */
@@ -92,7 +94,7 @@ export type DataTableProps<T> = LayoutUtilProps & ComponentPropsWithoutRef<"div"
92
94
  */
93
95
  emptyCellContent?: ReactNode;
94
96
  };
95
- declare function DataTableInner<T>(props: DataTableProps<T>, ref: Ref<DataTableRef>): import("react/jsx-runtime").JSX.Element;
97
+ declare function DataTableInner<T extends DataTableRowData>(props: DataTableProps<T>, ref: Ref<DataTableRef>): import("react/jsx-runtime").JSX.Element;
96
98
  /**
97
99
  * Data table component for complex data grid layouts
98
100
  *
@@ -142,6 +144,7 @@ declare function DataTableInner<T>(props: DataTableProps<T>, ref: Ref<DataTableR
142
144
  * }}
143
145
  * />
144
146
  */
145
- export declare const DataTable: <T>(props: DataTableProps<T> & {
147
+ type DataTableComponent = <T extends DataTableRowData>(props: DataTableProps<T> & {
146
148
  ref?: Ref<DataTableRef>;
147
149
  }) => ReturnType<typeof DataTableInner>;
150
+ export declare const DataTable: DataTableComponent;
@@ -1,13 +1,13 @@
1
1
  import { ComponentPropsWithoutRef } from 'react';
2
2
  import { Table as TanstackTable } from '@tanstack/react-table';
3
3
  import { ColumnDef } from '../../types';
4
- import { DataTableProps } from '../DataTable';
4
+ import { DataTableProps, DataTableRowData } from '../DataTable';
5
5
  /**
6
6
  * Props for the default/configured table footer rows
7
7
  * @extends TanstackTable<T>
8
8
  * @extends ColumnDef<T>[]
9
9
  */
10
- export type DefaultTableFooterRowsProps<T> = {
10
+ export type DefaultTableFooterRowsProps<T extends DataTableRowData> = {
11
11
  table: TanstackTable<T>;
12
12
  columns: ColumnDef<T>[];
13
13
  };
@@ -15,7 +15,7 @@ export type DefaultTableFooterRowsProps<T> = {
15
15
  * Props for the custom table footer rows
16
16
  * @extends DataTableProps<T>
17
17
  */
18
- export type CustomTableFooterRowsProps<T> = {
18
+ export type CustomTableFooterRowsProps<T extends DataTableRowData> = {
19
19
  columnCount: number;
20
20
  customFooter: DataTableProps<T>["customFooter"];
21
21
  table: TanstackTable<T>;
@@ -24,7 +24,7 @@ export type CustomTableFooterRowsProps<T> = {
24
24
  * Props for the DataTableFooter component
25
25
  * @extends ComponentPropsWithoutRef<"div">
26
26
  */
27
- export type DataTableFooterProps<T> = {
27
+ export type DataTableFooterProps<T extends DataTableRowData> = {
28
28
  /**
29
29
  * The table instance from @tanstack/react-table to render
30
30
  */
@@ -45,4 +45,4 @@ export type DataTableFooterProps<T> = {
45
45
  * @param props.customFooter - The custom footer of the table
46
46
  * @param props.columns - The columns of the table
47
47
  */
48
- export declare function DataTableFooter<T>({ table, customFooter, columns, ...rest }: DataTableFooterProps<T>): import("react/jsx-runtime").JSX.Element;
48
+ export declare function DataTableFooter<T extends DataTableRowData>({ table, customFooter, columns, ...rest }: DataTableFooterProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -5,12 +5,12 @@ import { DataTableHeaderCellProps as BaseDataTableHeaderCellProps } from '../../
5
5
  * Props for the DataTableHeaderCell component
6
6
  * @extends BaseDataTableHeaderCellProps
7
7
  */
8
- export type DataTableHeaderCellProps<T> = BaseDataTableHeaderCellProps & {
8
+ export type DataTableHeaderCellProps<T, TValue> = BaseDataTableHeaderCellProps & {
9
9
  cellPosition: {
10
10
  rowIndex: number;
11
11
  columnIndex: number;
12
12
  };
13
- header: HeaderContext<T, unknown>;
13
+ header: HeaderContext<T, TValue>;
14
14
  };
15
15
  /**
16
16
  * Data table header cell with focus management
@@ -20,11 +20,11 @@ export type DataTableHeaderCellProps<T> = BaseDataTableHeaderCellProps & {
20
20
  * @param props.header - The header of the DataTableHeaderCell component
21
21
  * @param props.isFocused - Whether the cell is focused
22
22
  */
23
- declare function DataTableHeaderCellInner<T>(props: DataTableHeaderCellProps<T>, forwardedRef: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
23
+ declare function DataTableHeaderCellInner<T, TValue>(props: DataTableHeaderCellProps<T, TValue>, forwardedRef: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
24
24
  /**
25
25
  * Data table header cell with focus management and ref forwarding
26
26
  */
27
- export declare const DataTableHeaderCell: <T>(props: DataTableHeaderCellProps<T> & {
27
+ export declare const DataTableHeaderCell: <T, TValue>(props: DataTableHeaderCellProps<T, TValue> & {
28
28
  ref?: Ref<HTMLDivElement>;
29
29
  }) => ReturnType<typeof DataTableHeaderCellInner>;
30
30
  export {};
@@ -0,0 +1,29 @@
1
+ import { TableRow } from '../../types';
2
+ import { DataTableCacheOptions, SortedColumn } from '../types';
3
+ /**
4
+ * Hook for caching resolved page data in DataTable.
5
+ *
6
+ * Features:
7
+ * - Caches resolved page data per page index using a Map stored in a ref
8
+ * - Returns cached data synchronously on cache hit, avoiding unnecessary API calls
9
+ * - Synchronously clears cache during render when invalidation triggers change
10
+ * - Size-based eviction (FIFO) when cache exceeds maxSize: oldest entry is dropped to make room
11
+ *
12
+ * @param config - Configuration including loadPageData function, cache options, and invalidation triggers
13
+ * @returns Object containing getOrLoad function and clearCache function
14
+ */
15
+ export declare function usePageDataCache<T>(config: {
16
+ loadPageData?: (params: {
17
+ pageIndex: number;
18
+ pageSize: number;
19
+ sorting?: SortedColumn;
20
+ }) => TableRow<T>[] | Promise<TableRow<T>[]>;
21
+ cache?: DataTableCacheOptions;
22
+ refreshKey?: string | number;
23
+ refreshCounter: number;
24
+ rowsPerPage: number;
25
+ sorting?: SortedColumn;
26
+ }): {
27
+ getOrLoad: (pageIndex: number, pageSize: number, sorting?: SortedColumn) => TableRow<T>[] | Promise<TableRow<T>[]>;
28
+ clearCache: () => void;
29
+ };
@@ -1,4 +1,4 @@
1
- import { ColumnDef as TanstackColumnDef } from '@tanstack/react-table';
1
+ import { ColumnHelper } from '@tanstack/react-table';
2
2
  import { ReactNode } from 'react';
3
3
  import { ColumnDef, EditMode } from '../../../types';
4
4
  declare module "@tanstack/react-table" {
@@ -13,6 +13,14 @@ declare module "@tanstack/react-table" {
13
13
  * Whether the header action (expand all / select all) is disabled for this column
14
14
  */
15
15
  disableHeaderAction?: boolean;
16
+ /**
17
+ * Resolved header alignment for DataTable-owned header layout.
18
+ */
19
+ headerAlign?: HeaderAlign;
20
+ /**
21
+ * Whether this column renders a grouped header.
22
+ */
23
+ isGroupHeader?: boolean;
16
24
  }
17
25
  }
18
26
  /**
@@ -29,6 +37,8 @@ export type TanStackColumnDefProps<T> = {
29
37
  */
30
38
  emptyCellContent?: ReactNode;
31
39
  };
40
+ type TanStackColumnDef<T extends object> = ReturnType<ColumnHelper<T>["group"]> | ReturnType<ColumnHelper<T>["accessor"]>;
41
+ type HeaderAlign = "start" | "center" | "end";
32
42
  /**
33
43
  * Build the column definition for TanStack useReactTable.
34
44
  * This converts our ColumnDef<T> to TanStack's column definition format,
@@ -38,4 +48,5 @@ export type TanStackColumnDefProps<T> = {
38
48
  * @param props.columnDef - The column definition to convert
39
49
  * @returns The column definition for TanStack useReactTable
40
50
  */
41
- export declare function getTanStackColumnDef<T>({ columnDef, emptyCellContent, }: TanStackColumnDefProps<T>): TanstackColumnDef<T, any>;
51
+ export declare function getTanStackColumnDef<T extends object>({ columnDef, emptyCellContent, }: TanStackColumnDefProps<T>): TanStackColumnDef<T>;
52
+ export {};
@@ -32,6 +32,26 @@ export type DataTableEmptyState = {
32
32
  */
33
33
  content?: ReactNode;
34
34
  };
35
+ /**
36
+ * Configuration for caching loadPageData results in DataTable.
37
+ * When enabled, resolved page data is cached per page index, allowing
38
+ * instant restoration when returning to a previously loaded page.
39
+ * @property {boolean} [enabled] - Whether caching is enabled. Defaults to true.
40
+ * @property {number} [maxSize] - Maximum number of pages to cache. Oldest entry is evicted (FIFO) when the limit is reached. Defaults to 15.
41
+ */
42
+ export type DataTableCacheOptions = {
43
+ /**
44
+ * Whether caching is enabled.
45
+ * @default true
46
+ */
47
+ enabled?: boolean;
48
+ /**
49
+ * Maximum number of pages to cache. When the limit is reached, the oldest cached page is
50
+ * evicted (FIFO) to make room for the new entry.
51
+ * @default 15
52
+ */
53
+ maxSize?: number;
54
+ };
35
55
  /**
36
56
  * Configuration for pagination in DataTable
37
57
  */
@@ -92,10 +112,16 @@ export type DataTablePaginationConfig<T> = {
92
112
  * When changed, the page index automatically resets to 0.
93
113
  */
94
114
  refreshKey?: string | number;
115
+ /**
116
+ * Configuration for caching loadPageData results.
117
+ * Caching is enabled by default. Set `{ enabled: false }` to disable.
118
+ */
119
+ cache?: DataTableCacheOptions;
95
120
  };
96
121
  /**
97
122
  * Ref handle for DataTable component
98
123
  * @property {function} refresh - Triggers a data refetch and resets the page index to 0. Useful for manually refreshing data after external changes (e.g., after a mutation).
124
+ * @property {function} clearCache - Clears the page data cache without triggering a refetch.
99
125
  */
100
126
  export type DataTableRef = {
101
127
  /**
@@ -104,4 +130,8 @@ export type DataTableRef = {
104
130
  * When using controlled pagination, this will call `onPageChange(0)`.
105
131
  */
106
132
  refresh: () => void;
133
+ /**
134
+ * Clears the page data cache without triggering a refetch.
135
+ */
136
+ clearCache: () => void;
107
137
  };
@@ -12,6 +12,10 @@ export type CommonTableHeaderCellProps = CommonTableCellProps & {
12
12
  * Whether the header cell can be used to activate column sorting
13
13
  */
14
14
  isSortable?: boolean;
15
+ /**
16
+ * Whether the header cell should show whole-cell interactive affordances
17
+ */
18
+ isInteractiveHeaderCell?: boolean;
15
19
  };
16
20
  export type SimpleTableHeaderCellProps = CommonTableHeaderCellProps & ComponentPropsWithoutRef<"th">;
17
21
  export type DataTableHeaderCellProps = CommonTableHeaderCellProps & ComponentPropsWithoutRef<"div">;
@@ -1,14 +1,19 @@
1
1
  import { ReactNode } from 'react';
2
- import { ColumnDef, ColumnTypeConfig, TextEditConfig, NumberEditConfig, SelectEditConfig, SelectAsyncEditConfig, MultiselectEditConfig, MultiselectAsyncEditConfig, BooleanEditConfig, TableRow } from './types';
2
+ import { ColumnDef, ColumnTypeConfig, TextEditConfig, NumberEditConfig, SelectEditConfig, SelectAsyncEditConfig, MultiselectEditConfig, MultiselectAsyncEditConfig, BooleanEditConfig, TableRow, ColumnHeaderConfig } from './types';
3
3
  import { MultiSelectMenuOption } from '../MultiSelectMenu';
4
4
  /**
5
5
  * Base column configuration shared by all column types
6
6
  */
7
- type BaseColumnConfig<T, K extends keyof T> = {
7
+ type BaseColumnConfig<T, K extends keyof T> = ColumnHeaderConfig & {
8
8
  /**
9
- * The label of the header
9
+ * The cleaned-up header configuration.
10
10
  */
11
- headerLabel: string;
11
+ header?: ColumnDef<T>["header"];
12
+ /**
13
+ * The label of the header.
14
+ * @deprecated Use `header.label` instead.
15
+ */
16
+ headerLabel?: string;
12
17
  /**
13
18
  * The alignment of the header.
14
19
  * When using `type`, this is set automatically but can be overridden.
@@ -94,11 +99,13 @@ type SelectEditConfigColumnConfig<T, K extends keyof T> = BaseColumnConfig<T, K>
94
99
  type SelectAsyncEditConfigColumnConfig<T, K extends keyof T> = BaseColumnConfig<T, K> & {
95
100
  editConfig: SelectAsyncEditConfig<T>;
96
101
  };
102
+ type CellArrayItem = object | string | number | boolean | bigint | symbol | null | undefined;
103
+ type CellArrayValue = readonly CellArrayItem[];
97
104
  /**
98
105
  * Configuration for multiselect editable columns using editConfig
99
106
  * Only valid when T[K] is an array type
100
107
  */
101
- type MultiselectEditConfigColumnConfig<T, K extends keyof T> = NonNullable<T[K]> extends unknown[] ? BaseColumnConfig<T, K> & {
108
+ type MultiselectEditConfigColumnConfig<T, K extends keyof T> = NonNullable<T[K]> extends CellArrayValue ? BaseColumnConfig<T, K> & {
102
109
  editConfig: MultiselectEditConfig<T, K>;
103
110
  } : never;
104
111
  /**
@@ -143,18 +150,18 @@ type ColumnConfig<T, K extends keyof T> = ReadOnlyColumnConfig<T, K> | TextEditC
143
150
  * const createColumn = createColumnHelper<Data>();
144
151
  *
145
152
  * // Display-only column with type defaults
146
- * createColumn("amount", { headerLabel: "Amount", type: "currency" });
153
+ * createColumn("amount", { header: { label: "Amount" }, type: "currency" });
147
154
  *
148
155
  * // Editable column with editConfig
149
156
  * createColumn("name", {
150
- * headerLabel: "Name",
157
+ * header: { label: "Name" },
151
158
  * type: "text",
152
159
  * editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
153
160
  * });
154
161
  *
155
162
  * // Number editing
156
163
  * createColumn("amount", {
157
- * headerLabel: "Amount",
164
+ * header: { label: "Amount" },
158
165
  * editConfig: {
159
166
  * mode: "number",
160
167
  * minValue: 0,
@@ -166,7 +173,7 @@ type ColumnConfig<T, K extends keyof T> = ReadOnlyColumnConfig<T, K> | TextEditC
166
173
  *
167
174
  * // Select editing
168
175
  * createColumn("status", {
169
- * headerLabel: "Status",
176
+ * header: { label: "Status" },
170
177
  * editConfig: {
171
178
  * mode: "select",
172
179
  * options: [{ id: "active", label: "Active" }],
@@ -176,7 +183,7 @@ type ColumnConfig<T, K extends keyof T> = ReadOnlyColumnConfig<T, K> | TextEditC
176
183
  *
177
184
  * // Multiselect editing with array column
178
185
  * createColumn("tags", {
179
- * headerLabel: "Tags",
186
+ * header: { label: "Tags" },
180
187
  * editConfig: {
181
188
  * mode: "multiselect",
182
189
  * options: [{ id: "urgent", label: "Urgent" }],
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Formats an HTML string value for DataTable cells by converting to markdown
4
+ * and rendering through the markdown formatter.
5
+ *
6
+ * Supported HTML: strong, b, em, i, code, mark, ul, ol, li, br, p.
7
+ * Unsupported tags and their content are dropped entirely.
8
+ * HTML entities are decoded to plain text.
9
+ *
10
+ * @param value - The HTML string to format
11
+ * @returns Formatted React nodes, or null for empty/null/undefined values
12
+ */
13
+ export declare const htmlFormatter: (value?: string | null) => ReactNode;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Converts an HTML string to the markdown subset supported by markdownFormatter.
3
+ *
4
+ * Supported tags: strong, b, em, i, code, mark, ul, ol, li, br, p.
5
+ * Unsupported tags and their content are dropped entirely.
6
+ * HTML entities are decoded to plain text.
7
+ *
8
+ * @param value - The HTML string to convert
9
+ * @returns The equivalent markdown string, or empty string for null/undefined/empty input
10
+ */
11
+ export declare function htmlToMarkdown(value?: string | null): string;
@@ -3,6 +3,8 @@ export * from './chipsFormatter';
3
3
  export * from './currencyFormatter';
4
4
  export * from './dateFormatter';
5
5
  export * from './dateTimeFormatter';
6
+ export * from './htmlFormatter';
7
+ export * from './markdownFormatter';
6
8
  export * from './numberFormatter';
7
9
  export * from './percentFormatter';
8
10
  export * from './presets';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Formats a string value as markdown content for DataTable cells.
4
+ *
5
+ * Supports inline constructs (bold, italic, bold+italic, inline code, highlight)
6
+ * and block-level flat lists (unordered with `- `, ordered with `N. `).
7
+ *
8
+ * @param value - The markdown string to format
9
+ * @returns Formatted React nodes, or null for empty/null/undefined values
10
+ */
11
+ export declare const markdownFormatter: (value?: string | null) => ReactNode;
@@ -10,7 +10,7 @@ import { MultiSelectMenuProps } from '../MultiSelectMenu/types';
10
10
  * Column type literals for display configuration.
11
11
  * Each type maps to a default formatter and alignment.
12
12
  */
13
- export type ColumnType = "text" | "number" | "currency" | "percent" | "date" | "dateTime" | "time" | "boolean";
13
+ export type ColumnType = "text" | "number" | "currency" | "percent" | "date" | "dateTime" | "time" | "boolean" | "markdown" | "html";
14
14
  /**
15
15
  * Maps column types to their formatter options.
16
16
  * Used for type-safe formatter configuration.
@@ -24,6 +24,8 @@ export type ColumnTypeOptionsMap = {
24
24
  dateTime: DateTimeFormatterOptions;
25
25
  time: TimeFormatterOptions;
26
26
  boolean: BooleanFormatterOptions;
27
+ markdown: undefined;
28
+ html: undefined;
27
29
  };
28
30
  /**
29
31
  * Column type configuration.
@@ -470,18 +472,18 @@ export type TableRow<T> = T & {
470
472
  *
471
473
  * const columns = [
472
474
  * // Display-only column with type defaults
473
- * createColumn("amount", { headerLabel: "Amount", type: "currency" }),
475
+ * createColumn("amount", { header: { label: "Amount" }, type: "currency" }),
474
476
  *
475
477
  * // Editable column with editConfig
476
478
  * createColumn("name", {
477
- * headerLabel: "Name",
479
+ * header: { label: "Name" },
478
480
  * type: "text",
479
481
  * editConfig: { mode: "text", onChange: (value, rowId) => save(value, rowId) }
480
482
  * }),
481
483
  *
482
484
  * // Multiselect editing
483
485
  * createColumn("tags", {
484
- * headerLabel: "Tags",
486
+ * header: { label: "Tags" },
485
487
  * editConfig: {
486
488
  * mode: "multiselect",
487
489
  * options: [{ value: "urgent", label: "Urgent" }],
@@ -491,15 +493,46 @@ export type TableRow<T> = T & {
491
493
  * ];
492
494
  * ```
493
495
  */
494
- export type ColumnDef<T> = {
496
+ export type ColumnHeader = {
495
497
  /**
496
- * The id of the column - must be a key of T
498
+ * The visible header label text.
497
499
  */
498
- id: keyof T;
500
+ label: string;
501
+ /**
502
+ * Whether the header should show a required indicator.
503
+ */
504
+ required?: boolean;
505
+ /**
506
+ * Additional contextual content rendered from a keyboard-accessible more-info trigger.
507
+ */
508
+ moreInfo?: ReactNode;
509
+ };
510
+ export type ColumnHeaderConfig = {
511
+ /**
512
+ * The forward-looking header configuration.
513
+ */
514
+ header: ColumnHeader;
499
515
  /**
500
- * The label of the header
516
+ * Legacy header label support during the transition to `header`.
517
+ * @deprecated Use `header.label` instead.
518
+ */
519
+ headerLabel?: string;
520
+ } | {
521
+ /**
522
+ * The forward-looking header configuration.
523
+ */
524
+ header?: ColumnHeader;
525
+ /**
526
+ * Legacy header label support during the transition to `header`.
527
+ * @deprecated Use `header.label` instead.
501
528
  */
502
529
  headerLabel: string;
530
+ };
531
+ export type ColumnDef<T> = ColumnHeaderConfig & {
532
+ /**
533
+ * The id of the column - must be a key of T
534
+ */
535
+ id: keyof T;
503
536
  /**
504
537
  * The alignment of the header and cell content.
505
538
  * When using `type`, this is set automatically but can be overridden.
@@ -158,7 +158,8 @@ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<imp
158
158
  * onChange={(id) => setFont(id)}
159
159
  * />
160
160
  */
161
- Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
161
+ Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
162
+ aiMark?: boolean | import('../../..').AiIconName;
162
163
  appearance?: import('../../..').ButtonAppearance;
163
164
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
164
165
  loading?: boolean;
@@ -169,14 +170,15 @@ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<imp
169
170
  } | {
170
171
  before: import('../../..').IconProps["svg"];
171
172
  };
172
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
173
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
174
+ aiMark?: boolean | import('../../..').AiIconName;
173
175
  appearance?: import('../../..').ButtonAppearance;
174
176
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
175
177
  loading?: boolean;
176
178
  } & {
177
179
  children?: never;
178
180
  icon?: import('../../..').IconProps["svg"];
179
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
181
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
180
182
  appearance?: import('./types').ToolbarItemAppearance;
181
183
  onChange?: (optionId: string) => void;
182
184
  selected?: string;
@@ -348,7 +350,8 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
348
350
  * onChange={(id) => setFont(id)}
349
351
  * />
350
352
  */
351
- Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
353
+ Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
354
+ aiMark?: boolean | import('../../..').AiIconName;
352
355
  appearance?: import('../../..').ButtonAppearance;
353
356
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
354
357
  loading?: boolean;
@@ -359,14 +362,15 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
359
362
  } | {
360
363
  before: import('../../..').IconProps["svg"];
361
364
  };
362
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
365
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
366
+ aiMark?: boolean | import('../../..').AiIconName;
363
367
  appearance?: import('../../..').ButtonAppearance;
364
368
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
365
369
  loading?: boolean;
366
370
  } & {
367
371
  children?: never;
368
372
  icon?: import('../../..').IconProps["svg"];
369
- } & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
373
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
370
374
  appearance?: import('./types').ToolbarItemAppearance;
371
375
  onChange?: (optionId: string) => void;
372
376
  selected?: string;
@@ -63,7 +63,8 @@ export type ToolbarSelectProps<T = Record<string, unknown>> = Omit<React.Compone
63
63
  * accessibleLabel="Text color"
64
64
  * />
65
65
  */
66
- export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & {
66
+ export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & DataTrackingId & {
67
+ aiMark?: boolean | import('../../..').AiIconName;
67
68
  appearance?: import('../../..').ButtonAppearance;
68
69
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
69
70
  loading?: boolean;
@@ -74,14 +75,15 @@ export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Om
74
75
  } | {
75
76
  before: import('../../..').IconProps["svg"];
76
77
  };
77
- } & DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & {
78
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & DataTrackingId & {
79
+ aiMark?: boolean | import('../../..').AiIconName;
78
80
  appearance?: import('../../..').ButtonAppearance;
79
81
  size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
80
82
  loading?: boolean;
81
83
  } & {
82
84
  children?: never;
83
85
  icon?: import('../../..').IconProps["svg"];
84
- } & DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
86
+ } & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
85
87
  /**
86
88
  * Visual appearance of the select button
87
89
  * @default ghost
package/dist/beta.js CHANGED
@@ -1,11 +1,11 @@
1
- export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-BmVPjMMg.js';
2
- export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-0EKhrvZN.js';
3
- export { u as useCalendarBetaProps } from './Calendar-Frpv5rRY.js';
4
- export { C as Calendar } from './Calendar-BTStJPV1.js';
5
- export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DA54WXOk.js';
6
- export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CSOitvtu.js';
7
- export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BQaSTcaN.js';
8
- export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-62OeGmkz.js';
1
+ export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, i as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, h as htmlFormatter, m as markdownFormatter, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, j as timeFormatter, y as yearlessDateFormatter } from './DataTable-BCV_mtSy.js';
2
+ export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-ByyI7SqG.js';
3
+ export { u as useCalendarBetaProps } from './Calendar-Dxl9QnfP.js';
4
+ export { C as Calendar } from './Calendar-Cka4unyi.js';
5
+ export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-o1Cp9UYC.js';
6
+ export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-ChZCW4M9.js';
7
+ export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-DXrwecFt.js';
8
+ export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-7C1wW4oO.js';
9
9
  export { I as InteractiveCard } from './InteractiveCard-GTYbR6Xy.js';
10
- export { u as useAdaptiveView } from './syncFilterUtils-B03Pc941.js';
10
+ export { u as useAdaptiveView } from './syncFilterUtils-UR5Vgqkh.js';
11
11
  //# sourceMappingURL=beta.js.map