@servicetitan/anvil2 3.0.9 → 3.2.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 (354) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{AiMark-CS6MvraM.js → AiMark-D6ScGfyP.js} +7 -7
  3. package/dist/{AiMark-CS6MvraM.js.map → AiMark-D6ScGfyP.js.map} +1 -1
  4. package/dist/AiMark.js +1 -1
  5. package/dist/{Alert-CNDLoh6b.js → Alert-Dgq96HR4.js} +4 -4
  6. package/dist/{Alert-CNDLoh6b.js.map → Alert-Dgq96HR4.js.map} +1 -1
  7. package/dist/Alert.js +1 -1
  8. package/dist/{Announcement-CgTqDU8A.js → Announcement-DXF8slQf.js} +4 -4
  9. package/dist/{Announcement-CgTqDU8A.js.map → Announcement-DXF8slQf.js.map} +1 -1
  10. package/dist/Announcement.js +1 -1
  11. package/dist/{AnvilProvider-BFK29dL5.js → AnvilProvider-Cw_zTBqJ.js} +5 -5
  12. package/dist/{AnvilProvider-BFK29dL5.js.map → AnvilProvider-Cw_zTBqJ.js.map} +1 -1
  13. package/dist/AnvilProvider.js +1 -1
  14. package/dist/{Avatar-Bl-Dxbhf.js → Avatar-CoQcOHWU.js} +2 -2
  15. package/dist/{Avatar-Bl-Dxbhf.js.map → Avatar-CoQcOHWU.js.map} +1 -1
  16. package/dist/{Avatar-CdAIJ5VK.js → Avatar-DX96Mxe7.js} +2 -2
  17. package/dist/{Avatar-CdAIJ5VK.js.map → Avatar-DX96Mxe7.js.map} +1 -1
  18. package/dist/Avatar.js +2 -2
  19. package/dist/{Badge-DtUI2AEk.js → Badge-BNrYBFiU.js} +2 -2
  20. package/dist/{Badge-DtUI2AEk.js.map → Badge-BNrYBFiU.js.map} +1 -1
  21. package/dist/Badge.js +1 -1
  22. package/dist/{Breadcrumbs--Xt6l_2L.js → Breadcrumbs-CklKFLSl.js} +5 -5
  23. package/dist/{Breadcrumbs--Xt6l_2L.js.map → Breadcrumbs-CklKFLSl.js.map} +1 -1
  24. package/dist/Breadcrumbs.js +1 -1
  25. package/dist/{Button-C_V2xQAs.js → Button-ChQARW0y.js} +3 -3
  26. package/dist/{Button-C_V2xQAs.js.map → Button-ChQARW0y.js.map} +1 -1
  27. package/dist/Button.js +1 -1
  28. package/dist/{ButtonCompound-BQb2gfAl.js → ButtonCompound-_0ddykI_.js} +2 -2
  29. package/dist/{ButtonCompound-BQb2gfAl.js.map → ButtonCompound-_0ddykI_.js.map} +1 -1
  30. package/dist/ButtonCompound.js +1 -1
  31. package/dist/{ButtonLink-UhLks0vM.js → ButtonLink-CWbYzTTz.js} +3 -3
  32. package/dist/{ButtonLink-UhLks0vM.js.map → ButtonLink-CWbYzTTz.js.map} +1 -1
  33. package/dist/ButtonLink.js +1 -1
  34. package/dist/{ButtonToggle-jnDMPSyK.js → ButtonToggle-BVv94C4U.js} +3 -3
  35. package/dist/{ButtonToggle-jnDMPSyK.js.map → ButtonToggle-BVv94C4U.js.map} +1 -1
  36. package/dist/ButtonToggle.js +1 -1
  37. package/dist/{Calendar-rITorBvD.js → Calendar-DWyW5gvQ.js} +5 -5
  38. package/dist/{Calendar-rITorBvD.js.map → Calendar-DWyW5gvQ.js.map} +1 -1
  39. package/dist/{Calendar-5mAxtdNh.js → Calendar-Qlnpl3zR.js} +2 -2
  40. package/dist/{Calendar-5mAxtdNh.js.map → Calendar-Qlnpl3zR.js.map} +1 -1
  41. package/dist/Calendar.js +2 -2
  42. package/dist/{Card-fBqg853U.js → Card-Bt0F6RTq.js} +2 -2
  43. package/dist/{Card-fBqg853U.js.map → Card-Bt0F6RTq.js.map} +1 -1
  44. package/dist/Card.js +1 -1
  45. package/dist/{Checkbox-BYWhkYoK.js → Checkbox-BE8Jmz3t.js} +2 -2
  46. package/dist/{Checkbox-BYWhkYoK.js.map → Checkbox-BE8Jmz3t.js.map} +1 -1
  47. package/dist/{Checkbox-DTzoDcJl.js → Checkbox-QIaS16gS.js} +5 -5
  48. package/dist/{Checkbox-DTzoDcJl.js.map → Checkbox-QIaS16gS.js.map} +1 -1
  49. package/dist/Checkbox.js +1 -1
  50. package/dist/{Chip-CyMNyEPR.js → Chip-BYK1b3lZ.js} +5 -5
  51. package/dist/{Chip-CyMNyEPR.js.map → Chip-BYK1b3lZ.js.map} +1 -1
  52. package/dist/Chip.js +1 -1
  53. package/dist/Combobox.js +1 -1
  54. package/dist/{DataTable-FG0Kjx0d.js → DataTable-D_ZP3kZw.js} +187 -124
  55. package/dist/DataTable-D_ZP3kZw.js.map +1 -0
  56. package/dist/DataTable.css +40 -19
  57. package/dist/{DateFieldRange-BUug1tUy.js → DateFieldRange-OiVF8sye.js} +5 -5
  58. package/dist/{DateFieldRange-BUug1tUy.js.map → DateFieldRange-OiVF8sye.js.map} +1 -1
  59. package/dist/DateFieldRange.js +1 -1
  60. package/dist/{DateFieldSingle-DR7faQGD.js → DateFieldSingle-CSCcHt9Z.js} +5 -5
  61. package/dist/{DateFieldSingle-DR7faQGD.js.map → DateFieldSingle-CSCcHt9Z.js.map} +1 -1
  62. package/dist/DateFieldSingle.js +1 -1
  63. package/dist/{DateFieldYearless-7MFcR7L6.js → DateFieldYearless-DU9No74i.js} +6 -6
  64. package/dist/{DateFieldYearless-7MFcR7L6.js.map → DateFieldYearless-DU9No74i.js.map} +1 -1
  65. package/dist/DateFieldYearless.js +1 -1
  66. package/dist/{DateFieldYearlessRange-DGtdyISH.js → DateFieldYearlessRange-BkXIgh59.js} +6 -6
  67. package/dist/{DateFieldYearlessRange-DGtdyISH.js.map → DateFieldYearlessRange-BkXIgh59.js.map} +1 -1
  68. package/dist/DateFieldYearlessRange.js +1 -1
  69. package/dist/{DaysOfTheWeek-C7oN9nIe.js → DaysOfTheWeek-BYw91Qr-.js} +5 -5
  70. package/dist/{DaysOfTheWeek-C7oN9nIe.js.map → DaysOfTheWeek-BYw91Qr-.js.map} +1 -1
  71. package/dist/DaysOfTheWeek.js +1 -1
  72. package/dist/{Details-s2pVu-YL.js → Details-Xb49PJ-r.js} +10 -10
  73. package/dist/{Details-s2pVu-YL.js.map → Details-Xb49PJ-r.js.map} +1 -1
  74. package/dist/Details.css +16 -15
  75. package/dist/Details.js +1 -1
  76. package/dist/{Dialog-dE9c90iR.js → Dialog-DMR_uvde.js} +4 -4
  77. package/dist/{Dialog-dE9c90iR.js.map → Dialog-DMR_uvde.js.map} +1 -1
  78. package/dist/Dialog.js +1 -1
  79. package/dist/{DialogCancelButton-DcidFC38.js → DialogCancelButton-lAq4bhHS.js} +2 -2
  80. package/dist/{DialogCancelButton-DcidFC38.js.map → DialogCancelButton-lAq4bhHS.js.map} +1 -1
  81. package/dist/{Divider-Dz27DFuE.js → Divider-C7fp5Xb6.js} +2 -2
  82. package/dist/{Divider-Dz27DFuE.js.map → Divider-C7fp5Xb6.js.map} +1 -1
  83. package/dist/Divider.js +1 -1
  84. package/dist/Dnd.js +2 -2
  85. package/dist/{DndHandleButton-BW9xLWQm.js → DndHandleButton-Cj7pIegT.js} +3 -3
  86. package/dist/{DndHandleButton-BW9xLWQm.js.map → DndHandleButton-Cj7pIegT.js.map} +1 -1
  87. package/dist/DndSort.js +6 -6
  88. package/dist/{Drawer-Dk0MsaOU.js → Drawer-vxmKqraS.js} +4 -4
  89. package/dist/{Drawer-Dk0MsaOU.js.map → Drawer-vxmKqraS.js.map} +1 -1
  90. package/dist/Drawer.js +1 -1
  91. package/dist/DrillDown.js +1 -1
  92. package/dist/{EditCard-DV2N7zWr.js → EditCard-h7sDGB-x.js} +6 -6
  93. package/dist/{EditCard-DV2N7zWr.js.map → EditCard-h7sDGB-x.js.map} +1 -1
  94. package/dist/EditCard.js +1 -1
  95. package/dist/{FieldLabel-VVn8GR64.js → FieldLabel-tFSfJ7OJ.js} +4 -4
  96. package/dist/{FieldLabel-VVn8GR64.js.map → FieldLabel-tFSfJ7OJ.js.map} +1 -1
  97. package/dist/FieldLabel.js +1 -1
  98. package/dist/{FilterBar-B3c_VGDk.js → FilterBar-l8aCxO9c.js} +10 -10
  99. package/dist/{FilterBar-B3c_VGDk.js.map → FilterBar-l8aCxO9c.js.map} +1 -1
  100. package/dist/FilterBar.js +1 -1
  101. package/dist/{Flex-_orhvoxS.js → Flex-Bb3iHExM.js} +2 -2
  102. package/dist/{Flex-_orhvoxS.js.map → Flex-Bb3iHExM.js.map} +1 -1
  103. package/dist/Flex.js +1 -1
  104. package/dist/{Grid-BAN8WD_V.js → Grid-ho1pGJ5L.js} +2 -2
  105. package/dist/{Grid-BAN8WD_V.js.map → Grid-ho1pGJ5L.js.map} +1 -1
  106. package/dist/Grid.js +1 -1
  107. package/dist/{Icon-feeG7gXA.js → Icon-BEwHECSM.js} +2 -2
  108. package/dist/{Icon-feeG7gXA.js.map → Icon-BEwHECSM.js.map} +1 -1
  109. package/dist/Icon.js +1 -1
  110. package/dist/{InputMask-VBHWGZGN.js → InputMask-r8vH_Gh3.js} +3 -3
  111. package/dist/{InputMask-VBHWGZGN.js.map → InputMask-r8vH_Gh3.js.map} +1 -1
  112. package/dist/InputMask.js +1 -1
  113. package/dist/{InteractiveCard-Pu0j2qJd.js → InteractiveCard-CyUR_VLW.js} +2 -2
  114. package/dist/{InteractiveCard-Pu0j2qJd.js.map → InteractiveCard-CyUR_VLW.js.map} +1 -1
  115. package/dist/InteractiveCard.js +1 -1
  116. package/dist/{Link-D8A_WT94.js → Link-DI4eVVdI.js} +3 -3
  117. package/dist/{Link-D8A_WT94.js.map → Link-DI4eVVdI.js.map} +1 -1
  118. package/dist/Link.js +1 -1
  119. package/dist/{LinkButton-DxYsWiXB.js → LinkButton-C0wps8r1.js} +2 -2
  120. package/dist/{LinkButton-DxYsWiXB.js.map → LinkButton-C0wps8r1.js.map} +1 -1
  121. package/dist/LinkButton.js +1 -1
  122. package/dist/{List-GPS-GqH7.js → List-BvzfZ9TW.js} +2 -2
  123. package/dist/{List-GPS-GqH7.js.map → List-BvzfZ9TW.js.map} +1 -1
  124. package/dist/List.js +1 -1
  125. package/dist/{ListView-BUrfz75g.js → ListView-D_xAfZD-.js} +3 -3
  126. package/dist/{ListView-BUrfz75g.js.map → ListView-D_xAfZD-.js.map} +1 -1
  127. package/dist/ListView.js +1 -1
  128. package/dist/{Listbox-CRY-0BkS.js → Listbox-iUUghImt.js} +5 -5
  129. package/dist/{Listbox-CRY-0BkS.js.map → Listbox-iUUghImt.js.map} +1 -1
  130. package/dist/Listbox.js +1 -1
  131. package/dist/{LocalizationProvider-CO8fQGqs.js → LocalizationProvider-BPcOU7YX.js} +2 -2
  132. package/dist/{LocalizationProvider-CO8fQGqs.js.map → LocalizationProvider-BPcOU7YX.js.map} +1 -1
  133. package/dist/LocalizationProvider.js +1 -1
  134. package/dist/{Menu-DNJ0YqjA.js → Menu-qcHhgf-t.js} +16 -26
  135. package/dist/{Menu-DNJ0YqjA.js.map → Menu-qcHhgf-t.js.map} +1 -1
  136. package/dist/Menu.js +1 -1
  137. package/dist/Menu.module-CoyI86tZ.js +13 -0
  138. package/dist/Menu.module-CoyI86tZ.js.map +1 -0
  139. package/dist/{MenuFooter-CrsZdXvN.js → MenuFooter-Dtckm9vY.js} +2 -2
  140. package/dist/{MenuFooter-CrsZdXvN.js.map → MenuFooter-Dtckm9vY.js.map} +1 -1
  141. package/dist/MultiSelectField.js +1 -1
  142. package/dist/{MultiSelectFieldSync-CzHj9Qvy.js → MultiSelectFieldSync-DNJ1TBf8.js} +47 -31
  143. package/dist/MultiSelectFieldSync-DNJ1TBf8.js.map +1 -0
  144. package/dist/MultiSelectFieldSync.css +65 -63
  145. package/dist/MultiSelectMenu.js +1 -1
  146. package/dist/{MultiSelectMenuSync-BGcrYjby.js → MultiSelectMenuSync-LD931FAV.js} +7 -6
  147. package/dist/{MultiSelectMenuSync-BGcrYjby.js.map → MultiSelectMenuSync-LD931FAV.js.map} +1 -1
  148. package/dist/{NumberField-bgYX7JGs.js → NumberField-CFYbODNe.js} +9 -7
  149. package/dist/NumberField-CFYbODNe.js.map +1 -0
  150. package/dist/NumberField.js +1 -1
  151. package/dist/Overflow.js +2 -2
  152. package/dist/{Page-BSHydn4p.js → Page-DgSimS7u.js} +89 -89
  153. package/dist/Page-DgSimS7u.js.map +1 -0
  154. package/dist/Page.js +1 -1
  155. package/dist/{Pagination-CAeyJ7Pl.js → Pagination-DQ2fjkmT.js} +7 -7
  156. package/dist/{Pagination-CAeyJ7Pl.js.map → Pagination-DQ2fjkmT.js.map} +1 -1
  157. package/dist/Pagination.js +1 -1
  158. package/dist/{Popover-Cq5tirFz.js → Popover-DeBxKuqc.js} +4 -4
  159. package/dist/{Popover-Cq5tirFz.js.map → Popover-DeBxKuqc.js.map} +1 -1
  160. package/dist/Popover.js +1 -1
  161. package/dist/{ProgressBar-ByR50ln7.js → ProgressBar-BFvc2jm3.js} +5 -5
  162. package/dist/{ProgressBar-ByR50ln7.js.map → ProgressBar-BFvc2jm3.js.map} +1 -1
  163. package/dist/ProgressBar.js +1 -1
  164. package/dist/{Radio-WlsZFRzX.js → Radio-BV4SflBA.js} +5 -5
  165. package/dist/{Radio-WlsZFRzX.js.map → Radio-BV4SflBA.js.map} +1 -1
  166. package/dist/{Radio-CPuctRpl.js → Radio-v3lT3AoB.js} +2 -2
  167. package/dist/{Radio-CPuctRpl.js.map → Radio-v3lT3AoB.js.map} +1 -1
  168. package/dist/Radio.js +1 -1
  169. package/dist/{RichTextEditor-FSWAVmTe.js → RichTextEditor-Cm29o9RK.js} +14 -14
  170. package/dist/{RichTextEditor-FSWAVmTe.js.map → RichTextEditor-Cm29o9RK.js.map} +1 -1
  171. package/dist/RichTextEditor.js +1 -1
  172. package/dist/{SavedFiltersButton-Cr829guv.js → SavedFiltersButton-3VadkBsA.js} +12 -12
  173. package/dist/{SavedFiltersButton-Cr829guv.js.map → SavedFiltersButton-3VadkBsA.js.map} +1 -1
  174. package/dist/SavedFiltersButton.js +1 -1
  175. package/dist/{SearchField-BMHJCVFu.js → SearchField-BfOMhmIc.js} +2 -2
  176. package/dist/{SearchField-BMHJCVFu.js.map → SearchField-BfOMhmIc.js.map} +1 -1
  177. package/dist/{SearchField-fXc_vWEr.js → SearchField-D9ZMOcbo.js} +4 -4
  178. package/dist/{SearchField-fXc_vWEr.js.map → SearchField-D9ZMOcbo.js.map} +1 -1
  179. package/dist/SearchField.js +1 -1
  180. package/dist/{SegmentedControl-PwLdTdrd.js → SegmentedControl-fBjqazBR.js} +3 -3
  181. package/dist/{SegmentedControl-PwLdTdrd.js.map → SegmentedControl-fBjqazBR.js.map} +1 -1
  182. package/dist/SegmentedControl.js +1 -1
  183. package/dist/{SelectCard-DLWLHi_i.js → SelectCard-CkZEENl6.js} +5 -5
  184. package/dist/{SelectCard-DLWLHi_i.js.map → SelectCard-CkZEENl6.js.map} +1 -1
  185. package/dist/SelectCard.js +1 -1
  186. package/dist/SelectField.js +1 -1
  187. package/dist/{SelectFieldLabel-vemffdmu.js → SelectFieldLabel-CvJhwy_6.js} +2 -2
  188. package/dist/{SelectFieldLabel-vemffdmu.js.map → SelectFieldLabel-CvJhwy_6.js.map} +1 -1
  189. package/dist/{SelectFieldSync-C65VFWGm.js → SelectFieldSync-z_kyrBvL.js} +24 -10
  190. package/dist/SelectFieldSync-z_kyrBvL.js.map +1 -0
  191. package/dist/SelectMenu.js +1 -1
  192. package/dist/{SelectMenuSync-CF49L12-.js → SelectMenuSync-BD8oedGs.js} +7 -6
  193. package/dist/{SelectMenuSync-CF49L12-.js.map → SelectMenuSync-BD8oedGs.js.map} +1 -1
  194. package/dist/{SelectOptions-C7skDFj2.js → SelectOptions-CBSsSyFd.js} +2 -2
  195. package/dist/{SelectOptions-C7skDFj2.js.map → SelectOptions-CBSsSyFd.js.map} +1 -1
  196. package/dist/{SelectTrigger-BbneVXMz.js → SelectTrigger-BtmYsL2p.js} +5 -5
  197. package/dist/{SelectTrigger-BbneVXMz.js.map → SelectTrigger-BtmYsL2p.js.map} +1 -1
  198. package/dist/SelectTrigger.js +1 -1
  199. package/dist/{SelectTriggerBase-BjIOERXr.js → SelectTriggerBase-CyyzAOmG.js} +6 -6
  200. package/dist/{SelectTriggerBase-BjIOERXr.js.map → SelectTriggerBase-CyyzAOmG.js.map} +1 -1
  201. package/dist/SelectTriggerBase.css +48 -46
  202. package/dist/SelectTriggerBase.module-Brmw1nYG.js +39 -0
  203. package/dist/SelectTriggerBase.module-Brmw1nYG.js.map +1 -0
  204. package/dist/{SideNav-JzIIZSK_.js → SideNav-BFkruKa4.js} +3 -3
  205. package/dist/{SideNav-JzIIZSK_.js.map → SideNav-BFkruKa4.js.map} +1 -1
  206. package/dist/SideNav.js +1 -1
  207. package/dist/Skeleton.js +1 -1
  208. package/dist/{Stepper-lYywxPU5.js → Stepper-BXgMeUHu.js} +5 -5
  209. package/dist/{Stepper-lYywxPU5.js.map → Stepper-BXgMeUHu.js.map} +1 -1
  210. package/dist/Stepper.js +1 -1
  211. package/dist/{Switch-B6bKmpwN.js → Switch-DibokoJL.js} +5 -5
  212. package/dist/{Switch-B6bKmpwN.js.map → Switch-DibokoJL.js.map} +1 -1
  213. package/dist/Switch.js +1 -1
  214. package/dist/{Tab-CIY6BO2e.js → Tab-FOIali7o.js} +4 -4
  215. package/dist/{Tab-CIY6BO2e.js.map → Tab-FOIali7o.js.map} +1 -1
  216. package/dist/Tab.js +1 -1
  217. package/dist/Table.js +1 -1
  218. package/dist/{Text-w2gWn4K6.js → Text-BTCfqeSr.js} +3 -3
  219. package/dist/{Text-w2gWn4K6.js.map → Text-BTCfqeSr.js.map} +1 -1
  220. package/dist/Text.js +1 -1
  221. package/dist/{TextField-BQsCh5Nb.js → TextField-CqJ9s4SG.js} +2 -2
  222. package/dist/{TextField-BQsCh5Nb.js.map → TextField-CqJ9s4SG.js.map} +1 -1
  223. package/dist/{TextField-DJ3gEIP6.js → TextField-KZkRXCbH.js} +8 -6
  224. package/dist/TextField-KZkRXCbH.js.map +1 -0
  225. package/dist/TextField.css +24 -22
  226. package/dist/TextField.js +1 -1
  227. package/dist/TextField.module-DklyLNKz.js +25 -0
  228. package/dist/TextField.module-DklyLNKz.js.map +1 -0
  229. package/dist/{Textarea-BK4Vf84K.js → Textarea-DlvbIRKO.js} +4 -4
  230. package/dist/{Textarea-BK4Vf84K.js.map → Textarea-DlvbIRKO.js.map} +1 -1
  231. package/dist/Textarea.js +1 -1
  232. package/dist/{ThemeProvider-BC6wbuLU.js → ThemeProvider-Sd8LK0A9.js} +3 -3
  233. package/dist/{ThemeProvider-BC6wbuLU.js.map → ThemeProvider-Sd8LK0A9.js.map} +1 -1
  234. package/dist/ThemeProvider.css +16 -4
  235. package/dist/ThemeProvider.js +1 -1
  236. package/dist/ThemeProvider.module-_7m6Tav-.js +8 -0
  237. package/dist/ThemeProvider.module-_7m6Tav-.js.map +1 -0
  238. package/dist/{TimeField-B4IW2B_o.js → TimeField-bdJArRXM.js} +6 -6
  239. package/dist/{TimeField-B4IW2B_o.js.map → TimeField-bdJArRXM.js.map} +1 -1
  240. package/dist/TimeField.js +1 -1
  241. package/dist/Toast.js +2 -2
  242. package/dist/{Toaster-DTF9qnTy.js → Toaster-DW9Bx-5k.js} +2 -2
  243. package/dist/{Toaster-DTF9qnTy.js.map → Toaster-DW9Bx-5k.js.map} +1 -1
  244. package/dist/{Toaster-BGY2IzF5.js → Toaster-De3dmRbW.js} +6 -6
  245. package/dist/{Toaster-BGY2IzF5.js.map → Toaster-De3dmRbW.js.map} +1 -1
  246. package/dist/{Toolbar-DObrJ_S5.js → Toolbar-DksrjUsE.js} +9 -9
  247. package/dist/{Toolbar-DObrJ_S5.js.map → Toolbar-DksrjUsE.js.map} +1 -1
  248. package/dist/{Toolbar-DRJGKk8D.js → Toolbar-j9Y2YleC.js} +11 -11
  249. package/dist/{Toolbar-DRJGKk8D.js.map → Toolbar-j9Y2YleC.js.map} +1 -1
  250. package/dist/Toolbar.js +2 -2
  251. package/dist/{ToolbarButtonToggle-BCKgA8FE.js → ToolbarButtonToggle-CywNpsGX.js} +3 -3
  252. package/dist/{ToolbarButtonToggle-BCKgA8FE.js.map → ToolbarButtonToggle-CywNpsGX.js.map} +1 -1
  253. package/dist/{Tooltip-DqS6xDUf.js → Tooltip-BC8lnFhe.js} +4 -4
  254. package/dist/{Tooltip-DqS6xDUf.js.map → Tooltip-BC8lnFhe.js.map} +1 -1
  255. package/dist/Tooltip.js +1 -1
  256. package/dist/TreeSelectField.js +1 -1
  257. package/dist/{TreeSelectFieldSync-Do5ffU0b.js → TreeSelectFieldSync-CB1H4ZTC.js} +14 -9
  258. package/dist/TreeSelectFieldSync-CB1H4ZTC.js.map +1 -0
  259. package/dist/TreeSelectMenu.js +1 -1
  260. package/dist/{TreeSelectMenuSync-s05Ly6lj.js → TreeSelectMenuSync-D4l3zik4.js} +5 -5
  261. package/dist/{TreeSelectMenuSync-s05Ly6lj.js.map → TreeSelectMenuSync-D4l3zik4.js.map} +1 -1
  262. package/dist/TypeaheadTextField-BJrrlLjP.js +319 -0
  263. package/dist/TypeaheadTextField-BJrrlLjP.js.map +1 -0
  264. package/dist/TypeaheadTextField.css +16 -0
  265. package/dist/TypeaheadTextField.d.ts +1 -0
  266. package/dist/TypeaheadTextField.js +2 -0
  267. package/dist/TypeaheadTextField.js.map +1 -0
  268. package/dist/{YearlessDateInputWithPicker-BHfFjCqE.js → YearlessDateInputWithPicker-BmRkNzK0.js} +6 -6
  269. package/dist/{YearlessDateInputWithPicker-BHfFjCqE.js.map → YearlessDateInputWithPicker-BmRkNzK0.js.map} +1 -1
  270. package/dist/beta.js +17 -16
  271. package/dist/beta.js.map +1 -1
  272. package/dist/{filter-state-CE8t3-Q7.js → filter-state-C-4lebJG.js} +23 -23
  273. package/dist/{filter-state-CE8t3-Q7.js.map → filter-state-C-4lebJG.js.map} +1 -1
  274. package/dist/{floating-ui.react-dom-BIKT960u.js → floating-ui.react-dom-CyrxPiI-.js} +2 -2
  275. package/dist/{floating-ui.react-dom-BIKT960u.js.map → floating-ui.react-dom-CyrxPiI-.js.map} +1 -1
  276. package/dist/{index-CKdC7x1S.js → index-iTige6rD.js} +2 -2
  277. package/dist/{index-CKdC7x1S.js.map → index-iTige6rD.js.map} +1 -1
  278. package/dist/{index-DN_iqxhF.js → index-mKaF0gwp.js} +2 -2
  279. package/dist/{index-DN_iqxhF.js.map → index-mKaF0gwp.js.map} +1 -1
  280. package/dist/index.js +65 -65
  281. package/dist/{portalScopeClassNames-jlZkdug_.js → portalScopeClassNames-BTyv0FY8.js} +2 -2
  282. package/dist/{portalScopeClassNames-jlZkdug_.js.map → portalScopeClassNames-BTyv0FY8.js.map} +1 -1
  283. package/dist/{primitive-DXlHdTFb.js → primitive-BXgYQTTw.js} +61 -1
  284. package/dist/{primitive-DXlHdTFb.js.map → primitive-BXgYQTTw.js.map} +1 -1
  285. package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  286. package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -1
  287. package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  288. package/dist/src/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +2 -1
  289. package/dist/src/beta/components/MultiSelectField/internal/types.d.ts +1 -0
  290. package/dist/src/beta/components/MultiSelectField/types.d.ts +5 -0
  291. package/dist/src/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  292. package/dist/src/beta/components/SelectField/internal/SelectFieldInput.d.ts +3 -1
  293. package/dist/src/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  294. package/dist/src/beta/components/SelectField/internal/SelectFieldTrigger.d.ts +2 -1
  295. package/dist/src/beta/components/SelectField/types.d.ts +5 -0
  296. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +20 -0
  297. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +10 -0
  298. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +19 -0
  299. package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
  300. package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +5 -15
  301. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +1 -0
  302. package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +4 -1
  303. package/dist/src/beta/components/TreeSelectField/types.d.ts +15 -0
  304. package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +67 -0
  305. package/dist/src/beta/components/TypeaheadTextField/index.d.ts +1 -0
  306. package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +29 -0
  307. package/dist/src/beta/components/index.d.ts +1 -0
  308. package/dist/src/components/NumberField/NumberField.d.ts +10 -0
  309. package/dist/src/components/Page/Page.d.ts +2 -2
  310. package/dist/src/components/Page/pageBreakpoint.d.ts +26 -0
  311. package/dist/src/components/TextField/internal/TextField.d.ts +5 -0
  312. package/dist/src/integration-testing/page-resize-loop.spec.d.ts +1 -0
  313. package/dist/src/internal/types/selectFieldInternalTypes.d.ts +1 -0
  314. package/dist/{stripInlineMarkdown-C0bVmYgG.js → stripInlineMarkdown-CQCRopqY.js} +2 -2
  315. package/dist/{stripInlineMarkdown-C0bVmYgG.js.map → stripInlineMarkdown-CQCRopqY.js.map} +1 -1
  316. package/dist/{syncFilterUtils-CgHB-l6A.js → syncFilterUtils-JUsufAHA.js} +7 -36
  317. package/dist/syncFilterUtils-JUsufAHA.js.map +1 -0
  318. package/dist/token/core/primitive-variables.scss +12 -0
  319. package/dist/token/core/primitive.d.ts +12 -0
  320. package/dist/token/core/primitive.js +48 -0
  321. package/dist/token/core/primitive.scss +12 -0
  322. package/dist/token.js +1 -1
  323. package/dist/{treeSync-Cz3H08cr.js → treeSync-CXMjwQ4X.js} +4 -4
  324. package/dist/{treeSync-Cz3H08cr.js.map → treeSync-CXMjwQ4X.js.map} +1 -1
  325. package/dist/{useAdaptiveView-CeYKH0Me.js → useAdaptiveView-BdzXyicd.js} +10 -10
  326. package/dist/{useAdaptiveView-CeYKH0Me.js.map → useAdaptiveView-BdzXyicd.js.map} +1 -1
  327. package/dist/{useBreakpoint-CeaUyHxh.js → useBreakpoint-BBNRlMGZ.js} +2 -2
  328. package/dist/{useBreakpoint-CeaUyHxh.js.map → useBreakpoint-BBNRlMGZ.js.map} +1 -1
  329. package/dist/useBreakpoint.js +1 -1
  330. package/dist/useDebouncedCallback-DLkapjcP.js +33 -0
  331. package/dist/useDebouncedCallback-DLkapjcP.js.map +1 -0
  332. package/dist/{useDrilldown-BJ2dHHKV.js → useDrilldown-CWNTo5uR.js} +4 -4
  333. package/dist/{useDrilldown-BJ2dHHKV.js.map → useDrilldown-CWNTo5uR.js.map} +1 -1
  334. package/dist/{useInfiniteCombobox-BqJm-CdN.js → useInfiniteCombobox-D6FRVziM.js} +9 -9
  335. package/dist/{useInfiniteCombobox-BqJm-CdN.js.map → useInfiniteCombobox-D6FRVziM.js.map} +1 -1
  336. package/dist/{useLayoutPropsUtil-CB_zHDbW.js → useLayoutPropsUtil-DjqeAJZ9.js} +3 -3
  337. package/dist/{useLayoutPropsUtil-CB_zHDbW.js.map → useLayoutPropsUtil-DjqeAJZ9.js.map} +1 -1
  338. package/dist/{useToggleSelection-BGc5OiZF.js → useToggleSelection-a18uaSE7.js} +2 -2
  339. package/dist/{useToggleSelection-BGc5OiZF.js.map → useToggleSelection-a18uaSE7.js.map} +1 -1
  340. package/package.json +2 -2
  341. package/dist/DataTable-FG0Kjx0d.js.map +0 -1
  342. package/dist/MultiSelectFieldSync-CzHj9Qvy.js.map +0 -1
  343. package/dist/NumberField-bgYX7JGs.js.map +0 -1
  344. package/dist/Page-BSHydn4p.js.map +0 -1
  345. package/dist/SelectFieldSync-C65VFWGm.js.map +0 -1
  346. package/dist/SelectTriggerBase.module-DsPvTQE7.js +0 -37
  347. package/dist/SelectTriggerBase.module-DsPvTQE7.js.map +0 -1
  348. package/dist/TextField-DJ3gEIP6.js.map +0 -1
  349. package/dist/TextField.module-C8FsjTpx.js +0 -23
  350. package/dist/TextField.module-C8FsjTpx.js.map +0 -1
  351. package/dist/ThemeProvider.module-D9pNGYjP.js +0 -8
  352. package/dist/ThemeProvider.module-D9pNGYjP.js.map +0 -1
  353. package/dist/TreeSelectFieldSync-Do5ffU0b.js.map +0 -1
  354. package/dist/syncFilterUtils-CgHB-l6A.js.map +0 -1
@@ -1,4 +1,4 @@
1
- .anvil2 {._search-field_2e6em_1 {
1
+ .anvil2 {._search-field_2c5gw_1 {
2
2
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
3
3
  font-size: 100%;
4
4
  color: inherit;
@@ -12,9 +12,9 @@
12
12
  flex-direction: column;
13
13
  font-size: var(--a2-typography-paragraph-size-default, var(--a2-font-size-400, 1rem));
14
14
  gap: var(--a2-size-2, 0.5rem);
15
- }._select_2e6em_17 {
15
+ }._select_2c5gw_17 {
16
16
  cursor: pointer;
17
- }._input-wrapper_2e6em_21 {
17
+ }._input-wrapper_2c5gw_21 {
18
18
  --a2-mod-select-trigger-base-height: calc(
19
19
  var(--a2-size-10, 2.5rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
20
20
  );
@@ -37,30 +37,32 @@
37
37
  padding-inline-end: 4.5rem;
38
38
  padding-inline-start: var(--a2-size-3, 0.75rem);
39
39
  position: relative;
40
- }._input-wrapper_2e6em_21:focus:not([disabled]), ._input-wrapper_2e6em_21:focus-visible, ._input-wrapper_2e6em_21:has(._input_2e6em_21:focus-visible) {
40
+ }._input-wrapper_2c5gw_21:focus:not([disabled]), ._input-wrapper_2c5gw_21:focus-visible, ._input-wrapper_2c5gw_21:has(._input_2c5gw_21:focus-visible) {
41
41
  outline-width: var(--a2-size-half, 0.125rem);
42
- }._input-wrapper_2e6em_21:has(._input_2e6em_21._error_2e6em_48) {
42
+ }._input-wrapper_2c5gw_21:has(._input_2c5gw_21._error_2c5gw_48) {
43
43
  border-color: var(--a2-border-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-200, #ffac9e)));
44
- }._input-wrapper_2e6em_21:focus:has(._input_2e6em_21._error_2e6em_48):not([disabled]), ._input-wrapper_2e6em_21:focus-visible:has(._input_2e6em_21._error_2e6em_48), ._input-wrapper_2e6em_21:has(._input_2e6em_21._error_2e6em_48:focus-visible) {
44
+ }._input-wrapper_2c5gw_21:focus:has(._input_2c5gw_21._error_2c5gw_48):not([disabled]), ._input-wrapper_2c5gw_21:focus-visible:has(._input_2c5gw_21._error_2c5gw_48), ._input-wrapper_2c5gw_21:has(._input_2c5gw_21._error_2c5gw_48:focus-visible) {
45
45
  outline-color: var(--a2-focus-ring-color-danger, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
46
46
  outline-width: var(--a2-size-half, 0.125rem);
47
- }._input-wrapper_2e6em_21._disabled_2e6em_55, ._input-wrapper_2e6em_21[disabled], ._input-wrapper_2e6em_21:has(._input_2e6em_21:disabled) {
47
+ }._input-wrapper_2c5gw_21._disabled_2c5gw_55, ._input-wrapper_2c5gw_21[disabled], ._input-wrapper_2c5gw_21:has(._input_2c5gw_21:disabled) {
48
48
  opacity: 0.4;
49
- }._input-wrapper_2e6em_21._disabled_2e6em_55 *, ._input-wrapper_2e6em_21[disabled] *, ._input-wrapper_2e6em_21:has(._input_2e6em_21:disabled) * {
49
+ }._input-wrapper_2c5gw_21._disabled_2c5gw_55 *, ._input-wrapper_2c5gw_21[disabled] *, ._input-wrapper_2c5gw_21:has(._input_2c5gw_21:disabled) * {
50
50
  cursor: not-allowed;
51
- }._input-wrapper_2e6em_21:has(input._input_2e6em_21:-moz-read-only) {
51
+ }._input-wrapper_2c5gw_21:has(input._input_2c5gw_21:-moz-read-only) {
52
52
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
53
- }._input-wrapper_2e6em_21[disabled], ._input-wrapper_2e6em_21[readonly], ._input-wrapper_2e6em_21._disabled_2e6em_55, ._input-wrapper_2e6em_21:has(input._input_2e6em_21:read-only) {
53
+ }._input-wrapper_2c5gw_21[disabled], ._input-wrapper_2c5gw_21[readonly], ._input-wrapper_2c5gw_21._disabled_2c5gw_55, ._input-wrapper_2c5gw_21:has(input._input_2c5gw_21:read-only) {
54
54
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
55
- }._input-flex_2e6em_65 {
55
+ }._input-wrapper_2c5gw_21._highlight_2c5gw_64 {
56
+ background-color: var(--a2-background-color-primary-subdued, light-dark(var(--a2-color-blue-50, #e6f1ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 20%, transparent)));
57
+ }._input-flex_2c5gw_68 {
56
58
  flex: 1 1 100px;
57
59
  min-width: 100px;
58
60
  overflow: hidden;
59
61
  text-overflow: ellipsis;
60
62
  white-space: nowrap;
61
63
  width: 0;
62
- }._input_2e6em_21,
63
- ._input_2e6em_21[type] {
64
+ }._input_2c5gw_21,
65
+ ._input_2c5gw_21[type] {
64
66
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
65
67
  font-size: 100%;
66
68
  color: inherit;
@@ -83,45 +85,45 @@
83
85
  padding-inline: 0;
84
86
  transition: outline var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
85
87
  width: 100px;
86
- }._input_2e6em_21::-moz-placeholder, ._input_2e6em_21[type]::-moz-placeholder {
88
+ }._input_2c5gw_21::-moz-placeholder, ._input_2c5gw_21[type]::-moz-placeholder {
87
89
  color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
88
- }._input_2e6em_21::placeholder,
89
- ._input_2e6em_21[type]::placeholder {
90
+ }._input_2c5gw_21::placeholder,
91
+ ._input_2c5gw_21[type]::placeholder {
90
92
  color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
91
- }._input_2e6em_21:focus,
92
- ._input_2e6em_21[type]:focus {
93
+ }._input_2c5gw_21:focus,
94
+ ._input_2c5gw_21[type]:focus {
93
95
  box-shadow: none;
94
96
  outline: none;
95
97
  }@media (prefers-reduced-motion: reduce) {
96
- ._input_2e6em_21,
97
- ._input_2e6em_21[type] {
98
+ ._input_2c5gw_21,
99
+ ._input_2c5gw_21[type] {
98
100
  transition-duration: 0.01ms !important;
99
101
  transition-property: outline;
100
102
  }
101
- }input._input_2e6em_21:-moz-read-only {
103
+ }input._input_2c5gw_21:-moz-read-only {
102
104
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
103
- }input._input_2e6em_21:read-only {
105
+ }input._input_2c5gw_21:read-only {
104
106
  background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)));
105
- }._fake-placeholder_2e6em_120 {
107
+ }._fake-placeholder_2c5gw_123 {
106
108
  color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)));
107
109
  -webkit-user-select: none;
108
110
  -moz-user-select: none;
109
111
  user-select: none;
110
- }._no-clear-button_2e6em_125 {
112
+ }._no-clear-button_2c5gw_128 {
111
113
  padding-inline-end: var(--a2-size-8, 2rem);
112
- }._no-toggle-button_2e6em_129 {
114
+ }._no-toggle-button_2c5gw_132 {
113
115
  padding-inline-end: var(--a2-size-8, 2rem);
114
- }._no-clear-button_2e6em_125._no-toggle-button_2e6em_129 {
116
+ }._no-clear-button_2c5gw_128._no-toggle-button_2c5gw_132 {
115
117
  padding-inline-end: var(--a2-size-3, 0.75rem);
116
- }._small_2e6em_137 {
118
+ }._small_2c5gw_140 {
117
119
  --a2-mod-select-trigger-base-height: calc(
118
120
  var(--a2-size-8, 2rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
119
121
  );
120
- }._large_2e6em_143 {
122
+ }._large_2c5gw_146 {
121
123
  --a2-mod-select-trigger-base-height: calc(
122
124
  var(--a2-size-12, 3rem) - (var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem)) * 2)
123
125
  );
124
- }._buttons-wrapper_2e6em_149 {
126
+ }._buttons-wrapper_2c5gw_152 {
125
127
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
126
128
  font-size: 100%;
127
129
  color: inherit;
@@ -136,7 +138,7 @@
136
138
  inset-block-start: 0;
137
139
  inset-inline-end: 0;
138
140
  position: absolute;
139
- }._close-button-wrapper_2e6em_166 {
141
+ }._close-button-wrapper_2c5gw_169 {
140
142
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
141
143
  font-size: 100%;
142
144
  color: inherit;
@@ -150,11 +152,11 @@
150
152
  align-items: center;
151
153
  cursor: pointer;
152
154
  display: flex;
153
- }._close-button_2e6em_166 {
155
+ }._close-button_2c5gw_169 {
154
156
  --a2-mod-button-background-color: transparent;
155
- }._close-button_2e6em_166[data-interactive=hover]::before, ._close-button_2e6em_166:hover::before, ._close-button_2e6em_166:disabled:not(._loading-infinite_2e6em_185, ._loading-progress_2e6em_185), ._close-button_2e6em_166._disabled_2e6em_55:not(._loading-infinite_2e6em_185, ._loading-progress_2e6em_185), ._close-button_2e6em_166[aria-disabled=true]:not(._loading-infinite_2e6em_185, ._loading-progress_2e6em_185) {
157
+ }._close-button_2c5gw_169[data-interactive=hover]::before, ._close-button_2c5gw_169:hover::before, ._close-button_2c5gw_169:disabled:not(._loading-infinite_2c5gw_188, ._loading-progress_2c5gw_188), ._close-button_2c5gw_169._disabled_2c5gw_55:not(._loading-infinite_2c5gw_188, ._loading-progress_2c5gw_188), ._close-button_2c5gw_169[aria-disabled=true]:not(._loading-infinite_2c5gw_188, ._loading-progress_2c5gw_188) {
156
158
  --a2-mod-button-background-color: transparent;
157
- }._toggle-button-wrapper_2e6em_189 {
159
+ }._toggle-button-wrapper_2c5gw_192 {
158
160
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
159
161
  font-size: 100%;
160
162
  color: inherit;
@@ -168,29 +170,29 @@
168
170
  align-items: center;
169
171
  cursor: pointer;
170
172
  display: flex;
171
- }._toggle-button_2e6em_189 {
173
+ }._toggle-button_2c5gw_192 {
172
174
  --a2-mod-button-background-color: transparent;
173
175
  --a2-mod-button-foreground-color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
174
176
  transform: rotate(90deg);
175
177
  transition: transform var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
176
- }._toggle-button_2e6em_189[aria-expanded=true] {
178
+ }._toggle-button_2c5gw_192[aria-expanded=true] {
177
179
  transform: rotate(270deg);
178
- }._toggle-button_2e6em_189[data-interactive=hover]::before, ._toggle-button_2e6em_189:hover::before, ._toggle-button_2e6em_189:disabled:not(._loading-infinite_2e6em_185, ._loading-progress_2e6em_185), ._toggle-button_2e6em_189._disabled_2e6em_55:not(._loading-infinite_2e6em_185, ._loading-progress_2e6em_185), ._toggle-button_2e6em_189[aria-disabled=true]:not(._loading-infinite_2e6em_185, ._loading-progress_2e6em_185) {
180
+ }._toggle-button_2c5gw_192[data-interactive=hover]::before, ._toggle-button_2c5gw_192:hover::before, ._toggle-button_2c5gw_192:disabled:not(._loading-infinite_2c5gw_188, ._loading-progress_2c5gw_188), ._toggle-button_2c5gw_192._disabled_2c5gw_55:not(._loading-infinite_2c5gw_188, ._loading-progress_2c5gw_188), ._toggle-button_2c5gw_192[aria-disabled=true]:not(._loading-infinite_2c5gw_188, ._loading-progress_2c5gw_188) {
179
181
  --a2-mod-button-background-color: transparent;
180
182
  }@media (prefers-reduced-motion: reduce) {
181
- ._toggle-button_2e6em_189 {
183
+ ._toggle-button_2c5gw_192 {
182
184
  transition-duration: 0.01ms !important;
183
185
  }
184
- }[aria-expanded=true] ._toggle-button_2e6em_189 {
186
+ }[aria-expanded=true] ._toggle-button_2c5gw_192 {
185
187
  transform: rotate(270deg);
186
- }._prefix-wrapper_2e6em_227 {
188
+ }._prefix-wrapper_2c5gw_230 {
187
189
  align-items: stretch;
188
190
  display: flex;
189
191
  flex-direction: row;
190
192
  flex-wrap: wrap;
191
193
  height: var(--a2-mod-select-trigger-base-height);
192
194
  pointer-events: none;
193
- }._rows-wrapper_2e6em_236 {
195
+ }._rows-wrapper_2c5gw_239 {
194
196
  align-items: stretch;
195
197
  display: flex;
196
198
  flex-direction: row;
@@ -199,16 +201,16 @@
199
201
  gap: 0 var(--a2-size-1, 0.25rem);
200
202
  max-width: 100%;
201
203
  width: 100%;
202
- }._chip-wrapper_2e6em_247 {
204
+ }._chip-wrapper_2c5gw_250 {
203
205
  align-items: center;
204
206
  display: flex;
205
207
  height: var(--a2-mod-select-trigger-base-height);
206
208
  justify-content: center;
207
209
  max-width: 100%;
208
- }._chip_2e6em_247 {
210
+ }._chip_2c5gw_250 {
209
211
  --a2-mod-chip-max-width: 100%;
210
- }._prefix_2e6em_227,
211
- ._suffix_2e6em_260 {
212
+ }._prefix_2c5gw_230,
213
+ ._suffix_2c5gw_263 {
212
214
  font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
213
215
  font-size: 100%;
214
216
  color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)));
@@ -224,9 +226,9 @@
224
226
  font-weight: var(--a2-font-weight-semibold, 600);
225
227
  justify-content: center;
226
228
  min-width: var(--a2-size-8, 2rem);
227
- }._prefix_2e6em_227 {
229
+ }._prefix_2c5gw_230 {
228
230
  padding-inline-end: var(--a2-size-2, 0.5rem);
229
- }._suffix_2e6em_260 {
231
+ }._suffix_2c5gw_263 {
230
232
  padding-inline-start: var(--a2-size-2, 0.5rem);
231
233
  padding-inline-end: var(--a2-size-2, 0.5rem);
232
234
  }
@@ -0,0 +1,39 @@
1
+ import './SelectTriggerBase.css';const select = "_select_2c5gw_17";
2
+ const input = "_input_2c5gw_21";
3
+ const error = "_error_2c5gw_48";
4
+ const disabled = "_disabled_2c5gw_55";
5
+ const highlight = "_highlight_2c5gw_64";
6
+ const small = "_small_2c5gw_140";
7
+ const large = "_large_2c5gw_146";
8
+ const chip = "_chip_2c5gw_250";
9
+ const prefix = "_prefix_2c5gw_230";
10
+ const suffix = "_suffix_2c5gw_263";
11
+ const styles = {
12
+ "search-field": "_search-field_2c5gw_1",
13
+ select: select,
14
+ "input-wrapper": "_input-wrapper_2c5gw_21",
15
+ input: input,
16
+ error: error,
17
+ disabled: disabled,
18
+ highlight: highlight,
19
+ "input-flex": "_input-flex_2c5gw_68",
20
+ "fake-placeholder": "_fake-placeholder_2c5gw_123",
21
+ "no-clear-button": "_no-clear-button_2c5gw_128",
22
+ "no-toggle-button": "_no-toggle-button_2c5gw_132",
23
+ small: small,
24
+ large: large,
25
+ "buttons-wrapper": "_buttons-wrapper_2c5gw_152",
26
+ "close-button-wrapper": "_close-button-wrapper_2c5gw_169",
27
+ "close-button": "_close-button_2c5gw_169",
28
+ "toggle-button-wrapper": "_toggle-button-wrapper_2c5gw_192",
29
+ "toggle-button": "_toggle-button_2c5gw_192",
30
+ "prefix-wrapper": "_prefix-wrapper_2c5gw_230",
31
+ "rows-wrapper": "_rows-wrapper_2c5gw_239",
32
+ "chip-wrapper": "_chip-wrapper_2c5gw_250",
33
+ chip: chip,
34
+ prefix: prefix,
35
+ suffix: suffix
36
+ };
37
+
38
+ export { styles as s };
39
+ //# sourceMappingURL=SelectTriggerBase.module-Brmw1nYG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTriggerBase.module-Brmw1nYG.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,9 +2,9 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { createContext, useContext, forwardRef, useRef, useEffect, useCallback, useState, useId, useMemo, Children, useLayoutEffect } from 'react';
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
4
  import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
5
- import { I as Icon } from './Icon-feeG7gXA.js';
5
+ import { I as Icon } from './Icon-BEwHECSM.js';
6
6
  import { t as textStyles } from './Text.module-BcVew1AQ.js';
7
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
7
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
8
8
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
9
9
 
10
10
  import './SideNav.css';const sidenav = "_sidenav_mozz8_1";
@@ -458,4 +458,4 @@ const SideNav = Object.assign(
458
458
  SideNav.displayName = "SideNav";
459
459
 
460
460
  export { SideNav as S };
461
- //# sourceMappingURL=SideNav-JzIIZSK_.js.map
461
+ //# sourceMappingURL=SideNav-BFkruKa4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNav-JzIIZSK_.js","sources":["../src/components/SideNav/internal/utils.ts","../src/components/SideNav/SideNavContext.tsx","../src/components/SideNav/useSideNav.tsx","../src/components/SideNav/internal/SideNavLink.tsx","../src/components/SideNav/internal/SideNavContext.tsx","../src/components/SideNav/SideNavLink.tsx","../src/components/SideNav/SideNavCollapsible.tsx","../src/components/SideNav/SideNavGroup.tsx","../src/components/SideNav/internal/SideNavProvider.tsx","../src/components/SideNav/SideNav.tsx"],"sourcesContent":["import { KeyboardEvent, RefObject } from \"react\";\nimport { SideNavContextProps } from \"../SideNavContext\";\n\n/**\n * Handles keyboard navigation for SideNav components using arrow keys.\n *\n * This function manages focus movement between navigable elements in a SideNav,\n * providing circular navigation (wrapping from last to first and vice versa).\n * It updates tabindex attributes to maintain proper focus management and\n * prevents default browser behavior for arrow key navigation.\n *\n * @param e - The keyboard event that triggered the navigation\n * @param links - NodeList of all navigable elements in the SideNav\n * @param current - Ref object pointing to the currently focused element\n * @returns void\n */\nexport const sideNavKeyboardNavigation = (\n e: KeyboardEvent<HTMLAnchorElement | HTMLButtonElement>,\n links: SideNavContextProps[\"links\"],\n current: RefObject<HTMLAnchorElement | HTMLButtonElement>,\n) => {\n const currentIndex = Array.prototype.indexOf.call(links, current.current);\n\n switch (e.key) {\n case \"ArrowDown\":\n if (!links) return;\n e.preventDefault();\n links[currentIndex].setAttribute(\"tabindex\", \"-1\");\n if (currentIndex === links.length - 1) {\n links[0].setAttribute(\"tabindex\", \"0\");\n (links[0] as HTMLAnchorElement | HTMLButtonElement).focus();\n break;\n }\n links[currentIndex + 1].setAttribute(\"tabindex\", \"0\");\n (\n links[currentIndex + 1] as HTMLAnchorElement | HTMLButtonElement\n ).focus();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if (!links) return;\n links[currentIndex].setAttribute(\"tabindex\", \"-1\");\n if (currentIndex === 0) {\n links[links.length - 1].setAttribute(\"tabindex\", \"0\");\n (\n links[links.length - 1] as HTMLAnchorElement | HTMLButtonElement\n ).focus();\n break;\n }\n links[currentIndex - 1].setAttribute(\"tabindex\", \"0\");\n (\n links[currentIndex - 1] as HTMLAnchorElement | HTMLButtonElement\n ).focus();\n break;\n default:\n break;\n }\n};\n","import { createContext } from \"react\";\n\n/**\n * Context props for the SideNav component\n */\nexport type SideNavContextProps = {\n /**\n * List of navigable elements in the side navigation\n */\n links: NodeListOf<Element> | undefined;\n /**\n * Function to recalculate the list of navigable links\n */\n reCalculateLinks: () => void;\n /**\n * Set of currently active link IDs\n */\n activeIds: Set<string>;\n /**\n * Function to add an ID to the active set\n */\n addActiveId: (id: string) => void;\n /**\n * Function to remove an ID from the active set\n */\n removeActiveId: (id: string) => void;\n};\n\nexport const SideNavContext = createContext<SideNavContextProps | null>(null);\n","import { useContext } from \"react\";\nimport { SideNavContext } from \"./SideNavContext\";\n\n/**\n * Custom hook for accessing the SideNav context.\n * @returns The SideNav context with links, activeIds, and utility functions\n * @throws Error if used outside of a SideNav component\n */\nexport const useSideNav = () => {\n const context = useContext(SideNavContext);\n\n if (context == null) {\n throw new Error(\"useSideNav must be wrapped in <SideNav />\");\n }\n\n return context;\n};\n","import {\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n forwardRef,\n useRef,\n useEffect,\n} from \"react\";\nimport styles from \"../SideNav.module.scss\";\nimport { sideNavKeyboardNavigation } from \"./utils\";\nimport { useSideNav } from \"../useSideNav\";\n\n/**\n * Props for the SideNavLink component\n * @extends Omit<ComponentPropsWithoutRef<\"a\">, \"id\" | \"onClick\" | \"onKeyDown\" | \"onKeyUp\">\n */\nexport type SideNavLinkProps = Omit<\n ComponentPropsWithoutRef<\"a\">,\n \"id\" | \"onClick\" | \"onKeyDown\" | \"onKeyUp\"\n> & {\n /**\n * Unique identifier for the navigation link\n */\n id: string;\n /**\n * When true, marks the link as the current active page\n */\n active?: boolean;\n /**\n * When true, disables the link and prevents interaction\n */\n disabled?: boolean;\n /**\n * Function called when the link is clicked\n */\n onClick?: (\n e: MouseEvent<HTMLAnchorElement>,\n id: SideNavLinkProps[\"id\"],\n ) => void;\n /**\n * Function called when a key is pressed down on the link\n */\n onKeyDown?: (\n e: KeyboardEvent<HTMLAnchorElement>,\n id: SideNavLinkProps[\"id\"],\n ) => void;\n /**\n * Function called when a key is released on the link\n */\n onKeyUp?: (\n e: KeyboardEvent<HTMLAnchorElement>,\n id: SideNavLinkProps[\"id\"],\n ) => void;\n};\n\n/**\n * SideNavLink component for individual navigation links within a SideNav.\n *\n * Features:\n * - Individual navigation links with active state support\n * - Keyboard navigation integration with arrow keys\n * - Focus management and tabindex handling\n * - Accessible with proper ARIA attributes\n * - Click and keyboard event handling\n * - Disabled state support\n * - Automatic active state tracking through context\n *\n * @example\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n */\nexport const SideNavLink = forwardRef<HTMLLIElement, SideNavLinkProps>(\n (props, ref) => {\n const {\n className,\n children,\n href,\n id,\n active,\n onClick,\n onKeyDown,\n onKeyUp,\n style,\n disabled,\n ...rest\n } = props;\n const { links } = useSideNav();\n\n const linkRef = useRef<HTMLAnchorElement>(null);\n const { activeIds, addActiveId, removeActiveId } = useSideNav();\n\n useEffect(() => {\n if (!activeIds.has(id) && active) {\n addActiveId(id);\n return;\n }\n if (activeIds.has(id) && !active) {\n removeActiveId(id);\n }\n }, [active, activeIds, addActiveId, removeActiveId, id]);\n\n function onKeyDownHandler(e: KeyboardEvent<HTMLAnchorElement>) {\n sideNavKeyboardNavigation(e, links, linkRef);\n onKeyDown?.(e, id);\n }\n\n function onKeyUpHandler(e: KeyboardEvent<HTMLAnchorElement>) {\n if (disabled) return;\n if (e.code === \"Space\" || e.code === \"Enter\") {\n e.preventDefault();\n if (onClick) {\n e.currentTarget.click();\n }\n }\n\n onKeyUp?.(e, id);\n }\n\n function onClickHandler(e: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n // find current item that has tabindex 0\n const current = Array.prototype.slice\n .call(links)\n .filter((child) => (child as HTMLElement).tabIndex === 0)[0];\n\n // remove above from tabbable\n if (current) current.setAttribute(\"tabindex\", \"-1\");\n\n // make label button tabbable\n linkRef.current?.setAttribute(\"tabindex\", \"0\");\n linkRef.current?.focus();\n\n onClick?.(e, id);\n }\n\n return (\n <li className={className} data-anv=\"sidenav-link\" style={style} ref={ref}>\n <a\n className={styles[\"sidenav-link\"]}\n aria-current={active ? \"page\" : undefined}\n href={href}\n ref={linkRef}\n onClick={onClickHandler}\n onKeyDown={onKeyDownHandler}\n onKeyUp={onKeyUpHandler}\n id={id}\n aria-disabled={disabled}\n tabIndex={active ? 0 : -1}\n {...rest}\n >\n {children}\n </a>\n </li>\n );\n },\n);\n\nSideNavLink.displayName = \"SideNavLink\";\n","import { createContext, useContext } from \"react\";\n\n/**\n * Interface for the side navigation context\n */\ninterface ISideNavContext {\n /**\n * Current location pathname for routing\n */\n location: string;\n /**\n * Function to update the current location\n */\n setLocation: (location: string) => void;\n}\n\nconst defaultContext = {\n location: \"\",\n setLocation: (_location: string) => {},\n};\n\nexport const SideNavContext: React.Context<ISideNavContext> =\n createContext(defaultContext);\n\n/**\n * Custom hook for accessing the SideNav context.\n * @returns The SideNav context with location and setLocation\n */\n\nexport const useSideNavContext = () => useContext(SideNavContext);\n","import {\n SideNavLinkProps as CoreSideNavLinkProps,\n SideNavLink as CoreSideNavLink,\n} from \"./internal/SideNavLink\";\nimport { Ref, forwardRef, useCallback } from \"react\";\nimport { useSideNavContext } from \"./internal/SideNavContext\";\n\n/**\n * Props for SideNavLink with routing support\n * @property {string} [href] - URL for the link (used when pathname is not provided)\n * @property {string} pathname - Pathname for client-side routing\n * @property {string} [search] - Optional search parameters for the URL\n * @property {boolean} [active] - When true, marks the link as the current active page\n * @property {boolean} [disabled] - When true, disables the link and prevents interaction\n * @extends CoreSideNavLinkProps\n */\ntype SideNavLinkWithRoutingProps = CoreSideNavLinkProps & {\n /**\n * Pathname for client-side routing\n */\n pathname: string;\n /**\n * Optional search parameters for the URL\n */\n search?: string;\n};\n\n/**\n * SideNavLink component with routing support\n */\nconst SideNavLinkWithRouting = forwardRef(\n (\n { href, pathname, search, onClick, ...rest }: SideNavLinkWithRoutingProps,\n ref: Ref<HTMLLIElement>,\n ) => {\n const { location, setLocation } = useSideNavContext();\n const to = pathname + (search ?? \"\");\n\n const handleClick = useCallback(\n (...args: Parameters<NonNullable<CoreSideNavLinkProps[\"onClick\"]>>) => {\n args[0].preventDefault();\n history.pushState(null, \"\", to);\n setLocation(to);\n return onClick?.(...args);\n },\n [onClick, to, setLocation],\n );\n\n return (\n <CoreSideNavLink\n href={pathname != null ? to : href}\n active={pathname === location}\n onClick={pathname != null ? handleClick : onClick}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nSideNavLinkWithRouting.displayName = CoreSideNavLink.displayName;\n\nexport type SideNavLinkProps =\n | CoreSideNavLinkProps\n | SideNavLinkWithRoutingProps;\n\n/**\n * SideNavLink component for individual navigation links within a SideNav.\n *\n * Features:\n * - Individual navigation links with active state support\n * - Keyboard navigation integration with arrow keys\n * - Focus management and tabindex handling\n * - Accessible with proper ARIA attributes\n * - Click and keyboard event handling\n * - Disabled state support\n * - Automatic active state tracking through context\n * - Client-side routing support with pathname prop\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n *\n * <SideNav.Link id=\"intro\" pathname=\"/intro\" active>\n * Introduction (with routing)\n * </SideNav.Link>\n */\nexport const SideNavLink = forwardRef(\n (rest: SideNavLinkProps, ref: Ref<HTMLLIElement>) => {\n if (\"pathname\" in rest) {\n return <SideNavLinkWithRouting ref={ref} {...rest} />;\n } else {\n return <CoreSideNavLink ref={ref} {...rest} />;\n }\n },\n);\nSideNavLink.displayName = CoreSideNavLink.displayName;\n","import cx from \"classnames\";\nimport {\n Children,\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n forwardRef,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport styles from \"./SideNav.module.scss\";\nimport ArrowDown from \"@servicetitan/hammer-icon/mdi/round/keyboard_arrow_down.svg\";\nimport { Icon } from \"../Icon\";\nimport { sideNavKeyboardNavigation } from \"./internal/utils\";\nimport { useSideNav } from \"./useSideNav\";\n\n/**\n * Props for the SideNavCollapsible component\n * @extends Omit<ComponentPropsWithoutRef<\"li\">, \"onClick\">\n */\nexport type SideNavCollapsibleProps = Omit<\n ComponentPropsWithoutRef<\"li\">,\n \"onClick\"\n> & {\n /**\n * The label text displayed for the collapsible section\n */\n label: string;\n /**\n * Function called when the collapsible button is clicked\n */\n onClick?: ComponentPropsWithoutRef<\"button\">[\"onClick\"];\n /**\n * Function called when a key is pressed on the collapsible button\n */\n onKeyDown?: ComponentPropsWithoutRef<\"button\">[\"onKeyDown\"];\n /**\n * Initial expansion state for uncontrolled usage\n * @default false\n */\n defaultExpanded?: boolean;\n /**\n * Controlled expansion state\n */\n expanded?: boolean;\n};\n\n/**\n * SideNavCollapsible component for expandable navigation sections within a SideNav.\n *\n * Features:\n * - Expandable/collapsible navigation sections\n * - Controlled and uncontrolled expansion states\n * - Keyboard navigation with arrow keys for expansion\n * - Automatic expansion when child links are active\n * - Accessible with proper ARIA expanded states\n * - Visual indicators for active children\n * - Integration with SideNav keyboard navigation\n *\n * @example\n * <SideNav.Collapsible label=\"Components\">\n * <SideNav.Link id=\"button\" href=\"/components/button\">\n * Button\n * </SideNav.Link>\n * <SideNav.Link id=\"input\" href=\"/components/input\">\n * Input\n * </SideNav.Link>\n * </SideNav.Collapsible>\n */\nexport const SideNavCollapsible = forwardRef<\n HTMLLIElement,\n SideNavCollapsibleProps\n>((props, ref) => {\n const {\n className,\n children,\n label,\n onClick,\n onKeyDown,\n defaultExpanded = false,\n expanded: expandedControlled,\n ...rest\n } = props;\n const [expanded, setExpanded] = useState<boolean>(defaultExpanded);\n const [hasSelected, setHasSelected] = useState<boolean>(false);\n const sideNavGroupLabelRef = useRef<HTMLButtonElement>(null);\n const groupRef = useRef<HTMLUListElement>(null);\n const sideNavGroupClassNames = cx(styles[\"sidenav-collapsible\"], className);\n const { links, reCalculateLinks } = useSideNav();\n const groupId = useId();\n\n const setExpandedUncontrolled = (newState?: boolean) => {\n if (expandedControlled === undefined)\n setExpanded((prev) => {\n if (newState !== undefined) return newState;\n return !prev;\n });\n };\n\n useEffect(() => {\n if (expandedControlled !== undefined) {\n setExpanded(expandedControlled);\n }\n }, [expandedControlled]);\n const { activeIds } = useSideNav();\n\n const childIds: string[] = useMemo(\n () =>\n Children.map(children, (child) => (child as ReactElement).props)?.map(\n (item) => item.id,\n ) || [],\n [children],\n );\n\n function handleOnClick(e: MouseEvent<HTMLButtonElement>) {\n setExpandedUncontrolled();\n setTimeout(() => reCalculateLinks(), 0);\n\n // find current item that has tabindex 0\n const current = Array.prototype.slice\n .call(links)\n .filter((child) => (child as HTMLElement).tabIndex === 0)[0];\n\n // remove above from tabbable\n if (current) current.setAttribute(\"tabindex\", \"-1\");\n\n // make label button tabbable\n sideNavGroupLabelRef.current?.setAttribute(\"tabindex\", \"0\");\n sideNavGroupLabelRef.current?.focus();\n onClick?.(e);\n }\n\n function handleKeyDown(e: KeyboardEvent<HTMLButtonElement>) {\n sideNavKeyboardNavigation(e, links, sideNavGroupLabelRef);\n switch (e.key) {\n case \"ArrowRight\":\n setExpanded(true);\n setTimeout(() => reCalculateLinks(), 0);\n break;\n case \"ArrowLeft\":\n setExpanded(false);\n setTimeout(() => reCalculateLinks(), 0);\n break;\n\n default:\n break;\n }\n onKeyDown?.(e);\n }\n\n useLayoutEffect(() => {\n const hasActiveChildren = childIds.some((id) => activeIds.has(id));\n if (hasActiveChildren) {\n setExpandedUncontrolled(true);\n setHasSelected(true);\n setTimeout(() => {\n const selectedChild =\n groupRef.current?.querySelector(`[active='true']`);\n selectedChild?.setAttribute(\"tabindex\", \"0\");\n reCalculateLinks();\n }, 0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!activeIds.size || !childIds.some((id) => activeIds.has(id))) {\n setHasSelected(false);\n return;\n }\n setHasSelected(true);\n }, [activeIds, childIds]);\n\n return (\n <li\n ref={ref}\n data-anv=\"sidenav-collapsible\"\n {...rest}\n className={sideNavGroupClassNames}\n >\n <button\n aria-expanded={expanded}\n aria-controls={groupId}\n type=\"button\"\n tabIndex={-1}\n onClick={handleOnClick}\n ref={sideNavGroupLabelRef}\n className={cx(styles[\"sidenav-link\"], {\n [styles[\"has-indicator\"]]: hasSelected && !expanded,\n })}\n onKeyDown={handleKeyDown}\n >\n {label}\n <Icon className={styles[\"arrow\"]} inherit svg={ArrowDown} aria-hidden />\n </button>\n <ul\n id={groupId}\n ref={groupRef}\n className={cx(styles[\"group\"], !expanded && styles.hidden)}\n >\n {children}\n </ul>\n </li>\n );\n});\n\nSideNavCollapsible.displayName = \"SideNavCollapsible\";\n","import { ComponentPropsWithoutRef, forwardRef, useId } from \"react\";\nimport textStyles from \"../Text/Text.module.scss\";\nimport styles from \"./SideNav.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the SideNavGroup component\n * @extends ComponentPropsWithoutRef<\"li\">\n */\nexport type SideNavGroupProps = ComponentPropsWithoutRef<\"li\"> & {\n /**\n * The label text displayed for the navigation group\n */\n label: string;\n};\n\n/**\n * SideNavGroup component for grouping related navigation links within a SideNav.\n *\n * Features:\n * - Groups related navigation links with labels\n * - Accessible with proper ARIA labeling\n * - Semantic grouping for screen readers\n * - Consistent styling and spacing\n * - Unique ID generation for accessibility\n *\n * @example\n * <SideNav.Group label=\"Getting Started\">\n * <SideNav.Link id=\"intro\" href=\"/intro\">\n * Introduction\n * </SideNav.Link>\n * <SideNav.Link id=\"installation\" href=\"/installation\">\n * Installation\n * </SideNav.Link>\n * </SideNav.Group>\n */\nexport const SideNavGroup = forwardRef<HTMLLIElement, SideNavGroupProps>(\n (props, ref) => {\n const { children, label, ...rest } = props;\n\n const sideNavGroupClassNames = cx(styles[\"sidenav-group\"]);\n const groupLabelClassNames = cx(\n textStyles[\"eyebrow\"],\n styles[\"group-label\"],\n );\n\n const groupLabelId = useId();\n return (\n <li ref={ref} data-anv=\"sidenav-group\" {...rest}>\n <label id={groupLabelId} className={groupLabelClassNames}>\n {label}\n </label>\n <ul aria-labelledby={groupLabelId} className={sideNavGroupClassNames}>\n {children}\n </ul>\n </li>\n );\n },\n);\n\nSideNavGroup.displayName = \"SideNavGroup\";\n","import { PropsWithChildren, useState } from \"react\";\nimport { SideNavContext } from \"./SideNavContext\";\n\n/**\n * SideNavProvider component for managing routing state in SideNav components.\n *\n * Features:\n * - Provides routing context for SideNav components\n * - Manages current location state\n * - Enables client-side routing without page reloads\n * - Integrates with browser history API\n * - Context provider for child components\n *\n * @example\n * <SideNavProvider>\n * <SideNav>\n * <SideNav.Link pathname=\"/intro\">Introduction</SideNav.Link>\n * </SideNav>\n * </SideNavProvider>\n */\nexport const SideNavProvider = ({ children }: PropsWithChildren) => {\n const [location, setLocation] = useState(window?.location.pathname);\n\n const sideNavContext = {\n location,\n setLocation,\n };\n\n return (\n <SideNavContext.Provider value={sideNavContext}>\n {children}\n </SideNavContext.Provider>\n );\n};\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useMergeRefs } from \"../../hooks\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport styles from \"./SideNav.module.scss\";\nimport { SideNavLink } from \"./SideNavLink\";\nimport { SideNavCollapsible } from \"./SideNavCollapsible\";\nimport { SideNavGroup } from \"./SideNavGroup\";\nimport { SideNavProvider } from \"./internal/SideNavProvider\";\nimport { DataTrackingId } from \"../../types\";\nimport { SideNavContext, SideNavContextProps } from \"./SideNavContext\";\n\n/**\n * Props for the SideNav component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type SideNavProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps &\n DataTrackingId;\n\n/**\n * SideNav component for creating hierarchical navigation menus.\n *\n * Features:\n * - Hierarchical navigation structure with links, groups, and collapsible sections\n * - Keyboard navigation support with arrow keys and focus management\n * - Active state tracking for current page/section\n * - Accessible with proper ARIA roles and labels\n * - Automatic link recalculation for dynamic content\n * - Context provider for child components\n * - Layout utility props for positioning and spacing\n *\n * @example\n * <SideNav>\n * <SideNav.Group label=\"Getting Started\">\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n * <SideNav.Link id=\"installation\" href=\"/installation\">\n * Installation\n * </SideNav.Link>\n * </SideNav.Group>\n * <SideNav.Collapsible label=\"Components\">\n * <SideNav.Link id=\"button\" href=\"/components/button\">\n * Button\n * </SideNav.Link>\n * <SideNav.Link id=\"input\" href=\"/components/input\">\n * Input\n * </SideNav.Link>\n * </SideNav.Collapsible>\n * </SideNav>\n */\nexport const SideNav = Object.assign(\n forwardRef<HTMLElement, SideNavProps>(function SideNavInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const [activeIds, setActiveIds] = useState<Set<string>>(new Set());\n const { className, children, style, ...rest } = componentProps;\n\n const addActiveId = useCallback(\n (id: string) => {\n if (activeIds.has(id)) return;\n const newIds = new Set(activeIds);\n newIds.add(id);\n setActiveIds(newIds);\n },\n [activeIds],\n );\n\n const removeActiveId = useCallback(\n (id: string) => {\n if (!activeIds.has(id)) return;\n const newIds = new Set(activeIds);\n newIds.delete(id);\n setActiveIds(newIds);\n },\n [activeIds],\n );\n\n const sideNavRef = useRef<HTMLElement>(null);\n const [links, setLinks] = useState<SideNavContextProps[\"links\"]>();\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const reCalculateLinks = useCallback(() => {\n if (sideNavRef.current) {\n const items = sideNavRef.current.querySelectorAll(\n \"li[data-anv='sidenav-link'] a:not([aria-disabled='true']), li[data-anv='sidenav-collapsible'] button[aria-expanded]:not([aria-disabled='true'])\",\n );\n setLinks(items);\n }\n }, [sideNavRef]);\n\n useEffect(() => {\n reCalculateLinks();\n }, [reCalculateLinks]);\n\n const sidenavClassNames = cx([styles[\"sidenav\"]], className);\n\n const value = useMemo(\n () => ({\n links,\n reCalculateLinks,\n activeIds,\n addActiveId,\n removeActiveId,\n }),\n [links, activeIds, addActiveId, removeActiveId, reCalculateLinks],\n );\n\n return (\n <SideNavProvider>\n <SideNavContext.Provider value={value}>\n <nav\n ref={useMergeRefs([sideNavRef, ref])}\n className={sidenavClassNames}\n style={styleCombined}\n data-anv=\"sidenav\"\n {...rest}\n >\n <ul className={styles[\"root\"]}>{children}</ul>\n </nav>\n </SideNavContext.Provider>\n </SideNavProvider>\n );\n }),\n {\n /**\n * SideNavLink component for individual navigation links.\n *\n * Features:\n * - Individual navigation links with active state support\n * - Keyboard navigation integration with arrow keys\n * - Focus management and tabindex handling\n * - Accessible with proper ARIA attributes\n * - Click and keyboard event handling\n * - Disabled state support\n *\n * @example\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n */\n Link: SideNavLink,\n /**\n * SideNavCollapsible component for expandable navigation sections.\n *\n * Features:\n * - Expandable/collapsible navigation sections\n * - Controlled and uncontrolled expansion states\n * - Keyboard navigation with arrow keys for expansion\n * - Automatic expansion when child links are active\n * - Accessible with proper ARIA expanded states\n * - Visual indicators for active children\n *\n * @example\n * <SideNav.Collapsible label=\"Components\">\n * <SideNav.Link id=\"button\" href=\"/components/button\">\n * Button\n * </SideNav.Link>\n * <SideNav.Link id=\"input\" href=\"/components/input\">\n * Input\n * </SideNav.Link>\n * </SideNav.Collapsible>\n */\n Collapsible: SideNavCollapsible,\n /**\n * SideNavGroup component for grouping related navigation links.\n *\n * Features:\n * - Groups related navigation links with labels\n * - Accessible with proper ARIA labeling\n * - Semantic grouping for screen readers\n * - Consistent styling and spacing\n *\n * @example\n * <SideNav.Group label=\"Getting Started\">\n * <SideNav.Link id=\"intro\" href=\"/intro\">\n * Introduction\n * </SideNav.Link>\n * <SideNav.Link id=\"installation\" href=\"/installation\">\n * Installation\n * </SideNav.Link>\n * </SideNav.Group>\n */\n Group: SideNavGroup,\n },\n);\nSideNav.displayName = \"SideNav\";\n"],"names":["SideNavContext","SideNavLink","CoreSideNavLink","ArrowDown"],"mappings":"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"}
1
+ {"version":3,"file":"SideNav-BFkruKa4.js","sources":["../src/components/SideNav/internal/utils.ts","../src/components/SideNav/SideNavContext.tsx","../src/components/SideNav/useSideNav.tsx","../src/components/SideNav/internal/SideNavLink.tsx","../src/components/SideNav/internal/SideNavContext.tsx","../src/components/SideNav/SideNavLink.tsx","../src/components/SideNav/SideNavCollapsible.tsx","../src/components/SideNav/SideNavGroup.tsx","../src/components/SideNav/internal/SideNavProvider.tsx","../src/components/SideNav/SideNav.tsx"],"sourcesContent":["import { KeyboardEvent, RefObject } from \"react\";\nimport { SideNavContextProps } from \"../SideNavContext\";\n\n/**\n * Handles keyboard navigation for SideNav components using arrow keys.\n *\n * This function manages focus movement between navigable elements in a SideNav,\n * providing circular navigation (wrapping from last to first and vice versa).\n * It updates tabindex attributes to maintain proper focus management and\n * prevents default browser behavior for arrow key navigation.\n *\n * @param e - The keyboard event that triggered the navigation\n * @param links - NodeList of all navigable elements in the SideNav\n * @param current - Ref object pointing to the currently focused element\n * @returns void\n */\nexport const sideNavKeyboardNavigation = (\n e: KeyboardEvent<HTMLAnchorElement | HTMLButtonElement>,\n links: SideNavContextProps[\"links\"],\n current: RefObject<HTMLAnchorElement | HTMLButtonElement>,\n) => {\n const currentIndex = Array.prototype.indexOf.call(links, current.current);\n\n switch (e.key) {\n case \"ArrowDown\":\n if (!links) return;\n e.preventDefault();\n links[currentIndex].setAttribute(\"tabindex\", \"-1\");\n if (currentIndex === links.length - 1) {\n links[0].setAttribute(\"tabindex\", \"0\");\n (links[0] as HTMLAnchorElement | HTMLButtonElement).focus();\n break;\n }\n links[currentIndex + 1].setAttribute(\"tabindex\", \"0\");\n (\n links[currentIndex + 1] as HTMLAnchorElement | HTMLButtonElement\n ).focus();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if (!links) return;\n links[currentIndex].setAttribute(\"tabindex\", \"-1\");\n if (currentIndex === 0) {\n links[links.length - 1].setAttribute(\"tabindex\", \"0\");\n (\n links[links.length - 1] as HTMLAnchorElement | HTMLButtonElement\n ).focus();\n break;\n }\n links[currentIndex - 1].setAttribute(\"tabindex\", \"0\");\n (\n links[currentIndex - 1] as HTMLAnchorElement | HTMLButtonElement\n ).focus();\n break;\n default:\n break;\n }\n};\n","import { createContext } from \"react\";\n\n/**\n * Context props for the SideNav component\n */\nexport type SideNavContextProps = {\n /**\n * List of navigable elements in the side navigation\n */\n links: NodeListOf<Element> | undefined;\n /**\n * Function to recalculate the list of navigable links\n */\n reCalculateLinks: () => void;\n /**\n * Set of currently active link IDs\n */\n activeIds: Set<string>;\n /**\n * Function to add an ID to the active set\n */\n addActiveId: (id: string) => void;\n /**\n * Function to remove an ID from the active set\n */\n removeActiveId: (id: string) => void;\n};\n\nexport const SideNavContext = createContext<SideNavContextProps | null>(null);\n","import { useContext } from \"react\";\nimport { SideNavContext } from \"./SideNavContext\";\n\n/**\n * Custom hook for accessing the SideNav context.\n * @returns The SideNav context with links, activeIds, and utility functions\n * @throws Error if used outside of a SideNav component\n */\nexport const useSideNav = () => {\n const context = useContext(SideNavContext);\n\n if (context == null) {\n throw new Error(\"useSideNav must be wrapped in <SideNav />\");\n }\n\n return context;\n};\n","import {\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n forwardRef,\n useRef,\n useEffect,\n} from \"react\";\nimport styles from \"../SideNav.module.scss\";\nimport { sideNavKeyboardNavigation } from \"./utils\";\nimport { useSideNav } from \"../useSideNav\";\n\n/**\n * Props for the SideNavLink component\n * @extends Omit<ComponentPropsWithoutRef<\"a\">, \"id\" | \"onClick\" | \"onKeyDown\" | \"onKeyUp\">\n */\nexport type SideNavLinkProps = Omit<\n ComponentPropsWithoutRef<\"a\">,\n \"id\" | \"onClick\" | \"onKeyDown\" | \"onKeyUp\"\n> & {\n /**\n * Unique identifier for the navigation link\n */\n id: string;\n /**\n * When true, marks the link as the current active page\n */\n active?: boolean;\n /**\n * When true, disables the link and prevents interaction\n */\n disabled?: boolean;\n /**\n * Function called when the link is clicked\n */\n onClick?: (\n e: MouseEvent<HTMLAnchorElement>,\n id: SideNavLinkProps[\"id\"],\n ) => void;\n /**\n * Function called when a key is pressed down on the link\n */\n onKeyDown?: (\n e: KeyboardEvent<HTMLAnchorElement>,\n id: SideNavLinkProps[\"id\"],\n ) => void;\n /**\n * Function called when a key is released on the link\n */\n onKeyUp?: (\n e: KeyboardEvent<HTMLAnchorElement>,\n id: SideNavLinkProps[\"id\"],\n ) => void;\n};\n\n/**\n * SideNavLink component for individual navigation links within a SideNav.\n *\n * Features:\n * - Individual navigation links with active state support\n * - Keyboard navigation integration with arrow keys\n * - Focus management and tabindex handling\n * - Accessible with proper ARIA attributes\n * - Click and keyboard event handling\n * - Disabled state support\n * - Automatic active state tracking through context\n *\n * @example\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n */\nexport const SideNavLink = forwardRef<HTMLLIElement, SideNavLinkProps>(\n (props, ref) => {\n const {\n className,\n children,\n href,\n id,\n active,\n onClick,\n onKeyDown,\n onKeyUp,\n style,\n disabled,\n ...rest\n } = props;\n const { links } = useSideNav();\n\n const linkRef = useRef<HTMLAnchorElement>(null);\n const { activeIds, addActiveId, removeActiveId } = useSideNav();\n\n useEffect(() => {\n if (!activeIds.has(id) && active) {\n addActiveId(id);\n return;\n }\n if (activeIds.has(id) && !active) {\n removeActiveId(id);\n }\n }, [active, activeIds, addActiveId, removeActiveId, id]);\n\n function onKeyDownHandler(e: KeyboardEvent<HTMLAnchorElement>) {\n sideNavKeyboardNavigation(e, links, linkRef);\n onKeyDown?.(e, id);\n }\n\n function onKeyUpHandler(e: KeyboardEvent<HTMLAnchorElement>) {\n if (disabled) return;\n if (e.code === \"Space\" || e.code === \"Enter\") {\n e.preventDefault();\n if (onClick) {\n e.currentTarget.click();\n }\n }\n\n onKeyUp?.(e, id);\n }\n\n function onClickHandler(e: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n // find current item that has tabindex 0\n const current = Array.prototype.slice\n .call(links)\n .filter((child) => (child as HTMLElement).tabIndex === 0)[0];\n\n // remove above from tabbable\n if (current) current.setAttribute(\"tabindex\", \"-1\");\n\n // make label button tabbable\n linkRef.current?.setAttribute(\"tabindex\", \"0\");\n linkRef.current?.focus();\n\n onClick?.(e, id);\n }\n\n return (\n <li className={className} data-anv=\"sidenav-link\" style={style} ref={ref}>\n <a\n className={styles[\"sidenav-link\"]}\n aria-current={active ? \"page\" : undefined}\n href={href}\n ref={linkRef}\n onClick={onClickHandler}\n onKeyDown={onKeyDownHandler}\n onKeyUp={onKeyUpHandler}\n id={id}\n aria-disabled={disabled}\n tabIndex={active ? 0 : -1}\n {...rest}\n >\n {children}\n </a>\n </li>\n );\n },\n);\n\nSideNavLink.displayName = \"SideNavLink\";\n","import { createContext, useContext } from \"react\";\n\n/**\n * Interface for the side navigation context\n */\ninterface ISideNavContext {\n /**\n * Current location pathname for routing\n */\n location: string;\n /**\n * Function to update the current location\n */\n setLocation: (location: string) => void;\n}\n\nconst defaultContext = {\n location: \"\",\n setLocation: (_location: string) => {},\n};\n\nexport const SideNavContext: React.Context<ISideNavContext> =\n createContext(defaultContext);\n\n/**\n * Custom hook for accessing the SideNav context.\n * @returns The SideNav context with location and setLocation\n */\n\nexport const useSideNavContext = () => useContext(SideNavContext);\n","import {\n SideNavLinkProps as CoreSideNavLinkProps,\n SideNavLink as CoreSideNavLink,\n} from \"./internal/SideNavLink\";\nimport { Ref, forwardRef, useCallback } from \"react\";\nimport { useSideNavContext } from \"./internal/SideNavContext\";\n\n/**\n * Props for SideNavLink with routing support\n * @property {string} [href] - URL for the link (used when pathname is not provided)\n * @property {string} pathname - Pathname for client-side routing\n * @property {string} [search] - Optional search parameters for the URL\n * @property {boolean} [active] - When true, marks the link as the current active page\n * @property {boolean} [disabled] - When true, disables the link and prevents interaction\n * @extends CoreSideNavLinkProps\n */\ntype SideNavLinkWithRoutingProps = CoreSideNavLinkProps & {\n /**\n * Pathname for client-side routing\n */\n pathname: string;\n /**\n * Optional search parameters for the URL\n */\n search?: string;\n};\n\n/**\n * SideNavLink component with routing support\n */\nconst SideNavLinkWithRouting = forwardRef(\n (\n { href, pathname, search, onClick, ...rest }: SideNavLinkWithRoutingProps,\n ref: Ref<HTMLLIElement>,\n ) => {\n const { location, setLocation } = useSideNavContext();\n const to = pathname + (search ?? \"\");\n\n const handleClick = useCallback(\n (...args: Parameters<NonNullable<CoreSideNavLinkProps[\"onClick\"]>>) => {\n args[0].preventDefault();\n history.pushState(null, \"\", to);\n setLocation(to);\n return onClick?.(...args);\n },\n [onClick, to, setLocation],\n );\n\n return (\n <CoreSideNavLink\n href={pathname != null ? to : href}\n active={pathname === location}\n onClick={pathname != null ? handleClick : onClick}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nSideNavLinkWithRouting.displayName = CoreSideNavLink.displayName;\n\nexport type SideNavLinkProps =\n | CoreSideNavLinkProps\n | SideNavLinkWithRoutingProps;\n\n/**\n * SideNavLink component for individual navigation links within a SideNav.\n *\n * Features:\n * - Individual navigation links with active state support\n * - Keyboard navigation integration with arrow keys\n * - Focus management and tabindex handling\n * - Accessible with proper ARIA attributes\n * - Click and keyboard event handling\n * - Disabled state support\n * - Automatic active state tracking through context\n * - Client-side routing support with pathname prop\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n *\n * <SideNav.Link id=\"intro\" pathname=\"/intro\" active>\n * Introduction (with routing)\n * </SideNav.Link>\n */\nexport const SideNavLink = forwardRef(\n (rest: SideNavLinkProps, ref: Ref<HTMLLIElement>) => {\n if (\"pathname\" in rest) {\n return <SideNavLinkWithRouting ref={ref} {...rest} />;\n } else {\n return <CoreSideNavLink ref={ref} {...rest} />;\n }\n },\n);\nSideNavLink.displayName = CoreSideNavLink.displayName;\n","import cx from \"classnames\";\nimport {\n Children,\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n forwardRef,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport styles from \"./SideNav.module.scss\";\nimport ArrowDown from \"@servicetitan/hammer-icon/mdi/round/keyboard_arrow_down.svg\";\nimport { Icon } from \"../Icon\";\nimport { sideNavKeyboardNavigation } from \"./internal/utils\";\nimport { useSideNav } from \"./useSideNav\";\n\n/**\n * Props for the SideNavCollapsible component\n * @extends Omit<ComponentPropsWithoutRef<\"li\">, \"onClick\">\n */\nexport type SideNavCollapsibleProps = Omit<\n ComponentPropsWithoutRef<\"li\">,\n \"onClick\"\n> & {\n /**\n * The label text displayed for the collapsible section\n */\n label: string;\n /**\n * Function called when the collapsible button is clicked\n */\n onClick?: ComponentPropsWithoutRef<\"button\">[\"onClick\"];\n /**\n * Function called when a key is pressed on the collapsible button\n */\n onKeyDown?: ComponentPropsWithoutRef<\"button\">[\"onKeyDown\"];\n /**\n * Initial expansion state for uncontrolled usage\n * @default false\n */\n defaultExpanded?: boolean;\n /**\n * Controlled expansion state\n */\n expanded?: boolean;\n};\n\n/**\n * SideNavCollapsible component for expandable navigation sections within a SideNav.\n *\n * Features:\n * - Expandable/collapsible navigation sections\n * - Controlled and uncontrolled expansion states\n * - Keyboard navigation with arrow keys for expansion\n * - Automatic expansion when child links are active\n * - Accessible with proper ARIA expanded states\n * - Visual indicators for active children\n * - Integration with SideNav keyboard navigation\n *\n * @example\n * <SideNav.Collapsible label=\"Components\">\n * <SideNav.Link id=\"button\" href=\"/components/button\">\n * Button\n * </SideNav.Link>\n * <SideNav.Link id=\"input\" href=\"/components/input\">\n * Input\n * </SideNav.Link>\n * </SideNav.Collapsible>\n */\nexport const SideNavCollapsible = forwardRef<\n HTMLLIElement,\n SideNavCollapsibleProps\n>((props, ref) => {\n const {\n className,\n children,\n label,\n onClick,\n onKeyDown,\n defaultExpanded = false,\n expanded: expandedControlled,\n ...rest\n } = props;\n const [expanded, setExpanded] = useState<boolean>(defaultExpanded);\n const [hasSelected, setHasSelected] = useState<boolean>(false);\n const sideNavGroupLabelRef = useRef<HTMLButtonElement>(null);\n const groupRef = useRef<HTMLUListElement>(null);\n const sideNavGroupClassNames = cx(styles[\"sidenav-collapsible\"], className);\n const { links, reCalculateLinks } = useSideNav();\n const groupId = useId();\n\n const setExpandedUncontrolled = (newState?: boolean) => {\n if (expandedControlled === undefined)\n setExpanded((prev) => {\n if (newState !== undefined) return newState;\n return !prev;\n });\n };\n\n useEffect(() => {\n if (expandedControlled !== undefined) {\n setExpanded(expandedControlled);\n }\n }, [expandedControlled]);\n const { activeIds } = useSideNav();\n\n const childIds: string[] = useMemo(\n () =>\n Children.map(children, (child) => (child as ReactElement).props)?.map(\n (item) => item.id,\n ) || [],\n [children],\n );\n\n function handleOnClick(e: MouseEvent<HTMLButtonElement>) {\n setExpandedUncontrolled();\n setTimeout(() => reCalculateLinks(), 0);\n\n // find current item that has tabindex 0\n const current = Array.prototype.slice\n .call(links)\n .filter((child) => (child as HTMLElement).tabIndex === 0)[0];\n\n // remove above from tabbable\n if (current) current.setAttribute(\"tabindex\", \"-1\");\n\n // make label button tabbable\n sideNavGroupLabelRef.current?.setAttribute(\"tabindex\", \"0\");\n sideNavGroupLabelRef.current?.focus();\n onClick?.(e);\n }\n\n function handleKeyDown(e: KeyboardEvent<HTMLButtonElement>) {\n sideNavKeyboardNavigation(e, links, sideNavGroupLabelRef);\n switch (e.key) {\n case \"ArrowRight\":\n setExpanded(true);\n setTimeout(() => reCalculateLinks(), 0);\n break;\n case \"ArrowLeft\":\n setExpanded(false);\n setTimeout(() => reCalculateLinks(), 0);\n break;\n\n default:\n break;\n }\n onKeyDown?.(e);\n }\n\n useLayoutEffect(() => {\n const hasActiveChildren = childIds.some((id) => activeIds.has(id));\n if (hasActiveChildren) {\n setExpandedUncontrolled(true);\n setHasSelected(true);\n setTimeout(() => {\n const selectedChild =\n groupRef.current?.querySelector(`[active='true']`);\n selectedChild?.setAttribute(\"tabindex\", \"0\");\n reCalculateLinks();\n }, 0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!activeIds.size || !childIds.some((id) => activeIds.has(id))) {\n setHasSelected(false);\n return;\n }\n setHasSelected(true);\n }, [activeIds, childIds]);\n\n return (\n <li\n ref={ref}\n data-anv=\"sidenav-collapsible\"\n {...rest}\n className={sideNavGroupClassNames}\n >\n <button\n aria-expanded={expanded}\n aria-controls={groupId}\n type=\"button\"\n tabIndex={-1}\n onClick={handleOnClick}\n ref={sideNavGroupLabelRef}\n className={cx(styles[\"sidenav-link\"], {\n [styles[\"has-indicator\"]]: hasSelected && !expanded,\n })}\n onKeyDown={handleKeyDown}\n >\n {label}\n <Icon className={styles[\"arrow\"]} inherit svg={ArrowDown} aria-hidden />\n </button>\n <ul\n id={groupId}\n ref={groupRef}\n className={cx(styles[\"group\"], !expanded && styles.hidden)}\n >\n {children}\n </ul>\n </li>\n );\n});\n\nSideNavCollapsible.displayName = \"SideNavCollapsible\";\n","import { ComponentPropsWithoutRef, forwardRef, useId } from \"react\";\nimport textStyles from \"../Text/Text.module.scss\";\nimport styles from \"./SideNav.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the SideNavGroup component\n * @extends ComponentPropsWithoutRef<\"li\">\n */\nexport type SideNavGroupProps = ComponentPropsWithoutRef<\"li\"> & {\n /**\n * The label text displayed for the navigation group\n */\n label: string;\n};\n\n/**\n * SideNavGroup component for grouping related navigation links within a SideNav.\n *\n * Features:\n * - Groups related navigation links with labels\n * - Accessible with proper ARIA labeling\n * - Semantic grouping for screen readers\n * - Consistent styling and spacing\n * - Unique ID generation for accessibility\n *\n * @example\n * <SideNav.Group label=\"Getting Started\">\n * <SideNav.Link id=\"intro\" href=\"/intro\">\n * Introduction\n * </SideNav.Link>\n * <SideNav.Link id=\"installation\" href=\"/installation\">\n * Installation\n * </SideNav.Link>\n * </SideNav.Group>\n */\nexport const SideNavGroup = forwardRef<HTMLLIElement, SideNavGroupProps>(\n (props, ref) => {\n const { children, label, ...rest } = props;\n\n const sideNavGroupClassNames = cx(styles[\"sidenav-group\"]);\n const groupLabelClassNames = cx(\n textStyles[\"eyebrow\"],\n styles[\"group-label\"],\n );\n\n const groupLabelId = useId();\n return (\n <li ref={ref} data-anv=\"sidenav-group\" {...rest}>\n <label id={groupLabelId} className={groupLabelClassNames}>\n {label}\n </label>\n <ul aria-labelledby={groupLabelId} className={sideNavGroupClassNames}>\n {children}\n </ul>\n </li>\n );\n },\n);\n\nSideNavGroup.displayName = \"SideNavGroup\";\n","import { PropsWithChildren, useState } from \"react\";\nimport { SideNavContext } from \"./SideNavContext\";\n\n/**\n * SideNavProvider component for managing routing state in SideNav components.\n *\n * Features:\n * - Provides routing context for SideNav components\n * - Manages current location state\n * - Enables client-side routing without page reloads\n * - Integrates with browser history API\n * - Context provider for child components\n *\n * @example\n * <SideNavProvider>\n * <SideNav>\n * <SideNav.Link pathname=\"/intro\">Introduction</SideNav.Link>\n * </SideNav>\n * </SideNavProvider>\n */\nexport const SideNavProvider = ({ children }: PropsWithChildren) => {\n const [location, setLocation] = useState(window?.location.pathname);\n\n const sideNavContext = {\n location,\n setLocation,\n };\n\n return (\n <SideNavContext.Provider value={sideNavContext}>\n {children}\n </SideNavContext.Provider>\n );\n};\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useMergeRefs } from \"../../hooks\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport styles from \"./SideNav.module.scss\";\nimport { SideNavLink } from \"./SideNavLink\";\nimport { SideNavCollapsible } from \"./SideNavCollapsible\";\nimport { SideNavGroup } from \"./SideNavGroup\";\nimport { SideNavProvider } from \"./internal/SideNavProvider\";\nimport { DataTrackingId } from \"../../types\";\nimport { SideNavContext, SideNavContextProps } from \"./SideNavContext\";\n\n/**\n * Props for the SideNav component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type SideNavProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps &\n DataTrackingId;\n\n/**\n * SideNav component for creating hierarchical navigation menus.\n *\n * Features:\n * - Hierarchical navigation structure with links, groups, and collapsible sections\n * - Keyboard navigation support with arrow keys and focus management\n * - Active state tracking for current page/section\n * - Accessible with proper ARIA roles and labels\n * - Automatic link recalculation for dynamic content\n * - Context provider for child components\n * - Layout utility props for positioning and spacing\n *\n * @example\n * <SideNav>\n * <SideNav.Group label=\"Getting Started\">\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n * <SideNav.Link id=\"installation\" href=\"/installation\">\n * Installation\n * </SideNav.Link>\n * </SideNav.Group>\n * <SideNav.Collapsible label=\"Components\">\n * <SideNav.Link id=\"button\" href=\"/components/button\">\n * Button\n * </SideNav.Link>\n * <SideNav.Link id=\"input\" href=\"/components/input\">\n * Input\n * </SideNav.Link>\n * </SideNav.Collapsible>\n * </SideNav>\n */\nexport const SideNav = Object.assign(\n forwardRef<HTMLElement, SideNavProps>(function SideNavInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const [activeIds, setActiveIds] = useState<Set<string>>(new Set());\n const { className, children, style, ...rest } = componentProps;\n\n const addActiveId = useCallback(\n (id: string) => {\n if (activeIds.has(id)) return;\n const newIds = new Set(activeIds);\n newIds.add(id);\n setActiveIds(newIds);\n },\n [activeIds],\n );\n\n const removeActiveId = useCallback(\n (id: string) => {\n if (!activeIds.has(id)) return;\n const newIds = new Set(activeIds);\n newIds.delete(id);\n setActiveIds(newIds);\n },\n [activeIds],\n );\n\n const sideNavRef = useRef<HTMLElement>(null);\n const [links, setLinks] = useState<SideNavContextProps[\"links\"]>();\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const reCalculateLinks = useCallback(() => {\n if (sideNavRef.current) {\n const items = sideNavRef.current.querySelectorAll(\n \"li[data-anv='sidenav-link'] a:not([aria-disabled='true']), li[data-anv='sidenav-collapsible'] button[aria-expanded]:not([aria-disabled='true'])\",\n );\n setLinks(items);\n }\n }, [sideNavRef]);\n\n useEffect(() => {\n reCalculateLinks();\n }, [reCalculateLinks]);\n\n const sidenavClassNames = cx([styles[\"sidenav\"]], className);\n\n const value = useMemo(\n () => ({\n links,\n reCalculateLinks,\n activeIds,\n addActiveId,\n removeActiveId,\n }),\n [links, activeIds, addActiveId, removeActiveId, reCalculateLinks],\n );\n\n return (\n <SideNavProvider>\n <SideNavContext.Provider value={value}>\n <nav\n ref={useMergeRefs([sideNavRef, ref])}\n className={sidenavClassNames}\n style={styleCombined}\n data-anv=\"sidenav\"\n {...rest}\n >\n <ul className={styles[\"root\"]}>{children}</ul>\n </nav>\n </SideNavContext.Provider>\n </SideNavProvider>\n );\n }),\n {\n /**\n * SideNavLink component for individual navigation links.\n *\n * Features:\n * - Individual navigation links with active state support\n * - Keyboard navigation integration with arrow keys\n * - Focus management and tabindex handling\n * - Accessible with proper ARIA attributes\n * - Click and keyboard event handling\n * - Disabled state support\n *\n * @example\n * <SideNav.Link id=\"intro\" href=\"/intro\" active>\n * Introduction\n * </SideNav.Link>\n */\n Link: SideNavLink,\n /**\n * SideNavCollapsible component for expandable navigation sections.\n *\n * Features:\n * - Expandable/collapsible navigation sections\n * - Controlled and uncontrolled expansion states\n * - Keyboard navigation with arrow keys for expansion\n * - Automatic expansion when child links are active\n * - Accessible with proper ARIA expanded states\n * - Visual indicators for active children\n *\n * @example\n * <SideNav.Collapsible label=\"Components\">\n * <SideNav.Link id=\"button\" href=\"/components/button\">\n * Button\n * </SideNav.Link>\n * <SideNav.Link id=\"input\" href=\"/components/input\">\n * Input\n * </SideNav.Link>\n * </SideNav.Collapsible>\n */\n Collapsible: SideNavCollapsible,\n /**\n * SideNavGroup component for grouping related navigation links.\n *\n * Features:\n * - Groups related navigation links with labels\n * - Accessible with proper ARIA labeling\n * - Semantic grouping for screen readers\n * - Consistent styling and spacing\n *\n * @example\n * <SideNav.Group label=\"Getting Started\">\n * <SideNav.Link id=\"intro\" href=\"/intro\">\n * Introduction\n * </SideNav.Link>\n * <SideNav.Link id=\"installation\" href=\"/installation\">\n * Installation\n * </SideNav.Link>\n * </SideNav.Group>\n */\n Group: SideNavGroup,\n },\n);\nSideNav.displayName = \"SideNav\";\n"],"names":["SideNavContext","SideNavLink","CoreSideNavLink","ArrowDown"],"mappings":"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"}
package/dist/SideNav.js CHANGED
@@ -1,2 +1,2 @@
1
- export { S as SideNav, S as default } from './SideNav-JzIIZSK_.js';
1
+ export { S as SideNav, S as default } from './SideNav-BFkruKa4.js';
2
2
  //# sourceMappingURL=SideNav.js.map
package/dist/Skeleton.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
4
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
5
5
 
6
6
  import './Skeleton.css';const pulser = "_pulser_sjnoo_1";
7
7
  const skeleton = "_skeleton_sjnoo_1";
@@ -2,13 +2,13 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { createContext, forwardRef, useContext, useRef, useState, useEffect, useMemo } from 'react';
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
4
  import { S as SvgCheck } from './check-Cf67OWrZ.js';
5
- import { I as Icon } from './Icon-feeG7gXA.js';
5
+ import { I as Icon } from './Icon-BEwHECSM.js';
6
6
  import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
7
- import { e as DurationSlow } from './primitive-DXlHdTFb.js';
7
+ import { e as DurationSlow } from './primitive-BXgYQTTw.js';
8
8
  import { Overflow } from './Overflow.js';
9
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
9
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
10
10
  import { m as motion } from './proxy-DEehATlA.js';
11
- import { B as Button } from './Button-C_V2xQAs.js';
11
+ import { B as Button } from './Button-ChQARW0y.js';
12
12
  import { useTrackingId } from './useTrackingId.js';
13
13
 
14
14
  import './Stepper.css';const StepperContext = createContext({
@@ -627,4 +627,4 @@ const Stepper = Object.assign(
627
627
  Stepper.displayName = "Stepper";
628
628
 
629
629
  export { Stepper as S };
630
- //# sourceMappingURL=Stepper-lYywxPU5.js.map
630
+ //# sourceMappingURL=Stepper-BXgMeUHu.js.map