@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
@@ -1,21 +1,21 @@
1
- .anvil2 {/* BASE */._combobox_1lzs3_2 {
1
+ .anvil2 {/* BASE */._combobox_1mlsg_2 {
2
2
  min-width: 8rem;
3
3
  position: relative;
4
- }._search-field_1lzs3_7 {
4
+ }._search-field_1mlsg_7 {
5
5
  flex-direction: column;
6
6
  font-size: var(--a2-typography-paragraph-size-default, var(--a2-font-size-400, 1rem));
7
7
  gap: var(--a2-size-2, 0.5rem);
8
- }._search-field_1lzs3_7._select_1lzs3_13 {
8
+ }._search-field_1mlsg_7._select_1mlsg_13 {
9
9
  cursor: pointer;
10
- }._popover-content_1lzs3_17 ._search-field_1lzs3_7 {
10
+ }._popover-content_1mlsg_17 ._search-field_1mlsg_7 {
11
11
  border-block-end: var(--a2-size-quarter, 0.0625rem) solid var(--a2-border-color-default, light-dark(var(--a2-color-neutral-400, #8b8b8b), var(--a2-color-neutral-600, #545454)));
12
12
  margin-block-end: var(--a2-size-4, 1rem);
13
13
  padding-block-end: var(--a2-size-6, 1.5rem);
14
14
  padding-block-start: var(--a2-size-2, 0.5rem);
15
15
  padding-inline-end: var(--a2-size-2, 0.5rem);
16
16
  padding-inline-start: var(--a2-size-2, 0.5rem);
17
- }._input-wrapper_1lzs3_26 {
18
- --a2-local-multi-select-field-input-height: calc(
17
+ }._input-wrapper_1mlsg_26 {
18
+ --a2-mod-multi-select-field-input-height: calc(
19
19
  var(--a2-size-10, 2.5rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
20
20
  );
21
21
  --a2-mod-multi-select-field-input-padding-inline-end: 4.5rem;
@@ -38,30 +38,30 @@
38
38
  padding-inline-end: var(--a2-mod-multi-select-field-input-padding-inline-end);
39
39
  padding-inline-start: var(--a2-size-3, 0.75rem);
40
40
  position: relative;
41
- }._input-wrapper_1lzs3_26:focus:not([disabled]), ._input-wrapper_1lzs3_26:focus-visible, ._input-wrapper_1lzs3_26:has(._input_1lzs3_26:focus-visible) {
41
+ }._input-wrapper_1mlsg_26:focus:not([disabled]), ._input-wrapper_1mlsg_26:focus-visible, ._input-wrapper_1mlsg_26:has(._input_1mlsg_26:focus-visible) {
42
42
  outline-width: var(--a2-size-half, 0.125rem);
43
- }._input-wrapper_1lzs3_26:has(._input_1lzs3_26._error_1lzs3_54) {
43
+ }._input-wrapper_1mlsg_26:has(._input_1mlsg_26._error_1mlsg_54) {
44
44
  border-color: var(--a2-border-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-200, #ffac9e)));
45
- }._input-wrapper_1lzs3_26:focus:has(._input_1lzs3_26._error_1lzs3_54):not([disabled]), ._input-wrapper_1lzs3_26:focus-visible:has(._input_1lzs3_26._error_1lzs3_54), ._input-wrapper_1lzs3_26:has(._input_1lzs3_26._error_1lzs3_54:focus-visible) {
45
+ }._input-wrapper_1mlsg_26:focus:has(._input_1mlsg_26._error_1mlsg_54):not([disabled]), ._input-wrapper_1mlsg_26:focus-visible:has(._input_1mlsg_26._error_1mlsg_54), ._input-wrapper_1mlsg_26:has(._input_1mlsg_26._error_1mlsg_54:focus-visible) {
46
46
  outline-color: var(--a2-focus-ring-color-danger, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
47
47
  outline-width: var(--a2-size-half, 0.125rem);
48
- }._input-wrapper_1lzs3_26._disabled_1lzs3_61, ._input-wrapper_1lzs3_26[disabled], ._input-wrapper_1lzs3_26:has(._input_1lzs3_26:disabled) {
48
+ }._input-wrapper_1mlsg_26._disabled_1mlsg_61, ._input-wrapper_1mlsg_26[disabled], ._input-wrapper_1mlsg_26:has(._input_1mlsg_26:disabled) {
49
49
  opacity: 0.4;
50
- }._input-wrapper_1lzs3_26._disabled_1lzs3_61 *, ._input-wrapper_1lzs3_26[disabled] *, ._input-wrapper_1lzs3_26:has(._input_1lzs3_26:disabled) * {
50
+ }._input-wrapper_1mlsg_26._disabled_1mlsg_61 *, ._input-wrapper_1mlsg_26[disabled] *, ._input-wrapper_1mlsg_26:has(._input_1mlsg_26:disabled) * {
51
51
  cursor: not-allowed;
52
- }._input-wrapper_1lzs3_26:has(input._input_1lzs3_26:-moz-read-only) {
52
+ }._input-wrapper_1mlsg_26:has(input._input_1mlsg_26:-moz-read-only) {
53
53
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
54
- }._input-wrapper_1lzs3_26[disabled], ._input-wrapper_1lzs3_26[readonly], ._input-wrapper_1lzs3_26._disabled_1lzs3_61, ._input-wrapper_1lzs3_26:has(input._input_1lzs3_26:read-only) {
54
+ }._input-wrapper_1mlsg_26[disabled], ._input-wrapper_1mlsg_26[readonly], ._input-wrapper_1mlsg_26._disabled_1mlsg_61, ._input-wrapper_1mlsg_26:has(input._input_1mlsg_26:read-only) {
55
55
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
56
- }._input-flex_1lzs3_71 {
56
+ }._input-flex_1mlsg_71 {
57
57
  flex: 1 1 100px;
58
58
  min-width: 100px;
59
59
  overflow: hidden;
60
60
  text-overflow: ellipsis;
61
61
  white-space: nowrap;
62
62
  width: 0;
63
- }._input_1lzs3_26,
64
- ._input_1lzs3_26[type] {
63
+ }._input_1mlsg_26,
64
+ ._input_1mlsg_26[type] {
65
65
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
66
66
  font-size: 100%;
67
67
  color: inherit;
@@ -77,32 +77,35 @@
77
77
  box-shadow: none;
78
78
  display: flex;
79
79
  flex: 1 0 100px;
80
- height: var(--a2-local-multi-select-field-input-height);
80
+ height: var(--a2-mod-multi-select-field-input-height);
81
81
  min-width: 100px;
82
82
  padding-block: var(--a2-size-2, 0.5rem);
83
83
  padding-inline: 0;
84
84
  transition: outline var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
85
85
  width: 100px;
86
- }._input_1lzs3_26::-moz-placeholder, ._input_1lzs3_26[type]::-moz-placeholder {
86
+ }._input_1mlsg_26:focus,
87
+ ._input_1mlsg_26[type]:focus {
88
+ box-shadow: none;
89
+ }._input_1mlsg_26::-moz-placeholder, ._input_1mlsg_26[type]::-moz-placeholder {
87
90
  color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
88
- }._input_1lzs3_26::placeholder,
89
- ._input_1lzs3_26[type]::placeholder {
91
+ }._input_1mlsg_26::placeholder,
92
+ ._input_1mlsg_26[type]::placeholder {
90
93
  color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
91
- }._input_1lzs3_26:focus-visible,
92
- ._input_1lzs3_26[type]:focus-visible {
94
+ }._input_1mlsg_26:focus-visible,
95
+ ._input_1mlsg_26[type]:focus-visible {
93
96
  box-shadow: none;
94
97
  outline: none;
95
98
  }@media (prefers-reduced-motion: reduce) {
96
- ._input_1lzs3_26,
97
- ._input_1lzs3_26[type] {
99
+ ._input_1mlsg_26,
100
+ ._input_1mlsg_26[type] {
98
101
  transition-duration: 0.01ms !important;
99
102
  transition-property: outline;
100
103
  }
101
- }input._input_1lzs3_26:-moz-read-only {
104
+ }input._input_1mlsg_26:-moz-read-only {
102
105
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
103
- }input._input_1lzs3_26:read-only {
106
+ }input._input_1mlsg_26:read-only {
104
107
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
105
- }._rows-wrapper_1lzs3_125 {
108
+ }._rows-wrapper_1mlsg_129 {
106
109
  align-items: stretch;
107
110
  display: flex;
108
111
  flex-direction: row;
@@ -111,15 +114,15 @@
111
114
  gap: 0 var(--a2-size-2, 0.5rem);
112
115
  max-width: 100%;
113
116
  width: 100%;
114
- }._chip-wrapper_1lzs3_136 {
117
+ }._chip-wrapper_1mlsg_140 {
115
118
  align-items: center;
116
119
  display: flex;
117
- height: var(--a2-local-multi-select-field-input-height);
120
+ height: var(--a2-mod-multi-select-field-input-height);
118
121
  justify-content: center;
119
122
  max-width: 100%;
120
- }._chip_1lzs3_136 {
121
- --a2-chip-max-width: 100%;
122
- }._buttons-wrapper_1lzs3_148 {
123
+ }._chip_1mlsg_140 {
124
+ --a2-mod-chip-max-width: 100%;
125
+ }._buttons-wrapper_1mlsg_152 {
123
126
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
124
127
  font-size: 100%;
125
128
  color: inherit;
@@ -130,11 +133,11 @@
130
133
  border-color: transparent;
131
134
  box-sizing: border-box;
132
135
  display: flex;
133
- height: var(--a2-local-multi-select-field-input-height);
136
+ height: var(--a2-mod-multi-select-field-input-height);
134
137
  inset-block-start: 0;
135
138
  inset-inline-end: 0;
136
139
  position: absolute;
137
- }._close-button-wrapper_1lzs3_165 {
140
+ }._close-button-wrapper_1mlsg_169 {
138
141
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
139
142
  font-size: 100%;
140
143
  color: inherit;
@@ -148,11 +151,11 @@
148
151
  align-items: center;
149
152
  cursor: pointer;
150
153
  display: flex;
151
- }._close-button_1lzs3_165 {
154
+ }._close-button_1mlsg_169 {
152
155
  --a2-mod-button-background-color: transparent;
153
- }._close-button_1lzs3_165[data-interactive=hover]::before, ._close-button_1lzs3_165:hover::before, ._close-button_1lzs3_165:disabled:not(._loading-infinite_1lzs3_184, ._loading-progress_1lzs3_184), ._close-button_1lzs3_165._disabled_1lzs3_61:not(._loading-infinite_1lzs3_184, ._loading-progress_1lzs3_184), ._close-button_1lzs3_165[aria-disabled=true]:not(._loading-infinite_1lzs3_184, ._loading-progress_1lzs3_184) {
156
+ }._close-button_1mlsg_169[data-interactive=hover]::before, ._close-button_1mlsg_169:hover::before, ._close-button_1mlsg_169:disabled:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._close-button_1mlsg_169._disabled_1mlsg_61:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._close-button_1mlsg_169[aria-disabled=true]:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188) {
154
157
  --a2-mod-button-background-color: transparent;
155
- }._toggle-button-wrapper_1lzs3_188 {
158
+ }._toggle-button-wrapper_1mlsg_192 {
156
159
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
157
160
  font-size: 100%;
158
161
  color: inherit;
@@ -166,23 +169,23 @@
166
169
  align-items: center;
167
170
  cursor: pointer;
168
171
  display: flex;
169
- }._toggle-button_1lzs3_188 {
172
+ }._toggle-button_1mlsg_192 {
170
173
  --a2-mod-button-background-color: transparent;
171
- --a2-mod-button-font-color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
174
+ --a2-mod-button-foreground-color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
172
175
  transform: rotate(90deg);
173
176
  transition: transform var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
174
- }._toggle-button_1lzs3_188[aria-expanded=true] {
177
+ }._toggle-button_1mlsg_192[aria-expanded=true] {
175
178
  transform: rotate(270deg);
176
- }._toggle-button_1lzs3_188[data-interactive=hover]::before, ._toggle-button_1lzs3_188:hover::before, ._toggle-button_1lzs3_188:disabled:not(._loading-infinite_1lzs3_184, ._loading-progress_1lzs3_184), ._toggle-button_1lzs3_188._disabled_1lzs3_61:not(._loading-infinite_1lzs3_184, ._loading-progress_1lzs3_184), ._toggle-button_1lzs3_188[aria-disabled=true]:not(._loading-infinite_1lzs3_184, ._loading-progress_1lzs3_184) {
179
+ }._toggle-button_1mlsg_192[data-interactive=hover]::before, ._toggle-button_1mlsg_192:hover::before, ._toggle-button_1mlsg_192:disabled:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._toggle-button_1mlsg_192._disabled_1mlsg_61:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188), ._toggle-button_1mlsg_192[aria-disabled=true]:not(._loading-infinite_1mlsg_188, ._loading-progress_1mlsg_188) {
177
180
  --a2-mod-button-background-color: transparent;
178
181
  }@media (prefers-reduced-motion: reduce) {
179
- ._toggle-button_1lzs3_188 {
182
+ ._toggle-button_1mlsg_192 {
180
183
  transition-duration: 0.01ms !important;
181
184
  }
182
- }[aria-expanded=true] ._toggle-button-wrapper_1lzs3_188 ._toggle-button_1lzs3_188 {
185
+ }[aria-expanded=true] ._toggle-button-wrapper_1mlsg_192 ._toggle-button_1mlsg_192 {
183
186
  transform: rotate(270deg);
184
- }._prefix_1lzs3_226,
185
- ._suffix_1lzs3_227 {
187
+ }._prefix_1mlsg_230,
188
+ ._suffix_1mlsg_231 {
186
189
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
187
190
  font-size: 100%;
188
191
  color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
@@ -198,27 +201,27 @@
198
201
  font-weight: var(--a2-font-weight-semibold, 600);
199
202
  justify-content: center;
200
203
  min-width: var(--a2-size-8, 2rem);
201
- }._prefix_1lzs3_226 {
204
+ }._prefix_1mlsg_230 {
202
205
  padding-inline-end: var(--a2-size-2, 0.5rem);
203
- }._suffix_1lzs3_227 {
206
+ }._suffix_1mlsg_231 {
204
207
  padding-inline-end: var(--a2-size-2, 0.5rem);
205
208
  padding-inline-start: var(--a2-size-2, 0.5rem);
206
- }._popover-content_1lzs3_17 {
209
+ }._popover-content_1mlsg_17 {
207
210
  display: flex;
208
211
  flex-direction: column;
209
212
  overflow: hidden;
210
- }._listview_1lzs3_260 {
213
+ }._listview_1mlsg_264 {
211
214
  padding-block: var(--a2-size-2, 0.5rem);
212
215
  padding-inline: var(--a2-size-2, 0.5rem);
213
- }._loading-spinner_1lzs3_265 {
216
+ }._loading-spinner_1mlsg_269 {
214
217
  height: var(--a2-size-6, 1.5rem);
215
218
  width: var(--a2-size-6, 1.5rem);
216
- }._empty_1lzs3_270 {
219
+ }._empty_1mlsg_274 {
217
220
  padding-block-end: var(--a2-size-4, 1rem);
218
221
  padding-block-start: var(--a2-size-3, 0.75rem);
219
222
  padding-inline-end: var(--a2-size-6, 1.5rem);
220
223
  padding-inline-start: var(--a2-size-6, 1.5rem);
221
- }._item_1lzs3_277 {
224
+ }._item_1mlsg_281 {
222
225
  --a2-mod-multi-select-field-item-background-color: transparent;
223
226
  --a2-mod-multi-select-field-item-color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
224
227
  background-color: var(--a2-mod-multi-select-field-item-background-color);
@@ -232,37 +235,37 @@
232
235
  padding-block: var(--a2-size-2, 0.5rem);
233
236
  padding-inline: var(--a2-size-4, 1rem);
234
237
  position: relative;
235
- }/* MODIFIERS */._no-clear-button_1lzs3_294 {
238
+ }/* MODIFIERS */._no-clear-button_1mlsg_298 {
236
239
  --a2-mod-multi-select-field-input-padding-inline-end: var(--a2-size-8, 2rem);
237
- }._no-toggle-button_1lzs3_298 {
240
+ }._no-toggle-button_1mlsg_302 {
238
241
  --a2-mod-multi-select-field-input-padding-inline-end: var(--a2-size-8, 2rem);
239
- }._small_1lzs3_302 {
240
- --a2-local-multi-select-field-input-height: calc(
242
+ }._small_1mlsg_306 {
243
+ --a2-mod-multi-select-field-input-height: calc(
241
244
  var(--a2-size-8, 2rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
242
245
  );
243
- }._large_1lzs3_308 {
244
- --a2-local-multi-select-field-input-height: calc(
246
+ }._large_1mlsg_312 {
247
+ --a2-mod-multi-select-field-input-height: calc(
245
248
  var(--a2-size-12, 3rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
246
249
  );
247
- }._listview-option_1lzs3_314:not([aria-disabled=true]) {
250
+ }._listview-option_1mlsg_318:not([aria-disabled=true]) {
248
251
  cursor: pointer;
249
- }._listview-option_1lzs3_314[aria-selected=true]:not([aria-disabled=true]) {
252
+ }._listview-option_1mlsg_318[aria-selected=true]:not([aria-disabled=true]) {
250
253
  --a2-mod-multi-select-field-item-background-color: var(--a2-background-color-transparent-default-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 8%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 8%, transparent)));
251
- }._item_1lzs3_277[data-interactive=hover]:not([aria-disabled=true]),
252
- ._item_1lzs3_277:hover:not([aria-disabled=true]),
253
- ._item_1lzs3_277[aria-selected=true]:not([aria-disabled=true]) {
254
+ }._item_1mlsg_281[data-interactive=hover]:not([aria-disabled=true]),
255
+ ._item_1mlsg_281:hover:not([aria-disabled=true]),
256
+ ._item_1mlsg_281[aria-selected=true]:not([aria-disabled=true]) {
254
257
  --a2-mod-multi-select-field-item-background-color: var(--a2-background-color-transparent-default-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 8%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 8%, transparent)));
255
- }._item_1lzs3_277[aria-disabled=true] {
258
+ }._item_1mlsg_281[aria-disabled=true] {
256
259
  cursor: not-allowed;
257
260
  opacity: 0.6;
258
- }._item_1lzs3_277[data-checked=true] {
261
+ }._item_1mlsg_281[data-checked=true] {
259
262
  --a2-mod-multi-select-field-item-background-color: var(--a2-background-color-primary-subdued, light-dark(var(--a2-color-blue-50, #e6f1ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 20%, transparent)));
260
263
  --a2-mod-multi-select-field-item-color: var(--a2-foreground-color-primary, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)));
261
- }._item_1lzs3_277[data-checked=true]:hover:not([aria-disabled=true]),
262
- ._item_1lzs3_277[data-checked=true][aria-selected=true]:not([aria-disabled=true]),
263
- ._item_1lzs3_277[data-checked=true][data-interactive=hover]:not([aria-disabled=true]) {
264
+ }._item_1mlsg_281[data-checked=true]:hover:not([aria-disabled=true]),
265
+ ._item_1mlsg_281[data-checked=true][aria-selected=true]:not([aria-disabled=true]),
266
+ ._item_1mlsg_281[data-checked=true][data-interactive=hover]:not([aria-disabled=true]) {
264
267
  --a2-mod-multi-select-field-item-background-color: var(--a2-background-color-primary-subdued-hover, light-dark(var(--a2-color-blue-100, #cce3ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 30%, transparent)));
265
- }._item_1lzs3_277[data-checked=true]:active:not([aria-disabled=true]) {
268
+ }._item_1mlsg_281[data-checked=true]:active:not([aria-disabled=true]) {
266
269
  --a2-mod-multi-select-field-item-background-color: var(--a2-background-color-primary-subdued-active, light-dark(var(--a2-color-blue-200, #9ecaff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 40%, transparent)));
267
270
  }
268
271
  }
@@ -1,2 +1,2 @@
1
- export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-BNPp_2Bm.js';
1
+ export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-Drz8SEk9.js';
2
2
  //# sourceMappingURL=MultiSelectMenu.js.map
@@ -1,10 +1,13 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { forwardRef, useRef, useId, useMemo, useState, useCallback, useEffect } from 'react';
3
- import { u as useToggleSelection, M as MultiSelectOptions } from './useToggleSelection-B5PnTuT2.js';
4
- import { a as useSelectOrchestration, b as useProcessedOptions, c as buildSelectItems, d as useDebouncedCallback, e as OptionsDialog, f as OptionsPopover, A as AddNewItemButton, g as defaultSyncFilter, t as toSyncFilterFn } from './syncFilterUtils-COxBIkt6.js';
5
- import { u as useMenuInteraction } from './useMenuInteraction-C4RU5Fdq.js';
2
+ import { forwardRef, useRef, useId, useMemo, useEffect, useState, useCallback } from 'react';
3
+ import { u as useBulkActionRunner, a as useToggleSelection, M as MultiSelectOptions } from './useToggleSelection-Bn7h-gGD.js';
4
+ import { O as OptionsDialog, a as OptionsPopover } from './useAdaptiveView-CeYKH0Me.js';
5
+ import { u as useSelectOrchestration, a as useProcessedOptions, b as buildSelectItems, c as useDebouncedCallback, A as AddNewItemButton, d as defaultSyncFilter, t as toSyncFilterFn } from './syncFilterUtils-DZqeVWTS.js';
6
+ import { M as MenuFooter } from './MenuFooter-CrsZdXvN.js';
7
+ import { u as useMenuInteraction } from './useMenuInteraction-NEJXUD4I.js';
8
+ import { r as resolveConfirmation, u as useConfirmationDraft, a as arrayIdsEqual } from './confirmationTypes-CG7xl50f.js';
9
+ import { S as SearchField } from './SearchField-BMHJCVFu.js';
6
10
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
7
- import { S as SearchField } from './SearchField-3tUPU8hH.js';
8
11
 
9
12
  const MultiSelectMenu = forwardRef((props, ref) => {
10
13
  const triggerRef = useRef(null);
@@ -33,8 +36,11 @@ const MultiSelectMenu = forwardRef((props, ref) => {
33
36
  onImplicitClose,
34
37
  onExplicitClose,
35
38
  addItemLabel,
36
- onAddNewItem
39
+ onAddNewItem,
40
+ confirmation: confirmationProp,
41
+ clear
37
42
  } = props;
43
+ const confirmation = resolveConfirmation(confirmationProp);
38
44
  const groupToString = "groupToString" in props ? props.groupToString : void 0;
39
45
  const groupSorter = "groupSorter" in props ? props.groupSorter : void 0;
40
46
  const autoId = useId();
@@ -66,8 +72,9 @@ const MultiSelectMenu = forwardRef((props, ref) => {
66
72
  });
67
73
  const selectAll = useMemo(
68
74
  () => selectAllProp ? {
69
- label: selectAllProp.label ?? "Select All",
75
+ label: selectAllProp.label,
70
76
  onClick: selectAllProp.onClick,
77
+ compute: selectAllProp.compute,
71
78
  checkState: selectAllProp.checkState === true ? "checked" : selectAllProp.checkState === false ? "unchecked" : selectAllProp.checkState ?? "indeterminate"
72
79
  } : void 0,
73
80
  [selectAllProp]
@@ -78,11 +85,20 @@ const MultiSelectMenu = forwardRef((props, ref) => {
78
85
  return {
79
86
  label: config.label,
80
87
  onClick: config.onClick,
88
+ compute: config.compute,
81
89
  checkState: config.checkState === true ? "checked" : config.checkState === false ? "unchecked" : config.checkState ?? "indeterminate"
82
90
  };
83
91
  } : void 0,
84
92
  [selectFilteredProp]
85
93
  );
94
+ useEffect(() => {
95
+ if (!confirmation.enabled) return;
96
+ if (selectAllProp && !selectAllProp.compute) {
97
+ warnOnce(
98
+ "MultiSelectMenu: `selectAll.onClick` bypasses confirmation. Use `selectAll.compute` to integrate the bulk action with the draft."
99
+ );
100
+ }
101
+ }, [confirmation.enabled, selectAllProp]);
86
102
  const [inputValue, setInputValue] = useState("");
87
103
  const searchValue = disableSearch ? "" : inputValue;
88
104
  const { pinnedSections, ungroupedItems, groupSections } = useProcessedOptions(
@@ -94,12 +110,49 @@ const MultiSelectMenu = forwardRef((props, ref) => {
94
110
  groupSorter
95
111
  }
96
112
  );
113
+ const [isOpen, setIsOpen] = useState(false);
114
+ const {
115
+ displayValue: draftSelectedOptions,
116
+ setDraft,
117
+ apply,
118
+ cancel
119
+ } = useConfirmationDraft({
120
+ value: selectedOptions,
121
+ onCommit: onSelectedOptionsChange,
122
+ isOpen,
123
+ enabled: confirmation.enabled,
124
+ isEqual: arrayIdsEqual
125
+ });
126
+ const {
127
+ pending: bulkPending,
128
+ runBulk,
129
+ setDraftAndBump,
130
+ reset: resetBulk
131
+ } = useBulkActionRunner({ setDraft });
97
132
  const { handleItemClick } = useToggleSelection({
98
133
  options,
99
134
  pinnedSections,
100
- selectedOptions,
101
- onSelectedOptionsChange
135
+ selectedOptions: draftSelectedOptions,
136
+ // Route per-option toggles through setDraftAndBump so that any in-flight
137
+ // bulk-action promise's resolution is discarded if it arrives after this
138
+ // click.
139
+ onSelectedOptionsChange: setDraftAndBump
102
140
  });
141
+ const runBulkAction = useCallback(
142
+ (config, kind) => {
143
+ if (config.compute) {
144
+ runBulk(config.compute, draftSelectedOptions);
145
+ } else if (config.onClick) {
146
+ if (confirmation.enabled && kind === "selectFiltered") {
147
+ warnOnce(
148
+ "MultiSelectMenu: `selectFiltered.onClick` bypasses confirmation. Use `selectFiltered.compute` to integrate the bulk action with the draft."
149
+ );
150
+ }
151
+ config.onClick();
152
+ }
153
+ },
154
+ [runBulk, draftSelectedOptions, confirmation.enabled]
155
+ );
103
156
  const bulkActionItems = useMemo(() => {
104
157
  const items2 = [];
105
158
  if (selectAll && !searchValue) {
@@ -107,7 +160,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
107
160
  id: "select-all",
108
161
  type: "select-all",
109
162
  original: { id: "select-all", label: selectAll.label ?? "Select All" },
110
- checkState: selectAll.checkState
163
+ checkState: bulkPending ? "loading" : selectAll.checkState
111
164
  });
112
165
  }
113
166
  if (selectFiltered && searchValue && !loading) {
@@ -119,11 +172,11 @@ const MultiSelectMenu = forwardRef((props, ref) => {
119
172
  id: "select-filtered",
120
173
  label: config.label ?? "Select Filtered"
121
174
  },
122
- checkState: config.checkState
175
+ checkState: bulkPending ? "loading" : config.checkState
123
176
  });
124
177
  }
125
178
  return items2;
126
- }, [selectAll, selectFiltered, searchValue, loading]);
179
+ }, [selectAll, selectFiltered, searchValue, loading, bulkPending]);
127
180
  const { items, sectionsMeta } = useMemo(
128
181
  () => buildSelectItems({
129
182
  prefixItems: bulkActionItems,
@@ -134,24 +187,23 @@ const MultiSelectMenu = forwardRef((props, ref) => {
134
187
  [bulkActionItems, pinnedSections, groupSections, ungroupedItems]
135
188
  );
136
189
  const selectedItemIds = useMemo(
137
- () => new Set(selectedOptions.map((o) => o.id)),
138
- [selectedOptions]
190
+ () => new Set(draftSelectedOptions.map((o) => o.id)),
191
+ [draftSelectedOptions]
139
192
  );
140
193
  const handleItemActivate = useCallback(
141
194
  (item) => {
142
195
  if (item.type === "select-all") {
143
- selectAll?.onClick();
196
+ if (selectAll) runBulkAction(selectAll, "selectAll");
144
197
  } else if (item.type === "select-filtered" && selectFiltered) {
145
- const config = selectFiltered(searchValue);
146
- config.onClick();
198
+ runBulkAction(selectFiltered(searchValue), "selectFiltered");
147
199
  } else if (item.type === "option" || item.type === "pinned-option" || item.type === "grouped-option") {
148
200
  handleItemClick(item.original);
149
201
  }
150
202
  },
151
- [selectAll, selectFiltered, searchValue, handleItemClick]
203
+ [selectAll, selectFiltered, searchValue, handleItemClick, runBulkAction]
152
204
  );
205
+ const pendingApplyRef = useRef(false);
153
206
  const {
154
- isOpen,
155
207
  closeMenu,
156
208
  highlightedIndex,
157
209
  getTriggerProps,
@@ -167,11 +219,25 @@ const MultiSelectMenu = forwardRef((props, ref) => {
167
219
  selectedItemIds,
168
220
  displayAs,
169
221
  closeOnActivate: false,
222
+ // While a bulk-action promise is pending, disable all rows.
223
+ disabled: bulkPending,
170
224
  id,
171
225
  triggerRef,
172
226
  label,
173
- onImplicitClose,
174
- onExplicitClose
227
+ isOpen,
228
+ setIsOpen,
229
+ onImplicitClose: () => {
230
+ if (confirmation.enabled && !pendingApplyRef.current) cancel();
231
+ pendingApplyRef.current = false;
232
+ resetBulk();
233
+ onImplicitClose?.();
234
+ },
235
+ onExplicitClose: () => {
236
+ if (confirmation.enabled && !pendingApplyRef.current) cancel();
237
+ pendingApplyRef.current = false;
238
+ resetBulk();
239
+ onExplicitClose?.();
240
+ }
175
241
  });
176
242
  const debouncedOptionLoader = useDebouncedCallback((value) => {
177
243
  loadOptions(value, { initial: true });
@@ -262,6 +328,14 @@ const MultiSelectMenu = forwardRef((props, ref) => {
262
328
  debouncedOptionLoader("");
263
329
  onSearchChange?.("");
264
330
  }, [debouncedOptionLoader, onSearchChange]);
331
+ const handleApply = useCallback(() => {
332
+ apply();
333
+ pendingApplyRef.current = true;
334
+ closeMenu();
335
+ }, [apply, closeMenu]);
336
+ const handleCancel = useCallback(() => {
337
+ closeMenu();
338
+ }, [closeMenu]);
265
339
  const searchInput = !disableSearch ? /* @__PURE__ */ jsx(
266
340
  SearchField,
267
341
  {
@@ -282,9 +356,35 @@ const MultiSelectMenu = forwardRef((props, ref) => {
282
356
  searchText: inputValue,
283
357
  addItemLabel,
284
358
  onAddNewItem,
285
- onCloseMenu: () => closeMenu({ restoreFocus: false })
359
+ onCloseMenu: () => {
360
+ pendingApplyRef.current = true;
361
+ closeMenu({ restoreFocus: false });
362
+ }
286
363
  }
287
364
  ) : null;
365
+ const confirmationConfig = confirmation.enabled ? {
366
+ applyLabel: confirmation.applyLabel,
367
+ cancelLabel: confirmation.cancelLabel,
368
+ onApply: handleApply,
369
+ onCancel: handleCancel
370
+ } : void 0;
371
+ const wrappedClear = clear ? {
372
+ ...clear,
373
+ onClick: () => {
374
+ clear.onClick();
375
+ if (confirmation.enabled) pendingApplyRef.current = true;
376
+ closeMenu();
377
+ }
378
+ } : void 0;
379
+ const hasFooter = !!wrappedClear || !!confirmationConfig || !!addNewItemButton;
380
+ const footer = hasFooter ? /* @__PURE__ */ jsx(
381
+ MenuFooter,
382
+ {
383
+ clear: wrappedClear,
384
+ confirmation: confirmationConfig,
385
+ addNew: addNewItemButton
386
+ }
387
+ ) : void 0;
288
388
  if (displayAs === "dialog") {
289
389
  return /* @__PURE__ */ jsxs(Fragment, { children: [
290
390
  trigger(triggerProps),
@@ -296,7 +396,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
296
396
  onClose: closeMenu,
297
397
  title: label,
298
398
  field: searchInput ?? void 0,
299
- footer: addNewItemButton ?? void 0,
399
+ footer: footer ?? void 0,
300
400
  initialFocusResolver: !disableSearch ? (elements) => elements.find((el) => el.tagName === "INPUT") || elements[0] : void 0,
301
401
  children: /* @__PURE__ */ jsx(
302
402
  MultiSelectOptions,
@@ -314,7 +414,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
314
414
  },
315
415
  getItemProps,
316
416
  highlightedIndex,
317
- selectedOptions,
417
+ selectedOptions: draftSelectedOptions,
318
418
  hasMore,
319
419
  onLoadMore: handleLoadMore,
320
420
  loading,
@@ -336,7 +436,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
336
436
  open: isOpen && displayAs === "popover",
337
437
  onClose: handleClickOutside,
338
438
  width: popoverWidth ?? 320,
339
- footer: addNewItemButton ?? void 0,
439
+ footer: footer ?? void 0,
340
440
  children: [
341
441
  searchInput,
342
442
  /* @__PURE__ */ jsx(
@@ -355,7 +455,7 @@ const MultiSelectMenu = forwardRef((props, ref) => {
355
455
  },
356
456
  getItemProps,
357
457
  highlightedIndex,
358
- selectedOptions,
458
+ selectedOptions: draftSelectedOptions,
359
459
  hasMore,
360
460
  onLoadMore: handleLoadMore,
361
461
  loading,
@@ -391,19 +491,21 @@ const MultiSelectMenuSync = (props) => {
391
491
  const labelProp = typeof selectAllProp === "object" ? selectAllProp.label : void 0;
392
492
  const label = typeof labelProp === "function" ? labelProp(allSelected) : labelProp;
393
493
  const checkState = allSelected ? "checked" : selectedCount > 0 ? "indeterminate" : "unchecked";
394
- const handleClick = () => {
395
- if (allSelected) {
396
- onSelectedOptionsChange([]);
397
- } else {
398
- onSelectedOptionsChange(enabledOptions);
494
+ const compute = (current) => {
495
+ const currentIds = new Set(current.map((v) => v.id));
496
+ const allEnabledSelected = enabledOptions.length > 0 && enabledOptions.every((o) => currentIds.has(o.id));
497
+ if (allEnabledSelected) {
498
+ return current.filter((v) => !enabledIds.has(v.id));
399
499
  }
500
+ const additions = enabledOptions.filter((o) => !currentIds.has(o.id));
501
+ return [...current, ...additions];
400
502
  };
401
503
  return {
402
504
  label,
403
- onClick: handleClick,
505
+ compute,
404
506
  checkState
405
507
  };
406
- }, [selectAllProp, options, value, onSelectedOptionsChange]);
508
+ }, [selectAllProp, options, value]);
407
509
  const selectFilteredConfig = useMemo(() => {
408
510
  if (!selectFilteredProp) return void 0;
409
511
  return (searchValue) => {
@@ -411,6 +513,9 @@ const MultiSelectMenuSync = (props) => {
411
513
  const enabledFilteredOptions = filteredOptions.filter(
412
514
  (opt) => !opt.disabled
413
515
  );
516
+ const enabledFilteredIds = new Set(
517
+ enabledFilteredOptions.map((o) => o.id)
518
+ );
414
519
  const selectedIds = new Set(value.map((v) => v.id));
415
520
  const allFilteredSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((opt) => selectedIds.has(opt.id));
416
521
  const someFilteredSelected = enabledFilteredOptions.some(
@@ -418,25 +523,24 @@ const MultiSelectMenuSync = (props) => {
418
523
  );
419
524
  const label = typeof selectFilteredProp === "function" ? selectFilteredProp(searchValue).label : void 0;
420
525
  const checkState = allFilteredSelected ? "checked" : someFilteredSelected ? "indeterminate" : "unchecked";
421
- const handleClick = () => {
422
- if (allFilteredSelected) {
423
- const filteredIds = new Set(enabledFilteredOptions.map((o) => o.id));
424
- onSelectedOptionsChange(value.filter((v) => !filteredIds.has(v.id)));
425
- } else {
426
- const currentIds = new Set(value.map((v) => v.id));
427
- const newSelections = enabledFilteredOptions.filter(
428
- (opt) => !currentIds.has(opt.id)
429
- );
430
- onSelectedOptionsChange([...value, ...newSelections]);
526
+ const compute = (current) => {
527
+ const currentIds = new Set(current.map((v) => v.id));
528
+ const allEnabledFilteredSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((o) => currentIds.has(o.id));
529
+ if (allEnabledFilteredSelected) {
530
+ return current.filter((v) => !enabledFilteredIds.has(v.id));
431
531
  }
532
+ const additions = enabledFilteredOptions.filter(
533
+ (o) => !currentIds.has(o.id)
534
+ );
535
+ return [...current, ...additions];
432
536
  };
433
537
  return {
434
538
  label,
435
- onClick: handleClick,
539
+ compute,
436
540
  checkState
437
541
  };
438
542
  };
439
- }, [selectFilteredProp, options, value, onSelectedOptionsChange, filter]);
543
+ }, [selectFilteredProp, options, value, filter]);
440
544
  const fieldRef = useRef(null);
441
545
  const prevOptionsRef = useRef(options);
442
546
  useEffect(() => {
@@ -462,4 +566,4 @@ const MultiSelectMenuSync = (props) => {
462
566
  };
463
567
 
464
568
  export { MultiSelectMenu as M, MultiSelectMenuSync as a };
465
- //# sourceMappingURL=MultiSelectMenuSync-BNPp_2Bm.js.map
569
+ //# sourceMappingURL=MultiSelectMenuSync-Drz8SEk9.js.map