@servicetitan/anvil2 2.9.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/{AiMark-DR-w6Nbm.js → AiMark-B1-M3ZgP.js} +26 -25
  3. package/dist/{AiMark-DR-w6Nbm.js.map → AiMark-B1-M3ZgP.js.map} +1 -1
  4. package/dist/AiMark.css +246 -256
  5. package/dist/AiMark.js +1 -1
  6. package/dist/{Alert-Dj61Bq8h.js → Alert-DmbqtMg_.js} +20 -31
  7. package/dist/Alert-DmbqtMg_.js.map +1 -0
  8. package/dist/Alert.css +72 -90
  9. package/dist/Alert.js +1 -1
  10. package/dist/{Announcement-B9zm-_1S.js → Announcement-_C5g2Lzm.js} +14 -14
  11. package/dist/{Announcement-B9zm-_1S.js.map → Announcement-_C5g2Lzm.js.map} +1 -1
  12. package/dist/Announcement.css +108 -97
  13. package/dist/Announcement.js +1 -1
  14. package/dist/{AnvilProvider-DUPYyMc7.js → AnvilProvider-JXEbeQjR.js} +13 -8
  15. package/dist/AnvilProvider-JXEbeQjR.js.map +1 -0
  16. package/dist/AnvilProvider.js +1 -1
  17. package/dist/{Avatar-BckUfs1N.js → Avatar-B4hRHku9.js} +23 -23
  18. package/dist/Avatar-B4hRHku9.js.map +1 -0
  19. package/dist/{Avatar-ChybzixS.js → Avatar-NbFc4Ovc.js} +2 -2
  20. package/dist/{Avatar-ChybzixS.js.map → Avatar-NbFc4Ovc.js.map} +1 -1
  21. package/dist/Avatar.css +116 -177
  22. package/dist/Avatar.js +2 -2
  23. package/dist/{Badge-C2W7Dls9.js → Badge-C_wTvtnB.js} +7 -7
  24. package/dist/{Badge-C2W7Dls9.js.map → Badge-C_wTvtnB.js.map} +1 -1
  25. package/dist/Badge.css +42 -50
  26. package/dist/Badge.js +1 -1
  27. package/dist/{Breadcrumbs-ojgYVZwe.js → Breadcrumbs-CYmciJ1D.js} +7 -7
  28. package/dist/{Breadcrumbs-ojgYVZwe.js.map → Breadcrumbs-CYmciJ1D.js.map} +1 -1
  29. package/dist/Breadcrumbs.css +37 -45
  30. package/dist/Breadcrumbs.js +1 -1
  31. package/dist/{Button-BdrrhBTI.js → Button-Bnt8XUI7.js} +13 -10
  32. package/dist/{Button-BdrrhBTI.js.map → Button-Bnt8XUI7.js.map} +1 -1
  33. package/dist/Button.css +274 -335
  34. package/dist/Button.js +1 -1
  35. package/dist/Button.module-DsGhJYRw.js +23 -0
  36. package/dist/Button.module-DsGhJYRw.js.map +1 -0
  37. package/dist/{ButtonCompound-Cmw3cgMY.js → ButtonCompound-DsrK7G3q.js} +11 -4
  38. package/dist/ButtonCompound-DsrK7G3q.js.map +1 -0
  39. package/dist/ButtonCompound.css +25 -0
  40. package/dist/ButtonCompound.js +1 -1
  41. package/dist/{ButtonLink-BJKTJER8.js → ButtonLink-j3h_wRNi.js} +9 -6
  42. package/dist/ButtonLink-j3h_wRNi.js.map +1 -0
  43. package/dist/ButtonLink.js +1 -1
  44. package/dist/{ButtonToggle-DaFQ3DBG.js → ButtonToggle-Ct9_5bhC.js} +7 -4
  45. package/dist/ButtonToggle-Ct9_5bhC.js.map +1 -0
  46. package/dist/ButtonToggle.css +109 -0
  47. package/dist/ButtonToggle.js +1 -1
  48. package/dist/{Calendar-Cka4unyi.js → Calendar-BAbAagIx.js} +2 -2
  49. package/dist/{Calendar-Cka4unyi.js.map → Calendar-BAbAagIx.js.map} +1 -1
  50. package/dist/{Calendar-Dxl9QnfP.js → Calendar-CaCMa_jq.js} +38 -35
  51. package/dist/Calendar-CaCMa_jq.js.map +1 -0
  52. package/dist/Calendar.css +250 -301
  53. package/dist/Calendar.js +2 -2
  54. package/dist/{Card-wz71dEVA.js → Card-DSFuXUGk.js} +11 -11
  55. package/dist/{Card-wz71dEVA.js.map → Card-DSFuXUGk.js.map} +1 -1
  56. package/dist/Card.css +51 -65
  57. package/dist/Card.js +1 -1
  58. package/dist/{Checkbox-B-XTVPbX.js → Checkbox-BSAS8-DM.js} +28 -39
  59. package/dist/Checkbox-BSAS8-DM.js.map +1 -0
  60. package/dist/{Checkbox-Cw1-KFvq.js → Checkbox-Ckl8EFpF.js} +2 -2
  61. package/dist/{Checkbox-Cw1-KFvq.js.map → Checkbox-Ckl8EFpF.js.map} +1 -1
  62. package/dist/Checkbox.css +237 -271
  63. package/dist/Checkbox.js +1 -1
  64. package/dist/Checkbox.module-TYMeYIxw.js +28 -0
  65. package/dist/Checkbox.module-TYMeYIxw.js.map +1 -0
  66. package/dist/{Chip-Ce0WGKAc.js → Chip-CR5i8mQW.js} +31 -23
  67. package/dist/Chip-CR5i8mQW.js.map +1 -0
  68. package/dist/Chip.css +191 -206
  69. package/dist/Chip.js +1 -1
  70. package/dist/{Combobox-CNQUROyr.js → Combobox-BffGTugd.js} +59 -72
  71. package/dist/Combobox-BffGTugd.js.map +1 -0
  72. package/dist/Combobox.css +158 -176
  73. package/dist/Combobox.js +1 -1
  74. package/dist/{DataTable-JRxu2yTP.js → DataTable-D9Xj1nq5.js} +73 -72
  75. package/dist/{DataTable-JRxu2yTP.js.map → DataTable-D9Xj1nq5.js.map} +1 -1
  76. package/dist/DataTable.css +593 -780
  77. package/dist/{DateFieldRange-D2hnF50O.js → DateFieldRange-DPTC3EZz.js} +6 -6
  78. package/dist/{DateFieldRange-D2hnF50O.js.map → DateFieldRange-DPTC3EZz.js.map} +1 -1
  79. package/dist/DateFieldRange.js +1 -1
  80. package/dist/{DateFieldSingle-BuaB7RDr.js → DateFieldSingle-w1G-zd9G.js} +6 -6
  81. package/dist/{DateFieldSingle-BuaB7RDr.js.map → DateFieldSingle-w1G-zd9G.js.map} +1 -1
  82. package/dist/DateFieldSingle.js +1 -1
  83. package/dist/{DateFieldYearless-DLeMEutt.js → DateFieldYearless-DHNVc7Sd.js} +7 -7
  84. package/dist/{DateFieldYearless-DLeMEutt.js.map → DateFieldYearless-DHNVc7Sd.js.map} +1 -1
  85. package/dist/DateFieldYearless.js +1 -1
  86. package/dist/{DateFieldYearlessRange-BfPuYKKC.js → DateFieldYearlessRange-C5ktVUgG.js} +10 -10
  87. package/dist/{DateFieldYearlessRange-BfPuYKKC.js.map → DateFieldYearlessRange-C5ktVUgG.js.map} +1 -1
  88. package/dist/DateFieldYearlessRange.css +11 -19
  89. package/dist/DateFieldYearlessRange.js +1 -1
  90. package/dist/{DaysOfTheWeek-BW1T8sTU.js → DaysOfTheWeek-BubWkBZ0.js} +10 -10
  91. package/dist/{DaysOfTheWeek-BW1T8sTU.js.map → DaysOfTheWeek-BubWkBZ0.js.map} +1 -1
  92. package/dist/DaysOfTheWeek.css +19 -27
  93. package/dist/DaysOfTheWeek.js +1 -1
  94. package/dist/{Details-CZOIpNP_.js → Details-DYRJcLWL.js} +10 -10
  95. package/dist/{Details-CZOIpNP_.js.map → Details-DYRJcLWL.js.map} +1 -1
  96. package/dist/Details.css +134 -138
  97. package/dist/Details.js +1 -1
  98. package/dist/{Dialog-Cewu2pd_.js → Dialog-DGmF6qx3.js} +27 -26
  99. package/dist/Dialog-DGmF6qx3.js.map +1 -0
  100. package/dist/Dialog.css +108 -143
  101. package/dist/Dialog.js +1 -1
  102. package/dist/{DialogCancelButton-Czz4Wpse.js → DialogCancelButton-CbtQcf2J.js} +2 -2
  103. package/dist/{DialogCancelButton-Czz4Wpse.js.map → DialogCancelButton-CbtQcf2J.js.map} +1 -1
  104. package/dist/{Divider-B1UoK8ho.js → Divider-Ds3WKsKa.js} +19 -19
  105. package/dist/{Divider-B1UoK8ho.js.map → Divider-Ds3WKsKa.js.map} +1 -1
  106. package/dist/Divider.css +93 -169
  107. package/dist/Divider.js +1 -1
  108. package/dist/Dnd.js +1 -1
  109. package/dist/DndSort.css +18 -34
  110. package/dist/DndSort.js +10 -10
  111. package/dist/{Drawer-Cb5asXWf.js → Drawer-iewBy1DW.js} +24 -25
  112. package/dist/{Drawer-Cb5asXWf.js.map → Drawer-iewBy1DW.js.map} +1 -1
  113. package/dist/Drawer.css +109 -144
  114. package/dist/Drawer.js +1 -1
  115. package/dist/DrillDown.css +117 -131
  116. package/dist/DrillDown.js +1 -1
  117. package/dist/DrillDown.module-D1Bf9_yP.js +27 -0
  118. package/dist/{DrillDown.module-C8VOhzaF.js.map → DrillDown.module-D1Bf9_yP.js.map} +1 -1
  119. package/dist/{EditCard-DlJE3LXN.js → EditCard-D7-Ye7R0.js} +21 -20
  120. package/dist/{EditCard-DlJE3LXN.js.map → EditCard-D7-Ye7R0.js.map} +1 -1
  121. package/dist/EditCard.css +71 -65
  122. package/dist/EditCard.js +1 -1
  123. package/dist/{FieldLabel-HO2VP-4B.js → FieldLabel-DZWu5dMp.js} +17 -17
  124. package/dist/{FieldLabel-HO2VP-4B.js.map → FieldLabel-DZWu5dMp.js.map} +1 -1
  125. package/dist/FieldLabel.css +66 -102
  126. package/dist/FieldLabel.js +1 -1
  127. package/dist/FieldMessage-DzxfodaI.js +81 -0
  128. package/dist/FieldMessage-DzxfodaI.js.map +1 -0
  129. package/dist/FieldMessage.css +20 -29
  130. package/dist/FieldMessage.js +1 -1
  131. package/dist/{Flex-WyyZm1bf.js → Flex-DOUtHiPi.js} +4 -4
  132. package/dist/{Flex-WyyZm1bf.js.map → Flex-DOUtHiPi.js.map} +1 -1
  133. package/dist/Flex.css +25 -28
  134. package/dist/Flex.js +1 -1
  135. package/dist/{Grid-DeYIx5k4.js → Grid-B1VVssDD.js} +5 -5
  136. package/dist/{Grid-DeYIx5k4.js.map → Grid-B1VVssDD.js.map} +1 -1
  137. package/dist/Grid.css +37 -54
  138. package/dist/Grid.js +1 -1
  139. package/dist/{Helper-B_FIOlhy.js → Helper-DtDeaYTn.js} +8 -10
  140. package/dist/Helper-DtDeaYTn.js.map +1 -0
  141. package/dist/Helper.css +4 -16
  142. package/dist/{Icon-DuIlne4x.js → Icon-BMMbp40n.js} +7 -7
  143. package/dist/{Icon-DuIlne4x.js.map → Icon-BMMbp40n.js.map} +1 -1
  144. package/dist/Icon.css +42 -48
  145. package/dist/Icon.js +1 -1
  146. package/dist/{InputMask-CLLTehFI.js → InputMask-EwEJlW-t.js} +3 -3
  147. package/dist/{InputMask-CLLTehFI.js.map → InputMask-EwEJlW-t.js.map} +1 -1
  148. package/dist/InputMask.js +1 -1
  149. package/dist/{InteractiveCard-GTYbR6Xy.js → InteractiveCard-CnW0m_F-.js} +7 -7
  150. package/dist/{InteractiveCard-GTYbR6Xy.js.map → InteractiveCard-CnW0m_F-.js.map} +1 -1
  151. package/dist/InteractiveCard.css +56 -57
  152. package/dist/InteractiveCard.js +1 -1
  153. package/dist/{Layout-CISAxILX.js → Layout-C2Q2hyLG.js} +80 -80
  154. package/dist/{Layout-CISAxILX.js.map → Layout-C2Q2hyLG.js.map} +1 -1
  155. package/dist/Layout.css +260 -324
  156. package/dist/Layout.js +1 -1
  157. package/dist/{Link-jTvzyXca.js → Link-BUgivkGS.js} +8 -8
  158. package/dist/{Link-jTvzyXca.js.map → Link-BUgivkGS.js.map} +1 -1
  159. package/dist/Link.css +48 -65
  160. package/dist/Link.js +1 -1
  161. package/dist/Link.module-DJc0cOlg.js +12 -0
  162. package/dist/Link.module-DJc0cOlg.js.map +1 -0
  163. package/dist/{LinkButton-DGyHR1E7.js → LinkButton-CuHSdGdj.js} +7 -16
  164. package/dist/LinkButton-CuHSdGdj.js.map +1 -0
  165. package/dist/LinkButton.js +1 -1
  166. package/dist/{List--KhCpjZn.js → List-BXyHWQ9e.js} +8 -8
  167. package/dist/{List--KhCpjZn.js.map → List-BXyHWQ9e.js.map} +1 -1
  168. package/dist/List.css +39 -58
  169. package/dist/List.js +1 -1
  170. package/dist/{ListView-CPi-qG2w.js → ListView-DBO9Bl1H.js} +4 -4
  171. package/dist/{ListView-CPi-qG2w.js.map → ListView-DBO9Bl1H.js.map} +1 -1
  172. package/dist/ListView.css +108 -120
  173. package/dist/ListView.js +1 -1
  174. package/dist/ListView.module-CRk9NfLG.js +9 -0
  175. package/dist/ListView.module-CRk9NfLG.js.map +1 -0
  176. package/dist/{Listbox-Bp4hqIpH.js → Listbox-DDlxpVu9.js} +7 -7
  177. package/dist/{Listbox-Bp4hqIpH.js.map → Listbox-DDlxpVu9.js.map} +1 -1
  178. package/dist/Listbox.css +102 -143
  179. package/dist/Listbox.js +1 -1
  180. package/dist/Listbox.module-CfpLm9pS.js +18 -0
  181. package/dist/Listbox.module-CfpLm9pS.js.map +1 -0
  182. package/dist/{LocalizationProvider-DWCyga_d.js → LocalizationProvider-CO8fQGqs.js} +2 -2
  183. package/dist/{LocalizationProvider-DWCyga_d.js.map → LocalizationProvider-CO8fQGqs.js.map} +1 -1
  184. package/dist/LocalizationProvider.js +1 -1
  185. package/dist/{Menu-CCavGohP.js → Menu-wpTyUDac.js} +10 -10
  186. package/dist/{Menu-CCavGohP.js.map → Menu-wpTyUDac.js.map} +1 -1
  187. package/dist/Menu.css +135 -137
  188. package/dist/Menu.js +1 -1
  189. package/dist/MultiSelectField.js +1 -1
  190. package/dist/{MultiSelectFieldSync-ChZCW4M9.js → MultiSelectFieldSync-DZ3tm7zt.js} +34 -33
  191. package/dist/MultiSelectFieldSync-DZ3tm7zt.js.map +1 -0
  192. package/dist/MultiSelectFieldSync.css +263 -257
  193. package/dist/MultiSelectMenu.js +1 -1
  194. package/dist/{MultiSelectMenuSync-7C1wW4oO.js → MultiSelectMenuSync-dgO9SmHi.js} +4 -4
  195. package/dist/{MultiSelectMenuSync-7C1wW4oO.js.map → MultiSelectMenuSync-dgO9SmHi.js.map} +1 -1
  196. package/dist/{NumberField-CZSTHBeO.js → NumberField-DJbdyatF.js} +15 -12
  197. package/dist/{NumberField-CZSTHBeO.js.map → NumberField-DJbdyatF.js.map} +1 -1
  198. package/dist/NumberField.css +34 -49
  199. package/dist/NumberField.js +1 -1
  200. package/dist/Overflow.css +143 -164
  201. package/dist/Overflow.js +44 -42
  202. package/dist/Overflow.js.map +1 -1
  203. package/dist/{Page-BHdvTlfE.js → Page-Be1Blwme.js} +65 -65
  204. package/dist/Page-Be1Blwme.js.map +1 -0
  205. package/dist/Page.css +384 -404
  206. package/dist/Page.js +1 -1
  207. package/dist/{Pagination-B5jqHYG3.js → Pagination-USDJM5vi.js} +29 -34
  208. package/dist/{Pagination-B5jqHYG3.js.map → Pagination-USDJM5vi.js.map} +1 -1
  209. package/dist/Pagination.css +63 -117
  210. package/dist/Pagination.js +1 -1
  211. package/dist/{Popover-BbqTZw-1.js → Popover-CyB7yzSf.js} +7 -7
  212. package/dist/{Popover-BbqTZw-1.js.map → Popover-CyB7yzSf.js.map} +1 -1
  213. package/dist/Popover.css +84 -97
  214. package/dist/Popover.js +1 -1
  215. package/dist/{ProgressBar-CZcxkdX6.js → ProgressBar-DSrjgLTx.js} +15 -15
  216. package/dist/{ProgressBar-CZcxkdX6.js.map → ProgressBar-DSrjgLTx.js.map} +1 -1
  217. package/dist/ProgressBar.css +59 -81
  218. package/dist/ProgressBar.js +1 -1
  219. package/dist/{Radio-BFr8AdHc.js → Radio-CQaXJ72d.js} +2 -2
  220. package/dist/{Radio-BFr8AdHc.js.map → Radio-CQaXJ72d.js.map} +1 -1
  221. package/dist/{Radio-DJZVMCv0.js → Radio-DO4UhbBE.js} +45 -48
  222. package/dist/Radio-DO4UhbBE.js.map +1 -0
  223. package/dist/Radio.css +233 -229
  224. package/dist/Radio.js +1 -1
  225. package/dist/{SearchField-im7AHGYo.js → SearchField-CsRGYZx3.js} +9 -11
  226. package/dist/{SearchField-im7AHGYo.js.map → SearchField-CsRGYZx3.js.map} +1 -1
  227. package/dist/SearchField.css +22 -39
  228. package/dist/SearchField.js +1 -1
  229. package/dist/{SegmentedControl-B9NWUF7s.js → SegmentedControl-Chhqyyra.js} +15 -16
  230. package/dist/SegmentedControl-Chhqyyra.js.map +1 -0
  231. package/dist/SegmentedControl.css +103 -122
  232. package/dist/SegmentedControl.js +1 -1
  233. package/dist/SelectCard-CtXwY8FZ.js +351 -0
  234. package/dist/SelectCard-CtXwY8FZ.js.map +1 -0
  235. package/dist/SelectCard.css +135 -82
  236. package/dist/SelectCard.js +1 -1
  237. package/dist/SelectField.js +1 -1
  238. package/dist/{SelectFieldLabel-kEBS8L4l.js → SelectFieldLabel-DLT5dKbx.js} +3 -3
  239. package/dist/{SelectFieldLabel-kEBS8L4l.js.map → SelectFieldLabel-DLT5dKbx.js.map} +1 -1
  240. package/dist/{SelectFieldSync-o1Cp9UYC.js → SelectFieldSync-C44hPeeS.js} +9 -8
  241. package/dist/SelectFieldSync-C44hPeeS.js.map +1 -0
  242. package/dist/SelectMenu.js +1 -1
  243. package/dist/{SelectMenuSync-DXrwecFt.js → SelectMenuSync-V97oN85V.js} +4 -4
  244. package/dist/{SelectMenuSync-DXrwecFt.js.map → SelectMenuSync-V97oN85V.js.map} +1 -1
  245. package/dist/{SelectOptions-Dy2OWqxn.js → SelectOptions-CDoo4AUu.js} +2 -2
  246. package/dist/{SelectOptions-Dy2OWqxn.js.map → SelectOptions-CDoo4AUu.js.map} +1 -1
  247. package/dist/{SelectTrigger-DhKYzEAr.js → SelectTrigger-BWN3Tx43.js} +5 -5
  248. package/dist/{SelectTrigger-DhKYzEAr.js.map → SelectTrigger-BWN3Tx43.js.map} +1 -1
  249. package/dist/SelectTrigger.js +1 -1
  250. package/dist/{SelectTriggerBase-Ni8WqeUx.js → SelectTriggerBase-Do7lQ5rw.js} +8 -7
  251. package/dist/{SelectTriggerBase-Ni8WqeUx.js.map → SelectTriggerBase-Do7lQ5rw.js.map} +1 -1
  252. package/dist/SelectTriggerBase.css +231 -305
  253. package/dist/SelectTriggerBase.module-DKF1FQnc.js +37 -0
  254. package/dist/SelectTriggerBase.module-DKF1FQnc.js.map +1 -0
  255. package/dist/{SideNav-CrxYExjh.js → SideNav-CZRVOSbt.js} +19 -14
  256. package/dist/SideNav-CZRVOSbt.js.map +1 -0
  257. package/dist/SideNav.css +126 -294
  258. package/dist/SideNav.js +1 -1
  259. package/dist/Skeleton.css +57 -65
  260. package/dist/Skeleton.js +16 -16
  261. package/dist/Skeleton.js.map +1 -1
  262. package/dist/{Spinner-BqmcE2pb.js → Spinner-lPMo68yW.js} +16 -17
  263. package/dist/Spinner-lPMo68yW.js.map +1 -0
  264. package/dist/Spinner.css +33 -43
  265. package/dist/Spinner.js +1 -1
  266. package/dist/{SrOnly-eUpYGpAT.js → SrOnly-pnf8ajnh.js} +2 -2
  267. package/dist/{SrOnly-eUpYGpAT.js.map → SrOnly-pnf8ajnh.js.map} +1 -1
  268. package/dist/SrOnly.css +12 -14
  269. package/dist/SrOnly.js +1 -1
  270. package/dist/StatusIcon-BwULopyH.js +57 -0
  271. package/dist/StatusIcon-BwULopyH.js.map +1 -0
  272. package/dist/StatusIcon.css +32 -0
  273. package/dist/{Stepper-Dt2xAXth.js → Stepper-CYY64NU1.js} +16 -16
  274. package/dist/{Stepper-Dt2xAXth.js.map → Stepper-CYY64NU1.js.map} +1 -1
  275. package/dist/Stepper.css +180 -239
  276. package/dist/Stepper.js +1 -1
  277. package/dist/{Switch-C84MBChG.js → Switch-DeBu4Ucg.js} +17 -13
  278. package/dist/{Switch-C84MBChG.js.map → Switch-DeBu4Ucg.js.map} +1 -1
  279. package/dist/Switch.css +109 -125
  280. package/dist/Switch.js +1 -1
  281. package/dist/{Tab-BZpTCG0i.js → Tab-CewPzmuK.js} +20 -34
  282. package/dist/Tab-CewPzmuK.js.map +1 -0
  283. package/dist/Tab.css +232 -194
  284. package/dist/Tab.js +1 -1
  285. package/dist/Table.js +1 -1
  286. package/dist/{Text-WiS8UZkY.js → Text-J5YtSSXY.js} +15 -38
  287. package/dist/Text-J5YtSSXY.js.map +1 -0
  288. package/dist/Text.css +101 -142
  289. package/dist/Text.js +1 -1
  290. package/dist/Text.module-BXrY87ui.js +23 -0
  291. package/dist/Text.module-BXrY87ui.js.map +1 -0
  292. package/dist/{TextField-Bul_uln5.js → TextField-CRDTnuUN.js} +7 -7
  293. package/dist/{TextField-Bul_uln5.js.map → TextField-CRDTnuUN.js.map} +1 -1
  294. package/dist/{TextField-OznkTx4e.js → TextField-YlMkDHp-.js} +2 -2
  295. package/dist/{TextField-OznkTx4e.js.map → TextField-YlMkDHp-.js.map} +1 -1
  296. package/dist/TextField.css +156 -148
  297. package/dist/TextField.js +1 -1
  298. package/dist/TextField.module-MRVo1X9H.js +23 -0
  299. package/dist/TextField.module-MRVo1X9H.js.map +1 -0
  300. package/dist/{Textarea-CCYLsJ1x.js → Textarea-CxXmr_Gx.js} +16 -13
  301. package/dist/{Textarea-CCYLsJ1x.js.map → Textarea-CxXmr_Gx.js.map} +1 -1
  302. package/dist/Textarea.css +71 -81
  303. package/dist/Textarea.js +1 -1
  304. package/dist/{ThemeProvider-CaYW3RuA.js → ThemeProvider-D4KdGCaP.js} +11 -9
  305. package/dist/ThemeProvider-D4KdGCaP.js.map +1 -0
  306. package/dist/ThemeProvider.css +586 -516
  307. package/dist/ThemeProvider.js +1 -1
  308. package/dist/{TimeField-BPvPbD8H.js → TimeField-DTg0CE5L.js} +7 -7
  309. package/dist/{TimeField-BPvPbD8H.js.map → TimeField-DTg0CE5L.js.map} +1 -1
  310. package/dist/TimeField.css +5 -8
  311. package/dist/TimeField.js +1 -1
  312. package/dist/{TimezoneMessage-Cnsl4cHT.js → TimezoneMessage-BrKB_psP.js} +2 -2
  313. package/dist/{TimezoneMessage-Cnsl4cHT.js.map → TimezoneMessage-BrKB_psP.js.map} +1 -1
  314. package/dist/TimezoneMessage.css +5 -5
  315. package/dist/Toast.js +2 -2
  316. package/dist/{Toaster-DYJm06Vb.js → Toaster-Bq42x6Gx.js} +35 -34
  317. package/dist/Toaster-Bq42x6Gx.js.map +1 -0
  318. package/dist/{Toaster-CIaIvwH6.js → Toaster-Dly3rfva.js} +2 -2
  319. package/dist/{Toaster-CIaIvwH6.js.map → Toaster-Dly3rfva.js.map} +1 -1
  320. package/dist/Toaster.css +210 -242
  321. package/dist/{Toolbar-ByyI7SqG.js → Toolbar-C1_etxss.js} +42 -42
  322. package/dist/{Toolbar-ByyI7SqG.js.map → Toolbar-C1_etxss.js.map} +1 -1
  323. package/dist/Toolbar.css +121 -202
  324. package/dist/Toolbar.js +1 -1
  325. package/dist/{Tooltip-C1PBRnJv.js → Tooltip-BlStOXN3.js} +8 -8
  326. package/dist/{Tooltip-C1PBRnJv.js.map → Tooltip-BlStOXN3.js.map} +1 -1
  327. package/dist/Tooltip.css +46 -58
  328. package/dist/Tooltip.js +1 -1
  329. package/dist/{YearlessDateInputWithPicker-C_twiQW5.js → YearlessDateInputWithPicker-DyytWt0x.js} +14 -16
  330. package/dist/{YearlessDateInputWithPicker-C_twiQW5.js.map → YearlessDateInputWithPicker-DyytWt0x.js.map} +1 -1
  331. package/dist/YearlessDateInputWithPicker.css +110 -196
  332. package/dist/assets/css-utils/a2-border.css +47 -45
  333. package/dist/assets/css-utils/a2-color.css +443 -227
  334. package/dist/assets/css-utils/a2-font.css +0 -2
  335. package/dist/assets/css-utils/a2-spacing.css +476 -478
  336. package/dist/assets/css-utils/a2-utils.css +992 -772
  337. package/dist/assets/css-utils/border.css +47 -45
  338. package/dist/assets/css-utils/color.css +443 -227
  339. package/dist/assets/css-utils/font.css +0 -2
  340. package/dist/assets/css-utils/spacing.css +476 -478
  341. package/dist/assets/css-utils/utils.css +992 -772
  342. package/dist/beta.js +10 -10
  343. package/dist/{indeterminate_check_box-B4zobNlt.js → check_box-0U1tbEAd.js} +2 -4
  344. package/dist/check_box-0U1tbEAd.js.map +1 -0
  345. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  346. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  347. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  348. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  349. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  350. package/dist/components/NumberField/NumberField.d.ts +1 -1
  351. package/dist/components/Page/Page.d.ts +2 -2
  352. package/dist/components/SearchField/internal/SearchField.d.ts +1 -1
  353. package/dist/components/Stepper/Stepper.d.ts +1 -1
  354. package/dist/components/Stepper/StepperStep.d.ts +1 -1
  355. package/dist/components/Tab/Tab.d.ts +1 -1
  356. package/dist/components/Tab/TabButton.d.ts +1 -1
  357. package/dist/indeterminate_check_box-jjLG4UY6.js +6 -0
  358. package/dist/indeterminate_check_box-jjLG4UY6.js.map +1 -0
  359. package/dist/{index-D6ag_WQW.js → index-ByMdotWU.js} +18 -18
  360. package/dist/{index-D6ag_WQW.js.map → index-ByMdotWU.js.map} +1 -1
  361. package/dist/index.css +98 -126
  362. package/dist/index.js +85 -82
  363. package/dist/index.js.map +1 -1
  364. package/dist/index2.css +57 -74
  365. package/dist/internal/components/StatusIcon/StatusIcon.d.ts +5 -5
  366. package/dist/internal/hooks/useSelectOrchestration.d.ts +1 -1
  367. package/dist/primitive-DXlHdTFb.js +1056 -0
  368. package/dist/primitive-DXlHdTFb.js.map +1 -0
  369. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +1 -0
  370. package/dist/{stripInlineMarkdown-Cg1qlNwL.js → stripInlineMarkdown-BWbMy7r_.js} +2 -2
  371. package/dist/{stripInlineMarkdown-Cg1qlNwL.js.map → stripInlineMarkdown-BWbMy7r_.js.map} +1 -1
  372. package/dist/{syncFilterUtils-UR5Vgqkh.js → syncFilterUtils-BLcRXQfd.js} +49 -49
  373. package/dist/syncFilterUtils-BLcRXQfd.js.map +1 -0
  374. package/dist/syncFilterUtils.css +189 -217
  375. package/dist/token/core/component-variables.scss +1088 -131
  376. package/dist/token/core/component.d.ts +558 -0
  377. package/dist/token/core/component.js +6685 -249
  378. package/dist/token/core/component.scss +557 -69
  379. package/dist/token/core/css-utils/a2-border.css +47 -45
  380. package/dist/token/core/css-utils/a2-color.css +443 -227
  381. package/dist/token/core/css-utils/a2-font.css +0 -2
  382. package/dist/token/core/css-utils/a2-spacing.css +476 -478
  383. package/dist/token/core/css-utils/a2-utils.css +992 -772
  384. package/dist/token/core/css-utils/border.css +47 -45
  385. package/dist/token/core/css-utils/color.css +443 -227
  386. package/dist/token/core/css-utils/font.css +0 -2
  387. package/dist/token/core/css-utils/spacing.css +476 -478
  388. package/dist/token/core/css-utils/utils.css +992 -772
  389. package/dist/token/core/index.d.ts +6 -0
  390. package/dist/token/core/index.js +1 -1
  391. package/dist/token/core/primitive-variables.scss +148 -65
  392. package/dist/token/core/primitive.d.ts +209 -0
  393. package/dist/token/core/primitive.js +779 -61
  394. package/dist/token/core/primitive.scss +207 -124
  395. package/dist/token/core/semantic-variables.scss +363 -245
  396. package/dist/token/core/semantic.d.ts +221 -0
  397. package/dist/token/core/semantic.js +1592 -347
  398. package/dist/token/core/semantic.scss +219 -140
  399. package/dist/token.js +9076 -833
  400. package/dist/token.js.map +1 -1
  401. package/dist/{useBreakpoint-okJ64T1D.js → useBreakpoint-CeaUyHxh.js} +2 -2
  402. package/dist/{useBreakpoint-okJ64T1D.js.map → useBreakpoint-CeaUyHxh.js.map} +1 -1
  403. package/dist/useBreakpoint.js +1 -1
  404. package/dist/{useDrillDownContext-BssSasVB.js → useDrillDownContext-iUvoTget.js} +2 -2
  405. package/dist/{useDrillDownContext-BssSasVB.js.map → useDrillDownContext-iUvoTget.js.map} +1 -1
  406. package/dist/{useDrilldown-D6VZNSCX.js → useDrilldown-D5WWJRU2.js} +7 -7
  407. package/dist/{useDrilldown-D6VZNSCX.js.map → useDrilldown-D5WWJRU2.js.map} +1 -1
  408. package/dist/{useLayoutPropsUtil-DMDdfIah.js → useLayoutPropsUtil-CB_zHDbW.js} +3 -3
  409. package/dist/{useLayoutPropsUtil-DMDdfIah.js.map → useLayoutPropsUtil-CB_zHDbW.js.map} +1 -1
  410. package/dist/{useToggleSelection-BBdrIVWs.js → useToggleSelection-D_2qS0P1.js} +2 -2
  411. package/dist/{useToggleSelection-BBdrIVWs.js.map → useToggleSelection-D_2qS0P1.js.map} +1 -1
  412. package/package.json +2 -2
  413. package/dist/Alert-Dj61Bq8h.js.map +0 -1
  414. package/dist/AnvilProvider-DUPYyMc7.js.map +0 -1
  415. package/dist/Avatar-BckUfs1N.js.map +0 -1
  416. package/dist/Button.module-wCtFYGVD.js +0 -26
  417. package/dist/Button.module-wCtFYGVD.js.map +0 -1
  418. package/dist/ButtonCompound-Cmw3cgMY.js.map +0 -1
  419. package/dist/ButtonLink-BJKTJER8.js.map +0 -1
  420. package/dist/ButtonToggle-DaFQ3DBG.js.map +0 -1
  421. package/dist/Calendar-Dxl9QnfP.js.map +0 -1
  422. package/dist/Checkbox-B-XTVPbX.js.map +0 -1
  423. package/dist/Checkbox.module-EkRZO48Y.js +0 -28
  424. package/dist/Checkbox.module-EkRZO48Y.js.map +0 -1
  425. package/dist/Chip-Ce0WGKAc.js.map +0 -1
  426. package/dist/Combobox-CNQUROyr.js.map +0 -1
  427. package/dist/Dialog-Cewu2pd_.js.map +0 -1
  428. package/dist/DrillDown.module-C8VOhzaF.js +0 -27
  429. package/dist/FieldMessage-COHqUdj5.js +0 -132
  430. package/dist/FieldMessage-COHqUdj5.js.map +0 -1
  431. package/dist/Helper-B_FIOlhy.js.map +0 -1
  432. package/dist/Link.module-CZt9wvuD.js +0 -12
  433. package/dist/Link.module-CZt9wvuD.js.map +0 -1
  434. package/dist/LinkButton-DGyHR1E7.js.map +0 -1
  435. package/dist/LinkButton.css +0 -5
  436. package/dist/ListView.module-BilDg12y.js +0 -9
  437. package/dist/ListView.module-BilDg12y.js.map +0 -1
  438. package/dist/Listbox.module-HAXMOKvC.js +0 -18
  439. package/dist/Listbox.module-HAXMOKvC.js.map +0 -1
  440. package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +0 -1
  441. package/dist/Page-BHdvTlfE.js.map +0 -1
  442. package/dist/Radio-DJZVMCv0.js.map +0 -1
  443. package/dist/SegmentedControl-B9NWUF7s.js.map +0 -1
  444. package/dist/SelectCard-DVcWJRbX.js +0 -352
  445. package/dist/SelectCard-DVcWJRbX.js.map +0 -1
  446. package/dist/SelectFieldSync-o1Cp9UYC.js.map +0 -1
  447. package/dist/SelectTriggerBase.module-CKoq6qzX.js +0 -38
  448. package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +0 -1
  449. package/dist/SideNav-CrxYExjh.js.map +0 -1
  450. package/dist/Spinner-BqmcE2pb.js.map +0 -1
  451. package/dist/Tab-BZpTCG0i.js.map +0 -1
  452. package/dist/Text-WiS8UZkY.js.map +0 -1
  453. package/dist/TextField.module-BP-hDP5m.js +0 -22
  454. package/dist/TextField.module-BP-hDP5m.js.map +0 -1
  455. package/dist/ThemeProvider-CaYW3RuA.js.map +0 -1
  456. package/dist/Toaster-DYJm06Vb.js.map +0 -1
  457. package/dist/indeterminate_check_box-B4zobNlt.js.map +0 -1
  458. package/dist/primitive-C3RFDRA8.js +0 -255
  459. package/dist/primitive-C3RFDRA8.js.map +0 -1
  460. package/dist/syncFilterUtils-UR5Vgqkh.js.map +0 -1
  461. package/dist/token/core/raw.js +0 -234
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive-DXlHdTFb.js","sources":["../../hammer-token/build/web/core/primitive.js"],"sourcesContent":["/**\n * @typedef {Object} TokenValue\n * @property {string} value\n */\n\n/**\n * @typedef {Object} TokenWithAppearance\n * @property {string} value\n * @property {Object} extensions\n * @property {Object} extensions.appearance\n * @property {Object} extensions.appearance.dark\n * @property {string} extensions.appearance.dark.value\n */\n\n/**\n * @type {TokenValue}\n */\nexport const BreakpointSm = { value: \"640px\" };\n/**\n * @type {TokenValue}\n */\nexport const BreakpointMd = { value: \"768px\" };\n/**\n * @type {TokenValue}\n */\nexport const BreakpointLg = { value: \"1024px\" };\n/**\n * @type {TokenValue}\n */\nexport const BreakpointXl = { value: \"1280px\" };\n/**\n * @type {TokenValue}\n */\nexport const BreakpointXxl = { value: \"1536px\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral0 = { value: \"#ffffff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral10 = { value: \"#fcfcfc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral20 = { value: \"#f9f9f9\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral30 = { value: \"#f6f6f6\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral40 = { value: \"#f1f1f1\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral50 = { value: \"#eeeeee\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral60 = { value: \"#ededed\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral70 = { value: \"#e8e8e8\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral80 = { value: \"#e6e6e6\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral90 = { value: \"#e5e5e5\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral100 = { value: \"#dfdfdf\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral200 = { value: \"#c4c4c4\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral300 = { value: \"#a8a8a8\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral400 = { value: \"#8b8b8b\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral500 = { value: \"#707070\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral600 = { value: \"#545454\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral700 = { value: \"#404040\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral800 = { value: \"#292929\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral900 = { value: \"#1a1a1a\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorNeutral950 = { value: \"#040404\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue10 = { value: \"#fafcff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue50 = { value: \"#e6f1ff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue100 = { value: \"#cce3ff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue200 = { value: \"#9ecaff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue300 = { value: \"#70b1ff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue400 = { value: \"#3d95ff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue500 = { value: \"#1a82ff\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue600 = { value: \"#0265dc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue700 = { value: \"#1d4ca3\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue800 = { value: \"#003472\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue900 = { value: \"#002047\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlue950 = { value: \"#000b19\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed10 = { value: \"#fffbfa\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed50 = { value: \"#ffe9e5\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed100 = { value: \"#ffd4cc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed200 = { value: \"#ffac9e\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed300 = { value: \"#ff8670\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed400 = { value: \"#ff5b3d\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed500 = { value: \"#ff3914\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed600 = { value: \"#d62100\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed700 = { value: \"#a31900\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed800 = { value: \"#731100\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed900 = { value: \"#470b00\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorRed950 = { value: \"#0a0200\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen10 = { value: \"#f5fefb\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen50 = { value: \"#d3fded\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen100 = { value: \"#b8f5dd\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen200 = { value: \"#70ebbc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen300 = { value: \"#3be3a2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen400 = { value: \"#0bd085\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen500 = { value: \"#0aa86c\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen600 = { value: \"#077e50\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen700 = { value: \"#05613e\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen800 = { value: \"#04482e\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen900 = { value: \"#022c1c\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorGreen950 = { value: \"#010f0a\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey10 = { value: \"#f7f9fa\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey50 = { value: \"#e9eef2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey100 = { value: \"#dce4ea\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey200 = { value: \"#b9c9d5\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey300 = { value: \"#99b1c2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey400 = { value: \"#7899b0\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey500 = { value: \"#55768e\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey600 = { value: \"#445e71\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey700 = { value: \"#344856\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey800 = { value: \"#24333d\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey900 = { value: \"#192329\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorBlueGrey950 = { value: \"#090d10\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange10 = { value: \"#fff8f1\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange50 = { value: \"#ffecd6\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange100 = { value: \"#ffddb7\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange200 = { value: \"#ffc07a\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange300 = { value: \"#ffa037\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange400 = { value: \"#e37700\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange500 = { value: \"#c16500\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange600 = { value: \"#964f00\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange700 = { value: \"#693700\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange800 = { value: \"#4d2800\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange900 = { value: \"#2e1900\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorOrange950 = { value: \"#140b00\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan10 = { value: \"#f2fcfe\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan50 = { value: \"#daf7fc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan100 = { value: \"#c2f2fb\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan200 = { value: \"#7fe5f6\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan300 = { value: \"#45d8f2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan400 = { value: \"#10c2e2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan500 = { value: \"#0da2bd\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan600 = { value: \"#0a7a8e\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan700 = { value: \"#075563\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan800 = { value: \"#05424d\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan900 = { value: \"#032025\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorCyan950 = { value: \"#011013\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple10 = { value: \"#fcfbfe\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple50 = { value: \"#eeecf9\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple100 = { value: \"#e7e4f6\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple200 = { value: \"#c9c2eb\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple300 = { value: \"#b1a7e2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple400 = { value: \"#9688d7\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple500 = { value: \"#7766cc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple600 = { value: \"#5c47c2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple700 = { value: \"#3f2f8e\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple800 = { value: \"#2e2267\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple900 = { value: \"#191338\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorPurple950 = { value: \"#100c25\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta10 = { value: \"#fefbfd\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta50 = { value: \"#fae6f3\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta100 = { value: \"#f8ddef\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta200 = { value: \"#efb3db\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta300 = { value: \"#e892cc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta400 = { value: \"#eb61be\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta500 = { value: \"#d741a6\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta600 = { value: \"#be288d\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta700 = { value: \"#831b60\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta800 = { value: \"#591342\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta900 = { value: \"#26081c\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMagenta950 = { value: \"#15040f\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves10 = { value: \"#fffbfa\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves50 = { value: \"#fff7f5\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves100 = { value: \"#fff4f0\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves200 = { value: \"#ffe4db\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves300 = { value: \"#ffd1c2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves400 = { value: \"#ffaf94\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves500 = { value: \"#ffa78a\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves600 = { value: \"#d88569\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves700 = { value: \"#d27151\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves800 = { value: \"#823a21\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves900 = { value: \"#411d11\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorMauves950 = { value: \"#200e08\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime10 = { value: \"#fdfdfc\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime50 = { value: \"#eaf0db\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime100 = { value: \"#e3eccf\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime200 = { value: \"#c3d595\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime300 = { value: \"#a8c26a\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime400 = { value: \"#8aad39\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime500 = { value: \"#6b9013\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime600 = { value: \"#56750b\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime700 = { value: \"#3a5007\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime800 = { value: \"#2a3a03\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime900 = { value: \"#111801\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorLime950 = { value: \"#0a0f01\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow10 = { value: \"#fffef8\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow50 = { value: \"#fffcf0\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow100 = { value: \"#fff9e2\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow200 = { value: \"#fff0b1\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow300 = { value: \"#ffe278\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow400 = { value: \"#ffc902\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow500 = { value: \"#ffbe00\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow600 = { value: \"#de9500\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow700 = { value: \"#c98600\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow800 = { value: \"#704b00\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow900 = { value: \"#382500\" };\n/**\n * @type {TokenValue}\n */\nexport const ColorYellow950 = { value: \"#191100\" };\n/**\n * @type {TokenValue}\n */\nexport const DurationDefault = { value: \"200ms\" };\n/**\n * @type {TokenValue}\n */\nexport const DurationInstant = { value: \"0ms\" };\n/**\n * @type {TokenValue}\n */\nexport const DurationFast = { value: \"100ms\" };\n/**\n * @type {TokenValue}\n */\nexport const DurationSlow = { value: \"300ms\" };\n/**\n * @type {TokenValue}\n */\nexport const FontFamilyBase = { value: \"'Nunito Sans', sans-serif\" };\n/**\n * @type {TokenValue}\n */\nexport const FontFamilyDisplay = { value: \"'Sofia Pro', SofiaPro, sans-serif\" };\n/**\n * @type {TokenValue}\n */\nexport const FontLineHeightBase = { value: \"1.5\" };\n/**\n * @type {TokenValue}\n */\nexport const FontLineHeightDisplay = { value: \"1.25\" };\n/**\n * @type {TokenValue}\n */\nexport const FontWeightNormal = { value: \"400\" };\n/**\n * @type {TokenValue}\n */\nexport const FontWeightSemibold = { value: \"600\" };\n/**\n * @type {TokenValue}\n */\nexport const FontWeightBold = { value: \"700\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize100 = { value: \"0.625rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize200 = { value: \"0.75rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize300 = { value: \"0.875rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize400 = { value: \"1rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize500 = { value: \"1.25rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize600 = { value: \"1.5rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize700 = { value: \"1.75rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize800 = { value: \"2rem\" };\n/**\n * @type {TokenValue}\n */\nexport const FontSize900 = { value: \"2.25rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius0 = { value: \"0rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius1 = { value: \"0.1875rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius2 = { value: \"0.375rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius3 = { value: \"0.5625rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius4 = { value: \"0.75rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius5 = { value: \"0.9375rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius6 = { value: \"1.125rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius7 = { value: \"1.3125rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Radius8 = { value: \"1.5rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size0 = { value: \"0rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size1 = { value: \"0.25rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size2 = { value: \"0.5rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size3 = { value: \"0.75rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size4 = { value: \"1rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size5 = { value: \"1.25rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size6 = { value: \"1.5rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size7 = { value: \"1.75rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size8 = { value: \"2rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size9 = { value: \"2.25rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size10 = { value: \"2.5rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size11 = { value: \"2.75rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size12 = { value: \"3rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size13 = { value: \"3.25rem\" };\n/**\n * @type {TokenValue}\n */\nexport const Size14 = { value: \"3.5rem\" };\n/**\n * @type {TokenValue}\n */\nexport const SizeQuarter = { value: \"0.0625rem\" };\n/**\n * @type {TokenValue}\n */\nexport const SizeHalf = { value: \"0.125rem\" };\n/**\n * @type {TokenValue}\n */\nexport const TransitionEase = { value: \"cubic-bezier(.4, 0, .2, 1)\" };\n/**\n * @type {TokenValue}\n */\nexport const TransitionEaseIn = { value: \"cubic-bezier(.4, 0, 1, 1)\" };\n/**\n * @type {TokenValue}\n */\nexport const TransitionEaseOut = { value: \"cubic-bezier(0, 0, .4, 1)\" };\n/**\n * @type {TokenValue}\n */\nexport const TransitionEaseInOut = { value: \"cubic-bezier(.4, 0, .6, 1)\" };"],"names":[],"mappings":"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"}
@@ -10,5 +10,6 @@ export type ThemeProviderProps = Omit<ComponentPropsWithoutRef<"div">, "prefix">
10
10
  theme?: CustomThemeType;
11
11
  mode?: "light" | "dark";
12
12
  children?: ReactNode;
13
+ prefix?: string;
13
14
  };
14
15
  export declare const ThemeProvider: FC<ThemeProviderProps>;
@@ -1,4 +1,4 @@
1
- import { I as INLINE_MARKDOWN_REGEX } from './FieldLabel-HO2VP-4B.js';
1
+ import { I as INLINE_MARKDOWN_REGEX } from './FieldLabel-DZWu5dMp.js';
2
2
 
3
3
  const stripInlineMarkdown = (str) => {
4
4
  const parts = [];
@@ -22,4 +22,4 @@ const stripInlineMarkdown = (str) => {
22
22
  };
23
23
 
24
24
  export { stripInlineMarkdown as s };
25
- //# sourceMappingURL=stripInlineMarkdown-Cg1qlNwL.js.map
25
+ //# sourceMappingURL=stripInlineMarkdown-BWbMy7r_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stripInlineMarkdown-Cg1qlNwL.js","sources":["../src/internal/functions/stripInlineMarkdown.ts"],"sourcesContent":["import { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Strips inline markdown syntax from a string, returning plain text.\n * Intended for accessibility contexts (e.g. `aria-label`) where only plain text is appropriate.\n *\n * @param str - The string to strip\n * @returns The string with all inline markdown syntax removed\n */\nexport const stripInlineMarkdown = (str: string): string => {\n const parts: string[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(str)) !== null) {\n if (match.index > lastIndex) {\n parts.push(str.substring(lastIndex, match.index));\n }\n\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n const inner =\n match[1] ?? match[2] ?? match[3] ?? match[4] ?? match[5] ?? \"\";\n\n // code spans don't support nested markdown, matching parseInlineMarkdown behavior\n parts.push(match[5] ? inner : stripInlineMarkdown(inner));\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < str.length) {\n parts.push(str.substring(lastIndex));\n }\n\n return parts.join(\"\");\n};\n"],"names":[],"mappings":";;AASO,MAAM,mBAAA,GAAsB,CAAC,GAAA,KAAwB;AAC1D,EAAA,MAAM,QAAkB,EAAC;AACzB,EAAA,IAAI,SAAA,GAAY,CAAA;AAEhB,EAAA,qBAAA,CAAsB,SAAA,GAAY,CAAA;AAClC,EAAA,IAAI,KAAA;AAEJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,qBAAA,CAAsB,IAAA,CAAK,GAAG,OAAO,IAAA,EAAM;AACzD,IAAA,IAAI,KAAA,CAAM,QAAQ,SAAA,EAAW;AAC3B,MAAA,KAAA,CAAM,KAAK,GAAA,CAAI,SAAA,CAAU,SAAA,EAAW,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,IAClD;AAEA,IAAA,MAAM,aAAa,qBAAA,CAAsB,SAAA;AACzC,IAAA,MAAM,KAAA,GACJ,KAAA,CAAM,CAAC,CAAA,IAAK,MAAM,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,KAAK,KAAA,CAAM,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,CAAA,IAAK,EAAA;AAG9D,IAAA,KAAA,CAAM,KAAK,KAAA,CAAM,CAAC,IAAI,KAAA,GAAQ,mBAAA,CAAoB,KAAK,CAAC,CAAA;AAExD,IAAA,qBAAA,CAAsB,SAAA,GAAY,UAAA;AAClC,IAAA,SAAA,GAAY,UAAA;AAAA,EACd;AAEA,EAAA,IAAI,SAAA,GAAY,IAAI,MAAA,EAAQ;AAC1B,IAAA,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,SAAA,CAAU,SAAS,CAAC,CAAA;AAAA,EACrC;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,CAAA;AACtB;;;;"}
1
+ {"version":3,"file":"stripInlineMarkdown-BWbMy7r_.js","sources":["../src/internal/functions/stripInlineMarkdown.ts"],"sourcesContent":["import { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Strips inline markdown syntax from a string, returning plain text.\n * Intended for accessibility contexts (e.g. `aria-label`) where only plain text is appropriate.\n *\n * @param str - The string to strip\n * @returns The string with all inline markdown syntax removed\n */\nexport const stripInlineMarkdown = (str: string): string => {\n const parts: string[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(str)) !== null) {\n if (match.index > lastIndex) {\n parts.push(str.substring(lastIndex, match.index));\n }\n\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n const inner =\n match[1] ?? match[2] ?? match[3] ?? match[4] ?? match[5] ?? \"\";\n\n // code spans don't support nested markdown, matching parseInlineMarkdown behavior\n parts.push(match[5] ? inner : stripInlineMarkdown(inner));\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < str.length) {\n parts.push(str.substring(lastIndex));\n }\n\n return parts.join(\"\");\n};\n"],"names":[],"mappings":";;AASO,MAAM,mBAAA,GAAsB,CAAC,GAAA,KAAwB;AAC1D,EAAA,MAAM,QAAkB,EAAC;AACzB,EAAA,IAAI,SAAA,GAAY,CAAA;AAEhB,EAAA,qBAAA,CAAsB,SAAA,GAAY,CAAA;AAClC,EAAA,IAAI,KAAA;AAEJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,qBAAA,CAAsB,IAAA,CAAK,GAAG,OAAO,IAAA,EAAM;AACzD,IAAA,IAAI,KAAA,CAAM,QAAQ,SAAA,EAAW;AAC3B,MAAA,KAAA,CAAM,KAAK,GAAA,CAAI,SAAA,CAAU,SAAA,EAAW,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,IAClD;AAEA,IAAA,MAAM,aAAa,qBAAA,CAAsB,SAAA;AACzC,IAAA,MAAM,KAAA,GACJ,KAAA,CAAM,CAAC,CAAA,IAAK,MAAM,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,KAAK,KAAA,CAAM,CAAC,CAAA,IAAK,KAAA,CAAM,CAAC,CAAA,IAAK,EAAA;AAG9D,IAAA,KAAA,CAAM,KAAK,KAAA,CAAM,CAAC,IAAI,KAAA,GAAQ,mBAAA,CAAoB,KAAK,CAAC,CAAA;AAExD,IAAA,qBAAA,CAAsB,SAAA,GAAY,UAAA;AAClC,IAAA,SAAA,GAAY,UAAA;AAAA,EACd;AAEA,EAAA,IAAI,SAAA,GAAY,IAAI,MAAA,EAAQ;AAC1B,IAAA,KAAA,CAAM,IAAA,CAAK,GAAA,CAAI,SAAA,CAAU,SAAS,CAAC,CAAA;AAAA,EACrC;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,EAAE,CAAA;AACtB;;;;"}
@@ -1,28 +1,29 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { S as Spinner } from './Spinner-BqmcE2pb.js';
3
- import { B as Button } from './Button-BdrrhBTI.js';
2
+ import { S as Spinner } from './Spinner-lPMo68yW.js';
3
+ import { B as Button } from './Button-Bnt8XUI7.js';
4
4
  import { c as cx } from './index-De1g9FRV.js';
5
5
  import { useState, useRef, useCallback, useEffect, useMemo, forwardRef, useId, useImperativeHandle } from 'react';
6
6
  import { u as useIntersectionObserver } from './useIntersectionObserver-BEmMDO3P.js';
7
- import { T as Text } from './Text-WiS8UZkY.js';
8
- import { D as Divider } from './Divider-B1UoK8ho.js';
7
+ import { T as Text } from './Text-J5YtSSXY.js';
8
+ import { D as Divider } from './Divider-Ds3WKsKa.js';
9
9
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.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-ChybzixS.js';
14
- import { C as Chip } from './Chip-Ce0WGKAc.js';
15
- import { a as SvgCheckBox, b as SvgCheckBoxOutlineBlank, S as SvgIndeterminateCheckBox } from './indeterminate_check_box-B4zobNlt.js';
10
+ import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
11
+ import { F as Flex } from './Flex-DOUtHiPi.js';
12
+ import { I as Icon } from './Icon-BMMbp40n.js';
13
+ import { A as Avatar } from './Avatar-NbFc4Ovc.js';
14
+ import { C as Chip } from './Chip-CR5i8mQW.js';
15
+ import { S as SvgCheckBox, a as SvgCheckBoxOutlineBlank } from './check_box-0U1tbEAd.js';
16
+ import { S as SvgIndeterminateCheckBox } from './indeterminate_check_box-jjLG4UY6.js';
16
17
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
17
18
  import { d as defaultRangeExtractor, u as useVirtualizer } from './index-DXeGMe23.js';
18
19
  import { a as useOnClickOutside } from './useOnClickOutside-Zw5vzxSq.js';
19
20
  import { c as computePosition, o as offset, v as autoPlacement, g as size, a as autoUpdate } from './floating-ui.react-dom-CHrYz13o.js';
20
- import { D as DialogCancelButton } from './DialogCancelButton-Czz4Wpse.js';
21
+ import { D as DialogCancelButton } from './DialogCancelButton-CbtQcf2J.js';
21
22
  import { S as SvgClose } from './close-DZj38AEh.js';
22
23
  import { D as DialogContext } from './DialogContext-DBgtApl9.js';
23
24
  import { t as tabbable } from './usePopoverTransitionStates-CDXCdyKa.js';
24
25
  import { u as useDialogScrollLock } from './useDialogScrollLock-BW-aVboo.js';
25
- import { u as useBreakpoint } from './useBreakpoint-okJ64T1D.js';
26
+ import { u as useBreakpoint } from './useBreakpoint-CeaUyHxh.js';
26
27
  import { m as matchSorter } from './match-sorter.esm-CGAauEiU.js';
27
28
 
28
29
  import './syncFilterUtils.css';const DEFAULT_PAGE_SIZE = 20;
@@ -176,46 +177,44 @@ function useSelectFieldLoading(config) {
176
177
  };
177
178
  }
178
179
 
179
- const empty = "_empty_1q60a_6";
180
- const scroller = "_scroller_1q60a_20";
181
- const divider = "_divider_1q60a_50";
180
+ const empty = "_empty_xctva_7";
181
+ const scroller = "_scroller_xctva_23";
182
+ const divider = "_divider_xctva_56";
182
183
  const styles$3 = {
183
- "select-field-list": "_select-field-list_1q60a_2",
184
+ "select-field-list": "_select-field-list_xctva_2",
184
185
  empty: empty,
185
- "load-more": "_load-more_1q60a_13",
186
+ "load-more": "_load-more_xctva_15",
186
187
  scroller: scroller,
187
- "scroll-sentinel": "_scroll-sentinel_1q60a_29",
188
- "pinned-section": "_pinned-section_1q60a_36",
189
- "pinned-section-header": "_pinned-section-header_1q60a_39",
190
- "pinned-section-list": "_pinned-section-list_1q60a_45",
188
+ "scroll-sentinel": "_scroll-sentinel_xctva_31",
189
+ "pinned-section": "_pinned-section_xctva_39",
190
+ "pinned-section-header": "_pinned-section-header_xctva_43",
191
+ "pinned-section-list": "_pinned-section-list_xctva_50",
191
192
  divider: divider
192
193
  };
193
194
 
194
- const floating = "_floating_1nisb_32";
195
- const highlighted = "_highlighted_1nisb_38";
196
- const disabled = "_disabled_1nisb_41";
197
- const description = "_description_1nisb_45";
198
- const single = "_single_1nisb_51";
199
- const selected = "_selected_1nisb_51";
200
- const checkbox = "_checkbox_1nisb_60";
201
- const checked = "_checked_1nisb_64";
202
- const unchecked = "_unchecked_1nisb_67";
203
- const indeterminate = "_indeterminate_1nisb_70";
195
+ const floating = "_floating_vga4g_31";
196
+ const highlighted = "_highlighted_vga4g_44";
197
+ const disabled = "_disabled_vga4g_60";
198
+ const description = "_description_vga4g_72";
199
+ const checkbox = "_checkbox_vga4g_80";
200
+ const checked = "_checked_vga4g_85";
201
+ const indeterminate = "_indeterminate_vga4g_86";
202
+ const unchecked = "_unchecked_vga4g_90";
204
203
  const styles$2 = {
205
- "select-field-list-item": "_select-field-list-item_1nisb_2",
206
- "bulk-action": "_bulk-action_1nisb_27",
204
+ "select-field-list-item": "_select-field-list-item_vga4g_2",
207
205
  floating: floating,
206
+ "bulk-action": "_bulk-action_vga4g_38",
208
207
  highlighted: highlighted,
208
+ "single-selected": "_single-selected_vga4g_50",
209
+ "single-selected-highlighted": "_single-selected-highlighted_vga4g_55",
209
210
  disabled: disabled,
211
+ "side-content": "_side-content_vga4g_65",
210
212
  description: description,
211
- "chips-row": "_chips-row_1nisb_48",
212
- single: single,
213
- selected: selected,
214
- "side-content": "_side-content_1nisb_54",
213
+ "chips-row": "_chips-row_vga4g_76",
215
214
  checkbox: checkbox,
216
215
  checked: checked,
217
- unchecked: unchecked,
218
- indeterminate: indeterminate
216
+ indeterminate: indeterminate,
217
+ unchecked: unchecked
219
218
  };
220
219
 
221
220
  const SelectOption = ({
@@ -229,6 +228,7 @@ const SelectOption = ({
229
228
  isListScrolled = false
230
229
  }) => {
231
230
  const isBulkAction = item.type === "select-all" || item.type === "select-filtered";
231
+ const isSingleSelected = selectionType === "single" && checked === "checked";
232
232
  const checkbox = useMemo(() => {
233
233
  if (checked === "checked")
234
234
  return { icon: SvgCheckBox, class: styles$2["checked"] };
@@ -251,10 +251,10 @@ const SelectOption = ({
251
251
  index,
252
252
  "data-type": item.type,
253
253
  className: cx(styles$2["select-field-list-item"], {
254
- [styles$2.highlighted]: highlighted,
255
- [styles$2.selected]: checked === "checked",
254
+ [styles$2.highlighted]: highlighted && !isSingleSelected,
255
+ [styles$2["single-selected"]]: isSingleSelected && !highlighted,
256
+ [styles$2["single-selected-highlighted"]]: isSingleSelected && highlighted,
256
257
  [styles$2.disabled]: disabled,
257
- [styles$2.single]: selectionType === "single",
258
258
  [styles$2["bulk-action"]]: isBulkAction,
259
259
  [styles$2.floating]: isBulkAction && isListScrolled
260
260
  })
@@ -903,7 +903,7 @@ function useDebouncedCallback(callback, delay = 300) {
903
903
  }
904
904
 
905
905
  const styles$1 = {
906
- "options-popover": "_options-popover_185l7_2"
906
+ "options-popover": "_options-popover_4pckc_2"
907
907
  };
908
908
 
909
909
  function resolveWidth(width, referenceWidth) {
@@ -985,12 +985,12 @@ const OptionsPopover = (props) => {
985
985
  );
986
986
  };
987
987
 
988
- const header = "_header_1lctb_34";
989
- const field = "_field_1lctb_2";
990
- const content = "_content_1lctb_45";
988
+ const header = "_header_3g90c_40";
989
+ const field = "_field_3g90c_2";
990
+ const content = "_content_3g90c_53";
991
991
  const styles = {
992
- "field-dialog": "_field-dialog_1lctb_2",
993
- "field-dialog-visual-viewport-height": "_field-dialog-visual-viewport-height_1lctb_17",
992
+ "field-dialog": "_field-dialog_3g90c_2",
993
+ "field-dialog-visual-viewport-height": "_field-dialog-visual-viewport-height_3g90c_20",
994
994
  header: header,
995
995
  field: field,
996
996
  content: content
@@ -1502,4 +1502,4 @@ const sortByGroup = (options, groupSorter) => {
1502
1502
  };
1503
1503
 
1504
1504
  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 };
1505
- //# sourceMappingURL=syncFilterUtils-UR5Vgqkh.js.map
1505
+ //# sourceMappingURL=syncFilterUtils-BLcRXQfd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncFilterUtils-BLcRXQfd.js","sources":["../src/internal/hooks/useSelectFieldLoading/useSelectFieldLoading.ts","../src/internal/components/SelectOption.tsx","../src/internal/components/InView.tsx","../src/internal/hooks/useOptionsSections.ts","../src/internal/components/OptionsPanel.tsx","../src/internal/components/VirtualizedOptionsPanel.tsx","../src/internal/hooks/useDebouncedCallback/useDebouncedCallback.ts","../src/internal/components/OptionsPopover/OptionsPopover.tsx","../src/internal/components/OptionsDialog/OptionsDialog.tsx","../src/internal/hooks/usePinnedOptions.ts","../src/internal/hooks/useGroupedOptions.ts","../src/internal/hooks/useProcessedOptions.ts","../src/internal/functions/buildSelectItems.ts","../src/beta/hooks/useAdaptiveView/useAdaptiveView.tsx","../src/internal/hooks/useSelectOrchestration.ts","../src/internal/functions/syncFilterUtils.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n SelectFieldOption,\n SelectFieldPageLazyResult,\n SelectFieldOffsetLazyResult,\n SelectFieldGroupLazyResult,\n SelectFieldPropsLazyPage,\n SelectFieldPropsLazyOffset,\n SelectFieldPropsLazyGroup,\n SelectFieldPropsEager,\n} from \"../../../beta/components/SelectField/types\";\n\nexport const DEFAULT_PAGE_SIZE = 20;\nconst DEFAULT_CACHE_MAX_SIZE = 15;\n\n/**\n * Configuration for caching search results in useSelectFieldLoading.\n * When enabled, the full accumulated state (options, pagination cursor, hasMore)\n * is cached per search value, allowing instant restoration when returning to\n * a previous search.\n */\nexport type CacheConfig = {\n /**\n * Whether caching is enabled. Defaults to true.\n */\n enabled?: boolean;\n /**\n * Maximum number of search values to cache before clearing.\n * Defaults to 15.\n */\n maxSize?: number;\n};\n\n/**\n * The full state cached per search value, including accumulated options,\n * pagination cursor, and hasMore flag.\n */\ntype CachedSearchState = {\n options: SelectFieldOption[];\n hasMore: boolean;\n previousPage: number;\n previousOffset: number;\n previousGroup: string | number | null;\n};\n\ntype UseSelectFieldLoadingConfigLazyPage = Pick<\n SelectFieldPropsLazyPage,\n \"lazy\" | \"loadOptions\"\n> & {\n pageSize: number;\n cache?: CacheConfig;\n};\n\ntype UseSelectFieldLoadingConfigLazyOffset = Pick<\n SelectFieldPropsLazyOffset,\n \"lazy\" | \"loadOptions\"\n> & {\n limit: number;\n cache?: CacheConfig;\n};\n\ntype UseSelectFieldLoadingConfigLazyGroup = Pick<\n SelectFieldPropsLazyGroup,\n \"lazy\" | \"loadOptions\"\n> & {\n cache?: CacheConfig;\n};\n\ntype UseSelectFieldLoadingConfigEager = Pick<\n SelectFieldPropsEager,\n \"lazy\" | \"loadOptions\"\n> & {\n cache?: CacheConfig;\n};\n\nexport type UseSelectFieldLoadingConfig =\n | UseSelectFieldLoadingConfigLazyPage\n | UseSelectFieldLoadingConfigLazyOffset\n | UseSelectFieldLoadingConfigLazyGroup\n | UseSelectFieldLoadingConfigEager;\n\nexport type UseSelectFieldLoadingReturn = {\n /**\n * Current loaded options array\n */\n options: SelectFieldOption[];\n /**\n * Boolean indicating initial load in progress\n */\n loading: boolean;\n /**\n * Boolean indicating load more in progress\n */\n loadingMore: boolean;\n /**\n * Boolean indicating if more options are available\n */\n hasMore: boolean;\n /**\n * Function to load options. When initial is true, replaces options and sets loading state.\n * When initial is false or undefined, appends options and sets loadingMore state.\n * @param searchValue - The search value to load options for\n * @param options - Optional configuration\n * @param options.initial - Whether this is an initial load (replaces options) or continuation (appends options)\n */\n loadOptions: (\n searchValue: string,\n options?: { initial?: boolean },\n ) => Promise<void>;\n /**\n * Function to load more options (for pagination). Appends to existing options.\n * @param searchValue - The search value to load more options for\n */\n loadMore: (searchValue: string) => Promise<void>;\n /**\n * Function to reset all state to initial values\n */\n reset: () => void;\n /**\n * Function to clear the search results cache\n */\n clearCache: () => void;\n};\n\n/**\n * Custom hook for managing SelectField option loading state and logic.\n *\n * Features:\n * - Manages option loading state (loading, loadingMore, hasMore)\n * - Supports eager loading and three lazy loading modes (page, offset, group)\n * - Handles pagination state tracking for lazy loading\n * - Provides methods to load options (initial or continuation) and load more\n * - Automatically manages option replacement vs appending based on load type\n * - Tracks pagination state (page, offset, group) for lazy loading modes\n * - Provides reset functionality to clear all state\n *\n * @param config - Configuration object containing lazy mode, loadOptions function, and pagination settings\n * @returns Object containing options, loading states, and load functions\n *\n * @example\n * const { options, loading, loadingMore, hasMore, loadOptions, loadMore } = useSelectFieldLoading({\n * lazy: \"page\",\n * loadOptions: async (searchValue, page, pageSize) => {\n * const result = await fetchOptions(searchValue, page, pageSize);\n * return { options: result.items, hasMore: result.hasMore };\n * },\n * pageSize: 10\n * });\n */\nexport function useSelectFieldLoading(\n config: UseSelectFieldLoadingConfig,\n): UseSelectFieldLoadingReturn {\n const { lazy, loadOptions: loadOptionsProp, cache: cacheConfig } = config;\n\n // Cache configuration\n const cacheEnabled = cacheConfig?.enabled !== false;\n const cacheMaxSize = cacheConfig?.maxSize ?? DEFAULT_CACHE_MAX_SIZE;\n\n const [options, setOptions] = useState<SelectFieldOption[]>([]);\n const [hasMoreToLoad, setHasMoreToLoad] = useState(false);\n const [previousGroup, setPreviousGroup] = useState<string | number | null>(\n null,\n );\n const [previousPage, setPreviousPage] = useState<number>(0);\n const [previousOffset, setPreviousOffset] = useState<number>(0);\n const [loading, setLoading] = useState(false);\n const [loadingMore, setLoadingMore] = useState(false);\n\n // Cache state: stores full accumulated state per search value\n const [stateCache, setStateCache] = useState<Map<string, CachedSearchState>>(\n () => new Map(),\n );\n // Track the current search value to know which cache entry to update on loadMore\n const currentSearchValueRef = useRef<string>(\"\");\n // Track whether loadOptions has completed at least once, to distinguish\n // the initial empty state from an API response that returned zero results.\n const hasCompletedLoadRef = useRef(false);\n\n const appendOptions = useCallback((newOptions: SelectFieldOption[]) => {\n setOptions((prevOptions) => prevOptions.concat(newOptions));\n }, []);\n\n const pageSize =\n lazy === \"page\"\n ? (config as UseSelectFieldLoadingConfigLazyPage).pageSize\n : DEFAULT_PAGE_SIZE;\n const limit =\n lazy === \"offset\"\n ? (config as UseSelectFieldLoadingConfigLazyOffset).limit\n : DEFAULT_PAGE_SIZE;\n\n // Helper to restore state from cache\n const restoreFromCache = useCallback((cached: CachedSearchState) => {\n setOptions(cached.options);\n setHasMoreToLoad(cached.hasMore);\n setPreviousPage(cached.previousPage);\n setPreviousOffset(cached.previousOffset);\n setPreviousGroup(cached.previousGroup);\n }, []);\n\n // Sync current state to cache whenever options or pagination state changes.\n // This effect runs after React has batched all state updates from loadOptions/loadMore,\n // ensuring we cache the complete, up-to-date state.\n useEffect(() => {\n if (!cacheEnabled) return;\n const searchValue = currentSearchValueRef.current;\n // Don't cache the initial empty state before any load has completed\n if (!hasCompletedLoadRef.current) return;\n\n setStateCache((prev) => {\n // Clear cache if we've reached max size\n if (prev.size >= cacheMaxSize) {\n prev.clear();\n }\n\n prev.set(searchValue, {\n options,\n hasMore: hasMoreToLoad,\n previousPage,\n previousOffset,\n previousGroup,\n });\n return new Map(prev);\n });\n }, [\n cacheEnabled,\n cacheMaxSize,\n options,\n hasMoreToLoad,\n previousPage,\n previousOffset,\n previousGroup,\n ]);\n\n const loadOptions = useCallback(\n async (\n searchValue: string,\n options?: { initial?: boolean },\n ): Promise<void> => {\n const isInitial = !!options?.initial;\n\n // On initial load, check cache first\n if (isInitial && cacheEnabled) {\n const cached = stateCache.get(searchValue);\n if (cached) {\n // Restore full state from cache - no API call needed\n currentSearchValueRef.current = searchValue;\n restoreFromCache(cached);\n return;\n }\n }\n\n // Track current search value for cache updates on loadMore\n if (isInitial) {\n currentSearchValueRef.current = searchValue;\n }\n\n (isInitial ? setLoading : setLoadingMore)(true);\n\n try {\n if (!lazy) {\n const result = await loadOptionsProp(searchValue);\n const resolved = Array.isArray(result) ? result : await result;\n (isInitial ? setOptions : appendOptions)(resolved);\n } else {\n let result:\n | SelectFieldPageLazyResult\n | SelectFieldOffsetLazyResult\n | SelectFieldGroupLazyResult;\n\n if (lazy === \"page\") {\n const page = isInitial ? 0 : previousPage;\n result = await loadOptionsProp(searchValue, page, pageSize);\n setPreviousPage(isInitial ? 1 : page + 1);\n } else if (lazy === \"offset\") {\n const offset = isInitial ? 0 : previousOffset;\n result = await loadOptionsProp(searchValue, offset, limit);\n setPreviousOffset(isInitial ? limit : offset + limit);\n } else if (lazy === \"group\") {\n const group = isInitial ? null : previousGroup;\n result = await loadOptionsProp(searchValue, group);\n setPreviousGroup(\n result.options[result.options.length - 1]?.group ?? null,\n );\n } else {\n throw new Error(\n `Invalid lazy mode: ${lazy}. Expected 'page', 'offset', or 'group'.`,\n );\n }\n\n setHasMoreToLoad(result.hasMore ?? false);\n (isInitial ? setOptions : appendOptions)(result.options);\n }\n hasCompletedLoadRef.current = true;\n } finally {\n (isInitial ? setLoading : setLoadingMore)(false);\n }\n },\n [\n lazy,\n pageSize,\n limit,\n loadOptionsProp,\n appendOptions,\n previousPage,\n previousOffset,\n previousGroup,\n cacheEnabled,\n stateCache,\n restoreFromCache,\n ],\n );\n\n const loadMore = useCallback(\n async (searchValue: string): Promise<void> => {\n await loadOptions(searchValue, { initial: false });\n },\n [loadOptions],\n );\n\n const reset = useCallback(() => {\n setOptions([]);\n setHasMoreToLoad(false);\n setPreviousGroup(null);\n setPreviousPage(0);\n setPreviousOffset(0);\n setLoading(false);\n setLoadingMore(false);\n }, []);\n\n const clearCache = useCallback(() => {\n setStateCache(new Map());\n }, []);\n\n return {\n options,\n loading,\n loadingMore,\n hasMore: hasMoreToLoad,\n loadOptions,\n loadMore,\n reset,\n clearCache,\n };\n}\n","import { Flex } from \"../../components/Flex\";\nimport { SelectItem } from \"../types/selectFieldInternalTypes\";\nimport Icon from \"../../components/Icon\";\nimport { Avatar } from \"../../components/Avatar\";\nimport { Chip } from \"../../components/Chip\";\nimport styles from \"./SelectOption.module.scss\";\nimport CheckboxOutline from \"@servicetitan/hammer-icon/mdi/round/check_box_outline_blank.svg\";\nimport CheckboxChecked from \"@servicetitan/hammer-icon/mdi/round/check_box.svg\";\nimport CheckboxIndeterminate from \"@servicetitan/hammer-icon/mdi/round/indeterminate_check_box.svg\";\nimport Check from \"@servicetitan/hammer-icon/mdi/round/check.svg\";\nimport cx from \"classnames\";\nimport { useMemo } from \"react\";\nimport Text from \"../../components/Text\";\nimport { CheckState } from \"../../types\";\nimport Spinner from \"../../components/Spinner\";\nimport { GetItemPropsFn } from \"../types/selectFieldInternalTypes\";\n\nexport type SelectOptionProps = {\n item: SelectItem;\n index: number;\n highlighted: boolean;\n disabled: boolean;\n getItemProps: GetItemPropsFn;\n selectionType: \"single\" | \"multiple\";\n checked: CheckState;\n isListScrolled?: boolean;\n};\n\nexport const SelectOption = ({\n item,\n index,\n highlighted,\n disabled,\n getItemProps,\n selectionType,\n checked,\n isListScrolled = false,\n}: SelectOptionProps) => {\n const isBulkAction =\n item.type === \"select-all\" || item.type === \"select-filtered\";\n const isSingleSelected = selectionType === \"single\" && checked === \"checked\";\n const checkbox = useMemo(() => {\n if (checked === \"checked\")\n return { icon: CheckboxChecked, class: styles[\"checked\"] };\n if (checked === \"unchecked\")\n return { icon: CheckboxOutline, class: styles[\"unchecked\"] };\n if (checked === \"indeterminate\")\n return { icon: CheckboxIndeterminate, class: styles[\"indeterminate\"] };\n return { icon: CheckboxOutline, class: styles[\"unchecked\"] };\n }, [checked]);\n\n const content = item.original.content;\n const hasAvatar = !!content?.avatar;\n const hasChips = !!content?.chips?.length;\n const hasIcon = !!content?.icon;\n\n return (\n <div\n key={item.id}\n data-item-index={index}\n {...getItemProps({\n item,\n index,\n \"data-type\": item.type,\n className: cx(styles[\"select-field-list-item\"], {\n [styles.highlighted]: highlighted && !isSingleSelected,\n [styles[\"single-selected\"]]: isSingleSelected && !highlighted,\n [styles[\"single-selected-highlighted\"]]:\n isSingleSelected && highlighted,\n [styles.disabled]: disabled,\n [styles[\"bulk-action\"]]: isBulkAction,\n [styles.floating]: isBulkAction && isListScrolled,\n }),\n })}\n >\n {selectionType === \"multiple\" && (\n <div className={styles[\"side-content\"]}>\n {checked === \"loading\" ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n style={{ height: \"1.5rem\", width: \"1.5rem\" }}\n >\n <Spinner size=\"small\" />\n </Flex>\n ) : (\n // Decorative: selection state is conveyed by aria-selected on the <li>\n <Icon\n aria-hidden=\"true\"\n size=\"large\"\n svg={checkbox.icon}\n className={cx(styles[\"checkbox\"], checkbox.class)}\n />\n )}\n </div>\n )}\n {hasAvatar && (\n // aria-hidden: Avatar has internal <SrOnly> text that would duplicate the option label\n <div className={styles[\"side-content\"]} aria-hidden=\"true\">\n <Avatar size=\"medium\" {...content!.avatar!} />\n </div>\n )}\n <Flex grow={1} shrink={1} direction=\"column\">\n <Text size=\"medium\">{content?.title ?? item.original.label}</Text>\n {content?.description && (\n <Text size=\"small\" className={styles[\"description\"]}>\n {content.description}\n </Text>\n )}\n {hasChips && (\n // Group label gives screen readers context that these are tags\n <Flex\n wrap=\"wrap\"\n gap=\"1\"\n className={styles[\"chips-row\"]}\n role=\"group\"\n aria-label=\"Tags\"\n >\n {content!.chips!.map((chip, i) => (\n <Chip key={`${chip.label}-${i}`} size=\"small\" {...chip} />\n ))}\n </Flex>\n )}\n </Flex>\n {hasIcon && (\n <div className={styles[\"side-content\"]}>\n {/* Treated as decorative unless consumer provides a label */}\n <Icon\n size=\"large\"\n svg={content!.icon!.svg}\n color={content!.icon!.color}\n aria-hidden={content!.icon!.label ? undefined : \"true\"}\n aria-label={content!.icon!.label}\n />\n </div>\n )}\n {selectionType === \"single\" && checked === \"checked\" && (\n <div className={styles[\"side-content\"]}>\n {/* Decorative: selection state is conveyed by aria-selected on the <li>, hence aria-hidden */}\n <Icon\n aria-hidden=\"true\"\n size=\"medium\"\n svg={Check}\n className={cx(styles[\"checkbox\"], styles[\"checked\"])}\n />\n </div>\n )}\n </div>\n );\n};\n","import { ReactNode } from \"react\";\nimport { useIntersectionObserver } from \"../hooks\";\n\n/**\n * Props for the InView component\n * @property {ReactNode} children - The content to render inside the visibility-tracked container\n * @property {(isVisible: boolean) => void} [onVisibilityChange] - Callback fired when visibility changes\n */\ntype InViewProps = {\n /**\n * The content to render inside the visibility-tracked container\n */\n children?: ReactNode;\n /**\n * Callback fired when the element's visibility in the viewport changes\n */\n onVisibilityChange?: (isVisible: boolean) => void;\n /**\n * The root margin for the intersection observer\n */\n rootMargin?: string;\n};\n\n/**\n * Internal component that detects when its content is visible in the viewport.\n *\n * Features:\n * - Uses Intersection Observer API for efficient visibility detection\n * - Fires callback when visibility state changes\n * - Handles browser compatibility gracefully\n * - Automatically cleans up observer on unmount\n *\n * @param props - Component props\n * @returns Wrapped children with visibility detection\n */\nexport const InView = ({\n children,\n onVisibilityChange,\n rootMargin,\n}: InViewProps) => {\n const { ref } = useIntersectionObserver({\n onChange: (isIntersecting) => {\n onVisibilityChange?.(isIntersecting);\n },\n rootMargin,\n });\n\n return <div ref={ref}>{children}</div>;\n};\n","import { useMemo } from \"react\";\nimport { SectionMeta, SelectItem } from \"../types/selectFieldInternalTypes\";\n\nexport type SectionItem = { item: SelectItem; index: number };\n\nexport type PinnedSection = {\n type: \"pinned\";\n label: string;\n items: SectionItem[];\n loading?: boolean;\n};\n\nexport type GroupSection = {\n type: \"group\";\n label: string;\n items: SectionItem[];\n};\n\nexport type FlatSection = {\n type: \"flat\";\n items: SectionItem[];\n};\n\nexport type Section = PinnedSection | GroupSection | FlatSection;\n\nexport type VirtualRow =\n | { type: \"item\"; item: SelectItem; index: number }\n | { type: \"header\"; label: string; sectionIndex: number }\n | { type: \"divider\"; sectionIndex: number }\n | { type: \"load-more\" };\n\n/**\n * Computes grouped sections from a flat items array and section metadata.\n * @param items - The flat items array\n * @param sectionsMeta - Section metadata describing pinned/group ranges\n * @returns Grouped sections for rendering\n */\nexport const useOptionsSections = (\n items: SelectItem[],\n sectionsMeta: SectionMeta[],\n): Section[] => {\n return useMemo((): Section[] => {\n if (sectionsMeta.length === 0) {\n return [\n {\n type: \"flat\",\n items: items.map((item, index) => ({ item, index })),\n },\n ];\n }\n\n const result: Section[] = [];\n\n const firstSectionStartIndex = Math.min(\n ...sectionsMeta.map((s) => s.startIndex),\n );\n\n if (firstSectionStartIndex > 0) {\n const flatItems: SectionItem[] = [];\n for (let i = 0; i < firstSectionStartIndex; i++) {\n if (items[i]) {\n flatItems.push({ item: items[i], index: i });\n }\n }\n if (flatItems.length > 0) {\n result.push({ type: \"flat\", items: flatItems });\n }\n }\n\n sectionsMeta.forEach((meta) => {\n const sectionItems: SectionItem[] = [];\n for (let i = meta.startIndex; i < meta.endIndex; i++) {\n if (items[i]) {\n sectionItems.push({ item: items[i], index: i });\n }\n }\n if (meta.type === \"pinned\") {\n if (sectionItems.length > 0 || meta.loading) {\n result.push({\n type: \"pinned\",\n label: meta.label,\n items: sectionItems,\n loading: meta.loading,\n });\n }\n } else if (sectionItems.length > 0) {\n result.push({\n type: \"group\",\n label: meta.label,\n items: sectionItems,\n });\n }\n });\n\n const lastSectionIndex =\n sectionsMeta.length > 0\n ? Math.max(...sectionsMeta.map((s) => s.endIndex))\n : 0;\n\n if (lastSectionIndex < items.length) {\n const flatItems: SectionItem[] = [];\n for (let i = lastSectionIndex; i < items.length; i++) {\n flatItems.push({ item: items[i], index: i });\n }\n if (flatItems.length > 0) {\n result.push({ type: \"flat\", items: flatItems });\n }\n }\n\n return result;\n }, [items, sectionsMeta]);\n};\n\n/**\n * Flattens grouped sections into a linear list of virtual rows for virtualization,\n * and builds a mapping from downshift item index to virtual row index.\n * @param sections - The grouped sections from useOptionsSections\n * @param hasMore - Whether there are more items to load\n * @returns The flat virtual row list and a downshift-to-virtual index mapping\n */\nexport function flattenSectionsToVirtualRows(\n sections: Section[],\n hasMore: boolean,\n): {\n virtualRows: VirtualRow[];\n downshiftIndexToVirtualRowIndex: Record<number, number>;\n stickyIndices: number[];\n} {\n const virtualRows: VirtualRow[] = [];\n const downshiftIndexToVirtualRowIndex: Record<number, number> = {};\n const stickyIndices: number[] = [];\n\n sections.forEach((section, sectionIndex) => {\n const isLastSection = sectionIndex === sections.length - 1;\n\n if (section.type === \"pinned\" || section.type === \"group\") {\n virtualRows.push({\n type: \"header\",\n label: section.label,\n sectionIndex,\n });\n\n section.items.forEach(({ item, index }) => {\n downshiftIndexToVirtualRowIndex[index] = virtualRows.length;\n virtualRows.push({ type: \"item\", item, index });\n });\n\n if (!isLastSection) {\n virtualRows.push({ type: \"divider\", sectionIndex });\n }\n } else {\n section.items.forEach(({ item, index }) => {\n const isBulkAction =\n item.type === \"select-all\" || item.type === \"select-filtered\";\n if (isBulkAction) {\n stickyIndices.push(virtualRows.length);\n }\n downshiftIndexToVirtualRowIndex[index] = virtualRows.length;\n virtualRows.push({ type: \"item\", item, index });\n });\n }\n });\n\n if (hasMore) {\n virtualRows.push({ type: \"load-more\" });\n }\n\n return { virtualRows, downshiftIndexToVirtualRowIndex, stickyIndices };\n}\n","import { SelectItem } from \"../types/selectFieldInternalTypes\";\nimport Spinner from \"../../components/Spinner\";\nimport Button from \"../../components/Button\";\nimport styles from \"./SelectOptions.module.scss\";\nimport cx from \"classnames\";\nimport {\n CSSProperties,\n forwardRef,\n ReactNode,\n useEffect,\n useId,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { SelectOption } from \"./SelectOption\";\nimport { InView } from \"./InView\";\nimport { Text } from \"../../components/Text\";\nimport { SrOnly } from \"../../components\";\nimport Divider from \"../../components/Divider\";\nimport { CheckState } from \"../../types\";\nimport {\n GetItemPropsFn,\n GetMenuPropsFn,\n SectionMeta,\n} from \"../types/selectFieldInternalTypes\";\nimport { useMergeRefs } from \"../../hooks/useMergeRefs\";\nimport { useOptionsSections } from \"../hooks/useOptionsSections\";\n\nexport type OptionsPanelHandle = {\n scrollToTop: () => void;\n scrollToIndex: (index: number) => void;\n};\n\nexport type OptionsPanelProps = {\n isOpen: boolean;\n items: SelectItem[];\n getMenuProps: GetMenuPropsFn;\n getItemProps: GetItemPropsFn;\n highlightedIndex: number;\n getCheckedState: (item: SelectItem) => CheckState;\n selectionType: \"single\" | \"multiple\";\n hasMore: boolean;\n onLoadMore: () => void;\n loading: boolean;\n loadingMore: boolean;\n disableAutoLoadMore?: boolean;\n disabled?: boolean;\n className?: string;\n style?: CSSProperties;\n sectionsMeta?: SectionMeta[];\n};\n\nexport const OptionsPanel = forwardRef<OptionsPanelHandle, OptionsPanelProps>(\n (\n {\n isOpen,\n items,\n getMenuProps,\n getItemProps,\n highlightedIndex,\n getCheckedState,\n selectionType,\n hasMore,\n onLoadMore,\n loading,\n loadingMore,\n disableAutoLoadMore,\n disabled,\n className,\n style,\n sectionsMeta = [],\n },\n ref,\n ) => {\n const baseId = useId();\n const scrollSentinelRef = useRef<HTMLDivElement>(null);\n const scrollerRef = useRef<HTMLDivElement>(null);\n const [isScrolled, setIsScrolled] = useState(false);\n\n useImperativeHandle(ref, () => ({\n scrollToTop: () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = 0;\n }\n },\n scrollToIndex: (index: number) => {\n if (!scrollerRef.current) return;\n if (index <= 0) {\n // special case for first item allows group header to be visible\n scrollerRef.current.scrollTop = 0;\n return;\n }\n const item = scrollerRef.current.querySelector(\n `[data-item-index=\"${index}\"]`,\n );\n if (item) {\n item.scrollIntoView({ block: \"nearest\" });\n }\n },\n }));\n\n // IntersectionObserver to detect scroll state for sticky shadow.\n useEffect(() => {\n if (!isOpen) {\n setIsScrolled(false);\n return;\n }\n if (!scrollSentinelRef.current) return;\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n setIsScrolled(!entry.isIntersecting);\n });\n },\n { threshold: 0, root: scrollerRef.current },\n );\n observer.observe(scrollSentinelRef.current);\n return () => observer.disconnect();\n }, [isOpen]);\n\n // Check if any pinned section is still loading its options.\n // If so, show the main list loading indicator to avoid layout shift.\n const anyPinnedLoading = sectionsMeta.some(\n (s) => s.type === \"pinned\" && s.loading,\n );\n\n const handleLoaderVisibilityChange = (visible: boolean) => {\n if (visible && !disableAutoLoadMore) {\n onLoadMore();\n }\n };\n\n const sections = useOptionsSections(items, sectionsMeta);\n\n const renderItem = (item: SelectItem, index: number): ReactNode => (\n <SelectOption\n key={item.id}\n item={item}\n index={index}\n getItemProps={getItemProps}\n selectionType={selectionType}\n checked={getCheckedState(item)}\n highlighted={highlightedIndex === index}\n disabled={(disabled || item.disabled) ?? false}\n isListScrolled={isScrolled}\n />\n );\n\n const renderSections = (): ReactNode[] => {\n const result: ReactNode[] = [];\n\n sections.forEach((section, sectionIndex) => {\n const isLastSection = sectionIndex === sections.length - 1;\n\n if (section.type === \"pinned\" || section.type === \"group\") {\n const labelId = `${baseId}-section-${sectionIndex}`;\n\n result.push(\n <div\n key={`section-${sectionIndex}`}\n role=\"group\"\n aria-labelledby={labelId}\n className={styles[\"pinned-section\"]}\n >\n <span id={labelId} className={styles[\"pinned-section-header\"]}>\n <Text variant=\"eyebrow\">{section.label}</Text>\n </span>\n <div className={styles[\"pinned-section-list\"]}>\n {section.items.map(({ item, index }) =>\n renderItem(item, index),\n )}\n </div>\n </div>,\n );\n if (!isLastSection) {\n result.push(\n // Decorative — group boundaries are already conveyed by role=\"group\" with aria-labelledby\n <div\n key={`divider-${sectionIndex}`}\n role=\"presentation\"\n aria-hidden=\"true\"\n className={styles[\"divider\"]}\n >\n <Divider />\n </div>,\n );\n }\n } else {\n // Flat items - render directly\n section.items.forEach(({ item, index }) => {\n result.push(renderItem(item, index));\n });\n }\n });\n\n return result;\n };\n\n const menuProps = getMenuProps({\n className: cx(styles[\"scroller\"], className),\n style,\n });\n\n const menuRef = useMergeRefs([menuProps.ref, scrollerRef]);\n\n return (\n <div {...menuProps} ref={menuRef}>\n <div className={styles[\"select-field-list\"]}>\n {isOpen && (\n <div\n ref={scrollSentinelRef}\n className={styles[\"scroll-sentinel\"]}\n role=\"presentation\"\n aria-hidden=\"true\"\n />\n )}\n {isOpen && (\n <>\n {loading || anyPinnedLoading ? (\n <div role=\"presentation\" className={styles[\"empty\"]}>\n <Spinner size=\"medium\" />\n </div>\n ) : items.length > 0 ? (\n renderSections()\n ) : (\n <div role=\"presentation\" className={styles[\"empty\"]}>\n <Text subdued size=\"small\">\n No match found\n </Text>\n </div>\n )}\n </>\n )}\n {loadingMore ? (\n <div role=\"presentation\" className={styles[\"load-more\"]}>\n <Spinner size=\"small\" />\n <SrOnly>Loading more...</SrOnly>\n </div>\n ) : hasMore && !loading ? (\n <div role=\"presentation\">\n <InView\n onVisibilityChange={handleLoaderVisibilityChange}\n rootMargin=\"0px 0px -100px 0px\"\n >\n <div className={styles[\"load-more\"]}>\n <Button\n appearance=\"secondary\"\n size=\"small\"\n onClick={onLoadMore}\n >\n Load more\n </Button>\n </div>\n </InView>\n </div>\n ) : null}\n </div>\n </div>\n );\n },\n);\n\nOptionsPanel.displayName = \"OptionsPanel\";\n","import Spinner from \"../../components/Spinner\";\nimport Button from \"../../components/Button\";\nimport styles from \"./SelectOptions.module.scss\";\nimport cx from \"classnames\";\nimport {\n forwardRef,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { SelectOption } from \"./SelectOption\";\nimport { Text } from \"../../components/Text\";\nimport { SrOnly } from \"../../components\";\nimport Divider from \"../../components/Divider\";\nimport { useMergeRefs } from \"../../hooks/useMergeRefs\";\nimport {\n useOptionsSections,\n flattenSectionsToVirtualRows,\n VirtualRow,\n} from \"../hooks/useOptionsSections\";\nimport { defaultRangeExtractor, useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { Range } from \"@tanstack/react-virtual\";\nimport { OptionsPanelProps, OptionsPanelHandle } from \"./OptionsPanel\";\n\nconst EST_PADDING_BLOCK = 16; // $size-2 * 2\nconst EST_LINE_HEIGHT = 18; // $size-4 + $size-half\nconst EST_CHIP_ROW_HEIGHT = 28; // $size-1 margin + ~24px chip\nconst EST_SIDE_CONTENT_HEIGHT = 40; // $size-10\nconst EST_HEADER_HEIGHT = 32;\nconst EST_DIVIDER_HEIGHT = 17;\nconst EST_LOAD_MORE_HEIGHT = 40;\nconst EST_BASE_ITEM_HEIGHT = EST_PADDING_BLOCK + EST_LINE_HEIGHT; // 34\n\nfunction estimateRowHeight(row: VirtualRow): number {\n if (row.type === \"header\") return EST_HEADER_HEIGHT;\n if (row.type === \"divider\") return EST_DIVIDER_HEIGHT;\n if (row.type === \"load-more\") return EST_LOAD_MORE_HEIGHT;\n\n const content = row.item.original.content;\n if (!content) return EST_BASE_ITEM_HEIGHT;\n\n let contentHeight = EST_LINE_HEIGHT;\n if (content.description) contentHeight += EST_LINE_HEIGHT;\n if (content.chips?.length) contentHeight += EST_CHIP_ROW_HEIGHT;\n if (content.avatar || content.icon)\n contentHeight = Math.max(contentHeight, EST_SIDE_CONTENT_HEIGHT);\n\n return EST_PADDING_BLOCK + contentHeight;\n}\n\nexport const VirtualizedOptionsPanel = forwardRef<\n OptionsPanelHandle,\n OptionsPanelProps\n>(\n (\n {\n isOpen,\n items,\n getMenuProps,\n getItemProps,\n highlightedIndex,\n getCheckedState,\n selectionType,\n hasMore,\n onLoadMore,\n loading,\n loadingMore,\n disableAutoLoadMore,\n disabled,\n className,\n style,\n sectionsMeta = [],\n },\n ref,\n ) => {\n const baseId = useId();\n const scrollSentinelRef = useRef<HTMLDivElement>(null);\n const scrollerRef = useRef<HTMLDivElement>(null);\n const [isScrolled, setIsScrolled] = useState(false);\n\n useEffect(() => {\n if (!isOpen) {\n setIsScrolled(false);\n return;\n }\n if (!scrollSentinelRef.current) return;\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n setIsScrolled(!entry.isIntersecting);\n });\n },\n { threshold: 0, root: scrollerRef.current },\n );\n observer.observe(scrollSentinelRef.current);\n return () => observer.disconnect();\n }, [isOpen]);\n\n const anyPinnedLoading = sectionsMeta.some(\n (s) => s.type === \"pinned\" && s.loading,\n );\n\n const sections = useOptionsSections(items, sectionsMeta);\n\n const { virtualRows, downshiftIndexToVirtualRowIndex, stickyIndices } =\n useMemo(\n () => flattenSectionsToVirtualRows(sections, hasMore),\n [sections, hasMore],\n );\n\n const stickyHeightRef = useRef(EST_BASE_ITEM_HEIGHT);\n\n const rangeExtractor = useCallback(\n (range: Range) => {\n if (stickyIndices.length === 0) {\n return defaultRangeExtractor(range);\n }\n const activeStickyIndex =\n [...stickyIndices]\n .reverse()\n .find((index) => range.startIndex >= index) ?? 0;\n\n const next = new Set([\n activeStickyIndex,\n ...defaultRangeExtractor(range),\n ]);\n\n return [...next].sort((a, b) => a - b);\n },\n [stickyIndices],\n );\n\n const virtualizer = useVirtualizer({\n count: virtualRows.length,\n getScrollElement: () => scrollerRef.current,\n estimateSize: (index) => estimateRowHeight(virtualRows[index]),\n overscan: 5,\n rangeExtractor,\n scrollPaddingStart:\n stickyIndices.length > 0 ? stickyHeightRef.current : 0,\n enabled: isOpen,\n getItemKey: (index) => {\n const row = virtualRows[index];\n if (row.type === \"item\") return row.item.id;\n if (row.type === \"header\") return `header-${row.sectionIndex}`;\n if (row.type === \"divider\") return `divider-${row.sectionIndex}`;\n return \"load-more\";\n },\n });\n\n const virtualItems = virtualizer.getVirtualItems();\n\n if (stickyIndices.length > 0) {\n const stickyItem = virtualItems.find((vi) =>\n stickyIndices.includes(vi.index),\n );\n if (stickyItem) {\n stickyHeightRef.current = stickyItem.size;\n }\n }\n\n const downshiftMapRef = useRef(downshiftIndexToVirtualRowIndex);\n downshiftMapRef.current = downshiftIndexToVirtualRowIndex;\n\n const virtualizerRef = useRef(virtualizer);\n virtualizerRef.current = virtualizer;\n\n useImperativeHandle(ref, () => ({\n scrollToTop: () => {\n if (virtualizerRef.current) {\n virtualizerRef.current.scrollToOffset(0);\n }\n },\n scrollToIndex: (index: number) => {\n if (index <= 0) {\n // special case for first item allows group header to be visible\n virtualizerRef.current.scrollToOffset(0);\n return;\n }\n const virtualRowIndex = downshiftMapRef.current[index];\n if (virtualRowIndex != null) {\n virtualizerRef.current.scrollToIndex(virtualRowIndex, {\n align: \"auto\",\n });\n }\n },\n }));\n\n const onLoadMoreRef = useRef(onLoadMore);\n onLoadMoreRef.current = onLoadMore;\n\n // Trigger load more when last item is visible\n useEffect(() => {\n if (!hasMore || loadingMore || disableAutoLoadMore) return;\n const lastItem = virtualItems[virtualItems.length - 1];\n if (!lastItem) return;\n if (lastItem.index >= virtualRows.length - 1) {\n onLoadMoreRef.current();\n }\n }, [\n hasMore,\n loadingMore,\n disableAutoLoadMore,\n virtualItems,\n virtualRows.length,\n ]);\n\n const isSticky = useCallback(\n (index: number) => stickyIndices.includes(index),\n [stickyIndices],\n );\n\n const renderVirtualRow = (row: VirtualRow): ReactNode => {\n if (row.type === \"item\") {\n return (\n <SelectOption\n item={row.item}\n index={row.index}\n getItemProps={getItemProps}\n selectionType={selectionType}\n checked={getCheckedState(row.item)}\n highlighted={highlightedIndex === row.index}\n disabled={(disabled || row.item.disabled) ?? false}\n isListScrolled={isScrolled}\n />\n );\n }\n\n if (row.type === \"header\") {\n const labelId = `${baseId}-section-${row.sectionIndex}`;\n return (\n <div\n role=\"presentation\"\n aria-hidden=\"true\"\n className={styles[\"pinned-section-header\"]}\n >\n <span id={labelId}>\n <Text variant=\"eyebrow\">{row.label}</Text>\n </span>\n </div>\n );\n }\n\n if (row.type === \"divider\") {\n return (\n // Decorative — group boundaries are already conveyed by role=\"group\" with aria-labelledby\n <div\n role=\"presentation\"\n aria-hidden=\"true\"\n className={styles[\"divider\"]}\n >\n <Divider />\n </div>\n );\n }\n\n if (row.type === \"load-more\") {\n if (loadingMore) {\n return (\n <div role=\"presentation\" className={styles[\"load-more\"]}>\n <Spinner size=\"small\" />\n <SrOnly>Loading more...</SrOnly>\n </div>\n );\n }\n return (\n <div role=\"presentation\">\n <div className={styles[\"load-more\"]}>\n <Button\n appearance=\"secondary\"\n size=\"small\"\n onClick={() => onLoadMoreRef.current()}\n >\n Load more\n </Button>\n </div>\n </div>\n );\n }\n\n return null;\n };\n\n const menuProps = getMenuProps({\n className: cx(styles[\"scroller\"], className),\n style,\n });\n\n const menuRef = useMergeRefs([menuProps.ref, scrollerRef]);\n\n return (\n <div {...menuProps} ref={menuRef}>\n <div className={styles[\"select-field-list\"]}>\n {isOpen && (\n <div\n ref={scrollSentinelRef}\n className={styles[\"scroll-sentinel\"]}\n role=\"presentation\"\n aria-hidden=\"true\"\n />\n )}\n {isOpen && (\n <>\n {loading || anyPinnedLoading ? (\n <div role=\"presentation\" className={styles[\"empty\"]}>\n <Spinner size=\"medium\" />\n </div>\n ) : items.length > 0 ? (\n <div\n role=\"presentation\"\n aria-hidden=\"true\"\n style={{\n height: virtualizer.getTotalSize(),\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {virtualItems.map((virtualItem) => {\n const row = virtualRows[virtualItem.index];\n const sticky = isSticky(virtualItem.index);\n\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n style={\n sticky\n ? {\n position: \"sticky\",\n top: 0,\n zIndex: 1,\n }\n : {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${virtualItem.start}px)`,\n }\n }\n >\n {renderVirtualRow(row)}\n </div>\n );\n })}\n </div>\n ) : (\n <div role=\"presentation\" className={styles[\"empty\"]}>\n <Text subdued size=\"small\">\n No match found\n </Text>\n </div>\n )}\n </>\n )}\n </div>\n </div>\n );\n },\n);\n\nVirtualizedOptionsPanel.displayName = \"VirtualizedOptionsPanel\";\n","import { useRef, useEffect, useCallback } from \"react\";\n\n/**\n * Custom hook for creating a debounced version of a callback function.\n *\n * Features:\n * - Delays callback execution until after a specified delay period\n * - Cancels previous pending calls when a new one is made\n * - Maintains stable function reference (only changes when delay changes)\n * - Always uses the latest callback via ref (avoids stale closures)\n * - Properly cleans up timeouts on unmount and delay changes\n * - Supports async callbacks\n * - Type-safe with generics\n *\n * @param callback - The function to debounce\n * @param delay - Delay in milliseconds before executing the callback\n * @returns Debounced version of the callback with the same signature\n *\n * @example\n * const debouncedSearch = useDebouncedCallback(\n * (searchTerm: string) => {\n * performSearch(searchTerm);\n * },\n * 300\n * );\n *\n * // Later in event handler:\n * debouncedSearch(inputValue);\n */\n//eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function useDebouncedCallback<T extends (...args: any[]) => any>(\n callback: T,\n delay: number = 300,\n): T {\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const callbackRef = useRef(callback);\n\n // Update callback ref when it changes to always use the latest version\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n // Cleanup timeout on unmount and when delay changes\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n }, [delay]);\n\n const debouncedCallback = useCallback(\n ((...args: Parameters<T>) => {\n // Cancel any pending call\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n // Schedule new call\n timeoutRef.current = setTimeout(() => {\n callbackRef.current(...args);\n timeoutRef.current = null;\n }, delay);\n }) as T,\n [delay],\n );\n\n return debouncedCallback;\n}\n","import { ReactNode, RefObject, useCallback, useEffect, useRef } from \"react\";\n\nimport {\n autoPlacement,\n autoUpdate,\n computePosition,\n offset,\n size,\n} from \"@floating-ui/react\";\n\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside/useOnClickOutside\";\n\nimport styles from \"./OptionsPopover.module.scss\";\n\nexport type OptionsPopoverProps = {\n id: string;\n children: ReactNode;\n referenceElement: RefObject<HTMLElement>;\n open: boolean;\n onClickOutside: () => void;\n /** Controls the popover width strategy.\n * - `\"reference\"` — match the reference element's width\n * - `number` — fixed width in px\n * - `string` — any CSS width value (e.g. `\"20rem\"`)\n * - `undefined` (default) — intrinsic sizing (`max-content`)\n */\n width?: \"reference\" | number | string;\n};\n\nfunction resolveWidth(\n width: OptionsPopoverProps[\"width\"],\n referenceWidth: number,\n): string | undefined {\n if (width === \"reference\") return `${referenceWidth}px`;\n if (typeof width === \"number\") return `${width}px`;\n if (typeof width === \"string\") return width;\n return undefined;\n}\n\nexport const OptionsPopover = (props: OptionsPopoverProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const { id, children, referenceElement, open, onClickOutside, width } = props;\n\n useOnClickOutside({\n targets: [ref.current ?? undefined, referenceElement.current ?? undefined],\n onClickOutside: onClickOutside,\n disable: !open,\n });\n\n useEffect(() => {\n if (open) {\n ref.current?.showPopover();\n } else {\n ref.current?.hidePopover();\n }\n }, [open]);\n\n const updatePosition = useCallback(async () => {\n if (!ref.current || !referenceElement.current) return;\n const position = await computePosition(\n referenceElement.current,\n ref.current,\n {\n placement: \"bottom-start\",\n middleware: [\n offset(8),\n autoPlacement({\n allowedPlacements: [\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n ],\n padding: 8,\n }),\n size({\n padding: 8,\n apply({ rects, elements, availableHeight, availableWidth }) {\n const resolved = resolveWidth(width, rects.reference.width);\n Object.assign(elements.floating.style, {\n ...(resolved != null && { width: resolved }),\n maxWidth: `${Math.max(0, availableWidth)}px`,\n maxHeight: `${Math.max(0, availableHeight)}px`,\n });\n },\n }),\n ],\n },\n );\n ref.current.style.left = `${position.x}px`;\n ref.current.style.top = `${position.y}px`;\n }, [ref, referenceElement, width]);\n\n useEffect(() => {\n if (!ref.current || !referenceElement.current || !open) return;\n const cleanup = autoUpdate(\n referenceElement.current,\n ref.current,\n updatePosition,\n );\n return () => {\n cleanup();\n };\n }, [referenceElement, ref, updatePosition, open]);\n\n return (\n <div\n ref={ref}\n id={id}\n className={styles[\"options-popover\"]}\n popover=\"manual\"\n >\n {children}\n </div>\n );\n};\n","import { useCallback, useEffect, useRef } from \"react\";\nimport { Flex, FocusableElement, Text } from \"../../..\";\nimport { DialogCancelButton } from \"../../../components/Dialog/DialogCancelButton\";\nimport styles from \"./OptionsDialog.module.scss\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport { DialogContext } from \"../../../components/Dialog/internal/DialogContext\";\nimport { useDialogScrollLock } from \"../..\";\nimport { tabbable } from \"tabbable\";\n\nexport const OptionsDialog = ({\n id,\n isOpen,\n onClose,\n field,\n children,\n title,\n initialFocusResolver,\n}: {\n id: string;\n isOpen: boolean;\n onClose: () => void;\n title: string;\n field?: React.ReactNode;\n children: React.ReactNode;\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n}) => {\n const elRef = useRef<HTMLDialogElement>(null);\n const visualViewportHeightRef = useRef<HTMLDivElement>(null);\n\n useDialogScrollLock({\n open: isOpen,\n id,\n enableScrollChaining: false,\n elementRef: elRef,\n });\n\n const computeFocus = useCallback(\n (focusables: FocusableElement[]) => {\n if (initialFocusResolver) {\n return initialFocusResolver(focusables);\n }\n return (\n focusables.find(\n (focusable) => focusable.dataset.anv !== \"dialog-cancel-button\",\n ) || focusables[0]\n );\n },\n [initialFocusResolver],\n );\n\n useEffect(() => {\n if (isOpen) {\n elRef.current?.showModal();\n if (elRef.current) {\n computeFocus(tabbable(elRef.current)).focus();\n }\n } else {\n elRef.current?.close();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Omitting computeFocus because we don't want to show/close the dialog on computeFocus change\n }, [isOpen]);\n\n useEffect(() => {\n if (isOpen) {\n const handleResize = () => {\n if (!visualViewportHeightRef.current) return;\n visualViewportHeightRef.current.style.height = `${window.visualViewport?.height ?? 0}px`;\n visualViewportHeightRef.current.style.maxHeight = `${window.visualViewport?.height ?? 0}px`;\n };\n window.visualViewport?.addEventListener(\"resize\", handleResize);\n return () => {\n window.visualViewport?.removeEventListener(\"resize\", handleResize);\n };\n }\n }, [isOpen]);\n\n return (\n <dialog\n ref={elRef}\n id={id}\n data-anv=\"field-dialog\"\n className={styles[\"field-dialog\"]}\n onKeyDown={(e) => {\n if (e.code === \"Escape\") {\n e.preventDefault();\n onClose();\n }\n }}\n >\n <div\n className={styles[\"field-dialog-visual-viewport-height\"]}\n ref={visualViewportHeightRef}\n >\n <Flex direction=\"row\" className={styles[\"header\"]}>\n <Text variant=\"headline\" el=\"h1\">\n {title}\n </Text>\n <span className={styles[\"close-container\"]}>\n <DialogContext.Provider value={{ close: onClose }}>\n <DialogCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close dialog\"\n icon={Close}\n />\n </DialogContext.Provider>\n </span>\n </Flex>\n {field ? (\n <Flex direction=\"column\" className={styles[\"field\"]}>\n {field}\n </Flex>\n ) : null}\n <Flex direction=\"column\" className={styles[\"content\"]}>\n {children}\n </Flex>\n </div>\n </dialog>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n SelectFieldOption,\n SelectFieldPinnedOptions,\n SelectFieldPinnedOptionsSection,\n} from \"../../beta/components/SelectField/types\";\n\nconst DEFAULT_CACHE_SIZE = 15;\nconst STATIC_CACHE_KEY = \"__static__\";\n\n/**\n * Normalized pinned section structure used internally.\n * @property label - Section label (e.g., \"Recent\", \"Favorites\")\n * @property options - The pinned options for this section\n * @property loading - Whether this section is still loading its options\n */\nexport type NormalizedPinnedSection = {\n label: string;\n options: SelectFieldOption[];\n loading?: boolean;\n};\n\ntype UsePinnedOptionsResult = {\n pinnedSections: NormalizedPinnedSection[];\n};\n\ntype SectionConfig = {\n label: string;\n isDynamic: boolean;\n searchReactive: boolean;\n cacheSize: number;\n staticOptions: SelectFieldOption[] | undefined;\n loader:\n | ((sv: string) => SelectFieldOption[] | Promise<SelectFieldOption[]>)\n | undefined;\n};\n\n/**\n * Insert into a section's cache with max-size eviction.\n * Evicts the oldest entry (first key in Map) when the limit is exceeded.\n */\nfunction cacheSet(\n sectionCache: Map<string, SelectFieldOption[]>,\n key: string,\n value: SelectFieldOption[],\n maxSize: number,\n): void {\n // If this key already exists, delete it first so it moves to the end (most recent)\n if (sectionCache.has(key)) {\n sectionCache.delete(key);\n }\n sectionCache.set(key, value);\n // Evict oldest entries if over max size\n while (sectionCache.size > maxSize) {\n const oldest = sectionCache.keys().next().value;\n if (oldest !== undefined) {\n sectionCache.delete(oldest);\n }\n }\n}\n\n/**\n * Hook that normalizes and loads pinned options from various input formats.\n *\n * Handles:\n * - Labeled pinned options object\n * - Array of labeled pinned options objects\n *\n * Dynamic sections appear immediately with `loading: true` and empty options,\n * then transition to their resolved options once loaded. Results are cached\n * per section per search value so revisiting a previous search term is instant.\n *\n * Per-section configuration:\n * - `searchReactive` (default true): when false, loader is called once and the\n * result is reused for all search values.\n * - `cacheSize` (default 15): max number of search results cached per section.\n *\n * @param pinned - The pinned options configuration from props\n * @param searchValue - Current search input value\n * @returns Normalized pinned sections with per-section loading state\n */\nexport function usePinnedOptions(\n pinned: SelectFieldPinnedOptions | undefined,\n searchValue: string,\n): UsePinnedOptionsResult {\n const [dynamicResults, setDynamicResults] = useState<\n Record<number, SelectFieldOption[]>\n >({});\n const [loadingSet, setLoadingSet] = useState<Set<number>>(new Set());\n\n // Track the latest search value to avoid race conditions\n const latestSearchValueRef = useRef(searchValue);\n latestSearchValueRef.current = searchValue;\n\n // Per-section cache: sectionIndex -> Map<searchValue, options>\n const cacheRef = useRef<Map<number, Map<string, SelectFieldOption[]>>>(\n new Map(),\n );\n\n // Track non-reactive sections that have already been triggered to prevent\n // duplicate loader calls when search value changes during initial load\n const nonReactiveTriggeredRef = useRef<Set<number>>(new Set());\n\n // Normalize into an array of labeled sections\n const sections = useMemo((): SelectFieldPinnedOptionsSection[] => {\n if (!pinned) return [];\n return Array.isArray(pinned) ? pinned : [pinned];\n }, [pinned]);\n\n // Classify each section as static or dynamic, with per-section config\n const sectionConfig = useMemo((): SectionConfig[] => {\n return sections.map((section) => {\n const isDynamic = typeof section.options === \"function\";\n return {\n label: section.label,\n isDynamic,\n searchReactive: section.searchReactive ?? true,\n cacheSize: section.cacheSize ?? DEFAULT_CACHE_SIZE,\n staticOptions: isDynamic\n ? undefined\n : (section.options as SelectFieldOption[]),\n loader: isDynamic\n ? (section.options as (\n sv: string,\n ) => SelectFieldOption[] | Promise<SelectFieldOption[]>)\n : undefined,\n };\n });\n }, [sections]);\n\n // Clear cache and non-reactive tracking when section config changes.\n // Runs before the loader effect (declared first) so stale entries are\n // purged before any new loads read from the cache.\n useEffect(() => {\n cacheRef.current = new Map();\n nonReactiveTriggeredRef.current = new Set();\n }, [sectionConfig]);\n\n // Get or create a section's cache map\n const getSectionCache = useCallback(\n (index: number): Map<string, SelectFieldOption[]> => {\n let sectionCache = cacheRef.current.get(index);\n if (!sectionCache) {\n sectionCache = new Map();\n cacheRef.current.set(index, sectionCache);\n }\n return sectionCache;\n },\n [],\n );\n\n // Load a single dynamic section, updating state and cache on completion\n const loadSection = useCallback(\n (config: SectionConfig, index: number, loaderArg: string) => {\n const cacheKey = config.searchReactive ? loaderArg : STATIC_CACHE_KEY;\n\n const handleResult = (options: SelectFieldOption[]) => {\n // Non-reactive sections: always apply (no race condition, loaded once).\n // Reactive sections: only apply if this is still the latest search.\n if (\n !config.searchReactive ||\n latestSearchValueRef.current === loaderArg\n ) {\n const sectionCache = getSectionCache(index);\n cacheSet(sectionCache, cacheKey, options, config.cacheSize);\n setDynamicResults((prev) => ({ ...prev, [index]: options }));\n setLoadingSet((prev) => {\n const next = new Set(prev);\n next.delete(index);\n return next;\n });\n }\n };\n\n const handleError = (error: unknown) => {\n console.error(\"Failed to load pinned options:\", error);\n if (\n !config.searchReactive ||\n latestSearchValueRef.current === loaderArg\n ) {\n setDynamicResults((prev) => ({ ...prev, [index]: [] }));\n setLoadingSet((prev) => {\n const next = new Set(prev);\n next.delete(index);\n return next;\n });\n }\n };\n\n try {\n Promise.resolve(config.loader!(loaderArg))\n .then(handleResult)\n .catch(handleError);\n } catch (error) {\n handleError(error);\n }\n },\n [getSectionCache],\n );\n\n // Load dynamic options when searchValue or config changes\n useEffect(() => {\n const dynamicEntries = sectionConfig\n .map((config, index) => ({ config, index }))\n .filter(({ config }) => config.isDynamic);\n\n if (dynamicEntries.length === 0) return;\n\n const toLoad: { config: SectionConfig; index: number }[] = [];\n const preResolved: Record<number, SelectFieldOption[]> = {};\n\n dynamicEntries.forEach(({ config, index }) => {\n const sectionCache = getSectionCache(index);\n\n if (config.searchReactive) {\n // Reactive section: check cache for this specific search value\n const cached = sectionCache.get(searchValue);\n if (cached) {\n preResolved[index] = cached;\n } else {\n toLoad.push({ config, index });\n }\n } else {\n // Non-reactive section: use static cache entry, load at most once\n const cached = sectionCache.get(STATIC_CACHE_KEY);\n if (cached) {\n preResolved[index] = cached;\n } else if (!nonReactiveTriggeredRef.current.has(index)) {\n nonReactiveTriggeredRef.current.add(index);\n toLoad.push({ config, index });\n }\n // else: already triggered, still loading - shows as loading via fallthrough\n }\n });\n\n // If everything is cached, just set results immediately\n if (toLoad.length === 0) {\n setDynamicResults(preResolved);\n setLoadingSet(new Set());\n return;\n }\n\n // Set pre-resolved results and mark only uncached sections as loading\n const loadingIndices = toLoad.map(({ index }) => index);\n setDynamicResults(preResolved);\n setLoadingSet(new Set(loadingIndices));\n\n // Load each uncached dynamic section\n toLoad.forEach(({ config, index }) => {\n // Non-reactive sections always pass \"\" to the loader\n const loaderArg = config.searchReactive ? searchValue : \"\";\n loadSection(config, index, loaderArg);\n });\n }, [sectionConfig, searchValue, loadSection, getSectionCache]);\n\n // Build the final sections array with per-section loading state\n const pinnedSections = useMemo((): NormalizedPinnedSection[] => {\n return sectionConfig.map((config, index) => {\n if (!config.isDynamic) {\n return { label: config.label, options: config.staticOptions! };\n }\n // Dynamic section: show resolved results if available and not loading\n if (!loadingSet.has(index) && index in dynamicResults) {\n return {\n label: config.label,\n options: dynamicResults[index],\n };\n }\n // Otherwise it's still loading (or hasn't started yet)\n return { label: config.label, options: [], loading: true };\n });\n }, [sectionConfig, dynamicResults, loadingSet]);\n\n return { pinnedSections };\n}\n","import { useMemo } from \"react\";\nimport {\n SelectFieldGroupByValue,\n SelectFieldOption,\n} from \"../../beta/components/SelectField/types\";\nimport { SelectItem } from \"../types/selectFieldInternalTypes\";\n\n/**\n * Normalized group section structure used internally.\n * @property label - The group label (derived from groupToString or String(groupValue))\n * @property options - The options belonging to this group\n */\nexport type NormalizedGroupSection = {\n label: string;\n options: SelectFieldOption[];\n};\n\ntype UseGroupedOptionsResult = {\n /** Options that have a group property, converted to downshift items */\n groupedItems: SelectItem[];\n /** Options that don't have a group property, converted to downshift items */\n ungroupedItems: SelectItem[];\n /** Metadata about each group section for rendering */\n groupSections: NormalizedGroupSection[];\n};\n\n/**\n * Hook that processes options and groups them by their `group` property.\n *\n * Groups are ordered by insertion order (first occurrence of a group value\n * defines its position in the list).\n *\n * @param options - The options to process\n * @param groupToString - Optional function to convert group values to display labels\n * @returns Grouped items, ungrouped items, and group section metadata\n */\nexport function useGroupedOptions(\n options: SelectFieldOption[],\n groupToString?: (groupValue: SelectFieldGroupByValue) => string,\n): UseGroupedOptionsResult {\n return useMemo(() => {\n const groupedItems: SelectItem[] = [];\n const ungroupedItems: SelectItem[] = [];\n const groupSections: NormalizedGroupSection[] = [];\n\n // Map to track groups by their value, preserving insertion order\n const groupMap = new Map<\n SelectFieldGroupByValue,\n { label: string; options: SelectFieldOption[] }\n >();\n\n options.forEach((option) => {\n if (option.group !== undefined) {\n // Option has a group\n const groupValue = option.group;\n\n if (!groupMap.has(groupValue)) {\n // First occurrence of this group - create new entry\n const label = groupToString\n ? groupToString(groupValue)\n : String(groupValue);\n groupMap.set(groupValue, { label, options: [] });\n }\n\n // Add option to its group\n groupMap.get(groupValue)!.options.push(option);\n\n // Add to grouped items\n groupedItems.push({\n id: option.id,\n type: \"grouped-option\",\n original: option,\n disabled: option.disabled ?? false,\n });\n } else {\n // Option has no group - add to ungrouped\n ungroupedItems.push({\n id: option.id,\n type: \"option\",\n original: option,\n disabled: option.disabled ?? false,\n });\n }\n });\n\n // Convert map to array (maintains insertion order)\n groupMap.forEach(({ label, options: groupOptions }) => {\n groupSections.push({ label, options: groupOptions });\n });\n\n return { groupedItems, ungroupedItems, groupSections };\n }, [options, groupToString]);\n}\n\n/**\n * Sorts group sections using the provided comparator function.\n * The group value is extracted from the first option in each section.\n *\n * @param sections - The group sections to sort\n * @param groupSorter - Comparator function for group values\n * @returns A new array of sorted sections\n */\nexport function sortGroupSections(\n sections: NormalizedGroupSection[],\n groupSorter: (\n a: SelectFieldGroupByValue,\n b: SelectFieldGroupByValue,\n ) => number,\n): NormalizedGroupSection[] {\n return [...sections].sort((a, b) => {\n const groupA = a.options[0]?.group;\n const groupB = b.options[0]?.group;\n if (groupA === undefined || groupB === undefined) return 0;\n return groupSorter(groupA, groupB);\n });\n}\n","import { useMemo } from \"react\";\nimport {\n SelectFieldGroupByValue,\n SelectFieldOption,\n SelectFieldPinnedOptions,\n} from \"../../beta/components/SelectField/types\";\nimport { usePinnedOptions } from \"./usePinnedOptions\";\nimport { sortGroupSections, useGroupedOptions } from \"./useGroupedOptions\";\n\ntype UseProcessedOptionsParams = {\n options: SelectFieldOption[];\n pinned?: SelectFieldPinnedOptions;\n searchValue: string;\n groupToString?: (groupValue: SelectFieldGroupByValue) => string;\n groupSorter?: (\n a: SelectFieldGroupByValue,\n b: SelectFieldGroupByValue,\n ) => number;\n};\n\n/**\n * Shared pipeline for processing options: pinned → grouped → sorted.\n * Used by all four downshift-wrapping hooks (useCombo, useSelectMode,\n * useComboMultiple, useSelectModeMultiple).\n */\nexport const useProcessedOptions = ({\n options,\n pinned,\n searchValue,\n groupToString,\n groupSorter,\n}: UseProcessedOptionsParams) => {\n const { pinnedSections } = usePinnedOptions(pinned, searchValue);\n\n const { ungroupedItems, groupSections: rawGroupSections } = useGroupedOptions(\n options,\n groupToString,\n );\n\n const groupSections = useMemo(() => {\n if (groupSorter && rawGroupSections.length > 0) {\n return sortGroupSections(rawGroupSections, groupSorter);\n }\n return rawGroupSections;\n }, [rawGroupSections, groupSorter]);\n\n return { pinnedSections, ungroupedItems, groupSections };\n};\n","import { SelectFieldOption } from \"../../beta/components/SelectField/types\";\nimport { SectionMeta, SelectItem } from \"../types/selectFieldInternalTypes\";\nimport { NormalizedPinnedSection } from \"../hooks/usePinnedOptions\";\nimport { NormalizedGroupSection } from \"../hooks/useGroupedOptions\";\n\nexport function toSelectItem(option: SelectFieldOption): SelectItem {\n return {\n id: option.id,\n type: \"option\",\n disabled: option.disabled ?? false,\n original: option,\n };\n}\n\ntype BuildSelectItemsParams = {\n prefixItems?: SelectItem[];\n pinnedSections: NormalizedPinnedSection[];\n groupSections: NormalizedGroupSection[];\n ungroupedItems: SelectItem[];\n};\n\n/**\n * Assembles the flat items array and sectionsMeta.\n * Order: prefixItems → pinned sections → group sections → ungrouped items.\n * Multi-select hooks pass bulk action items (select-all / select-filtered) as prefixItems;\n * single-select hooks omit it.\n */\nexport function buildSelectItems({\n prefixItems,\n pinnedSections,\n groupSections,\n ungroupedItems,\n}: BuildSelectItemsParams): {\n items: SelectItem[];\n sectionsMeta: SectionMeta[];\n} {\n const items: SelectItem[] = [];\n const meta: SectionMeta[] = [];\n\n if (prefixItems) {\n items.push(...prefixItems);\n }\n\n pinnedSections.forEach((section) => {\n const startIndex = items.length;\n\n section.options.forEach((option) => {\n items.push({\n id: option.id + \"-pinned\",\n type: \"pinned-option\",\n original: option,\n disabled: option.disabled ?? false,\n });\n });\n\n const endIndex = items.length;\n\n if (endIndex > startIndex || section.loading) {\n meta.push({\n type: \"pinned\",\n label: section.label,\n startIndex,\n endIndex,\n loading: section.loading,\n });\n }\n });\n\n groupSections.forEach((section) => {\n const startIndex = items.length;\n\n section.options.forEach((option) => {\n items.push({\n id: option.id,\n type: \"grouped-option\",\n original: option,\n disabled: option.disabled ?? false,\n });\n });\n\n const endIndex = items.length;\n\n if (endIndex > startIndex) {\n meta.push({\n type: \"group\",\n label: section.label,\n startIndex,\n endIndex,\n });\n }\n });\n\n items.push(...ungroupedItems);\n\n return { items, sectionsMeta: meta };\n}\n","import { useEffect, useState } from \"react\";\nimport { useBreakpoint } from \"../../../hooks\";\n\n/**\n * The type of view to render based on device characteristics.\n */\nexport type AdaptiveView = \"mobile\" | \"desktop\";\n\n/**\n * Return type for the useAdaptiveView hook.\n */\nexport interface UseAdaptiveViewReturn {\n /**\n * The current adaptive view type.\n */\n view: AdaptiveView;\n /**\n * True when the device should use mobile-optimized UI (Dialog).\n */\n isMobile: boolean;\n /**\n * True when the device should use desktop-optimized UI (Popover).\n */\n isDesktop: boolean;\n}\n\n/**\n * Detects whether the primary pointer is coarse (touch) using CSS media query.\n * Returns false during SSR or when matchMedia is unavailable.\n */\nfunction detectCoarsePointer(): boolean {\n if (typeof window === \"undefined\" || !window.matchMedia) {\n return false;\n }\n return window.matchMedia(\"(pointer: coarse)\").matches;\n}\n\n/**\n * Custom hook for detecting whether to use mobile or desktop UI patterns.\n *\n * This hook determines the optimal UI pattern (e.g., Dialog vs Popover) by combining:\n * - Screen size via useBreakpoint (viewport width)\n * - Pointer precision via CSS media query (pointer: coarse)\n *\n * A device is considered \"mobile\" when it has both:\n * - A small screen (below md breakpoint, < 768px)\n * - A coarse pointer (touch-primary input)\n *\n * This approach correctly identifies:\n * - Mobile phones → mobile view (Dialog)\n * - iPads/tablets → desktop view (Popover) due to larger screens\n * - Touch laptops → desktop view (Popover) due to fine pointer primary\n * - Desktop → desktop view (Popover)\n *\n * @returns Object containing view type and boolean flags for mobile/desktop\n *\n * @example\n * const { isMobile } = useAdaptiveView();\n *\n * return isMobile ? (\n * <Dialog>{children}</Dialog>\n * ) : (\n * <Popover>{children}</Popover>\n * );\n */\nexport function useAdaptiveView(): UseAdaptiveViewReturn {\n const breakpoint = useBreakpoint();\n const [hasCoarsePointer, setHasCoarsePointer] = useState(detectCoarsePointer);\n\n useEffect(() => {\n setHasCoarsePointer(detectCoarsePointer());\n\n // Listen for pointer capability changes (e.g., connecting/disconnecting a mouse)\n const mediaQuery = window.matchMedia(\"(pointer: coarse)\");\n const handleChange = (e: MediaQueryListEvent) => {\n setHasCoarsePointer(e.matches);\n };\n\n mediaQuery.addEventListener(\"change\", handleChange);\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, []);\n\n const isSmallScreen = !breakpoint?.md;\n const isMobile = isSmallScreen && hasCoarsePointer;\n\n return {\n view: isMobile ? \"mobile\" : \"desktop\",\n isMobile,\n isDesktop: !isMobile,\n };\n}\n","import { ForwardedRef, useImperativeHandle, useMemo, useState } from \"react\";\nimport {\n useSelectFieldLoading,\n DEFAULT_PAGE_SIZE,\n} from \"./useSelectFieldLoading\";\nimport { useAdaptiveView } from \"../../beta/hooks/useAdaptiveView\";\n\nexport type UseSelectOrchestrationConfig = {\n lazy: false | \"page\" | \"offset\" | \"group\" | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n loadOptions: any;\n cache?: { enabled?: boolean; maxSize?: number };\n lazyOptions?: { pageSize?: number; limit?: number };\n initialLoad?: \"auto\" | \"immediate\" | \"open\";\n displayMenuAs?: \"auto\" | \"popover\" | \"dialog\";\n ref: ForwardedRef<{ clearCache: () => void; invalidate: () => void }>;\n};\n\n/**\n * Shared orchestration hook used by Select components\n * Centralizes adaptive view resolution, loading config construction, option loading lifecycle,\n * and imperative handle setup (clearCache/invalidate).\n */\nexport function useSelectOrchestration(config: UseSelectOrchestrationConfig) {\n const {\n lazy,\n loadOptions: loadOptionsProp,\n cache,\n lazyOptions,\n initialLoad: initialLoadProp = \"auto\",\n displayMenuAs: displayMenuAsProp = \"auto\",\n ref,\n } = config;\n\n const [initialLoadPerformed, setInitialLoadPerformed] = useState(false);\n\n const { isMobile } = useAdaptiveView();\n const displayAs =\n displayMenuAsProp === \"auto\"\n ? isMobile\n ? \"dialog\"\n : \"popover\"\n : displayMenuAsProp;\n\n const initialLoad =\n initialLoadProp === \"auto\" ? \"immediate\" : initialLoadProp;\n\n const pageSize =\n lazy === \"page\"\n ? (lazyOptions?.pageSize ?? DEFAULT_PAGE_SIZE)\n : DEFAULT_PAGE_SIZE;\n const limit =\n lazy === \"offset\"\n ? (lazyOptions?.limit ?? DEFAULT_PAGE_SIZE)\n : DEFAULT_PAGE_SIZE;\n\n const loadingHookConfig = useMemo(() => {\n const cacheConfig = {\n enabled: cache?.enabled,\n maxSize: cache?.maxSize,\n };\n if (lazy === \"page\")\n return {\n lazy: \"page\" as const,\n loadOptions: loadOptionsProp,\n pageSize,\n cache: cacheConfig,\n };\n if (lazy === \"offset\")\n return {\n lazy: \"offset\" as const,\n loadOptions: loadOptionsProp,\n limit,\n cache: cacheConfig,\n };\n if (lazy === \"group\")\n return {\n lazy: \"group\" as const,\n loadOptions: loadOptionsProp,\n cache: cacheConfig,\n };\n return {\n lazy: false as const,\n loadOptions: loadOptionsProp,\n cache: cacheConfig,\n };\n }, [lazy, loadOptionsProp, pageSize, limit, cache?.enabled, cache?.maxSize]);\n\n const {\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n clearCache,\n } = useSelectFieldLoading(loadingHookConfig);\n\n useImperativeHandle(\n ref,\n () => ({\n clearCache,\n invalidate: () => {\n clearCache();\n setInitialLoadPerformed(false);\n },\n }),\n [clearCache],\n );\n\n return {\n displayAs,\n initialLoad,\n initialLoadPerformed,\n setInitialLoadPerformed,\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n };\n}\n","import { matchSorter, MatchSorterOptions } from \"match-sorter\";\nimport {\n SelectFieldOption,\n SelectFieldGroupByValue,\n} from \"../../beta/components/SelectField/types\";\n\nexport type SyncFilterFn<T extends SelectFieldOption = SelectFieldOption> = (\n options: T[],\n searchValue: string,\n) => T[];\n\nexport const defaultSyncFilter: SyncFilterFn = (options, searchValue) =>\n matchSorter(options, searchValue, {\n keys: [\"label\", \"searchText\"],\n baseSort: (a, b) => a.index - b.index,\n });\n\nexport const toSyncFilterFn = <T extends SelectFieldOption = SelectFieldOption>(\n filter: SyncFilterFn<T> | MatchSorterOptions<T>,\n): SyncFilterFn<T> =>\n typeof filter === \"function\"\n ? filter\n : (options, searchValue) =>\n matchSorter(options, searchValue, {\n baseSort: (a, b) => a.index - b.index,\n ...filter,\n });\n\n/**\n * Sorts options by group using the provided comparator while maintaining\n * the original order within each group (stable sort).\n */\nexport const sortByGroup = <T extends SelectFieldOption = SelectFieldOption>(\n options: T[],\n groupSorter: (\n a: SelectFieldGroupByValue,\n b: SelectFieldGroupByValue,\n ) => number,\n): T[] => {\n const groupOrder = new Map<SelectFieldGroupByValue | undefined, number>();\n const uniqueGroups: (SelectFieldGroupByValue | undefined)[] = [];\n options.forEach((opt) => {\n if (!groupOrder.has(opt.group)) {\n groupOrder.set(opt.group, uniqueGroups.length);\n uniqueGroups.push(opt.group);\n }\n });\n\n uniqueGroups.sort((a, b) => {\n if (a === undefined && b === undefined) return 0;\n if (a === undefined) return 1;\n if (b === undefined) return -1;\n return groupSorter(a, b);\n });\n\n uniqueGroups.forEach((group, index) => {\n groupOrder.set(group, index);\n });\n\n return [...options].sort((a, b) => {\n const orderA = groupOrder.get(a.group) ?? Infinity;\n const orderB = groupOrder.get(b.group) ?? Infinity;\n return orderA - orderB;\n });\n};\n"],"names":["options","CheckboxChecked","styles","CheckboxOutline","CheckboxIndeterminate","Check","Close"],"mappings":"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"}