@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,413 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { forwardRef, useId, useRef, useState, useCallback, useEffect, useImperativeHandle, useMemo } from 'react';
3
+ import { u as useAdaptiveView, O as OptionsDialog, a as OptionsPopover } from './useAdaptiveView-CeYKH0Me.js';
4
+ import { M as MenuFooter } from './MenuFooter-CrsZdXvN.js';
5
+ import { r as resolveConfirmation, u as useConfirmationDraft, a as arrayIdsEqual } from './confirmationTypes-CG7xl50f.js';
6
+ import { u as useTreeLoader, a as useTree, b as useTreeLazyCascade, f as findNode, T as TreeContent, d as defaultTreeSyncFilter, t as toTreeSyncFilterFn, c as applyChildCounts } from './treeSync-Cz3H08cr.js';
7
+ import { S as SearchField } from './SearchField-BMHJCVFu.js';
8
+
9
+ const TreeSelectMenu = forwardRef((props, ref) => {
10
+ const {
11
+ id: idProp,
12
+ trigger,
13
+ onMenuKeyDown,
14
+ onImplicitClose,
15
+ onExplicitClose,
16
+ label,
17
+ searchPlaceholder,
18
+ displayMenuAs: displayMenuAsProp = "auto",
19
+ virtualize,
20
+ disableSearch,
21
+ popoverWidth,
22
+ debounceMs = 200,
23
+ onSearchChange,
24
+ value,
25
+ onSelectedOptionsChange,
26
+ selectionMode = "linked",
27
+ valueConsistsOf = "LEAF_PRIORITY",
28
+ defaultExpandLevel,
29
+ expandedIds,
30
+ onExpandedIdsChange,
31
+ loadOptions,
32
+ cache,
33
+ initialLoad,
34
+ confirmation: confirmationProp,
35
+ clear
36
+ } = props;
37
+ const confirmation = resolveConfirmation(confirmationProp);
38
+ const autoId = useId();
39
+ const id = idProp ?? autoId;
40
+ const triggerRef = useRef(null);
41
+ const searchRef = useRef(null);
42
+ const treePanelRef = useRef(null);
43
+ const isSingleSelect = selectionMode === "single";
44
+ const branchesSelectable = isSingleSelect ? valueConsistsOf !== "LEAF_ONLY" : true;
45
+ const leavesSelectable = valueConsistsOf !== "BRANCH_ONLY";
46
+ const emptyBranchesSelectable = valueConsistsOf !== "LEAF_ONLY";
47
+ const { isMobile } = useAdaptiveView();
48
+ const displayAs = displayMenuAsProp === "auto" ? isMobile ? "dialog" : "popover" : displayMenuAsProp;
49
+ const [inputValue, setInputValue] = useState("");
50
+ const searchValue = disableSearch ? "" : inputValue;
51
+ const handleSearchChange = useCallback(
52
+ (v) => {
53
+ setInputValue(v);
54
+ onSearchChange?.(v);
55
+ },
56
+ [onSearchChange]
57
+ );
58
+ const loader = useTreeLoader({
59
+ loadOptions,
60
+ cache,
61
+ initialLoad,
62
+ debounceMs
63
+ });
64
+ const [isOpen, setIsOpen] = useState(false);
65
+ const pendingApplyRef = useRef(false);
66
+ const {
67
+ displayValue: draftValue,
68
+ setDraft,
69
+ apply,
70
+ cancel
71
+ } = useConfirmationDraft({
72
+ value,
73
+ onCommit: onSelectedOptionsChange,
74
+ isOpen,
75
+ enabled: confirmation.enabled,
76
+ isEqual: arrayIdsEqual
77
+ });
78
+ const openMenu = useCallback(() => {
79
+ setIsOpen(true);
80
+ loader.onOpen();
81
+ }, [loader]);
82
+ const isFirstSearchEffect = useRef(true);
83
+ useEffect(() => {
84
+ if (isFirstSearchEffect.current) {
85
+ isFirstSearchEffect.current = false;
86
+ return;
87
+ }
88
+ loader.search(searchValue ?? "");
89
+ }, [searchValue]);
90
+ const tree = useTree({
91
+ nodes: loader.nodes,
92
+ value: draftValue,
93
+ onSelectedOptionsChange: setDraft,
94
+ selectionMode,
95
+ valueConsistsOf,
96
+ defaultExpandLevel,
97
+ expandedIds,
98
+ onExpandedIdsChange,
99
+ searchValue,
100
+ ancestry: loader.ancestry,
101
+ loadingChildrenIds: loader.isLoadingChildren
102
+ });
103
+ useImperativeHandle(
104
+ ref,
105
+ () => ({
106
+ clearCache: loader.clearCache,
107
+ invalidate: loader.invalidate,
108
+ expandAll: tree.expandAll,
109
+ collapseAll: tree.collapseAll
110
+ }),
111
+ [loader.clearCache, loader.invalidate, tree.expandAll, tree.collapseAll]
112
+ );
113
+ const closeMenuRef = useRef(() => void 0);
114
+ const onCloseAfterSingleSelect = useCallback(() => {
115
+ if (confirmation.enabled) return;
116
+ closeMenuRef.current();
117
+ }, [confirmation.enabled]);
118
+ const {
119
+ handleToggleNode,
120
+ pendingToggleNodeId,
121
+ reset: resetLazyCascade
122
+ } = useTreeLazyCascade({
123
+ tree,
124
+ loader,
125
+ isSingleSelect,
126
+ branchesSelectable,
127
+ leavesSelectable,
128
+ emptyBranchesSelectable,
129
+ onCloseAfterSingleSelect
130
+ });
131
+ const closeMenu = useCallback(
132
+ (opts) => {
133
+ if (confirmation.enabled && !pendingApplyRef.current) cancel();
134
+ pendingApplyRef.current = false;
135
+ setIsOpen(false);
136
+ handleSearchChange("");
137
+ resetLazyCascade();
138
+ const shouldRestoreFocus = opts?.restoreFocus ?? true;
139
+ if (shouldRestoreFocus) {
140
+ onExplicitClose?.();
141
+ requestAnimationFrame(() => {
142
+ triggerRef.current?.focus();
143
+ });
144
+ } else {
145
+ onImplicitClose?.();
146
+ }
147
+ },
148
+ [
149
+ confirmation.enabled,
150
+ cancel,
151
+ handleSearchChange,
152
+ resetLazyCascade,
153
+ onImplicitClose,
154
+ onExplicitClose
155
+ ]
156
+ );
157
+ useEffect(() => {
158
+ closeMenuRef.current = () => closeMenu();
159
+ }, [closeMenu]);
160
+ const handleApply = useCallback(() => {
161
+ apply();
162
+ pendingApplyRef.current = true;
163
+ closeMenu();
164
+ }, [apply, closeMenu]);
165
+ const handleCancel = useCallback(() => {
166
+ closeMenu();
167
+ }, [closeMenu]);
168
+ const getActiveNode = useCallback(() => {
169
+ const descId = tree.activeDescendantId;
170
+ if (!descId) return void 0;
171
+ const nodeId = descId.replace(/^treeitem-/, "");
172
+ const numId = Number(nodeId);
173
+ return findNode(tree.nodes, Number.isNaN(numId) ? nodeId : numId);
174
+ }, [tree.activeDescendantId, tree.nodes]);
175
+ const handleMenuKeyDown = useCallback(
176
+ (e) => {
177
+ onMenuKeyDown?.(e);
178
+ if (e.defaultPrevented) return;
179
+ if (e.key === "Escape") {
180
+ e.stopPropagation();
181
+ closeMenu();
182
+ return;
183
+ }
184
+ if (e.key === "Tab") {
185
+ closeMenu({ restoreFocus: false });
186
+ return;
187
+ }
188
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
189
+ e.preventDefault();
190
+ tree.onKeyDown(e);
191
+ return;
192
+ }
193
+ if (e.key === "Enter" || disableSearch && e.key === " ") {
194
+ const activeNode = getActiveNode();
195
+ if (activeNode) {
196
+ e.preventDefault();
197
+ handleToggleNode(activeNode.id);
198
+ }
199
+ return;
200
+ }
201
+ if (e.key === "ArrowRight") {
202
+ const activeNode = getActiveNode();
203
+ if (activeNode?.children === null) {
204
+ e.preventDefault();
205
+ tree.toggleExpand(activeNode.id);
206
+ void loader.loadChildren(activeNode);
207
+ return;
208
+ }
209
+ }
210
+ tree.onKeyDown(e);
211
+ },
212
+ [
213
+ onMenuKeyDown,
214
+ closeMenu,
215
+ tree,
216
+ getActiveNode,
217
+ handleToggleNode,
218
+ loader,
219
+ disableSearch
220
+ ]
221
+ );
222
+ const handleTriggerKeyDown = useCallback(
223
+ (e) => {
224
+ if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
225
+ e.preventDefault();
226
+ if (!isOpen) {
227
+ openMenu();
228
+ }
229
+ }
230
+ },
231
+ [isOpen, openMenu]
232
+ );
233
+ const handleTriggerClick = useCallback(() => {
234
+ if (isOpen) {
235
+ closeMenu();
236
+ } else {
237
+ openMenu();
238
+ }
239
+ }, [isOpen, openMenu, closeMenu]);
240
+ useEffect(() => {
241
+ if (!isOpen || displayAs !== "popover") return;
242
+ const frameId = requestAnimationFrame(() => {
243
+ if (!disableSearch) {
244
+ searchRef.current?.focus();
245
+ } else {
246
+ treePanelRef.current?.focus();
247
+ }
248
+ });
249
+ return () => cancelAnimationFrame(frameId);
250
+ }, [isOpen, displayAs, disableSearch]);
251
+ const handleLoadChildren = useCallback(
252
+ (node) => {
253
+ void loader.loadChildren(node);
254
+ },
255
+ [loader]
256
+ );
257
+ const treePropsMerged = disableSearch ? {
258
+ ...tree.treeProps,
259
+ id: `${id}-tree`,
260
+ "aria-label": label,
261
+ onKeyDown: handleMenuKeyDown,
262
+ tabIndex: 0
263
+ } : { ...tree.treeProps, id: `${id}-tree`, "aria-label": label };
264
+ const panelProps = {
265
+ visibleNodes: tree.visibleNodes,
266
+ getCheckState: (nodeId) => nodeId === pendingToggleNodeId ? "loading" : tree.getCheckState(nodeId),
267
+ toggleNode: handleToggleNode,
268
+ toggleExpand: tree.toggleExpand,
269
+ getTreeItemProps: tree.getTreeItemProps,
270
+ treeProps: treePropsMerged,
271
+ activeDescendantId: tree.activeDescendantId,
272
+ branchesSelectable,
273
+ leavesSelectable,
274
+ emptyBranchesSelectable,
275
+ onHover: tree.setActiveNodeId,
276
+ onLoadChildren: handleLoadChildren
277
+ };
278
+ const handleInputChange = useCallback(
279
+ (e) => {
280
+ handleSearchChange(e.target.value);
281
+ },
282
+ [handleSearchChange]
283
+ );
284
+ const handleSearchClear = useCallback(() => {
285
+ handleSearchChange("");
286
+ }, [handleSearchChange]);
287
+ const searchInput = !disableSearch ? /* @__PURE__ */ jsx(
288
+ SearchField,
289
+ {
290
+ ref: searchRef,
291
+ value: inputValue,
292
+ onChange: handleInputChange,
293
+ onKeyDown: handleMenuKeyDown,
294
+ onClear: handleSearchClear,
295
+ "aria-activedescendant": tree.activeDescendantId,
296
+ "aria-controls": `${id}-tree`,
297
+ placeholder: searchPlaceholder,
298
+ type: "search"
299
+ }
300
+ ) : null;
301
+ const handleClickOutside = useCallback(() => {
302
+ closeMenu({ restoreFocus: false });
303
+ }, [closeMenu]);
304
+ const treeContent = /* @__PURE__ */ jsx(
305
+ TreeContent,
306
+ {
307
+ ref: treePanelRef,
308
+ loading: loader.isLoading,
309
+ hasNoVisibleNodes: tree.visibleNodes.length === 0,
310
+ virtualize,
311
+ panelProps
312
+ }
313
+ );
314
+ const triggerProps = {
315
+ ref: triggerRef,
316
+ onClick: handleTriggerClick,
317
+ onKeyDown: handleTriggerKeyDown,
318
+ "aria-haspopup": "tree",
319
+ "aria-controls": `${id}-tree`,
320
+ "aria-expanded": isOpen,
321
+ "data-state": isOpen ? "open" : "close"
322
+ };
323
+ const confirmationConfig = confirmation.enabled ? {
324
+ applyLabel: confirmation.applyLabel,
325
+ cancelLabel: confirmation.cancelLabel,
326
+ onApply: handleApply,
327
+ onCancel: handleCancel
328
+ } : void 0;
329
+ const wrappedClear = clear ? {
330
+ ...clear,
331
+ onClick: () => {
332
+ clear.onClick();
333
+ if (confirmation.enabled) pendingApplyRef.current = true;
334
+ closeMenu();
335
+ }
336
+ } : void 0;
337
+ const hasFooter = !!wrappedClear || !!confirmationConfig;
338
+ const footer = hasFooter ? /* @__PURE__ */ jsx(MenuFooter, { clear: wrappedClear, confirmation: confirmationConfig }) : void 0;
339
+ if (displayAs === "dialog") {
340
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
341
+ trigger(triggerProps),
342
+ /* @__PURE__ */ jsx(
343
+ OptionsDialog,
344
+ {
345
+ id: `${id}-dialog`,
346
+ isOpen,
347
+ onClose: () => closeMenu(),
348
+ title: label,
349
+ field: searchInput ?? void 0,
350
+ footer,
351
+ initialFocusResolver: !disableSearch ? (elements) => elements.find((el) => el.tagName === "INPUT") || elements[0] : void 0,
352
+ children: isOpen ? treeContent : null
353
+ }
354
+ )
355
+ ] });
356
+ }
357
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
358
+ trigger(triggerProps),
359
+ /* @__PURE__ */ jsxs(
360
+ OptionsPopover,
361
+ {
362
+ id: `${id}-popover`,
363
+ referenceElement: triggerRef,
364
+ open: isOpen,
365
+ onClose: handleClickOutside,
366
+ width: popoverWidth ?? 320,
367
+ footer,
368
+ children: [
369
+ searchInput,
370
+ isOpen ? treeContent : null
371
+ ]
372
+ }
373
+ )
374
+ ] });
375
+ });
376
+ TreeSelectMenu.displayName = "TreeSelectMenu";
377
+
378
+ const TreeSelectMenuSync = (props) => {
379
+ const {
380
+ options,
381
+ filter: filterProp = defaultTreeSyncFilter,
382
+ ...rest
383
+ } = props;
384
+ const filter = useMemo(() => toTreeSyncFilterFn(filterProp), [filterProp]);
385
+ const processedOptions = useMemo(() => applyChildCounts(options), [options]);
386
+ const loadOptions = useCallback(
387
+ (searchValue) => {
388
+ return filter(processedOptions, searchValue);
389
+ },
390
+ [filter, processedOptions]
391
+ );
392
+ const menuRef = useRef(null);
393
+ const prevOptionsRef = useRef(options);
394
+ useEffect(() => {
395
+ if (prevOptionsRef.current !== options) {
396
+ prevOptionsRef.current = options;
397
+ menuRef.current?.invalidate();
398
+ }
399
+ }, [options]);
400
+ return /* @__PURE__ */ jsx(
401
+ TreeSelectMenu,
402
+ {
403
+ ref: menuRef,
404
+ loadOptions,
405
+ debounceMs: 0,
406
+ ...rest
407
+ }
408
+ );
409
+ };
410
+ TreeSelectMenuSync.displayName = "TreeSelectMenuSync";
411
+
412
+ export { TreeSelectMenuSync as T, TreeSelectMenu as a };
413
+ //# sourceMappingURL=TreeSelectMenuSync-s05Ly6lj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeSelectMenuSync-s05Ly6lj.js","sources":["../src/beta/components/TreeSelectMenu/TreeSelectMenu.tsx","../src/beta/components/TreeSelectMenu/TreeSelectMenuSync.tsx"],"sourcesContent":["import {\n forwardRef,\n useId,\n useRef,\n useState,\n useEffect,\n useImperativeHandle,\n useCallback,\n type ChangeEvent,\n type KeyboardEvent,\n} from \"react\";\nimport { TreeSelectMenuHandle, TreeSelectMenuProps } from \"./types\";\nimport {\n TreeSelectFieldNode,\n TreeSelectFieldValue,\n} from \"../TreeSelectField/types\";\nimport { SearchField } from \"../../../components\";\nimport { OptionsPopover } from \"../../../internal/components/OptionsPopover/OptionsPopover\";\nimport { OptionsDialog } from \"../../../internal/components/OptionsDialog/OptionsDialog\";\nimport { MenuFooter } from \"../../../internal/components/MenuFooter/MenuFooter\";\nimport { useConfirmationDraft } from \"../../../internal/hooks/useConfirmationDraft\";\nimport { resolveConfirmation } from \"../../../internal/types/confirmationTypes\";\nimport { arrayIdsEqual } from \"../../../internal/utils/arrayIdsEqual\";\nimport { useAdaptiveView } from \"../../hooks/useAdaptiveView\";\nimport { useTreeLoader } from \"../TreeSelectField/internal/useTreeLoader\";\nimport { useTree } from \"../TreeSelectField/internal/useTree\";\nimport { TreeContent } from \"../TreeSelectField/internal/TreeContent\";\nimport { findNode } from \"../TreeSelectField/internal/treeUtils\";\nimport { useTreeLazyCascade } from \"../TreeSelectField/internal/useTreeLazyCascade\";\n\n/**\n * TreeSelectMenu component for selecting tree nodes from a dropdown triggered by any element.\n *\n * Features:\n * - Attaches to any trigger element via a render prop\n * - Async tree data loading via loadOptions callback with optional LRU caching\n * - Single-select and multi-select modes with linked/independent cascade\n * - Cascading parent/child selection in linked mode\n * - Search filtering across visible nodes\n * - Lazy branch expansion with on-demand children loading\n * - Virtualized rendering for large trees via the virtualize prop\n * - Full keyboard navigation (ArrowDown/Up, ArrowRight/Left, Enter, Home/End, Escape)\n * - Supports both popover and dialog display modes\n * - Adaptive display based on device (mobile uses dialog)\n * - Configurable popover width\n * - Imperative handle for clearCache, invalidate, expandAll, collapseAll\n * - Full accessibility support with ARIA tree attributes\n *\n * @example\n * <TreeSelectMenu\n * trigger={(props) => <Button {...props}>Select Categories</Button>}\n * label=\"Categories\"\n * value={selected}\n * onSelectedOptionsChange={setSelected}\n * loadOptions={async (search) => fetchCategories(search)}\n * />\n */\nexport const TreeSelectMenu = forwardRef<\n TreeSelectMenuHandle,\n TreeSelectMenuProps\n>((props, ref) => {\n const {\n id: idProp,\n trigger,\n onMenuKeyDown,\n onImplicitClose,\n onExplicitClose,\n label,\n searchPlaceholder,\n displayMenuAs: displayMenuAsProp = \"auto\",\n virtualize,\n disableSearch,\n popoverWidth,\n debounceMs = 200,\n onSearchChange,\n value,\n onSelectedOptionsChange,\n selectionMode = \"linked\",\n valueConsistsOf = \"LEAF_PRIORITY\",\n defaultExpandLevel,\n expandedIds,\n onExpandedIdsChange,\n loadOptions,\n cache,\n initialLoad,\n confirmation: confirmationProp,\n clear,\n } = props;\n\n const confirmation = resolveConfirmation(confirmationProp);\n\n const autoId = useId();\n const id = idProp ?? autoId;\n const triggerRef = useRef<HTMLButtonElement>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const treePanelRef = useRef<HTMLDivElement>(null);\n\n const isSingleSelect = selectionMode === \"single\";\n const branchesSelectable = isSingleSelect\n ? valueConsistsOf !== \"LEAF_ONLY\"\n : true;\n const leavesSelectable = valueConsistsOf !== \"BRANCH_ONLY\";\n const emptyBranchesSelectable = valueConsistsOf !== \"LEAF_ONLY\";\n\n const { isMobile } = useAdaptiveView();\n const displayAs =\n displayMenuAsProp === \"auto\"\n ? isMobile\n ? \"dialog\"\n : \"popover\"\n : displayMenuAsProp;\n\n // ---------------------------------------------------------------------------\n // Search state\n // ---------------------------------------------------------------------------\n\n const [inputValue, setInputValue] = useState(\"\");\n const searchValue = disableSearch ? \"\" : inputValue;\n\n const handleSearchChange = useCallback(\n (v: string) => {\n setInputValue(v);\n onSearchChange?.(v);\n },\n [onSearchChange],\n );\n\n // ---------------------------------------------------------------------------\n // Tree loader\n // ---------------------------------------------------------------------------\n\n const loader = useTreeLoader({\n loadOptions,\n cache,\n initialLoad,\n debounceMs,\n });\n\n // ---------------------------------------------------------------------------\n // Menu open state\n // ---------------------------------------------------------------------------\n\n const [isOpen, setIsOpen] = useState(false);\n\n // Confirmation mode: selection changes are held in a draft while the menu is\n // open and only commit to `onSelectedOptionsChange` on Apply. When disabled,\n // setDraft passes straight through and displayValue mirrors `value`.\n const pendingApplyRef = useRef(false);\n const {\n displayValue: draftValue,\n setDraft,\n apply,\n cancel,\n } = useConfirmationDraft<TreeSelectFieldValue[]>({\n value,\n onCommit: onSelectedOptionsChange,\n isOpen,\n enabled: confirmation.enabled,\n isEqual: arrayIdsEqual,\n });\n\n const openMenu = useCallback(() => {\n setIsOpen(true);\n loader.onOpen();\n }, [loader]);\n\n // Trigger search in loader when searchValue changes\n const isFirstSearchEffect = useRef(true);\n useEffect(() => {\n if (isFirstSearchEffect.current) {\n isFirstSearchEffect.current = false;\n return;\n }\n loader.search(searchValue ?? \"\");\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Only re-run when searchValue changes\n }, [searchValue]);\n\n // ---------------------------------------------------------------------------\n // Tree state\n // ---------------------------------------------------------------------------\n\n const tree = useTree({\n nodes: loader.nodes,\n value: draftValue,\n onSelectedOptionsChange: setDraft,\n selectionMode,\n valueConsistsOf,\n defaultExpandLevel,\n expandedIds,\n onExpandedIdsChange,\n searchValue,\n ancestry: loader.ancestry,\n loadingChildrenIds: loader.isLoadingChildren,\n });\n\n // ---------------------------------------------------------------------------\n // Imperative handle\n // ---------------------------------------------------------------------------\n\n useImperativeHandle(\n ref,\n () => ({\n clearCache: loader.clearCache,\n invalidate: loader.invalidate,\n expandAll: tree.expandAll,\n collapseAll: tree.collapseAll,\n }),\n [loader.clearCache, loader.invalidate, tree.expandAll, tree.collapseAll],\n );\n\n // ---------------------------------------------------------------------------\n // Lazy-cascade: load unloaded descendants before toggling selection\n // ---------------------------------------------------------------------------\n\n // closeMenu is defined below; the cascade reads it via ref so its\n // single-select close callback can stay stable.\n const closeMenuRef = useRef<() => void>(() => undefined);\n\n const onCloseAfterSingleSelect = useCallback(() => {\n // In confirmation mode nothing commits until Apply, so keep the menu open\n // after a single-select pick rather than auto-closing (which would discard\n // the draft).\n if (confirmation.enabled) return;\n closeMenuRef.current();\n }, [confirmation.enabled]);\n\n const {\n handleToggleNode,\n pendingToggleNodeId,\n reset: resetLazyCascade,\n } = useTreeLazyCascade({\n tree,\n loader,\n isSingleSelect,\n branchesSelectable,\n leavesSelectable,\n emptyBranchesSelectable,\n onCloseAfterSingleSelect,\n });\n\n const closeMenu = useCallback(\n (opts?: { restoreFocus?: boolean }) => {\n // In confirmation mode, closing the menu by any means other than an\n // explicit Apply / Clear (which set pendingApplyRef) discards the draft.\n if (confirmation.enabled && !pendingApplyRef.current) cancel();\n pendingApplyRef.current = false;\n\n setIsOpen(false);\n handleSearchChange(\"\");\n resetLazyCascade();\n\n const shouldRestoreFocus = opts?.restoreFocus ?? true;\n if (shouldRestoreFocus) {\n onExplicitClose?.();\n requestAnimationFrame(() => {\n triggerRef.current?.focus();\n });\n } else {\n onImplicitClose?.();\n }\n },\n [\n confirmation.enabled,\n cancel,\n handleSearchChange,\n resetLazyCascade,\n onImplicitClose,\n onExplicitClose,\n ],\n );\n\n useEffect(() => {\n closeMenuRef.current = () => closeMenu();\n }, [closeMenu]);\n\n const handleApply = useCallback(() => {\n apply();\n pendingApplyRef.current = true;\n closeMenu();\n }, [apply, closeMenu]);\n\n const handleCancel = useCallback(() => {\n closeMenu();\n }, [closeMenu]);\n\n // ---------------------------------------------------------------------------\n // Keyboard handlers\n // ---------------------------------------------------------------------------\n\n const getActiveNode = useCallback((): TreeSelectFieldNode | undefined => {\n const descId = tree.activeDescendantId;\n if (!descId) return undefined;\n const nodeId = descId.replace(/^treeitem-/, \"\");\n const numId = Number(nodeId);\n return findNode(tree.nodes, Number.isNaN(numId) ? nodeId : numId);\n }, [tree.activeDescendantId, tree.nodes]);\n\n const handleMenuKeyDown = useCallback(\n (e: KeyboardEvent) => {\n onMenuKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n if (e.key === \"Escape\") {\n e.stopPropagation();\n closeMenu();\n return;\n }\n\n if (e.key === \"Tab\") {\n closeMenu({ restoreFocus: false });\n return;\n }\n\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n tree.onKeyDown(e);\n return;\n }\n\n if (e.key === \"Enter\" || (disableSearch && e.key === \" \")) {\n const activeNode = getActiveNode();\n if (activeNode) {\n e.preventDefault();\n handleToggleNode(activeNode.id);\n }\n return;\n }\n\n if (e.key === \"ArrowRight\") {\n const activeNode = getActiveNode();\n if (activeNode?.children === null) {\n e.preventDefault();\n tree.toggleExpand(activeNode.id);\n void loader.loadChildren(activeNode);\n return;\n }\n }\n\n tree.onKeyDown(e);\n },\n [\n onMenuKeyDown,\n closeMenu,\n tree,\n getActiveNode,\n handleToggleNode,\n loader,\n disableSearch,\n ],\n );\n\n const handleTriggerKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n if (!isOpen) {\n openMenu();\n }\n }\n },\n [isOpen, openMenu],\n );\n\n const handleTriggerClick = useCallback(() => {\n if (isOpen) {\n closeMenu();\n } else {\n openMenu();\n }\n }, [isOpen, openMenu, closeMenu]);\n\n // ---------------------------------------------------------------------------\n // Focus management\n // ---------------------------------------------------------------------------\n\n useEffect(() => {\n if (!isOpen || displayAs !== \"popover\") return;\n\n const frameId = requestAnimationFrame(() => {\n if (!disableSearch) {\n searchRef.current?.focus();\n } else {\n treePanelRef.current?.focus();\n }\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [isOpen, displayAs, disableSearch]);\n\n // ---------------------------------------------------------------------------\n // Lazy children loader callback for panels\n // ---------------------------------------------------------------------------\n\n const handleLoadChildren = useCallback(\n (node: Parameters<typeof loader.loadChildren>[0]) => {\n void loader.loadChildren(node);\n },\n [loader],\n );\n\n // ---------------------------------------------------------------------------\n // Render\n // ---------------------------------------------------------------------------\n\n const treePropsMerged = disableSearch\n ? {\n ...tree.treeProps,\n id: `${id}-tree`,\n \"aria-label\": label,\n onKeyDown:\n handleMenuKeyDown as React.KeyboardEventHandler<HTMLDivElement>,\n tabIndex: 0,\n }\n : { ...tree.treeProps, id: `${id}-tree`, \"aria-label\": label };\n\n const panelProps = {\n visibleNodes: tree.visibleNodes,\n getCheckState: (nodeId: string | number) =>\n nodeId === pendingToggleNodeId ? \"loading\" : tree.getCheckState(nodeId),\n toggleNode: handleToggleNode,\n toggleExpand: tree.toggleExpand,\n getTreeItemProps: tree.getTreeItemProps,\n treeProps: treePropsMerged,\n activeDescendantId: tree.activeDescendantId,\n branchesSelectable,\n leavesSelectable,\n emptyBranchesSelectable,\n onHover: tree.setActiveNodeId,\n onLoadChildren: handleLoadChildren,\n } as const;\n\n const handleInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleSearchChange(e.target.value);\n },\n [handleSearchChange],\n );\n\n const handleSearchClear = useCallback(() => {\n handleSearchChange(\"\");\n }, [handleSearchChange]);\n\n const searchInput = !disableSearch ? (\n <SearchField\n ref={searchRef}\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={\n handleMenuKeyDown as React.KeyboardEventHandler<HTMLInputElement>\n }\n onClear={handleSearchClear}\n aria-activedescendant={tree.activeDescendantId}\n aria-controls={`${id}-tree`}\n placeholder={searchPlaceholder}\n type=\"search\"\n />\n ) : null;\n\n const handleClickOutside = useCallback(() => {\n closeMenu({ restoreFocus: false });\n }, [closeMenu]);\n\n const treeContent = (\n <TreeContent\n ref={treePanelRef}\n loading={loader.isLoading}\n hasNoVisibleNodes={tree.visibleNodes.length === 0}\n virtualize={virtualize}\n panelProps={panelProps}\n />\n );\n\n const triggerProps = {\n ref: triggerRef,\n onClick: handleTriggerClick,\n onKeyDown: handleTriggerKeyDown,\n \"aria-haspopup\": \"tree\" as const,\n \"aria-controls\": `${id}-tree`,\n \"aria-expanded\": isOpen,\n \"data-state\": (isOpen ? \"open\" : \"close\") as \"open\" | \"close\",\n };\n\n const confirmationConfig = confirmation.enabled\n ? {\n applyLabel: confirmation.applyLabel,\n cancelLabel: confirmation.cancelLabel,\n onApply: handleApply,\n onCancel: handleCancel,\n }\n : undefined;\n // Wrap clear's onClick so clicking Clear always also closes the menu and\n // returns focus to the trigger. In confirmation mode, flag the close as an\n // intentional commit so it isn't treated as a cancel.\n const wrappedClear = clear\n ? {\n ...clear,\n onClick: () => {\n clear.onClick();\n if (confirmation.enabled) pendingApplyRef.current = true;\n closeMenu();\n },\n }\n : undefined;\n // Only render a footer when at least one slot has content; an empty\n // <MenuFooter/> would still draw the popover/dialog footer divider.\n const hasFooter = !!wrappedClear || !!confirmationConfig;\n const footer = hasFooter ? (\n <MenuFooter clear={wrappedClear} confirmation={confirmationConfig} />\n ) : undefined;\n\n if (displayAs === \"dialog\") {\n return (\n <>\n {trigger(triggerProps)}\n <OptionsDialog\n id={`${id}-dialog`}\n isOpen={isOpen}\n onClose={() => closeMenu()}\n title={label}\n field={searchInput ?? undefined}\n footer={footer}\n initialFocusResolver={\n !disableSearch\n ? (elements) =>\n elements.find((el) => el.tagName === \"INPUT\") || elements[0]\n : undefined\n }\n >\n {isOpen ? treeContent : null}\n </OptionsDialog>\n </>\n );\n }\n\n return (\n <>\n {trigger(triggerProps)}\n <OptionsPopover\n id={`${id}-popover`}\n referenceElement={triggerRef}\n open={isOpen}\n onClose={handleClickOutside}\n width={popoverWidth ?? 320}\n footer={footer}\n >\n {searchInput}\n {isOpen ? treeContent : null}\n </OptionsPopover>\n </>\n );\n});\n\nTreeSelectMenu.displayName = \"TreeSelectMenu\";\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { MatchSorterOptions } from \"match-sorter\";\nimport { TreeSelectMenu } from \"./TreeSelectMenu\";\nimport type {\n TreeSelectMenuHandle,\n TreeSelectMenuNode,\n TreeSelectMenuProps,\n} from \"./types\";\nimport {\n TreeSyncFilterFn,\n applyChildCounts,\n defaultTreeSyncFilter,\n toTreeSyncFilterFn,\n} from \"../TreeSelectField/internal/treeSync\";\n\nexport type { TreeSyncFilterFn };\n\n/**\n * Props for the TreeSelectMenuSync component.\n * @property options - The static tree options to display.\n * @property filter - Custom filter function or MatchSorterOptions to control how nodes are filtered during search.\n * By default, filters by label and searchText using match-sorter, preserving parent nodes of any match.\n * @extends TreeSelectMenuProps\n */\nexport type TreeSelectMenuSyncProps = Omit<\n TreeSelectMenuProps,\n \"loadOptions\" | \"debounceMs\" | \"cache\" | \"initialLoad\"\n> & {\n /**\n * The static tree options to display in the menu.\n */\n options: TreeSelectMenuNode[];\n /**\n * Controls how options are filtered when the user types a search value.\n * Can be a function that returns nodes in the desired display order,\n * or a MatchSorterOptions object to customize the default match-sorter behavior.\n *\n * By default, nodes are filtered by `label` and `searchText` using match-sorter,\n * and parents of matching nodes are preserved in the tree structure.\n *\n * @example\n * <TreeSelectMenuSync\n * options={options}\n * filter={(nodes, searchValue) => {\n * return nodes.filter((node) =>\n * node.label.toLowerCase().includes(searchValue.toLowerCase())\n * );\n * }}\n * />\n *\n * @example\n * <TreeSelectMenuSync\n * options={options}\n * filter={{ keys: [\"label\"] }}\n * />\n */\n filter?: TreeSyncFilterFn | MatchSorterOptions<TreeSelectMenuNode>;\n};\n\n/**\n * TreeSelectMenuSync is a simplified wrapper around TreeSelectMenu for static (non-async) tree data.\n *\n * Features:\n * - Accepts static `options` instead of `loadOptions`.\n * - Performs client-side filtering with tree-structure awareness (parents of matches are preserved).\n * - Accepts a custom filter function or MatchSorterOptions to customize filtering behavior.\n * - Invalidates the menu when the options reference changes.\n * - Supports all other props of TreeSelectMenu.\n *\n * @example\n * <TreeSelectMenuSync\n * trigger={(props) => <Button {...props}>Select location</Button>}\n * label=\"Select location\"\n * options={locationTree}\n * value={selected}\n * onSelectedOptionsChange={setSelected}\n * />\n */\nexport const TreeSelectMenuSync = (props: TreeSelectMenuSyncProps) => {\n const {\n options,\n filter: filterProp = defaultTreeSyncFilter,\n ...rest\n } = props;\n\n const filter = useMemo(() => toTreeSyncFilterFn(filterProp), [filterProp]);\n\n // Populate childCount from the full static tree so branch check-state stays\n // accurate while search filters the visible subset.\n const processedOptions = useMemo(() => applyChildCounts(options), [options]);\n\n const loadOptions = useCallback(\n (searchValue: string) => {\n return filter(processedOptions, searchValue);\n },\n [filter, processedOptions],\n );\n\n const menuRef = useRef<TreeSelectMenuHandle>(null);\n const prevOptionsRef = useRef(options);\n\n useEffect(() => {\n if (prevOptionsRef.current !== options) {\n prevOptionsRef.current = options;\n menuRef.current?.invalidate();\n }\n }, [options]);\n\n return (\n <TreeSelectMenu\n ref={menuRef}\n loadOptions={loadOptions}\n debounceMs={0}\n {...rest}\n />\n );\n};\n\nTreeSelectMenuSync.displayName = \"TreeSelectMenuSync\";\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { F as Flex } from './Flex-_orhvoxS.js';
5
5
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
6
6
  import { c as cx } from './index-De1g9FRV.js';
7
7
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
8
- import { P as Popover, u as useMergeRefs } from './AiMark-BXL0sWIV.js';
8
+ import { P as Popover, u as useMergeRefs } from './AiMark-CS6MvraM.js';
9
9
  import { g as maskitoUpdateElement, m as maskitoDateOptionsGenerator, a as maskitoWithPlaceholder, h as maskitoTransform, u as useMaskito } from './index.esm-C2ZhC_8d.js';
10
10
  import { m as makeZeroShortcutPreprocessor } from './makeZeroShortcutPreprocessor-CxsiGTRW.js';
11
11
  import { t as textFieldStyles } from './TextField.module-C8FsjTpx.js';
@@ -939,4 +939,4 @@ const YearlessDateInputWithPicker = forwardRef((props, ref) => {
939
939
  YearlessDateInputWithPicker.displayName = "YearlessDateInputWithPicker";
940
940
 
941
941
  export { YearlessDateInputWithPicker as Y };
942
- //# sourceMappingURL=YearlessDateInputWithPicker-BIcVgz-J.js.map
942
+ //# sourceMappingURL=YearlessDateInputWithPicker-BHfFjCqE.js.map