@servicetitan/anvil2 3.0.7 → 3.0.8

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 (279) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/{AiMark-BXL0sWIV.js → AiMark-CS6MvraM.js} +5 -4
  3. package/dist/{AiMark-BXL0sWIV.js.map → AiMark-CS6MvraM.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-BNH0UD2s.js → Alert-CNDLoh6b.js} +2 -2
  6. package/dist/{Alert-BNH0UD2s.js.map → Alert-CNDLoh6b.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{AnvilProvider-J9DjoJiB.js → AnvilProvider-BFK29dL5.js} +3 -2
  9. package/dist/{AnvilProvider-J9DjoJiB.js.map → AnvilProvider-BFK29dL5.js.map} +1 -1
  10. package/dist/AnvilProvider.js +1 -1
  11. package/dist/{Avatar-FDHyqiCy.js → Avatar-Bl-Dxbhf.js} +7 -2
  12. package/dist/Avatar-Bl-Dxbhf.js.map +1 -0
  13. package/dist/{Avatar-B_cRQqKR.js → Avatar-CdAIJ5VK.js} +2 -2
  14. package/dist/{Avatar-B_cRQqKR.js.map → Avatar-CdAIJ5VK.js.map} +1 -1
  15. package/dist/Avatar.js +2 -2
  16. package/dist/{Breadcrumbs-Bzxbdu-S.js → Breadcrumbs--Xt6l_2L.js} +2 -2
  17. package/dist/{Breadcrumbs-Bzxbdu-S.js.map → Breadcrumbs--Xt6l_2L.js.map} +1 -1
  18. package/dist/Breadcrumbs.js +1 -1
  19. package/dist/{Calendar-DS5eWpGF.js → Calendar-5mAxtdNh.js} +2 -2
  20. package/dist/{Calendar-DS5eWpGF.js.map → Calendar-5mAxtdNh.js.map} +1 -1
  21. package/dist/{Calendar-BYNFAWpZ.js → Calendar-rITorBvD.js} +5 -3
  22. package/dist/{Calendar-BYNFAWpZ.js.map → Calendar-rITorBvD.js.map} +1 -1
  23. package/dist/Calendar.js +2 -2
  24. package/dist/{Checkbox-BeIzx_ZX.js → Checkbox-BYWhkYoK.js} +2 -2
  25. package/dist/{Checkbox-BeIzx_ZX.js.map → Checkbox-BYWhkYoK.js.map} +1 -1
  26. package/dist/{Checkbox-BB3BDJsK.js → Checkbox-DTzoDcJl.js} +3 -3
  27. package/dist/{Checkbox-BB3BDJsK.js.map → Checkbox-DTzoDcJl.js.map} +1 -1
  28. package/dist/Checkbox.js +1 -1
  29. package/dist/{Chip-D2k5X_wX.js → Chip-CyMNyEPR.js} +3 -3
  30. package/dist/{Chip-D2k5X_wX.js.map → Chip-CyMNyEPR.js.map} +1 -1
  31. package/dist/Chip.js +1 -1
  32. package/dist/Combobox.js +1 -1
  33. package/dist/{DataTable-E8z0H8c7.js → DataTable-Dwhwvm6R.js} +70 -70
  34. package/dist/DataTable-Dwhwvm6R.js.map +1 -0
  35. package/dist/{DateFieldRange-BN_uIvHI.js → DateFieldRange-BUug1tUy.js} +4 -4
  36. package/dist/{DateFieldRange-BN_uIvHI.js.map → DateFieldRange-BUug1tUy.js.map} +1 -1
  37. package/dist/DateFieldRange.js +1 -1
  38. package/dist/{DateFieldSingle-h3YkdwPo.js → DateFieldSingle-DR7faQGD.js} +4 -4
  39. package/dist/{DateFieldSingle-h3YkdwPo.js.map → DateFieldSingle-DR7faQGD.js.map} +1 -1
  40. package/dist/DateFieldSingle.js +1 -1
  41. package/dist/{DateFieldYearless-m_Hl2gMY.js → DateFieldYearless-7MFcR7L6.js} +4 -4
  42. package/dist/{DateFieldYearless-m_Hl2gMY.js.map → DateFieldYearless-7MFcR7L6.js.map} +1 -1
  43. package/dist/DateFieldYearless.js +1 -1
  44. package/dist/{DateFieldYearlessRange-DNqSTBDr.js → DateFieldYearlessRange-DGtdyISH.js} +3 -3
  45. package/dist/{DateFieldYearlessRange-DNqSTBDr.js.map → DateFieldYearlessRange-DGtdyISH.js.map} +1 -1
  46. package/dist/DateFieldYearlessRange.js +1 -1
  47. package/dist/{DaysOfTheWeek-D58z_eF3.js → DaysOfTheWeek-C7oN9nIe.js} +3 -3
  48. package/dist/{DaysOfTheWeek-D58z_eF3.js.map → DaysOfTheWeek-C7oN9nIe.js.map} +1 -1
  49. package/dist/DaysOfTheWeek.js +1 -1
  50. package/dist/{Dialog-CvYSMvfD.js → Dialog-dE9c90iR.js} +3 -3
  51. package/dist/{Dialog-CvYSMvfD.js.map → Dialog-dE9c90iR.js.map} +1 -1
  52. package/dist/Dialog.js +1 -1
  53. package/dist/{Drawer-s2y0xcgV.js → Drawer-Dk0MsaOU.js} +3 -3
  54. package/dist/{Drawer-s2y0xcgV.js.map → Drawer-Dk0MsaOU.js.map} +1 -1
  55. package/dist/Drawer.js +1 -1
  56. package/dist/DrillDown.js +1 -1
  57. package/dist/{EditCard-B25pj0Jx.js → EditCard-DV2N7zWr.js} +2 -2
  58. package/dist/{EditCard-B25pj0Jx.js.map → EditCard-DV2N7zWr.js.map} +1 -1
  59. package/dist/EditCard.js +1 -1
  60. package/dist/{FieldLabel-D1qPAGtB.js → FieldLabel-VVn8GR64.js} +3 -3
  61. package/dist/{FieldLabel-D1qPAGtB.js.map → FieldLabel-VVn8GR64.js.map} +1 -1
  62. package/dist/FieldLabel.js +1 -1
  63. package/dist/{FilterBar-B4ZAs73g.js → FilterBar-CXGsoWw5.js} +6 -5
  64. package/dist/{FilterBar-B4ZAs73g.js.map → FilterBar-CXGsoWw5.js.map} +1 -1
  65. package/dist/FilterBar.js +1 -1
  66. package/dist/{InputMask-BDl09V4u.js → InputMask-VBHWGZGN.js} +3 -3
  67. package/dist/{InputMask-BDl09V4u.js.map → InputMask-VBHWGZGN.js.map} +1 -1
  68. package/dist/InputMask.js +1 -1
  69. package/dist/{ListView-DO5psxd4.js → ListView-BUrfz75g.js} +2 -2
  70. package/dist/{ListView-DO5psxd4.js.map → ListView-BUrfz75g.js.map} +1 -1
  71. package/dist/ListView.js +1 -1
  72. package/dist/{Listbox-CvQHBFWb.js → Listbox-CRY-0BkS.js} +2 -2
  73. package/dist/{Listbox-CvQHBFWb.js.map → Listbox-CRY-0BkS.js.map} +1 -1
  74. package/dist/Listbox.js +1 -1
  75. package/dist/{Menu-W0c-xKdX.js → Menu-DNJ0YqjA.js} +11 -7
  76. package/dist/Menu-DNJ0YqjA.js.map +1 -0
  77. package/dist/Menu.js +1 -1
  78. package/dist/MenuFooter-CrsZdXvN.js +115 -0
  79. package/dist/MenuFooter-CrsZdXvN.js.map +1 -0
  80. package/dist/MultiSelectField.js +1 -1
  81. package/dist/{MultiSelectFieldSync-CXX2F0ru.js → MultiSelectFieldSync-CIuy3aRD.js} +8 -53
  82. package/dist/MultiSelectFieldSync-CIuy3aRD.js.map +1 -0
  83. package/dist/MultiSelectMenu.js +1 -1
  84. package/dist/{MultiSelectMenuSync-EKtvlL62.js → MultiSelectMenuSync-Drz8SEk9.js} +9 -76
  85. package/dist/MultiSelectMenuSync-Drz8SEk9.js.map +1 -0
  86. package/dist/{NumberField-BymFZhIJ.js → NumberField-bgYX7JGs.js} +3 -3
  87. package/dist/{NumberField-BymFZhIJ.js.map → NumberField-bgYX7JGs.js.map} +1 -1
  88. package/dist/NumberField.js +1 -1
  89. package/dist/{Page-C2_Hm27h.js → Page-BSHydn4p.js} +9 -9
  90. package/dist/{Page-C2_Hm27h.js.map → Page-BSHydn4p.js.map} +1 -1
  91. package/dist/Page.js +1 -1
  92. package/dist/{Pagination-Bmd4JORe.js → Pagination-CAeyJ7Pl.js} +192 -26
  93. package/dist/Pagination-CAeyJ7Pl.js.map +1 -0
  94. package/dist/Pagination.css +4 -2
  95. package/dist/Pagination.js +1 -1
  96. package/dist/{Popover-8mTJoMy7.js → Popover-Cq5tirFz.js} +11 -5
  97. package/dist/Popover-Cq5tirFz.js.map +1 -0
  98. package/dist/Popover.js +1 -1
  99. package/dist/{ProgressBar-C1CkQHV5.js → ProgressBar-ByR50ln7.js} +2 -2
  100. package/dist/{ProgressBar-C1CkQHV5.js.map → ProgressBar-ByR50ln7.js.map} +1 -1
  101. package/dist/ProgressBar.js +1 -1
  102. package/dist/{Radio-BcHMk8dD.js → Radio-CPuctRpl.js} +2 -2
  103. package/dist/{Radio-BcHMk8dD.js.map → Radio-CPuctRpl.js.map} +1 -1
  104. package/dist/{Radio-D5WyQN2i.js → Radio-WlsZFRzX.js} +3 -3
  105. package/dist/{Radio-D5WyQN2i.js.map → Radio-WlsZFRzX.js.map} +1 -1
  106. package/dist/Radio.js +1 -1
  107. package/dist/{RichTextEditor-DstVbYch.js → RichTextEditor-CoPXdaWI.js} +78 -42
  108. package/dist/RichTextEditor-CoPXdaWI.js.map +1 -0
  109. package/dist/RichTextEditor.js +1 -1
  110. package/dist/{SavedFiltersButton-2qba2Cgu.js → SavedFiltersButton-DzJijqHz.js} +11 -10
  111. package/dist/SavedFiltersButton-DzJijqHz.js.map +1 -0
  112. package/dist/SavedFiltersButton.js +1 -1
  113. package/dist/{SelectCard-BN-LI14f.js → SelectCard-DLWLHi_i.js} +3 -3
  114. package/dist/{SelectCard-BN-LI14f.js.map → SelectCard-DLWLHi_i.js.map} +1 -1
  115. package/dist/SelectCard.js +1 -1
  116. package/dist/SelectField.js +1 -1
  117. package/dist/{SelectFieldLabel-UbQT7fDD.js → SelectFieldLabel-vemffdmu.js} +2 -2
  118. package/dist/{SelectFieldLabel-UbQT7fDD.js.map → SelectFieldLabel-vemffdmu.js.map} +1 -1
  119. package/dist/{SelectFieldSync-DykGkR_w.js → SelectFieldSync-DlGiJ-Iy.js} +5 -4
  120. package/dist/{SelectFieldSync-DykGkR_w.js.map → SelectFieldSync-DlGiJ-Iy.js.map} +1 -1
  121. package/dist/SelectMenu.js +1 -1
  122. package/dist/{SelectMenuSync-DTQ8Ofoz.js → SelectMenuSync-CAweNjRL.js} +6 -4
  123. package/dist/{SelectMenuSync-DTQ8Ofoz.js.map → SelectMenuSync-CAweNjRL.js.map} +1 -1
  124. package/dist/{SelectOptions-DVSOJwRy.js → SelectOptions-BGCap9fZ.js} +2 -2
  125. package/dist/{SelectOptions-DVSOJwRy.js.map → SelectOptions-BGCap9fZ.js.map} +1 -1
  126. package/dist/{SelectTrigger-CHk0KO-P.js → SelectTrigger-BbneVXMz.js} +3 -3
  127. package/dist/{SelectTrigger-CHk0KO-P.js.map → SelectTrigger-BbneVXMz.js.map} +1 -1
  128. package/dist/SelectTrigger.js +1 -1
  129. package/dist/{SelectTriggerBase-B2S5SOZr.js → SelectTriggerBase-BjIOERXr.js} +3 -3
  130. package/dist/{SelectTriggerBase-B2S5SOZr.js.map → SelectTriggerBase-BjIOERXr.js.map} +1 -1
  131. package/dist/{Switch-onmiKoRd.js → Switch-B6bKmpwN.js} +3 -3
  132. package/dist/{Switch-onmiKoRd.js.map → Switch-B6bKmpwN.js.map} +1 -1
  133. package/dist/Switch.js +1 -1
  134. package/dist/Table.js +1 -1
  135. package/dist/{Text-BTzgTpqu.js → Text-w2gWn4K6.js} +2 -2
  136. package/dist/{Text-BTzgTpqu.js.map → Text-w2gWn4K6.js.map} +1 -1
  137. package/dist/Text.js +1 -1
  138. package/dist/{TextField-WTYZJlX3.js → TextField-BQsCh5Nb.js} +2 -2
  139. package/dist/{TextField-WTYZJlX3.js.map → TextField-BQsCh5Nb.js.map} +1 -1
  140. package/dist/{TextField-rVfctM1E.js → TextField-DJ3gEIP6.js} +3 -3
  141. package/dist/{TextField-rVfctM1E.js.map → TextField-DJ3gEIP6.js.map} +1 -1
  142. package/dist/TextField.js +1 -1
  143. package/dist/{Textarea-PXjppEQ6.js → Textarea-BK4Vf84K.js} +3 -3
  144. package/dist/{Textarea-PXjppEQ6.js.map → Textarea-BK4Vf84K.js.map} +1 -1
  145. package/dist/Textarea.js +1 -1
  146. package/dist/{ThemeProvider-D4KdGCaP.js → ThemeProvider-BC6wbuLU.js} +4 -9
  147. package/dist/{ThemeProvider-D4KdGCaP.js.map → ThemeProvider-BC6wbuLU.js.map} +1 -1
  148. package/dist/ThemeProvider.js +1 -1
  149. package/dist/ThemeProvider.module-D9pNGYjP.js +8 -0
  150. package/dist/ThemeProvider.module-D9pNGYjP.js.map +1 -0
  151. package/dist/{TimeField-BJPXIv6W.js → TimeField-B4IW2B_o.js} +4 -4
  152. package/dist/{TimeField-BJPXIv6W.js.map → TimeField-B4IW2B_o.js.map} +1 -1
  153. package/dist/TimeField.js +1 -1
  154. package/dist/Toast.js +2 -2
  155. package/dist/{Toaster-CoChsMD0.js → Toaster-BGY2IzF5.js} +53 -48
  156. package/dist/Toaster-BGY2IzF5.js.map +1 -0
  157. package/dist/{Toaster-DXLc86VD.js → Toaster-DTF9qnTy.js} +2 -2
  158. package/dist/{Toaster-DXLc86VD.js.map → Toaster-DTF9qnTy.js.map} +1 -1
  159. package/dist/{Toolbar-Bt3kShho.js → Toolbar-DObrJ_S5.js} +5 -4
  160. package/dist/{Toolbar-Bt3kShho.js.map → Toolbar-DObrJ_S5.js.map} +1 -1
  161. package/dist/{Toolbar-DaUKbbsL.js → Toolbar-DRJGKk8D.js} +6 -5
  162. package/dist/{Toolbar-DaUKbbsL.js.map → Toolbar-DRJGKk8D.js.map} +1 -1
  163. package/dist/Toolbar.js +2 -2
  164. package/dist/{ToolbarButtonToggle-BPu81Wuv.js → ToolbarButtonToggle-BCKgA8FE.js} +2 -2
  165. package/dist/{ToolbarButtonToggle-BPu81Wuv.js.map → ToolbarButtonToggle-BCKgA8FE.js.map} +1 -1
  166. package/dist/{Tooltip-yr1D06BE.js → Tooltip-DqS6xDUf.js} +27 -25
  167. package/dist/Tooltip-DqS6xDUf.js.map +1 -0
  168. package/dist/Tooltip.js +1 -1
  169. package/dist/TreeSelectField.d.ts +1 -0
  170. package/dist/TreeSelectField.js +2 -0
  171. package/dist/TreeSelectField.js.map +1 -0
  172. package/dist/TreeSelectFieldSync-Do5ffU0b.js +609 -0
  173. package/dist/TreeSelectFieldSync-Do5ffU0b.js.map +1 -0
  174. package/dist/TreeSelectFieldSync.css +173 -0
  175. package/dist/TreeSelectMenu.d.ts +1 -0
  176. package/dist/TreeSelectMenu.js +2 -0
  177. package/dist/TreeSelectMenu.js.map +1 -0
  178. package/dist/TreeSelectMenuSync-s05Ly6lj.js +413 -0
  179. package/dist/TreeSelectMenuSync-s05Ly6lj.js.map +1 -0
  180. package/dist/{YearlessDateInputWithPicker-BIcVgz-J.js → YearlessDateInputWithPicker-BHfFjCqE.js} +2 -2
  181. package/dist/{YearlessDateInputWithPicker-BIcVgz-J.js.map → YearlessDateInputWithPicker-BHfFjCqE.js.map} +1 -1
  182. package/dist/beta.js +15 -13
  183. package/dist/beta.js.map +1 -1
  184. package/dist/confirmationTypes-CG7xl50f.js +75 -0
  185. package/dist/confirmationTypes-CG7xl50f.js.map +1 -0
  186. package/dist/{filter-state-Bx3aYS1r.js → filter-state-DyMDjdRS.js} +322 -82
  187. package/dist/filter-state-DyMDjdRS.js.map +1 -0
  188. package/dist/{floating-ui.react-dom-CHrYz13o.js → floating-ui.react-dom-BIKT960u.js} +2 -2
  189. package/dist/{floating-ui.react-dom-CHrYz13o.js.map → floating-ui.react-dom-BIKT960u.js.map} +1 -1
  190. package/dist/{index-DVYRUKtW.js → index-fSKD4ey4.js} +79 -109
  191. package/dist/{index-DVYRUKtW.js.map → index-fSKD4ey4.js.map} +1 -1
  192. package/dist/index.js +42 -42
  193. package/dist/keyboard_arrow_left-CiE1n99w.js +6 -0
  194. package/dist/keyboard_arrow_left-CiE1n99w.js.map +1 -0
  195. package/dist/keyboard_arrow_right-DMloHg_F.js +6 -0
  196. package/dist/keyboard_arrow_right-DMloHg_F.js.map +1 -0
  197. package/dist/portalScopeClassNames-jlZkdug_.js +7 -0
  198. package/dist/portalScopeClassNames-jlZkdug_.js.map +1 -0
  199. package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +29 -0
  200. package/dist/src/beta/components/FilterBar/index.d.ts +1 -1
  201. package/dist/src/beta/components/FilterBar/internal/adapters/asyncTree.d.ts +6 -0
  202. package/dist/src/beta/components/FilterBar/internal/adapters/textInput.d.ts +3 -0
  203. package/dist/src/beta/components/FilterBar/internal/adapters/tree.d.ts +6 -0
  204. package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +4 -1
  205. package/dist/src/beta/components/FilterBar/internal/types.d.ts +69 -12
  206. package/dist/src/beta/components/FilterBar/internal/utils/test.d.ts +4 -1
  207. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +4 -6
  208. package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +6 -1
  209. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -11
  210. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +0 -2
  211. package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +1 -0
  212. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +68 -0
  213. package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +64 -0
  214. package/dist/src/beta/components/TreeSelectField/index.d.ts +3 -0
  215. package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +31 -0
  216. package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +56 -0
  217. package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +56 -0
  218. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +82 -0
  219. package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +57 -0
  220. package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +33 -0
  221. package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +25 -0
  222. package/dist/src/beta/components/TreeSelectField/internal/types.d.ts +12 -0
  223. package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +99 -0
  224. package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +93 -0
  225. package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +42 -0
  226. package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +56 -0
  227. package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +58 -0
  228. package/dist/src/beta/components/TreeSelectField/stories/TreeSelectField.stories.data.d.ts +21 -0
  229. package/dist/src/beta/components/TreeSelectField/types.d.ts +124 -0
  230. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +29 -0
  231. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +65 -0
  232. package/dist/src/beta/components/TreeSelectMenu/index.d.ts +4 -0
  233. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +103 -0
  234. package/dist/src/beta/components/index.d.ts +2 -0
  235. package/dist/src/components/Pagination/internal/Pagination.d.ts +1 -0
  236. package/dist/src/components/Pagination/internal/PaginationOverflowMenu.d.ts +12 -1
  237. package/dist/src/internal/functions/portalScopeClassNames.d.ts +14 -0
  238. package/dist/src/internal/utils/arrayIdsEqual.d.ts +10 -0
  239. package/dist/src/internal/utils/index.d.ts +1 -0
  240. package/dist/{stripInlineMarkdown-C5DNxxwf.js → stripInlineMarkdown-C0bVmYgG.js} +2 -2
  241. package/dist/{stripInlineMarkdown-C5DNxxwf.js.map → stripInlineMarkdown-C0bVmYgG.js.map} +1 -1
  242. package/dist/{syncFilterUtils-BEKek64h.js → syncFilterUtils-DZqeVWTS.js} +34 -409
  243. package/dist/syncFilterUtils-DZqeVWTS.js.map +1 -0
  244. package/dist/syncFilterUtils.css +0 -180
  245. package/dist/treeSync-Cz3H08cr.js +1453 -0
  246. package/dist/treeSync-Cz3H08cr.js.map +1 -0
  247. package/dist/treeSync.css +40 -0
  248. package/dist/useAdaptiveView-CeYKH0Me.js +386 -0
  249. package/dist/useAdaptiveView-CeYKH0Me.js.map +1 -0
  250. package/dist/useAdaptiveView.css +181 -0
  251. package/dist/useChipLayout-BWZfKDgd.js +51 -0
  252. package/dist/useChipLayout-BWZfKDgd.js.map +1 -0
  253. package/dist/{useDrilldown-KZ9rRsXQ.js → useDrilldown-BJ2dHHKV.js} +2 -2
  254. package/dist/{useDrilldown-KZ9rRsXQ.js.map → useDrilldown-BJ2dHHKV.js.map} +1 -1
  255. package/dist/{useInfiniteCombobox-CknXmqlQ.js → useInfiniteCombobox-C6TDFfds.js} +23 -23
  256. package/dist/useInfiniteCombobox-C6TDFfds.js.map +1 -0
  257. package/dist/{useMenuInteraction-CpAOHSJu.js → useMenuInteraction-NEJXUD4I.js} +2 -114
  258. package/dist/useMenuInteraction-NEJXUD4I.js.map +1 -0
  259. package/dist/{useToggleSelection-B-Z80gy2.js → useToggleSelection-Bn7h-gGD.js} +2 -2
  260. package/dist/{useToggleSelection-B-Z80gy2.js.map → useToggleSelection-Bn7h-gGD.js.map} +1 -1
  261. package/package.json +5 -7
  262. package/dist/Avatar-FDHyqiCy.js.map +0 -1
  263. package/dist/DataTable-E8z0H8c7.js.map +0 -1
  264. package/dist/Menu-W0c-xKdX.js.map +0 -1
  265. package/dist/MultiSelectFieldSync-CXX2F0ru.js.map +0 -1
  266. package/dist/MultiSelectMenuSync-EKtvlL62.js.map +0 -1
  267. package/dist/Pagination-Bmd4JORe.js.map +0 -1
  268. package/dist/Popover-8mTJoMy7.js.map +0 -1
  269. package/dist/RichTextEditor-DstVbYch.js.map +0 -1
  270. package/dist/SavedFiltersButton-2qba2Cgu.js.map +0 -1
  271. package/dist/Toaster-CoChsMD0.js.map +0 -1
  272. package/dist/Tooltip-yr1D06BE.js.map +0 -1
  273. package/dist/filter-state-Bx3aYS1r.js.map +0 -1
  274. package/dist/keyboard_arrow_right-DZWNVytH.js +0 -8
  275. package/dist/keyboard_arrow_right-DZWNVytH.js.map +0 -1
  276. package/dist/syncFilterUtils-BEKek64h.js.map +0 -1
  277. package/dist/useInfiniteCombobox-CknXmqlQ.js.map +0 -1
  278. package/dist/useMenuInteraction-CpAOHSJu.js.map +0 -1
  279. /package/dist/{useMenuInteraction.css → MenuFooter.css} +0 -0
package/dist/index.js CHANGED
@@ -1,72 +1,72 @@
1
1
  export { DndSort, DndSortCard, DndSortZone } from './DndSort.js';
2
- export { A as Alert } from './Alert-BNH0UD2s.js';
3
- export { A as AiMark } from './AiMark-BXL0sWIV.js';
2
+ export { A as Alert } from './Alert-CNDLoh6b.js';
3
+ export { A as AiMark } from './AiMark-CS6MvraM.js';
4
4
  export { A as Announcement } from './Announcement-CgTqDU8A.js';
5
- export { A as Avatar } from './Avatar-B_cRQqKR.js';
6
- export { A as AvatarGroup } from './Avatar-FDHyqiCy.js';
5
+ export { A as Avatar } from './Avatar-CdAIJ5VK.js';
6
+ export { A as AvatarGroup } from './Avatar-Bl-Dxbhf.js';
7
7
  export { B as Badge } from './Badge-DtUI2AEk.js';
8
- export { B as Breadcrumbs } from './Breadcrumbs-Bzxbdu-S.js';
8
+ export { B as Breadcrumbs } from './Breadcrumbs--Xt6l_2L.js';
9
9
  export { B as Button } from './Button-C_V2xQAs.js';
10
10
  export { B as ButtonCompound } from './ButtonCompound-BQb2gfAl.js';
11
11
  export { B as ButtonLink } from './ButtonLink-UhLks0vM.js';
12
12
  export { B as ButtonToggle } from './ButtonToggle-jnDMPSyK.js';
13
- export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-BYNFAWpZ.js';
13
+ export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-rITorBvD.js';
14
14
  export { C as Card } from './Card-fBqg853U.js';
15
- export { C as Checkbox } from './Checkbox-BeIzx_ZX.js';
16
- export { C as Chip } from './Chip-D2k5X_wX.js';
17
- export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-CknXmqlQ.js';
18
- export { D as DateFieldRange } from './DateFieldRange-BN_uIvHI.js';
19
- export { D as DateFieldSingle } from './DateFieldSingle-h3YkdwPo.js';
20
- export { D as DateFieldYearless } from './DateFieldYearless-m_Hl2gMY.js';
21
- export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-DNqSTBDr.js';
22
- export { D as DaysOfTheWeek } from './DaysOfTheWeek-D58z_eF3.js';
15
+ export { C as Checkbox } from './Checkbox-BYWhkYoK.js';
16
+ export { C as Chip } from './Chip-CyMNyEPR.js';
17
+ export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-C6TDFfds.js';
18
+ export { D as DateFieldRange } from './DateFieldRange-BUug1tUy.js';
19
+ export { D as DateFieldSingle } from './DateFieldSingle-DR7faQGD.js';
20
+ export { D as DateFieldYearless } from './DateFieldYearless-7MFcR7L6.js';
21
+ export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-DGtdyISH.js';
22
+ export { D as DaysOfTheWeek } from './DaysOfTheWeek-C7oN9nIe.js';
23
23
  export { D as Details } from './Details-s2pVu-YL.js';
24
- export { D as Dialog } from './Dialog-CvYSMvfD.js';
24
+ export { D as Dialog } from './Dialog-dE9c90iR.js';
25
25
  export { D as Divider } from './Divider-CxtTyw8_.js';
26
26
  export { D as Dnd } from './index-CukEaIHB.js';
27
- export { D as Drawer } from './Drawer-s2y0xcgV.js';
28
- export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-KZ9rRsXQ.js';
29
- export { E as EditCard } from './EditCard-B25pj0Jx.js';
30
- export { F as FieldLabel } from './FieldLabel-D1qPAGtB.js';
27
+ export { D as Drawer } from './Drawer-Dk0MsaOU.js';
28
+ export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-BJ2dHHKV.js';
29
+ export { E as EditCard } from './EditCard-DV2N7zWr.js';
30
+ export { F as FieldLabel } from './FieldLabel-VVn8GR64.js';
31
31
  export { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
32
32
  export { F as FieldMessage } from './FieldMessage-mTGdycSA.js';
33
33
  export { F as Flex } from './Flex-_orhvoxS.js';
34
34
  export { G as Grid } from './Grid-BAN8WD_V.js';
35
35
  export { I as Icon } from './Icon-feeG7gXA.js';
36
- export { I as InputMask } from './InputMask-BDl09V4u.js';
36
+ export { I as InputMask } from './InputMask-VBHWGZGN.js';
37
37
  export { L as Layout, b as LayoutElement, a as LayoutItem } from './Layout-C2Q2hyLG.js';
38
38
  export { L as Link, u as useLinkStyles } from './Link-D8A_WT94.js';
39
39
  export { L as LinkButton } from './LinkButton-DxYsWiXB.js';
40
40
  export { L as List } from './List-GPS-GqH7.js';
41
- export { L as Listbox } from './Listbox-CvQHBFWb.js';
42
- export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-DO5psxd4.js';
43
- export { M as Menu } from './Menu-W0c-xKdX.js';
44
- export { N as NumberField } from './NumberField-BymFZhIJ.js';
41
+ export { L as Listbox } from './Listbox-CRY-0BkS.js';
42
+ export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-BUrfz75g.js';
43
+ export { M as Menu } from './Menu-DNJ0YqjA.js';
44
+ export { N as NumberField } from './NumberField-bgYX7JGs.js';
45
45
  export { Overflow, OverflowText } from './Overflow.js';
46
- export { P as Page } from './Page-C2_Hm27h.js';
47
- export { P as Pagination } from './Pagination-Bmd4JORe.js';
48
- export { P as Popover } from './Popover-8mTJoMy7.js';
49
- export { P as ProgressBar } from './ProgressBar-C1CkQHV5.js';
50
- export { R as Radio } from './Radio-BcHMk8dD.js';
46
+ export { P as Page } from './Page-BSHydn4p.js';
47
+ export { P as Pagination } from './Pagination-CAeyJ7Pl.js';
48
+ export { P as Popover } from './Popover-Cq5tirFz.js';
49
+ export { P as ProgressBar } from './ProgressBar-ByR50ln7.js';
50
+ export { R as Radio } from './Radio-CPuctRpl.js';
51
51
  export { S as SearchField } from './SearchField-BMHJCVFu.js';
52
52
  export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-PwLdTdrd.js';
53
- export { S as SelectCard } from './SelectCard-BN-LI14f.js';
54
- export { S as SelectTrigger } from './SelectTrigger-CHk0KO-P.js';
53
+ export { S as SelectCard } from './SelectCard-DLWLHi_i.js';
54
+ export { S as SelectTrigger } from './SelectTrigger-BbneVXMz.js';
55
55
  export { S as SideNav } from './SideNav-JzIIZSK_.js';
56
56
  export { Skeleton, SkeletonCircle, SkeletonPill, SkeletonRectangle, SkeletonText } from './Skeleton.js';
57
57
  export { S as Spinner } from './Spinner-B7tTWcP6.js';
58
58
  export { S as SrOnly } from './SrOnly-pnf8ajnh.js';
59
59
  export { S as Stepper } from './Stepper-lYywxPU5.js';
60
- export { S as Switch } from './Switch-onmiKoRd.js';
60
+ export { S as Switch } from './Switch-B6bKmpwN.js';
61
61
  export { T as Tab } from './Tab-CIY6BO2e.js';
62
- export { T as Text } from './Text-BTzgTpqu.js';
63
- export { T as Textarea } from './Textarea-PXjppEQ6.js';
64
- export { T as TextField } from './TextField-WTYZJlX3.js';
65
- export { T as TimeField } from './TimeField-BJPXIv6W.js';
66
- export { T as Toaster } from './Toaster-DXLc86VD.js';
67
- export { t as toast } from './Toaster-CoChsMD0.js';
68
- export { T as Toolbar } from './Toolbar-Bt3kShho.js';
69
- export { T as Tooltip } from './Tooltip-yr1D06BE.js';
62
+ export { T as Text } from './Text-w2gWn4K6.js';
63
+ export { T as Textarea } from './Textarea-BK4Vf84K.js';
64
+ export { T as TextField } from './TextField-BQsCh5Nb.js';
65
+ export { T as TimeField } from './TimeField-B4IW2B_o.js';
66
+ export { T as Toaster } from './Toaster-DTF9qnTy.js';
67
+ export { t as toast } from './Toaster-BGY2IzF5.js';
68
+ export { T as Toolbar } from './Toolbar-DObrJ_S5.js';
69
+ export { T as Tooltip } from './Tooltip-DqS6xDUf.js';
70
70
  export { u as useAccessibleColor } from './useAccessibleColor-BYKjkGRg.js';
71
71
  export { u as useBreakpoint } from './useBreakpoint-CeaUyHxh.js';
72
72
  export { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
@@ -74,11 +74,11 @@ export { u as usePrefersColorScheme } from './usePrefersColorScheme-_hT7dK7_.js'
74
74
  export { u as usePrefersReducedMotion } from './usePrefersReducedMotion-DR9B_D6w.js';
75
75
  export { u as useSwipe } from './useSwipe-Cp-CJxLU.js';
76
76
  export { useTrackingId } from './useTrackingId.js';
77
- export { A as AnvilProvider, a as AnvilProviderContext } from './AnvilProvider-J9DjoJiB.js';
77
+ export { A as AnvilProvider, a as AnvilProviderContext } from './AnvilProvider-BFK29dL5.js';
78
78
  export { L as LocalizationProvider } from './LocalizationProvider-CO8fQGqs.js';
79
79
  export { L as LocalizationContext, u as useLocalizationContext } from './LocalizationContext-UsmB5mnR.js';
80
80
  export { P as PortalProvider, a as PortalProviderContext } from './PortalProvider-Cj_y3gbC.js';
81
- export { T as ThemeProvider } from './ThemeProvider-D4KdGCaP.js';
81
+ export { T as ThemeProvider } from './ThemeProvider-BC6wbuLU.js';
82
82
  export { u as useTheme } from './useTheme-B4i6a3bM.js';
83
83
  export { T as TrackingProvider } from './TrackingProvider-Co4lyoI9.js';
84
84
  export { u as useTrackingContext } from './useTrackingContext-C522P4sv.js';
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+
3
+ const SvgKeyboardArrowLeft = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M14.71 15.88 10.83 12l3.88-3.88a.996.996 0 1 0-1.41-1.41L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.39.39-1.03 0-1.42z" }));
4
+
5
+ export { SvgKeyboardArrowLeft as S };
6
+ //# sourceMappingURL=keyboard_arrow_left-CiE1n99w.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard_arrow_left-CiE1n99w.js","sources":["../../hammer-icon/mdi/round/keyboard_arrow_left.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgKeyboardArrowLeft = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.71 15.88 10.83 12l3.88-3.88a.996.996 0 1 0-1.41-1.41L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.39.39-1.03 0-1.42z\" }));\nexport default SvgKeyboardArrowLeft;\n"],"names":[],"mappings":";;AACK,MAAC,oBAAoB,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,kJAAkJ,EAAE,CAAC;;;;"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+
3
+ const SvgKeyboardArrowRight = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M9.29 15.88 13.17 12 9.29 8.12a.996.996 0 1 1 1.41-1.41l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3a.996.996 0 0 1-1.41 0c-.38-.39-.39-1.03 0-1.42z" }));
4
+
5
+ export { SvgKeyboardArrowRight as S };
6
+ //# sourceMappingURL=keyboard_arrow_right-DMloHg_F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard_arrow_right-DMloHg_F.js","sources":["../../hammer-icon/mdi/round/keyboard_arrow_right.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgKeyboardArrowRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9.29 15.88 13.17 12 9.29 8.12a.996.996 0 1 1 1.41-1.41l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3a.996.996 0 0 1-1.41 0c-.38-.39-.39-1.03 0-1.42z\" }));\nexport default SvgKeyboardArrowRight;\n"],"names":[],"mappings":";;AACK,MAAC,qBAAqB,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,mJAAmJ,EAAE,CAAC;;;;"}
@@ -0,0 +1,7 @@
1
+ import { c as cx } from './index-De1g9FRV.js';
2
+ import { t as themeStyles } from './ThemeProvider.module-D9pNGYjP.js';
3
+
4
+ const portalScopeClassNames = cx("anvil2", themeStyles["theme-core"]);
5
+
6
+ export { portalScopeClassNames as p };
7
+ //# sourceMappingURL=portalScopeClassNames-jlZkdug_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portalScopeClassNames-jlZkdug_.js","sources":["../src/internal/functions/portalScopeClassNames.ts"],"sourcesContent":["import cx from \"classnames\";\n\nimport themeStyles from \"../../providers/ThemeProvider/ThemeProvider.module.scss\";\n\n/**\n * Class names that re-establish the Anvil2 styling scope on a container.\n *\n * Native `popover` / top-layer elements (toasts, popovers, tooltips, surfaces)\n * are promoted to the top layer and live high in the DOM, escaping any ancestor\n * `AnvilProvider`'s `.anvil2` scope. Without the scope, descendants resolve none\n * of the `--a2-*` design tokens (defined on `.anvil2.theme-core`) and miss the\n * scoped component rules, so they render unstyled.\n *\n * Spread/append these class names onto such containers so they self-scope and\n * render correctly in any host context (including outside an `AnvilProvider`,\n * e.g. when an Anvil2 component is used from a legacy host).\n */\nexport const portalScopeClassNames = cx(\"anvil2\", themeStyles[\"theme-core\"]);\n"],"names":[],"mappings":";;;AAiBO,MAAM,qBAAA,GAAwB,EAAA,CAAG,QAAA,EAAU,WAAA,CAAY,YAAY,CAAC;;;;"}
@@ -0,0 +1,29 @@
1
+ import { TextInputFilter } from './internal/types';
2
+ /**
3
+ * Props for the FilterTextInput component.
4
+ */
5
+ interface FilterTextInputProps {
6
+ /** The text input filter — drives label, placeholder, and max length. */
7
+ filter: TextInputFilter;
8
+ /** Current text value. */
9
+ value: string;
10
+ /** Callback to update the value. Receives the truncated string. */
11
+ onChange: (value: string) => void;
12
+ /**
13
+ * `compact` hides the field's own label (toolbar popover — the filter
14
+ * button doubles as the label); `grid` shows it (drawer cell).
15
+ */
16
+ layout: "compact" | "grid";
17
+ }
18
+ /**
19
+ * Single-line TextField for the textInput filter. Used as the popover body in
20
+ * the toolbar (`layout="compact"`) and as the cell in the drawer
21
+ * (`layout="grid"`).
22
+ *
23
+ * Features:
24
+ * - Truncates entered text to `filter.maxLength` before emitting
25
+ * - Optional `current/max` character counter (`showCounter`)
26
+ * - Hides its own label in `compact` (the filter button doubles as the label)
27
+ */
28
+ export declare const FilterTextInput: ({ filter, value, onChange, layout, }: FilterTextInputProps) => import("react/jsx-runtime").JSX.Element;
29
+ export {};
@@ -1,3 +1,3 @@
1
1
  export * from './FilterBar';
2
2
  export { FilterBar as default, type FilterBarProps } from './FilterBar';
3
- export { type Filter, type BooleanFilter, type CustomFilter, type SingleSelectFilter, type MultiSelectFilter, type DateFilter, type DateRangeFilter, type DateListFilter, type DateListOption, type DateListLibraryOptionId, type AsyncSelectFilter, type AsyncMultiSelectFilter, type NumericRangeFilter, type NumericRangeValue, type FilterValue, type FilterRenderProps, type BaseFilter, } from './internal/types';
3
+ export { type Filter, type BooleanFilter, type CustomFilter, type SingleSelectFilter, type MultiSelectFilter, type DateFilter, type DateRangeFilter, type DateListFilter, type DateListOption, type DateListLibraryOptionId, type AsyncSelectFilter, type AsyncMultiSelectFilter, type TreeFilter, type AsyncTreeFilter, type NumericRangeFilter, type NumericRangeValue, type TextInputFilter, type FilterValue, type FilterRenderProps, type BaseFilter, } from './internal/types';
@@ -0,0 +1,6 @@
1
+ import { TreeSelectMenuValue } from '../../../TreeSelectMenu';
2
+ import { AsyncTreeFilter } from '../types';
3
+ import { FilterTypeAdapter } from './types';
4
+ type Value = TreeSelectMenuValue[];
5
+ export declare const asyncTreeAdapter: FilterTypeAdapter<AsyncTreeFilter, Value>;
6
+ export {};
@@ -0,0 +1,3 @@
1
+ import { TextInputFilter } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ export declare const textInputAdapter: FilterTypeAdapter<TextInputFilter, string>;
@@ -0,0 +1,6 @@
1
+ import { TreeSelectMenuValue } from '../../../TreeSelectMenu';
2
+ import { TreeFilter } from '../types';
3
+ import { FilterTypeAdapter } from './types';
4
+ type Value = TreeSelectMenuValue[];
5
+ export declare const treeAdapter: FilterTypeAdapter<TreeFilter, Value>;
6
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { AsyncMultiSelectFilter, AsyncSelectFilter, BooleanFilter, CustomFilter, DateFilter, DateListFilter, DateListLibraryOptionId, DateRangeFilter, Filter, MultiSelectFilter, NumericRangeFilter, SingleSelectFilter } from '../types';
2
+ import { AsyncMultiSelectFilter, AsyncSelectFilter, BooleanFilter, CustomFilter, DateFilter, DateListFilter, DateListLibraryOptionId, DateRangeFilter, Filter, MultiSelectFilter, NumericRangeFilter, SingleSelectFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
3
3
  /**
4
4
  * Context passed to renderBarControl — the inline FilterBar control for a filter.
5
5
  *
@@ -67,7 +67,10 @@ export type FilterVariantMap = {
67
67
  dateList: DateListFilter;
68
68
  asyncSelect: AsyncSelectFilter;
69
69
  asyncMultiSelect: AsyncMultiSelectFilter;
70
+ tree: TreeFilter;
71
+ asyncTree: AsyncTreeFilter;
70
72
  numericRange: NumericRangeFilter;
73
+ textInput: TextInputFilter;
71
74
  };
72
75
  /**
73
76
  * Exhaustive map from Filter["type"] to its adapter. Forces compile-time
@@ -3,6 +3,7 @@ import { DateFieldSingleProps } from '../../../../components/DateFieldSingle';
3
3
  import { DateFieldRangeProps } from '../../../../components/DateFieldRange';
4
4
  import { SelectMenuOption, SelectMenuProps, SelectMenuSyncProps } from '../../SelectMenu';
5
5
  import { MultiSelectMenuOption, MultiSelectMenuProps, MultiSelectMenuSyncProps } from '../../MultiSelectMenu';
6
+ import { TreeSelectMenuProps, TreeSelectMenuSyncProps, TreeSelectMenuValue } from '../../TreeSelectMenu';
6
7
  import { DistributiveOmit } from '../../../../types';
7
8
  /**
8
9
  * Base properties shared by all filter types
@@ -245,29 +246,85 @@ export type NumericRangeFilter = BaseFilter & {
245
246
  */
246
247
  hideControls?: boolean;
247
248
  };
249
+ type TextInputFilterShared = BaseFilter & {
250
+ /** Identifies this as a text input filter */
251
+ type: "textInput";
252
+ /** Current text value (undefined or empty means inactive) */
253
+ value?: string;
254
+ /** Placeholder shown when the field is empty */
255
+ placeholder?: string;
256
+ };
248
257
  /**
249
258
  * Single text input filter. Renders a TextField — the field's own label is
250
259
  * hidden inline in the toolbar (the filter button doubles as the label) and
251
260
  * shown in the drawer cell.
252
261
  *
253
262
  * `placeholder` is shown when the field is empty; `maxLength` clamps entered
254
- * text to that many characters.
263
+ * text to that many characters. Set `showCounter: true` to render a
264
+ * `current/max` character counter under the input — `maxLength` is required
265
+ * (and must be a concrete `number`, not `undefined`) in that case, otherwise
266
+ * the counter renders with an empty denominator.
255
267
  */
256
- export type TextInputFilter = BaseFilter & {
257
- /** Identifies this as a text input filter */
258
- type: "textInput";
259
- /** Current text value (undefined or empty means inactive) */
260
- value?: string;
261
- /** Placeholder shown when the field is empty */
262
- placeholder?: string;
263
- /** Optional max character length; entered text is truncated to this length */
268
+ export type TextInputFilter = (TextInputFilterShared & {
269
+ /** Show a `current/max` character counter under the input. */
270
+ showCounter: true;
271
+ /** Max character length; required when `showCounter` is true. */
272
+ maxLength: number;
273
+ }) | (TextInputFilterShared & {
274
+ /** Show a `current/max` character counter under the input. */
275
+ showCounter?: false;
276
+ /** Optional max character length; entered text is truncated to this length. */
264
277
  maxLength?: number;
265
- };
278
+ });
279
+ /**
280
+ * Sync tree filter type. Backed by TreeSelectMenuSync in the toolbar and
281
+ * TreeSelectFieldSync in the drawer, so the consumer supplies a static
282
+ * `options` tree (with optional client-side `filter` override) instead of a
283
+ * `loadOptions` function. Selection is always an array of node values, even in
284
+ * `selectionMode: "single"`.
285
+ *
286
+ * Uses DistributiveOmit so variant-specific fields survive the omit, matching
287
+ * the select-family filters.
288
+ *
289
+ * Filter-runtime concerns (`label`, `id`, `selectedNodes`, `trigger`,
290
+ * `value`/`onSelectedOptionsChange`, focus-lifecycle callbacks) are owned by
291
+ * FilterBar and the tree adapter — consumers don't pass them. Like the
292
+ * select-family filters, the inline menu honors `controlledFiltering`: when it
293
+ * is on, selections are buffered as a draft and commit only on Apply; when off,
294
+ * they commit immediately.
295
+ */
296
+ export type TreeFilter = BaseFilter & {
297
+ /** Identifies this as a tree filter */
298
+ type: "tree";
299
+ /** Currently selected tree node values */
300
+ selectedNodes?: TreeSelectMenuValue[];
301
+ } & DistributiveOmit<TreeSelectMenuSyncProps, "id" | "label" | "value" | "onSelectedOptionsChange" | "trigger" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
302
+ /**
303
+ * Async tree filter type. The async counterpart of TreeFilter — backed by
304
+ * TreeSelectMenu in the toolbar and TreeSelectField in the drawer, so the
305
+ * consumer supplies a `loadOptions` function (with `parentNode` for lazy branch
306
+ * loading) instead of a static `options` tree. Carries the full TreeSelectMenu
307
+ * pass-through configuration (cache, virtualize, displayMenuAs, initialLoad,
308
+ * selectionMode, valueConsistsOf, etc.).
309
+ *
310
+ * Filter-runtime concerns (`label`, `id`, `selectedNodes`, `trigger`,
311
+ * `value`/`onSelectedOptionsChange`, focus-lifecycle callbacks) are owned by
312
+ * FilterBar and the asyncTree adapter — consumers don't pass them. Like
313
+ * TreeFilter, the inline menu honors `controlledFiltering`: when it is on,
314
+ * selections are buffered as a draft and commit only on Apply; when off, they
315
+ * commit immediately.
316
+ */
317
+ export type AsyncTreeFilter = BaseFilter & {
318
+ /** Identifies this as an async tree filter */
319
+ type: "asyncTree";
320
+ /** Currently selected tree node values */
321
+ selectedNodes?: TreeSelectMenuValue[];
322
+ } & DistributiveOmit<TreeSelectMenuProps, "id" | "label" | "value" | "onSelectedOptionsChange" | "trigger" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
266
323
  /**
267
324
  * Union type of all available filter types
268
325
  * Uses unknown instead of any for better type safety
269
326
  */
270
- export type Filter = BooleanFilter | CustomFilter<any> | SingleSelectFilter | MultiSelectFilter | DateFilter | DateRangeFilter | DateListFilter | AsyncSelectFilter | AsyncMultiSelectFilter | NumericRangeFilter;
327
+ export type Filter = BooleanFilter | CustomFilter<any> | SingleSelectFilter | MultiSelectFilter | DateFilter | DateRangeFilter | DateListFilter | AsyncSelectFilter | AsyncMultiSelectFilter | TreeFilter | AsyncTreeFilter | NumericRangeFilter | TextInputFilter;
271
328
  /** Type representing all possible filter values */
272
- export type FilterValue = boolean | CustomFilter["value"] | SingleSelectFilter["selectedOption"] | MultiSelectFilter["selectedOptions"] | DateFilter["value"] | DateRangeFilter["value"] | DateListFilter["selectedOption"] | AsyncSelectFilter["selectedOption"] | AsyncMultiSelectFilter["selectedOptions"] | NumericRangeFilter["value"];
329
+ export type FilterValue = boolean | CustomFilter["value"] | SingleSelectFilter["selectedOption"] | MultiSelectFilter["selectedOptions"] | DateFilter["value"] | DateRangeFilter["value"] | DateListFilter["selectedOption"] | AsyncSelectFilter["selectedOption"] | AsyncMultiSelectFilter["selectedOptions"] | TreeFilter["selectedNodes"] | AsyncTreeFilter["selectedNodes"] | NumericRangeFilter["value"] | TextInputFilter["value"];
273
330
  export {};
@@ -1,4 +1,4 @@
1
- import { AsyncMultiSelectFilter, AsyncSelectFilter, Filter, BooleanFilter, CustomFilter, SingleSelectFilter, MultiSelectFilter, DateFilter, DateListFilter, DateRangeFilter, NumericRangeFilter } from '../types';
1
+ import { AsyncMultiSelectFilter, AsyncSelectFilter, Filter, BooleanFilter, CustomFilter, SingleSelectFilter, MultiSelectFilter, DateFilter, DateListFilter, DateRangeFilter, NumericRangeFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
2
2
  export type TestValue = {
3
3
  id: number;
4
4
  label: string;
@@ -38,7 +38,10 @@ export declare function createMockDateRangeFilter(overrides?: Partial<DateRangeF
38
38
  export declare function createMockDateListFilter(overrides?: Partial<DateListFilter>): DateListFilter;
39
39
  export declare function createMockAsyncSelectFilter(overrides?: Partial<AsyncSelectFilter>): AsyncSelectFilter;
40
40
  export declare function createMockAsyncMultiSelectFilter(overrides?: Partial<AsyncMultiSelectFilter>): AsyncMultiSelectFilter;
41
+ export declare function createMockTreeFilter(overrides?: Partial<TreeFilter>): TreeFilter;
42
+ export declare function createMockAsyncTreeFilter(overrides?: Partial<AsyncTreeFilter>): AsyncTreeFilter;
41
43
  export declare function createMockNumericRangeFilter(overrides?: Partial<NumericRangeFilter>): NumericRangeFilter;
44
+ export declare function createMockTextInputFilter(overrides?: Partial<TextInputFilter>): TextInputFilter;
42
45
  export declare const setupDesktopContainer: () => void;
43
46
  export declare const setupMobileContainer: () => void;
44
47
  export declare const setupSmContainer: () => void;
@@ -1,10 +1,9 @@
1
- import { ComponentPropsWithoutRef, Ref, ReactNode } from 'react';
1
+ import { ComponentPropsWithoutRef, forwardRef, Ref, ReactNode } from 'react';
2
2
  import { LayoutUtilProps } from '../../../../types';
3
3
  import { ColumnDef, CustomTableFooterCellProps, TableRow } from '../types';
4
4
  import { DataTableCacheOptions, DataTableEmptyState, DataTablePaginationConfig, DataTableRef, SortedColumn } from './types';
5
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
+ export type DataTableRowData = object;
8
7
  /**
9
8
  * Props for the DataTable component
10
9
  * @extends LayoutUtilProps
@@ -205,7 +204,6 @@ declare function DataTableInner<T extends DataTableRowData>(props: DataTableProp
205
204
  * }}
206
205
  * />
207
206
  */
208
- type DataTableComponent = <T extends DataTableRowData>(props: DataTableProps<T> & {
207
+ export declare const DataTable: (<T extends DataTableRowData>(props: DataTableProps<T> & {
209
208
  ref?: Ref<DataTableRef>;
210
- }) => ReturnType<typeof DataTableInner>;
211
- export declare const DataTable: DataTableComponent;
209
+ }) => ReturnType<typeof DataTableInner>) & Pick<ReturnType<typeof forwardRef<DataTableRef, DataTableProps<DataTableRowData>>>, "$$typeof">;
@@ -3,6 +3,11 @@ import { TableRow } from '../../types';
3
3
  import { useColumnOrder } from './useColumnOrder';
4
4
  export type DataTableBodyRowProps<T> = {
5
5
  columnOrder: ReturnType<typeof useColumnOrder>["columnOrder"];
6
+ /**
7
+ * O(1) lookup of leaf-column-index → visual position. Replaces
8
+ * `columnOrder.indexOf(...)` per cell to keep large-table renders cheap.
9
+ */
10
+ columnIndexMap: ReturnType<typeof useColumnOrder>["columnIndexMap"];
6
11
  row: Row<T>;
7
12
  rowIndex: number;
8
13
  tableHasSubRows: boolean;
@@ -38,6 +43,6 @@ export type DataTableBodyRowProps<T> = {
38
43
  */
39
44
  getRowVersion?: (row: T) => unknown;
40
45
  };
41
- declare function DataTableBodyRowInner<T>({ columnOrder, row, rowIndex, tableHasSubRows, isExpanded, canExpand, depth, parentRowCanExpand, isActivatable, isActive, isTopMostActive, isReadOnly, onToggleActive, }: DataTableBodyRowProps<T>): import("react/jsx-runtime").JSX.Element;
46
+ declare function DataTableBodyRowInner<T>({ columnOrder: _columnOrder, columnIndexMap, row, rowIndex, tableHasSubRows, isExpanded, canExpand, depth, parentRowCanExpand, isActivatable, isActive, isTopMostActive, isReadOnly, onToggleActive, }: DataTableBodyRowProps<T>): import("react/jsx-runtime").JSX.Element;
42
47
  export declare const DataTableBodyRow: typeof DataTableBodyRowInner;
43
48
  export {};
@@ -8,10 +8,6 @@ export type DTFocusState = {
8
8
  * The last focused cell when the table was blurred or { rowIndex: 0, columnIndex: 0 } if never focused
9
9
  */
10
10
  focusRestorePoint: CellPosition;
11
- /**
12
- * Whether the focus has been disrupted by a sub component
13
- */
14
- hasFocusBeenDisrupted: boolean;
15
11
  };
16
12
  export type DTFocusStateContextValue = {
17
13
  getFocusedCell: () => CellPosition | null;
@@ -46,12 +42,6 @@ export type DTFocusCellManuallyAction = {
46
42
  export type DTBlurAction = {
47
43
  type: "BLUR";
48
44
  };
49
- export type DTFocusSubComponentAction = {
50
- type: "FOCUS_SUB_COMPONENT";
51
- };
52
- export type DTFocusSubComponentBlurAction = {
53
- type: "BLUR_SUB_COMPONENT";
54
- };
55
- export type DTFocusAction = DTFocusCellAction | DTFocusTableAction | DTFocusMoveAction | DTFocusJumpAction | DTBlurAction | DTFocusSubComponentAction | DTFocusSubComponentBlurAction | DTFocusCellManuallyAction;
45
+ export type DTFocusAction = DTFocusCellAction | DTFocusTableAction | DTFocusMoveAction | DTFocusJumpAction | DTBlurAction | DTFocusCellManuallyAction;
56
46
  export declare const DTFocusStateContext: import('react').Context<DTFocusStateContextValue>;
57
47
  export declare const DTFocusDispatchContext: import('react').Context<import('react').Dispatch<DTFocusAction>>;
@@ -5,7 +5,5 @@ export declare function useDTFocusDispatchContext(): {
5
5
  moveFocus: (direction: "up" | "down" | "left" | "right") => void;
6
6
  jumpFocus: (direction: "up" | "down" | "left" | "right") => void;
7
7
  blur: () => void;
8
- focusSubComponent: () => void;
9
- blurSubComponent: () => void;
10
8
  dispatch: import('react').Dispatch<import('./DTFocusContext').DTFocusAction>;
11
9
  };
@@ -7,4 +7,5 @@ export declare const useColumnOrder: <T>({ table }: {
7
7
  table: TanstackTable<T>;
8
8
  }) => {
9
9
  columnOrder: number[];
10
+ columnIndexMap: Map<number, number>;
10
11
  };
@@ -0,0 +1,68 @@
1
+ import { TreeSelectFieldHandle, TreeSelectFieldNode } from './types';
2
+ /**
3
+ * TreeSelectField component for selecting one or more nodes from a hierarchical tree structure.
4
+ *
5
+ * Features:
6
+ * - Async tree data loading via loadOptions callback with optional LRU caching
7
+ * - Single-select and multi-select modes
8
+ * - Multi-select chips display with optional singleRow and maxChips limits
9
+ * - Search filtering that preserves tree structure
10
+ * - Cascading parent/child selection (linked mode) or independent node selection
11
+ * - Lazy branch expansion with on-demand children loading
12
+ * - Virtualized rendering for large trees via the virtualize prop
13
+ * - Full keyboard navigation (ArrowDown/Up, ArrowRight/Left, Enter, Home/End, Escape, Backspace)
14
+ * - Imperative handle for clearCache, invalidate, expandAll, collapseAll
15
+ * - Accessible label, error, hint, description, and warning helper text
16
+ * - Prefix and suffix slot support
17
+ * - Supports layout utilities for positioning and spacing
18
+ *
19
+ * @example
20
+ * <TreeSelectField
21
+ * label="Select Categories"
22
+ * value={selected}
23
+ * onSelectedOptionsChange={setSelected}
24
+ * loadOptions={async (search) => fetchCategories(search)}
25
+ * />
26
+ */
27
+ export declare const TreeSelectField: import('react').ForwardRefExoticComponent<{
28
+ id?: string;
29
+ label: string;
30
+ labelNode?: import('react').ReactNode;
31
+ hideLabel?: boolean;
32
+ placeholder?: string;
33
+ size?: Extract<import('../../..').Size, "small" | "medium" | "large">;
34
+ displayMenuAs?: "auto" | "popover" | "dialog";
35
+ error?: boolean | string | string[] | import('react').ReactElement;
36
+ hint?: import('react').ReactElement | string;
37
+ moreInfo?: import('react').ReactNode;
38
+ labelAiMark?: import('../../..').AiMarkWithTooltipOrPopoverProps["aiMark"];
39
+ description?: import('react').ReactElement | string;
40
+ warning?: string | string[];
41
+ required?: boolean;
42
+ disabled?: boolean;
43
+ readOnly?: boolean;
44
+ prefix?: string | import('react').ReactElement;
45
+ suffix?: string | import('react').ReactElement;
46
+ className?: string;
47
+ style?: import('react').CSSProperties;
48
+ disableSearch?: boolean;
49
+ debounceMs?: number;
50
+ searchValue?: string;
51
+ onSearchChange?: (v: string) => void;
52
+ singleRow?: boolean;
53
+ maxChips?: number;
54
+ virtualize?: boolean;
55
+ value: import('./types').TreeSelectFieldValue[];
56
+ onSelectedOptionsChange: (nodes: import('./types').TreeSelectFieldValue[]) => void;
57
+ selectionMode?: "single" | "independent" | "linked";
58
+ valueConsistsOf?: import('./types').TreeSelectFieldValueConsistsOf;
59
+ defaultExpandLevel?: number;
60
+ expandedIds?: Set<string | number>;
61
+ onExpandedIdsChange?: (ids: Set<string | number>) => void;
62
+ loadOptions: (searchValue: string, parentNode?: TreeSelectFieldNode) => TreeSelectFieldNode[] | Promise<TreeSelectFieldNode[]>;
63
+ cache?: {
64
+ enabled?: boolean;
65
+ maxSize?: number;
66
+ };
67
+ initialLoad?: "auto" | "immediate" | "open";
68
+ } & import('../../..').LayoutUtilProps & import('react').RefAttributes<TreeSelectFieldHandle>>;
@@ -0,0 +1,64 @@
1
+ import { MatchSorterOptions } from 'match-sorter';
2
+ import { TreeSelectFieldNode, TreeSelectFieldProps } from './types';
3
+ import { TreeSyncFilterFn } from './internal/treeSync';
4
+ export type { TreeSyncFilterFn };
5
+ /**
6
+ * Props for the TreeSelectFieldSync component.
7
+ * @property options - The static tree options to display.
8
+ * @property filter - Custom filter function or MatchSorterOptions to control how nodes are filtered during search.
9
+ * By default, filters by label and searchText using match-sorter, preserving parent nodes of any match.
10
+ * @extends TreeSelectFieldProps
11
+ */
12
+ export type TreeSelectFieldSyncProps = Omit<TreeSelectFieldProps, "loadOptions" | "debounceMs" | "cache" | "initialLoad"> & {
13
+ /**
14
+ * The static tree options to display in the field.
15
+ */
16
+ options: TreeSelectFieldNode[];
17
+ /**
18
+ * Controls how options are filtered when the user types a search value.
19
+ * Can be a function that returns nodes in the desired display order,
20
+ * or a MatchSorterOptions object to customize the default match-sorter behavior.
21
+ *
22
+ * By default, nodes are filtered by `label` and `searchText` using match-sorter,
23
+ * and parents of matching nodes are preserved in the tree structure.
24
+ *
25
+ * @example
26
+ * <TreeSelectFieldSync
27
+ * options={options}
28
+ * filter={(nodes, searchValue) => {
29
+ * return nodes.filter((node) =>
30
+ * node.label.toLowerCase().includes(searchValue.toLowerCase())
31
+ * );
32
+ * }}
33
+ * />
34
+ *
35
+ * @example
36
+ * <TreeSelectFieldSync
37
+ * options={options}
38
+ * filter={{ keys: ["label"] }}
39
+ * />
40
+ */
41
+ filter?: TreeSyncFilterFn | MatchSorterOptions<TreeSelectFieldNode>;
42
+ };
43
+ /**
44
+ * TreeSelectFieldSync is a simplified wrapper around TreeSelectField for static (non-async) tree data.
45
+ *
46
+ * Features:
47
+ * - Accepts static `options` instead of `loadOptions`.
48
+ * - Performs client-side filtering with tree-structure awareness (parents of matches are preserved).
49
+ * - Accepts a custom filter function or MatchSorterOptions to customize filtering behavior.
50
+ * - Invalidates the field when the options reference changes.
51
+ * - Supports all other props of TreeSelectField.
52
+ *
53
+ * @example
54
+ * <TreeSelectFieldSync
55
+ * label="Select location"
56
+ * options={locationTree}
57
+ * value={selected}
58
+ * onSelectedOptionsChange={setSelected}
59
+ * />
60
+ */
61
+ export declare const TreeSelectFieldSync: {
62
+ (props: TreeSelectFieldSyncProps): import("react/jsx-runtime").JSX.Element;
63
+ displayName: string;
64
+ };
@@ -0,0 +1,3 @@
1
+ export { TreeSelectField } from './TreeSelectField';
2
+ export { TreeSelectFieldSync } from './TreeSelectFieldSync';
3
+ export * from './types';