@servicetitan/anvil2 3.8.0 → 3.10.0

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 (462) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/{AiMark-voHPSerQ.js → AiMark-2_O4tKv_.js} +4 -4
  3. package/dist/AiMark-2_O4tKv_.js.map +1 -0
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-CPe0yh6A.js → Alert-DtM7NDN9.js} +3 -3
  6. package/dist/Alert-DtM7NDN9.js.map +1 -0
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-DU0J4111.js → Announcement-CGglhMfd.js} +3 -3
  9. package/dist/Announcement-CGglhMfd.js.map +1 -0
  10. package/dist/Announcement.js +1 -1
  11. package/dist/AnvilProvider-b3gvW6Md.js.map +1 -1
  12. package/dist/Avatar-CoQcOHWU.js.map +1 -1
  13. package/dist/Avatar-DX96Mxe7.js.map +1 -1
  14. package/dist/Badge-BNrYBFiU.js.map +1 -1
  15. package/dist/Badge.css +2 -3
  16. package/dist/{Breadcrumbs-VzOM2nBU.js → Breadcrumbs-Bmqmw5F5.js} +4 -4
  17. package/dist/Breadcrumbs-Bmqmw5F5.js.map +1 -0
  18. package/dist/Breadcrumbs.js +1 -1
  19. package/dist/{Button-BNzCI47m.js → Button-Dwh_Nd4l.js} +6 -8
  20. package/dist/Button-Dwh_Nd4l.js.map +1 -0
  21. package/dist/Button.js +1 -1
  22. package/dist/ButtonCompound-D7kA0qXr.js.map +1 -1
  23. package/dist/{ButtonLink-PlW08u41.js → ButtonLink-DOFAxNvC.js} +2 -2
  24. package/dist/ButtonLink-DOFAxNvC.js.map +1 -0
  25. package/dist/ButtonLink.js +1 -1
  26. package/dist/{ButtonToggle-DBGc7dIn.js → ButtonToggle-DKDBD1g3.js} +2 -2
  27. package/dist/ButtonToggle-DKDBD1g3.js.map +1 -0
  28. package/dist/ButtonToggle.js +1 -1
  29. package/dist/{Calendar-MRUB0XU7.js → Calendar-CUgFbnKj.js} +2 -2
  30. package/dist/Calendar-CUgFbnKj.js.map +1 -0
  31. package/dist/{Calendar-CekTYzdT.js → Calendar-D_fqe0-J.js} +11 -4
  32. package/dist/Calendar-D_fqe0-J.js.map +1 -0
  33. package/dist/Calendar.js +2 -2
  34. package/dist/Card-Bt0F6RTq.js.map +1 -1
  35. package/dist/{Checkbox-zz9TyZWn.js → Checkbox-4wRmrann.js} +2 -2
  36. package/dist/Checkbox-4wRmrann.js.map +1 -0
  37. package/dist/{Checkbox-C3rtd-Xe.js → Checkbox-DoxWcbfv.js} +5 -5
  38. package/dist/Checkbox-DoxWcbfv.js.map +1 -0
  39. package/dist/Checkbox.js +1 -1
  40. package/dist/{Chip-CxgryK86.js → Chip-D6Q0J0Xe.js} +3 -3
  41. package/dist/Chip-D6Q0J0Xe.js.map +1 -0
  42. package/dist/Chip.js +1 -1
  43. package/dist/Combobox.js +1 -1
  44. package/dist/{DataTable-Bvsijiqn.js → DataTable-D-SKKt5w.js} +60 -23
  45. package/dist/DataTable-D-SKKt5w.js.map +1 -0
  46. package/dist/DataTable.css +2 -3
  47. package/dist/{DateFieldRange-CP7QgS6P.js → DateFieldRange-DUFfyknZ.js} +62 -35
  48. package/dist/DateFieldRange-DUFfyknZ.js.map +1 -0
  49. package/dist/DateFieldRange.js +1 -1
  50. package/dist/{DateFieldSingle-CgMPTi1v.js → DateFieldSingle-BZjlO0hX.js} +60 -32
  51. package/dist/DateFieldSingle-BZjlO0hX.js.map +1 -0
  52. package/dist/DateFieldSingle.js +1 -1
  53. package/dist/{DateFieldYearless-BDSbVQx0.js → DateFieldYearless-TcKb9jE2.js} +7 -5
  54. package/dist/DateFieldYearless-TcKb9jE2.js.map +1 -0
  55. package/dist/DateFieldYearless.js +1 -1
  56. package/dist/{DateFieldYearlessRange-Dk7HVYTA.js → DateFieldYearlessRange-D9XtRNWi.js} +19 -7
  57. package/dist/DateFieldYearlessRange-D9XtRNWi.js.map +1 -0
  58. package/dist/DateFieldYearlessRange.js +1 -1
  59. package/dist/{DaysOfTheWeek-Ci-SKebP.js → DaysOfTheWeek--FBi44iw.js} +5 -5
  60. package/dist/DaysOfTheWeek--FBi44iw.js.map +1 -0
  61. package/dist/DaysOfTheWeek.js +1 -1
  62. package/dist/{Details-DkteVZbk.js → Details-CVA5zbrR.js} +2 -2
  63. package/dist/Details-CVA5zbrR.js.map +1 -0
  64. package/dist/Details.js +1 -1
  65. package/dist/{Dialog-BxulNN8n.js → Dialog-Clh3jaX8.js} +4 -4
  66. package/dist/Dialog-Clh3jaX8.js.map +1 -0
  67. package/dist/Dialog.js +1 -1
  68. package/dist/{DialogCancelButton-DmSUPuCR.js → DialogCancelButton-DBL0aKTK.js} +2 -2
  69. package/dist/DialogCancelButton-DBL0aKTK.js.map +1 -0
  70. package/dist/DialogContext-DBgtApl9.js.map +1 -1
  71. package/dist/Divider-C7fp5Xb6.js.map +1 -1
  72. package/dist/Dnd.js +2 -2
  73. package/dist/{DndHandleButton-Ck5nc8w2.js → DndHandleButton-BRlodkDO.js} +2 -2
  74. package/dist/{DndHandleButton-Ck5nc8w2.js.map → DndHandleButton-BRlodkDO.js.map} +1 -1
  75. package/dist/DndSort.js +4 -4
  76. package/dist/DndSort.js.map +1 -1
  77. package/dist/{Drawer-DzvM9MRB.js → Drawer-h2Mut1lB.js} +5 -5
  78. package/dist/Drawer-h2Mut1lB.js.map +1 -0
  79. package/dist/Drawer.js +1 -1
  80. package/dist/DrawerContext-BSpnzXVZ.js.map +1 -1
  81. package/dist/DrillDown.js +1 -1
  82. package/dist/DrillDown.module-D1Bf9_yP.js.map +1 -1
  83. package/dist/{EditCard-ZpF032WP.js → EditCard-QohYSylF.js} +4 -4
  84. package/dist/EditCard-QohYSylF.js.map +1 -0
  85. package/dist/EditCard.js +1 -1
  86. package/dist/{FieldLabel-Cm5A1Jcx.js → FieldLabel-SzH61hCb.js} +3 -3
  87. package/dist/FieldLabel-SzH61hCb.js.map +1 -0
  88. package/dist/FieldLabel.js +1 -1
  89. package/dist/{FilterBar-DBVW3LL3.js → FilterBar-luqnJzAK.js} +32 -11
  90. package/dist/FilterBar-luqnJzAK.js.map +1 -0
  91. package/dist/FilterBar.js +1 -1
  92. package/dist/{Flex-Bb3iHExM.js → Flex-CRF7gj0_.js} +3 -3
  93. package/dist/Flex-CRF7gj0_.js.map +1 -0
  94. package/dist/Flex.css +2 -4
  95. package/dist/Flex.js +1 -1
  96. package/dist/{Grid-ho1pGJ5L.js → Grid-CvGQrIhE.js} +4 -4
  97. package/dist/Grid-CvGQrIhE.js.map +1 -0
  98. package/dist/Grid.css +3 -5
  99. package/dist/Grid.js +1 -1
  100. package/dist/{Helper-B_VAFgGd.js → Helper-Bq6Npkgh.js} +2 -2
  101. package/dist/Helper-Bq6Npkgh.js.map +1 -0
  102. package/dist/{Icon-B4uCvMU9.js → Icon-B5zwN7GD.js} +4 -4
  103. package/dist/Icon-B5zwN7GD.js.map +1 -0
  104. package/dist/Icon.js +1 -1
  105. package/dist/{InputMask-CX6XiOOm.js → InputMask-CQONHcTq.js} +3 -3
  106. package/dist/InputMask-CQONHcTq.js.map +1 -0
  107. package/dist/InputMask.js +1 -1
  108. package/dist/InteractiveCard-C0g5PxB6.js.map +1 -1
  109. package/dist/Layout-C2Q2hyLG.js.map +1 -1
  110. package/dist/{Link-C7dtI5K6.js → Link-D7ycmfQ_.js} +2 -2
  111. package/dist/Link-D7ycmfQ_.js.map +1 -0
  112. package/dist/Link.css +2 -4
  113. package/dist/Link.js +1 -1
  114. package/dist/LinkButton-C0wps8r1.js.map +1 -1
  115. package/dist/List-BvzfZ9TW.js.map +1 -1
  116. package/dist/{ListView-DpveXOsN.js → ListView-BgGEwal3.js} +3 -3
  117. package/dist/ListView-BgGEwal3.js.map +1 -0
  118. package/dist/ListView.js +1 -1
  119. package/dist/{Listbox-Cdwaofd2.js → Listbox-Cw_2W62S.js} +4 -4
  120. package/dist/Listbox-Cw_2W62S.js.map +1 -0
  121. package/dist/Listbox.js +1 -1
  122. package/dist/LocalizationContext-UsmB5mnR.js.map +1 -1
  123. package/dist/LocalizationProvider-BPcOU7YX.js.map +1 -1
  124. package/dist/{Menu-DmEXQLXt.js → Menu-DNOOmDQC.js} +3 -3
  125. package/dist/Menu-DNOOmDQC.js.map +1 -0
  126. package/dist/Menu.js +1 -1
  127. package/dist/{MenuFooter-Ck9L599M.js → MenuFooter--lBF8OjJ.js} +6 -2
  128. package/dist/MenuFooter--lBF8OjJ.js.map +1 -0
  129. package/dist/MultiSelectField.js +1 -1
  130. package/dist/{MultiSelectFieldSync-B1tkEtft.js → MultiSelectFieldSync-HhFKGtQM.js} +74 -19
  131. package/dist/MultiSelectFieldSync-HhFKGtQM.js.map +1 -0
  132. package/dist/MultiSelectMenu.js +1 -1
  133. package/dist/{MultiSelectMenuSync-Deki_z-0.js → MultiSelectMenuSync-C3Y7jnJQ.js} +26 -10
  134. package/dist/MultiSelectMenuSync-C3Y7jnJQ.js.map +1 -0
  135. package/dist/{NumberField-CjC6KHKl.js → NumberField-B1761jkf.js} +7 -7
  136. package/dist/NumberField-B1761jkf.js.map +1 -0
  137. package/dist/NumberField.css +2 -3
  138. package/dist/NumberField.js +1 -1
  139. package/dist/Overflow.js +1 -1
  140. package/dist/Overflow.js.map +1 -1
  141. package/dist/{Page-BreBQ3pG.js → Page-Pk0-Sxf_.js} +22 -21
  142. package/dist/Page-Pk0-Sxf_.js.map +1 -0
  143. package/dist/Page.js +1 -1
  144. package/dist/{Pagination-CmqAut6y.js → Pagination-Bx_u6Uea.js} +37 -11
  145. package/dist/Pagination-Bx_u6Uea.js.map +1 -0
  146. package/dist/Pagination.js +1 -1
  147. package/dist/{Popover-CdRuNv3C.js → Popover-CjsE5FG0.js} +2 -2
  148. package/dist/Popover-CjsE5FG0.js.map +1 -0
  149. package/dist/Popover.js +1 -1
  150. package/dist/PortalProvider-Cj_y3gbC.js.map +1 -1
  151. package/dist/{ProgressBar-065vjsQ0.js → ProgressBar-Coh2nTJ1.js} +6 -6
  152. package/dist/ProgressBar-Coh2nTJ1.js.map +1 -0
  153. package/dist/ProgressBar.js +1 -1
  154. package/dist/{Radio-D9w_-JYw.js → Radio-BxSL1PoP.js} +2 -2
  155. package/dist/Radio-BxSL1PoP.js.map +1 -0
  156. package/dist/{Radio-dyLcVmUw.js → Radio-J4Iv3wbJ.js} +5 -5
  157. package/dist/Radio-J4Iv3wbJ.js.map +1 -0
  158. package/dist/Radio.js +1 -1
  159. package/dist/{RichTextEditor-byoMZaJy.js → RichTextEditor-CTIGe6xA.js} +13 -13
  160. package/dist/RichTextEditor-CTIGe6xA.js.map +1 -0
  161. package/dist/RichTextEditor.css +1 -2
  162. package/dist/RichTextEditor.js +1 -1
  163. package/dist/{SavedFiltersButton-BHgS4akL.js → SavedFiltersButton-CpnoAIrw.js} +256 -170
  164. package/dist/SavedFiltersButton-CpnoAIrw.js.map +1 -0
  165. package/dist/SavedFiltersButton.js +1 -1
  166. package/dist/{SearchField-B7fIOJf-.js → SearchField-ChoNtw8w.js} +2 -2
  167. package/dist/SearchField-ChoNtw8w.js.map +1 -0
  168. package/dist/{SearchField-X4B7f23E.js → SearchField-DX8hZyo2.js} +2 -2
  169. package/dist/SearchField-DX8hZyo2.js.map +1 -0
  170. package/dist/SearchField.js +1 -1
  171. package/dist/{SegmentedControl-Be6jCglV.js → SegmentedControl-CQ6DrbDc.js} +2 -2
  172. package/dist/SegmentedControl-CQ6DrbDc.js.map +1 -0
  173. package/dist/SegmentedControl.css +2 -3
  174. package/dist/SegmentedControl.js +1 -1
  175. package/dist/{SelectCard-CMSG_ba1.js → SelectCard-BTfhPyHH.js} +4 -4
  176. package/dist/SelectCard-BTfhPyHH.js.map +1 -0
  177. package/dist/SelectCard.js +1 -1
  178. package/dist/SelectField.js +1 -1
  179. package/dist/{SelectFieldLabel-dKVBaki2.js → SelectFieldLabel-CjY6zFJA.js} +2 -2
  180. package/dist/SelectFieldLabel-CjY6zFJA.js.map +1 -0
  181. package/dist/{SelectFieldSync-VShqP5J0.js → SelectFieldSync-Dyug8Fgk.js} +48 -10
  182. package/dist/SelectFieldSync-Dyug8Fgk.js.map +1 -0
  183. package/dist/SelectMenu.js +1 -1
  184. package/dist/{SelectMenuSync-BDx1yhZT.js → SelectMenuSync-BkC0FD5P.js} +23 -9
  185. package/dist/SelectMenuSync-BkC0FD5P.js.map +1 -0
  186. package/dist/{SelectOptions-BIVTviOh.js → SelectOptions-B3Vmtb_k.js} +2 -2
  187. package/dist/SelectOptions-B3Vmtb_k.js.map +1 -0
  188. package/dist/{SelectTrigger-APxYfL3V.js → SelectTrigger-Do1puyA_.js} +4 -4
  189. package/dist/SelectTrigger-Do1puyA_.js.map +1 -0
  190. package/dist/SelectTrigger.js +1 -1
  191. package/dist/{SelectTriggerBase-lYieONTb.js → SelectTriggerBase-rxHXMSb4.js} +12 -14
  192. package/dist/SelectTriggerBase-rxHXMSb4.js.map +1 -0
  193. package/dist/SelectTriggerBase.css +2 -3
  194. package/dist/{SideNav-DoxX8Vi-.js → SideNav-DZRXOYHs.js} +2 -2
  195. package/dist/SideNav-DZRXOYHs.js.map +1 -0
  196. package/dist/SideNav.js +1 -1
  197. package/dist/Skeleton.js.map +1 -1
  198. package/dist/Spinner-B7tTWcP6.js.map +1 -1
  199. package/dist/SrOnly-pnf8ajnh.js.map +1 -1
  200. package/dist/{Stepper-CvaR7OoT.js → Stepper-BX_gDWLE.js} +4 -4
  201. package/dist/Stepper-BX_gDWLE.js.map +1 -0
  202. package/dist/Stepper.css +1 -2
  203. package/dist/Stepper.js +1 -1
  204. package/dist/{Switch-Bm3qqjd6.js → Switch-BpjBYm-U.js} +5 -5
  205. package/dist/Switch-BpjBYm-U.js.map +1 -0
  206. package/dist/Switch.js +1 -1
  207. package/dist/{Tab-Cy4G562A.js → Tab-Bqfvg8Ce.js} +53 -23
  208. package/dist/Tab-Bqfvg8Ce.js.map +1 -0
  209. package/dist/Tab.css +35 -31
  210. package/dist/Tab.js +1 -1
  211. package/dist/Table.js +1 -1
  212. package/dist/{Text-mDcQHC2U.js → Text-CIoD_RK4.js} +2 -2
  213. package/dist/Text-CIoD_RK4.js.map +1 -0
  214. package/dist/Text.js +1 -1
  215. package/dist/{TextField-CUVsDfWo.js → TextField-CzzvLI5_.js} +4 -4
  216. package/dist/TextField-CzzvLI5_.js.map +1 -0
  217. package/dist/{TextField-WQTlqKso.js → TextField-D3sRS5q1.js} +2 -2
  218. package/dist/TextField-D3sRS5q1.js.map +1 -0
  219. package/dist/TextField.js +1 -1
  220. package/dist/{Textarea-CW3KGuB9.js → Textarea-B3C7AkPj.js} +4 -4
  221. package/dist/Textarea-B3C7AkPj.js.map +1 -0
  222. package/dist/Textarea.js +1 -1
  223. package/dist/ThemeProvider-Sd8LK0A9.js.map +1 -1
  224. package/dist/ThemeProviderContext-l52GohYT.js.map +1 -1
  225. package/dist/{TimeField-JA3gXyS7.js → TimeField-L9B_X6-H.js} +31 -9
  226. package/dist/TimeField-L9B_X6-H.js.map +1 -0
  227. package/dist/TimeField.js +1 -1
  228. package/dist/TimezoneMessage-BrKB_psP.js.map +1 -1
  229. package/dist/Toast.js +2 -2
  230. package/dist/{Toaster-DMZng3Im.js → Toaster-CAI7tX8q.js} +4 -4
  231. package/dist/Toaster-CAI7tX8q.js.map +1 -0
  232. package/dist/{Toaster-fPcgIF7Q.js → Toaster-DZxf0N9g.js} +2 -2
  233. package/dist/Toaster-DZxf0N9g.js.map +1 -0
  234. package/dist/{Toolbar-BfGcDXgC.js → Toolbar-BOgHhw7K.js} +19 -10
  235. package/dist/Toolbar-BOgHhw7K.js.map +1 -0
  236. package/dist/{Toolbar-Dlu39v69.js → Toolbar-DDWUuQm_.js} +30 -8
  237. package/dist/Toolbar-DDWUuQm_.js.map +1 -0
  238. package/dist/Toolbar.js +2 -2
  239. package/dist/{ToolbarButtonToggle-3xbnm1Qr.js → ToolbarButtonToggle-BbtKfezH.js} +19 -3
  240. package/dist/ToolbarButtonToggle-BbtKfezH.js.map +1 -0
  241. package/dist/Tooltip-BC8lnFhe.js.map +1 -1
  242. package/dist/TrackingProvider-Co4lyoI9.js.map +1 -1
  243. package/dist/TrackingProviderContext-CrVA7KHv.js.map +1 -1
  244. package/dist/TreeSelectField.js +1 -1
  245. package/dist/{TreeSelectFieldSync-CdtC8d3Q.js → TreeSelectFieldSync-Cd87uR6b.js} +51 -17
  246. package/dist/TreeSelectFieldSync-Cd87uR6b.js.map +1 -0
  247. package/dist/TreeSelectMenu.js +1 -1
  248. package/dist/{TreeSelectMenuSync-CPuQWUNU.js → TreeSelectMenuSync-88q0ydo5.js} +22 -10
  249. package/dist/TreeSelectMenuSync-88q0ydo5.js.map +1 -0
  250. package/dist/{TypeaheadTextField-BkLECKZY.js → TypeaheadTextField-9Nkkd4c4.js} +3 -3
  251. package/dist/TypeaheadTextField-9Nkkd4c4.js.map +1 -0
  252. package/dist/TypeaheadTextField.js +1 -1
  253. package/dist/{YearlessDateInputWithPicker-DLtMQhDw.js → YearlessDateInputWithPicker-BquY4bCd.js} +29 -8
  254. package/dist/YearlessDateInputWithPicker-BquY4bCd.js.map +1 -0
  255. package/dist/anvParts-BGg5dgfl.js +43 -0
  256. package/dist/anvParts-BGg5dgfl.js.map +1 -0
  257. package/dist/beta.js +16 -16
  258. package/dist/{bulkActionTypes-CTKwMpO7.js → bulkActionTypes-CWcUhKFS.js} +2 -2
  259. package/dist/bulkActionTypes-CWcUhKFS.js.map +1 -0
  260. package/dist/childrenToString-Bz9MqbHb.js.map +1 -1
  261. package/dist/{filter-state-DKXF5MeW.js → filter-state-BQOX7_rO.js} +177 -101
  262. package/dist/filter-state-BQOX7_rO.js.map +1 -0
  263. package/dist/{index-SZMmvI3D.js → index-BwV_Pz7v.js} +2 -2
  264. package/dist/index-BwV_Pz7v.js.map +1 -0
  265. package/dist/{index-B7BIlotN.js → index-DjirBR0l.js} +2 -2
  266. package/dist/{index-B7BIlotN.js.map → index-DjirBR0l.js.map} +1 -1
  267. package/dist/index.js +56 -56
  268. package/dist/makeZeroShortcutPreprocessor-CxsiGTRW.js.map +1 -1
  269. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +3 -3
  270. package/dist/src/beta/components/FilterBar/index.d.ts +1 -1
  271. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +17 -3
  272. package/dist/src/beta/components/FilterBar/parts.d.ts +38 -0
  273. package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +37 -0
  274. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +2 -1
  275. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +3 -2
  276. package/dist/src/beta/components/Table/DataTable/parts.d.ts +30 -0
  277. package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +3 -2
  278. package/dist/src/beta/components/Toolbar/Toolbar.d.ts +4 -4
  279. package/dist/src/beta/components/Toolbar/index.d.ts +1 -1
  280. package/dist/src/beta/components/Toolbar/parts.d.ts +19 -0
  281. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +6 -5
  282. package/dist/src/beta/components/TreeSelectField/parts.d.ts +23 -0
  283. package/dist/src/beta/components/TreeSelectField/types.d.ts +11 -4
  284. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +33 -2
  285. package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +12 -0
  286. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +3 -2
  287. package/dist/src/components/Alert/Alert.d.ts +2 -4
  288. package/dist/src/components/Announcement/Announcement.d.ts +2 -4
  289. package/dist/src/components/Breadcrumbs/index.d.ts +1 -1
  290. package/dist/src/components/ButtonCompound/ButtonCompound.d.ts +2 -4
  291. package/dist/src/components/ButtonLink/ButtonLink.d.ts +2 -4
  292. package/dist/src/components/ButtonToggle/ButtonToggle.d.ts +2 -4
  293. package/dist/src/components/Calendar/Calendar.d.ts +3 -1
  294. package/dist/src/components/Calendar/index.d.ts +1 -1
  295. package/dist/src/components/Checkbox/index.d.ts +2 -2
  296. package/dist/src/components/Combobox/Combobox.d.ts +2 -2
  297. package/dist/src/components/Combobox/ComboboxEmpty.d.ts +1 -1
  298. package/dist/src/components/Combobox/ComboboxTypes.d.ts +2 -2
  299. package/dist/src/components/Combobox/index.d.ts +2 -2
  300. package/dist/src/components/Combobox/parts.d.ts +19 -0
  301. package/dist/src/components/DateFieldRange/DateFieldRange.d.ts +2 -2
  302. package/dist/src/components/DateFieldRange/parts.d.ts +16 -0
  303. package/dist/src/components/DateFieldSingle/DateFieldSingle.d.ts +2 -2
  304. package/dist/src/components/DateFieldSingle/index.d.ts +1 -1
  305. package/dist/src/components/DateFieldSingle/parts.d.ts +16 -0
  306. package/dist/src/components/DateFieldYearless/DateFieldYearless.d.ts +2 -2
  307. package/dist/src/components/DateFieldYearless/index.d.ts +1 -1
  308. package/dist/src/components/DateFieldYearless/parts.d.ts +15 -0
  309. package/dist/src/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +2 -2
  310. package/dist/src/components/DateFieldYearlessRange/parts.d.ts +12 -0
  311. package/dist/src/components/Details/index.d.ts +2 -2
  312. package/dist/src/components/Dialog/index.d.ts +4 -4
  313. package/dist/src/components/DndSort/index.d.ts +3 -3
  314. package/dist/src/components/Drawer/index.d.ts +4 -4
  315. package/dist/src/components/DrillDown/DrillDown.d.ts +11 -0
  316. package/dist/src/components/Grid/index.d.ts +1 -1
  317. package/dist/src/components/List/index.d.ts +1 -1
  318. package/dist/src/components/Listbox/index.d.ts +2 -2
  319. package/dist/src/components/Menu/index.d.ts +1 -1
  320. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  321. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  322. package/dist/src/components/MultiSelectField/internal/types.d.ts +3 -1
  323. package/dist/src/components/MultiSelectField/parts.d.ts +20 -0
  324. package/dist/src/components/MultiSelectField/types.d.ts +2 -2
  325. package/dist/src/components/MultiSelectMenu/parts.d.ts +12 -0
  326. package/dist/src/components/MultiSelectMenu/types.d.ts +3 -2
  327. package/dist/src/components/Overflow/index.d.ts +1 -1
  328. package/dist/src/components/Pagination/Pagination.d.ts +4 -3
  329. package/dist/src/components/Pagination/parts.d.ts +28 -0
  330. package/dist/src/components/Popover/index.d.ts +4 -4
  331. package/dist/src/components/Radio/index.d.ts +2 -2
  332. package/dist/src/components/SelectCard/index.d.ts +1 -1
  333. package/dist/src/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  334. package/dist/src/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  335. package/dist/src/components/SelectField/parts.d.ts +18 -0
  336. package/dist/src/components/SelectField/types.d.ts +7 -2
  337. package/dist/src/components/SelectMenu/internal/useMenuInteraction.d.ts +15 -7
  338. package/dist/src/components/SelectMenu/parts.d.ts +12 -0
  339. package/dist/src/components/SelectMenu/types.d.ts +3 -2
  340. package/dist/src/components/SelectTrigger/internal/SelectTriggerBase.d.ts +6 -5
  341. package/dist/src/components/SideNav/index.d.ts +3 -3
  342. package/dist/src/components/Stepper/index.d.ts +6 -6
  343. package/dist/src/components/Tab/index.d.ts +3 -3
  344. package/dist/src/components/TimeField/index.d.ts +1 -1
  345. package/dist/src/components/Toolbar/Toolbar.d.ts +3 -3
  346. package/dist/src/components/Toolbar/index.d.ts +5 -5
  347. package/dist/src/components/Toolbar/parts.d.ts +18 -0
  348. package/dist/src/components/Tooltip/index.d.ts +2 -2
  349. package/dist/src/internal/components/Popover/index.d.ts +4 -4
  350. package/dist/src/internal/constants/anvParts.d.ts +81 -0
  351. package/dist/src/internal/testing/anvPartsContract.d.ts +24 -0
  352. package/dist/src/internal/types/selectFieldInternalTypes.d.ts +3 -1
  353. package/dist/src/providers/ThemeProvider/index.d.ts +2 -2
  354. package/dist/src/providers/TrackingProvider/index.d.ts +1 -1
  355. package/dist/src/types/index.d.ts +3 -3
  356. package/dist/{stripInlineMarkdown-BZzgG-Zm.js → stripInlineMarkdown-BfNNOWPk.js} +2 -2
  357. package/dist/{stripInlineMarkdown-BZzgG-Zm.js.map → stripInlineMarkdown-BfNNOWPk.js.map} +1 -1
  358. package/dist/{syncFilterUtils-BVclVovw.js → syncFilterUtils-YB6gRuuR.js} +14 -7
  359. package/dist/syncFilterUtils-YB6gRuuR.js.map +1 -0
  360. package/dist/{treeSync-oC-VZpP0.js → treeSync-DOen59wP.js} +26 -6
  361. package/dist/treeSync-DOen59wP.js.map +1 -0
  362. package/dist/{useAdaptiveView-AvsDkChF.js → useAdaptiveView-DmhhcX-B.js} +8 -6
  363. package/dist/useAdaptiveView-DmhhcX-B.js.map +1 -0
  364. package/dist/useChipLayout-BWZfKDgd.js.map +1 -1
  365. package/dist/{useDrilldown-PmrZ4BXn.js → useDrilldown-UAm0-l1l.js} +13 -6
  366. package/dist/{useDrilldown-PmrZ4BXn.js.map → useDrilldown-UAm0-l1l.js.map} +1 -1
  367. package/dist/useFocusWithin-hi77jsrB.js.map +1 -1
  368. package/dist/{useInfiniteCombobox-C78WQZx4.js → useInfiniteCombobox-V94SoOiU.js} +128 -79
  369. package/dist/useInfiniteCombobox-V94SoOiU.js.map +1 -0
  370. package/dist/useInitialFocus-BUxEDMEG.js.map +1 -1
  371. package/dist/useLayoutPropsUtil-DjqeAJZ9.js.map +1 -1
  372. package/dist/{useMenuInteraction-NEJXUD4I.js → useMenuInteraction-nNF1dsrp.js} +14 -5
  373. package/dist/useMenuInteraction-nNF1dsrp.js.map +1 -0
  374. package/dist/{useNumberField-D_ic9i2q.js → useNumberField-CXFYUZ_n.js} +4 -2
  375. package/dist/useNumberField-CXFYUZ_n.js.map +1 -0
  376. package/dist/useOptionallyControlledState-DbDuos5L.js.map +1 -1
  377. package/dist/useSize.js.map +1 -1
  378. package/dist/useSwipe-Cp-CJxLU.js.map +1 -1
  379. package/package.json +8 -6
  380. package/dist/AiMark-voHPSerQ.js.map +0 -1
  381. package/dist/Alert-CPe0yh6A.js.map +0 -1
  382. package/dist/Announcement-DU0J4111.js.map +0 -1
  383. package/dist/Breadcrumbs-VzOM2nBU.js.map +0 -1
  384. package/dist/Button-BNzCI47m.js.map +0 -1
  385. package/dist/ButtonLink-PlW08u41.js.map +0 -1
  386. package/dist/ButtonToggle-DBGc7dIn.js.map +0 -1
  387. package/dist/Calendar-CekTYzdT.js.map +0 -1
  388. package/dist/Calendar-MRUB0XU7.js.map +0 -1
  389. package/dist/Checkbox-C3rtd-Xe.js.map +0 -1
  390. package/dist/Checkbox-zz9TyZWn.js.map +0 -1
  391. package/dist/Chip-CxgryK86.js.map +0 -1
  392. package/dist/DataTable-Bvsijiqn.js.map +0 -1
  393. package/dist/DateFieldRange-CP7QgS6P.js.map +0 -1
  394. package/dist/DateFieldSingle-CgMPTi1v.js.map +0 -1
  395. package/dist/DateFieldYearless-BDSbVQx0.js.map +0 -1
  396. package/dist/DateFieldYearlessRange-Dk7HVYTA.js.map +0 -1
  397. package/dist/DaysOfTheWeek-Ci-SKebP.js.map +0 -1
  398. package/dist/Details-DkteVZbk.js.map +0 -1
  399. package/dist/Dialog-BxulNN8n.js.map +0 -1
  400. package/dist/DialogCancelButton-DmSUPuCR.js.map +0 -1
  401. package/dist/Drawer-DzvM9MRB.js.map +0 -1
  402. package/dist/EditCard-ZpF032WP.js.map +0 -1
  403. package/dist/FieldLabel-Cm5A1Jcx.js.map +0 -1
  404. package/dist/FilterBar-DBVW3LL3.js.map +0 -1
  405. package/dist/Flex-Bb3iHExM.js.map +0 -1
  406. package/dist/Grid-ho1pGJ5L.js.map +0 -1
  407. package/dist/Helper-B_VAFgGd.js.map +0 -1
  408. package/dist/Icon-B4uCvMU9.js.map +0 -1
  409. package/dist/InputMask-CX6XiOOm.js.map +0 -1
  410. package/dist/Link-C7dtI5K6.js.map +0 -1
  411. package/dist/ListView-DpveXOsN.js.map +0 -1
  412. package/dist/Listbox-Cdwaofd2.js.map +0 -1
  413. package/dist/Menu-DmEXQLXt.js.map +0 -1
  414. package/dist/MenuFooter-Ck9L599M.js.map +0 -1
  415. package/dist/MultiSelectFieldSync-B1tkEtft.js.map +0 -1
  416. package/dist/MultiSelectMenuSync-Deki_z-0.js.map +0 -1
  417. package/dist/NumberField-CjC6KHKl.js.map +0 -1
  418. package/dist/Page-BreBQ3pG.js.map +0 -1
  419. package/dist/Pagination-CmqAut6y.js.map +0 -1
  420. package/dist/Popover-CdRuNv3C.js.map +0 -1
  421. package/dist/ProgressBar-065vjsQ0.js.map +0 -1
  422. package/dist/Radio-D9w_-JYw.js.map +0 -1
  423. package/dist/Radio-dyLcVmUw.js.map +0 -1
  424. package/dist/RichTextEditor-byoMZaJy.js.map +0 -1
  425. package/dist/SavedFiltersButton-BHgS4akL.js.map +0 -1
  426. package/dist/SearchField-B7fIOJf-.js.map +0 -1
  427. package/dist/SearchField-X4B7f23E.js.map +0 -1
  428. package/dist/SegmentedControl-Be6jCglV.js.map +0 -1
  429. package/dist/SelectCard-CMSG_ba1.js.map +0 -1
  430. package/dist/SelectFieldLabel-dKVBaki2.js.map +0 -1
  431. package/dist/SelectFieldSync-VShqP5J0.js.map +0 -1
  432. package/dist/SelectMenuSync-BDx1yhZT.js.map +0 -1
  433. package/dist/SelectOptions-BIVTviOh.js.map +0 -1
  434. package/dist/SelectTrigger-APxYfL3V.js.map +0 -1
  435. package/dist/SelectTriggerBase-lYieONTb.js.map +0 -1
  436. package/dist/SideNav-DoxX8Vi-.js.map +0 -1
  437. package/dist/Stepper-CvaR7OoT.js.map +0 -1
  438. package/dist/Switch-Bm3qqjd6.js.map +0 -1
  439. package/dist/Tab-Cy4G562A.js.map +0 -1
  440. package/dist/Text-mDcQHC2U.js.map +0 -1
  441. package/dist/TextField-CUVsDfWo.js.map +0 -1
  442. package/dist/TextField-WQTlqKso.js.map +0 -1
  443. package/dist/Textarea-CW3KGuB9.js.map +0 -1
  444. package/dist/TimeField-JA3gXyS7.js.map +0 -1
  445. package/dist/Toaster-DMZng3Im.js.map +0 -1
  446. package/dist/Toaster-fPcgIF7Q.js.map +0 -1
  447. package/dist/Toolbar-BfGcDXgC.js.map +0 -1
  448. package/dist/Toolbar-Dlu39v69.js.map +0 -1
  449. package/dist/ToolbarButtonToggle-3xbnm1Qr.js.map +0 -1
  450. package/dist/TreeSelectFieldSync-CdtC8d3Q.js.map +0 -1
  451. package/dist/TreeSelectMenuSync-CPuQWUNU.js.map +0 -1
  452. package/dist/TypeaheadTextField-BkLECKZY.js.map +0 -1
  453. package/dist/YearlessDateInputWithPicker-DLtMQhDw.js.map +0 -1
  454. package/dist/bulkActionTypes-CTKwMpO7.js.map +0 -1
  455. package/dist/filter-state-DKXF5MeW.js.map +0 -1
  456. package/dist/index-SZMmvI3D.js.map +0 -1
  457. package/dist/syncFilterUtils-BVclVovw.js.map +0 -1
  458. package/dist/treeSync-oC-VZpP0.js.map +0 -1
  459. package/dist/useAdaptiveView-AvsDkChF.js.map +0 -1
  460. package/dist/useInfiniteCombobox-C78WQZx4.js.map +0 -1
  461. package/dist/useMenuInteraction-NEJXUD4I.js.map +0 -1
  462. package/dist/useNumberField-D_ic9i2q.js.map +0 -1
package/dist/beta.js CHANGED
@@ -1,22 +1,22 @@
1
- export { F as FilterBar } from './FilterBar-DBVW3LL3.js';
2
- export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, i as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, h as htmlFormatter, m as markdownFormatter, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, j as timeFormatter, y as yearlessDateFormatter } from './DataTable-Bvsijiqn.js';
3
- export { T as Toolbar, a as ToolbarButton, b as ToolbarButtonLink, d as ToolbarControlGroup, f as ToolbarElement, e as ToolbarSearchField, c as ToolbarSelect } from './Toolbar-BfGcDXgC.js';
4
- export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-3xbnm1Qr.js';
5
- export { u as useCalendarBetaProps } from './Calendar-CekTYzdT.js';
6
- export { C as Calendar } from './Calendar-MRUB0XU7.js';
7
- import { S as SelectField$1, a as SelectFieldSync$1 } from './SelectFieldSync-VShqP5J0.js';
1
+ export { F as FilterBar } from './FilterBar-luqnJzAK.js';
2
+ export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, i as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, h as htmlFormatter, m as markdownFormatter, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, j as timeFormatter, y as yearlessDateFormatter } from './DataTable-D-SKKt5w.js';
3
+ export { T as Toolbar, a as ToolbarButton, b as ToolbarButtonLink, d as ToolbarControlGroup, f as ToolbarElement, e as ToolbarSearchField, c as ToolbarSelect } from './Toolbar-BOgHhw7K.js';
4
+ export { T as ToolbarButtonToggle } from './ToolbarButtonToggle-BbtKfezH.js';
5
+ export { u as useCalendarBetaProps } from './Calendar-D_fqe0-J.js';
6
+ export { C as Calendar } from './Calendar-CUgFbnKj.js';
7
+ import { S as SelectField$1, a as SelectFieldSync$1 } from './SelectFieldSync-Dyug8Fgk.js';
8
8
  import { forwardRef, createElement } from 'react';
9
9
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
10
- import { M as MultiSelectField$1, a as MultiSelectFieldSync$1 } from './MultiSelectFieldSync-B1tkEtft.js';
11
- import { S as SelectMenu$1, a as SelectMenuSync$1 } from './SelectMenuSync-BDx1yhZT.js';
12
- import { M as MultiSelectMenu$1, a as MultiSelectMenuSync$1 } from './MultiSelectMenuSync-Deki_z-0.js';
13
- export { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-CdtC8d3Q.js';
14
- export { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-CPuQWUNU.js';
10
+ import { M as MultiSelectField$1, a as MultiSelectFieldSync$1 } from './MultiSelectFieldSync-HhFKGtQM.js';
11
+ import { S as SelectMenu$1, a as SelectMenuSync$1 } from './SelectMenuSync-BkC0FD5P.js';
12
+ import { M as MultiSelectMenu$1, a as MultiSelectMenuSync$1 } from './MultiSelectMenuSync-C3Y7jnJQ.js';
13
+ export { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-Cd87uR6b.js';
14
+ export { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-88q0ydo5.js';
15
15
  export { I as InteractiveCard } from './InteractiveCard-C0g5PxB6.js';
16
- export { R as RichTextEditor } from './RichTextEditor-byoMZaJy.js';
17
- export { S as SavedFiltersButton } from './SavedFiltersButton-BHgS4akL.js';
18
- export { T as TypeaheadTextField } from './TypeaheadTextField-BkLECKZY.js';
19
- export { u as useAdaptiveView } from './useAdaptiveView-AvsDkChF.js';
16
+ export { R as RichTextEditor } from './RichTextEditor-CTIGe6xA.js';
17
+ export { S as SavedFiltersButton } from './SavedFiltersButton-CpnoAIrw.js';
18
+ export { T as TypeaheadTextField } from './TypeaheadTextField-9Nkkd4c4.js';
19
+ export { u as useAdaptiveView } from './useAdaptiveView-DmhhcX-B.js';
20
20
 
21
21
  const BETA_EXPORT_REMOVED_VERSION = "4.0";
22
22
  const STABLE_PROMOTION_PATHS = {
@@ -1,6 +1,6 @@
1
1
  import { useState, useRef, useEffect, useCallback, forwardRef, useMemo } from 'react';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { V as VirtualizedOptionsPanel, O as OptionsPanel } from './syncFilterUtils-BVclVovw.js';
3
+ import { V as VirtualizedOptionsPanel, O as OptionsPanel } from './syncFilterUtils-YB6gRuuR.js';
4
4
 
5
5
  function useBulkActionRunner({
6
6
  setDraft
@@ -118,4 +118,4 @@ function resolveBulkActionLabel(label, current, fallback = "Select All") {
118
118
  }
119
119
 
120
120
  export { MultiSelectOptions as M, useToggleSelection as a, resolveBulkActionLabel as b, resolveBulkActionCheckState as r, useBulkActionRunner as u };
121
- //# sourceMappingURL=bulkActionTypes-CTKwMpO7.js.map
121
+ //# sourceMappingURL=bulkActionTypes-CWcUhKFS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkActionTypes-CWcUhKFS.js","sources":["../src/internal/hooks/useBulkActionRunner.ts","../src/internal/components/MultiSelectOptions.tsx","../src/internal/hooks/useToggleSelection.ts","../src/internal/types/bulkActionTypes.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\n\ntype BulkComputeResult<T> = T[] | Promise<T[]>;\n\nexport type UseBulkActionRunnerOptions<T> = {\n /** Sets the draft (or commits when confirmation is off). */\n setDraft: (next: T[]) => void;\n};\n\nexport type UseBulkActionRunnerResult<T> = {\n /**\n * True while a bulk-action promise is in flight. While true, callers should\n * disable option rows, override the bulk row's checkState to \"loading\", and\n * disable Apply.\n */\n pending: boolean;\n /**\n * Run a bulk action. If `compute` returns an array synchronously, the draft\n * is updated immediately. If it returns a promise, the runner enters the\n * pending state until resolve/reject. Stale resolutions (those that finish\n * after another draft mutation or another bulk run, or after `reset()`) are\n * silently discarded.\n */\n runBulk: (\n compute: (current: T[]) => BulkComputeResult<T>,\n current: T[],\n ) => void;\n /**\n * Wrap an external draft mutation so that any in-flight bulk promise's\n * eventual resolution is discarded. Use this in place of the raw setDraft\n * whenever the user mutates the draft outside of a bulk action (option\n * click, etc.) so that a slow Select-All-fetching promise can't clobber a\n * subsequent click.\n */\n setDraftAndBump: (next: T[]) => void;\n /**\n * Discard any in-flight bulk resolution. Call when the menu closes so that\n * a promise resolving after close can't apply to the next menu instance.\n */\n reset: () => void;\n};\n\n/**\n * Runs Select-All / Select-Filtered-style \"bulk action\" computations against\n * the controlled or draft selection, with support for both synchronous and\n * asynchronous results, and stale-result discard via a monotonic generation.\n */\nexport function useBulkActionRunner<T>({\n setDraft,\n}: UseBulkActionRunnerOptions<T>): UseBulkActionRunnerResult<T> {\n const [pending, setPending] = useState(false);\n const genRef = useRef(0);\n const isMountedRef = useRef(true);\n\n useEffect(() => {\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n const runBulk = useCallback(\n (compute: (current: T[]) => BulkComputeResult<T>, current: T[]) => {\n const result = compute(current);\n\n // Bumping the generation here means any earlier in-flight promise's\n // eventual resolution will be discarded.\n genRef.current += 1;\n const myGen = genRef.current;\n\n if (Array.isArray(result)) {\n setDraft(result);\n // If a previous async run was pending, it has now been superseded.\n if (pending) setPending(false);\n return;\n }\n\n setPending(true);\n result\n .then((next) => {\n if (!isMountedRef.current) return;\n if (genRef.current !== myGen) return; // stale\n setDraft(next);\n setPending(false);\n })\n .catch(() => {\n if (!isMountedRef.current) return;\n if (genRef.current !== myGen) return; // stale\n // Silent failure — consumer manages their own error UI.\n setPending(false);\n });\n },\n [pending, setDraft],\n );\n\n const setDraftAndBump = useCallback(\n (next: T[]) => {\n genRef.current += 1;\n setDraft(next);\n },\n [setDraft],\n );\n\n const reset = useCallback(() => {\n genRef.current += 1;\n setPending(false);\n }, []);\n\n return { pending, runBulk, setDraftAndBump, reset };\n}\n","import type { MultiSelectFieldOption } from \"../../components/MultiSelectField/types\";\nimport type { CheckState } from \"../../types\";\nimport { type CSSProperties, forwardRef, useCallback, useMemo } from \"react\";\nimport { OptionsPanel, type OptionsPanelHandle } from \"./OptionsPanel\";\nimport { VirtualizedOptionsPanel } from \"./VirtualizedOptionsPanel\";\nimport type {\n GetItemPropsFn,\n GetMenuPropsFn,\n SectionMeta,\n SelectItem,\n} from \"../types/selectFieldInternalTypes\";\n\nexport type MultiSelectOptionsProps = {\n isOpen: boolean;\n items: SelectItem[];\n getMenuProps: GetMenuPropsFn;\n getItemProps: GetItemPropsFn;\n highlightedIndex: number;\n selectedOptions: MultiSelectFieldOption[];\n hasMore: boolean;\n onLoadMore: () => void;\n loading: boolean;\n loadingMore: boolean;\n disableAutoLoadMore?: boolean;\n disabled?: boolean;\n className?: string;\n style?: CSSProperties;\n sectionsMeta?: SectionMeta[];\n virtualize?: boolean;\n};\n\nexport const MultiSelectOptions = forwardRef<\n OptionsPanelHandle,\n MultiSelectOptionsProps\n>(({ selectedOptions, items, virtualize, ...rest }, ref) => {\n const selectedIds = useMemo(\n () => new Set(selectedOptions.map((opt) => opt.id)),\n [selectedOptions],\n );\n\n const getCheckedState = useCallback(\n (item: SelectItem): CheckState => {\n if (item.type === \"select-all\" || item.type === \"select-filtered\") {\n return item.checkState ?? \"indeterminate\";\n }\n const checkId =\n item.type === \"pinned-option\" ? item.original.id : item.id;\n return selectedIds.has(checkId) ? \"checked\" : \"unchecked\";\n },\n [selectedIds],\n );\n\n const ListComponent = virtualize ? VirtualizedOptionsPanel : OptionsPanel;\n\n return (\n <ListComponent\n {...rest}\n ref={ref}\n items={items}\n selectionType=\"multiple\"\n getCheckedState={getCheckedState}\n />\n );\n});\n\nMultiSelectOptions.displayName = \"MultiSelectOptions\";\n","import { useCallback, useMemo } from \"react\";\nimport type { SelectFieldOption } from \"../../components/SelectField/types\";\nimport type { NormalizedPinnedSection } from \"./usePinnedOptions\";\n\ntype UseToggleSelectionParams = {\n options: SelectFieldOption[];\n pinnedSections: NormalizedPinnedSection[];\n selectedOptions: SelectFieldOption[];\n onSelectedOptionsChange: (options: SelectFieldOption[]) => void;\n};\n\n/**\n * Shared multi-select toggle logic: computes allPinnedOptions and provides\n * handleItemClick to add/remove an option from the selection.\n * Used by both useComboMultiple and useSelectModeMultiple.\n */\nexport const useToggleSelection = ({\n options,\n pinnedSections,\n selectedOptions,\n onSelectedOptionsChange,\n}: UseToggleSelectionParams) => {\n const allPinnedOptions = useMemo(() => {\n return pinnedSections.flatMap((section) => section.options);\n }, [pinnedSections]);\n\n const handleItemClick = useCallback(\n (option: { id: string | number; label: string }) => {\n const isSelected = selectedOptions.some((opt) => opt.id === option.id);\n if (isSelected) {\n onSelectedOptionsChange(\n selectedOptions.filter((opt) => opt.id !== option.id),\n );\n } else {\n const fullOption =\n options.find((opt) => opt.id === option.id) ||\n allPinnedOptions.find((opt) => opt.id === option.id);\n if (fullOption) {\n onSelectedOptionsChange([...selectedOptions, fullOption]);\n }\n }\n },\n [selectedOptions, onSelectedOptionsChange, options, allPinnedOptions],\n );\n\n return { handleItemClick, allPinnedOptions };\n};\n","import type { CheckState } from \"../../types\";\nimport type { SelectFieldOption } from \"../../components/SelectField/types\";\n\n/**\n * The check state of a \"Select All\" / \"Select Filtered\" row.\n *\n * Accepts a static value (`boolean` shorthand or a full `CheckState`) or a\n * function that derives the state from the current selection. The function\n * form is resolved against the live selection (the confirmation draft when\n * confirmation is enabled, otherwise the committed value), so the row's\n * checkbox can reflect how much of the set is currently selected — e.g.\n * `checked` when everything is selected, `indeterminate` when some is, and\n * `unchecked` when none is. This is the async equivalent of the automatic\n * check-state behavior the `*Sync` variants provide.\n */\nexport type BulkActionCheckState =\n | boolean\n | CheckState\n | ((current: SelectFieldOption[]) => boolean | CheckState);\n\n/**\n * Label for a \"Select All\" / \"Select Filtered\" row. A function form is\n * resolved against the live selection (the confirmation draft when\n * confirmation is enabled, otherwise the committed value).\n */\nexport type BulkActionLabel =\n | string\n | ((current: SelectFieldOption[]) => string);\n\n/**\n * Configuration for the \"Select All\" / \"Select Filtered\" rows in a\n * MultiSelectMenu or MultiSelectField.\n *\n * Choose exactly one of `onClick` or `compute`:\n *\n * - **`onClick`** — the row fires the callback; the consumer commits the next\n * selection themselves via `onSelectedOptionsChange`. Simple and familiar.\n * When `confirmation` is enabled, `onClick` bypasses the menu's draft layer\n * (the menu warns once in development).\n * - **`compute`** — the menu invokes `compute(currentDraft)` and writes the\n * result into the draft (or commits it, when confirmation is off). `compute`\n * may return a `Promise<SelectFieldOption[]>`; while the promise is pending\n * the menu shows a loading state, disables all option rows, and disables\n * Apply.\n *\n * `checkState` accepts a static value (a `boolean` shorthand or a full\n * `CheckState`) or a function that derives the state from the current\n * selection, so the row's checkbox can reflect how much of the set is selected.\n */\nexport type BulkActionConfig =\n | {\n label?: BulkActionLabel;\n checkState: BulkActionCheckState;\n onClick: () => void;\n compute?: never;\n }\n | {\n label?: BulkActionLabel;\n checkState: BulkActionCheckState;\n compute: (\n current: SelectFieldOption[],\n ) => SelectFieldOption[] | Promise<SelectFieldOption[]>;\n onClick?: never;\n };\n\n/**\n * Normalized form used internally after `checkState`'s `boolean` shorthand has\n * been resolved to a `CheckState`.\n */\nexport type ResolvedBulkAction = {\n label?: string;\n checkState: CheckState;\n onClick?: () => void;\n compute?: (\n current: SelectFieldOption[],\n ) => SelectFieldOption[] | Promise<SelectFieldOption[]>;\n};\n\n/**\n * Resolves a `BulkActionCheckState` into a concrete `CheckState`.\n *\n * When `checkState` is a function it is invoked with the current selection.\n * The `boolean` shorthand maps `true → \"checked\"` and `false → \"unchecked\"`;\n * a `CheckState` is passed through, defaulting to `\"indeterminate\"`.\n */\nexport function resolveBulkActionCheckState(\n checkState: BulkActionCheckState,\n current: SelectFieldOption[],\n): CheckState {\n const value =\n typeof checkState === \"function\" ? checkState(current) : checkState;\n return value === true\n ? \"checked\"\n : value === false\n ? \"unchecked\"\n : (value ?? \"indeterminate\");\n}\n\n/**\n * Resolves a `BulkActionLabel` into a display string.\n */\nexport function resolveBulkActionLabel(\n label: BulkActionLabel | undefined,\n current: SelectFieldOption[],\n fallback = \"Select All\",\n): string {\n if (label === undefined) return fallback;\n return typeof label === \"function\" ? label(current) : label;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"childrenToString-Bz9MqbHb.js","sources":["../src/internal/functions/childrenToString.ts"],"sourcesContent":["import { isValidElement, ReactNode } from \"react\";\n\n/**\n * Recursively extracts text content from React children nodes.\n *\n * Features:\n * - Converts React children to plain text string\n * - Handles all React node types (strings, numbers, booleans, arrays, elements)\n * - Recursively processes nested React elements\n * - Extracts text from element children props\n * - Handles empty and null children gracefully\n * - Joins array children into single string\n * - Filters out non-text content automatically\n * - Returns empty string for unsupported node types\n *\n * Supported Node Types:\n * - String, number, boolean (converted to string)\n * - React elements (extracts children recursively)\n * - Arrays (processes each item and joins)\n * - Null, undefined (returns empty string)\n * - Objects (returns empty string)\n *\n * @param node - React node to convert to string\n * @returns Extracted text content as string, or empty string if no text content\n */\nexport function childrenToString(node: ReactNode | object): string {\n if (\n typeof node === \"string\" ||\n typeof node === \"number\" ||\n typeof node === \"boolean\"\n ) {\n return node.toString();\n }\n if (!node) {\n return \"\";\n }\n if (Array.isArray(node)) {\n if (!node.length) return \"\";\n return node.map((entry) => childrenToString(entry)).join(\"\");\n }\n\n if (isValidElement(node)) {\n const children = node.props?.children;\n if (!children) return \"\";\n return childrenToString(children);\n }\n return \"\";\n}\n"],"names":[],"mappings":";;AAyBO,SAAS,iBAAiB,IAAA,EAAkC;AACjE,EAAA,IACE,OAAO,SAAS,QAAA,IAChB,OAAO,SAAS,QAAA,IAChB,OAAO,SAAS,SAAA,EAChB;AACA,IAAA,OAAO,KAAK,QAAA,EAAS;AAAA,EACvB;AACA,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,IAAA,IAAI,CAAC,IAAA,CAAK,MAAA,EAAQ,OAAO,EAAA;AACzB,IAAA,OAAO,IAAA,CAAK,IAAI,CAAC,KAAA,KAAU,iBAAiB,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAA,EAC7D;AAEA,EAAA,IAAI,cAAA,CAAe,IAAI,CAAA,EAAG;AACxB,IAAA,MAAM,QAAA,GAAW,KAAK,KAAA,EAAO,QAAA;AAC7B,IAAA,IAAI,CAAC,UAAU,OAAO,EAAA;AACtB,IAAA,OAAO,iBAAiB,QAAQ,CAAA;AAAA,EAClC;AACA,EAAA,OAAO,EAAA;AACT;;;;"}
1
+ {"version":3,"file":"childrenToString-Bz9MqbHb.js","sources":["../src/internal/functions/childrenToString.ts"],"sourcesContent":["import { isValidElement, type ReactNode } from \"react\";\n\n/**\n * Recursively extracts text content from React children nodes.\n *\n * Features:\n * - Converts React children to plain text string\n * - Handles all React node types (strings, numbers, booleans, arrays, elements)\n * - Recursively processes nested React elements\n * - Extracts text from element children props\n * - Handles empty and null children gracefully\n * - Joins array children into single string\n * - Filters out non-text content automatically\n * - Returns empty string for unsupported node types\n *\n * Supported Node Types:\n * - String, number, boolean (converted to string)\n * - React elements (extracts children recursively)\n * - Arrays (processes each item and joins)\n * - Null, undefined (returns empty string)\n * - Objects (returns empty string)\n *\n * @param node - React node to convert to string\n * @returns Extracted text content as string, or empty string if no text content\n */\nexport function childrenToString(node: ReactNode | object): string {\n if (\n typeof node === \"string\" ||\n typeof node === \"number\" ||\n typeof node === \"boolean\"\n ) {\n return node.toString();\n }\n if (!node) {\n return \"\";\n }\n if (Array.isArray(node)) {\n if (!node.length) return \"\";\n return node.map((entry) => childrenToString(entry)).join(\"\");\n }\n\n if (isValidElement(node)) {\n const children = node.props?.children;\n if (!children) return \"\";\n return childrenToString(children);\n }\n return \"\";\n}\n"],"names":[],"mappings":";;AAyBO,SAAS,iBAAiB,IAAA,EAAkC;AACjE,EAAA,IACE,OAAO,SAAS,QAAA,IAChB,OAAO,SAAS,QAAA,IAChB,OAAO,SAAS,SAAA,EAChB;AACA,IAAA,OAAO,KAAK,QAAA,EAAS;AAAA,EACvB;AACA,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,IAAA,IAAI,CAAC,IAAA,CAAK,MAAA,EAAQ,OAAO,EAAA;AACzB,IAAA,OAAO,IAAA,CAAK,IAAI,CAAC,KAAA,KAAU,iBAAiB,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAA,EAC7D;AAEA,EAAA,IAAI,cAAA,CAAe,IAAI,CAAA,EAAG;AACxB,IAAA,MAAM,QAAA,GAAW,KAAK,KAAA,EAAO,QAAA;AAC7B,IAAA,IAAI,CAAC,UAAU,OAAO,EAAA;AACtB,IAAA,OAAO,iBAAiB,QAAQ,CAAA;AAAA,EAClC;AACA,EAAA,OAAO,EAAA;AACT;;;;"}
@@ -1,38 +1,39 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useMemo, forwardRef, createElement, createContext, useRef, useId, useState, useContext, useEffect, useCallback } from 'react';
3
- import { C as Chip } from './Chip-CxgryK86.js';
4
- import { d as ToolbarItemWrapper, u as useToolbarSize, T as ToolbarButtonToggle, b as ToolbarContext, g as getToolbarElements, a as updateToolbarItemsTabIndex } from './ToolbarButtonToggle-3xbnm1Qr.js';
3
+ import { C as Chip } from './Chip-D6Q0J0Xe.js';
4
+ import { C as COMMON_PART, A as ANV_PART_ATTR } from './anvParts-BGg5dgfl.js';
5
+ import { d as ToolbarItemWrapper, u as useToolbarSize, T as ToolbarButtonToggle, b as ToolbarContext, g as getToolbarElements, a as updateToolbarItemsTabIndex } from './ToolbarButtonToggle-BbtKfezH.js';
5
6
  import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
6
7
  import { S as SvgEvent, a as DateModeToFormatMap } from './TimezoneMessage-BrKB_psP.js';
7
8
  import { c as cx } from './index-De1g9FRV.js';
8
- import { B as Button } from './Button-BNzCI47m.js';
9
- import { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-B1tkEtft.js';
10
- import { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-Deki_z-0.js';
11
- import { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-VShqP5J0.js';
12
- import { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BDx1yhZT.js';
13
- import { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-CdtC8d3Q.js';
14
- import { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-CPuQWUNU.js';
15
- import { C as Checkbox } from './Checkbox-zz9TyZWn.js';
16
- import { a as OptionsPopover } from './useAdaptiveView-AvsDkChF.js';
17
- import { M as MenuFooter } from './MenuFooter-Ck9L599M.js';
9
+ import { B as Button } from './Button-Dwh_Nd4l.js';
10
+ import { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-HhFKGtQM.js';
11
+ import { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-C3Y7jnJQ.js';
12
+ import { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-Dyug8Fgk.js';
13
+ import { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BkC0FD5P.js';
14
+ import { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-Cd87uR6b.js';
15
+ import { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-88q0ydo5.js';
16
+ import { C as Checkbox } from './Checkbox-4wRmrann.js';
17
+ import { a as OptionsPopover } from './useAdaptiveView-DmhhcX-B.js';
18
+ import { M as MenuFooter } from './MenuFooter--lBF8OjJ.js';
18
19
  import { D as DateTime } from './luxon-wpz4A-OQ.js';
19
- import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-CgMPTi1v.js';
20
- import { F as Flex } from './Flex-Bb3iHExM.js';
20
+ import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-BZjlO0hX.js';
21
+ import { F as Flex } from './Flex-CRF7gj0_.js';
21
22
  import { u as useConfirmationDraft } from './confirmationTypes-CG7xl50f.js';
22
- import { D as Dialog } from './Dialog-BxulNN8n.js';
23
- import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-CP7QgS6P.js';
23
+ import { D as Dialog } from './Dialog-Clh3jaX8.js';
24
+ import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-DUFfyknZ.js';
24
25
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
25
- import { F as FieldLabel } from './FieldLabel-Cm5A1Jcx.js';
26
- import { G as Grid } from './Grid-ho1pGJ5L.js';
27
- import { N as NumberField } from './NumberField-CjC6KHKl.js';
28
- import { T as Text } from './Text-mDcQHC2U.js';
29
- import { T as TextField } from './TextField-WQTlqKso.js';
26
+ import { F as FieldLabel } from './FieldLabel-SzH61hCb.js';
27
+ import { G as Grid } from './Grid-CvGQrIhE.js';
28
+ import { N as NumberField } from './NumberField-B1761jkf.js';
29
+ import { T as Text } from './Text-CIoD_RK4.js';
30
+ import { T as TextField } from './TextField-D3sRS5q1.js';
30
31
  import { S as SvgClose } from './close-DZj38AEh.js';
31
- import { a as SvgSearch, s as styles$1 } from './SearchField-X4B7f23E.js';
32
+ import { a as SvgSearch, s as styles$1 } from './SearchField-DX8hZyo2.js';
32
33
  import { t as textFieldStyles } from './TextField.module-DklyLNKz.js';
33
- import { I as Icon } from './Icon-B4uCvMU9.js';
34
+ import { I as Icon } from './Icon-B5zwN7GD.js';
34
35
  import { useTrackingId } from './useTrackingId.js';
35
- import { R as Radio } from './Radio-D9w_-JYw.js';
36
+ import { R as Radio } from './Radio-BxSL1PoP.js';
36
37
 
37
38
  import './filter-state.css';const FilterItemWrapper = ({ children }) => {
38
39
  const props = useMemo(
@@ -51,6 +52,37 @@ import './filter-state.css';const FilterItemWrapper = ({ children }) => {
51
52
  return /* @__PURE__ */ jsx(ToolbarItemWrapper, { ...props });
52
53
  };
53
54
 
55
+ const PARTS = {
56
+ // Common roles (shared values)
57
+ trigger: COMMON_PART.trigger,
58
+ input: COMMON_PART.input,
59
+ dialog: COMMON_PART.dialog,
60
+ applyButton: COMMON_PART.applyButton,
61
+ cancelButton: COMMON_PART.cancelButton,
62
+ /** Clears text in a search/text field — not the whole bar. */
63
+ clearButton: COMMON_PART.clearButton,
64
+ drawer: COMMON_PART.drawer,
65
+ dateInput: COMMON_PART.dateInput,
66
+ dateCalendar: COMMON_PART.dateCalendar,
67
+ // FilterBar-specific roles
68
+ /** Trigger that opens the filter drawer (collapsed mode). */
69
+ drawerTrigger: "drawer-trigger",
70
+ /** Lower-bound input of a numeric range filter. */
71
+ minInput: "min-input",
72
+ /** Upper-bound input of a numeric range filter. */
73
+ maxInput: "max-input",
74
+ /**
75
+ * Clears all active filters (inline "Clear Filters" and drawer
76
+ * "Clear All Filters"). Distinct from `clear-button` on search fields.
77
+ */
78
+ clearFiltersButton: "clear-filters-button",
79
+ /**
80
+ * Numeric count badge on a filter trigger / drawer trigger (not a
81
+ * selected-value chip).
82
+ */
83
+ countBadge: "count-badge"
84
+ };
85
+
54
86
  const styles = {
55
87
  "filter-button-trigger": "_filter-button-trigger_1kmgt_1",
56
88
  "filter-button-trigger--selected": "_filter-button-trigger--selected_1kmgt_5",
@@ -80,6 +112,7 @@ const FilterTriggerButton = forwardRef(function FilterTriggerButton2({ filterId,
80
112
  "data-anv": "toolbar-button",
81
113
  className: buttonClass,
82
114
  ...rest,
115
+ ...{ [ANV_PART_ATTR]: PARTS.trigger },
83
116
  children: label
84
117
  }
85
118
  );
@@ -98,7 +131,8 @@ const formatLabel$b = (filter) => {
98
131
  label: countLabel,
99
132
  color: "#0265DC",
100
133
  size: "small",
101
- "aria-label": `${countLabel} selected items`
134
+ "aria-label": `${countLabel} selected items`,
135
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
102
136
  }
103
137
  )
104
138
  ] });
@@ -240,7 +274,8 @@ const formatLabel$9 = (filter) => {
240
274
  label: countLabel,
241
275
  color: "#0265DC",
242
276
  size: "small",
243
- "aria-label": `${countLabel} selected items`
277
+ "aria-label": `${countLabel} selected items`,
278
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
244
279
  }
245
280
  )
246
281
  ] });
@@ -320,6 +355,7 @@ const FilterToggleButton = ({
320
355
  ...props,
321
356
  className: styles["filter-button-trigger"],
322
357
  "data-anv": "toolbar-boolean-filter",
358
+ ...{ [ANV_PART_ATTR]: PARTS.trigger },
323
359
  children
324
360
  }
325
361
  ) });
@@ -348,9 +384,11 @@ const booleanAdapter = {
348
384
  renderDrawer: ({ draftFilter, onDraftChange }) => /* @__PURE__ */ jsx(
349
385
  Checkbox,
350
386
  {
387
+ "data-id": draftFilter.id,
351
388
  label: draftFilter.label,
352
389
  checked: draftFilter.checked,
353
- onChange: (e) => onDraftChange(draftFilter.id, e?.target.checked ?? false)
390
+ onChange: (e) => onDraftChange(draftFilter.id, e?.target.checked ?? false),
391
+ ...{ [ANV_PART_ATTR]: PARTS.trigger }
354
392
  },
355
393
  draftFilter.id
356
394
  ),
@@ -565,7 +603,8 @@ const formatLabel$8 = (filter) => {
565
603
  label: filter.labelChipCount.toString(),
566
604
  color: "#0265DC",
567
605
  size: "small",
568
- "aria-label": `${filter.labelChipCount} selected items`
606
+ "aria-label": `${filter.labelChipCount} selected items`,
607
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
569
608
  }
570
609
  )
571
610
  ] });
@@ -738,7 +777,8 @@ const Body$1 = ({
738
777
  onChange: handleInputChange,
739
778
  lastValidDate: value ?? null,
740
779
  autoComplete: "off",
741
- error
780
+ error,
781
+ ...{ [ANV_PART_ATTR]: PARTS.dateInput }
742
782
  }
743
783
  ),
744
784
  /* @__PURE__ */ jsx(
@@ -748,7 +788,8 @@ const Body$1 = ({
748
788
  onSelection: handleCalendarSelection,
749
789
  minDate,
750
790
  maxDate,
751
- unavailable
791
+ unavailable,
792
+ ...{ [ANV_PART_ATTR]: PARTS.dateCalendar }
752
793
  }
753
794
  )
754
795
  ] });
@@ -941,10 +982,11 @@ const Body = ({
941
982
  startDate: value?.startDate ?? null,
942
983
  endDate: value?.endDate ?? null,
943
984
  autoComplete: "off",
944
- error
985
+ error,
986
+ ...{ [ANV_PART_ATTR]: PARTS.dateInput }
945
987
  }
946
988
  ),
947
- /* @__PURE__ */ jsx(
989
+ /* @__PURE__ */ jsx("div", { ...{ [ANV_PART_ATTR]: PARTS.dateCalendar }, children: /* @__PURE__ */ jsx(
948
990
  DateFieldRangeCalendar,
949
991
  {
950
992
  startDate: value?.startDate ?? null,
@@ -954,7 +996,7 @@ const Body = ({
954
996
  maxDate,
955
997
  unavailable
956
998
  }
957
- )
999
+ ) })
958
1000
  ] });
959
1001
  };
960
1002
  const PopoverShell = ({
@@ -1072,12 +1114,20 @@ const formatRangeForLabel = (range) => {
1072
1114
  const formattedStart = sameYear ? `${start.monthShort} ${start.day}` : `${start.monthShort} ${start.day}, ${start.year}`;
1073
1115
  return `${formattedStart} – ${end.monthShort} ${end.day}, ${end.year}`;
1074
1116
  };
1117
+ const formatDateListValue = (value) => typeof value === "string" ? formatDateForLabel(value) : formatRangeForLabel(value);
1075
1118
  const formatDateListSelectionLabel = (selection) => {
1076
1119
  if (selection.value === null) return selection.label;
1077
- const formatted = typeof selection.value === "string" ? formatDateForLabel(selection.value) : formatRangeForLabel(selection.value);
1120
+ const formatted = formatDateListValue(selection.value);
1078
1121
  if (selection.id === "customRange") return formatted;
1079
1122
  return `${selection.label}: ${formatted}`;
1080
1123
  };
1124
+ const formatDateListTriggerLabel = (filterLabel, selection) => {
1125
+ if (selection.value === null) return filterLabel || selection.label;
1126
+ if (!filterLabel) return formatDateListSelectionLabel(selection);
1127
+ const formatted = formatDateListValue(selection.value);
1128
+ if (selection.id === "customRange") return `${filterLabel}: ${formatted}`;
1129
+ return `${filterLabel}: ${selection.label} (${formatted})`;
1130
+ };
1081
1131
 
1082
1132
  const DateListDialog = ({
1083
1133
  libraryId,
@@ -1126,50 +1176,67 @@ const DateListDialog = ({
1126
1176
  onCommit({ id: libraryId, label: dialogLabel, value: dateDraft });
1127
1177
  }
1128
1178
  };
1129
- return /* @__PURE__ */ jsx(Dialog, { open: dialogOpen, onClose: onCancel, children: libraryId && /* @__PURE__ */ jsxs(Fragment, { children: [
1130
- /* @__PURE__ */ jsx(Dialog.Header, { children: dialogLabel }),
1131
- /* @__PURE__ */ jsx(Dialog.Content, { children: isRange ? /* @__PURE__ */ jsx(
1132
- FilterDateRange,
1133
- {
1134
- variant: "inline",
1135
- filter: {
1136
- id: `${parentFilterId}--date-list-dialog-range`,
1137
- label: dialogLabel,
1138
- type: "dateRange",
1139
- value: rangeDraft,
1140
- mode
1141
- },
1142
- draftValue: rangeDraft,
1143
- onDraftChange: setRangeDraft
1144
- }
1145
- ) : /* @__PURE__ */ jsx(
1146
- FilterDateSingle,
1147
- {
1148
- variant: "inline",
1149
- filter: {
1150
- id: `${parentFilterId}--date-list-dialog-date`,
1151
- label: dialogLabel,
1152
- type: "date",
1153
- value: dateDraft,
1154
- mode
1155
- },
1156
- draftValue: dateDraft,
1157
- onDraftChange: setDateDraft
1158
- }
1159
- ) }),
1160
- /* @__PURE__ */ jsx(Dialog.Footer, { children: /* @__PURE__ */ jsxs(Flex, { gap: 2, justifyContent: "flex-end", children: [
1161
- /* @__PURE__ */ jsx(Dialog.CancelButton, { appearance: "ghost", "aria-label": "Cancel", children: "Cancel" }),
1162
- /* @__PURE__ */ jsx(
1163
- Button,
1164
- {
1165
- appearance: "primary",
1166
- disabled: !canCommit,
1167
- onClick: handleCommit,
1168
- children: dialogCtaLabel
1169
- }
1170
- )
1171
- ] }) })
1172
- ] }) });
1179
+ return /* @__PURE__ */ jsx(
1180
+ Dialog,
1181
+ {
1182
+ open: dialogOpen,
1183
+ onClose: onCancel,
1184
+ ...{ [ANV_PART_ATTR]: PARTS.dialog },
1185
+ children: libraryId && /* @__PURE__ */ jsxs(Fragment, { children: [
1186
+ /* @__PURE__ */ jsx(Dialog.Header, { children: dialogLabel }),
1187
+ /* @__PURE__ */ jsx(Dialog.Content, { children: isRange ? /* @__PURE__ */ jsx(
1188
+ FilterDateRange,
1189
+ {
1190
+ variant: "inline",
1191
+ filter: {
1192
+ id: `${parentFilterId}--date-list-dialog-range`,
1193
+ label: dialogLabel,
1194
+ type: "dateRange",
1195
+ value: rangeDraft,
1196
+ mode
1197
+ },
1198
+ draftValue: rangeDraft,
1199
+ onDraftChange: setRangeDraft
1200
+ }
1201
+ ) : /* @__PURE__ */ jsx(
1202
+ FilterDateSingle,
1203
+ {
1204
+ variant: "inline",
1205
+ filter: {
1206
+ id: `${parentFilterId}--date-list-dialog-date`,
1207
+ label: dialogLabel,
1208
+ type: "date",
1209
+ value: dateDraft,
1210
+ mode
1211
+ },
1212
+ draftValue: dateDraft,
1213
+ onDraftChange: setDateDraft
1214
+ }
1215
+ ) }),
1216
+ /* @__PURE__ */ jsx(Dialog.Footer, { children: /* @__PURE__ */ jsxs(Flex, { gap: 2, justifyContent: "flex-end", children: [
1217
+ /* @__PURE__ */ jsx(
1218
+ Dialog.CancelButton,
1219
+ {
1220
+ appearance: "ghost",
1221
+ "aria-label": "Cancel",
1222
+ ...{ [ANV_PART_ATTR]: PARTS.cancelButton },
1223
+ children: "Cancel"
1224
+ }
1225
+ ),
1226
+ /* @__PURE__ */ jsx(
1227
+ Button,
1228
+ {
1229
+ appearance: "primary",
1230
+ disabled: !canCommit,
1231
+ onClick: handleCommit,
1232
+ ...{ [ANV_PART_ATTR]: PARTS.applyButton },
1233
+ children: dialogCtaLabel
1234
+ }
1235
+ )
1236
+ ] }) })
1237
+ ] })
1238
+ }
1239
+ );
1173
1240
  };
1174
1241
  const FilterDateList = ({
1175
1242
  filter,
@@ -1203,14 +1270,18 @@ const FilterDateList = ({
1203
1270
  }, [filter.options, visibleLibraryOptions]);
1204
1271
  const options = useMemo(
1205
1272
  () => [
1206
- ...filter.options.map((opt) => ({
1207
- id: opt.id,
1208
- label: opt.label
1209
- })),
1210
- ...visibleLibraryOptions.map((opt) => ({
1211
- id: opt.id,
1212
- label: opt.label
1213
- }))
1273
+ ...filter.options.map(
1274
+ (opt) => ({
1275
+ id: opt.id,
1276
+ label: opt.label
1277
+ })
1278
+ ),
1279
+ ...visibleLibraryOptions.map(
1280
+ (opt) => ({
1281
+ id: opt.id,
1282
+ label: opt.label
1283
+ })
1284
+ )
1214
1285
  ],
1215
1286
  [filter.options, visibleLibraryOptions]
1216
1287
  );
@@ -1279,11 +1350,7 @@ const FilterDateList = ({
1279
1350
  };
1280
1351
 
1281
1352
  const isSelected$7 = (filter) => filter.selectedOption !== void 0 && filter.selectedOption.value !== null;
1282
- const formatLabel$6 = (filter) => {
1283
- const selected = filter.selectedOption;
1284
- if (!selected || selected.value === null) return filter.label;
1285
- return formatDateListSelectionLabel(selected);
1286
- };
1353
+ const formatLabel$6 = (filter) => filter.selectedOption ? formatDateListTriggerLabel(filter.label, filter.selectedOption) : filter.label;
1287
1354
  const dateListAdapter = {
1288
1355
  getValue: (filter) => filter.selectedOption,
1289
1356
  setValue: (filter, value) => ({ ...filter, selectedOption: value }),
@@ -1448,7 +1515,8 @@ const formatLabel$4 = (filter) => {
1448
1515
  label: countLabel,
1449
1516
  color: "#0265DC",
1450
1517
  size: "small",
1451
- "aria-label": `${countLabel} selected items`
1518
+ "aria-label": `${countLabel} selected items`,
1519
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
1452
1520
  }
1453
1521
  )
1454
1522
  ] });
@@ -1509,6 +1577,7 @@ const multiSelectAdapter = {
1509
1577
  checked: draftFilter.selectedOptions?.some(
1510
1578
  (selected) => selected.id === option.id
1511
1579
  ) ?? false,
1580
+ ...{ [ANV_PART_ATTR]: COMMON_PART.option },
1512
1581
  onChange: (e) => {
1513
1582
  const currentSelected = draftFilter.selectedOptions ?? [];
1514
1583
  if (e?.target.checked) {
@@ -1583,7 +1652,8 @@ const FilterNumericRange = ({
1583
1652
  label: minFieldLabel,
1584
1653
  value: value?.min ?? null,
1585
1654
  onChange: (n) => update({ min: n ?? void 0, max: value?.max }),
1586
- ...sharedNumberFieldProps
1655
+ ...sharedNumberFieldProps,
1656
+ ...{ [ANV_PART_ATTR]: PARTS.minInput }
1587
1657
  }
1588
1658
  );
1589
1659
  const maxField = /* @__PURE__ */ jsx(
@@ -1592,7 +1662,8 @@ const FilterNumericRange = ({
1592
1662
  label: maxFieldLabel,
1593
1663
  value: value?.max ?? null,
1594
1664
  onChange: (n) => update({ min: value?.min, max: n ?? void 0 }),
1595
- ...sharedNumberFieldProps
1665
+ ...sharedNumberFieldProps,
1666
+ ...{ [ANV_PART_ATTR]: PARTS.maxInput }
1596
1667
  }
1597
1668
  );
1598
1669
  if (layout === "compact") {
@@ -1795,7 +1866,8 @@ const FilterSearchField = ({
1795
1866
  type: "search",
1796
1867
  autoComplete: "off",
1797
1868
  "aria-label": filter.label,
1798
- "data-tracking-id": trackingId
1869
+ "data-tracking-id": trackingId,
1870
+ ...{ [ANV_PART_ATTR]: PARTS.input }
1799
1871
  }
1800
1872
  ),
1801
1873
  /* @__PURE__ */ jsx(
@@ -1811,7 +1883,8 @@ const FilterSearchField = ({
1811
1883
  className: styles$1["clear"],
1812
1884
  style: {
1813
1885
  visibility: hasValue ? "visible" : "hidden"
1814
- }
1886
+ },
1887
+ ...{ [ANV_PART_ATTR]: PARTS.clearButton }
1815
1888
  }
1816
1889
  )
1817
1890
  ]
@@ -1851,7 +1924,8 @@ const searchAdapter = {
1851
1924
  label: draftFilter.label,
1852
1925
  placeholder: draftFilter.placeholder,
1853
1926
  value: draftFilter.value ?? "",
1854
- onChange: (e) => onDraftChange(draftFilter.id, e.target.value || void 0)
1927
+ onChange: (e) => onDraftChange(draftFilter.id, e.target.value || void 0),
1928
+ ...{ [ANV_PART_ATTR]: PARTS.input }
1855
1929
  },
1856
1930
  draftFilter.id
1857
1931
  ),
@@ -1964,7 +2038,8 @@ const FilterTextInput = ({
1964
2038
  placeholder: filter.placeholder,
1965
2039
  value,
1966
2040
  onChange: (e) => onChange(truncate(e.target.value)),
1967
- ...counterProps
2041
+ ...counterProps,
2042
+ ...{ [ANV_PART_ATTR]: PARTS.input }
1968
2043
  }
1969
2044
  );
1970
2045
  };
@@ -2036,7 +2111,8 @@ const formatLabel = (filter) => {
2036
2111
  label: countLabel,
2037
2112
  color: "#0265DC",
2038
2113
  size: "small",
2039
- "aria-label": `${countLabel} selected items`
2114
+ "aria-label": `${countLabel} selected items`,
2115
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
2040
2116
  }
2041
2117
  )
2042
2118
  ] });
@@ -2149,5 +2225,5 @@ const cloneFiltersWithItemRefs = (filters) => filters.map(
2149
2225
  (filter) => getAdapter(filter).cloneWithItemRefs(filter)
2150
2226
  );
2151
2227
 
2152
- export { DateListDialog as D, FilterGroupContext as F, checkActiveFilters as a, getAdapter as b, cloneFiltersWithItemRefs as c, FilterItemWrapper as d, FilterTriggerButton as e, getActiveFilters as g, hasFilterSelectionChanged as h, preserveFilterState as p, resetFilters as r, styles as s, updateSingleFilter as u };
2153
- //# sourceMappingURL=filter-state-DKXF5MeW.js.map
2228
+ export { DateListDialog as D, FilterGroupContext as F, PARTS as P, checkActiveFilters as a, getAdapter as b, cloneFiltersWithItemRefs as c, FilterItemWrapper as d, FilterTriggerButton as e, getActiveFilters as g, hasFilterSelectionChanged as h, preserveFilterState as p, resetFilters as r, styles as s, updateSingleFilter as u };
2229
+ //# sourceMappingURL=filter-state-BQOX7_rO.js.map