@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
@@ -1,29 +1,33 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useMemo, forwardRef, createElement, createContext, useRef, useId, useState, useContext, useEffect, useCallback } from 'react';
3
- import { C as Chip } from './Chip-D2k5X_wX.js';
4
- import { d as ToolbarItemWrapper, u as useToolbarSize, T as ToolbarButtonToggle } from './ToolbarButtonToggle-BPu81Wuv.js';
3
+ import { C as Chip } from './Chip-CyMNyEPR.js';
4
+ import { d as ToolbarItemWrapper, u as useToolbarSize, T as ToolbarButtonToggle } from './ToolbarButtonToggle-BCKgA8FE.js';
5
5
  import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
6
6
  import { S as SvgEvent } from './TimezoneMessage-BrKB_psP.js';
7
7
  import { c as cx } from './index-De1g9FRV.js';
8
8
  import { B as Button } from './Button-C_V2xQAs.js';
9
- import { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CXX2F0ru.js';
10
- import { M as MultiSelectMenu, u as useConfirmationDraft, a as MultiSelectMenuSync } from './MultiSelectMenuSync-EKtvlL62.js';
11
- import { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DykGkR_w.js';
12
- import { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-DTQ8Ofoz.js';
13
- import { C as Checkbox } from './Checkbox-BeIzx_ZX.js';
14
- import { f as OptionsPopover } from './syncFilterUtils-BEKek64h.js';
15
- import { M as MenuFooter } from './useMenuInteraction-CpAOHSJu.js';
9
+ import { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CIuy3aRD.js';
10
+ import { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-Drz8SEk9.js';
11
+ import { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DlGiJ-Iy.js';
12
+ import { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-CAweNjRL.js';
13
+ import { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-Do5ffU0b.js';
14
+ import { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-s05Ly6lj.js';
15
+ import { C as Checkbox } from './Checkbox-BYWhkYoK.js';
16
+ import { a as OptionsPopover } from './useAdaptiveView-CeYKH0Me.js';
17
+ import { M as MenuFooter } from './MenuFooter-CrsZdXvN.js';
16
18
  import { D as DateTime } from './luxon-wpz4A-OQ.js';
17
- import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-h3YkdwPo.js';
19
+ import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-DR7faQGD.js';
18
20
  import { F as Flex } from './Flex-_orhvoxS.js';
19
- import { D as Dialog } from './Dialog-CvYSMvfD.js';
20
- import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-BN_uIvHI.js';
21
+ import { u as useConfirmationDraft } from './confirmationTypes-CG7xl50f.js';
22
+ import { D as Dialog } from './Dialog-dE9c90iR.js';
23
+ import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-BUug1tUy.js';
21
24
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
22
- import { F as FieldLabel } from './FieldLabel-D1qPAGtB.js';
25
+ import { F as FieldLabel } from './FieldLabel-VVn8GR64.js';
23
26
  import { G as Grid } from './Grid-BAN8WD_V.js';
24
- import { N as NumberField } from './NumberField-BymFZhIJ.js';
25
- import { T as Text } from './Text-BTzgTpqu.js';
26
- import { R as Radio } from './Radio-BcHMk8dD.js';
27
+ import { N as NumberField } from './NumberField-bgYX7JGs.js';
28
+ import { T as Text } from './Text-w2gWn4K6.js';
29
+ import { R as Radio } from './Radio-CPuctRpl.js';
30
+ import { T as TextField } from './TextField-BQsCh5Nb.js';
27
31
 
28
32
  import './filter-state.css';const FilterItemWrapper = ({ children }) => {
29
33
  const props = useMemo(
@@ -76,8 +80,8 @@ const FilterTriggerButton = forwardRef(function FilterTriggerButton2({ filterId,
76
80
  );
77
81
  });
78
82
 
79
- const isSelected$6 = (filter) => !!filter.selectedOptions && filter.selectedOptions.length > 0;
80
- const formatLabel$8 = (filter) => {
83
+ const isSelected$9 = (filter) => !!filter.selectedOptions && filter.selectedOptions.length > 0;
84
+ const formatLabel$b = (filter) => {
81
85
  const count = filter.selectedOptions?.length ?? 0;
82
86
  if (count === 0) return filter.label;
83
87
  const countLabel = count.toString();
@@ -94,7 +98,7 @@ const formatLabel$8 = (filter) => {
94
98
  )
95
99
  ] });
96
100
  };
97
- const passThroughMenuProps$3 = (filter) => {
101
+ const passThroughMenuProps$5 = (filter) => {
98
102
  const {
99
103
  id: _id,
100
104
  label: _label,
@@ -109,7 +113,7 @@ const asyncMultiSelectAdapter = {
109
113
  getValue: (filter) => filter.selectedOptions ?? [],
110
114
  setValue: (filter, value) => ({ ...filter, selectedOptions: value }),
111
115
  reset: (filter) => ({ ...filter, selectedOptions: [] }),
112
- isActive: isSelected$6,
116
+ isActive: isSelected$9,
113
117
  preserveState: (newFilter, existingFilter) => ({
114
118
  ...newFilter,
115
119
  selectedOptions: existingFilter.selectedOptions
@@ -119,7 +123,7 @@ const asyncMultiSelectAdapter = {
119
123
  renderBarControl: ({ filter, updateFilter, controlledFiltering }) => /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
120
124
  MultiSelectMenu,
121
125
  {
122
- ...passThroughMenuProps$3(filter),
126
+ ...passThroughMenuProps$5(filter),
123
127
  id: filter.id,
124
128
  label: filter.label,
125
129
  value: filter.selectedOptions ?? [],
@@ -133,8 +137,8 @@ const asyncMultiSelectAdapter = {
133
137
  {
134
138
  ...triggerProps,
135
139
  filterId: filter.id,
136
- label: formatLabel$8(filter),
137
- isSelected: isSelected$6(filter)
140
+ label: formatLabel$b(filter),
141
+ isSelected: isSelected$9(filter)
138
142
  }
139
143
  )
140
144
  }
@@ -142,25 +146,25 @@ const asyncMultiSelectAdapter = {
142
146
  renderDrawer: ({ originalFilter, draftFilter, onDraftChange }) => /* @__PURE__ */ createElement(
143
147
  MultiSelectField,
144
148
  {
145
- ...passThroughMenuProps$3(originalFilter),
149
+ ...passThroughMenuProps$5(originalFilter),
146
150
  key: draftFilter.id,
147
151
  label: originalFilter.label,
148
152
  value: draftFilter.selectedOptions ?? [],
149
153
  onSelectedOptionsChange: (options) => onDraftChange(draftFilter.id, options)
150
154
  }
151
155
  ),
152
- formatLabel: formatLabel$8,
153
- isSelected: isSelected$6
156
+ formatLabel: formatLabel$b,
157
+ isSelected: isSelected$9
154
158
  };
155
159
 
156
- const formatLabel$7 = (filter) => {
160
+ const formatLabel$a = (filter) => {
157
161
  if (filter.selectedOption) {
158
162
  return `${filter.label}: ${filter.selectedOption.label}`;
159
163
  }
160
164
  return filter.label;
161
165
  };
162
- const isSelected$5 = (filter) => filter.selectedOption !== void 0;
163
- const passThroughMenuProps$2 = (filter) => {
166
+ const isSelected$8 = (filter) => filter.selectedOption !== void 0;
167
+ const passThroughMenuProps$4 = (filter) => {
164
168
  const {
165
169
  id: _id,
166
170
  label: _label,
@@ -175,7 +179,7 @@ const asyncSelectAdapter = {
175
179
  getValue: (filter) => filter.selectedOption,
176
180
  setValue: (filter, value) => ({ ...filter, selectedOption: value }),
177
181
  reset: (filter) => ({ ...filter, selectedOption: void 0 }),
178
- isActive: isSelected$5,
182
+ isActive: isSelected$8,
179
183
  preserveState: (newFilter, existingFilter) => ({
180
184
  ...newFilter,
181
185
  selectedOption: existingFilter.selectedOption
@@ -185,7 +189,7 @@ const asyncSelectAdapter = {
185
189
  renderBarControl: ({ filter, updateFilter }) => /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
186
190
  SelectMenu,
187
191
  {
188
- ...passThroughMenuProps$2(filter),
192
+ ...passThroughMenuProps$4(filter),
189
193
  id: filter.id,
190
194
  label: filter.label,
191
195
  value: filter.selectedOption ?? null,
@@ -198,8 +202,8 @@ const asyncSelectAdapter = {
198
202
  {
199
203
  ...triggerProps,
200
204
  filterId: filter.id,
201
- label: formatLabel$7(filter),
202
- isSelected: isSelected$5(filter)
205
+ label: formatLabel$a(filter),
206
+ isSelected: isSelected$8(filter)
203
207
  }
204
208
  )
205
209
  }
@@ -207,15 +211,93 @@ const asyncSelectAdapter = {
207
211
  renderDrawer: ({ originalFilter, draftFilter, onDraftChange }) => /* @__PURE__ */ createElement(
208
212
  SelectField,
209
213
  {
210
- ...passThroughMenuProps$2(originalFilter),
214
+ ...passThroughMenuProps$4(originalFilter),
211
215
  key: draftFilter.id,
212
216
  label: originalFilter.label,
213
217
  value: draftFilter.selectedOption ?? null,
214
218
  onSelectedOptionChange: (option) => onDraftChange(draftFilter.id, option ?? void 0)
215
219
  }
216
220
  ),
217
- formatLabel: formatLabel$7,
218
- isSelected: isSelected$5
221
+ formatLabel: formatLabel$a,
222
+ isSelected: isSelected$8
223
+ };
224
+
225
+ const isSelected$7 = (filter) => !!filter.selectedNodes && filter.selectedNodes.length > 0;
226
+ const formatLabel$9 = (filter) => {
227
+ const count = filter.selectedNodes?.length ?? 0;
228
+ if (count === 0) return filter.label;
229
+ const countLabel = count.toString();
230
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
231
+ filter.label,
232
+ /* @__PURE__ */ jsx(
233
+ Chip,
234
+ {
235
+ label: countLabel,
236
+ color: "#0265DC",
237
+ size: "small",
238
+ "aria-label": `${countLabel} selected items`
239
+ }
240
+ )
241
+ ] });
242
+ };
243
+ const passThroughMenuProps$3 = (filter) => {
244
+ const {
245
+ id: _id,
246
+ label: _label,
247
+ type: _type,
248
+ selectedNodes: _selectedNodes,
249
+ drawerOnly: _drawerOnly,
250
+ ...rest
251
+ } = filter;
252
+ return rest;
253
+ };
254
+ const asyncTreeAdapter = {
255
+ getValue: (filter) => filter.selectedNodes ?? [],
256
+ setValue: (filter, value) => ({ ...filter, selectedNodes: value }),
257
+ reset: (filter) => ({ ...filter, selectedNodes: [] }),
258
+ isActive: isSelected$7,
259
+ preserveState: (newFilter, existingFilter) => ({
260
+ ...newFilter,
261
+ selectedNodes: existingFilter.selectedNodes
262
+ }),
263
+ // No items array to rebind against — the selected node values are canonical.
264
+ cloneWithItemRefs: (filter) => ({ ...filter }),
265
+ renderBarControl: ({ filter, updateFilter, controlledFiltering }) => /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
266
+ TreeSelectMenu,
267
+ {
268
+ ...passThroughMenuProps$3(filter),
269
+ id: filter.id,
270
+ label: filter.label,
271
+ value: filter.selectedNodes ?? [],
272
+ onSelectedOptionsChange: (nodes) => updateFilter(filter.id, nodes, true),
273
+ confirmation: controlledFiltering,
274
+ clear: {
275
+ onClick: () => updateFilter(filter.id, [], true),
276
+ disabled: !isSelected$7(filter)
277
+ },
278
+ trigger: (triggerProps) => /* @__PURE__ */ jsx(
279
+ FilterTriggerButton,
280
+ {
281
+ ...triggerProps,
282
+ filterId: filter.id,
283
+ label: formatLabel$9(filter),
284
+ isSelected: isSelected$7(filter)
285
+ }
286
+ )
287
+ }
288
+ ) }, filter.id),
289
+ renderDrawer: ({ originalFilter, draftFilter, onDraftChange }) => /* @__PURE__ */ createElement(
290
+ TreeSelectField,
291
+ {
292
+ ...passThroughMenuProps$3(originalFilter),
293
+ key: draftFilter.id,
294
+ label: originalFilter.label,
295
+ value: draftFilter.selectedNodes ?? [],
296
+ onSelectedOptionsChange: (nodes) => onDraftChange(draftFilter.id, nodes)
297
+ }
298
+ ),
299
+ formatLabel: formatLabel$9,
300
+ isSelected: isSelected$7
219
301
  };
220
302
 
221
303
  const FilterToggleButton = ({
@@ -468,7 +550,7 @@ const FilterPopoverButton = (props) => {
468
550
  ] });
469
551
  };
470
552
 
471
- const formatLabel$6 = (filter) => {
553
+ const formatLabel$8 = (filter) => {
472
554
  if (filter.labelChipCount) {
473
555
  return /* @__PURE__ */ jsxs(Fragment, { children: [
474
556
  filter.label,
@@ -507,7 +589,7 @@ const customAdapter = {
507
589
  FilterPopoverButton,
508
590
  {
509
591
  filter,
510
- label: formatLabel$6(filter),
592
+ label: formatLabel$8(filter),
511
593
  isSelected: filter.value !== void 0,
512
594
  committedValue: filter.value,
513
595
  initialValue: void 0,
@@ -524,7 +606,7 @@ const customAdapter = {
524
606
  value: draftFilter.value,
525
607
  onChange: (value) => onDraftChange(draftFilter.id, value)
526
608
  }) }, draftFilter.id),
527
- formatLabel: formatLabel$6,
609
+ formatLabel: formatLabel$8,
528
610
  isSelected: (filter) => filter.value !== void 0
529
611
  };
530
612
 
@@ -657,7 +739,7 @@ const PopoverShell$1 = ({
657
739
  ] });
658
740
  };
659
741
 
660
- const formatLabel$5 = (filter) => {
742
+ const formatLabel$7 = (filter) => {
661
743
  if (filter.value) {
662
744
  const date = DateTime.fromISO(filter.value, { zone: "local" });
663
745
  return `${filter.label}: ${date.monthShort} ${date.day}, ${date.year}`;
@@ -681,7 +763,7 @@ const dateAdapter = {
681
763
  committedValue: filter.value ?? null,
682
764
  onCommit: (value) => updateFilter(filter.id, value, true),
683
765
  controlledFiltering,
684
- label: formatLabel$5(filter),
766
+ label: formatLabel$7(filter),
685
767
  isSelected: !!filter.value,
686
768
  clear: {
687
769
  onClick: () => updateFilter(filter.id, null, true)
@@ -699,7 +781,7 @@ const dateAdapter = {
699
781
  },
700
782
  draftFilter.id
701
783
  ),
702
- formatLabel: formatLabel$5,
784
+ formatLabel: formatLabel$7,
703
785
  isSelected: (filter) => !!filter.value
704
786
  };
705
787
 
@@ -1079,8 +1161,8 @@ const FilterDateList = ({
1079
1161
  ] });
1080
1162
  };
1081
1163
 
1082
- const isSelected$4 = (filter) => filter.selectedOption !== void 0 && filter.selectedOption.value !== null;
1083
- const formatLabel$4 = (filter) => {
1164
+ const isSelected$6 = (filter) => filter.selectedOption !== void 0 && filter.selectedOption.value !== null;
1165
+ const formatLabel$6 = (filter) => {
1084
1166
  const selected = filter.selectedOption;
1085
1167
  if (!selected || selected.value === null) return filter.label;
1086
1168
  return formatDateListSelectionLabel(selected);
@@ -1089,7 +1171,7 @@ const dateListAdapter = {
1089
1171
  getValue: (filter) => filter.selectedOption,
1090
1172
  setValue: (filter, value) => ({ ...filter, selectedOption: value }),
1091
1173
  reset: (filter) => ({ ...filter, selectedOption: void 0 }),
1092
- isActive: isSelected$4,
1174
+ isActive: isSelected$6,
1093
1175
  preserveState: (newFilter, existingFilter) => ({
1094
1176
  ...newFilter,
1095
1177
  selectedOption: existingFilter.selectedOption
@@ -1101,8 +1183,8 @@ const dateListAdapter = {
1101
1183
  filter,
1102
1184
  committedValue: filter.selectedOption,
1103
1185
  onCommit: (value) => updateFilter(filter.id, value, true),
1104
- label: formatLabel$4(filter),
1105
- isSelected: isSelected$4(filter),
1186
+ label: formatLabel$6(filter),
1187
+ isSelected: isSelected$6(filter),
1106
1188
  dialogCtaLabel: "Apply",
1107
1189
  clear: {
1108
1190
  onClick: () => updateFilter(filter.id, void 0, true)
@@ -1165,11 +1247,11 @@ const dateListAdapter = {
1165
1247
  draftFilter.id
1166
1248
  );
1167
1249
  },
1168
- formatLabel: formatLabel$4,
1169
- isSelected: isSelected$4
1250
+ formatLabel: formatLabel$6,
1251
+ isSelected: isSelected$6
1170
1252
  };
1171
1253
 
1172
- const formatLabel$3 = (filter) => {
1254
+ const formatLabel$5 = (filter) => {
1173
1255
  if (filter.value?.startDate && filter.value?.endDate) {
1174
1256
  const start = DateTime.fromISO(filter.value.startDate, {
1175
1257
  zone: "local"
@@ -1183,7 +1265,7 @@ const formatLabel$3 = (filter) => {
1183
1265
  }
1184
1266
  return filter.label;
1185
1267
  };
1186
- const isSelected$3 = (filter) => !!(filter.value?.startDate && filter.value?.endDate);
1268
+ const isSelected$5 = (filter) => !!(filter.value?.startDate && filter.value?.endDate);
1187
1269
  const dateRangeAdapter = {
1188
1270
  getValue: (filter) => filter.value ?? null,
1189
1271
  setValue: (filter, value) => ({ ...filter, value }),
@@ -1204,8 +1286,8 @@ const dateRangeAdapter = {
1204
1286
  committedValue: filter.value ?? null,
1205
1287
  onCommit: (value) => updateFilter(filter.id, value, true),
1206
1288
  controlledFiltering,
1207
- label: formatLabel$3(filter),
1208
- isSelected: isSelected$3(filter),
1289
+ label: formatLabel$5(filter),
1290
+ isSelected: isSelected$5(filter),
1209
1291
  clear: {
1210
1292
  onClick: () => updateFilter(filter.id, null, true)
1211
1293
  }
@@ -1225,12 +1307,12 @@ const dateRangeAdapter = {
1225
1307
  },
1226
1308
  draftFilter.id
1227
1309
  ),
1228
- formatLabel: formatLabel$3,
1229
- isSelected: isSelected$3
1310
+ formatLabel: formatLabel$5,
1311
+ isSelected: isSelected$5
1230
1312
  };
1231
1313
 
1232
- const isSelected$2 = (filter) => !!filter.selectedOptions && filter.selectedOptions.length > 0;
1233
- const formatLabel$2 = (filter) => {
1314
+ const isSelected$4 = (filter) => !!filter.selectedOptions && filter.selectedOptions.length > 0;
1315
+ const formatLabel$4 = (filter) => {
1234
1316
  const count = filter.selectedOptions?.length ?? 0;
1235
1317
  if (count === 0) return filter.label;
1236
1318
  const countLabel = count.toString();
@@ -1247,7 +1329,7 @@ const formatLabel$2 = (filter) => {
1247
1329
  )
1248
1330
  ] });
1249
1331
  };
1250
- const passThroughMenuProps$1 = (filter) => {
1332
+ const passThroughMenuProps$2 = (filter) => {
1251
1333
  const {
1252
1334
  id: _id,
1253
1335
  label: _label,
@@ -1263,7 +1345,7 @@ const multiSelectAdapter = {
1263
1345
  getValue: (filter) => filter.selectedOptions ?? [],
1264
1346
  setValue: (filter, value) => ({ ...filter, selectedOptions: value }),
1265
1347
  reset: (filter) => ({ ...filter, selectedOptions: [] }),
1266
- isActive: isSelected$2,
1348
+ isActive: isSelected$4,
1267
1349
  preserveState: (newFilter, existingFilter) => ({
1268
1350
  ...newFilter,
1269
1351
  selectedOptions: existingFilter.selectedOptions
@@ -1274,7 +1356,7 @@ const multiSelectAdapter = {
1274
1356
  renderBarControl: ({ filter, updateFilter, controlledFiltering }) => /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
1275
1357
  MultiSelectMenuSync,
1276
1358
  {
1277
- ...passThroughMenuProps$1(filter),
1359
+ ...passThroughMenuProps$2(filter),
1278
1360
  id: filter.id,
1279
1361
  label: filter.label,
1280
1362
  value: filter.selectedOptions ?? [],
@@ -1288,8 +1370,8 @@ const multiSelectAdapter = {
1288
1370
  {
1289
1371
  ...triggerProps,
1290
1372
  filterId: filter.id,
1291
- label: formatLabel$2(filter),
1292
- isSelected: isSelected$2(filter)
1373
+ label: formatLabel$4(filter),
1374
+ isSelected: isSelected$4(filter)
1293
1375
  }
1294
1376
  )
1295
1377
  }
@@ -1323,7 +1405,7 @@ const multiSelectAdapter = {
1323
1405
  return /* @__PURE__ */ createElement(
1324
1406
  MultiSelectFieldSync,
1325
1407
  {
1326
- ...passThroughMenuProps$1(originalFilter),
1408
+ ...passThroughMenuProps$2(originalFilter),
1327
1409
  key: draftFilter.id,
1328
1410
  label: originalFilter.label,
1329
1411
  value: draftFilter.selectedOptions ?? [],
@@ -1331,8 +1413,8 @@ const multiSelectAdapter = {
1331
1413
  }
1332
1414
  );
1333
1415
  },
1334
- formatLabel: formatLabel$2,
1335
- isSelected: isSelected$2
1416
+ formatLabel: formatLabel$4,
1417
+ isSelected: isSelected$4
1336
1418
  };
1337
1419
 
1338
1420
  const clampToBounds = (n, minValue, maxValue) => {
@@ -1428,7 +1510,7 @@ const formatBound = (n, filter) => {
1428
1510
  if (filter.mode === "percentage") return `${formatted}%`;
1429
1511
  return formatted;
1430
1512
  };
1431
- const formatLabel$1 = (filter) => {
1513
+ const formatLabel$3 = (filter) => {
1432
1514
  const hasMin = filter.value?.min !== void 0;
1433
1515
  const hasMax = filter.value?.max !== void 0;
1434
1516
  if (!hasMin && !hasMax) return filter.label;
@@ -1443,12 +1525,12 @@ const formatLabel$1 = (filter) => {
1443
1525
  }
1444
1526
  return `${filter.label}: ${maxSymbol} ${formatBound(filter.value.max, filter)}`;
1445
1527
  };
1446
- const isSelected$1 = (filter) => filter.value !== null && filter.value !== void 0 && (filter.value.min !== void 0 || filter.value.max !== void 0);
1528
+ const isSelected$3 = (filter) => filter.value !== null && filter.value !== void 0 && (filter.value.min !== void 0 || filter.value.max !== void 0);
1447
1529
  const numericRangeAdapter = {
1448
1530
  getValue: (filter) => filter.value ?? null,
1449
1531
  setValue: (filter, value) => ({ ...filter, value }),
1450
1532
  reset: (filter) => ({ ...filter, value: null }),
1451
- isActive: isSelected$1,
1533
+ isActive: isSelected$3,
1452
1534
  preserveState: (newFilter, existingFilter) => ({
1453
1535
  ...newFilter,
1454
1536
  value: existingFilter.value
@@ -1461,10 +1543,11 @@ const numericRangeAdapter = {
1461
1543
  FilterPopoverButton,
1462
1544
  {
1463
1545
  filter,
1464
- label: formatLabel$1(filter),
1465
- isSelected: isSelected$1(filter),
1546
+ label: formatLabel$3(filter),
1547
+ isSelected: isSelected$3(filter),
1466
1548
  committedValue: filter.value ?? null,
1467
1549
  initialValue: null,
1550
+ keepOpenOnUncontrolledChange: true,
1468
1551
  children: ({ value, onChange }) => /* @__PURE__ */ jsx(
1469
1552
  FilterNumericRange,
1470
1553
  {
@@ -1487,18 +1570,18 @@ const numericRangeAdapter = {
1487
1570
  },
1488
1571
  draftFilter.id
1489
1572
  ),
1490
- formatLabel: formatLabel$1,
1491
- isSelected: isSelected$1
1573
+ formatLabel: formatLabel$3,
1574
+ isSelected: isSelected$3
1492
1575
  };
1493
1576
 
1494
- const formatLabel = (filter) => {
1577
+ const formatLabel$2 = (filter) => {
1495
1578
  if (filter.selectedOption) {
1496
1579
  return `${filter.label}: ${filter.selectedOption.label}`;
1497
1580
  }
1498
1581
  return filter.label;
1499
1582
  };
1500
- const isSelected = (filter) => filter.selectedOption !== void 0;
1501
- const passThroughMenuProps = (filter) => {
1583
+ const isSelected$2 = (filter) => filter.selectedOption !== void 0;
1584
+ const passThroughMenuProps$1 = (filter) => {
1502
1585
  const {
1503
1586
  id: _id,
1504
1587
  label: _label,
@@ -1514,7 +1597,7 @@ const singleSelectAdapter = {
1514
1597
  getValue: (filter) => filter.selectedOption,
1515
1598
  setValue: (filter, value) => ({ ...filter, selectedOption: value }),
1516
1599
  reset: (filter) => ({ ...filter, selectedOption: void 0 }),
1517
- isActive: isSelected,
1600
+ isActive: isSelected$2,
1518
1601
  preserveState: (newFilter, existingFilter) => ({
1519
1602
  ...newFilter,
1520
1603
  selectedOption: existingFilter.selectedOption
@@ -1525,7 +1608,7 @@ const singleSelectAdapter = {
1525
1608
  renderBarControl: ({ filter, updateFilter }) => /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
1526
1609
  SelectMenuSync,
1527
1610
  {
1528
- ...passThroughMenuProps(filter),
1611
+ ...passThroughMenuProps$1(filter),
1529
1612
  id: filter.id,
1530
1613
  label: filter.label,
1531
1614
  value: filter.selectedOption ?? null,
@@ -1538,8 +1621,8 @@ const singleSelectAdapter = {
1538
1621
  {
1539
1622
  ...triggerProps,
1540
1623
  filterId: filter.id,
1541
- label: formatLabel(filter),
1542
- isSelected: isSelected(filter)
1624
+ label: formatLabel$2(filter),
1625
+ isSelected: isSelected$2(filter)
1543
1626
  }
1544
1627
  )
1545
1628
  }
@@ -1568,7 +1651,7 @@ const singleSelectAdapter = {
1568
1651
  return /* @__PURE__ */ createElement(
1569
1652
  SelectFieldSync,
1570
1653
  {
1571
- ...passThroughMenuProps(originalFilter),
1654
+ ...passThroughMenuProps$1(originalFilter),
1572
1655
  key: draftFilter.id,
1573
1656
  label: originalFilter.label,
1574
1657
  value: draftFilter.selectedOption ?? null,
@@ -1576,6 +1659,160 @@ const singleSelectAdapter = {
1576
1659
  }
1577
1660
  );
1578
1661
  },
1662
+ formatLabel: formatLabel$2,
1663
+ isSelected: isSelected$2
1664
+ };
1665
+
1666
+ const FilterTextInput = ({
1667
+ filter,
1668
+ value,
1669
+ onChange,
1670
+ layout
1671
+ }) => {
1672
+ const truncate = (s) => filter.maxLength !== void 0 ? s.slice(0, filter.maxLength) : s;
1673
+ const counterProps = filter.showCounter ? { showCounter: true, maxLength: filter.maxLength } : { maxLength: filter.maxLength };
1674
+ return /* @__PURE__ */ jsx(
1675
+ TextField,
1676
+ {
1677
+ label: filter.label,
1678
+ hideLabel: layout === "compact",
1679
+ placeholder: filter.placeholder,
1680
+ value,
1681
+ onChange: (e) => onChange(truncate(e.target.value)),
1682
+ ...counterProps
1683
+ }
1684
+ );
1685
+ };
1686
+
1687
+ const TRIGGER_VALUE_MAX_CHARS = 24;
1688
+ const formatLabel$1 = (filter) => {
1689
+ if (!filter.value) return filter.label;
1690
+ const display = filter.value.length > TRIGGER_VALUE_MAX_CHARS ? `${filter.value.slice(0, TRIGGER_VALUE_MAX_CHARS)}…` : filter.value;
1691
+ return `${filter.label}: ${display}`;
1692
+ };
1693
+ const isSelected$1 = (filter) => filter.value !== void 0 && filter.value !== "";
1694
+ const textInputAdapter = {
1695
+ getValue: (filter) => filter.value ?? "",
1696
+ // Normalise empty → undefined on write so `isSelected` / activeFilters lists
1697
+ // treat a cleared field as inactive without needing extra guards.
1698
+ setValue: (filter, value) => ({ ...filter, value: value || void 0 }),
1699
+ reset: (filter) => ({ ...filter, value: void 0 }),
1700
+ isActive: isSelected$1,
1701
+ preserveState: (newFilter, existingFilter) => ({
1702
+ ...newFilter,
1703
+ value: existingFilter.value
1704
+ }),
1705
+ cloneWithItemRefs: (filter) => ({ ...filter }),
1706
+ renderBarControl: ({ filter }) => /* @__PURE__ */ jsx(
1707
+ FilterPopoverButton,
1708
+ {
1709
+ filter,
1710
+ label: formatLabel$1(filter),
1711
+ isSelected: isSelected$1(filter),
1712
+ committedValue: filter.value ?? "",
1713
+ initialValue: "",
1714
+ keepOpenOnUncontrolledChange: true,
1715
+ children: ({ value, onChange }) => /* @__PURE__ */ jsx(
1716
+ FilterTextInput,
1717
+ {
1718
+ filter,
1719
+ value,
1720
+ onChange,
1721
+ layout: "compact"
1722
+ }
1723
+ )
1724
+ },
1725
+ filter.id
1726
+ ),
1727
+ renderDrawer: ({ draftFilter, onDraftChange }) => /* @__PURE__ */ jsx(
1728
+ FilterTextInput,
1729
+ {
1730
+ filter: draftFilter,
1731
+ value: draftFilter.value ?? "",
1732
+ onChange: (value) => onDraftChange(draftFilter.id, value || void 0),
1733
+ layout: "grid"
1734
+ },
1735
+ draftFilter.id
1736
+ ),
1737
+ formatLabel: formatLabel$1,
1738
+ isSelected: isSelected$1
1739
+ };
1740
+
1741
+ const isSelected = (filter) => !!filter.selectedNodes && filter.selectedNodes.length > 0;
1742
+ const formatLabel = (filter) => {
1743
+ const count = filter.selectedNodes?.length ?? 0;
1744
+ if (count === 0) return filter.label;
1745
+ const countLabel = count.toString();
1746
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1747
+ filter.label,
1748
+ /* @__PURE__ */ jsx(
1749
+ Chip,
1750
+ {
1751
+ label: countLabel,
1752
+ color: "#0265DC",
1753
+ size: "small",
1754
+ "aria-label": `${countLabel} selected items`
1755
+ }
1756
+ )
1757
+ ] });
1758
+ };
1759
+ const passThroughMenuProps = (filter) => {
1760
+ const {
1761
+ id: _id,
1762
+ label: _label,
1763
+ type: _type,
1764
+ selectedNodes: _selectedNodes,
1765
+ drawerOnly: _drawerOnly,
1766
+ ...rest
1767
+ } = filter;
1768
+ return rest;
1769
+ };
1770
+ const treeAdapter = {
1771
+ getValue: (filter) => filter.selectedNodes ?? [],
1772
+ setValue: (filter, value) => ({ ...filter, selectedNodes: value }),
1773
+ reset: (filter) => ({ ...filter, selectedNodes: [] }),
1774
+ isActive: isSelected,
1775
+ preserveState: (newFilter, existingFilter) => ({
1776
+ ...newFilter,
1777
+ selectedNodes: existingFilter.selectedNodes
1778
+ }),
1779
+ // The tree's `options` are owned by the consumer; the selected node values
1780
+ // are canonical and carry their own id/label — no rebinding needed.
1781
+ cloneWithItemRefs: (filter) => ({ ...filter }),
1782
+ renderBarControl: ({ filter, updateFilter, controlledFiltering }) => /* @__PURE__ */ jsx(FilterItemWrapper, { children: /* @__PURE__ */ jsx(
1783
+ TreeSelectMenuSync,
1784
+ {
1785
+ ...passThroughMenuProps(filter),
1786
+ id: filter.id,
1787
+ label: filter.label,
1788
+ value: filter.selectedNodes ?? [],
1789
+ onSelectedOptionsChange: (nodes) => updateFilter(filter.id, nodes, true),
1790
+ confirmation: controlledFiltering,
1791
+ clear: {
1792
+ onClick: () => updateFilter(filter.id, [], true),
1793
+ disabled: !isSelected(filter)
1794
+ },
1795
+ trigger: (triggerProps) => /* @__PURE__ */ jsx(
1796
+ FilterTriggerButton,
1797
+ {
1798
+ ...triggerProps,
1799
+ filterId: filter.id,
1800
+ label: formatLabel(filter),
1801
+ isSelected: isSelected(filter)
1802
+ }
1803
+ )
1804
+ }
1805
+ ) }, filter.id),
1806
+ renderDrawer: ({ originalFilter, draftFilter, onDraftChange }) => /* @__PURE__ */ createElement(
1807
+ TreeSelectFieldSync,
1808
+ {
1809
+ ...passThroughMenuProps(originalFilter),
1810
+ key: draftFilter.id,
1811
+ label: originalFilter.label,
1812
+ value: draftFilter.selectedNodes ?? [],
1813
+ onSelectedOptionsChange: (nodes) => onDraftChange(draftFilter.id, nodes)
1814
+ }
1815
+ ),
1579
1816
  formatLabel,
1580
1817
  isSelected
1581
1818
  };
@@ -1590,7 +1827,10 @@ const filterAdapters = {
1590
1827
  dateList: dateListAdapter,
1591
1828
  asyncSelect: asyncSelectAdapter,
1592
1829
  asyncMultiSelect: asyncMultiSelectAdapter,
1593
- numericRange: numericRangeAdapter
1830
+ tree: treeAdapter,
1831
+ asyncTree: asyncTreeAdapter,
1832
+ numericRange: numericRangeAdapter,
1833
+ textInput: textInputAdapter
1594
1834
  };
1595
1835
  const unknownAdapter = {
1596
1836
  getValue: () => void 0,
@@ -1624,4 +1864,4 @@ const cloneFiltersWithItemRefs = (filters) => filters.map(
1624
1864
  );
1625
1865
 
1626
1866
  export { DateListDialog as D, FilterGroupContext as F, checkActiveFilters as a, getAdapter as b, cloneFiltersWithItemRefs as c, FilterItemWrapper as d, FilterTriggerButton as e, getActiveFilters as g, hasFilterSelectionChanged as h, preserveFilterState as p, resetFilters as r, styles as s, updateSingleFilter as u };
1627
- //# sourceMappingURL=filter-state-Bx3aYS1r.js.map
1867
+ //# sourceMappingURL=filter-state-DyMDjdRS.js.map