@servicetitan/anvil2 2.6.0 → 2.6.1

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 (348) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{Alert-efJbA3Sy.js → Alert-C_o2f78C.js} +4 -4
  3. package/dist/{Alert-efJbA3Sy.js.map → Alert-C_o2f78C.js.map} +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/{Announcement-D9eVhPwx.js → Announcement-CyrTvgP4.js} +4 -4
  6. package/dist/{Announcement-D9eVhPwx.js.map → Announcement-CyrTvgP4.js.map} +1 -1
  7. package/dist/Announcement.js +1 -1
  8. package/dist/{AnvilProvider-DrjU73_k.js → AnvilProvider-ClfmLl_6.js} +3 -3
  9. package/dist/{AnvilProvider-DrjU73_k.js.map → AnvilProvider-ClfmLl_6.js.map} +1 -1
  10. package/dist/AnvilProvider.js +1 -1
  11. package/dist/{Avatar--E9iBILU.js → Avatar--CnTAnfD.js} +2 -2
  12. package/dist/{Avatar--E9iBILU.js.map → Avatar--CnTAnfD.js.map} +1 -1
  13. package/dist/{Avatar-CJCAu9Hk.js → Avatar-CCnbKkCm.js} +3 -3
  14. package/dist/{Avatar-CJCAu9Hk.js.map → Avatar-CCnbKkCm.js.map} +1 -1
  15. package/dist/Avatar.js +2 -2
  16. package/dist/{Badge-pHlnInjl.js → Badge-C2W7Dls9.js} +3 -3
  17. package/dist/{Badge-pHlnInjl.js.map → Badge-C2W7Dls9.js.map} +1 -1
  18. package/dist/Badge.js +1 -1
  19. package/dist/{Breadcrumbs-B5deMJRX.js → Breadcrumbs-3Y7jnj-F.js} +5 -5
  20. package/dist/{Breadcrumbs-B5deMJRX.js.map → Breadcrumbs-3Y7jnj-F.js.map} +1 -1
  21. package/dist/Breadcrumbs.js +1 -1
  22. package/dist/{Button-DuvaXRZ5.js → Button-CVsGhVJz.js} +4 -4
  23. package/dist/{Button-DuvaXRZ5.js.map → Button-CVsGhVJz.js.map} +1 -1
  24. package/dist/Button.js +1 -1
  25. package/dist/{ButtonCompound-CfRJlClF.js → ButtonCompound-Cmw3cgMY.js} +2 -2
  26. package/dist/{ButtonCompound-CfRJlClF.js.map → ButtonCompound-Cmw3cgMY.js.map} +1 -1
  27. package/dist/ButtonCompound.js +1 -1
  28. package/dist/{ButtonLink-B5Ixd5d5.js → ButtonLink-BJKTJER8.js} +4 -4
  29. package/dist/{ButtonLink-B5Ixd5d5.js.map → ButtonLink-BJKTJER8.js.map} +1 -1
  30. package/dist/ButtonLink.js +1 -1
  31. package/dist/{ButtonToggle-BkDR0AcM.js → ButtonToggle-DaYJWso_.js} +3 -3
  32. package/dist/{ButtonToggle-BkDR0AcM.js.map → ButtonToggle-DaYJWso_.js.map} +1 -1
  33. package/dist/ButtonToggle.js +1 -1
  34. package/dist/{Calendar-M8K2O28r.js → Calendar-B0u3EgCY.js} +6 -6
  35. package/dist/{Calendar-M8K2O28r.js.map → Calendar-B0u3EgCY.js.map} +1 -1
  36. package/dist/{Calendar-MXQWMrwC.js → Calendar-B5d2SUrH.js} +2 -2
  37. package/dist/{Calendar-MXQWMrwC.js.map → Calendar-B5d2SUrH.js.map} +1 -1
  38. package/dist/Calendar.js +2 -2
  39. package/dist/{Card-C5TyS0Iv.js → Card-wz71dEVA.js} +2 -2
  40. package/dist/{Card-C5TyS0Iv.js.map → Card-wz71dEVA.js.map} +1 -1
  41. package/dist/Card.js +1 -1
  42. package/dist/{Checkbox-LPr8zpzs.js → Checkbox-BwULIo4D.js} +7 -7
  43. package/dist/{Checkbox-LPr8zpzs.js.map → Checkbox-BwULIo4D.js.map} +1 -1
  44. package/dist/{Checkbox-Czx6UCfq.js → Checkbox-CIj37_vY.js} +2 -2
  45. package/dist/{Checkbox-Czx6UCfq.js.map → Checkbox-CIj37_vY.js.map} +1 -1
  46. package/dist/Checkbox.js +1 -1
  47. package/dist/{Chip-BJmzOMOd.js → Chip-DjTAR0va.js} +5 -5
  48. package/dist/{Chip-BJmzOMOd.js.map → Chip-DjTAR0va.js.map} +1 -1
  49. package/dist/Chip.js +1 -1
  50. package/dist/{Combobox-CnzBCYLC.js → Combobox-Clymsgli.js} +13 -12
  51. package/dist/{Combobox-CnzBCYLC.js.map → Combobox-Clymsgli.js.map} +1 -1
  52. package/dist/Combobox.js +1 -1
  53. package/dist/{DataTable-Cau6ylNR.js → DataTable-qoseu_e2.js} +82 -47
  54. package/dist/DataTable-qoseu_e2.js.map +1 -0
  55. package/dist/DataTable.css +68 -55
  56. package/dist/{DateFieldRange-B1BR8K7C.js → DateFieldRange-rks7jQor.js} +45 -54
  57. package/dist/DateFieldRange-rks7jQor.js.map +1 -0
  58. package/dist/DateFieldRange.js +1 -1
  59. package/dist/{DateFieldSingle-CaWruBBO.js → DateFieldSingle-C0WXU7H1.js} +43 -52
  60. package/dist/DateFieldSingle-C0WXU7H1.js.map +1 -0
  61. package/dist/DateFieldSingle.js +1 -1
  62. package/dist/{DateFieldYearless-ClF88lnZ.js → DateFieldYearless-2p3a7Xgo.js} +6 -6
  63. package/dist/{DateFieldYearless-ClF88lnZ.js.map → DateFieldYearless-2p3a7Xgo.js.map} +1 -1
  64. package/dist/DateFieldYearless.js +1 -1
  65. package/dist/{DateFieldYearlessRange-LZFr55tn.js → DateFieldYearlessRange-DLmhPug8.js} +7 -7
  66. package/dist/{DateFieldYearlessRange-LZFr55tn.js.map → DateFieldYearlessRange-DLmhPug8.js.map} +1 -1
  67. package/dist/DateFieldYearlessRange.js +1 -1
  68. package/dist/{DaysOfTheWeek-BLdndX4a.js → DaysOfTheWeek-BR32AA32.js} +6 -6
  69. package/dist/{DaysOfTheWeek-BLdndX4a.js.map → DaysOfTheWeek-BR32AA32.js.map} +1 -1
  70. package/dist/DaysOfTheWeek.js +1 -1
  71. package/dist/{Details-C9temdJE.js → Details-Dxq_v3Qg.js} +3 -3
  72. package/dist/{Details-C9temdJE.js.map → Details-Dxq_v3Qg.js.map} +1 -1
  73. package/dist/Details.js +1 -1
  74. package/dist/{Dialog-CXnUkcrS.js → Dialog-CMhypnCD.js} +6 -6
  75. package/dist/{Dialog-CXnUkcrS.js.map → Dialog-CMhypnCD.js.map} +1 -1
  76. package/dist/Dialog.js +1 -1
  77. package/dist/{DialogCancelButton-LfPkSYCE.js → DialogCancelButton-DQDMzGeT.js} +2 -2
  78. package/dist/{DialogCancelButton-LfPkSYCE.js.map → DialogCancelButton-DQDMzGeT.js.map} +1 -1
  79. package/dist/{Divider-HHjG0KYA.js → Divider-B1UoK8ho.js} +2 -2
  80. package/dist/{Divider-HHjG0KYA.js.map → Divider-B1UoK8ho.js.map} +1 -1
  81. package/dist/Divider.js +1 -1
  82. package/dist/Dnd.js +1 -1
  83. package/dist/DndSort.js +5 -5
  84. package/dist/{Drawer-BmNHRJJJ.js → Drawer-CSelPi8t.js} +6 -6
  85. package/dist/{Drawer-BmNHRJJJ.js.map → Drawer-CSelPi8t.js.map} +1 -1
  86. package/dist/Drawer.js +1 -1
  87. package/dist/DrillDown.js +1 -1
  88. package/dist/{EditCard-8gQ6IJez.js → EditCard-CLN0GBN_.js} +6 -6
  89. package/dist/{EditCard-8gQ6IJez.js.map → EditCard-CLN0GBN_.js.map} +1 -1
  90. package/dist/EditCard.js +1 -1
  91. package/dist/{FieldLabel-35fac7b-.js → FieldLabel-DbMosKtd.js} +5 -5
  92. package/dist/{FieldLabel-35fac7b-.js.map → FieldLabel-DbMosKtd.js.map} +1 -1
  93. package/dist/FieldLabel.js +1 -1
  94. package/dist/{FieldMessage-eYenMJY5.js → FieldMessage-COHqUdj5.js} +3 -3
  95. package/dist/{FieldMessage-eYenMJY5.js.map → FieldMessage-COHqUdj5.js.map} +1 -1
  96. package/dist/FieldMessage.js +2 -2
  97. package/dist/{Flex-DZu-_z-U.js → Flex-WyyZm1bf.js} +2 -2
  98. package/dist/{Flex-DZu-_z-U.js.map → Flex-WyyZm1bf.js.map} +1 -1
  99. package/dist/Flex.js +1 -1
  100. package/dist/{Grid-xRKvVHA2.js → Grid-ONcUpb__.js} +2 -2
  101. package/dist/{Grid-xRKvVHA2.js.map → Grid-ONcUpb__.js.map} +1 -1
  102. package/dist/Grid.js +1 -1
  103. package/dist/{Helper-CDZD_AOG.js → Helper-B_FIOlhy.js} +3 -3
  104. package/dist/{Helper-CDZD_AOG.js.map → Helper-B_FIOlhy.js.map} +1 -1
  105. package/dist/{Icon-Bgkq1egx.js → Icon-DuIlne4x.js} +2 -2
  106. package/dist/{Icon-Bgkq1egx.js.map → Icon-DuIlne4x.js.map} +1 -1
  107. package/dist/Icon.js +1 -1
  108. package/dist/{InputMask-DkvZ4MIT.js → InputMask-BKs-x6ds.js} +3 -3
  109. package/dist/{InputMask-DkvZ4MIT.js.map → InputMask-BKs-x6ds.js.map} +1 -1
  110. package/dist/InputMask.js +1 -1
  111. package/dist/{InteractiveCard-B3_FAoIE.js → InteractiveCard-GTYbR6Xy.js} +3 -3
  112. package/dist/{InteractiveCard-B3_FAoIE.js.map → InteractiveCard-GTYbR6Xy.js.map} +1 -1
  113. package/dist/InteractiveCard.js +1 -1
  114. package/dist/{Layout-DTAU7jS5.js → Layout-VfhlilMG.js} +2 -2
  115. package/dist/{Layout-DTAU7jS5.js.map → Layout-VfhlilMG.js.map} +1 -1
  116. package/dist/Layout.js +1 -1
  117. package/dist/{Link-DSyeiS7g.js → Link-jTvzyXca.js} +3 -3
  118. package/dist/{Link-DSyeiS7g.js.map → Link-jTvzyXca.js.map} +1 -1
  119. package/dist/Link.js +1 -1
  120. package/dist/{LinkButton-DOI4osnN.js → LinkButton-DGyHR1E7.js} +2 -2
  121. package/dist/{LinkButton-DOI4osnN.js.map → LinkButton-DGyHR1E7.js.map} +1 -1
  122. package/dist/LinkButton.js +1 -1
  123. package/dist/{List-Cyvkt0Px.js → List-CJZjElAQ.js} +2 -2
  124. package/dist/{List-Cyvkt0Px.js.map → List-CJZjElAQ.js.map} +1 -1
  125. package/dist/List.js +1 -1
  126. package/dist/{ListView-VzdUffCe.js → ListView-CeGwrRbt.js} +3 -3
  127. package/dist/{ListView-VzdUffCe.js.map → ListView-CeGwrRbt.js.map} +1 -1
  128. package/dist/ListView.js +1 -1
  129. package/dist/{Listbox-SRBgb1VS.js → Listbox-BtAgBDRS.js} +6 -6
  130. package/dist/{Listbox-SRBgb1VS.js.map → Listbox-BtAgBDRS.js.map} +1 -1
  131. package/dist/Listbox.css +29 -29
  132. package/dist/Listbox.js +1 -1
  133. package/dist/Listbox.module-HAXMOKvC.js +18 -0
  134. package/dist/Listbox.module-HAXMOKvC.js.map +1 -0
  135. package/dist/{Menu-Bxbrulia.js → Menu-BXsmCP20.js} +6 -5
  136. package/dist/{Menu-Bxbrulia.js.map → Menu-BXsmCP20.js.map} +1 -1
  137. package/dist/Menu.js +1 -1
  138. package/dist/MultiSelectField.js +1 -1
  139. package/dist/{MultiSelectFieldSync-B6J42MpG.js → MultiSelectFieldSync-EELhdoD6.js} +91 -176
  140. package/dist/MultiSelectFieldSync-EELhdoD6.js.map +1 -0
  141. package/dist/MultiSelectMenu.d.ts +2 -0
  142. package/dist/MultiSelectMenu.js +2 -0
  143. package/dist/MultiSelectMenu.js.map +1 -0
  144. package/dist/MultiSelectMenuSync-CAPhhkK1.js +432 -0
  145. package/dist/MultiSelectMenuSync-CAPhhkK1.js.map +1 -0
  146. package/dist/{NumberField-BgeDEoHw.js → NumberField-svhZp1kB.js} +8 -8
  147. package/dist/{NumberField-BgeDEoHw.js.map → NumberField-svhZp1kB.js.map} +1 -1
  148. package/dist/NumberField.js +1 -1
  149. package/dist/Overflow.js +2 -2
  150. package/dist/{Page-DgqEClR7.js → Page-BpV1yHkm.js} +16 -16
  151. package/dist/{Page-DgqEClR7.js.map → Page-BpV1yHkm.js.map} +1 -1
  152. package/dist/Page.js +1 -1
  153. package/dist/{Pagination-DIredMzG.js → Pagination-BAwqfl_2.js} +8 -8
  154. package/dist/{Pagination-DIredMzG.js.map → Pagination-BAwqfl_2.js.map} +1 -1
  155. package/dist/Pagination.js +1 -1
  156. package/dist/{Popover-CsVesD9_.js → Popover-Br6qPgKe.js} +7 -6
  157. package/dist/{Popover-CsVesD9_.js.map → Popover-Br6qPgKe.js.map} +1 -1
  158. package/dist/{Popover-ZyaN26OB.js → Popover-Dkw_8dZx.js} +22 -9
  159. package/dist/Popover-Dkw_8dZx.js.map +1 -0
  160. package/dist/Popover.js +1 -1
  161. package/dist/{ProgressBar-x1cyKo1E.js → ProgressBar-JpRDW5vG.js} +7 -7
  162. package/dist/{ProgressBar-x1cyKo1E.js.map → ProgressBar-JpRDW5vG.js.map} +1 -1
  163. package/dist/ProgressBar.js +1 -1
  164. package/dist/{Radio-D8HSazJ6.js → Radio-8DmfWHYq.js} +7 -7
  165. package/dist/{Radio-D8HSazJ6.js.map → Radio-8DmfWHYq.js.map} +1 -1
  166. package/dist/{Radio-Beneo_h3.js → Radio-M7lc0BsU.js} +2 -2
  167. package/dist/{Radio-Beneo_h3.js.map → Radio-M7lc0BsU.js.map} +1 -1
  168. package/dist/Radio.js +1 -1
  169. package/dist/{SearchField-Dn_5cMo3.js → SearchField-im7AHGYo.js} +4 -4
  170. package/dist/{SearchField-Dn_5cMo3.js.map → SearchField-im7AHGYo.js.map} +1 -1
  171. package/dist/SearchField.js +1 -1
  172. package/dist/{SegmentedControl-BshzGPsW.js → SegmentedControl-7fDLhgvh.js} +3 -3
  173. package/dist/{SegmentedControl-BshzGPsW.js.map → SegmentedControl-7fDLhgvh.js.map} +1 -1
  174. package/dist/SegmentedControl.js +1 -1
  175. package/dist/{SelectCard-D94UKLxM.js → SelectCard-D5dcOIuf.js} +6 -6
  176. package/dist/{SelectCard-D94UKLxM.js.map → SelectCard-D5dcOIuf.js.map} +1 -1
  177. package/dist/SelectCard.js +1 -1
  178. package/dist/SelectField.js +1 -1
  179. package/dist/SelectFieldLabel-Dr8HeW3N.js +31 -0
  180. package/dist/SelectFieldLabel-Dr8HeW3N.js.map +1 -0
  181. package/dist/{SelectFieldSync-BQrC0j2-.js → SelectFieldSync-BPopU0om.js} +79 -168
  182. package/dist/SelectFieldSync-BPopU0om.js.map +1 -0
  183. package/dist/SelectMenu.d.ts +2 -0
  184. package/dist/SelectMenu.js +2 -0
  185. package/dist/SelectMenu.js.map +1 -0
  186. package/dist/SelectMenuSync-DeMYO1m_.js +327 -0
  187. package/dist/SelectMenuSync-DeMYO1m_.js.map +1 -0
  188. package/dist/SelectOptions-DBe5ZN_-.js +26 -0
  189. package/dist/SelectOptions-DBe5ZN_-.js.map +1 -0
  190. package/dist/{SelectTrigger-D8xkq1wa.js → SelectTrigger-ObsnAKNp.js} +4 -4
  191. package/dist/{SelectTrigger-D8xkq1wa.js.map → SelectTrigger-ObsnAKNp.js.map} +1 -1
  192. package/dist/SelectTrigger.js +1 -1
  193. package/dist/{SelectTriggerBase-CBS5URqs.js → SelectTriggerBase-DKfOL2RJ.js} +8 -8
  194. package/dist/{SelectTriggerBase-CBS5URqs.js.map → SelectTriggerBase-DKfOL2RJ.js.map} +1 -1
  195. package/dist/{SideNav-2CgD8uxD.js → SideNav-KksbSQn7.js} +3 -3
  196. package/dist/{SideNav-2CgD8uxD.js.map → SideNav-KksbSQn7.js.map} +1 -1
  197. package/dist/SideNav.js +1 -1
  198. package/dist/Skeleton.js +1 -1
  199. package/dist/{Spinner-CpEm3Lud.js → Spinner-BqmcE2pb.js} +2 -2
  200. package/dist/{Spinner-CpEm3Lud.js.map → Spinner-BqmcE2pb.js.map} +1 -1
  201. package/dist/Spinner.js +1 -1
  202. package/dist/{SrOnly-CrdBTl6E.js → SrOnly-eUpYGpAT.js} +2 -2
  203. package/dist/{SrOnly-CrdBTl6E.js.map → SrOnly-eUpYGpAT.js.map} +1 -1
  204. package/dist/SrOnly.js +1 -1
  205. package/dist/{Stepper-D71Zhlr9.js → Stepper-Dt8_ImvJ.js} +4 -4
  206. package/dist/{Stepper-D71Zhlr9.js.map → Stepper-Dt8_ImvJ.js.map} +1 -1
  207. package/dist/Stepper.js +1 -1
  208. package/dist/{Switch-DxkmA-o4.js → Switch-DpPHr3G3.js} +5 -5
  209. package/dist/{Switch-DxkmA-o4.js.map → Switch-DpPHr3G3.js.map} +1 -1
  210. package/dist/Switch.js +1 -1
  211. package/dist/{Tab-2mEMF0vc.js → Tab-DO7LaUbw.js} +3 -3
  212. package/dist/{Tab-2mEMF0vc.js.map → Tab-DO7LaUbw.js.map} +1 -1
  213. package/dist/Tab.js +1 -1
  214. package/dist/Table.js +1 -1
  215. package/dist/{Text-BqES2rv3.js → Text-BJo4oMI2.js} +2 -2
  216. package/dist/{Text-BqES2rv3.js.map → Text-BJo4oMI2.js.map} +1 -1
  217. package/dist/Text.js +1 -1
  218. package/dist/{TextField-Dk90SWXl.js → TextField--co7QJ4r.js} +2 -2
  219. package/dist/{TextField-Dk90SWXl.js.map → TextField--co7QJ4r.js.map} +1 -1
  220. package/dist/{TextField-Dn6HWZoH.js → TextField-Cax4UeNl.js} +6 -6
  221. package/dist/{TextField-Dn6HWZoH.js.map → TextField-Cax4UeNl.js.map} +1 -1
  222. package/dist/TextField.js +1 -1
  223. package/dist/{Textarea-D4gqy2ZR.js → Textarea-DyqdMTvQ.js} +5 -5
  224. package/dist/{Textarea-D4gqy2ZR.js.map → Textarea-DyqdMTvQ.js.map} +1 -1
  225. package/dist/Textarea.js +1 -1
  226. package/dist/{ThemeProvider-BwZHpkFv.js → ThemeProvider-CaYW3RuA.js} +2 -2
  227. package/dist/{ThemeProvider-BwZHpkFv.js.map → ThemeProvider-CaYW3RuA.js.map} +1 -1
  228. package/dist/ThemeProvider.js +1 -1
  229. package/dist/{TimeField-DgdGwPF9.js → TimeField-BfcLCWMG.js} +6 -6
  230. package/dist/{TimeField-DgdGwPF9.js.map → TimeField-BfcLCWMG.js.map} +1 -1
  231. package/dist/TimeField.js +1 -1
  232. package/dist/Toast.js +2 -2
  233. package/dist/{Toaster-BBcWImWl.js → Toaster-DikGo_hR.js} +2 -2
  234. package/dist/{Toaster-BBcWImWl.js.map → Toaster-DikGo_hR.js.map} +1 -1
  235. package/dist/{Toaster-C07D40P9.js → Toaster-b0-Ub3yt.js} +7 -7
  236. package/dist/{Toaster-C07D40P9.js.map → Toaster-b0-Ub3yt.js.map} +1 -1
  237. package/dist/{Toolbar-4LHKM6ub.js → Toolbar-DqYMc_w8.js} +41 -129
  238. package/dist/Toolbar-DqYMc_w8.js.map +1 -0
  239. package/dist/Toolbar.js +1 -1
  240. package/dist/{Tooltip-BiW5nNAy.js → Tooltip-Bupqao9B.js} +5 -4
  241. package/dist/{Tooltip-BiW5nNAy.js.map → Tooltip-Bupqao9B.js.map} +1 -1
  242. package/dist/Tooltip.js +1 -1
  243. package/dist/{YearlessDateInputWithPicker-CxfcJqro.js → YearlessDateInputWithPicker-aq99rKJU.js} +13 -14
  244. package/dist/YearlessDateInputWithPicker-aq99rKJU.js.map +1 -0
  245. package/dist/YearlessDateInputWithPicker.css +33 -33
  246. package/dist/beta/components/MultiSelectField/MultiSelectFieldSync.d.ts +2 -3
  247. package/dist/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +8 -7
  248. package/dist/beta/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +6 -4
  249. package/dist/beta/components/MultiSelectField/types.d.ts +2 -3
  250. package/dist/beta/components/MultiSelectMenu/MultiSelectMenu.d.ts +30 -0
  251. package/dist/beta/components/MultiSelectMenu/MultiSelectMenuSync.d.ts +54 -0
  252. package/dist/beta/components/MultiSelectMenu/index.d.ts +3 -0
  253. package/dist/beta/components/MultiSelectMenu/types.d.ts +170 -0
  254. package/dist/beta/components/SelectField/SelectFieldSync.d.ts +2 -3
  255. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  256. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  257. package/dist/beta/components/SelectField/internal/useCombo.d.ts +7 -7
  258. package/dist/beta/components/SelectField/internal/useSelectMode.d.ts +7 -6
  259. package/dist/beta/components/SelectField/types.d.ts +2 -9
  260. package/dist/beta/components/SelectMenu/SelectMenu.d.ts +27 -0
  261. package/dist/beta/components/SelectMenu/SelectMenuSync.d.ts +41 -0
  262. package/dist/beta/components/SelectMenu/index.d.ts +3 -0
  263. package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +72 -0
  264. package/dist/beta/components/SelectMenu/types.d.ts +153 -0
  265. package/dist/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +1 -1
  266. package/dist/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +12 -0
  267. package/dist/beta/components/Table/types.d.ts +14 -0
  268. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +3 -3
  269. package/dist/beta/components/index.d.ts +2 -0
  270. package/dist/beta.js +10 -8
  271. package/dist/beta.js.map +1 -1
  272. package/dist/components/DateFieldYearless/internal/YearlessDateSelectionPopover.d.ts +1 -1
  273. package/dist/components/Toolbar/ToolbarSelect.d.ts +3 -3
  274. package/dist/{match-sorter.esm-adzV1NDp.js → downshift.esm-xtSnQp44.js} +3 -907
  275. package/dist/downshift.esm-xtSnQp44.js.map +1 -0
  276. package/dist/{floating-ui.react-S01OoTc9.js → floating-ui.react-aKYfs-aw.js} +3 -3
  277. package/dist/{floating-ui.react-S01OoTc9.js.map → floating-ui.react-aKYfs-aw.js.map} +1 -1
  278. package/dist/{floating-ui.react-dom-DSiPHZwm.js → floating-ui.react-dom-imrk9N49.js} +2 -17
  279. package/dist/floating-ui.react-dom-imrk9N49.js.map +1 -0
  280. package/dist/{index-DuDm69S1.js → index-D6ag_WQW.js} +4 -4
  281. package/dist/{index-DuDm69S1.js.map → index-D6ag_WQW.js.map} +1 -1
  282. package/dist/{index-SvGbrGuT.js → index-De1g9FRV.js} +2 -2
  283. package/dist/{index-SvGbrGuT.js.map → index-De1g9FRV.js.map} +1 -1
  284. package/dist/{index.esm-BZV0wNKZ.js → index.esm-K9kxJhLx.js} +2 -1
  285. package/dist/{index.esm-BZV0wNKZ.js.map → index.esm-K9kxJhLx.js.map} +1 -1
  286. package/dist/index.js +73 -100
  287. package/dist/index.js.map +1 -1
  288. package/dist/internal/components/MultiSelectOptions.d.ts +23 -0
  289. package/dist/{beta/components/SelectField/internal/FieldDialog/FieldDialog.d.ts → internal/components/OptionsDialog/OptionsDialog.d.ts} +2 -2
  290. package/dist/internal/components/OptionsPanel.d.ts +26 -0
  291. package/dist/internal/components/OptionsPopover/OptionsPopover.d.ts +16 -0
  292. package/dist/internal/components/Popover/Popover.d.ts +1 -0
  293. package/dist/internal/components/Popover/PopoverContent.d.ts +4 -0
  294. package/dist/internal/components/SelectOption.d.ts +13 -0
  295. package/dist/internal/components/SelectOptions.d.ts +23 -0
  296. package/dist/internal/components/VirtualizedOptionsPanel.d.ts +2 -0
  297. package/dist/internal/functions/buildSelectItems.d.ts +22 -0
  298. package/dist/internal/functions/syncFilterUtils.d.ts +10 -0
  299. package/dist/{beta/components/SelectField/internal → internal/hooks}/useGroupedOptions.d.ts +4 -3
  300. package/dist/{beta/components/SelectField/internal/useFieldListSections.d.ts → internal/hooks/useOptionsSections.d.ts} +7 -8
  301. package/dist/{beta/components/SelectField/internal → internal/hooks}/usePinnedOptions.d.ts +1 -1
  302. package/dist/{beta/components/SelectField/internal → internal/hooks}/useProcessedOptions.d.ts +2 -2
  303. package/dist/internal/hooks/useSelectOrchestration.d.ts +38 -0
  304. package/dist/{beta/components/MultiSelectField/internal → internal/hooks}/useToggleSelection.d.ts +2 -2
  305. package/dist/{beta/components/SelectField/internal/types.d.ts → internal/types/selectFieldInternalTypes.d.ts} +11 -3
  306. package/dist/match-sorter.esm-CGAauEiU.js +908 -0
  307. package/dist/match-sorter.esm-CGAauEiU.js.map +1 -0
  308. package/dist/safePopover-BDso-xSH.js +17 -0
  309. package/dist/safePopover-BDso-xSH.js.map +1 -0
  310. package/dist/{FieldDialog-DaRvLS6m.js → syncFilterUtils-BRKjFwxk.js} +288 -147
  311. package/dist/syncFilterUtils-BRKjFwxk.js.map +1 -0
  312. package/dist/{FieldDialog.css → syncFilterUtils.css} +18 -11
  313. package/dist/{useDrilldown-CuvPT4gS.js → useDrilldown-CqBBB_r1.js} +6 -6
  314. package/dist/{useDrilldown-CuvPT4gS.js.map → useDrilldown-CqBBB_r1.js.map} +1 -1
  315. package/dist/{useInitialFocus-CdoVwSbr.js → useInitialFocus-BRRbylek.js} +2 -2
  316. package/dist/{useInitialFocus-CdoVwSbr.js.map → useInitialFocus-BRRbylek.js.map} +1 -1
  317. package/dist/useMenuInteraction-zR_78KQC.js +249 -0
  318. package/dist/useMenuInteraction-zR_78KQC.js.map +1 -0
  319. package/dist/useToggleSelection-JD62Jzqu.js +63 -0
  320. package/dist/useToggleSelection-JD62Jzqu.js.map +1 -0
  321. package/dist/{utils-pudAMGnO.js → utils-CM48ODEJ.js} +3 -13
  322. package/dist/utils-CM48ODEJ.js.map +1 -0
  323. package/dist/warnOnce-Y9PRHcU4.js +13 -0
  324. package/dist/warnOnce-Y9PRHcU4.js.map +1 -0
  325. package/package.json +3 -3
  326. package/dist/DataTable-Cau6ylNR.js.map +0 -1
  327. package/dist/DateFieldRange-B1BR8K7C.js.map +0 -1
  328. package/dist/DateFieldSingle-CaWruBBO.js.map +0 -1
  329. package/dist/FieldDialog-DaRvLS6m.js.map +0 -1
  330. package/dist/Listbox.module-XuKszT3X.js +0 -18
  331. package/dist/Listbox.module-XuKszT3X.js.map +0 -1
  332. package/dist/MultiSelectFieldSync-B6J42MpG.js.map +0 -1
  333. package/dist/Popover-ZyaN26OB.js.map +0 -1
  334. package/dist/SelectFieldSync-BQrC0j2-.js.map +0 -1
  335. package/dist/Toolbar-4LHKM6ub.js.map +0 -1
  336. package/dist/YearlessDateInputWithPicker-CxfcJqro.js.map +0 -1
  337. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldList.d.ts +0 -24
  338. package/dist/beta/components/SelectField/internal/FieldListBase.d.ts +0 -27
  339. package/dist/beta/components/SelectField/internal/FieldPopover/FieldPopover.d.ts +0 -9
  340. package/dist/beta/components/SelectField/internal/SelectFieldList.d.ts +0 -26
  341. package/dist/beta/components/SelectField/internal/SelectFieldListItem.d.ts +0 -14
  342. package/dist/beta/components/SelectField/internal/VirtualizedFieldListBase.d.ts +0 -2
  343. package/dist/beta/components/SelectField/internal/buildDownshiftItems.d.ts +0 -22
  344. package/dist/beta/components/Table/DataTable/internal/cells/CellError.d.ts +0 -10
  345. package/dist/floating-ui.react-dom-DSiPHZwm.js.map +0 -1
  346. package/dist/match-sorter.esm-adzV1NDp.js.map +0 -1
  347. package/dist/utils-pudAMGnO.js.map +0 -1
  348. /package/dist/{beta/components/SelectField/internal → internal/components}/InView.d.ts +0 -0
@@ -1,31 +1,30 @@
1
- import { useState, useRef, useCallback, useEffect, useMemo, forwardRef, useId, useImperativeHandle } from 'react';
2
- import { u as useBreakpoint } from './useBreakpoint-okJ64T1D.js';
3
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
- import { S as Spinner } from './Spinner-CpEm3Lud.js';
5
- import { B as Button } from './Button-DuvaXRZ5.js';
6
- import { c as cx } from './index-SvGbrGuT.js';
2
+ import { S as Spinner } from './Spinner-BqmcE2pb.js';
3
+ import { B as Button } from './Button-CVsGhVJz.js';
4
+ import { c as cx } from './index-De1g9FRV.js';
5
+ import { useState, useRef, useCallback, useEffect, useMemo, forwardRef, useId, useImperativeHandle } from 'react';
7
6
  import { u as useIntersectionObserver } from './useIntersectionObserver-BEmMDO3P.js';
8
- import { T as Text } from './Text-BqES2rv3.js';
9
- import { D as Divider } from './Divider-HHjG0KYA.js';
7
+ import { T as Text } from './Text-BJo4oMI2.js';
8
+ import { D as Divider } from './Divider-B1UoK8ho.js';
10
9
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
11
- import { S as SrOnly } from './SrOnly-CrdBTl6E.js';
12
- import { F as Flex } from './Flex-DZu-_z-U.js';
13
- import { I as Icon } from './Icon-Bgkq1egx.js';
14
- import { A as Avatar } from './Avatar--E9iBILU.js';
15
- import { C as Chip } from './Chip-BJmzOMOd.js';
10
+ import { S as SrOnly } from './SrOnly-eUpYGpAT.js';
11
+ import { F as Flex } from './Flex-WyyZm1bf.js';
12
+ import { I as Icon } from './Icon-DuIlne4x.js';
13
+ import { A as Avatar } from './Avatar--CnTAnfD.js';
14
+ import { C as Chip } from './Chip-DjTAR0va.js';
16
15
  import { a as SvgCheckBox, b as SvgCheckBoxOutlineBlank, S as SvgIndeterminateCheckBox } from './indeterminate_check_box-B4zobNlt.js';
17
16
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
18
17
  import { d as defaultRangeExtractor, u as useVirtualizer } from './index-DXeGMe23.js';
19
- import { a as useCombobox } from './match-sorter.esm-adzV1NDp.js';
20
- import { F as FieldLabel } from './FieldLabel-35fac7b-.js';
21
18
  import { a as useOnClickOutside } from './useOnClickOutside-Zw5vzxSq.js';
22
- import { k as computePosition, o as offset, v as autoPlacement, t as size, l as autoUpdate } from './floating-ui.react-dom-DSiPHZwm.js';
23
- import './anvil-fonts.css';import './FieldDialog.css';/* empty css */
24
- import { D as DialogCancelButton } from './DialogCancelButton-LfPkSYCE.js';
19
+ import { k as computePosition, l as autoUpdate, o as offset, r as autoPlacement, q as size } from './floating-ui.react-dom-imrk9N49.js';
20
+ import './anvil-fonts.css';import './syncFilterUtils.css';/* empty css */
21
+ import { D as DialogCancelButton } from './DialogCancelButton-DQDMzGeT.js';
25
22
  import { S as SvgClose } from './close-DZj38AEh.js';
26
23
  import { D as DialogContext } from './DialogContext-DBgtApl9.js';
27
- import { t as tabbable } from './index.esm-BZV0wNKZ.js';
24
+ import { t as tabbable } from './index.esm-K9kxJhLx.js';
28
25
  import { u as useDialogScrollLock } from './useDialogScrollLock-BW-aVboo.js';
26
+ import { u as useBreakpoint } from './useBreakpoint-okJ64T1D.js';
27
+ import { m as matchSorter } from './match-sorter.esm-CGAauEiU.js';
29
28
 
30
29
  const DEFAULT_PAGE_SIZE = 20;
31
30
  const DEFAULT_CACHE_MAX_SIZE = 15;
@@ -178,45 +177,18 @@ function useSelectFieldLoading(config) {
178
177
  };
179
178
  }
180
179
 
181
- function detectCoarsePointer() {
182
- if (typeof window === "undefined" || !window.matchMedia) {
183
- return false;
184
- }
185
- return window.matchMedia("(pointer: coarse)").matches;
186
- }
187
- function useAdaptiveView() {
188
- const breakpoint = useBreakpoint();
189
- const [hasCoarsePointer, setHasCoarsePointer] = useState(detectCoarsePointer);
190
- useEffect(() => {
191
- setHasCoarsePointer(detectCoarsePointer());
192
- const mediaQuery = window.matchMedia("(pointer: coarse)");
193
- const handleChange = (e) => {
194
- setHasCoarsePointer(e.matches);
195
- };
196
- mediaQuery.addEventListener("change", handleChange);
197
- return () => mediaQuery.removeEventListener("change", handleChange);
198
- }, []);
199
- const isSmallScreen = !breakpoint?.md;
200
- const isMobile = isSmallScreen && hasCoarsePointer;
201
- return {
202
- view: isMobile ? "mobile" : "desktop",
203
- isMobile,
204
- isDesktop: !isMobile
205
- };
206
- }
207
-
208
- const empty = "_empty_kcs6v_6";
209
- const scroller = "_scroller_kcs6v_20";
210
- const divider = "_divider_kcs6v_48";
180
+ const empty = "_empty_1q60a_6";
181
+ const scroller = "_scroller_1q60a_20";
182
+ const divider = "_divider_1q60a_50";
211
183
  const styles$3 = {
212
- "select-field-list": "_select-field-list_kcs6v_2",
184
+ "select-field-list": "_select-field-list_1q60a_2",
213
185
  empty: empty,
214
- "load-more": "_load-more_kcs6v_13",
186
+ "load-more": "_load-more_1q60a_13",
215
187
  scroller: scroller,
216
- "scroll-sentinel": "_scroll-sentinel_kcs6v_27",
217
- "pinned-section": "_pinned-section_kcs6v_34",
218
- "pinned-section-header": "_pinned-section-header_kcs6v_37",
219
- "pinned-section-list": "_pinned-section-list_kcs6v_43",
188
+ "scroll-sentinel": "_scroll-sentinel_1q60a_29",
189
+ "pinned-section": "_pinned-section_1q60a_36",
190
+ "pinned-section-header": "_pinned-section-header_1q60a_39",
191
+ "pinned-section-list": "_pinned-section-list_1q60a_45",
220
192
  divider: divider
221
193
  };
222
194
 
@@ -247,7 +219,7 @@ const styles$2 = {
247
219
  indeterminate: indeterminate
248
220
  };
249
221
 
250
- const SelectFieldListItem = ({
222
+ const SelectOption = ({
251
223
  item,
252
224
  index,
253
225
  highlighted,
@@ -272,8 +244,9 @@ const SelectFieldListItem = ({
272
244
  const hasChips = !!content?.chips?.length;
273
245
  const hasIcon = !!content?.icon;
274
246
  return /* @__PURE__ */ jsxs(
275
- "li",
247
+ "div",
276
248
  {
249
+ "data-item-index": index,
277
250
  ...getItemProps({
278
251
  item,
279
252
  index,
@@ -365,7 +338,7 @@ const InView = ({
365
338
  return /* @__PURE__ */ jsx("div", { ref, children });
366
339
  };
367
340
 
368
- const useFieldListSections = (items, sectionsMeta) => {
341
+ const useOptionsSections = (items, sectionsMeta) => {
369
342
  return useMemo(() => {
370
343
  if (sectionsMeta.length === 0) {
371
344
  return [
@@ -439,21 +412,21 @@ function flattenSectionsToVirtualRows(sections, hasMore) {
439
412
  label: section.label,
440
413
  sectionIndex
441
414
  });
442
- section.items.forEach(({ item, index: downshiftIndex }) => {
443
- downshiftIndexToVirtualRowIndex[downshiftIndex] = virtualRows.length;
444
- virtualRows.push({ type: "item", item, downshiftIndex });
415
+ section.items.forEach(({ item, index }) => {
416
+ downshiftIndexToVirtualRowIndex[index] = virtualRows.length;
417
+ virtualRows.push({ type: "item", item, index });
445
418
  });
446
419
  if (!isLastSection) {
447
420
  virtualRows.push({ type: "divider", sectionIndex });
448
421
  }
449
422
  } else {
450
- section.items.forEach(({ item, index: downshiftIndex }) => {
423
+ section.items.forEach(({ item, index }) => {
451
424
  const isBulkAction = item.type === "select-all" || item.type === "select-filtered";
452
425
  if (isBulkAction) {
453
426
  stickyIndices.push(virtualRows.length);
454
427
  }
455
- downshiftIndexToVirtualRowIndex[downshiftIndex] = virtualRows.length;
456
- virtualRows.push({ type: "item", item, downshiftIndex });
428
+ downshiftIndexToVirtualRowIndex[index] = virtualRows.length;
429
+ virtualRows.push({ type: "item", item, index });
457
430
  });
458
431
  }
459
432
  });
@@ -463,7 +436,7 @@ function flattenSectionsToVirtualRows(sections, hasMore) {
463
436
  return { virtualRows, downshiftIndexToVirtualRowIndex, stickyIndices };
464
437
  }
465
438
 
466
- const FieldListBase = forwardRef(
439
+ const OptionsPanel = forwardRef(
467
440
  ({
468
441
  isOpen,
469
442
  items,
@@ -491,6 +464,19 @@ const FieldListBase = forwardRef(
491
464
  if (scrollerRef.current) {
492
465
  scrollerRef.current.scrollTop = 0;
493
466
  }
467
+ },
468
+ scrollToIndex: (index) => {
469
+ if (!scrollerRef.current) return;
470
+ if (index <= 0) {
471
+ scrollerRef.current.scrollTop = 0;
472
+ return;
473
+ }
474
+ const item = scrollerRef.current.querySelector(
475
+ `[data-item-index="${index}"]`
476
+ );
477
+ if (item) {
478
+ item.scrollIntoView({ block: "nearest" });
479
+ }
494
480
  }
495
481
  }));
496
482
  useEffect(() => {
@@ -518,9 +504,9 @@ const FieldListBase = forwardRef(
518
504
  onLoadMore();
519
505
  }
520
506
  };
521
- const sections = useFieldListSections(items, sectionsMeta);
507
+ const sections = useOptionsSections(items, sectionsMeta);
522
508
  const renderItem = (item, index) => /* @__PURE__ */ jsx(
523
- SelectFieldListItem,
509
+ SelectOption,
524
510
  {
525
511
  item,
526
512
  index,
@@ -541,14 +527,14 @@ const FieldListBase = forwardRef(
541
527
  const labelId = `${baseId}-section-${sectionIndex}`;
542
528
  result.push(
543
529
  /* @__PURE__ */ jsxs(
544
- "li",
530
+ "div",
545
531
  {
546
532
  role: "group",
547
533
  "aria-labelledby": labelId,
548
534
  className: styles$3["pinned-section"],
549
535
  children: [
550
536
  /* @__PURE__ */ jsx("span", { id: labelId, className: styles$3["pinned-section-header"], children: /* @__PURE__ */ jsx(Text, { variant: "eyebrow", children: section.label }) }),
551
- /* @__PURE__ */ jsx("ul", { className: styles$3["pinned-section-list"], children: section.items.map(
537
+ /* @__PURE__ */ jsx("div", { className: styles$3["pinned-section-list"], children: section.items.map(
552
538
  ({ item, index }) => renderItem(item, index)
553
539
  ) })
554
540
  ]
@@ -558,10 +544,12 @@ const FieldListBase = forwardRef(
558
544
  );
559
545
  if (!isLastSection) {
560
546
  result.push(
547
+ // Decorative — group boundaries are already conveyed by role="group" with aria-labelledby
561
548
  /* @__PURE__ */ jsx(
562
- "li",
549
+ "div",
563
550
  {
564
- role: "separator",
551
+ role: "presentation",
552
+ "aria-hidden": "true",
565
553
  className: styles$3["divider"],
566
554
  children: /* @__PURE__ */ jsx(Divider, {})
567
555
  },
@@ -582,9 +570,9 @@ const FieldListBase = forwardRef(
582
570
  style
583
571
  });
584
572
  const menuRef = useMergeRefs([menuProps.ref, scrollerRef]);
585
- return /* @__PURE__ */ jsx("div", { ...menuProps, ref: menuRef, children: /* @__PURE__ */ jsxs("ul", { className: styles$3["select-field-list"], children: [
573
+ return /* @__PURE__ */ jsx("div", { ...menuProps, ref: menuRef, children: /* @__PURE__ */ jsxs("div", { className: styles$3["select-field-list"], children: [
586
574
  isOpen && /* @__PURE__ */ jsx(
587
- "li",
575
+ "div",
588
576
  {
589
577
  ref: scrollSentinelRef,
590
578
  className: styles$3["scroll-sentinel"],
@@ -592,11 +580,11 @@ const FieldListBase = forwardRef(
592
580
  "aria-hidden": "true"
593
581
  }
594
582
  ),
595
- isOpen && /* @__PURE__ */ jsx(Fragment, { children: loading || anyPinnedLoading ? /* @__PURE__ */ jsx("li", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Spinner, { size: "medium" }) }) : items.length > 0 ? renderSections() : /* @__PURE__ */ jsx("li", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) }),
596
- loadingMore ? /* @__PURE__ */ jsxs("li", { role: "presentation", className: styles$3["load-more"], children: [
583
+ isOpen && /* @__PURE__ */ jsx(Fragment, { children: loading || anyPinnedLoading ? /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Spinner, { size: "medium" }) }) : items.length > 0 ? renderSections() : /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) }),
584
+ loadingMore ? /* @__PURE__ */ jsxs("div", { role: "presentation", className: styles$3["load-more"], children: [
597
585
  /* @__PURE__ */ jsx(Spinner, { size: "small" }),
598
586
  /* @__PURE__ */ jsx(SrOnly, { children: "Loading more..." })
599
- ] }) : hasMore && !loading ? /* @__PURE__ */ jsx("li", { role: "presentation", children: /* @__PURE__ */ jsx(
587
+ ] }) : hasMore && !loading ? /* @__PURE__ */ jsx("div", { role: "presentation", children: /* @__PURE__ */ jsx(
600
588
  InView,
601
589
  {
602
590
  onVisibilityChange: handleLoaderVisibilityChange,
@@ -615,7 +603,7 @@ const FieldListBase = forwardRef(
615
603
  ] }) });
616
604
  }
617
605
  );
618
- FieldListBase.displayName = "FieldListBase";
606
+ OptionsPanel.displayName = "OptionsPanel";
619
607
 
620
608
  const EST_PADDING_BLOCK = 16;
621
609
  const EST_LINE_HEIGHT = 18;
@@ -638,14 +626,13 @@ function estimateRowHeight(row) {
638
626
  contentHeight = Math.max(contentHeight, EST_SIDE_CONTENT_HEIGHT);
639
627
  return EST_PADDING_BLOCK + contentHeight;
640
628
  }
641
- const VirtualizedFieldListBase = forwardRef(
629
+ const VirtualizedOptionsPanel = forwardRef(
642
630
  ({
643
631
  isOpen,
644
632
  items,
645
633
  getMenuProps,
646
634
  getItemProps,
647
635
  highlightedIndex,
648
- highlightChangeTypeRef,
649
636
  getCheckedState,
650
637
  selectionType,
651
638
  hasMore,
@@ -662,13 +649,6 @@ const VirtualizedFieldListBase = forwardRef(
662
649
  const scrollSentinelRef = useRef(null);
663
650
  const scrollerRef = useRef(null);
664
651
  const [isScrolled, setIsScrolled] = useState(false);
665
- useImperativeHandle(ref, () => ({
666
- scrollToTop: () => {
667
- if (scrollerRef.current) {
668
- scrollerRef.current.scrollTop = 0;
669
- }
670
- }
671
- }));
672
652
  useEffect(() => {
673
653
  if (!isOpen) {
674
654
  setIsScrolled(false);
@@ -689,7 +669,7 @@ const VirtualizedFieldListBase = forwardRef(
689
669
  const anyPinnedLoading = sectionsMeta.some(
690
670
  (s) => s.type === "pinned" && s.loading
691
671
  );
692
- const sections = useFieldListSections(items, sectionsMeta);
672
+ const sections = useOptionsSections(items, sectionsMeta);
693
673
  const { virtualRows, downshiftIndexToVirtualRowIndex, stickyIndices } = useMemo(
694
674
  () => flattenSectionsToVirtualRows(sections, hasMore),
695
675
  [sections, hasMore]
@@ -736,17 +716,29 @@ const VirtualizedFieldListBase = forwardRef(
736
716
  }
737
717
  const downshiftMapRef = useRef(downshiftIndexToVirtualRowIndex);
738
718
  downshiftMapRef.current = downshiftIndexToVirtualRowIndex;
719
+ const virtualizerRef = useRef(virtualizer);
720
+ virtualizerRef.current = virtualizer;
721
+ useImperativeHandle(ref, () => ({
722
+ scrollToTop: () => {
723
+ if (virtualizerRef.current) {
724
+ virtualizerRef.current.scrollToOffset(0);
725
+ }
726
+ },
727
+ scrollToIndex: (index) => {
728
+ if (index <= 0) {
729
+ virtualizerRef.current.scrollToOffset(0);
730
+ return;
731
+ }
732
+ const virtualRowIndex = downshiftMapRef.current[index];
733
+ if (virtualRowIndex != null) {
734
+ virtualizerRef.current.scrollToIndex(virtualRowIndex, {
735
+ align: "auto"
736
+ });
737
+ }
738
+ }
739
+ }));
739
740
  const onLoadMoreRef = useRef(onLoadMore);
740
741
  onLoadMoreRef.current = onLoadMore;
741
- useEffect(() => {
742
- if (highlightedIndex < 0) return;
743
- if (highlightChangeTypeRef?.current === useCombobox.stateChangeTypes.ItemMouseMove)
744
- return;
745
- const virtualRowIndex = downshiftMapRef.current[highlightedIndex];
746
- if (virtualRowIndex != null) {
747
- virtualizer.scrollToIndex(virtualRowIndex, { align: "auto" });
748
- }
749
- }, [highlightedIndex, virtualizer, highlightChangeTypeRef]);
750
742
  useEffect(() => {
751
743
  if (!hasMore || loadingMore || disableAutoLoadMore) return;
752
744
  const lastItem = virtualItems[virtualItems.length - 1];
@@ -768,14 +760,14 @@ const VirtualizedFieldListBase = forwardRef(
768
760
  const renderVirtualRow = (row) => {
769
761
  if (row.type === "item") {
770
762
  return /* @__PURE__ */ jsx(
771
- SelectFieldListItem,
763
+ SelectOption,
772
764
  {
773
765
  item: row.item,
774
- index: row.downshiftIndex,
766
+ index: row.index,
775
767
  getItemProps,
776
768
  selectionType,
777
769
  checked: getCheckedState(row.item),
778
- highlighted: highlightedIndex === row.downshiftIndex,
770
+ highlighted: highlightedIndex === row.index,
779
771
  disabled: (disabled || row.item.disabled) ?? false,
780
772
  isListScrolled: isScrolled
781
773
  }
@@ -784,7 +776,7 @@ const VirtualizedFieldListBase = forwardRef(
784
776
  if (row.type === "header") {
785
777
  const labelId = `${baseId}-section-${row.sectionIndex}`;
786
778
  return /* @__PURE__ */ jsx(
787
- "li",
779
+ "div",
788
780
  {
789
781
  role: "presentation",
790
782
  "aria-hidden": "true",
@@ -794,16 +786,27 @@ const VirtualizedFieldListBase = forwardRef(
794
786
  );
795
787
  }
796
788
  if (row.type === "divider") {
797
- return /* @__PURE__ */ jsx("li", { role: "separator", className: styles$3["divider"], children: /* @__PURE__ */ jsx(Divider, {}) });
789
+ return (
790
+ // Decorative — group boundaries are already conveyed by role="group" with aria-labelledby
791
+ /* @__PURE__ */ jsx(
792
+ "div",
793
+ {
794
+ role: "presentation",
795
+ "aria-hidden": "true",
796
+ className: styles$3["divider"],
797
+ children: /* @__PURE__ */ jsx(Divider, {})
798
+ }
799
+ )
800
+ );
798
801
  }
799
802
  if (row.type === "load-more") {
800
803
  if (loadingMore) {
801
- return /* @__PURE__ */ jsxs("li", { role: "presentation", className: styles$3["load-more"], children: [
804
+ return /* @__PURE__ */ jsxs("div", { role: "presentation", className: styles$3["load-more"], children: [
802
805
  /* @__PURE__ */ jsx(Spinner, { size: "small" }),
803
806
  /* @__PURE__ */ jsx(SrOnly, { children: "Loading more..." })
804
807
  ] });
805
808
  }
806
- return /* @__PURE__ */ jsx("li", { role: "presentation", children: /* @__PURE__ */ jsx("div", { className: styles$3["load-more"], children: /* @__PURE__ */ jsx(
809
+ return /* @__PURE__ */ jsx("div", { role: "presentation", children: /* @__PURE__ */ jsx("div", { className: styles$3["load-more"], children: /* @__PURE__ */ jsx(
807
810
  Button,
808
811
  {
809
812
  appearance: "secondary",
@@ -820,9 +823,9 @@ const VirtualizedFieldListBase = forwardRef(
820
823
  style
821
824
  });
822
825
  const menuRef = useMergeRefs([menuProps.ref, scrollerRef]);
823
- return /* @__PURE__ */ jsx("div", { ...menuProps, ref: menuRef, children: /* @__PURE__ */ jsxs("ul", { className: styles$3["select-field-list"], children: [
826
+ return /* @__PURE__ */ jsx("div", { ...menuProps, ref: menuRef, children: /* @__PURE__ */ jsxs("div", { className: styles$3["select-field-list"], children: [
824
827
  isOpen && /* @__PURE__ */ jsx(
825
- "li",
828
+ "div",
826
829
  {
827
830
  ref: scrollSentinelRef,
828
831
  className: styles$3["scroll-sentinel"],
@@ -830,8 +833,8 @@ const VirtualizedFieldListBase = forwardRef(
830
833
  "aria-hidden": "true"
831
834
  }
832
835
  ),
833
- isOpen && /* @__PURE__ */ jsx(Fragment, { children: loading || anyPinnedLoading ? /* @__PURE__ */ jsx("li", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Spinner, { size: "medium" }) }) : items.length > 0 ? /* @__PURE__ */ jsx(
834
- "li",
836
+ isOpen && /* @__PURE__ */ jsx(Fragment, { children: loading || anyPinnedLoading ? /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Spinner, { size: "medium" }) }) : items.length > 0 ? /* @__PURE__ */ jsx(
837
+ "div",
835
838
  {
836
839
  role: "presentation",
837
840
  "aria-hidden": "true",
@@ -865,36 +868,11 @@ const VirtualizedFieldListBase = forwardRef(
865
868
  );
866
869
  })
867
870
  }
868
- ) : /* @__PURE__ */ jsx("li", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) })
871
+ ) : /* @__PURE__ */ jsx("div", { role: "presentation", className: styles$3["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) })
869
872
  ] }) });
870
873
  }
871
874
  );
872
- VirtualizedFieldListBase.displayName = "VirtualizedFieldListBase";
873
-
874
- const SelectFieldLabel = ({
875
- label,
876
- getLabelProps,
877
- hideLabel = false,
878
- labelNode,
879
- moreInfo,
880
- moreInfoOpen,
881
- required
882
- }) => {
883
- const labelContent = /* @__PURE__ */ jsx(
884
- FieldLabel,
885
- {
886
- ...getLabelProps(),
887
- required,
888
- moreInfo,
889
- moreInfoOpen,
890
- children: labelNode ?? label
891
- }
892
- );
893
- if (hideLabel) {
894
- return /* @__PURE__ */ jsx(SrOnly, { children: labelContent });
895
- }
896
- return labelContent;
897
- };
875
+ VirtualizedOptionsPanel.displayName = "VirtualizedOptionsPanel";
898
876
 
899
877
  function useDebouncedCallback(callback, delay = 300) {
900
878
  const timeoutRef = useRef(null);
@@ -1133,7 +1111,7 @@ const useProcessedOptions = ({
1133
1111
  return { pinnedSections, ungroupedItems, groupSections };
1134
1112
  };
1135
1113
 
1136
- function mapOptionToDownshiftItem(option) {
1114
+ function toSelectItem(option) {
1137
1115
  return {
1138
1116
  id: option.id,
1139
1117
  type: "option",
@@ -1141,7 +1119,7 @@ function mapOptionToDownshiftItem(option) {
1141
1119
  original: option
1142
1120
  };
1143
1121
  }
1144
- function buildDownshiftItems({
1122
+ function buildSelectItems({
1145
1123
  prefixItems,
1146
1124
  pinnedSections,
1147
1125
  groupSections,
@@ -1194,16 +1172,22 @@ function buildDownshiftItems({
1194
1172
  }
1195
1173
  });
1196
1174
  items.push(...ungroupedItems);
1197
- return { downshiftItems: items, sectionsMeta: meta };
1175
+ return { items, sectionsMeta: meta };
1198
1176
  }
1199
1177
 
1200
1178
  const styles$1 = {
1201
- "field-popover": "_field-popover_f54ku_2"
1179
+ "options-popover": "_options-popover_185l7_2"
1202
1180
  };
1203
1181
 
1204
- const FieldPopover = (props) => {
1182
+ function resolveWidth(width, referenceWidth) {
1183
+ if (width === "reference") return `${referenceWidth}px`;
1184
+ if (typeof width === "number") return `${width}px`;
1185
+ if (typeof width === "string") return width;
1186
+ return void 0;
1187
+ }
1188
+ const OptionsPopover = (props) => {
1205
1189
  const ref = useRef(null);
1206
- const { id, children, referenceElement, open, onClickOutside } = props;
1190
+ const { id, children, referenceElement, open, onClickOutside, width } = props;
1207
1191
  useOnClickOutside({
1208
1192
  targets: [ref.current ?? void 0, referenceElement.current ?? void 0],
1209
1193
  onClickOutside,
@@ -1226,14 +1210,21 @@ const FieldPopover = (props) => {
1226
1210
  middleware: [
1227
1211
  offset(8),
1228
1212
  autoPlacement({
1229
- allowedPlacements: ["bottom-start", "top-start"],
1213
+ allowedPlacements: [
1214
+ "bottom-start",
1215
+ "bottom-end",
1216
+ "top-start",
1217
+ "top-end"
1218
+ ],
1230
1219
  padding: 8
1231
1220
  }),
1232
1221
  size({
1233
1222
  padding: 8,
1234
- apply({ rects, elements, availableHeight }) {
1223
+ apply({ rects, elements, availableHeight, availableWidth }) {
1224
+ const resolved = resolveWidth(width, rects.reference.width);
1235
1225
  Object.assign(elements.floating.style, {
1236
- width: `${rects.reference.width}px`,
1226
+ ...resolved != null && { width: resolved },
1227
+ maxWidth: `${Math.max(0, availableWidth)}px`,
1237
1228
  maxHeight: `${Math.max(0, availableHeight)}px`
1238
1229
  });
1239
1230
  }
@@ -1243,7 +1234,7 @@ const FieldPopover = (props) => {
1243
1234
  );
1244
1235
  ref.current.style.left = `${position.x}px`;
1245
1236
  ref.current.style.top = `${position.y}px`;
1246
- }, [ref, referenceElement]);
1237
+ }, [ref, referenceElement, width]);
1247
1238
  useEffect(() => {
1248
1239
  if (!ref.current || !referenceElement.current || !open) return;
1249
1240
  const cleanup = autoUpdate(
@@ -1255,7 +1246,16 @@ const FieldPopover = (props) => {
1255
1246
  cleanup();
1256
1247
  };
1257
1248
  }, [referenceElement, ref, updatePosition, open]);
1258
- return /* @__PURE__ */ jsx("div", { ref, id, className: styles$1["field-popover"], popover: "manual", children });
1249
+ return /* @__PURE__ */ jsx(
1250
+ "div",
1251
+ {
1252
+ ref,
1253
+ id,
1254
+ className: styles$1["options-popover"],
1255
+ popover: "manual",
1256
+ children
1257
+ }
1258
+ );
1259
1259
  };
1260
1260
 
1261
1261
  const header = "_header_1lctb_34";
@@ -1269,7 +1269,7 @@ const styles = {
1269
1269
  content: content
1270
1270
  };
1271
1271
 
1272
- const FieldDialog = ({
1272
+ const OptionsDialog = ({
1273
1273
  id,
1274
1274
  isOpen,
1275
1275
  onClose,
@@ -1361,5 +1361,146 @@ const FieldDialog = ({
1361
1361
  );
1362
1362
  };
1363
1363
 
1364
- export { DEFAULT_PAGE_SIZE as D, FieldListBase as F, SelectFieldLabel as S, VirtualizedFieldListBase as V, useProcessedOptions as a, buildDownshiftItems as b, useDebouncedCallback as c, FieldDialog as d, FieldPopover as e, useSelectFieldLoading as f, mapOptionToDownshiftItem as m, useAdaptiveView as u };
1365
- //# sourceMappingURL=FieldDialog-DaRvLS6m.js.map
1364
+ function detectCoarsePointer() {
1365
+ if (typeof window === "undefined" || !window.matchMedia) {
1366
+ return false;
1367
+ }
1368
+ return window.matchMedia("(pointer: coarse)").matches;
1369
+ }
1370
+ function useAdaptiveView() {
1371
+ const breakpoint = useBreakpoint();
1372
+ const [hasCoarsePointer, setHasCoarsePointer] = useState(detectCoarsePointer);
1373
+ useEffect(() => {
1374
+ setHasCoarsePointer(detectCoarsePointer());
1375
+ const mediaQuery = window.matchMedia("(pointer: coarse)");
1376
+ const handleChange = (e) => {
1377
+ setHasCoarsePointer(e.matches);
1378
+ };
1379
+ mediaQuery.addEventListener("change", handleChange);
1380
+ return () => mediaQuery.removeEventListener("change", handleChange);
1381
+ }, []);
1382
+ const isSmallScreen = !breakpoint?.md;
1383
+ const isMobile = isSmallScreen && hasCoarsePointer;
1384
+ return {
1385
+ view: isMobile ? "mobile" : "desktop",
1386
+ isMobile,
1387
+ isDesktop: !isMobile
1388
+ };
1389
+ }
1390
+
1391
+ function useSelectOrchestration(config) {
1392
+ const {
1393
+ lazy,
1394
+ loadOptions: loadOptionsProp,
1395
+ cache,
1396
+ lazyOptions,
1397
+ initialLoad: initialLoadProp = "auto",
1398
+ displayMenuAs: displayMenuAsProp = "auto",
1399
+ ref
1400
+ } = config;
1401
+ const [initialLoadPerformed, setInitialLoadPerformed] = useState(false);
1402
+ const { isMobile } = useAdaptiveView();
1403
+ const displayAs = displayMenuAsProp === "auto" ? isMobile ? "dialog" : "popover" : displayMenuAsProp;
1404
+ const initialLoad = initialLoadProp === "auto" ? "immediate" : initialLoadProp;
1405
+ const pageSize = lazy === "page" ? lazyOptions?.pageSize ?? DEFAULT_PAGE_SIZE : DEFAULT_PAGE_SIZE;
1406
+ const limit = lazy === "offset" ? lazyOptions?.limit ?? DEFAULT_PAGE_SIZE : DEFAULT_PAGE_SIZE;
1407
+ const loadingHookConfig = useMemo(() => {
1408
+ const cacheConfig = {
1409
+ enabled: cache?.enabled,
1410
+ maxSize: cache?.maxSize
1411
+ };
1412
+ if (lazy === "page")
1413
+ return {
1414
+ lazy: "page",
1415
+ loadOptions: loadOptionsProp,
1416
+ pageSize,
1417
+ cache: cacheConfig
1418
+ };
1419
+ if (lazy === "offset")
1420
+ return {
1421
+ lazy: "offset",
1422
+ loadOptions: loadOptionsProp,
1423
+ limit,
1424
+ cache: cacheConfig
1425
+ };
1426
+ if (lazy === "group")
1427
+ return {
1428
+ lazy: "group",
1429
+ loadOptions: loadOptionsProp,
1430
+ cache: cacheConfig
1431
+ };
1432
+ return {
1433
+ lazy: false,
1434
+ loadOptions: loadOptionsProp,
1435
+ cache: cacheConfig
1436
+ };
1437
+ }, [lazy, loadOptionsProp, pageSize, limit, cache?.enabled, cache?.maxSize]);
1438
+ const {
1439
+ options,
1440
+ loading,
1441
+ loadingMore,
1442
+ hasMore,
1443
+ loadOptions,
1444
+ loadMore,
1445
+ clearCache
1446
+ } = useSelectFieldLoading(loadingHookConfig);
1447
+ useImperativeHandle(
1448
+ ref,
1449
+ () => ({
1450
+ clearCache,
1451
+ invalidate: () => {
1452
+ clearCache();
1453
+ setInitialLoadPerformed(false);
1454
+ }
1455
+ }),
1456
+ [clearCache]
1457
+ );
1458
+ return {
1459
+ displayAs,
1460
+ initialLoad,
1461
+ initialLoadPerformed,
1462
+ setInitialLoadPerformed,
1463
+ options,
1464
+ loading,
1465
+ loadingMore,
1466
+ hasMore,
1467
+ loadOptions,
1468
+ loadMore
1469
+ };
1470
+ }
1471
+
1472
+ const defaultSyncFilter = (options, searchValue) => matchSorter(options, searchValue, {
1473
+ keys: ["label", "searchText"],
1474
+ baseSort: (a, b) => a.index - b.index
1475
+ });
1476
+ const toSyncFilterFn = (filter) => typeof filter === "function" ? filter : (options, searchValue) => matchSorter(options, searchValue, {
1477
+ baseSort: (a, b) => a.index - b.index,
1478
+ ...filter
1479
+ });
1480
+ const sortByGroup = (options, groupSorter) => {
1481
+ const groupOrder = /* @__PURE__ */ new Map();
1482
+ const uniqueGroups = [];
1483
+ options.forEach((opt) => {
1484
+ if (!groupOrder.has(opt.group)) {
1485
+ groupOrder.set(opt.group, uniqueGroups.length);
1486
+ uniqueGroups.push(opt.group);
1487
+ }
1488
+ });
1489
+ uniqueGroups.sort((a, b) => {
1490
+ if (a === void 0 && b === void 0) return 0;
1491
+ if (a === void 0) return 1;
1492
+ if (b === void 0) return -1;
1493
+ return groupSorter(a, b);
1494
+ });
1495
+ uniqueGroups.forEach((group, index) => {
1496
+ groupOrder.set(group, index);
1497
+ });
1498
+ return [...options].sort((a, b) => {
1499
+ const orderA = groupOrder.get(a.group) ?? Infinity;
1500
+ const orderB = groupOrder.get(b.group) ?? Infinity;
1501
+ return orderA - orderB;
1502
+ });
1503
+ };
1504
+
1505
+ export { OptionsPanel as O, VirtualizedOptionsPanel as V, useSelectOrchestration as a, useProcessedOptions as b, buildSelectItems as c, useDebouncedCallback as d, OptionsDialog as e, OptionsPopover as f, defaultSyncFilter as g, toSelectItem as h, sortByGroup as s, toSyncFilterFn as t, useAdaptiveView as u };
1506
+ //# sourceMappingURL=syncFilterUtils-BRKjFwxk.js.map