@servicetitan/anvil2 2.5.1 → 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 (407) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/{Alert-D9mBPs6z.js → Alert-C_o2f78C.js} +5 -5
  3. package/dist/{Alert-D9mBPs6z.js.map → Alert-C_o2f78C.js.map} +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/{Announcement-B34cD6BC.js → Announcement-CyrTvgP4.js} +5 -5
  6. package/dist/{Announcement-B34cD6BC.js.map → Announcement-CyrTvgP4.js.map} +1 -1
  7. package/dist/Announcement.js +1 -1
  8. package/dist/{AnvilProvider-C3pjoStP.js → AnvilProvider-ClfmLl_6.js} +5 -5
  9. package/dist/{AnvilProvider-C3pjoStP.js.map → AnvilProvider-ClfmLl_6.js.map} +1 -1
  10. package/dist/AnvilProvider.js +1 -1
  11. package/dist/{Avatar-DShevhcs.js → Avatar--CnTAnfD.js} +2 -2
  12. package/dist/{Avatar-DShevhcs.js.map → Avatar--CnTAnfD.js.map} +1 -1
  13. package/dist/{Avatar-COMPK7Ym.js → Avatar-CCnbKkCm.js} +4 -4
  14. package/dist/{Avatar-COMPK7Ym.js.map → Avatar-CCnbKkCm.js.map} +1 -1
  15. package/dist/Avatar.js +2 -2
  16. package/dist/{Badge-CS-CwcOQ.js → Badge-C2W7Dls9.js} +4 -4
  17. package/dist/{Badge-CS-CwcOQ.js.map → Badge-C2W7Dls9.js.map} +1 -1
  18. package/dist/Badge.js +1 -1
  19. package/dist/{Breadcrumbs-CEVH4s23.js → Breadcrumbs-3Y7jnj-F.js} +6 -6
  20. package/dist/{Breadcrumbs-CEVH4s23.js.map → Breadcrumbs-3Y7jnj-F.js.map} +1 -1
  21. package/dist/Breadcrumbs.js +1 -1
  22. package/dist/{Button-DrNDkO2f.js → Button-CVsGhVJz.js} +6 -6
  23. package/dist/{Button-DrNDkO2f.js.map → Button-CVsGhVJz.js.map} +1 -1
  24. package/dist/Button.css +49 -49
  25. package/dist/Button.js +1 -1
  26. package/dist/Button.module-wCtFYGVD.js +26 -0
  27. package/dist/Button.module-wCtFYGVD.js.map +1 -0
  28. package/dist/{ButtonCompound-D9VTKcL4.js → ButtonCompound-Cmw3cgMY.js} +4 -4
  29. package/dist/{ButtonCompound-D9VTKcL4.js.map → ButtonCompound-Cmw3cgMY.js.map} +1 -1
  30. package/dist/ButtonCompound.js +1 -1
  31. package/dist/{ButtonLink-DDtrmbVM.js → ButtonLink-BJKTJER8.js} +6 -6
  32. package/dist/{ButtonLink-DDtrmbVM.js.map → ButtonLink-BJKTJER8.js.map} +1 -1
  33. package/dist/ButtonLink.js +1 -1
  34. package/dist/{ButtonToggle-DrFewgOG.js → ButtonToggle-DaYJWso_.js} +5 -5
  35. package/dist/{ButtonToggle-DrFewgOG.js.map → ButtonToggle-DaYJWso_.js.map} +1 -1
  36. package/dist/ButtonToggle.js +1 -1
  37. package/dist/{Calendar-CtkL4zYU.js → Calendar-B0u3EgCY.js} +7 -7
  38. package/dist/{Calendar-CtkL4zYU.js.map → Calendar-B0u3EgCY.js.map} +1 -1
  39. package/dist/{Calendar-CkgpKD7Q.js → Calendar-B5d2SUrH.js} +2 -2
  40. package/dist/{Calendar-CkgpKD7Q.js.map → Calendar-B5d2SUrH.js.map} +1 -1
  41. package/dist/Calendar.js +2 -2
  42. package/dist/{Card-DDH7gI8m.js → Card-wz71dEVA.js} +3 -3
  43. package/dist/{Card-DDH7gI8m.js.map → Card-wz71dEVA.js.map} +1 -1
  44. package/dist/Card.js +1 -1
  45. package/dist/{Checkbox-CxjZpzPp.js → Checkbox-BwULIo4D.js} +26 -36
  46. package/dist/Checkbox-BwULIo4D.js.map +1 -0
  47. package/dist/{Checkbox-CFgjreAl.js → Checkbox-CIj37_vY.js} +2 -2
  48. package/dist/{Checkbox-CFgjreAl.js.map → Checkbox-CIj37_vY.js.map} +1 -1
  49. package/dist/Checkbox.css +71 -66
  50. package/dist/Checkbox.js +1 -1
  51. package/dist/Checkbox.module-EkRZO48Y.js +28 -0
  52. package/dist/Checkbox.module-EkRZO48Y.js.map +1 -0
  53. package/dist/{Chip-Bc7jiIJ1.js → Chip-DjTAR0va.js} +6 -6
  54. package/dist/{Chip-Bc7jiIJ1.js.map → Chip-DjTAR0va.js.map} +1 -1
  55. package/dist/Chip.js +1 -1
  56. package/dist/{Combobox-Drqb3GVU.js → Combobox-Clymsgli.js} +16 -19
  57. package/dist/Combobox-Clymsgli.js.map +1 -0
  58. package/dist/Combobox.js +1 -1
  59. package/dist/{DataTable-BLuJ4FtH.js → DataTable-qoseu_e2.js} +83 -48
  60. package/dist/DataTable-qoseu_e2.js.map +1 -0
  61. package/dist/DataTable.css +68 -55
  62. package/dist/{DateFieldRange-CvlOeE4v.js → DateFieldRange-rks7jQor.js} +45 -54
  63. package/dist/DateFieldRange-rks7jQor.js.map +1 -0
  64. package/dist/DateFieldRange.js +1 -1
  65. package/dist/{DateFieldSingle-9UHxIxIA.js → DateFieldSingle-C0WXU7H1.js} +43 -52
  66. package/dist/DateFieldSingle-C0WXU7H1.js.map +1 -0
  67. package/dist/DateFieldSingle.js +1 -1
  68. package/dist/{DateFieldYearless-HNydELvO.js → DateFieldYearless-2p3a7Xgo.js} +15 -23
  69. package/dist/DateFieldYearless-2p3a7Xgo.js.map +1 -0
  70. package/dist/DateFieldYearless.js +1 -1
  71. package/dist/{DateFieldYearlessRange-COb8v2CG.js → DateFieldYearlessRange-DLmhPug8.js} +18 -25
  72. package/dist/DateFieldYearlessRange-DLmhPug8.js.map +1 -0
  73. package/dist/DateFieldYearlessRange.js +1 -1
  74. package/dist/{DaysOfTheWeek-D-WPj18i.js → DaysOfTheWeek-BR32AA32.js} +6 -6
  75. package/dist/{DaysOfTheWeek-D-WPj18i.js.map → DaysOfTheWeek-BR32AA32.js.map} +1 -1
  76. package/dist/DaysOfTheWeek.js +1 -1
  77. package/dist/{Details-BF0-a1by.js → Details-Dxq_v3Qg.js} +4 -4
  78. package/dist/{Details-BF0-a1by.js.map → Details-Dxq_v3Qg.js.map} +1 -1
  79. package/dist/Details.js +1 -1
  80. package/dist/{Dialog-DEAR058v.js → Dialog-CMhypnCD.js} +5 -5
  81. package/dist/{Dialog-DEAR058v.js.map → Dialog-CMhypnCD.js.map} +1 -1
  82. package/dist/Dialog.js +1 -1
  83. package/dist/{DialogCancelButton-BfI9K4a4.js → DialogCancelButton-DQDMzGeT.js} +2 -2
  84. package/dist/{DialogCancelButton-BfI9K4a4.js.map → DialogCancelButton-DQDMzGeT.js.map} +1 -1
  85. package/dist/{Divider-De04mOU6.js → Divider-B1UoK8ho.js} +3 -3
  86. package/dist/{Divider-De04mOU6.js.map → Divider-B1UoK8ho.js.map} +1 -1
  87. package/dist/Divider.js +1 -1
  88. package/dist/Dnd.js +1 -1
  89. package/dist/DndSort.js +6 -6
  90. package/dist/{Drawer-CnMskBQl.js → Drawer-CSelPi8t.js} +5 -5
  91. package/dist/{Drawer-CnMskBQl.js.map → Drawer-CSelPi8t.js.map} +1 -1
  92. package/dist/Drawer.js +1 -1
  93. package/dist/DrillDown.js +1 -1
  94. package/dist/{EditCard-CH-JE4ba.js → EditCard-CLN0GBN_.js} +7 -7
  95. package/dist/{EditCard-CH-JE4ba.js.map → EditCard-CLN0GBN_.js.map} +1 -1
  96. package/dist/EditCard.js +1 -1
  97. package/dist/FieldLabel-DbMosKtd.js +125 -0
  98. package/dist/FieldLabel-DbMosKtd.js.map +1 -0
  99. package/dist/FieldLabel.css +80 -10
  100. package/dist/FieldLabel.js +1 -1
  101. package/dist/{FieldMessage-OeP_xSUE.js → FieldMessage-COHqUdj5.js} +3 -3
  102. package/dist/{FieldMessage-OeP_xSUE.js.map → FieldMessage-COHqUdj5.js.map} +1 -1
  103. package/dist/FieldMessage.js +2 -2
  104. package/dist/{Flex-CUtXN-C0.js → Flex-WyyZm1bf.js} +3 -3
  105. package/dist/{Flex-CUtXN-C0.js.map → Flex-WyyZm1bf.js.map} +1 -1
  106. package/dist/Flex.js +1 -1
  107. package/dist/{Grid-CatFkT0X.js → Grid-ONcUpb__.js} +3 -3
  108. package/dist/{Grid-CatFkT0X.js.map → Grid-ONcUpb__.js.map} +1 -1
  109. package/dist/Grid.js +1 -1
  110. package/dist/{Helper-B2UrgJvr.js → Helper-B_FIOlhy.js} +3 -3
  111. package/dist/{Helper-B2UrgJvr.js.map → Helper-B_FIOlhy.js.map} +1 -1
  112. package/dist/{Icon-Bcil6aBo.js → Icon-DuIlne4x.js} +3 -3
  113. package/dist/{Icon-Bcil6aBo.js.map → Icon-DuIlne4x.js.map} +1 -1
  114. package/dist/Icon.js +1 -1
  115. package/dist/{InputMask-B7ZnJoR5.js → InputMask-BKs-x6ds.js} +3 -3
  116. package/dist/{InputMask-B7ZnJoR5.js.map → InputMask-BKs-x6ds.js.map} +1 -1
  117. package/dist/InputMask.js +1 -1
  118. package/dist/{InteractiveCard-OszQGxGw.js → InteractiveCard-GTYbR6Xy.js} +3 -3
  119. package/dist/{InteractiveCard-OszQGxGw.js.map → InteractiveCard-GTYbR6Xy.js.map} +1 -1
  120. package/dist/InteractiveCard.js +1 -1
  121. package/dist/{Layout-DTAU7jS5.js → Layout-VfhlilMG.js} +2 -2
  122. package/dist/{Layout-DTAU7jS5.js.map → Layout-VfhlilMG.js.map} +1 -1
  123. package/dist/Layout.js +1 -1
  124. package/dist/{Link-B3reiL5f.js → Link-jTvzyXca.js} +4 -4
  125. package/dist/{Link-B3reiL5f.js.map → Link-jTvzyXca.js.map} +1 -1
  126. package/dist/Link.js +1 -1
  127. package/dist/{LinkButton-D62f2os3.js → LinkButton-DGyHR1E7.js} +3 -3
  128. package/dist/{LinkButton-D62f2os3.js.map → LinkButton-DGyHR1E7.js.map} +1 -1
  129. package/dist/LinkButton.js +1 -1
  130. package/dist/{List-CtdOo1dv.js → List-CJZjElAQ.js} +3 -3
  131. package/dist/{List-CtdOo1dv.js.map → List-CJZjElAQ.js.map} +1 -1
  132. package/dist/List.js +1 -1
  133. package/dist/{ListView-CN8zu-cq.js → ListView-CeGwrRbt.js} +4 -4
  134. package/dist/{ListView-CN8zu-cq.js.map → ListView-CeGwrRbt.js.map} +1 -1
  135. package/dist/ListView.js +1 -1
  136. package/dist/{Listbox-DMyxIokT.js → Listbox-BtAgBDRS.js} +7 -7
  137. package/dist/{Listbox-DMyxIokT.js.map → Listbox-BtAgBDRS.js.map} +1 -1
  138. package/dist/Listbox.css +29 -29
  139. package/dist/Listbox.js +1 -1
  140. package/dist/Listbox.module-HAXMOKvC.js +18 -0
  141. package/dist/Listbox.module-HAXMOKvC.js.map +1 -0
  142. package/dist/{LocalizationProvider-ay-XWdlo.js → LocalizationProvider-DWCyga_d.js} +2 -2
  143. package/dist/{LocalizationProvider-ay-XWdlo.js.map → LocalizationProvider-DWCyga_d.js.map} +1 -1
  144. package/dist/LocalizationProvider.js +1 -1
  145. package/dist/{Menu-CpRnsr0v.js → Menu-BXsmCP20.js} +6 -5
  146. package/dist/{Menu-CpRnsr0v.js.map → Menu-BXsmCP20.js.map} +1 -1
  147. package/dist/Menu.js +1 -1
  148. package/dist/MultiSelectField.js +1 -1
  149. package/dist/{MultiSelectFieldSync-BnPzYM72.js → MultiSelectFieldSync-EELhdoD6.js} +92 -177
  150. package/dist/MultiSelectFieldSync-EELhdoD6.js.map +1 -0
  151. package/dist/MultiSelectMenu.d.ts +2 -0
  152. package/dist/MultiSelectMenu.js +2 -0
  153. package/dist/MultiSelectMenu.js.map +1 -0
  154. package/dist/MultiSelectMenuSync-CAPhhkK1.js +432 -0
  155. package/dist/MultiSelectMenuSync-CAPhhkK1.js.map +1 -0
  156. package/dist/{NumberField-ecubQsaf.js → NumberField-svhZp1kB.js} +14 -15
  157. package/dist/NumberField-svhZp1kB.js.map +1 -0
  158. package/dist/NumberField.js +1 -1
  159. package/dist/Overflow.js +3 -3
  160. package/dist/{Page-qOkG6psI.js → Page-BpV1yHkm.js} +16 -16
  161. package/dist/{Page-qOkG6psI.js.map → Page-BpV1yHkm.js.map} +1 -1
  162. package/dist/Page.js +1 -1
  163. package/dist/{Pagination-BuiyhZlJ.js → Pagination-BAwqfl_2.js} +8 -8
  164. package/dist/{Pagination-BuiyhZlJ.js.map → Pagination-BAwqfl_2.js.map} +1 -1
  165. package/dist/Pagination.js +1 -1
  166. package/dist/{Popover-CYWYCj7l.js → Popover-Br6qPgKe.js} +7 -26
  167. package/dist/Popover-Br6qPgKe.js.map +1 -0
  168. package/dist/Popover-Dkw_8dZx.js +535 -0
  169. package/dist/Popover-Dkw_8dZx.js.map +1 -0
  170. package/dist/Popover.js +1 -1
  171. package/dist/Popover2.css +68 -0
  172. package/dist/{ProgressBar-CBhVZIzK.js → ProgressBar-JpRDW5vG.js} +8 -8
  173. package/dist/{ProgressBar-CBhVZIzK.js.map → ProgressBar-JpRDW5vG.js.map} +1 -1
  174. package/dist/ProgressBar.js +1 -1
  175. package/dist/{Radio-DtYoRq3m.js → Radio-8DmfWHYq.js} +38 -46
  176. package/dist/Radio-8DmfWHYq.js.map +1 -0
  177. package/dist/{Radio-BMFwnzyz.js → Radio-M7lc0BsU.js} +2 -2
  178. package/dist/{Radio-BMFwnzyz.js.map → Radio-M7lc0BsU.js.map} +1 -1
  179. package/dist/Radio.css +52 -47
  180. package/dist/Radio.js +1 -1
  181. package/dist/{SearchField-CtdtcrVV.js → SearchField-im7AHGYo.js} +5 -5
  182. package/dist/{SearchField-CtdtcrVV.js.map → SearchField-im7AHGYo.js.map} +1 -1
  183. package/dist/SearchField.js +1 -1
  184. package/dist/{SegmentedControl-CzTtiYS9.js → SegmentedControl-7fDLhgvh.js} +3 -3
  185. package/dist/{SegmentedControl-CzTtiYS9.js.map → SegmentedControl-7fDLhgvh.js.map} +1 -1
  186. package/dist/SegmentedControl.js +1 -1
  187. package/dist/{SelectCard-yWBNnm7t.js → SelectCard-D5dcOIuf.js} +6 -6
  188. package/dist/{SelectCard-yWBNnm7t.js.map → SelectCard-D5dcOIuf.js.map} +1 -1
  189. package/dist/SelectCard.js +1 -1
  190. package/dist/SelectField.js +1 -1
  191. package/dist/SelectFieldLabel-Dr8HeW3N.js +31 -0
  192. package/dist/SelectFieldLabel-Dr8HeW3N.js.map +1 -0
  193. package/dist/{SelectFieldSync-DCrafdbx.js → SelectFieldSync-BPopU0om.js} +80 -169
  194. package/dist/SelectFieldSync-BPopU0om.js.map +1 -0
  195. package/dist/SelectMenu.d.ts +2 -0
  196. package/dist/SelectMenu.js +2 -0
  197. package/dist/SelectMenu.js.map +1 -0
  198. package/dist/SelectMenuSync-DeMYO1m_.js +327 -0
  199. package/dist/SelectMenuSync-DeMYO1m_.js.map +1 -0
  200. package/dist/SelectOptions-DBe5ZN_-.js +26 -0
  201. package/dist/SelectOptions-DBe5ZN_-.js.map +1 -0
  202. package/dist/{SelectTrigger-Cs5CGc4D.js → SelectTrigger-ObsnAKNp.js} +6 -9
  203. package/dist/SelectTrigger-ObsnAKNp.js.map +1 -0
  204. package/dist/SelectTrigger.js +1 -1
  205. package/dist/{SelectTriggerBase-Cs827tDp.js → SelectTriggerBase-DKfOL2RJ.js} +8 -8
  206. package/dist/{SelectTriggerBase-Cs827tDp.js.map → SelectTriggerBase-DKfOL2RJ.js.map} +1 -1
  207. package/dist/{SideNav-CbMGsIPM.js → SideNav-KksbSQn7.js} +4 -4
  208. package/dist/{SideNav-CbMGsIPM.js.map → SideNav-KksbSQn7.js.map} +1 -1
  209. package/dist/SideNav.js +1 -1
  210. package/dist/Skeleton.js +2 -2
  211. package/dist/{Spinner-CpEm3Lud.js → Spinner-BqmcE2pb.js} +2 -2
  212. package/dist/{Spinner-CpEm3Lud.js.map → Spinner-BqmcE2pb.js.map} +1 -1
  213. package/dist/Spinner.js +1 -1
  214. package/dist/{SrOnly-CrdBTl6E.js → SrOnly-eUpYGpAT.js} +2 -2
  215. package/dist/{SrOnly-CrdBTl6E.js.map → SrOnly-eUpYGpAT.js.map} +1 -1
  216. package/dist/SrOnly.js +1 -1
  217. package/dist/{Stepper-CzVKDg-N.js → Stepper-Dt8_ImvJ.js} +5 -5
  218. package/dist/{Stepper-CzVKDg-N.js.map → Stepper-Dt8_ImvJ.js.map} +1 -1
  219. package/dist/Stepper.js +1 -1
  220. package/dist/{Switch-CEmjmSiL.js → Switch-DpPHr3G3.js} +6 -6
  221. package/dist/{Switch-CEmjmSiL.js.map → Switch-DpPHr3G3.js.map} +1 -1
  222. package/dist/Switch.js +1 -1
  223. package/dist/{Tab-DXivEqur.js → Tab-DO7LaUbw.js} +4 -4
  224. package/dist/{Tab-DXivEqur.js.map → Tab-DO7LaUbw.js.map} +1 -1
  225. package/dist/Tab.js +1 -1
  226. package/dist/Table.js +1 -1
  227. package/dist/{Text-DhheKsns.js → Text-BJo4oMI2.js} +3 -3
  228. package/dist/{Text-DhheKsns.js.map → Text-BJo4oMI2.js.map} +1 -1
  229. package/dist/Text.js +1 -1
  230. package/dist/{TextField-D9VWORek.js → TextField--co7QJ4r.js} +2 -2
  231. package/dist/{TextField-D9VWORek.js.map → TextField--co7QJ4r.js.map} +1 -1
  232. package/dist/{TextField-atI4M79b.js → TextField-Cax4UeNl.js} +12 -16
  233. package/dist/TextField-Cax4UeNl.js.map +1 -0
  234. package/dist/TextField.js +1 -1
  235. package/dist/{Textarea-D-kPIsIN.js → Textarea-DyqdMTvQ.js} +11 -15
  236. package/dist/Textarea-DyqdMTvQ.js.map +1 -0
  237. package/dist/Textarea.js +1 -1
  238. package/dist/{ThemeProvider-BEt_iJgf.js → ThemeProvider-CaYW3RuA.js} +3 -3
  239. package/dist/{ThemeProvider-BEt_iJgf.js.map → ThemeProvider-CaYW3RuA.js.map} +1 -1
  240. package/dist/ThemeProvider.js +1 -1
  241. package/dist/{TimeField-DREFzFkw.js → TimeField-BfcLCWMG.js} +23 -13
  242. package/dist/TimeField-BfcLCWMG.js.map +1 -0
  243. package/dist/TimeField.js +1 -1
  244. package/dist/Toast.js +2 -2
  245. package/dist/{Toaster-Bisc1mlh.js → Toaster-DikGo_hR.js} +2 -2
  246. package/dist/{Toaster-Bisc1mlh.js.map → Toaster-DikGo_hR.js.map} +1 -1
  247. package/dist/{Toaster-B652KIzq.js → Toaster-b0-Ub3yt.js} +7 -7
  248. package/dist/{Toaster-B652KIzq.js.map → Toaster-b0-Ub3yt.js.map} +1 -1
  249. package/dist/{Toolbar-jfZ-CupZ.js → Toolbar-DqYMc_w8.js} +39 -126
  250. package/dist/Toolbar-DqYMc_w8.js.map +1 -0
  251. package/dist/Toolbar.js +1 -1
  252. package/dist/{Tooltip-Bt62hC5J.js → Tooltip-Bupqao9B.js} +13 -6
  253. package/dist/Tooltip-Bupqao9B.js.map +1 -0
  254. package/dist/Tooltip.js +1 -1
  255. package/dist/{YearlessDateInputWithPicker-mW5KykHZ.js → YearlessDateInputWithPicker-aq99rKJU.js} +14 -15
  256. package/dist/YearlessDateInputWithPicker-aq99rKJU.js.map +1 -0
  257. package/dist/YearlessDateInputWithPicker.css +33 -33
  258. package/dist/assets/icons/st/resize_window_alt.svg +1 -0
  259. package/dist/assets/icons/st.ts +1 -0
  260. package/dist/beta/components/MultiSelectField/MultiSelectFieldSync.d.ts +2 -3
  261. package/dist/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +8 -7
  262. package/dist/beta/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +6 -4
  263. package/dist/beta/components/MultiSelectField/types.d.ts +2 -3
  264. package/dist/beta/components/MultiSelectMenu/MultiSelectMenu.d.ts +30 -0
  265. package/dist/beta/components/MultiSelectMenu/MultiSelectMenuSync.d.ts +54 -0
  266. package/dist/beta/components/MultiSelectMenu/index.d.ts +3 -0
  267. package/dist/beta/components/MultiSelectMenu/types.d.ts +170 -0
  268. package/dist/beta/components/SelectField/SelectFieldSync.d.ts +2 -3
  269. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  270. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  271. package/dist/beta/components/SelectField/internal/useCombo.d.ts +7 -7
  272. package/dist/beta/components/SelectField/internal/useSelectMode.d.ts +7 -6
  273. package/dist/beta/components/SelectField/types.d.ts +2 -9
  274. package/dist/beta/components/SelectMenu/SelectMenu.d.ts +27 -0
  275. package/dist/beta/components/SelectMenu/SelectMenuSync.d.ts +41 -0
  276. package/dist/beta/components/SelectMenu/index.d.ts +3 -0
  277. package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +72 -0
  278. package/dist/beta/components/SelectMenu/types.d.ts +153 -0
  279. package/dist/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +1 -1
  280. package/dist/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +12 -0
  281. package/dist/beta/components/Table/types.d.ts +14 -0
  282. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +3 -3
  283. package/dist/beta/components/index.d.ts +2 -0
  284. package/dist/beta.js +10 -8
  285. package/dist/beta.js.map +1 -1
  286. package/dist/components/Avatar/Avatar.figma.d.ts +1 -0
  287. package/dist/components/Breadcrumbs/Breadcrumbs.figma.d.ts +1 -0
  288. package/dist/components/Card/Card.figma.d.ts +1 -0
  289. package/dist/components/Checkbox/Checkbox.figma.d.ts +1 -0
  290. package/dist/components/Chip/Chip.figma.d.ts +1 -0
  291. package/dist/components/Combobox/ComboboxTypes.d.ts +1 -1
  292. package/dist/components/DateFieldYearless/internal/YearlessDateSelectionPopover.d.ts +1 -1
  293. package/dist/components/FieldLabel/FieldLabel.d.ts +3 -0
  294. package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +22 -0
  295. package/dist/components/FieldLabel/internal/FieldLabelMoreInfoIcon.d.ts +4 -6
  296. package/dist/components/Link/Link.figma.d.ts +1 -0
  297. package/dist/components/ProgressBar/ProgressBar.figma.d.ts +1 -0
  298. package/dist/components/SelectTrigger/SelectTrigger.d.ts +1 -1
  299. package/dist/components/Spinner/Spinner.figma.d.ts +1 -0
  300. package/dist/components/Textarea/Textarea.d.ts +1 -1
  301. package/dist/components/Toolbar/ToolbarSelect.d.ts +3 -3
  302. package/dist/components/Tooltip/Tooltip.figma.d.ts +1 -0
  303. package/dist/{match-sorter.esm-adzV1NDp.js → downshift.esm-xtSnQp44.js} +3 -907
  304. package/dist/downshift.esm-xtSnQp44.js.map +1 -0
  305. package/dist/floating-ui.react-aKYfs-aw.js +2374 -0
  306. package/dist/floating-ui.react-aKYfs-aw.js.map +1 -0
  307. package/dist/{floating-ui.react-dom-BZbDMh89.js → floating-ui.react-dom-imrk9N49.js} +237 -19
  308. package/dist/floating-ui.react-dom-imrk9N49.js.map +1 -0
  309. package/dist/hooks/useBreakpoint/useBreakpoint.d.ts +3 -3
  310. package/dist/{index-ClUtwV8V.js → index-D6ag_WQW.js} +4 -4
  311. package/dist/{index-ClUtwV8V.js.map → index-D6ag_WQW.js.map} +1 -1
  312. package/dist/{index-SvGbrGuT.js → index-De1g9FRV.js} +2 -2
  313. package/dist/{index-SvGbrGuT.js.map → index-De1g9FRV.js.map} +1 -1
  314. package/dist/index.js +73 -99
  315. package/dist/index.js.map +1 -1
  316. package/dist/internal/components/MultiSelectOptions.d.ts +23 -0
  317. package/dist/{beta/components/SelectField/internal/FieldDialog/FieldDialog.d.ts → internal/components/OptionsDialog/OptionsDialog.d.ts} +2 -2
  318. package/dist/internal/components/OptionsPanel.d.ts +26 -0
  319. package/dist/internal/components/OptionsPopover/OptionsPopover.d.ts +16 -0
  320. package/dist/internal/components/Popover/Popover.d.ts +267 -0
  321. package/dist/internal/components/Popover/PopoverButton.d.ts +24 -0
  322. package/dist/internal/components/Popover/PopoverClose.d.ts +24 -0
  323. package/dist/internal/components/Popover/PopoverContent.d.ts +34 -0
  324. package/dist/internal/components/Popover/PopoverTrigger.d.ts +46 -0
  325. package/dist/internal/components/Popover/index.d.ts +6 -0
  326. package/dist/internal/components/Popover/internal/PopoverContext.d.ts +45 -0
  327. package/dist/internal/components/Popover/internal/usePopoverContext.d.ts +6 -0
  328. package/dist/internal/components/SelectOption.d.ts +13 -0
  329. package/dist/internal/components/SelectOptions.d.ts +23 -0
  330. package/dist/internal/components/VirtualizedOptionsPanel.d.ts +2 -0
  331. package/dist/internal/functions/buildSelectItems.d.ts +22 -0
  332. package/dist/internal/functions/syncFilterUtils.d.ts +10 -0
  333. package/dist/{beta/components/SelectField/internal → internal/hooks}/useGroupedOptions.d.ts +4 -3
  334. package/dist/{beta/components/SelectField/internal/useFieldListSections.d.ts → internal/hooks/useOptionsSections.d.ts} +7 -8
  335. package/dist/{beta/components/SelectField/internal → internal/hooks}/usePinnedOptions.d.ts +1 -1
  336. package/dist/{beta/components/SelectField/internal → internal/hooks}/useProcessedOptions.d.ts +2 -2
  337. package/dist/internal/hooks/useSelectOrchestration.d.ts +38 -0
  338. package/dist/{beta/components/MultiSelectField/internal → internal/hooks}/useToggleSelection.d.ts +2 -2
  339. package/dist/{beta/components/SelectField/internal/types.d.ts → internal/types/selectFieldInternalTypes.d.ts} +11 -3
  340. package/dist/match-sorter.esm-CGAauEiU.js +908 -0
  341. package/dist/match-sorter.esm-CGAauEiU.js.map +1 -0
  342. package/dist/safePopover-BDso-xSH.js +17 -0
  343. package/dist/safePopover-BDso-xSH.js.map +1 -0
  344. package/dist/{FieldDialog-C5mwMjrr.js → syncFilterUtils-BRKjFwxk.js} +287 -146
  345. package/dist/syncFilterUtils-BRKjFwxk.js.map +1 -0
  346. package/dist/{FieldDialog.css → syncFilterUtils.css} +18 -11
  347. package/dist/{useBreakpoint-BP3HZXmh.js → useBreakpoint-okJ64T1D.js} +4 -3
  348. package/dist/useBreakpoint-okJ64T1D.js.map +1 -0
  349. package/dist/useBreakpoint.js +1 -1
  350. package/dist/{useDrilldown-hUxMOdnz.js → useDrilldown-CqBBB_r1.js} +5 -5
  351. package/dist/{useDrilldown-hUxMOdnz.js.map → useDrilldown-CqBBB_r1.js.map} +1 -1
  352. package/dist/{useLayoutPropsUtil-loxbyklF.js → useLayoutPropsUtil-DMDdfIah.js} +2 -2
  353. package/dist/{useLayoutPropsUtil-loxbyklF.js.map → useLayoutPropsUtil-DMDdfIah.js.map} +1 -1
  354. package/dist/useMenuInteraction-zR_78KQC.js +249 -0
  355. package/dist/useMenuInteraction-zR_78KQC.js.map +1 -0
  356. package/dist/usePopoverTransitionStates-CDIoNUuf.js +24 -0
  357. package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +1 -0
  358. package/dist/useToggleSelection-JD62Jzqu.js +63 -0
  359. package/dist/useToggleSelection-JD62Jzqu.js.map +1 -0
  360. package/dist/{utils-pudAMGnO.js → utils-CM48ODEJ.js} +3 -13
  361. package/dist/utils-CM48ODEJ.js.map +1 -0
  362. package/dist/warnOnce-Y9PRHcU4.js +13 -0
  363. package/dist/warnOnce-Y9PRHcU4.js.map +1 -0
  364. package/package.json +1 -1
  365. package/dist/Button.module-DwCq9XU0.js +0 -26
  366. package/dist/Button.module-DwCq9XU0.js.map +0 -1
  367. package/dist/Checkbox-CxjZpzPp.js.map +0 -1
  368. package/dist/Checkbox.module-D4EgXL0i.js +0 -27
  369. package/dist/Checkbox.module-D4EgXL0i.js.map +0 -1
  370. package/dist/Combobox-Drqb3GVU.js.map +0 -1
  371. package/dist/DataTable-BLuJ4FtH.js.map +0 -1
  372. package/dist/DateFieldRange-CvlOeE4v.js.map +0 -1
  373. package/dist/DateFieldSingle-9UHxIxIA.js.map +0 -1
  374. package/dist/DateFieldYearless-HNydELvO.js.map +0 -1
  375. package/dist/DateFieldYearlessRange-COb8v2CG.js.map +0 -1
  376. package/dist/FieldDialog-C5mwMjrr.js.map +0 -1
  377. package/dist/FieldLabel-DL0D6fvc.js +0 -95
  378. package/dist/FieldLabel-DL0D6fvc.js.map +0 -1
  379. package/dist/Listbox.module-XuKszT3X.js +0 -18
  380. package/dist/Listbox.module-XuKszT3X.js.map +0 -1
  381. package/dist/MultiSelectFieldSync-BnPzYM72.js.map +0 -1
  382. package/dist/NumberField-ecubQsaf.js.map +0 -1
  383. package/dist/Popover-CYWYCj7l.js.map +0 -1
  384. package/dist/Radio-DtYoRq3m.js.map +0 -1
  385. package/dist/SelectFieldSync-DCrafdbx.js.map +0 -1
  386. package/dist/SelectTrigger-Cs5CGc4D.js.map +0 -1
  387. package/dist/TextField-atI4M79b.js.map +0 -1
  388. package/dist/Textarea-D-kPIsIN.js.map +0 -1
  389. package/dist/TimeField-DREFzFkw.js.map +0 -1
  390. package/dist/Toolbar-jfZ-CupZ.js.map +0 -1
  391. package/dist/Tooltip-Bt62hC5J.js.map +0 -1
  392. package/dist/YearlessDateInputWithPicker-mW5KykHZ.js.map +0 -1
  393. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldList.d.ts +0 -24
  394. package/dist/beta/components/SelectField/internal/FieldListBase.d.ts +0 -27
  395. package/dist/beta/components/SelectField/internal/FieldPopover/FieldPopover.d.ts +0 -9
  396. package/dist/beta/components/SelectField/internal/SelectFieldList.d.ts +0 -26
  397. package/dist/beta/components/SelectField/internal/SelectFieldListItem.d.ts +0 -14
  398. package/dist/beta/components/SelectField/internal/VirtualizedFieldListBase.d.ts +0 -2
  399. package/dist/beta/components/SelectField/internal/buildDownshiftItems.d.ts +0 -22
  400. package/dist/beta/components/Table/DataTable/internal/cells/CellError.d.ts +0 -10
  401. package/dist/floating-ui.react-P5949bpO.js +0 -28
  402. package/dist/floating-ui.react-P5949bpO.js.map +0 -1
  403. package/dist/floating-ui.react-dom-BZbDMh89.js.map +0 -1
  404. package/dist/match-sorter.esm-adzV1NDp.js.map +0 -1
  405. package/dist/useBreakpoint-BP3HZXmh.js.map +0 -1
  406. package/dist/utils-pudAMGnO.js.map +0 -1
  407. /package/dist/{beta/components/SelectField/internal → internal/components}/InView.d.ts +0 -0
@@ -0,0 +1,267 @@
1
+ import { ReactNode } from 'react';
2
+ import { Placement } from '@floating-ui/react';
3
+ import { PopoverTrigger } from './PopoverTrigger';
4
+ import { DisableCloseOnEscapeOrClickProps } from '../../../types';
5
+ import { OpenCloseTransitionStateEffects } from '../../../internal/hooks';
6
+ /** ARIA role of the beta Popover popup. */
7
+ export type PopoverRole = "dialog" | "listbox" | "tree" | "grid";
8
+ /**
9
+ * Sub-options for `placement="auto"`. Constrains which sides `autoPlacement()`
10
+ * may choose from. Ignored when a specific placement is set.
11
+ */
12
+ export type PopoverAutoPlacementConfig = {
13
+ /** Limits which sides autoPlacement() considers. Defaults to all sides. */
14
+ allowedPlacements?: Placement[];
15
+ };
16
+ /**
17
+ * Sub-options for a specific placement (e.g. `"bottom"`). Overrides the default
18
+ * opposite-side fallback sequence used by `flip()`. Ignored when `placement="auto"`.
19
+ */
20
+ export type PopoverFlipPlacementConfig = {
21
+ /** Explicit fallback sequence for flip(). Overrides the default opposite-side fallback. */
22
+ fallbackPlacements?: Placement[];
23
+ };
24
+ type PopoverPropsBase = {
25
+ /** Content to render inside the popover tree. */
26
+ children?: ReactNode;
27
+ /** Controlled open state. */
28
+ open?: boolean;
29
+ /** Initial open state for uncontrolled mode. @default false */
30
+ defaultOpen?: boolean;
31
+ /** Fires when the popover closes for any non-hover reason. */
32
+ onClose?: () => void;
33
+ /** Fires when the user clicks outside the popover. Not fired when disableCloseOnClickOutside is set. */
34
+ onClickOutside?: (e: globalThis.MouseEvent) => void;
35
+ /** Whether to hide the arrow/caret indicator. @default false */
36
+ disableCaret?: boolean;
37
+ /** Whether to remove default padding from the content area. @default false */
38
+ noPadding?: boolean;
39
+ /** Whether the popover width should match the trigger element width. @default false */
40
+ matchReferenceWidth?: boolean;
41
+ /** Whether the popover should have a fixed width of 40dvw. @default false */
42
+ fixedWidth?: boolean;
43
+ /** Fills available viewport height between the trigger and viewport edge. @default false */
44
+ fillAvailableHeight?: boolean;
45
+ /** Maximum height of the popover content. */
46
+ maxHeight?: number | string;
47
+ /** Constrains the popover to available viewport height. @default false */
48
+ fitScreen?: boolean;
49
+ /** Minimum height of the popover content. @default "2.875rem" */
50
+ minHeight?: number | string;
51
+ } & DisableCloseOnEscapeOrClickProps & OpenCloseTransitionStateEffects;
52
+ /**
53
+ * Role-specific props for `role="dialog"` (default).
54
+ *
55
+ * Only dialog popovers use `FloatingFocusManager` — focus moves into the content
56
+ * on open. The `modal`, `openOnHover`, and `delay` props are only meaningful
57
+ * in this context.
58
+ */
59
+ type DialogRoleProps = {
60
+ /**
61
+ * The ARIA role of the popup. Drives `aria-haspopup` on the trigger and
62
+ * `role` on the content via Floating UI's `useRole`.
63
+ *
64
+ * @default "dialog"
65
+ */
66
+ role?: "dialog";
67
+ /** Traps focus until closed (modal) or closes on Tab-out (non-modal). @default false */
68
+ modal?: boolean;
69
+ /**
70
+ * Whether the popover opens on hover instead of click. @default false
71
+ *
72
+ * @remarks
73
+ * Hover-triggered popovers should contain only readable text — no interactive
74
+ * elements (buttons, links, inputs). The content is intentionally removed from
75
+ * the tab order so Tab moves cleanly between page elements. Interactive content
76
+ * inside a hover-triggered popover is unreachable by keyboard users. Use a
77
+ * click-triggered popover (default) when the content includes interactive elements.
78
+ */
79
+ openOnHover?: boolean;
80
+ /** Delay in ms before opening on hover. @default 100 */
81
+ delay?: number;
82
+ };
83
+ /**
84
+ * Role-specific props for combobox popup roles (`listbox`, `tree`, `grid`).
85
+ *
86
+ * These roles follow the ARIA combobox pattern — focus stays on the trigger and
87
+ * the inner component (e.g. `Listbox`) owns the role and keyboard navigation.
88
+ * `FloatingFocusManager` is disabled. `modal`, `openOnHover`, and `delay` are
89
+ * not applicable and are excluded at the type level.
90
+ *
91
+ * @remarks
92
+ * Floating UI adds `role="combobox"` to the trigger element for these roles.
93
+ * The `combobox` ARIA role only accepts names from `aria-label` or
94
+ * `aria-labelledby` — visible text content is not used. Always provide an
95
+ * explicit `aria-label` on `Popover.Button` or your custom trigger.
96
+ *
97
+ * @example
98
+ * // ✅ Correct — explicit aria-label required for non-dialog roles
99
+ * <Popover role="listbox">
100
+ * <Popover.Button aria-label="Select an option">Open</Popover.Button>
101
+ * <Popover.Content>
102
+ * <Listbox>...</Listbox>
103
+ * </Popover.Content>
104
+ * </Popover>
105
+ */
106
+ type NonDialogRoleProps = {
107
+ /** The ARIA role of the popup. */
108
+ role: Exclude<PopoverRole, "dialog">;
109
+ modal?: never;
110
+ openOnHover?: never;
111
+ delay?: never;
112
+ };
113
+ type WithAutoPlacement = {
114
+ /**
115
+ * Uses `autoPlacement()` — picks the side with the most space. Pass
116
+ * a specific placement (e.g. `"bottom"`) to express a preferred side
117
+ * with `flip()` fallback instead.
118
+ */
119
+ placement?: "auto";
120
+ /** Sub-options for `autoPlacement()`. */
121
+ placementConfig?: PopoverAutoPlacementConfig;
122
+ };
123
+ type WithSpecificPlacement = {
124
+ /**
125
+ * Preferred placement relative to the trigger. Floating UI's `flip()`
126
+ * middleware will adapt to the opposite side if there is not enough space.
127
+ * Pass `"auto"` to let Floating UI pick the best side automatically.
128
+ *
129
+ * @default "bottom"
130
+ */
131
+ placement: Placement;
132
+ /** Sub-options for `flip()`. */
133
+ placementConfig?: PopoverFlipPlacementConfig;
134
+ };
135
+ /**
136
+ * Props for the beta Popover component.
137
+ *
138
+ * Two independent discriminated unions are combined:
139
+ * - **Role**: `role="dialog"` (default) enables `FloatingFocusManager` and accepts `modal`,
140
+ * `openOnHover`, and `delay`. Non-dialog roles (`listbox`, `tree`, `grid`) disable
141
+ * focus management — the inner component owns focus and keyboard navigation.
142
+ * - **Placement**: `placement="auto"` uses `autoPlacement()` and accepts
143
+ * `placementConfig.allowedPlacements`. Specific placements use `flip()` and accept
144
+ * `placementConfig.fallbackPlacements`.
145
+ *
146
+ * @extends DisableCloseOnEscapeOrClickProps
147
+ * @extends OpenCloseTransitionStateEffects
148
+ */
149
+ export type PopoverProps = (PopoverPropsBase & DialogRoleProps & WithAutoPlacement) | (PopoverPropsBase & DialogRoleProps & WithSpecificPlacement) | (PopoverPropsBase & NonDialogRoleProps & WithAutoPlacement) | (PopoverPropsBase & NonDialogRoleProps & WithSpecificPlacement);
150
+ /**
151
+ * Beta Popover component for displaying floating content relative to a trigger element.
152
+ *
153
+ * Built on three layers:
154
+ * - HTML Popover API (`popover="manual"`) for top-layer rendering without z-index management
155
+ * - Floating UI (`@floating-ui/react`) for JavaScript-based positioning
156
+ * - Floating UI interaction hooks for correct ARIA attributes and keyboard behavior
157
+ *
158
+ * Features:
159
+ * - Correct ARIA linkage: `aria-controls`, `aria-haspopup` with role string, `aria-expanded`
160
+ * - `FloatingFocusManager` for both modal (focus trapped) and non-modal (Tab-out closes)
161
+ * - `safePolygon()` hover zone replaces CSS `::before` hover bridge
162
+ * - `role` prop drives both `aria-haspopup` on trigger and `role` on content
163
+ * - Controlled and uncontrolled modes via `open` / `defaultOpen`
164
+ * - Imperative handle exposing `openPopover` and `closePopover`
165
+ * - Animation lifecycle callbacks via `onOpenAnimationStart` etc.
166
+ *
167
+ * @example
168
+ * <Popover>
169
+ * <Popover.Button>Open</Popover.Button>
170
+ * <Popover.Content>
171
+ * <p>Popover content</p>
172
+ * <Popover.Close>Close</Popover.Close>
173
+ * </Popover.Content>
174
+ * </Popover>
175
+ *
176
+ * @example
177
+ * <Popover modal>
178
+ * <Popover.Trigger>
179
+ * {(props) => <Button {...props}>Open form</Button>}
180
+ * </Popover.Trigger>
181
+ * <Popover.Content>
182
+ * <TextField label="Name" />
183
+ * <Popover.Close>Done</Popover.Close>
184
+ * </Popover.Content>
185
+ * </Popover>
186
+ *
187
+ * @example
188
+ * <Popover openOnHover role="dialog">
189
+ * <Popover.Button>Hover me</Popover.Button>
190
+ * <Popover.Content>Hover content</Popover.Content>
191
+ * </Popover>
192
+ */
193
+ export declare const Popover: import('react').ForwardRefExoticComponent<PopoverProps & import('react').RefAttributes<unknown>> & {
194
+ /**
195
+ * PopoverTrigger component for creating custom trigger elements.
196
+ *
197
+ * Features:
198
+ * - Render prop pattern for full control over the trigger element
199
+ * - ARIA attributes and event handlers injected via getReferenceProps
200
+ *
201
+ * @example
202
+ * <Popover.Trigger>
203
+ * {(props) => (
204
+ * <Button {...props}>
205
+ * Click to open popover
206
+ * </Button>
207
+ * )}
208
+ * </Popover.Trigger>
209
+ */
210
+ Trigger: typeof PopoverTrigger;
211
+ /**
212
+ * PopoverContent component for the main popover content area.
213
+ *
214
+ * Features:
215
+ * - HTML Popover API top-layer rendering (popover="manual")
216
+ * - Floating UI positioning via refs.setFloating and floatingStyles
217
+ * - FloatingFocusManager for focus trapping (modal) or Tab-out closing (non-modal)
218
+ * - Arrow/caret indicator with position computed from middlewareData.arrow
219
+ * - Scroll position reset when the popover opens
220
+ * - Optional scrollerRef for external scroll access
221
+ *
222
+ * @example
223
+ * <Popover.Content>
224
+ * <p>Popover content</p>
225
+ * <Popover.Close>Close</Popover.Close>
226
+ * </Popover.Content>
227
+ */
228
+ Content: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "popover"> & {
229
+ scrollerRef?: import('react').RefObject<HTMLDivElement>;
230
+ hideWhileClosed?: boolean;
231
+ } & import('react').RefAttributes<HTMLDivElement>>;
232
+ /**
233
+ * PopoverClose component for closing the popover.
234
+ *
235
+ * Features:
236
+ * - Supports all Button component props and styling
237
+ * - Closes the popover on click via closePopover
238
+ * - Automatic tracking ID generation for analytics
239
+ *
240
+ * @example
241
+ * <Popover.Close>Close</Popover.Close>
242
+ *
243
+ * @example
244
+ * <Popover.Close appearance="secondary" size="small">
245
+ * Cancel
246
+ * </Popover.Close>
247
+ */
248
+ Close: import('react').ForwardRefExoticComponent<import('./PopoverClose').PopoverCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
249
+ /**
250
+ * PopoverButton component for creating button-style triggers.
251
+ *
252
+ * Features:
253
+ * - Button styling and behavior with all Button props
254
+ * - ARIA attributes and event handlers injected via getReferenceProps
255
+ * - Automatic tracking ID generation for analytics
256
+ *
257
+ * @example
258
+ * <Popover.Button>Click to open</Popover.Button>
259
+ *
260
+ * @example
261
+ * <Popover.Button appearance="primary" size="large" icon={InfoIcon}>
262
+ * Information
263
+ * </Popover.Button>
264
+ */
265
+ Button: import('react').ForwardRefExoticComponent<import('./PopoverButton').PopoverButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
266
+ };
267
+ export {};
@@ -0,0 +1,24 @@
1
+ import { ButtonProps } from '../../../components/Button';
2
+ import { DataTrackingId } from '../../../types';
3
+ /**
4
+ * Props for the PopoverButton component.
5
+ * @extends ButtonProps
6
+ */
7
+ export type PopoverButtonProps = ButtonProps & DataTrackingId;
8
+ /**
9
+ * PopoverButton component for creating button-style triggers.
10
+ *
11
+ * Features:
12
+ * - Button styling and behavior with all Button props
13
+ * - ARIA attributes and event handlers injected via getReferenceProps
14
+ * - Automatic tracking ID generation for analytics
15
+ *
16
+ * @example
17
+ * <Popover.Button>Click to open</Popover.Button>
18
+ *
19
+ * @example
20
+ * <Popover.Button appearance="primary" size="large" icon={InfoIcon}>
21
+ * Information
22
+ * </Popover.Button>
23
+ */
24
+ export declare const PopoverButton: import('react').ForwardRefExoticComponent<PopoverButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,24 @@
1
+ import { ButtonProps } from '../../../components/Button';
2
+ import { DataTrackingId } from '../../../types';
3
+ /**
4
+ * Props for the PopoverClose component.
5
+ * @extends ButtonProps
6
+ */
7
+ export type PopoverCloseProps = ButtonProps & DataTrackingId;
8
+ /**
9
+ * PopoverClose component for closing the popover.
10
+ *
11
+ * Features:
12
+ * - Supports all Button component props and styling
13
+ * - Closes the popover on click via closePopover
14
+ * - Automatic tracking ID generation for analytics
15
+ *
16
+ * @example
17
+ * <Popover.Close>Close</Popover.Close>
18
+ *
19
+ * @example
20
+ * <Popover.Close appearance="secondary" size="small">
21
+ * Cancel
22
+ * </Popover.Close>
23
+ */
24
+ export declare const PopoverClose: import('react').ForwardRefExoticComponent<PopoverCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,34 @@
1
+ import { ComponentPropsWithoutRef, HTMLAttributes, RefObject } from 'react';
2
+ /**
3
+ * Props for the PopoverContent component.
4
+ * @extends ComponentPropsWithoutRef<"div">
5
+ */
6
+ export type PopoverContentProps = Omit<ComponentPropsWithoutRef<"div">, "popover"> & {
7
+ /** Reference to the scrollable content area. */
8
+ scrollerRef?: RefObject<HTMLDivElement>;
9
+ /** Whether to unmount children from the DOM while the popover is closed. Useful for performance when the content is expensive to render. */
10
+ hideWhileClosed?: boolean;
11
+ };
12
+ /**
13
+ * PopoverContent component for the main popover content area.
14
+ *
15
+ * Features:
16
+ * - HTML Popover API top-layer rendering (popover="manual")
17
+ * - Floating UI positioning via refs.setFloating and floatingStyles
18
+ * - FloatingFocusManager for focus trapping (modal) or Tab-out closing (non-modal)
19
+ * - Arrow/caret indicator with position computed from middlewareData.arrow
20
+ * - Scroll position reset when the popover opens
21
+ * - Optional scrollerRef for external scroll access
22
+ *
23
+ * @example
24
+ * <Popover.Content>
25
+ * <p>Popover content</p>
26
+ * <Popover.Close>Close</Popover.Close>
27
+ * </Popover.Content>
28
+ */
29
+ export declare const PopoverContent: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "popover"> & {
30
+ /** Reference to the scrollable content area. */
31
+ scrollerRef?: RefObject<HTMLDivElement>;
32
+ /** Whether to unmount children from the DOM while the popover is closed. Useful for performance when the content is expensive to render. */
33
+ hideWhileClosed?: boolean;
34
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,46 @@
1
+ import { AriaAttributes, ReactElement, MouseEvent, KeyboardEvent, FocusEvent } from 'react';
2
+ /** Props passed to the PopoverTrigger render function. */
3
+ type PopoverTriggerChildrenProps = {
4
+ ref: (node: Element | null) => void;
5
+ id: string;
6
+ "aria-controls"?: string;
7
+ "aria-haspopup"?: AriaAttributes["aria-haspopup"];
8
+ "aria-expanded"?: boolean;
9
+ "data-state": "open" | "closed";
10
+ onClick?: (e: MouseEvent) => void;
11
+ onKeyDown?: (e: KeyboardEvent) => void;
12
+ onMouseEnter?: (e: MouseEvent) => void;
13
+ onMouseLeave?: (e: MouseEvent) => void;
14
+ onFocus?: (e: FocusEvent) => void;
15
+ onBlur?: (e: FocusEvent) => void;
16
+ };
17
+ /**
18
+ * Props for the PopoverTrigger component.
19
+ */
20
+ export type PopoverTriggerProps = {
21
+ /**
22
+ * Render function that receives trigger props and returns a React element.
23
+ */
24
+ children: (props: PopoverTriggerChildrenProps) => ReactElement;
25
+ };
26
+ /**
27
+ * PopoverTrigger component for creating custom trigger elements.
28
+ *
29
+ * Features:
30
+ * - Render prop pattern for full control over the trigger element
31
+ * - ARIA attributes and event handlers injected via getReferenceProps
32
+ *
33
+ * @example
34
+ * <Popover.Trigger>
35
+ * {(props) => (
36
+ * <Button {...props}>
37
+ * Click to open popover
38
+ * </Button>
39
+ * )}
40
+ * </Popover.Trigger>
41
+ */
42
+ export declare function PopoverTrigger(props: PopoverTriggerProps): ReactElement<any, string | import('react').JSXElementConstructor<any>>;
43
+ export declare namespace PopoverTrigger {
44
+ var displayName: string;
45
+ }
46
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './Popover';
2
+ export { type PopoverButtonProps } from './PopoverButton';
3
+ export { type PopoverCloseProps } from './PopoverClose';
4
+ export { type PopoverContentProps } from './PopoverContent';
5
+ export { type PopoverTriggerProps } from './PopoverTrigger';
6
+ export { Popover as default } from './Popover';
@@ -0,0 +1,45 @@
1
+ import { CSSProperties, RefObject, HTMLProps } from 'react';
2
+ import { FloatingContext, MiddlewareData, Placement } from '@floating-ui/react';
3
+ import { PopoverRole } from '../Popover';
4
+ export type PopoverContextProps = {
5
+ /** Context object from useFloating; required by FloatingFocusManager and interaction hooks. */
6
+ floatingContext: FloatingContext;
7
+ /** Callback refs from useFloating; setReference for the trigger, setFloating for the content. */
8
+ refs: {
9
+ setReference: (node: Element | null) => void;
10
+ setFloating: (node: HTMLElement | null) => void;
11
+ };
12
+ /** Inline positioning styles from useFloating; applied to the content element. */
13
+ floatingStyles: CSSProperties;
14
+ /** Middleware output from useFloating; used for arrow positioning via middlewareData.arrow. */
15
+ middlewareData: MiddlewareData;
16
+ /** Merged prop getter for the trigger; spreads ARIA attributes and event handlers. */
17
+ getReferenceProps: (userProps?: HTMLProps<Element>) => Record<string, unknown>;
18
+ /** Merged prop getter for the content; spreads ARIA attributes and event handlers. */
19
+ getFloatingProps: (userProps?: HTMLProps<HTMLElement>) => Record<string, unknown>;
20
+ /** Auto-generated id for the trigger element; used as the default aria-labelledby on content. */
21
+ triggerId: string;
22
+ /** Current open/closed state. */
23
+ openState: boolean;
24
+ /** Opens the popover. */
25
+ openPopover: () => void;
26
+ /** Closes the popover. Fires onClose unless opened via hover. */
27
+ closePopover: () => void;
28
+ /** Whether the open state is externally controlled. */
29
+ controlled: boolean;
30
+ /** Resolved placement after flip/shift middleware; may differ from the placement prop. */
31
+ actualPlacement: Placement;
32
+ /** Ref attached to the arrow span element inside PopoverContent. */
33
+ arrowRef: RefObject<HTMLSpanElement>;
34
+ /** Whether the popover traps focus (modal) or closes on Tab-out (non-modal). Only applies when role is "dialog". */
35
+ modal?: boolean;
36
+ /** Whether the popover opens on hover/focus instead of click. Only applies when role is "dialog". */
37
+ openOnHover: boolean;
38
+ /** Whether to remove default padding from the content area. */
39
+ noPadding?: boolean;
40
+ /** Whether to hide the arrow/caret indicator. */
41
+ disableCaret?: boolean;
42
+ /** The ARIA role of the popup. Drives FloatingFocusManager and ARIA attribute behavior. */
43
+ role: PopoverRole;
44
+ };
45
+ export declare const PopoverContext: import('react').Context<PopoverContextProps | null>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns the PopoverContext for use within Popover compound components.
3
+ * @returns The current PopoverContextProps value.
4
+ * @throws Error if called outside a Popover component.
5
+ */
6
+ export declare function usePopoverContext(): import('./PopoverContext').PopoverContextProps;
@@ -0,0 +1,13 @@
1
+ import { SelectItem, GetItemPropsFn } from '../types/selectFieldInternalTypes';
2
+ import { CheckState } from '../../types';
3
+ export type SelectOptionProps = {
4
+ item: SelectItem;
5
+ index: number;
6
+ highlighted: boolean;
7
+ disabled: boolean;
8
+ getItemProps: GetItemPropsFn;
9
+ selectionType: "single" | "multiple";
10
+ checked: CheckState;
11
+ isListScrolled?: boolean;
12
+ };
13
+ export declare const SelectOption: ({ item, index, highlighted, disabled, getItemProps, selectionType, checked, isListScrolled, }: SelectOptionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { SelectFieldOption } from '../../beta/components/SelectField/types';
2
+ import { CSSProperties } from 'react';
3
+ import { OptionsPanelHandle } from './OptionsPanel';
4
+ import { GetItemPropsFn, GetMenuPropsFn, SectionMeta, SelectItem } from '../types/selectFieldInternalTypes';
5
+ export type SelectOptionsProps = {
6
+ isOpen: boolean;
7
+ items: SelectItem[];
8
+ getMenuProps: GetMenuPropsFn;
9
+ getItemProps: GetItemPropsFn;
10
+ highlightedIndex: number;
11
+ selectedOption: SelectFieldOption | null;
12
+ hasMore: boolean;
13
+ onLoadMore: () => void;
14
+ loading: boolean;
15
+ loadingMore: boolean;
16
+ disableAutoLoadMore?: boolean;
17
+ disabled?: boolean;
18
+ className?: string;
19
+ style?: CSSProperties;
20
+ sectionsMeta?: SectionMeta[];
21
+ virtualize?: boolean;
22
+ };
23
+ export declare const SelectOptions: import('react').ForwardRefExoticComponent<SelectOptionsProps & import('react').RefAttributes<OptionsPanelHandle>>;
@@ -0,0 +1,2 @@
1
+ import { OptionsPanelProps, OptionsPanelHandle } from './OptionsPanel';
2
+ export declare const VirtualizedOptionsPanel: import('react').ForwardRefExoticComponent<OptionsPanelProps & import('react').RefAttributes<OptionsPanelHandle>>;
@@ -0,0 +1,22 @@
1
+ import { SelectFieldOption } from '../../beta/components/SelectField/types';
2
+ import { SectionMeta, SelectItem } from '../types/selectFieldInternalTypes';
3
+ import { NormalizedPinnedSection } from '../hooks/usePinnedOptions';
4
+ import { NormalizedGroupSection } from '../hooks/useGroupedOptions';
5
+ export declare function toSelectItem(option: SelectFieldOption): SelectItem;
6
+ type BuildSelectItemsParams = {
7
+ prefixItems?: SelectItem[];
8
+ pinnedSections: NormalizedPinnedSection[];
9
+ groupSections: NormalizedGroupSection[];
10
+ ungroupedItems: SelectItem[];
11
+ };
12
+ /**
13
+ * Assembles the flat items array and sectionsMeta.
14
+ * Order: prefixItems → pinned sections → group sections → ungrouped items.
15
+ * Multi-select hooks pass bulk action items (select-all / select-filtered) as prefixItems;
16
+ * single-select hooks omit it.
17
+ */
18
+ export declare function buildSelectItems({ prefixItems, pinnedSections, groupSections, ungroupedItems, }: BuildSelectItemsParams): {
19
+ items: SelectItem[];
20
+ sectionsMeta: SectionMeta[];
21
+ };
22
+ export {};
@@ -0,0 +1,10 @@
1
+ import { MatchSorterOptions } from 'match-sorter';
2
+ import { SelectFieldOption, SelectFieldGroupByValue } from '../../beta/components/SelectField/types';
3
+ export type SyncFilterFn<T extends SelectFieldOption = SelectFieldOption> = (options: T[], searchValue: string) => T[];
4
+ export declare const defaultSyncFilter: SyncFilterFn;
5
+ export declare const toSyncFilterFn: <T extends SelectFieldOption = SelectFieldOption>(filter: SyncFilterFn<T> | MatchSorterOptions<T>) => SyncFilterFn<T>;
6
+ /**
7
+ * Sorts options by group using the provided comparator while maintaining
8
+ * the original order within each group (stable sort).
9
+ */
10
+ export declare const sortByGroup: <T extends SelectFieldOption = SelectFieldOption>(options: T[], groupSorter: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number) => T[];
@@ -1,4 +1,5 @@
1
- import { SelectFieldDownshiftItem, SelectFieldGroupByValue, SelectFieldOption } from '../types';
1
+ import { SelectFieldGroupByValue, SelectFieldOption } from '../../beta/components/SelectField/types';
2
+ import { SelectItem } from '../types/selectFieldInternalTypes';
2
3
  /**
3
4
  * Normalized group section structure used internally.
4
5
  * @property label - The group label (derived from groupToString or String(groupValue))
@@ -10,9 +11,9 @@ export type NormalizedGroupSection = {
10
11
  };
11
12
  type UseGroupedOptionsResult = {
12
13
  /** Options that have a group property, converted to downshift items */
13
- groupedItems: SelectFieldDownshiftItem[];
14
+ groupedItems: SelectItem[];
14
15
  /** Options that don't have a group property, converted to downshift items */
15
- ungroupedItems: SelectFieldDownshiftItem[];
16
+ ungroupedItems: SelectItem[];
16
17
  /** Metadata about each group section for rendering */
17
18
  groupSections: NormalizedGroupSection[];
18
19
  };
@@ -1,7 +1,6 @@
1
- import { SelectFieldDownshiftItem } from '../types';
2
- import { SectionMeta } from './types';
1
+ import { SectionMeta, SelectItem } from '../types/selectFieldInternalTypes';
3
2
  export type SectionItem = {
4
- item: SelectFieldDownshiftItem;
3
+ item: SelectItem;
5
4
  index: number;
6
5
  };
7
6
  export type PinnedSection = {
@@ -22,8 +21,8 @@ export type FlatSection = {
22
21
  export type Section = PinnedSection | GroupSection | FlatSection;
23
22
  export type VirtualRow = {
24
23
  type: "item";
25
- item: SelectFieldDownshiftItem;
26
- downshiftIndex: number;
24
+ item: SelectItem;
25
+ index: number;
27
26
  } | {
28
27
  type: "header";
29
28
  label: string;
@@ -36,15 +35,15 @@ export type VirtualRow = {
36
35
  };
37
36
  /**
38
37
  * Computes grouped sections from a flat items array and section metadata.
39
- * @param items - The flat downshift items array
38
+ * @param items - The flat items array
40
39
  * @param sectionsMeta - Section metadata describing pinned/group ranges
41
40
  * @returns Grouped sections for rendering
42
41
  */
43
- export declare const useFieldListSections: (items: SelectFieldDownshiftItem[], sectionsMeta: SectionMeta[]) => Section[];
42
+ export declare const useOptionsSections: (items: SelectItem[], sectionsMeta: SectionMeta[]) => Section[];
44
43
  /**
45
44
  * Flattens grouped sections into a linear list of virtual rows for virtualization,
46
45
  * and builds a mapping from downshift item index to virtual row index.
47
- * @param sections - The grouped sections from useFieldListSections
46
+ * @param sections - The grouped sections from useOptionsSections
48
47
  * @param hasMore - Whether there are more items to load
49
48
  * @returns The flat virtual row list and a downshift-to-virtual index mapping
50
49
  */
@@ -1,4 +1,4 @@
1
- import { SelectFieldOption, SelectFieldPinnedOptions } from '../types';
1
+ import { SelectFieldOption, SelectFieldPinnedOptions } from '../../beta/components/SelectField/types';
2
2
  /**
3
3
  * Normalized pinned section structure used internally.
4
4
  * @property label - Section label (e.g., "Recent", "Favorites")
@@ -1,4 +1,4 @@
1
- import { SelectFieldGroupByValue, SelectFieldOption, SelectFieldPinnedOptions } from '../types';
1
+ import { SelectFieldGroupByValue, SelectFieldOption, SelectFieldPinnedOptions } from '../../beta/components/SelectField/types';
2
2
  type UseProcessedOptionsParams = {
3
3
  options: SelectFieldOption[];
4
4
  pinned?: SelectFieldPinnedOptions;
@@ -13,7 +13,7 @@ type UseProcessedOptionsParams = {
13
13
  */
14
14
  export declare const useProcessedOptions: ({ options, pinned, searchValue, groupToString, groupSorter, }: UseProcessedOptionsParams) => {
15
15
  pinnedSections: import('./usePinnedOptions').NormalizedPinnedSection[];
16
- ungroupedItems: import('..').SelectFieldDownshiftItem[];
16
+ ungroupedItems: import('../types/selectFieldInternalTypes').SelectItem[];
17
17
  groupSections: import('./useGroupedOptions').NormalizedGroupSection[];
18
18
  };
19
19
  export {};
@@ -0,0 +1,38 @@
1
+ import { ForwardedRef } from 'react';
2
+ export type UseSelectOrchestrationConfig = {
3
+ lazy: false | "page" | "offset" | "group" | undefined;
4
+ loadOptions: any;
5
+ cache?: {
6
+ enabled?: boolean;
7
+ maxSize?: number;
8
+ };
9
+ lazyOptions?: {
10
+ pageSize?: number;
11
+ limit?: number;
12
+ };
13
+ initialLoad?: "auto" | "immediate" | "open";
14
+ displayMenuAs?: "auto" | "popover" | "dialog";
15
+ ref: ForwardedRef<{
16
+ clearCache: () => void;
17
+ invalidate: () => void;
18
+ }>;
19
+ };
20
+ /**
21
+ * Shared orchestration hook used by Select components
22
+ * Centralizes adaptive view resolution, loading config construction, option loading lifecycle,
23
+ * and imperative handle setup (clearCache/invalidate).
24
+ */
25
+ export declare function useSelectOrchestration(config: UseSelectOrchestrationConfig): {
26
+ displayAs: "popover" | "dialog";
27
+ initialLoad: "open" | "immediate";
28
+ initialLoadPerformed: boolean;
29
+ setInitialLoadPerformed: import('react').Dispatch<import('react').SetStateAction<boolean>>;
30
+ options: import('../../beta').SelectFieldOption[];
31
+ loading: boolean;
32
+ loadingMore: boolean;
33
+ hasMore: boolean;
34
+ loadOptions: (searchValue: string, options?: {
35
+ initial?: boolean;
36
+ }) => Promise<void>;
37
+ loadMore: (searchValue: string) => Promise<void>;
38
+ };