@servicetitan/anvil2 3.0.6 → 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 (361) hide show
  1. package/CHANGELOG.md +52 -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 -2
  33. package/dist/Combobox.js.map +1 -1
  34. package/dist/{DataTable-0kOuVgSB.js → DataTable-Dwhwvm6R.js} +205 -78
  35. package/dist/DataTable-Dwhwvm6R.js.map +1 -0
  36. package/dist/DataTable.css +47 -5
  37. package/dist/{DateFieldRange-Be_I9GTp.js → DateFieldRange-BUug1tUy.js} +27 -15
  38. package/dist/DateFieldRange-BUug1tUy.js.map +1 -0
  39. package/dist/DateFieldRange.js +1 -1
  40. package/dist/{DateFieldSingle-CsrsY9i8.js → DateFieldSingle-DR7faQGD.js} +5 -5
  41. package/dist/{DateFieldSingle-CsrsY9i8.js.map → DateFieldSingle-DR7faQGD.js.map} +1 -1
  42. package/dist/DateFieldSingle.js +1 -1
  43. package/dist/{DateFieldYearless-m_Hl2gMY.js → DateFieldYearless-7MFcR7L6.js} +4 -4
  44. package/dist/{DateFieldYearless-m_Hl2gMY.js.map → DateFieldYearless-7MFcR7L6.js.map} +1 -1
  45. package/dist/DateFieldYearless.js +1 -1
  46. package/dist/{DateFieldYearlessRange-DNqSTBDr.js → DateFieldYearlessRange-DGtdyISH.js} +3 -3
  47. package/dist/{DateFieldYearlessRange-DNqSTBDr.js.map → DateFieldYearlessRange-DGtdyISH.js.map} +1 -1
  48. package/dist/DateFieldYearlessRange.js +1 -1
  49. package/dist/{DaysOfTheWeek-D58z_eF3.js → DaysOfTheWeek-C7oN9nIe.js} +3 -3
  50. package/dist/{DaysOfTheWeek-D58z_eF3.js.map → DaysOfTheWeek-C7oN9nIe.js.map} +1 -1
  51. package/dist/DaysOfTheWeek.js +1 -1
  52. package/dist/{Dialog-CD-SDfPT.js → Dialog-dE9c90iR.js} +4 -4
  53. package/dist/{Dialog-CD-SDfPT.js.map → Dialog-dE9c90iR.js.map} +1 -1
  54. package/dist/Dialog.js +1 -1
  55. package/dist/{Drawer-s2y0xcgV.js → Drawer-Dk0MsaOU.js} +3 -3
  56. package/dist/{Drawer-s2y0xcgV.js.map → Drawer-Dk0MsaOU.js.map} +1 -1
  57. package/dist/Drawer.js +1 -1
  58. package/dist/DrillDown.js +1 -1
  59. package/dist/{EditCard-B25pj0Jx.js → EditCard-DV2N7zWr.js} +2 -2
  60. package/dist/{EditCard-B25pj0Jx.js.map → EditCard-DV2N7zWr.js.map} +1 -1
  61. package/dist/EditCard.js +1 -1
  62. package/dist/{FieldLabel-D1qPAGtB.js → FieldLabel-VVn8GR64.js} +3 -3
  63. package/dist/{FieldLabel-D1qPAGtB.js.map → FieldLabel-VVn8GR64.js.map} +1 -1
  64. package/dist/FieldLabel.js +1 -1
  65. package/dist/FilterBar-CXGsoWw5.js +413 -0
  66. package/dist/FilterBar-CXGsoWw5.js.map +1 -0
  67. package/dist/FilterBar.js +1 -1
  68. package/dist/{InputMask-BDl09V4u.js → InputMask-VBHWGZGN.js} +3 -3
  69. package/dist/{InputMask-BDl09V4u.js.map → InputMask-VBHWGZGN.js.map} +1 -1
  70. package/dist/InputMask.js +1 -1
  71. package/dist/{ListView-CcRRh1ap.js → ListView-BUrfz75g.js} +6 -6
  72. package/dist/{ListView-CcRRh1ap.js.map → ListView-BUrfz75g.js.map} +1 -1
  73. package/dist/ListView.js +1 -1
  74. package/dist/{ListView.module-CKUQP3kf.js → ListView.module-DfqtCL3Q.js} +3 -3
  75. package/dist/ListView.module-DfqtCL3Q.js.map +1 -0
  76. package/dist/{Listbox-CvQHBFWb.js → Listbox-CRY-0BkS.js} +2 -2
  77. package/dist/{Listbox-CvQHBFWb.js.map → Listbox-CRY-0BkS.js.map} +1 -1
  78. package/dist/Listbox.js +1 -1
  79. package/dist/{Menu-W0c-xKdX.js → Menu-DNJ0YqjA.js} +11 -7
  80. package/dist/Menu-DNJ0YqjA.js.map +1 -0
  81. package/dist/Menu.js +1 -1
  82. package/dist/MenuFooter-CrsZdXvN.js +115 -0
  83. package/dist/MenuFooter-CrsZdXvN.js.map +1 -0
  84. package/dist/MenuFooter.css +28 -0
  85. package/dist/MultiSelectField.js +1 -1
  86. package/dist/{MultiSelectFieldSync-BMVROOjy.js → MultiSelectFieldSync-CIuy3aRD.js} +64 -79
  87. package/dist/MultiSelectFieldSync-CIuy3aRD.js.map +1 -0
  88. package/dist/MultiSelectFieldSync.css +72 -69
  89. package/dist/MultiSelectMenu.js +1 -1
  90. package/dist/{MultiSelectMenuSync-BNPp_2Bm.js → MultiSelectMenuSync-Drz8SEk9.js} +150 -46
  91. package/dist/MultiSelectMenuSync-Drz8SEk9.js.map +1 -0
  92. package/dist/{NumberField-BymFZhIJ.js → NumberField-bgYX7JGs.js} +3 -3
  93. package/dist/{NumberField-BymFZhIJ.js.map → NumberField-bgYX7JGs.js.map} +1 -1
  94. package/dist/NumberField.js +1 -1
  95. package/dist/{Page-SBy27-Wv.js → Page-BSHydn4p.js} +9 -9
  96. package/dist/{Page-SBy27-Wv.js.map → Page-BSHydn4p.js.map} +1 -1
  97. package/dist/Page.js +1 -1
  98. package/dist/{Pagination-Cm8-K6VH.js → Pagination-CAeyJ7Pl.js} +193 -27
  99. package/dist/Pagination-CAeyJ7Pl.js.map +1 -0
  100. package/dist/Pagination.css +4 -2
  101. package/dist/Pagination.js +1 -1
  102. package/dist/{Popover-8mTJoMy7.js → Popover-Cq5tirFz.js} +11 -5
  103. package/dist/Popover-Cq5tirFz.js.map +1 -0
  104. package/dist/Popover.js +1 -1
  105. package/dist/{ProgressBar-C1CkQHV5.js → ProgressBar-ByR50ln7.js} +2 -2
  106. package/dist/{ProgressBar-C1CkQHV5.js.map → ProgressBar-ByR50ln7.js.map} +1 -1
  107. package/dist/ProgressBar.js +1 -1
  108. package/dist/{Radio-BcHMk8dD.js → Radio-CPuctRpl.js} +2 -2
  109. package/dist/{Radio-BcHMk8dD.js.map → Radio-CPuctRpl.js.map} +1 -1
  110. package/dist/{Radio-D5WyQN2i.js → Radio-WlsZFRzX.js} +3 -3
  111. package/dist/{Radio-D5WyQN2i.js.map → Radio-WlsZFRzX.js.map} +1 -1
  112. package/dist/Radio.js +1 -1
  113. package/dist/{RichTextEditor-DstVbYch.js → RichTextEditor-CoPXdaWI.js} +78 -42
  114. package/dist/RichTextEditor-CoPXdaWI.js.map +1 -0
  115. package/dist/RichTextEditor.js +1 -1
  116. package/dist/SavedFiltersButton-DzJijqHz.js +651 -0
  117. package/dist/SavedFiltersButton-DzJijqHz.js.map +1 -0
  118. package/dist/SavedFiltersButton.css +8 -0
  119. package/dist/SavedFiltersButton.d.ts +1 -0
  120. package/dist/SavedFiltersButton.js +2 -0
  121. package/dist/SavedFiltersButton.js.map +1 -0
  122. package/dist/{SearchField-3tUPU8hH.js → SearchField-BMHJCVFu.js} +2 -2
  123. package/dist/{SearchField-3tUPU8hH.js.map → SearchField-BMHJCVFu.js.map} +1 -1
  124. package/dist/{SearchField-BcQZ5e0x.js → SearchField-fXc_vWEr.js} +2 -2
  125. package/dist/{SearchField-BcQZ5e0x.js.map → SearchField-fXc_vWEr.js.map} +1 -1
  126. package/dist/SearchField.js +1 -1
  127. package/dist/{SelectCard-BN-LI14f.js → SelectCard-DLWLHi_i.js} +3 -3
  128. package/dist/{SelectCard-BN-LI14f.js.map → SelectCard-DLWLHi_i.js.map} +1 -1
  129. package/dist/SelectCard.js +1 -1
  130. package/dist/SelectField.js +1 -1
  131. package/dist/{SelectFieldLabel-UbQT7fDD.js → SelectFieldLabel-vemffdmu.js} +2 -2
  132. package/dist/{SelectFieldLabel-UbQT7fDD.js.map → SelectFieldLabel-vemffdmu.js.map} +1 -1
  133. package/dist/{SelectFieldSync-BeDYbJ2M.js → SelectFieldSync-DlGiJ-Iy.js} +5 -4
  134. package/dist/{SelectFieldSync-BeDYbJ2M.js.map → SelectFieldSync-DlGiJ-Iy.js.map} +1 -1
  135. package/dist/SelectMenu.js +1 -1
  136. package/dist/{SelectMenuSync-C-PFemsQ.js → SelectMenuSync-CAweNjRL.js} +23 -9
  137. package/dist/SelectMenuSync-CAweNjRL.js.map +1 -0
  138. package/dist/{SelectOptions-Tr11Ckqw.js → SelectOptions-BGCap9fZ.js} +2 -2
  139. package/dist/{SelectOptions-Tr11Ckqw.js.map → SelectOptions-BGCap9fZ.js.map} +1 -1
  140. package/dist/{SelectTrigger-DTz7V-Xx.js → SelectTrigger-BbneVXMz.js} +3 -3
  141. package/dist/{SelectTrigger-DTz7V-Xx.js.map → SelectTrigger-BbneVXMz.js.map} +1 -1
  142. package/dist/SelectTrigger.js +1 -1
  143. package/dist/{SelectTriggerBase-Ds6I7Qbr.js → SelectTriggerBase-BjIOERXr.js} +136 -40
  144. package/dist/SelectTriggerBase-BjIOERXr.js.map +1 -0
  145. package/dist/{Switch-onmiKoRd.js → Switch-B6bKmpwN.js} +3 -3
  146. package/dist/{Switch-onmiKoRd.js.map → Switch-B6bKmpwN.js.map} +1 -1
  147. package/dist/Switch.js +1 -1
  148. package/dist/Table.js +1 -1
  149. package/dist/{Text-BTzgTpqu.js → Text-w2gWn4K6.js} +2 -2
  150. package/dist/{Text-BTzgTpqu.js.map → Text-w2gWn4K6.js.map} +1 -1
  151. package/dist/Text.js +1 -1
  152. package/dist/{TextField-WTYZJlX3.js → TextField-BQsCh5Nb.js} +2 -2
  153. package/dist/{TextField-WTYZJlX3.js.map → TextField-BQsCh5Nb.js.map} +1 -1
  154. package/dist/{TextField-rVfctM1E.js → TextField-DJ3gEIP6.js} +3 -3
  155. package/dist/{TextField-rVfctM1E.js.map → TextField-DJ3gEIP6.js.map} +1 -1
  156. package/dist/TextField.js +1 -1
  157. package/dist/{Textarea-PXjppEQ6.js → Textarea-BK4Vf84K.js} +3 -3
  158. package/dist/{Textarea-PXjppEQ6.js.map → Textarea-BK4Vf84K.js.map} +1 -1
  159. package/dist/Textarea.js +1 -1
  160. package/dist/{ThemeProvider-D4KdGCaP.js → ThemeProvider-BC6wbuLU.js} +4 -9
  161. package/dist/{ThemeProvider-D4KdGCaP.js.map → ThemeProvider-BC6wbuLU.js.map} +1 -1
  162. package/dist/ThemeProvider.js +1 -1
  163. package/dist/ThemeProvider.module-D9pNGYjP.js +8 -0
  164. package/dist/ThemeProvider.module-D9pNGYjP.js.map +1 -0
  165. package/dist/{TimeField-BJPXIv6W.js → TimeField-B4IW2B_o.js} +4 -4
  166. package/dist/{TimeField-BJPXIv6W.js.map → TimeField-B4IW2B_o.js.map} +1 -1
  167. package/dist/TimeField.js +1 -1
  168. package/dist/Toast.js +2 -2
  169. package/dist/{Toaster-CoChsMD0.js → Toaster-BGY2IzF5.js} +53 -48
  170. package/dist/Toaster-BGY2IzF5.js.map +1 -0
  171. package/dist/{Toaster-DXLc86VD.js → Toaster-DTF9qnTy.js} +2 -2
  172. package/dist/{Toaster-DXLc86VD.js.map → Toaster-DTF9qnTy.js.map} +1 -1
  173. package/dist/{Toolbar-Bt3kShho.js → Toolbar-DObrJ_S5.js} +5 -4
  174. package/dist/{Toolbar-Bt3kShho.js.map → Toolbar-DObrJ_S5.js.map} +1 -1
  175. package/dist/{Toolbar-BUd9eNkq.js → Toolbar-DRJGKk8D.js} +7 -6
  176. package/dist/{Toolbar-BUd9eNkq.js.map → Toolbar-DRJGKk8D.js.map} +1 -1
  177. package/dist/Toolbar.js +2 -2
  178. package/dist/{ToolbarButtonToggle-C06cqJ6F.js → ToolbarButtonToggle-BCKgA8FE.js} +5 -4
  179. package/dist/ToolbarButtonToggle-BCKgA8FE.js.map +1 -0
  180. package/dist/{Tooltip-yr1D06BE.js → Tooltip-DqS6xDUf.js} +27 -25
  181. package/dist/Tooltip-DqS6xDUf.js.map +1 -0
  182. package/dist/Tooltip.js +1 -1
  183. package/dist/TreeSelectField.d.ts +1 -0
  184. package/dist/TreeSelectField.js +2 -0
  185. package/dist/TreeSelectField.js.map +1 -0
  186. package/dist/TreeSelectFieldSync-Do5ffU0b.js +609 -0
  187. package/dist/TreeSelectFieldSync-Do5ffU0b.js.map +1 -0
  188. package/dist/TreeSelectFieldSync.css +173 -0
  189. package/dist/TreeSelectMenu.d.ts +1 -0
  190. package/dist/TreeSelectMenu.js +2 -0
  191. package/dist/TreeSelectMenu.js.map +1 -0
  192. package/dist/TreeSelectMenuSync-s05Ly6lj.js +413 -0
  193. package/dist/TreeSelectMenuSync-s05Ly6lj.js.map +1 -0
  194. package/dist/{YearlessDateInputWithPicker-BIcVgz-J.js → YearlessDateInputWithPicker-BHfFjCqE.js} +2 -2
  195. package/dist/{YearlessDateInputWithPicker-BIcVgz-J.js.map → YearlessDateInputWithPicker-BHfFjCqE.js.map} +1 -1
  196. package/dist/beta.js +15 -12
  197. package/dist/beta.js.map +1 -1
  198. package/dist/confirmationTypes-CG7xl50f.js +75 -0
  199. package/dist/confirmationTypes-CG7xl50f.js.map +1 -0
  200. package/dist/filter-state-DyMDjdRS.js +1867 -0
  201. package/dist/filter-state-DyMDjdRS.js.map +1 -0
  202. package/dist/{FilterBar.css → filter-state.css} +19 -33
  203. package/dist/{floating-ui.react-dom-CHrYz13o.js → floating-ui.react-dom-BIKT960u.js} +2 -2
  204. package/dist/{floating-ui.react-dom-CHrYz13o.js.map → floating-ui.react-dom-BIKT960u.js.map} +1 -1
  205. package/dist/{index-DVYRUKtW.js → index-fSKD4ey4.js} +79 -109
  206. package/dist/{index-DVYRUKtW.js.map → index-fSKD4ey4.js.map} +1 -1
  207. package/dist/index.js +43 -44
  208. package/dist/index.js.map +1 -1
  209. package/dist/keyboard_arrow_left-CiE1n99w.js +6 -0
  210. package/dist/keyboard_arrow_left-CiE1n99w.js.map +1 -0
  211. package/dist/keyboard_arrow_right-DMloHg_F.js +6 -0
  212. package/dist/keyboard_arrow_right-DMloHg_F.js.map +1 -0
  213. package/dist/portalScopeClassNames-jlZkdug_.js +7 -0
  214. package/dist/portalScopeClassNames-jlZkdug_.js.map +1 -0
  215. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -10
  216. package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +15 -5
  217. package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +34 -29
  218. package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +31 -22
  219. package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -1
  220. package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +4 -12
  221. package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +29 -0
  222. package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +86 -0
  223. package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +29 -0
  224. package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +2 -2
  225. package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +50 -0
  226. package/dist/src/beta/components/FilterBar/index.d.ts +1 -1
  227. package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +5 -9
  228. package/dist/src/beta/components/FilterBar/internal/adapters/asyncMultiSelect.d.ts +6 -0
  229. package/dist/src/beta/components/FilterBar/internal/adapters/asyncSelect.d.ts +6 -0
  230. package/dist/src/beta/components/FilterBar/internal/adapters/asyncTree.d.ts +6 -0
  231. package/dist/src/beta/components/FilterBar/internal/adapters/boolean.d.ts +3 -0
  232. package/dist/src/beta/components/FilterBar/internal/adapters/custom.d.ts +3 -0
  233. package/dist/src/beta/components/FilterBar/internal/adapters/date.d.ts +5 -0
  234. package/dist/src/beta/components/FilterBar/internal/adapters/dateList.d.ts +5 -0
  235. package/dist/src/beta/components/FilterBar/internal/adapters/dateRange.d.ts +8 -0
  236. package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +15 -0
  237. package/dist/src/beta/components/FilterBar/internal/adapters/multiSelect.d.ts +6 -0
  238. package/dist/src/beta/components/FilterBar/internal/adapters/numericRange.d.ts +3 -0
  239. package/dist/src/beta/components/FilterBar/internal/adapters/singleSelect.d.ts +6 -0
  240. package/dist/src/beta/components/FilterBar/internal/adapters/textInput.d.ts +3 -0
  241. package/dist/src/beta/components/FilterBar/internal/adapters/tree.d.ts +6 -0
  242. package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +81 -0
  243. package/dist/src/beta/components/FilterBar/internal/types.d.ts +223 -61
  244. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +2 -2
  245. package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +2 -40
  246. package/dist/src/beta/components/FilterBar/internal/utils/test.d.ts +16 -28
  247. package/dist/src/beta/components/FilterBar/internal/utils/value-compare.d.ts +14 -0
  248. package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  249. package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  250. package/dist/src/beta/components/MultiSelectField/internal/types.d.ts +4 -2
  251. package/dist/src/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +7 -5
  252. package/dist/src/beta/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +5 -2
  253. package/dist/src/beta/components/MultiSelectField/types.d.ts +21 -36
  254. package/dist/src/beta/components/MultiSelectMenu/MultiSelectMenu.d.ts +1 -0
  255. package/dist/src/beta/components/MultiSelectMenu/types.d.ts +52 -12
  256. package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +40 -0
  257. package/dist/src/beta/components/SavedFiltersButton/index.d.ts +2 -0
  258. package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +27 -0
  259. package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +38 -0
  260. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +147 -0
  261. package/dist/src/beta/components/SelectField/types.d.ts +7 -11
  262. package/dist/src/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +8 -1
  263. package/dist/src/beta/components/SelectMenu/types.d.ts +21 -1
  264. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +4 -6
  265. package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +6 -1
  266. package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +6 -0
  267. package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -11
  268. package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +0 -2
  269. package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +1 -0
  270. package/dist/src/beta/components/Table/DataTable/types.d.ts +43 -10
  271. package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +3 -2
  272. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +68 -0
  273. package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +64 -0
  274. package/dist/src/beta/components/TreeSelectField/index.d.ts +3 -0
  275. package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +31 -0
  276. package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +56 -0
  277. package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +56 -0
  278. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +82 -0
  279. package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +57 -0
  280. package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +33 -0
  281. package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +25 -0
  282. package/dist/src/beta/components/TreeSelectField/internal/types.d.ts +12 -0
  283. package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +99 -0
  284. package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +93 -0
  285. package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +42 -0
  286. package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +56 -0
  287. package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +58 -0
  288. package/dist/src/beta/components/TreeSelectField/stories/TreeSelectField.stories.data.d.ts +21 -0
  289. package/dist/src/beta/components/TreeSelectField/types.d.ts +124 -0
  290. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +29 -0
  291. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +65 -0
  292. package/dist/src/beta/components/TreeSelectMenu/index.d.ts +4 -0
  293. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +103 -0
  294. package/dist/src/beta/components/index.d.ts +3 -0
  295. package/dist/src/components/Pagination/internal/Pagination.d.ts +1 -0
  296. package/dist/src/components/Pagination/internal/PaginationOverflowMenu.d.ts +12 -1
  297. package/dist/src/internal/components/MenuFooter/MenuFooter.d.ts +43 -0
  298. package/dist/src/internal/components/OptionCheckbox.d.ts +6 -0
  299. package/dist/src/internal/components/OptionContentArea.d.ts +8 -0
  300. package/dist/src/internal/components/OptionRow.d.ts +10 -0
  301. package/dist/src/internal/components/OptionsPopover/OptionsPopover.d.ts +4 -4
  302. package/dist/src/internal/functions/portalScopeClassNames.d.ts +14 -0
  303. package/dist/src/internal/hooks/index.d.ts +2 -0
  304. package/dist/src/internal/hooks/useBulkActionRunner.d.ts +41 -0
  305. package/dist/src/internal/hooks/useConfirmationDraft.d.ts +21 -0
  306. package/dist/src/internal/types/bulkActionTypes.d.ts +39 -0
  307. package/dist/src/internal/types/confirmationTypes.d.ts +19 -0
  308. package/dist/src/internal/types/optionContent.d.ts +19 -0
  309. package/dist/src/internal/types/selectFieldInternalTypes.d.ts +2 -0
  310. package/dist/src/internal/utils/arrayIdsEqual.d.ts +10 -0
  311. package/dist/src/internal/utils/index.d.ts +1 -0
  312. package/dist/{stripInlineMarkdown-C5DNxxwf.js → stripInlineMarkdown-C0bVmYgG.js} +2 -2
  313. package/dist/{stripInlineMarkdown-C5DNxxwf.js.map → stripInlineMarkdown-C0bVmYgG.js.map} +1 -1
  314. package/dist/{syncFilterUtils-COxBIkt6.js → syncFilterUtils-DZqeVWTS.js} +49 -385
  315. package/dist/syncFilterUtils-DZqeVWTS.js.map +1 -0
  316. package/dist/syncFilterUtils.css +21 -164
  317. package/dist/treeSync-Cz3H08cr.js +1453 -0
  318. package/dist/treeSync-Cz3H08cr.js.map +1 -0
  319. package/dist/treeSync.css +40 -0
  320. package/dist/useAdaptiveView-CeYKH0Me.js +386 -0
  321. package/dist/useAdaptiveView-CeYKH0Me.js.map +1 -0
  322. package/dist/useAdaptiveView.css +181 -0
  323. package/dist/useChipLayout-BWZfKDgd.js +51 -0
  324. package/dist/useChipLayout-BWZfKDgd.js.map +1 -0
  325. package/dist/{useDrilldown-KZ9rRsXQ.js → useDrilldown-BJ2dHHKV.js} +2 -2
  326. package/dist/{useDrilldown-KZ9rRsXQ.js.map → useDrilldown-BJ2dHHKV.js.map} +1 -1
  327. package/dist/{Combobox-Cp7M4-4r.js → useInfiniteCombobox-C6TDFfds.js} +206 -31
  328. package/dist/useInfiniteCombobox-C6TDFfds.js.map +1 -0
  329. package/dist/{useMenuInteraction-C4RU5Fdq.js → useMenuInteraction-NEJXUD4I.js} +5 -4
  330. package/dist/useMenuInteraction-NEJXUD4I.js.map +1 -0
  331. package/dist/{useToggleSelection-B5PnTuT2.js → useToggleSelection-Bn7h-gGD.js} +53 -4
  332. package/dist/useToggleSelection-Bn7h-gGD.js.map +1 -0
  333. package/package.json +3 -5
  334. package/dist/Avatar-FDHyqiCy.js.map +0 -1
  335. package/dist/Combobox-Cp7M4-4r.js.map +0 -1
  336. package/dist/DataTable-0kOuVgSB.js.map +0 -1
  337. package/dist/DateFieldRange-Be_I9GTp.js.map +0 -1
  338. package/dist/FilterBar-yysyZ-t1.js +0 -1797
  339. package/dist/FilterBar-yysyZ-t1.js.map +0 -1
  340. package/dist/ListView.module-CKUQP3kf.js.map +0 -1
  341. package/dist/Menu-W0c-xKdX.js.map +0 -1
  342. package/dist/MultiSelectFieldSync-BMVROOjy.js.map +0 -1
  343. package/dist/MultiSelectMenuSync-BNPp_2Bm.js.map +0 -1
  344. package/dist/Pagination-Cm8-K6VH.js.map +0 -1
  345. package/dist/Popover-8mTJoMy7.js.map +0 -1
  346. package/dist/RichTextEditor-DstVbYch.js.map +0 -1
  347. package/dist/SelectMenuSync-C-PFemsQ.js.map +0 -1
  348. package/dist/SelectTriggerBase-Ds6I7Qbr.js.map +0 -1
  349. package/dist/Toaster-CoChsMD0.js.map +0 -1
  350. package/dist/ToolbarButtonToggle-C06cqJ6F.js.map +0 -1
  351. package/dist/Tooltip-yr1D06BE.js.map +0 -1
  352. package/dist/keyboard_arrow_right-DZWNVytH.js +0 -8
  353. package/dist/keyboard_arrow_right-DZWNVytH.js.map +0 -1
  354. package/dist/src/beta/components/FilterBar/FilterButton.d.ts +0 -33
  355. package/dist/src/beta/components/FilterBar/FilterSelect.d.ts +0 -29
  356. package/dist/syncFilterUtils-COxBIkt6.js.map +0 -1
  357. package/dist/useInfiniteCombobox-WcRgC9p6.js +0 -179
  358. package/dist/useInfiniteCombobox-WcRgC9p6.js.map +0 -1
  359. package/dist/useMenuInteraction-C4RU5Fdq.js.map +0 -1
  360. package/dist/useToggleSelection-B5PnTuT2.js.map +0 -1
  361. /package/dist/{Combobox.css → useInfiniteCombobox.css} +0 -0
@@ -0,0 +1,86 @@
1
+ import { ReactNode } from 'react';
2
+ import { Filter } from './internal/types';
3
+ /**
4
+ * Render-prop ctx passed to FilterPopoverButton's children. The `custom`
5
+ * adapter (and any consumer using a `custom` filter) uses this to receive the
6
+ * draft (or committed) value and an `onChange` for its rendered body.
7
+ *
8
+ * When commitOnSelect is false (the default), `value` is the in-progress draft
9
+ * and `onChange` updates it; the user must click Apply for it to commit.
10
+ *
11
+ * When commitOnSelect is true, `value` is the filter's currently-committed
12
+ * value and `onChange` commits immediately (and closes the popover).
13
+ */
14
+ export type FilterPopoverButtonRenderCtx<V = unknown> = {
15
+ value: V;
16
+ onChange: (value: V) => void;
17
+ };
18
+ /**
19
+ * Base props shared by both commit modes. `commitOnSelect` is left out so each
20
+ * variant can refine it as a literal; that's what lets `initialValue` be required
21
+ * for the draft branch and absent for the commit-on-select branch.
22
+ */
23
+ type FilterPopoverButtonBaseProps<V> = {
24
+ /** The filter being edited. Used for id and dispatching commits. */
25
+ filter: Filter;
26
+ /** Trigger button label. Adapters typically pass adapter.formatLabel(filter). */
27
+ label: ReactNode;
28
+ /** Whether the filter currently has a non-default value (drives selected styling). */
29
+ isSelected: boolean;
30
+ /**
31
+ * The filter's currently-committed value. Used to seed the draft on open and
32
+ * to detect parent-provided changes mid-open. Adapters typically pass
33
+ * adapter.getValue(filter).
34
+ */
35
+ committedValue: V;
36
+ /** Body content as a render-prop. Receives draft (or live) value + onChange. */
37
+ children: (ctx: FilterPopoverButtonRenderCtx<V>) => ReactNode;
38
+ };
39
+ /**
40
+ * Draft-mode props: requires `initialValue` so each consumer declares what
41
+ * "empty draft" means for its V (e.g. an array-shaped custom filter passes
42
+ * `[]`, a nullable scalar passes `null`). Eliminates the `[] as unknown as V`
43
+ * cast and forces non-nullable V consumers to opt in explicitly.
44
+ */
45
+ type DraftModeProps<V> = FilterPopoverButtonBaseProps<V> & {
46
+ commitOnSelect?: false;
47
+ /**
48
+ * Initial draft value used until the popover opens and the draft is seeded
49
+ * from `committedValue`. Each adapter owns the empty-state for its V.
50
+ */
51
+ initialValue: V;
52
+ /**
53
+ * If true, in uncontrolled mode the popover stays open after a body change
54
+ * instead of closing — for multi-selection workflows.
55
+ * @default false
56
+ */
57
+ keepOpenOnUncontrolledChange?: boolean;
58
+ };
59
+ /**
60
+ * Commit-on-select props: no draft state exists, so `initialValue` and
61
+ * `keepOpenOnUncontrolledChange` don't apply.
62
+ */
63
+ type CommitOnSelectProps<V> = FilterPopoverButtonBaseProps<V> & {
64
+ commitOnSelect: true;
65
+ };
66
+ type FilterPopoverButtonProps<V> = DraftModeProps<V> | CommitOnSelectProps<V>;
67
+ /**
68
+ * FilterPopoverButton is the popover-based trigger primitive used by the
69
+ * `custom` filter adapter (and anything else that needs to render an
70
+ * adapter-agnostic popover body with draft / Apply-Cancel semantics).
71
+ *
72
+ * Other filter types (`singleSelect`, `multiSelect`, `asyncSelect`,
73
+ * `asyncMultiSelect`, `date`, `dateRange`, `dateList`) compose menu primitives
74
+ * (`SelectMenu`, `MultiSelectMenu`) or their own popover shells directly and
75
+ * do not go through this component.
76
+ *
77
+ * It owns:
78
+ * - The trigger button (label + icon + selected state)
79
+ * - The OptionsPopover wrapper (open state, outside-press handling)
80
+ * - When commitOnSelect is false: draft state + MenuFooter Apply/Cancel chrome
81
+ *
82
+ * The body is supplied via render-prop children, which receive the
83
+ * appropriate value + onChange for the current commit mode.
84
+ */
85
+ export declare const FilterPopoverButton: <V>(props: FilterPopoverButtonProps<V>) => import("react/jsx-runtime").JSX.Element;
86
+ export {};
@@ -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 {};
@@ -13,12 +13,12 @@ export type FilterToggleButtonProps = Omit<ToolbarButtonToggleProps, "checked">
13
13
  children: React.ReactNode;
14
14
  };
15
15
  /**
16
- * FilterToggleButton wraps ToolbarButtonToggle in a FilterItemWrapper for consistent overflow behavior with other filter types.
16
+ * FilterToggleButton wraps ToolbarButtonToggle in a FilterItemWrapper for
17
+ * consistent rendering with other filter types.
17
18
  * Built into FilterGroup for boolean filter rendering.
18
19
  *
19
20
  * Features:
20
21
  * - Renders a toggle button for boolean filters
21
- * - Integrates with FilterGroup and FilterItemWrapper for overflow handling
22
22
  * - Supports accessibility and keyboard navigation
23
23
  */
24
24
  export declare const FilterToggleButton: ({ id, checked, children, ...props }: FilterToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,50 @@
1
+ import { ReactNode } from 'react';
2
+ import { ButtonProps } from '../../../components/Button';
3
+ /**
4
+ * Props that drive the visual identity of a filter's bar trigger — shared by
5
+ * any popover/menu primitive that wants the standard filter-trigger styling.
6
+ *
7
+ * All other Button props (ref, onClick, onKeyDown, aria-*, data-state, …) are
8
+ * accepted via spread, which lets this component slot underneath any menu
9
+ * primitive's trigger render-prop (`SelectMenu`, `MultiSelectMenu`,
10
+ * `FilterDateSingle` / `FilterDateRange`'s popover shell) or, for `custom`,
11
+ * `FilterPopoverButton`'s `Popover.Button`.
12
+ */
13
+ export type FilterTriggerButtonProps = Omit<ButtonProps, "children" | "icon"> & {
14
+ /** Filter id — emitted as `data-id` for test selectors and analytics. */
15
+ filterId: string;
16
+ /** Label content rendered inside the button. */
17
+ label: ReactNode;
18
+ /** Whether the filter has a committed selection (drives the selected-state class). */
19
+ isSelected: boolean;
20
+ /**
21
+ * Trigger icon.
22
+ * - `calendar` → leading Event icon (used by date-shaped filters)
23
+ * - `dropdown` → trailing chevron (default)
24
+ * @default "dropdown"
25
+ */
26
+ icon?: "calendar" | "dropdown";
27
+ };
28
+ /**
29
+ * FilterTriggerButton is the styled trigger primitive used by every popover-
30
+ * or menu-based filter type. It owns the visual identity (ghost appearance,
31
+ * toolbar-sized, selected-state, dropdown/calendar icon, data-id) and nothing
32
+ * else — open state and popover wiring belong to whatever component composes
33
+ * it (a menu's trigger render-prop, the date popover shells, or
34
+ * `FilterPopoverButton` for `custom`).
35
+ */
36
+ export declare const FilterTriggerButton: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "children" | "icon"> & {
37
+ /** Filter id — emitted as `data-id` for test selectors and analytics. */
38
+ filterId: string;
39
+ /** Label content rendered inside the button. */
40
+ label: ReactNode;
41
+ /** Whether the filter has a committed selection (drives the selected-state class). */
42
+ isSelected: boolean;
43
+ /**
44
+ * Trigger icon.
45
+ * - `calendar` → leading Event icon (used by date-shaped filters)
46
+ * - `dropdown` → trailing chevron (default)
47
+ * @default "dropdown"
48
+ */
49
+ icon?: "calendar" | "dropdown";
50
+ } & import('react').RefAttributes<HTMLButtonElement>>;
@@ -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 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';
@@ -19,18 +19,14 @@ type FilterGroupContextProps = FilterBarProps & {
19
19
  * @default () => {}
20
20
  */
21
21
  updateFilter: (filterId: string, value: FilterValue, submit: boolean) => void;
22
- /** Array of filters that are currently hidden due to overflow
22
+ /** Filters configured as drawer-only never rendered inline in the toolbar
23
23
  * @default []
24
24
  */
25
- hiddenFilters: Filter[];
26
- /** Function to mark a filter as hidden
27
- * @default () => {}
28
- */
29
- addHiddenFilter: (filter: Filter) => void;
30
- /** Function to mark a filter as visible
31
- * @default () => {}
25
+ drawerOnlyFilters: Filter[];
26
+ /** Whether the container is wide enough to render filters inline in the toolbar
27
+ * @default false
32
28
  */
33
- removeHiddenFilter: (filter: Filter) => void;
29
+ showInlineFilters: boolean;
34
30
  };
35
31
  /**
36
32
  * Context provider for filter-related operations
@@ -0,0 +1,6 @@
1
+ import { MultiSelectMenuOption } from '../../../MultiSelectMenu';
2
+ import { AsyncMultiSelectFilter } from '../types';
3
+ import { FilterTypeAdapter } from './types';
4
+ type Value = MultiSelectMenuOption[];
5
+ export declare const asyncMultiSelectAdapter: FilterTypeAdapter<AsyncMultiSelectFilter, Value>;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { SelectMenuOption } from '../../../SelectMenu';
2
+ import { AsyncSelectFilter } from '../types';
3
+ import { FilterTypeAdapter } from './types';
4
+ type Value = SelectMenuOption | undefined;
5
+ export declare const asyncSelectAdapter: FilterTypeAdapter<AsyncSelectFilter, Value>;
6
+ export {};
@@ -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 { BooleanFilter } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ export declare const booleanAdapter: FilterTypeAdapter<BooleanFilter, boolean>;
@@ -0,0 +1,3 @@
1
+ import { CustomFilter } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ export declare const customAdapter: FilterTypeAdapter<CustomFilter<unknown>, unknown>;
@@ -0,0 +1,5 @@
1
+ import { DateFilter } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ type Value = string | null;
4
+ export declare const dateAdapter: FilterTypeAdapter<DateFilter, Value>;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ import { DateListFilter, DateListOption } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ type Value = DateListOption | undefined;
4
+ export declare const dateListAdapter: FilterTypeAdapter<DateListFilter, Value>;
5
+ export {};
@@ -0,0 +1,8 @@
1
+ import { DateRangeFilter } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ type Value = {
4
+ startDate: string | null;
5
+ endDate: string | null;
6
+ } | null;
7
+ export declare const dateRangeAdapter: FilterTypeAdapter<DateRangeFilter, Value>;
8
+ export {};
@@ -0,0 +1,15 @@
1
+ import { Filter } from '../types';
2
+ import { FilterAdapters, FilterTypeAdapter } from './types';
3
+ /**
4
+ * Per-type adapters keyed by Filter["type"]. Exhaustive: adding a new Filter
5
+ * variant forces a compile error here until an adapter is provided.
6
+ */
7
+ export declare const filterAdapters: FilterAdapters;
8
+ /**
9
+ * Looks up the adapter for a given filter. The returned adapter's F and V
10
+ * are widened to Filter / unknown — callers that need narrow typing should pass
11
+ * the filter directly through the adapter methods, which preserves variance.
12
+ * Falls back to a no-op adapter for unknown filter types.
13
+ */
14
+ export declare const getAdapter: (filter: Filter) => FilterTypeAdapter<Filter, unknown>;
15
+ export type { FilterTypeAdapter } from './types';
@@ -0,0 +1,6 @@
1
+ import { MultiSelectMenuOption } from '../../../MultiSelectMenu';
2
+ import { MultiSelectFilter } from '../types';
3
+ import { FilterTypeAdapter } from './types';
4
+ type Value = MultiSelectMenuOption[];
5
+ export declare const multiSelectAdapter: FilterTypeAdapter<MultiSelectFilter, Value>;
6
+ export {};
@@ -0,0 +1,3 @@
1
+ import { NumericRangeFilter, NumericRangeValue } from '../types';
2
+ import { FilterTypeAdapter } from './types';
3
+ export declare const numericRangeAdapter: FilterTypeAdapter<NumericRangeFilter, NumericRangeValue>;
@@ -0,0 +1,6 @@
1
+ import { SelectMenuOption } from '../../../SelectMenu';
2
+ import { SingleSelectFilter } from '../types';
3
+ import { FilterTypeAdapter } from './types';
4
+ type Value = SelectMenuOption | undefined;
5
+ export declare const singleSelectAdapter: FilterTypeAdapter<SingleSelectFilter, 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 {};
@@ -0,0 +1,81 @@
1
+ import { ReactNode } from 'react';
2
+ import { AsyncMultiSelectFilter, AsyncSelectFilter, BooleanFilter, CustomFilter, DateFilter, DateListFilter, DateListLibraryOptionId, DateRangeFilter, Filter, MultiSelectFilter, NumericRangeFilter, SingleSelectFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
3
+ /**
4
+ * Context passed to renderBarControl — the inline FilterBar control for a filter.
5
+ *
6
+ * `controlledFiltering` mirrors the FilterBar prop of the same name: when true,
7
+ * select-style adapters should opt their underlying menu into confirmation mode
8
+ * (clicks update a draft, Apply commits, dismiss cancels).
9
+ */
10
+ export type BarControlRenderCtx<F extends Filter> = {
11
+ filter: F;
12
+ updateFilter: (filterId: string, value: unknown, submit: boolean) => void;
13
+ controlledFiltering: boolean;
14
+ };
15
+ /**
16
+ * Context passed to renderDrawer — the FilterDrawer form control for a filter.
17
+ * Receives both the draft filter (with current draft selection) and the
18
+ * original filter (for stable references to consumer-supplied data).
19
+ *
20
+ * `requestDateListDialog` is provided so the dateList adapter can ask the drawer
21
+ * to open its shared DateListDialog when a library option is picked.
22
+ */
23
+ export type DrawerRenderCtx<F extends Filter> = {
24
+ originalFilter: F;
25
+ draftFilter: F;
26
+ onDraftChange: (filterId: string, value: unknown) => void;
27
+ requestDateListDialog: (filterId: string, libraryId: DateListLibraryOptionId) => void;
28
+ };
29
+ /**
30
+ * Per-filter-type adapter. Each filter variant contributes one adapter
31
+ * implementing every operation FilterBar / FilterDrawer need.
32
+ *
33
+ * F = the specific Filter variant
34
+ * V = the value type (what getValue / setValue traffic in)
35
+ *
36
+ * `renderBarControl` returns the complete inline UI for this filter type.
37
+ * Most adapters compose `SelectMenu` / `MultiSelectMenu` (or one of the
38
+ * filter-specific shells like `FilterDateSingle`) directly, supplying the
39
+ * trigger via render-prop. The `custom` adapter composes `FilterPopoverButton`
40
+ * for fully consumer-rendered popover bodies; `boolean` uses a toggle button
41
+ * with no popover at all. The adapter type itself stays agnostic about UI
42
+ * shape.
43
+ */
44
+ export type FilterTypeAdapter<F extends Filter, V> = {
45
+ getValue: (filter: F) => V;
46
+ setValue: (filter: F, value: V) => F;
47
+ reset: (filter: F) => F;
48
+ isActive: (filter: F) => boolean;
49
+ preserveState: (newFilter: F, existingFilter: F) => F;
50
+ cloneWithItemRefs: (filter: F) => F;
51
+ renderBarControl: (ctx: BarControlRenderCtx<F>) => ReactNode;
52
+ renderDrawer: (ctx: DrawerRenderCtx<F>) => ReactNode;
53
+ formatLabel: (filter: F) => ReactNode;
54
+ isSelected: (filter: F) => boolean;
55
+ };
56
+ /**
57
+ * Map from a Filter's `type` discriminant to its specific variant.
58
+ * Used to keep the adapter map exhaustive at the type level.
59
+ */
60
+ export type FilterVariantMap = {
61
+ boolean: BooleanFilter;
62
+ custom: CustomFilter<any>;
63
+ singleSelect: SingleSelectFilter;
64
+ multiSelect: MultiSelectFilter;
65
+ date: DateFilter;
66
+ dateRange: DateRangeFilter;
67
+ dateList: DateListFilter;
68
+ asyncSelect: AsyncSelectFilter;
69
+ asyncMultiSelect: AsyncMultiSelectFilter;
70
+ tree: TreeFilter;
71
+ asyncTree: AsyncTreeFilter;
72
+ numericRange: NumericRangeFilter;
73
+ textInput: TextInputFilter;
74
+ };
75
+ /**
76
+ * Exhaustive map from Filter["type"] to its adapter. Forces compile-time
77
+ * completeness when a new filter type is added.
78
+ */
79
+ export type FilterAdapters = {
80
+ [K in keyof FilterVariantMap]: FilterTypeAdapter<FilterVariantMap[K], any>;
81
+ };