@servicetitan/anvil2 2.9.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/{AiMark-DR-w6Nbm.js → AiMark-B1-M3ZgP.js} +26 -25
  3. package/dist/{AiMark-DR-w6Nbm.js.map → AiMark-B1-M3ZgP.js.map} +1 -1
  4. package/dist/AiMark.css +246 -256
  5. package/dist/AiMark.js +1 -1
  6. package/dist/{Alert-Dj61Bq8h.js → Alert-DmbqtMg_.js} +20 -31
  7. package/dist/Alert-DmbqtMg_.js.map +1 -0
  8. package/dist/Alert.css +72 -90
  9. package/dist/Alert.js +1 -1
  10. package/dist/{Announcement-B9zm-_1S.js → Announcement-_C5g2Lzm.js} +14 -14
  11. package/dist/{Announcement-B9zm-_1S.js.map → Announcement-_C5g2Lzm.js.map} +1 -1
  12. package/dist/Announcement.css +108 -97
  13. package/dist/Announcement.js +1 -1
  14. package/dist/{AnvilProvider-DUPYyMc7.js → AnvilProvider-JXEbeQjR.js} +13 -8
  15. package/dist/AnvilProvider-JXEbeQjR.js.map +1 -0
  16. package/dist/AnvilProvider.js +1 -1
  17. package/dist/{Avatar-BckUfs1N.js → Avatar-B4hRHku9.js} +23 -23
  18. package/dist/Avatar-B4hRHku9.js.map +1 -0
  19. package/dist/{Avatar-ChybzixS.js → Avatar-NbFc4Ovc.js} +2 -2
  20. package/dist/{Avatar-ChybzixS.js.map → Avatar-NbFc4Ovc.js.map} +1 -1
  21. package/dist/Avatar.css +116 -177
  22. package/dist/Avatar.js +2 -2
  23. package/dist/{Badge-C2W7Dls9.js → Badge-C_wTvtnB.js} +7 -7
  24. package/dist/{Badge-C2W7Dls9.js.map → Badge-C_wTvtnB.js.map} +1 -1
  25. package/dist/Badge.css +42 -50
  26. package/dist/Badge.js +1 -1
  27. package/dist/{Breadcrumbs-ojgYVZwe.js → Breadcrumbs-CYmciJ1D.js} +7 -7
  28. package/dist/{Breadcrumbs-ojgYVZwe.js.map → Breadcrumbs-CYmciJ1D.js.map} +1 -1
  29. package/dist/Breadcrumbs.css +37 -45
  30. package/dist/Breadcrumbs.js +1 -1
  31. package/dist/{Button-BdrrhBTI.js → Button-Bnt8XUI7.js} +13 -10
  32. package/dist/{Button-BdrrhBTI.js.map → Button-Bnt8XUI7.js.map} +1 -1
  33. package/dist/Button.css +274 -335
  34. package/dist/Button.js +1 -1
  35. package/dist/Button.module-DsGhJYRw.js +23 -0
  36. package/dist/Button.module-DsGhJYRw.js.map +1 -0
  37. package/dist/{ButtonCompound-Cmw3cgMY.js → ButtonCompound-DsrK7G3q.js} +11 -4
  38. package/dist/ButtonCompound-DsrK7G3q.js.map +1 -0
  39. package/dist/ButtonCompound.css +25 -0
  40. package/dist/ButtonCompound.js +1 -1
  41. package/dist/{ButtonLink-BJKTJER8.js → ButtonLink-j3h_wRNi.js} +9 -6
  42. package/dist/ButtonLink-j3h_wRNi.js.map +1 -0
  43. package/dist/ButtonLink.js +1 -1
  44. package/dist/{ButtonToggle-DaFQ3DBG.js → ButtonToggle-Ct9_5bhC.js} +7 -4
  45. package/dist/ButtonToggle-Ct9_5bhC.js.map +1 -0
  46. package/dist/ButtonToggle.css +109 -0
  47. package/dist/ButtonToggle.js +1 -1
  48. package/dist/{Calendar-Cka4unyi.js → Calendar-BAbAagIx.js} +2 -2
  49. package/dist/{Calendar-Cka4unyi.js.map → Calendar-BAbAagIx.js.map} +1 -1
  50. package/dist/{Calendar-Dxl9QnfP.js → Calendar-CaCMa_jq.js} +38 -35
  51. package/dist/Calendar-CaCMa_jq.js.map +1 -0
  52. package/dist/Calendar.css +250 -301
  53. package/dist/Calendar.js +2 -2
  54. package/dist/{Card-wz71dEVA.js → Card-DSFuXUGk.js} +11 -11
  55. package/dist/{Card-wz71dEVA.js.map → Card-DSFuXUGk.js.map} +1 -1
  56. package/dist/Card.css +51 -65
  57. package/dist/Card.js +1 -1
  58. package/dist/{Checkbox-B-XTVPbX.js → Checkbox-BSAS8-DM.js} +28 -39
  59. package/dist/Checkbox-BSAS8-DM.js.map +1 -0
  60. package/dist/{Checkbox-Cw1-KFvq.js → Checkbox-Ckl8EFpF.js} +2 -2
  61. package/dist/{Checkbox-Cw1-KFvq.js.map → Checkbox-Ckl8EFpF.js.map} +1 -1
  62. package/dist/Checkbox.css +237 -271
  63. package/dist/Checkbox.js +1 -1
  64. package/dist/Checkbox.module-TYMeYIxw.js +28 -0
  65. package/dist/Checkbox.module-TYMeYIxw.js.map +1 -0
  66. package/dist/{Chip-Ce0WGKAc.js → Chip-CR5i8mQW.js} +31 -23
  67. package/dist/Chip-CR5i8mQW.js.map +1 -0
  68. package/dist/Chip.css +191 -206
  69. package/dist/Chip.js +1 -1
  70. package/dist/{Combobox-CNQUROyr.js → Combobox-BffGTugd.js} +59 -72
  71. package/dist/Combobox-BffGTugd.js.map +1 -0
  72. package/dist/Combobox.css +158 -176
  73. package/dist/Combobox.js +1 -1
  74. package/dist/{DataTable-JRxu2yTP.js → DataTable-D9Xj1nq5.js} +73 -72
  75. package/dist/{DataTable-JRxu2yTP.js.map → DataTable-D9Xj1nq5.js.map} +1 -1
  76. package/dist/DataTable.css +593 -780
  77. package/dist/{DateFieldRange-D2hnF50O.js → DateFieldRange-DPTC3EZz.js} +6 -6
  78. package/dist/{DateFieldRange-D2hnF50O.js.map → DateFieldRange-DPTC3EZz.js.map} +1 -1
  79. package/dist/DateFieldRange.js +1 -1
  80. package/dist/{DateFieldSingle-BuaB7RDr.js → DateFieldSingle-w1G-zd9G.js} +6 -6
  81. package/dist/{DateFieldSingle-BuaB7RDr.js.map → DateFieldSingle-w1G-zd9G.js.map} +1 -1
  82. package/dist/DateFieldSingle.js +1 -1
  83. package/dist/{DateFieldYearless-DLeMEutt.js → DateFieldYearless-DHNVc7Sd.js} +7 -7
  84. package/dist/{DateFieldYearless-DLeMEutt.js.map → DateFieldYearless-DHNVc7Sd.js.map} +1 -1
  85. package/dist/DateFieldYearless.js +1 -1
  86. package/dist/{DateFieldYearlessRange-BfPuYKKC.js → DateFieldYearlessRange-C5ktVUgG.js} +10 -10
  87. package/dist/{DateFieldYearlessRange-BfPuYKKC.js.map → DateFieldYearlessRange-C5ktVUgG.js.map} +1 -1
  88. package/dist/DateFieldYearlessRange.css +11 -19
  89. package/dist/DateFieldYearlessRange.js +1 -1
  90. package/dist/{DaysOfTheWeek-BW1T8sTU.js → DaysOfTheWeek-BubWkBZ0.js} +10 -10
  91. package/dist/{DaysOfTheWeek-BW1T8sTU.js.map → DaysOfTheWeek-BubWkBZ0.js.map} +1 -1
  92. package/dist/DaysOfTheWeek.css +19 -27
  93. package/dist/DaysOfTheWeek.js +1 -1
  94. package/dist/{Details-CZOIpNP_.js → Details-DYRJcLWL.js} +10 -10
  95. package/dist/{Details-CZOIpNP_.js.map → Details-DYRJcLWL.js.map} +1 -1
  96. package/dist/Details.css +134 -138
  97. package/dist/Details.js +1 -1
  98. package/dist/{Dialog-Cewu2pd_.js → Dialog-DGmF6qx3.js} +27 -26
  99. package/dist/Dialog-DGmF6qx3.js.map +1 -0
  100. package/dist/Dialog.css +108 -143
  101. package/dist/Dialog.js +1 -1
  102. package/dist/{DialogCancelButton-Czz4Wpse.js → DialogCancelButton-CbtQcf2J.js} +2 -2
  103. package/dist/{DialogCancelButton-Czz4Wpse.js.map → DialogCancelButton-CbtQcf2J.js.map} +1 -1
  104. package/dist/{Divider-B1UoK8ho.js → Divider-Ds3WKsKa.js} +19 -19
  105. package/dist/{Divider-B1UoK8ho.js.map → Divider-Ds3WKsKa.js.map} +1 -1
  106. package/dist/Divider.css +93 -169
  107. package/dist/Divider.js +1 -1
  108. package/dist/Dnd.js +1 -1
  109. package/dist/DndSort.css +18 -34
  110. package/dist/DndSort.js +10 -10
  111. package/dist/{Drawer-Cb5asXWf.js → Drawer-iewBy1DW.js} +24 -25
  112. package/dist/{Drawer-Cb5asXWf.js.map → Drawer-iewBy1DW.js.map} +1 -1
  113. package/dist/Drawer.css +109 -144
  114. package/dist/Drawer.js +1 -1
  115. package/dist/DrillDown.css +117 -131
  116. package/dist/DrillDown.js +1 -1
  117. package/dist/DrillDown.module-D1Bf9_yP.js +27 -0
  118. package/dist/{DrillDown.module-C8VOhzaF.js.map → DrillDown.module-D1Bf9_yP.js.map} +1 -1
  119. package/dist/{EditCard-DlJE3LXN.js → EditCard-D7-Ye7R0.js} +21 -20
  120. package/dist/{EditCard-DlJE3LXN.js.map → EditCard-D7-Ye7R0.js.map} +1 -1
  121. package/dist/EditCard.css +71 -65
  122. package/dist/EditCard.js +1 -1
  123. package/dist/{FieldLabel-HO2VP-4B.js → FieldLabel-DZWu5dMp.js} +17 -17
  124. package/dist/{FieldLabel-HO2VP-4B.js.map → FieldLabel-DZWu5dMp.js.map} +1 -1
  125. package/dist/FieldLabel.css +66 -102
  126. package/dist/FieldLabel.js +1 -1
  127. package/dist/FieldMessage-DzxfodaI.js +81 -0
  128. package/dist/FieldMessage-DzxfodaI.js.map +1 -0
  129. package/dist/FieldMessage.css +20 -29
  130. package/dist/FieldMessage.js +1 -1
  131. package/dist/{Flex-WyyZm1bf.js → Flex-DOUtHiPi.js} +4 -4
  132. package/dist/{Flex-WyyZm1bf.js.map → Flex-DOUtHiPi.js.map} +1 -1
  133. package/dist/Flex.css +25 -28
  134. package/dist/Flex.js +1 -1
  135. package/dist/{Grid-DeYIx5k4.js → Grid-B1VVssDD.js} +5 -5
  136. package/dist/{Grid-DeYIx5k4.js.map → Grid-B1VVssDD.js.map} +1 -1
  137. package/dist/Grid.css +37 -54
  138. package/dist/Grid.js +1 -1
  139. package/dist/{Helper-B_FIOlhy.js → Helper-DtDeaYTn.js} +8 -10
  140. package/dist/Helper-DtDeaYTn.js.map +1 -0
  141. package/dist/Helper.css +4 -16
  142. package/dist/{Icon-DuIlne4x.js → Icon-BMMbp40n.js} +7 -7
  143. package/dist/{Icon-DuIlne4x.js.map → Icon-BMMbp40n.js.map} +1 -1
  144. package/dist/Icon.css +42 -48
  145. package/dist/Icon.js +1 -1
  146. package/dist/{InputMask-CLLTehFI.js → InputMask-EwEJlW-t.js} +3 -3
  147. package/dist/{InputMask-CLLTehFI.js.map → InputMask-EwEJlW-t.js.map} +1 -1
  148. package/dist/InputMask.js +1 -1
  149. package/dist/{InteractiveCard-GTYbR6Xy.js → InteractiveCard-CnW0m_F-.js} +7 -7
  150. package/dist/{InteractiveCard-GTYbR6Xy.js.map → InteractiveCard-CnW0m_F-.js.map} +1 -1
  151. package/dist/InteractiveCard.css +56 -57
  152. package/dist/InteractiveCard.js +1 -1
  153. package/dist/{Layout-CISAxILX.js → Layout-C2Q2hyLG.js} +80 -80
  154. package/dist/{Layout-CISAxILX.js.map → Layout-C2Q2hyLG.js.map} +1 -1
  155. package/dist/Layout.css +260 -324
  156. package/dist/Layout.js +1 -1
  157. package/dist/{Link-jTvzyXca.js → Link-BUgivkGS.js} +8 -8
  158. package/dist/{Link-jTvzyXca.js.map → Link-BUgivkGS.js.map} +1 -1
  159. package/dist/Link.css +48 -65
  160. package/dist/Link.js +1 -1
  161. package/dist/Link.module-DJc0cOlg.js +12 -0
  162. package/dist/Link.module-DJc0cOlg.js.map +1 -0
  163. package/dist/{LinkButton-DGyHR1E7.js → LinkButton-CuHSdGdj.js} +7 -16
  164. package/dist/LinkButton-CuHSdGdj.js.map +1 -0
  165. package/dist/LinkButton.js +1 -1
  166. package/dist/{List--KhCpjZn.js → List-BXyHWQ9e.js} +8 -8
  167. package/dist/{List--KhCpjZn.js.map → List-BXyHWQ9e.js.map} +1 -1
  168. package/dist/List.css +39 -58
  169. package/dist/List.js +1 -1
  170. package/dist/{ListView-CPi-qG2w.js → ListView-DBO9Bl1H.js} +4 -4
  171. package/dist/{ListView-CPi-qG2w.js.map → ListView-DBO9Bl1H.js.map} +1 -1
  172. package/dist/ListView.css +108 -120
  173. package/dist/ListView.js +1 -1
  174. package/dist/ListView.module-CRk9NfLG.js +9 -0
  175. package/dist/ListView.module-CRk9NfLG.js.map +1 -0
  176. package/dist/{Listbox-Bp4hqIpH.js → Listbox-DDlxpVu9.js} +7 -7
  177. package/dist/{Listbox-Bp4hqIpH.js.map → Listbox-DDlxpVu9.js.map} +1 -1
  178. package/dist/Listbox.css +102 -143
  179. package/dist/Listbox.js +1 -1
  180. package/dist/Listbox.module-CfpLm9pS.js +18 -0
  181. package/dist/Listbox.module-CfpLm9pS.js.map +1 -0
  182. package/dist/{LocalizationProvider-DWCyga_d.js → LocalizationProvider-CO8fQGqs.js} +2 -2
  183. package/dist/{LocalizationProvider-DWCyga_d.js.map → LocalizationProvider-CO8fQGqs.js.map} +1 -1
  184. package/dist/LocalizationProvider.js +1 -1
  185. package/dist/{Menu-CCavGohP.js → Menu-wpTyUDac.js} +10 -10
  186. package/dist/{Menu-CCavGohP.js.map → Menu-wpTyUDac.js.map} +1 -1
  187. package/dist/Menu.css +135 -137
  188. package/dist/Menu.js +1 -1
  189. package/dist/MultiSelectField.js +1 -1
  190. package/dist/{MultiSelectFieldSync-ChZCW4M9.js → MultiSelectFieldSync-DZ3tm7zt.js} +34 -33
  191. package/dist/MultiSelectFieldSync-DZ3tm7zt.js.map +1 -0
  192. package/dist/MultiSelectFieldSync.css +263 -257
  193. package/dist/MultiSelectMenu.js +1 -1
  194. package/dist/{MultiSelectMenuSync-7C1wW4oO.js → MultiSelectMenuSync-dgO9SmHi.js} +4 -4
  195. package/dist/{MultiSelectMenuSync-7C1wW4oO.js.map → MultiSelectMenuSync-dgO9SmHi.js.map} +1 -1
  196. package/dist/{NumberField-CZSTHBeO.js → NumberField-DJbdyatF.js} +15 -12
  197. package/dist/{NumberField-CZSTHBeO.js.map → NumberField-DJbdyatF.js.map} +1 -1
  198. package/dist/NumberField.css +34 -49
  199. package/dist/NumberField.js +1 -1
  200. package/dist/Overflow.css +143 -164
  201. package/dist/Overflow.js +44 -42
  202. package/dist/Overflow.js.map +1 -1
  203. package/dist/{Page-BHdvTlfE.js → Page-Be1Blwme.js} +65 -65
  204. package/dist/Page-Be1Blwme.js.map +1 -0
  205. package/dist/Page.css +384 -404
  206. package/dist/Page.js +1 -1
  207. package/dist/{Pagination-B5jqHYG3.js → Pagination-USDJM5vi.js} +29 -34
  208. package/dist/{Pagination-B5jqHYG3.js.map → Pagination-USDJM5vi.js.map} +1 -1
  209. package/dist/Pagination.css +63 -117
  210. package/dist/Pagination.js +1 -1
  211. package/dist/{Popover-BbqTZw-1.js → Popover-CyB7yzSf.js} +7 -7
  212. package/dist/{Popover-BbqTZw-1.js.map → Popover-CyB7yzSf.js.map} +1 -1
  213. package/dist/Popover.css +84 -97
  214. package/dist/Popover.js +1 -1
  215. package/dist/{ProgressBar-CZcxkdX6.js → ProgressBar-DSrjgLTx.js} +15 -15
  216. package/dist/{ProgressBar-CZcxkdX6.js.map → ProgressBar-DSrjgLTx.js.map} +1 -1
  217. package/dist/ProgressBar.css +59 -81
  218. package/dist/ProgressBar.js +1 -1
  219. package/dist/{Radio-BFr8AdHc.js → Radio-CQaXJ72d.js} +2 -2
  220. package/dist/{Radio-BFr8AdHc.js.map → Radio-CQaXJ72d.js.map} +1 -1
  221. package/dist/{Radio-DJZVMCv0.js → Radio-DO4UhbBE.js} +45 -48
  222. package/dist/Radio-DO4UhbBE.js.map +1 -0
  223. package/dist/Radio.css +233 -229
  224. package/dist/Radio.js +1 -1
  225. package/dist/{SearchField-im7AHGYo.js → SearchField-CsRGYZx3.js} +9 -11
  226. package/dist/{SearchField-im7AHGYo.js.map → SearchField-CsRGYZx3.js.map} +1 -1
  227. package/dist/SearchField.css +22 -39
  228. package/dist/SearchField.js +1 -1
  229. package/dist/{SegmentedControl-B9NWUF7s.js → SegmentedControl-Chhqyyra.js} +15 -16
  230. package/dist/SegmentedControl-Chhqyyra.js.map +1 -0
  231. package/dist/SegmentedControl.css +103 -122
  232. package/dist/SegmentedControl.js +1 -1
  233. package/dist/SelectCard-CtXwY8FZ.js +351 -0
  234. package/dist/SelectCard-CtXwY8FZ.js.map +1 -0
  235. package/dist/SelectCard.css +135 -82
  236. package/dist/SelectCard.js +1 -1
  237. package/dist/SelectField.js +1 -1
  238. package/dist/{SelectFieldLabel-kEBS8L4l.js → SelectFieldLabel-DLT5dKbx.js} +3 -3
  239. package/dist/{SelectFieldLabel-kEBS8L4l.js.map → SelectFieldLabel-DLT5dKbx.js.map} +1 -1
  240. package/dist/{SelectFieldSync-o1Cp9UYC.js → SelectFieldSync-C44hPeeS.js} +9 -8
  241. package/dist/SelectFieldSync-C44hPeeS.js.map +1 -0
  242. package/dist/SelectMenu.js +1 -1
  243. package/dist/{SelectMenuSync-DXrwecFt.js → SelectMenuSync-V97oN85V.js} +4 -4
  244. package/dist/{SelectMenuSync-DXrwecFt.js.map → SelectMenuSync-V97oN85V.js.map} +1 -1
  245. package/dist/{SelectOptions-Dy2OWqxn.js → SelectOptions-CDoo4AUu.js} +2 -2
  246. package/dist/{SelectOptions-Dy2OWqxn.js.map → SelectOptions-CDoo4AUu.js.map} +1 -1
  247. package/dist/{SelectTrigger-DhKYzEAr.js → SelectTrigger-BWN3Tx43.js} +5 -5
  248. package/dist/{SelectTrigger-DhKYzEAr.js.map → SelectTrigger-BWN3Tx43.js.map} +1 -1
  249. package/dist/SelectTrigger.js +1 -1
  250. package/dist/{SelectTriggerBase-Ni8WqeUx.js → SelectTriggerBase-Do7lQ5rw.js} +8 -7
  251. package/dist/{SelectTriggerBase-Ni8WqeUx.js.map → SelectTriggerBase-Do7lQ5rw.js.map} +1 -1
  252. package/dist/SelectTriggerBase.css +231 -305
  253. package/dist/SelectTriggerBase.module-DKF1FQnc.js +37 -0
  254. package/dist/SelectTriggerBase.module-DKF1FQnc.js.map +1 -0
  255. package/dist/{SideNav-CrxYExjh.js → SideNav-CZRVOSbt.js} +19 -14
  256. package/dist/SideNav-CZRVOSbt.js.map +1 -0
  257. package/dist/SideNav.css +126 -294
  258. package/dist/SideNav.js +1 -1
  259. package/dist/Skeleton.css +57 -65
  260. package/dist/Skeleton.js +16 -16
  261. package/dist/Skeleton.js.map +1 -1
  262. package/dist/{Spinner-BqmcE2pb.js → Spinner-lPMo68yW.js} +16 -17
  263. package/dist/Spinner-lPMo68yW.js.map +1 -0
  264. package/dist/Spinner.css +33 -43
  265. package/dist/Spinner.js +1 -1
  266. package/dist/{SrOnly-eUpYGpAT.js → SrOnly-pnf8ajnh.js} +2 -2
  267. package/dist/{SrOnly-eUpYGpAT.js.map → SrOnly-pnf8ajnh.js.map} +1 -1
  268. package/dist/SrOnly.css +12 -14
  269. package/dist/SrOnly.js +1 -1
  270. package/dist/StatusIcon-BwULopyH.js +57 -0
  271. package/dist/StatusIcon-BwULopyH.js.map +1 -0
  272. package/dist/StatusIcon.css +32 -0
  273. package/dist/{Stepper-Dt2xAXth.js → Stepper-CYY64NU1.js} +16 -16
  274. package/dist/{Stepper-Dt2xAXth.js.map → Stepper-CYY64NU1.js.map} +1 -1
  275. package/dist/Stepper.css +180 -239
  276. package/dist/Stepper.js +1 -1
  277. package/dist/{Switch-C84MBChG.js → Switch-DeBu4Ucg.js} +17 -13
  278. package/dist/{Switch-C84MBChG.js.map → Switch-DeBu4Ucg.js.map} +1 -1
  279. package/dist/Switch.css +109 -125
  280. package/dist/Switch.js +1 -1
  281. package/dist/{Tab-BZpTCG0i.js → Tab-CewPzmuK.js} +20 -34
  282. package/dist/Tab-CewPzmuK.js.map +1 -0
  283. package/dist/Tab.css +232 -194
  284. package/dist/Tab.js +1 -1
  285. package/dist/Table.js +1 -1
  286. package/dist/{Text-WiS8UZkY.js → Text-J5YtSSXY.js} +15 -38
  287. package/dist/Text-J5YtSSXY.js.map +1 -0
  288. package/dist/Text.css +101 -142
  289. package/dist/Text.js +1 -1
  290. package/dist/Text.module-BXrY87ui.js +23 -0
  291. package/dist/Text.module-BXrY87ui.js.map +1 -0
  292. package/dist/{TextField-Bul_uln5.js → TextField-CRDTnuUN.js} +7 -7
  293. package/dist/{TextField-Bul_uln5.js.map → TextField-CRDTnuUN.js.map} +1 -1
  294. package/dist/{TextField-OznkTx4e.js → TextField-YlMkDHp-.js} +2 -2
  295. package/dist/{TextField-OznkTx4e.js.map → TextField-YlMkDHp-.js.map} +1 -1
  296. package/dist/TextField.css +156 -148
  297. package/dist/TextField.js +1 -1
  298. package/dist/TextField.module-MRVo1X9H.js +23 -0
  299. package/dist/TextField.module-MRVo1X9H.js.map +1 -0
  300. package/dist/{Textarea-CCYLsJ1x.js → Textarea-CxXmr_Gx.js} +16 -13
  301. package/dist/{Textarea-CCYLsJ1x.js.map → Textarea-CxXmr_Gx.js.map} +1 -1
  302. package/dist/Textarea.css +71 -81
  303. package/dist/Textarea.js +1 -1
  304. package/dist/{ThemeProvider-CaYW3RuA.js → ThemeProvider-D4KdGCaP.js} +11 -9
  305. package/dist/ThemeProvider-D4KdGCaP.js.map +1 -0
  306. package/dist/ThemeProvider.css +586 -516
  307. package/dist/ThemeProvider.js +1 -1
  308. package/dist/{TimeField-BPvPbD8H.js → TimeField-DTg0CE5L.js} +7 -7
  309. package/dist/{TimeField-BPvPbD8H.js.map → TimeField-DTg0CE5L.js.map} +1 -1
  310. package/dist/TimeField.css +5 -8
  311. package/dist/TimeField.js +1 -1
  312. package/dist/{TimezoneMessage-Cnsl4cHT.js → TimezoneMessage-BrKB_psP.js} +2 -2
  313. package/dist/{TimezoneMessage-Cnsl4cHT.js.map → TimezoneMessage-BrKB_psP.js.map} +1 -1
  314. package/dist/TimezoneMessage.css +5 -5
  315. package/dist/Toast.js +2 -2
  316. package/dist/{Toaster-DYJm06Vb.js → Toaster-Bq42x6Gx.js} +35 -34
  317. package/dist/Toaster-Bq42x6Gx.js.map +1 -0
  318. package/dist/{Toaster-CIaIvwH6.js → Toaster-Dly3rfva.js} +2 -2
  319. package/dist/{Toaster-CIaIvwH6.js.map → Toaster-Dly3rfva.js.map} +1 -1
  320. package/dist/Toaster.css +210 -242
  321. package/dist/{Toolbar-ByyI7SqG.js → Toolbar-C1_etxss.js} +42 -42
  322. package/dist/{Toolbar-ByyI7SqG.js.map → Toolbar-C1_etxss.js.map} +1 -1
  323. package/dist/Toolbar.css +121 -202
  324. package/dist/Toolbar.js +1 -1
  325. package/dist/{Tooltip-C1PBRnJv.js → Tooltip-BlStOXN3.js} +8 -8
  326. package/dist/{Tooltip-C1PBRnJv.js.map → Tooltip-BlStOXN3.js.map} +1 -1
  327. package/dist/Tooltip.css +46 -58
  328. package/dist/Tooltip.js +1 -1
  329. package/dist/{YearlessDateInputWithPicker-C_twiQW5.js → YearlessDateInputWithPicker-DyytWt0x.js} +14 -16
  330. package/dist/{YearlessDateInputWithPicker-C_twiQW5.js.map → YearlessDateInputWithPicker-DyytWt0x.js.map} +1 -1
  331. package/dist/YearlessDateInputWithPicker.css +110 -196
  332. package/dist/assets/css-utils/a2-border.css +47 -45
  333. package/dist/assets/css-utils/a2-color.css +443 -227
  334. package/dist/assets/css-utils/a2-font.css +0 -2
  335. package/dist/assets/css-utils/a2-spacing.css +476 -478
  336. package/dist/assets/css-utils/a2-utils.css +992 -772
  337. package/dist/assets/css-utils/border.css +47 -45
  338. package/dist/assets/css-utils/color.css +443 -227
  339. package/dist/assets/css-utils/font.css +0 -2
  340. package/dist/assets/css-utils/spacing.css +476 -478
  341. package/dist/assets/css-utils/utils.css +992 -772
  342. package/dist/beta.js +10 -10
  343. package/dist/{indeterminate_check_box-B4zobNlt.js → check_box-0U1tbEAd.js} +2 -4
  344. package/dist/check_box-0U1tbEAd.js.map +1 -0
  345. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  346. package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
  347. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  348. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
  349. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
  350. package/dist/components/NumberField/NumberField.d.ts +1 -1
  351. package/dist/components/Page/Page.d.ts +2 -2
  352. package/dist/components/SearchField/internal/SearchField.d.ts +1 -1
  353. package/dist/components/Stepper/Stepper.d.ts +1 -1
  354. package/dist/components/Stepper/StepperStep.d.ts +1 -1
  355. package/dist/components/Tab/Tab.d.ts +1 -1
  356. package/dist/components/Tab/TabButton.d.ts +1 -1
  357. package/dist/indeterminate_check_box-jjLG4UY6.js +6 -0
  358. package/dist/indeterminate_check_box-jjLG4UY6.js.map +1 -0
  359. package/dist/{index-D6ag_WQW.js → index-ByMdotWU.js} +18 -18
  360. package/dist/{index-D6ag_WQW.js.map → index-ByMdotWU.js.map} +1 -1
  361. package/dist/index.css +98 -126
  362. package/dist/index.js +85 -82
  363. package/dist/index.js.map +1 -1
  364. package/dist/index2.css +57 -74
  365. package/dist/internal/components/StatusIcon/StatusIcon.d.ts +5 -5
  366. package/dist/internal/hooks/useSelectOrchestration.d.ts +1 -1
  367. package/dist/primitive-DXlHdTFb.js +1056 -0
  368. package/dist/primitive-DXlHdTFb.js.map +1 -0
  369. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +1 -0
  370. package/dist/{stripInlineMarkdown-Cg1qlNwL.js → stripInlineMarkdown-BWbMy7r_.js} +2 -2
  371. package/dist/{stripInlineMarkdown-Cg1qlNwL.js.map → stripInlineMarkdown-BWbMy7r_.js.map} +1 -1
  372. package/dist/{syncFilterUtils-UR5Vgqkh.js → syncFilterUtils-BLcRXQfd.js} +49 -49
  373. package/dist/syncFilterUtils-BLcRXQfd.js.map +1 -0
  374. package/dist/syncFilterUtils.css +189 -217
  375. package/dist/token/core/component-variables.scss +1088 -131
  376. package/dist/token/core/component.d.ts +558 -0
  377. package/dist/token/core/component.js +6685 -249
  378. package/dist/token/core/component.scss +557 -69
  379. package/dist/token/core/css-utils/a2-border.css +47 -45
  380. package/dist/token/core/css-utils/a2-color.css +443 -227
  381. package/dist/token/core/css-utils/a2-font.css +0 -2
  382. package/dist/token/core/css-utils/a2-spacing.css +476 -478
  383. package/dist/token/core/css-utils/a2-utils.css +992 -772
  384. package/dist/token/core/css-utils/border.css +47 -45
  385. package/dist/token/core/css-utils/color.css +443 -227
  386. package/dist/token/core/css-utils/font.css +0 -2
  387. package/dist/token/core/css-utils/spacing.css +476 -478
  388. package/dist/token/core/css-utils/utils.css +992 -772
  389. package/dist/token/core/index.d.ts +6 -0
  390. package/dist/token/core/index.js +1 -1
  391. package/dist/token/core/primitive-variables.scss +148 -65
  392. package/dist/token/core/primitive.d.ts +209 -0
  393. package/dist/token/core/primitive.js +779 -61
  394. package/dist/token/core/primitive.scss +207 -124
  395. package/dist/token/core/semantic-variables.scss +363 -245
  396. package/dist/token/core/semantic.d.ts +221 -0
  397. package/dist/token/core/semantic.js +1592 -347
  398. package/dist/token/core/semantic.scss +219 -140
  399. package/dist/token.js +9076 -833
  400. package/dist/token.js.map +1 -1
  401. package/dist/{useBreakpoint-okJ64T1D.js → useBreakpoint-CeaUyHxh.js} +2 -2
  402. package/dist/{useBreakpoint-okJ64T1D.js.map → useBreakpoint-CeaUyHxh.js.map} +1 -1
  403. package/dist/useBreakpoint.js +1 -1
  404. package/dist/{useDrillDownContext-BssSasVB.js → useDrillDownContext-iUvoTget.js} +2 -2
  405. package/dist/{useDrillDownContext-BssSasVB.js.map → useDrillDownContext-iUvoTget.js.map} +1 -1
  406. package/dist/{useDrilldown-D6VZNSCX.js → useDrilldown-D5WWJRU2.js} +7 -7
  407. package/dist/{useDrilldown-D6VZNSCX.js.map → useDrilldown-D5WWJRU2.js.map} +1 -1
  408. package/dist/{useLayoutPropsUtil-DMDdfIah.js → useLayoutPropsUtil-CB_zHDbW.js} +3 -3
  409. package/dist/{useLayoutPropsUtil-DMDdfIah.js.map → useLayoutPropsUtil-CB_zHDbW.js.map} +1 -1
  410. package/dist/{useToggleSelection-BBdrIVWs.js → useToggleSelection-D_2qS0P1.js} +2 -2
  411. package/dist/{useToggleSelection-BBdrIVWs.js.map → useToggleSelection-D_2qS0P1.js.map} +1 -1
  412. package/package.json +2 -2
  413. package/dist/Alert-Dj61Bq8h.js.map +0 -1
  414. package/dist/AnvilProvider-DUPYyMc7.js.map +0 -1
  415. package/dist/Avatar-BckUfs1N.js.map +0 -1
  416. package/dist/Button.module-wCtFYGVD.js +0 -26
  417. package/dist/Button.module-wCtFYGVD.js.map +0 -1
  418. package/dist/ButtonCompound-Cmw3cgMY.js.map +0 -1
  419. package/dist/ButtonLink-BJKTJER8.js.map +0 -1
  420. package/dist/ButtonToggle-DaFQ3DBG.js.map +0 -1
  421. package/dist/Calendar-Dxl9QnfP.js.map +0 -1
  422. package/dist/Checkbox-B-XTVPbX.js.map +0 -1
  423. package/dist/Checkbox.module-EkRZO48Y.js +0 -28
  424. package/dist/Checkbox.module-EkRZO48Y.js.map +0 -1
  425. package/dist/Chip-Ce0WGKAc.js.map +0 -1
  426. package/dist/Combobox-CNQUROyr.js.map +0 -1
  427. package/dist/Dialog-Cewu2pd_.js.map +0 -1
  428. package/dist/DrillDown.module-C8VOhzaF.js +0 -27
  429. package/dist/FieldMessage-COHqUdj5.js +0 -132
  430. package/dist/FieldMessage-COHqUdj5.js.map +0 -1
  431. package/dist/Helper-B_FIOlhy.js.map +0 -1
  432. package/dist/Link.module-CZt9wvuD.js +0 -12
  433. package/dist/Link.module-CZt9wvuD.js.map +0 -1
  434. package/dist/LinkButton-DGyHR1E7.js.map +0 -1
  435. package/dist/LinkButton.css +0 -5
  436. package/dist/ListView.module-BilDg12y.js +0 -9
  437. package/dist/ListView.module-BilDg12y.js.map +0 -1
  438. package/dist/Listbox.module-HAXMOKvC.js +0 -18
  439. package/dist/Listbox.module-HAXMOKvC.js.map +0 -1
  440. package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +0 -1
  441. package/dist/Page-BHdvTlfE.js.map +0 -1
  442. package/dist/Radio-DJZVMCv0.js.map +0 -1
  443. package/dist/SegmentedControl-B9NWUF7s.js.map +0 -1
  444. package/dist/SelectCard-DVcWJRbX.js +0 -352
  445. package/dist/SelectCard-DVcWJRbX.js.map +0 -1
  446. package/dist/SelectFieldSync-o1Cp9UYC.js.map +0 -1
  447. package/dist/SelectTriggerBase.module-CKoq6qzX.js +0 -38
  448. package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +0 -1
  449. package/dist/SideNav-CrxYExjh.js.map +0 -1
  450. package/dist/Spinner-BqmcE2pb.js.map +0 -1
  451. package/dist/Tab-BZpTCG0i.js.map +0 -1
  452. package/dist/Text-WiS8UZkY.js.map +0 -1
  453. package/dist/TextField.module-BP-hDP5m.js +0 -22
  454. package/dist/TextField.module-BP-hDP5m.js.map +0 -1
  455. package/dist/ThemeProvider-CaYW3RuA.js.map +0 -1
  456. package/dist/Toaster-DYJm06Vb.js.map +0 -1
  457. package/dist/indeterminate_check_box-B4zobNlt.js.map +0 -1
  458. package/dist/primitive-C3RFDRA8.js +0 -255
  459. package/dist/primitive-C3RFDRA8.js.map +0 -1
  460. package/dist/syncFilterUtils-UR5Vgqkh.js.map +0 -1
  461. package/dist/token/core/raw.js +0 -234
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar-B4hRHku9.js","sources":["../src/internal/functions/getInitial.ts","../src/components/Avatar/internal/AvatarBase.tsx","../src/components/Avatar/AvatarGroup.tsx","../src/components/Avatar/internal/Avatar.tsx"],"sourcesContent":["/**\n * Extracts initials from a full name string.\n *\n * Features:\n * - Handles single names (returns first two characters)\n * - Handles multiple names (returns first and last name initials)\n * - Automatically capitalizes all initials\n * - Filters out empty strings and whitespace\n * - Handles edge cases like empty names and single characters\n * - Preserves proper capitalization rules\n * - Returns undefined for empty or falsy input\n *\n * @param name - The full name string to extract initials from\n * @returns The initials as a string, or undefined if name is empty\n */\nexport function getInitial(name: string) {\n if (!name) return undefined;\n\n const nameArray = name.split(\" \").filter(Boolean);\n\n if (nameArray.length > 1)\n return `${nameArray[0][0]?.toUpperCase()}${nameArray[\n nameArray.length - 1\n ][0].toUpperCase()}`;\n\n if (nameArray[0][1]) {\n return `${nameArray[0][0].toUpperCase()}${nameArray[0][1].toLowerCase()}`;\n }\n return `${nameArray[0][0].toUpperCase()}`;\n}\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n useContext,\n useRef,\n useState,\n useEffect,\n useMemo,\n} from \"react\";\nimport cx from \"classnames\";\nimport tinycolor from \"tinycolor2\";\n\nimport { LayoutUtilProps, Size } from \"../../../types\";\nimport { SrOnly } from \"../../SrOnly\";\nimport {\n useAccessibleColor,\n useMergeRefs,\n usePrefersColorScheme,\n} from \"../../../hooks\";\n\nimport styles from \"./AvatarBase.module.scss\";\nimport { ThemeProviderContext } from \"../../../providers/ThemeProvider/internal/ThemeProviderContext\";\n\n/**\n * Props for the AvatarBase component\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type AvatarBaseProps = ComponentPropsWithoutRef<\"span\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> & {\n /**\n * Full name\n * @accessibility This is used for alt text and Screenreader\n */\n name: string;\n /**\n * Custom color of the AvatarBase\n */\n color?: string;\n /**\n * Image source to be used for AvatarBase\n */\n image?: string;\n /**\n * Initials to display if no image is provided\n */\n initials?: string;\n /**\n * @default medium\n */\n size?: Extract<Size, \"xsmall\" | \"small\" | \"medium\" | \"large\">;\n /**\n * Online status of the AvatarBase\n */\n status?: \"online\" | \"offline\";\n };\n\n/**\n * Base Avatar component that handles the core avatar functionality.\n *\n * Features:\n * - Renders user avatars with images or initials\n * - Supports custom colors with accessible contrast\n * - Shows online/offline status indicator\n * - Handles image loading errors gracefully\n * - Supports light and dark themes\n * - Fully accessible with screen reader support\n *\n * @example\n * <AvatarBase name=\"John Doe\" size=\"medium\" status=\"online\" />\n */\nexport const AvatarBase = forwardRef<HTMLSpanElement, AvatarBaseProps>(\n (props, ref) => {\n const {\n className,\n color,\n status,\n name,\n image,\n initials,\n style,\n size,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLSpanElement>(null);\n const imgRef = useRef<HTMLImageElement>(null);\n const [hasImageErrored, setHasImageErrored] = useState(false);\n const avatarBaseClassNames = cx(styles[\"avatar-base\"], className, {\n [styles[`${size}`]]: size,\n });\n const onlineIndicatorClassNames = cx(styles[\"indicator\"], {\n [styles[\"offline\"]]: !status || status === \"offline\",\n [styles[\"online\"]]: status && status === \"online\",\n });\n\n const { mode: themeMode } = useContext(ThemeProviderContext);\n const { mode: sysMode } = usePrefersColorScheme();\n const mode = themeMode ?? sysMode;\n\n const { foreground, background, border } = useAccessibleColor(color, mode);\n\n const styleWithColor = {\n \"--a2-inline-avatar-background-color\": color && background,\n \"--a2-inline-avatar-font-color\": color && foreground,\n \"--a2-inline-avatar-border-color\": color && border,\n ...style,\n };\n\n const onlineIndicatorBorderColor = useMemo(() => {\n if (mode === \"dark\") {\n if (color) {\n return tinycolor(background).brighten(20).toHexString();\n }\n }\n return \"var(--a2-background-color-default)\";\n }, [color, mode, background]);\n\n const onlineIndicatorStyles = {\n \"--a2-inline-avatar-border-color\": onlineIndicatorBorderColor,\n } as React.CSSProperties;\n\n const onlineString = status;\n const srOnly = [name, onlineString].filter(Boolean).join(\" \");\n\n // if the image prop updates, also reset the error state for the new image\n useEffect(() => {\n if (image) {\n setHasImageErrored(false);\n }\n }, [image]);\n\n // if the image is already complete on our first render (likely due to SSR),\n // check the error state of the already complete image\n useEffect(() => {\n if (image && imgRef.current && imgRef.current.complete) {\n const img = new Image();\n img.onerror = () => setHasImageErrored(true);\n img.src = image;\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <span\n className={avatarBaseClassNames}\n style={styleWithColor}\n data-anv=\"avatarBase\"\n {...rest}\n ref={useMergeRefs([elRef, ref])}\n >\n {image && !hasImageErrored ? (\n <img\n className={styles[\"img\"]}\n aria-hidden\n src={image}\n alt={name}\n onError={() => setHasImageErrored(true)}\n ref={imgRef}\n />\n ) : initials ? (\n <span className={styles[\"initial\"]} aria-hidden>\n {initials}\n </span>\n ) : (\n <span aria-hidden>?</span>\n )}\n\n {status && (\n <span\n aria-hidden\n className={onlineIndicatorClassNames}\n style={onlineIndicatorStyles}\n />\n )}\n\n <SrOnly>{srOnly}</SrOnly>\n </span>\n );\n },\n);\n\nAvatarBase.displayName = \"AvatarBase\";\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n Children,\n isValidElement,\n cloneElement,\n CSSProperties,\n ReactElement,\n} from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./AvatarGroup.module.scss\";\nimport avatarBaseStyles from \"./internal/AvatarBase.module.scss\";\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { AvatarBase } from \"./internal/AvatarBase\";\n\n/**\n * Props for the AvatarGroup component\n * @property {number} [max] - Maximum number of avatars to display before truncating\n * @extends LayoutUtilProps\n * @extends ComponentPropsWithoutRef<\"span\">\n */\nexport type AvatarGroupProps = LayoutUtilProps &\n ComponentPropsWithoutRef<\"span\"> & {\n /**\n * Max child to show before truncating\n */\n max?: number;\n };\n\n/**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\nexport const AvatarGroup = forwardRef<HTMLSpanElement, AvatarGroupProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { className, max, style, children, ...rest } = componentProps;\n const childrenArr = Children.toArray(children);\n const inferredSize =\n (isValidElement(childrenArr[0]) && childrenArr[0].props.size) ?? \"medium\";\n const isOverflowing = max ? max < childrenArr.length : false;\n\n const overflowCount = max && childrenArr.length - max;\n\n const avatarGroupClassNames = cx(styles[\"avatar-group\"], className, {\n [styles[`${inferredSize}`]]: inferredSize,\n });\n\n const avatarBaseOverflowClassNames = cx(\n avatarBaseStyles[\"avatar-base-overflow\"],\n {\n [avatarBaseStyles[\"overflow-ten-plus\"]]:\n overflowCount && overflowCount > 9,\n },\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n return (\n <span\n ref={ref}\n className={avatarGroupClassNames}\n style={styleCombined}\n data-anv=\"avatar-group\"\n {...rest}\n >\n {childrenArr.map((child, i) => {\n let childEl = child;\n if (isValidElement(child)) {\n const nIndex = childrenArr.length - i;\n const nStyle: CSSProperties = {\n ...child.props.style,\n zIndex: nIndex,\n };\n childEl = cloneElement(child as ReactElement, {\n style: nStyle,\n });\n }\n\n if (!max) return childEl;\n if (i < max) return childEl;\n return null;\n })}\n {isOverflowing && max && (\n <AvatarBase\n className={avatarBaseOverflowClassNames}\n name={`+${overflowCount}`}\n initials={`+${overflowCount}`}\n size={inferredSize}\n />\n )}\n </span>\n );\n },\n);\n\nAvatarGroup.displayName = \"AvatarGroup\";\n","import { ComponentPropsWithoutRef, forwardRef, useMemo } from \"react\";\nimport { AvatarGroup } from \"../AvatarGroup\";\nimport { LayoutUtilProps } from \"../../../types\";\nimport { getInitial } from \"../../../internal/functions\";\n\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport { AvatarBase, AvatarBaseProps } from \"./AvatarBase\";\n\n/**\n * Props for the Avatar component\n * @property {string} name - Full name of the user. Used for alt text and screen reader announcements\n * @property {string} [color] - Custom color of the avatar. Should maintain sufficient contrast ratio for accessibility\n * @property {string} [image] - Image source to be used for avatar. Falls back to initials if image fails to load\n * @property {Extract<Size, \"small\" | \"medium\" | \"large\">} [size] - Size of the Avatar\n * @property {\"online\" | \"offline\"} [status] - Online status of the Avatar\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<AvatarBaseProps, \"initials\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type AvatarProps = ComponentPropsWithoutRef<\"span\"> &\n Omit<AvatarBaseProps, \"initials\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">;\n\n/**\n * Avatar component for displaying user avatars with initials or images.\n *\n * Features:\n * - Displays user initials when no image is provided\n * - Supports custom colors and sizes\n * - Shows online/offline status\n * - Fully accessible with screen reader support\n * - Automatic image fallback handling\n * - Supports layout utilities for positioning and spacing\n *\n * @example\n * <Avatar\n * name=\"John Doe\"\n * image=\"https://example.com/avatar.jpg\"\n * size=\"medium\"\n * status=\"online\"\n * />\n */\nexport const Avatar = Object.assign(\n forwardRef<HTMLSpanElement, AvatarProps>(function AvatarInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { name, style, ...rest } = componentProps;\n\n const styleWithLayout = useMemo(() => {\n return {\n ...layoutStyles,\n ...style,\n };\n }, [layoutStyles, style]);\n\n const initials = getInitial(name);\n\n return (\n <AvatarBase\n style={styleWithLayout}\n data-anv=\"avatar\"\n name={name}\n ref={ref}\n initials={rest.size === \"small\" ? initials?.[0] : initials}\n {...rest}\n />\n );\n }),\n {\n /**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\n Group: AvatarGroup,\n },\n);\nAvatar.displayName = \"Avatar\";\n"],"names":["styles"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { a as Avatar$1, A as AvatarGroup } from './Avatar-BckUfs1N.js';
2
+ import { a as Avatar$1, A as AvatarGroup } from './Avatar-B4hRHku9.js';
3
3
  import { forwardRef } from 'react';
4
4
 
5
5
  const Avatar = Object.assign(
@@ -32,4 +32,4 @@ const Avatar = Object.assign(
32
32
  Avatar.displayName = Avatar$1.displayName;
33
33
 
34
34
  export { Avatar as A };
35
- //# sourceMappingURL=Avatar-ChybzixS.js.map
35
+ //# sourceMappingURL=Avatar-NbFc4Ovc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar-ChybzixS.js","sources":["../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import {\n Avatar as CoreAvatar,\n AvatarProps as CoreAvatarProps,\n} from \"./internal/Avatar\";\nimport { forwardRef } from \"react\";\nimport { DistributiveOmit } from \"../../types\";\nimport { AvatarGroup } from \"./AvatarGroup\";\n\n/**\n * Props for the Avatar component\n * @property {string} name - Full name used for alt text and screen reader\n * @property {string} [color] - Custom color of the Avatar\n * @property {string} [image] - Image source to be used for Avatar\n * @property {\"small\" | \"medium\" | \"large\"} [size] - Size of the Avatar\n * @property {\"online\" | \"offline\"} [status] - Online status of the Avatar\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<AvatarBaseProps, \"initials\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n * @extends DataTrackingId\n */\nexport type AvatarProps = DistributiveOmit<CoreAvatarProps, \"size\"> & {\n size?: Extract<CoreAvatarProps[\"size\"], \"small\" | \"medium\" | \"large\">;\n};\n\n/**\n * Avatar component for displaying user avatars with initials or images.\n *\n * Features:\n * - Displays user initials when no image is provided\n * - Supports custom colors and sizes\n * - Shows online/offline status\n * - Fully accessible with screen reader support\n * - Automatic image fallback handling\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Avatar name=\"John Doe\" size=\"medium\" status=\"online\" />\n */\nexport const Avatar = Object.assign(\n forwardRef<HTMLSpanElement, AvatarProps>(function AvatarInner(props, ref) {\n return <CoreAvatar ref={ref} {...props} />;\n }),\n {\n /**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\n Group: AvatarGroup,\n },\n);\nAvatar.displayName = CoreAvatar.displayName;\n"],"names":["CoreAvatar"],"mappings":";;;;AAsCO,MAAM,SAAS,MAAA,CAAO,MAAA;AAAA,EAC3B,UAAA,CAAyC,SAAS,WAAA,CAAY,KAAA,EAAO,GAAA,EAAK;AACxE,IAAA,uBAAO,GAAA,CAACA,QAAA,EAAA,EAAW,GAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAAA,EAC1C,CAAC,CAAA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBE,KAAA,EAAO;AAAA;AAEX;AACA,MAAA,CAAO,cAAcA,QAAA,CAAW,WAAA;;;;"}
1
+ {"version":3,"file":"Avatar-NbFc4Ovc.js","sources":["../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import {\n Avatar as CoreAvatar,\n AvatarProps as CoreAvatarProps,\n} from \"./internal/Avatar\";\nimport { forwardRef } from \"react\";\nimport { DistributiveOmit } from \"../../types\";\nimport { AvatarGroup } from \"./AvatarGroup\";\n\n/**\n * Props for the Avatar component\n * @property {string} name - Full name used for alt text and screen reader\n * @property {string} [color] - Custom color of the Avatar\n * @property {string} [image] - Image source to be used for Avatar\n * @property {\"small\" | \"medium\" | \"large\"} [size] - Size of the Avatar\n * @property {\"online\" | \"offline\"} [status] - Online status of the Avatar\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<AvatarBaseProps, \"initials\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n * @extends DataTrackingId\n */\nexport type AvatarProps = DistributiveOmit<CoreAvatarProps, \"size\"> & {\n size?: Extract<CoreAvatarProps[\"size\"], \"small\" | \"medium\" | \"large\">;\n};\n\n/**\n * Avatar component for displaying user avatars with initials or images.\n *\n * Features:\n * - Displays user initials when no image is provided\n * - Supports custom colors and sizes\n * - Shows online/offline status\n * - Fully accessible with screen reader support\n * - Automatic image fallback handling\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Avatar name=\"John Doe\" size=\"medium\" status=\"online\" />\n */\nexport const Avatar = Object.assign(\n forwardRef<HTMLSpanElement, AvatarProps>(function AvatarInner(props, ref) {\n return <CoreAvatar ref={ref} {...props} />;\n }),\n {\n /**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\n Group: AvatarGroup,\n },\n);\nAvatar.displayName = CoreAvatar.displayName;\n"],"names":["CoreAvatar"],"mappings":";;;;AAsCO,MAAM,SAAS,MAAA,CAAO,MAAA;AAAA,EAC3B,UAAA,CAAyC,SAAS,WAAA,CAAY,KAAA,EAAO,GAAA,EAAK;AACxE,IAAA,uBAAO,GAAA,CAACA,QAAA,EAAA,EAAW,GAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAAA,EAC1C,CAAC,CAAA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBE,KAAA,EAAO;AAAA;AAEX;AACA,MAAA,CAAO,cAAcA,QAAA,CAAW,WAAA;;;;"}
package/dist/Avatar.css CHANGED
@@ -1,180 +1,119 @@
1
- @layer starter, reset, base, state, application;
2
- @layer reset {
3
- ._avatar-group_1gdlr_2 {
4
- all: unset;
5
- font-family: var(--font-family-base, "Nunito Sans", sans-serif);
6
- font-size: 100%;
7
- color: var(--foreground-color, #141414);
8
- margin: 0;
9
- padding: 0;
10
- border-style: none;
11
- border-width: 0;
12
- border-color: transparent;
13
- box-sizing: border-box;
14
- display: flex;
15
- }
16
- }
17
- @layer base {
18
- ._avatar-group_1gdlr_2 {
19
- padding-inline-start: 1rem;
20
- }
21
- ._avatar-group_1gdlr_2._small_1gdlr_20 {
22
- padding-inline-start: 0.25rem;
23
- }
24
- ._avatar-group_1gdlr_2._small_1gdlr_20 > * {
25
- margin-inline-start: -0.25rem;
26
- }
27
- ._avatar-group_1gdlr_2._medium_1gdlr_26 {
28
- padding-inline-start: 0.5rem;
29
- }
30
- ._avatar-group_1gdlr_2._medium_1gdlr_26 > * {
31
- margin-inline-start: -0.5rem;
32
- }
33
- ._avatar-group_1gdlr_2._large_1gdlr_32 {
34
- padding-inline-start: 0.75rem;
35
- }
36
- ._avatar-group_1gdlr_2._large_1gdlr_32 > * {
37
- margin-inline-start: -0.75rem;
38
- }
39
- }@layer starter, reset, base, state, application;
40
- @layer reset {
41
- ._avatar-base_bnoyf_2 {
42
- all: unset;
43
- font-family: var(--font-family-base, "Nunito Sans", sans-serif);
44
- font-size: 100%;
45
- color: var(--foreground-color, #141414);
46
- margin: 0;
47
- padding: 0;
48
- border-style: none;
49
- border-width: 0;
50
- border-color: transparent;
51
- box-sizing: border-box;
52
- display: inline-flex;
53
- }
1
+ .anvil2{@layer starter, reset, base, state, application;._avatar-group_1faog_1 {
2
+ --a2-mod-avatar-group-margin-inline-start: calc(var(--a2-size-2, 0.5rem) * -1);
3
+ --a2-mod-avatar-group-padding-inline-start: var(--a2-size-4, 1rem);
4
+ all: unset;
5
+ font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
6
+ font-size: 100%;
7
+ color: inherit;
8
+ margin: 0;
9
+ padding: 0;
10
+ border-style: none;
11
+ border-width: 0;
12
+ border-color: transparent;
13
+ box-sizing: border-box;
14
+ display: flex;
15
+ padding-inline-start: var(--a2-mod-avatar-group-padding-inline-start);
16
+ }._avatar-group_1faog_1 > span, ._avatar-group_1faog_1 > div, ._avatar-group_1faog_1 > button {
17
+ --a2-mod-avatar-margin-inline-start: var(
18
+ --a2-mod-avatar-group-margin-inline-start
19
+ );
20
+ }._small_1faog_23 {
21
+ --a2-mod-avatar-group-margin-inline-start: calc(var(--a2-size-1, 0.25rem) * -1);
22
+ --a2-mod-avatar-group-padding-inline-start: var(--a2-size-1, 0.25rem);
23
+ }._medium_1faog_28 {
24
+ --a2-mod-avatar-group-margin-inline-start: calc(var(--a2-size-2, 0.5rem) * -1);
25
+ --a2-mod-avatar-group-padding-inline-start: var(--a2-size-2, 0.5rem);
26
+ }._large_1faog_33 {
27
+ --a2-mod-avatar-group-margin-inline-start: calc(var(--a2-size-3, 0.75rem) * -1);
28
+ --a2-mod-avatar-group-padding-inline-start: var(--a2-size-3, 0.75rem);
54
29
  }
55
- @layer base {
56
- ._avatar-base_bnoyf_2 {
57
- position: relative;
58
- width: 2rem;
59
- height: 2rem;
60
- justify-content: center;
61
- align-items: center;
62
- border-radius: 100%;
63
- border: 0.0625rem solid var(--int-border-color, #ffffff);
64
- background-color: var(--int-bg-color, var(--background-color-stronger, #eeeeee));
65
- font-size: 0.75rem;
66
- color: var(--int-font-color, var(--foreground-color, #141414));
67
- font-weight: bold;
68
- outline-offset: 0.125rem;
69
- outline: 0 solid var(--focus-ring-color, #0265DC);
70
- transition: box-shadow 200ms cubic-bezier(0, 0, 0.4, 1), background-color 200ms cubic-bezier(0, 0, 0.4, 1), outline 200ms cubic-bezier(0, 0, 0.4, 1);
71
- }
72
- ._avatar-base_bnoyf_2::before {
73
- content: none;
74
- position: absolute;
75
- inset-block-start: 0;
76
- inset-block-end: 0;
77
- inset-inline-start: 0;
78
- inset-inline-end: 0;
79
- z-index: 1;
80
- border-radius: 100%;
81
- -webkit-user-select: none;
82
- -moz-user-select: none;
83
- user-select: none;
84
- }
85
- @media (prefers-reduced-motion: reduce) {
86
- ._avatar-base_bnoyf_2 {
87
- transition-duration: 0.01ms !important;
88
- }
89
- }
90
- ._avatar-base_bnoyf_2 ._initial_bnoyf_49 {
91
- height: 100%;
92
- width: 100%;
93
- display: flex;
94
- justify-content: center;
95
- align-items: center;
96
- overflow: hidden;
97
- }
98
- ._avatar-base_bnoyf_2 ._img_bnoyf_57 {
99
- display: inline-flex;
100
- width: 100%;
101
- height: 100%;
102
- overflow: hidden;
103
- z-index: 0;
104
- border-radius: 100%;
105
- -o-object-fit: cover;
106
- object-fit: cover;
107
- }
108
- ._avatar-base_bnoyf_2 ._indicator_bnoyf_66 {
109
- width: 0.75rem;
110
- height: 0.75rem;
111
- border-radius: 100%;
112
- border: 0.0625rem solid var(--int-border-color, #ffffff);
113
- background-color: var(--background-color, #ffffff);
114
- display: inline-block;
115
- position: absolute;
116
- box-sizing: border-box;
117
- inset-block-end: -0.0625rem;
118
- inset-inline-end: -0.0625rem;
119
- }
30
+ }.anvil2{@layer starter, reset, base, state, application;._avatar-base_bvbpu_1 {
31
+ --a2-mod-avatar-font-size: var(--a2-font-size-200, 0.75rem);
32
+ --a2-mod-avatar-font-size-10-plus-overflow: var(--a2-font-size-100, 0.625rem);
33
+ --a2-mod-avatar-indicator-bg-color: var(--a2-avatar-indicator-background-color-default, var(--a2-background-color-default, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a))));
34
+ --a2-mod-avatar-indicator-offline-shadow-width: 0.125rem;
35
+ --a2-mod-avatar-indicator-size: var(--a2-size-3, 0.75rem);
36
+ --a2-mod-avatar-margin-inline-start: 0;
37
+ --a2-mod-avatar-size: var(--a2-size-8, 2rem);
38
+ --a2-inline-avatar-border-color: var(--a2-color-neutral-0, #ffffff);
39
+ all: unset;
40
+ font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
41
+ font-size: 100%;
42
+ color: inherit;
43
+ margin: 0;
44
+ padding: 0;
45
+ border-style: none;
46
+ border-width: 0;
47
+ border-color: transparent;
48
+ box-sizing: border-box;
49
+ display: inline-flex;
50
+ align-items: center;
51
+ background-color: var(--a2-inline-avatar-background-color, var(--a2-avatar-background-color, var(--a2-background-color-stronger, light-dark(var(--a2-color-neutral-50, #eeeeee), var(--a2-color-neutral-700, #404040)))));
52
+ border: var(--a2-size-quarter, 0.0625rem) solid var(--a2-inline-avatar-border-color, var(--a2-avatar-border-color, var(--a2-background-color-default, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))));
53
+ border-radius: var(--a2-border-radius-circular, 100%);
54
+ color: var(--a2-inline-avatar-font-color, var(--a2-avatar-foreground-color, var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)))));
55
+ font-size: var(--a2-mod-avatar-font-size);
56
+ font-weight: bold;
57
+ height: var(--a2-mod-avatar-size);
58
+ justify-content: center;
59
+ margin-inline-start: var(--a2-mod-avatar-margin-inline-start);
60
+ outline: 0 solid var(--a2-focus-ring-color-default, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
61
+ outline-offset: var(--a2-size-half, 0.125rem);
62
+ position: relative;
63
+ transition: box-shadow var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1)), background-color var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1)), outline var(--a2-duration-default, 200ms) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
64
+ width: var(--a2-mod-avatar-size);
65
+ }._avatar-base_bvbpu_1[data-interactive=focus-visible], ._avatar-base_bvbpu_1:focus-visible {
66
+ outline-width: var(--a2-size-half, 0.125rem);
67
+ }@media (prefers-reduced-motion: reduce) {
68
+ ._avatar-base_bvbpu_1 {
69
+ transition-duration: 0.01ms !important;
70
+ }
71
+ }._initial_bvbpu_46 {
72
+ align-items: center;
73
+ display: flex;
74
+ height: 100%;
75
+ justify-content: center;
76
+ overflow: hidden;
77
+ width: 100%;
78
+ }._img_bvbpu_55 {
79
+ border-radius: var(--a2-border-radius-circular, 100%);
80
+ display: inline-flex;
81
+ height: 100%;
82
+ -o-object-fit: cover;
83
+ object-fit: cover;
84
+ overflow: hidden;
85
+ width: 100%;
86
+ z-index: 0;
87
+ }._indicator_bvbpu_65 {
88
+ background-color: var(--a2-mod-avatar-indicator-bg-color);
89
+ border: var(--a2-size-quarter, 0.0625rem) solid var(--a2-inline-avatar-border-color, var(--a2-avatar-border-color, var(--a2-background-color-default, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))));
90
+ border-radius: var(--a2-border-radius-circular, 100%);
91
+ box-sizing: border-box;
92
+ display: inline-block;
93
+ height: var(--a2-mod-avatar-indicator-size);
94
+ inset-block-end: calc(var(--a2-size-quarter, 0.0625rem) * -1);
95
+ inset-inline-end: calc(var(--a2-size-quarter, 0.0625rem) * -1);
96
+ position: absolute;
97
+ width: var(--a2-mod-avatar-indicator-size);
98
+ }._online_bvbpu_78 {
99
+ --a2-mod-avatar-indicator-bg-color: var(--a2-avatar-indicator-background-color-online, var(--a2-status-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-400, #0bd085))));
100
+ }._offline_bvbpu_82 {
101
+ box-shadow: inset 0 0 0 var(--a2-mod-avatar-indicator-offline-shadow-width) var(--a2-avatar-indicator-background-color-offline, var(--a2-background-color-disabled, light-dark(var(--a2-color-neutral-600, #545454), var(--a2-color-neutral-500, #707070))));
102
+ }._xsmall_bvbpu_86 {
103
+ --a2-mod-avatar-size: var(--a2-size-4, 1rem);
104
+ --a2-mod-avatar-indicator-size: var(--a2-size-1, 0.25rem);
105
+ --a2-mod-avatar-indicator-offline-shadow-width: 0.0625rem;
106
+ }._small_bvbpu_92 {
107
+ --a2-mod-avatar-size: var(--a2-size-6, 1.5rem);
108
+ --a2-mod-avatar-indicator-size: var(--a2-size-2, 0.5rem);
109
+ --a2-mod-avatar-indicator-offline-shadow-width: 0.09375rem;
110
+ }._large_bvbpu_98 {
111
+ --a2-mod-avatar-font-size: var(--a2-font-size-500, 1.25rem);
112
+ --a2-mod-avatar-font-size-10-plus-overflow: var(--a2-font-size-400, 1rem);
113
+ --a2-mod-avatar-size: var(--a2-size-12, 3rem);
114
+ --a2-mod-avatar-indicator-size: var(--a2-size-4, 1rem);
115
+ --a2-mod-avatar-indicator-offline-shadow-width: 0.15625rem;
116
+ }._overflow-ten-plus_bvbpu_106 {
117
+ --a2-mod-avatar-font-size: var(--a2-mod-avatar-font-size-10-plus-overflow);
120
118
  }
121
- @layer state {
122
- ._avatar-base_bnoyf_2 ._indicator_bnoyf_66._online_bnoyf_80 {
123
- background-color: var(--status-color-success, #007A4D);
124
- }
125
- ._avatar-base_bnoyf_2 ._indicator_bnoyf_66._offline_bnoyf_83 {
126
- background-color: var(--background-color, #ffffff);
127
- box-shadow: inset 0 0 0 0.125rem var(--background-color-disabled, #606162);
128
- }
129
- ._avatar-base_bnoyf_2._overflow-ten-plus_bnoyf_87 {
130
- font-size: 0.625rem;
131
- }
132
- ._avatar-base_bnoyf_2._xsmall_bnoyf_90 {
133
- width: 1rem;
134
- height: 1rem;
135
- font-size: 0.75rem;
136
- }
137
- ._avatar-base_bnoyf_2._xsmall_bnoyf_90._overflow-ten-plus_bnoyf_87 {
138
- font-size: 0.625rem;
139
- }
140
- ._avatar-base_bnoyf_2._xsmall_bnoyf_90 ._indicator_bnoyf_66 {
141
- width: 0.25rem;
142
- height: 0.25rem;
143
- }
144
- ._avatar-base_bnoyf_2._xsmall_bnoyf_90 ._indicator_bnoyf_66._offline_bnoyf_83 {
145
- box-shadow: inset 0 0 0 0.0625rem var(--background-color-disabled, #606162);
146
- }
147
- ._avatar-base_bnoyf_2._small_bnoyf_105 {
148
- width: 1.5rem;
149
- height: 1.5rem;
150
- font-size: 0.75rem;
151
- }
152
- ._avatar-base_bnoyf_2._small_bnoyf_105._overflow-ten-plus_bnoyf_87 {
153
- font-size: 0.625rem;
154
- }
155
- ._avatar-base_bnoyf_2._small_bnoyf_105 ._indicator_bnoyf_66 {
156
- width: 0.5rem;
157
- height: 0.5rem;
158
- }
159
- ._avatar-base_bnoyf_2._small_bnoyf_105 ._indicator_bnoyf_66._offline_bnoyf_83 {
160
- box-shadow: inset 0 0 0 0.09375rem var(--background-color-disabled, #606162);
161
- }
162
- ._avatar-base_bnoyf_2._large_bnoyf_120 {
163
- width: 3rem;
164
- height: 3rem;
165
- font-size: 1.25rem;
166
- }
167
- ._avatar-base_bnoyf_2._large_bnoyf_120._overflow-ten-plus_bnoyf_87 {
168
- font-size: 1rem;
169
- }
170
- ._avatar-base_bnoyf_2._large_bnoyf_120 ._indicator_bnoyf_66 {
171
- width: 1rem;
172
- height: 1rem;
173
- }
174
- ._avatar-base_bnoyf_2._large_bnoyf_120 ._indicator_bnoyf_66._offline_bnoyf_83 {
175
- box-shadow: inset 0 0 0 0.15625rem var(--background-color-disabled, #606162);
176
- }
177
- ._avatar-base_bnoyf_2[data-interactive=focus-visible], ._avatar-base_bnoyf_2:focus-visible {
178
- outline-width: 0.125rem;
179
- }
180
119
  }
package/dist/Avatar.js CHANGED
@@ -1,3 +1,3 @@
1
- export { A as Avatar, A as default } from './Avatar-ChybzixS.js';
2
- export { A as AvatarGroup } from './Avatar-BckUfs1N.js';
1
+ export { A as Avatar, A as default } from './Avatar-NbFc4Ovc.js';
2
+ export { A as AvatarGroup } from './Avatar-B4hRHku9.js';
3
3
  //# sourceMappingURL=Avatar.js.map
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
- import { S as SrOnly } from './SrOnly-eUpYGpAT.js';
5
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DMDdfIah.js';
4
+ import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
5
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
6
6
 
7
- import './Badge.css';const badge = "_badge_1rwnm_2";
8
- const empty = "_empty_1rwnm_43";
7
+ import './Badge.css';const badge = "_badge_n9xub_1";
8
+ const empty = "_empty_n9xub_41";
9
9
  const styles = {
10
10
  badge: badge,
11
11
  empty: empty
@@ -29,8 +29,8 @@ const Badge = forwardRef((props, ref) => {
29
29
  const iStyle = {
30
30
  ...style,
31
31
  ...layoutStyles,
32
- "--offsetY": offsetY,
33
- "--offsetX": offsetX
32
+ "--a2-inline-badge-offset-y": offsetY,
33
+ "--a2-inline-badge-offset-x": offsetX
34
34
  };
35
35
  return /* @__PURE__ */ jsxs(
36
36
  "sup",
@@ -50,4 +50,4 @@ const Badge = forwardRef((props, ref) => {
50
50
  Badge.displayName = "Badge";
51
51
 
52
52
  export { Badge as B };
53
- //# sourceMappingURL=Badge-C2W7Dls9.js.map
53
+ //# sourceMappingURL=Badge-C_wTvtnB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge-C2W7Dls9.js","sources":["../src/components/Badge/Badge.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./Badge.module.scss\";\nimport { SrOnly } from \"../SrOnly\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { LayoutUtilProps } from \"../../types\";\n\n/**\n * Props for the Badge component\n * @extends ComponentPropsWithoutRef<\"sup\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type BadgeProps = ComponentPropsWithoutRef<\"sup\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> & {\n /**\n * Optional offset configuration for badge positioning\n */\n offset?: {\n /**\n * Horizontal offset from the default position\n * @default \"0px\"\n */\n x?: string;\n /**\n * Vertical offset from the default position\n * @default \"0px\"\n */\n y?: string;\n };\n };\n\n/**\n * Badge component for displaying small status indicators or counts.\n *\n * Features:\n * - Positioned as a superscript element\n * - Customizable offset positioning\n * - Screen reader support with aria-label\n * - Empty state styling when no content\n * - Supports layout utilities for positioning\n * - Accessible with proper ARIA roles\n *\n * @example\n * <Button>\n * Notifications\n * <Badge aria-label=\"3 new messages\">3</Badge>\n * </Button>\n */\nexport const Badge = forwardRef<HTMLScriptElement, BadgeProps>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n offset,\n children,\n style,\n className,\n \"aria-label\": ariaLabel,\n ...rest\n } = componentProps;\n const classNames = cx(styles[\"badge\"], className, {\n [styles.empty]: !children,\n });\n const offsetX = offset?.x ?? `0px`;\n const offsetY = offset?.y ?? `0px`;\n const iStyle = {\n ...style,\n ...layoutStyles,\n \"--offsetY\": offsetY,\n \"--offsetX\": offsetX,\n };\n\n return (\n <sup\n className={classNames}\n style={iStyle}\n data-anv=\"badge\"\n {...rest}\n ref={ref}\n >\n <SrOnly>{ariaLabel}</SrOnly>\n {children}\n </sup>\n );\n});\nBadge.displayName = \"Badge\";\n"],"names":[],"mappings":";;;;;;;;;;;;;AAgDO,MAAM,KAAA,GAAQ,UAAA,CAA0C,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC7E,EAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AACjE,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA,EAAc,SAAA;AAAA,IACd,GAAG;AAAA,GACL,GAAI,cAAA;AACJ,EAAA,MAAM,UAAA,GAAa,EAAA,CAAG,MAAA,CAAO,OAAO,GAAG,SAAA,EAAW;AAAA,IAChD,CAAC,MAAA,CAAO,KAAK,GAAG,CAAC;AAAA,GAClB,CAAA;AACD,EAAA,MAAM,OAAA,GAAU,QAAQ,CAAA,IAAK,CAAA,GAAA,CAAA;AAC7B,EAAA,MAAM,OAAA,GAAU,QAAQ,CAAA,IAAK,CAAA,GAAA,CAAA;AAC7B,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,GAAG,KAAA;AAAA,IACH,GAAG,YAAA;AAAA,IACH,WAAA,EAAa,OAAA;AAAA,IACb,WAAA,EAAa;AAAA,GACf;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,MACX,KAAA,EAAO,MAAA;AAAA,MACP,UAAA,EAAS,OAAA;AAAA,MACR,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAQ,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QAClB;AAAA;AAAA;AAAA,GACH;AAEJ,CAAC;AACD,KAAA,CAAM,WAAA,GAAc,OAAA;;;;"}
1
+ {"version":3,"file":"Badge-C_wTvtnB.js","sources":["../src/components/Badge/Badge.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./Badge.module.scss\";\nimport { SrOnly } from \"../SrOnly\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { LayoutUtilProps } from \"../../types\";\n\n/**\n * Props for the Badge component\n * @extends ComponentPropsWithoutRef<\"sup\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type BadgeProps = ComponentPropsWithoutRef<\"sup\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> & {\n /**\n * Optional offset configuration for badge positioning\n */\n offset?: {\n /**\n * Horizontal offset from the default position\n * @default \"0px\"\n */\n x?: string;\n /**\n * Vertical offset from the default position\n * @default \"0px\"\n */\n y?: string;\n };\n };\n\n/**\n * Badge component for displaying small status indicators or counts.\n *\n * Features:\n * - Positioned as a superscript element\n * - Customizable offset positioning\n * - Screen reader support with aria-label\n * - Empty state styling when no content\n * - Supports layout utilities for positioning\n * - Accessible with proper ARIA roles\n *\n * @example\n * <Button>\n * Notifications\n * <Badge aria-label=\"3 new messages\">3</Badge>\n * </Button>\n */\nexport const Badge = forwardRef<HTMLScriptElement, BadgeProps>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n offset,\n children,\n style,\n className,\n \"aria-label\": ariaLabel,\n ...rest\n } = componentProps;\n const classNames = cx(styles[\"badge\"], className, {\n [styles.empty]: !children,\n });\n const offsetX = offset?.x ?? `0px`;\n const offsetY = offset?.y ?? `0px`;\n const iStyle = {\n ...style,\n ...layoutStyles,\n \"--a2-inline-badge-offset-y\": offsetY,\n \"--a2-inline-badge-offset-x\": offsetX,\n };\n\n return (\n <sup\n className={classNames}\n style={iStyle}\n data-anv=\"badge\"\n {...rest}\n ref={ref}\n >\n <SrOnly>{ariaLabel}</SrOnly>\n {children}\n </sup>\n );\n});\nBadge.displayName = \"Badge\";\n"],"names":[],"mappings":";;;;;;;;;;;;;AAgDO,MAAM,KAAA,GAAQ,UAAA,CAA0C,CAAC,KAAA,EAAO,GAAA,KAAQ;AAC7E,EAAA,MAAM,EAAE,YAAA,EAAc,cAAA,EAAe,GAAI,mBAAmB,KAAK,CAAA;AACjE,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA,EAAc,SAAA;AAAA,IACd,GAAG;AAAA,GACL,GAAI,cAAA;AACJ,EAAA,MAAM,UAAA,GAAa,EAAA,CAAG,MAAA,CAAO,OAAO,GAAG,SAAA,EAAW;AAAA,IAChD,CAAC,MAAA,CAAO,KAAK,GAAG,CAAC;AAAA,GAClB,CAAA;AACD,EAAA,MAAM,OAAA,GAAU,QAAQ,CAAA,IAAK,CAAA,GAAA,CAAA;AAC7B,EAAA,MAAM,OAAA,GAAU,QAAQ,CAAA,IAAK,CAAA,GAAA,CAAA;AAC7B,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,GAAG,KAAA;AAAA,IACH,GAAG,YAAA;AAAA,IACH,4BAAA,EAA8B,OAAA;AAAA,IAC9B,4BAAA,EAA8B;AAAA,GAChC;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,MACX,KAAA,EAAO,MAAA;AAAA,MACP,UAAA,EAAS,OAAA;AAAA,MACR,GAAG,IAAA;AAAA,MACJ,GAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAQ,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,QAClB;AAAA;AAAA;AAAA,GACH;AAEJ,CAAC;AACD,KAAA,CAAM,WAAA,GAAc,OAAA;;;;"}
package/dist/Badge.css CHANGED
@@ -1,52 +1,44 @@
1
- @layer starter, reset, base, state, application;
2
- @layer reset {
3
- ._badge_1rwnm_2 {
4
- all: unset;
5
- font-family: var(--font-family-base, "Nunito Sans", sans-serif);
6
- font-size: 100%;
7
- color: var(--foreground-color, #141414);
8
- margin: 0;
9
- padding: 0;
10
- border-style: none;
11
- border-width: 0;
12
- border-color: transparent;
13
- box-sizing: border-box;
14
- display: revert-layer;
15
- }
1
+ .anvil2{@layer starter, reset, base, state, application;._badge_n9xub_1 {
2
+ --a2-mod-badge-background-color: var(--a2-badge-background-color, var(--a2-background-color-danger, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d)))));
3
+ --a2-mod-badge-foreground-color: var(--a2-badge-foreground-color, var(--a2-foreground-color-on-danger, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a))));
4
+ --a2-mod-badge-min-size: var(--a2-size-5, 1.25rem);
5
+ --a2-mod-badge-transform-origin: top right;
6
+ all: unset;
7
+ font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
8
+ font-size: 100%;
9
+ color: inherit;
10
+ margin: 0;
11
+ padding: 0;
12
+ border-style: none;
13
+ border-width: 0;
14
+ border-color: transparent;
15
+ box-sizing: border-box;
16
+ display: revert-layer;
17
+ align-items: center;
18
+ background-color: var(--a2-mod-badge-background-color);
19
+ border-radius: var(--a2-border-radius-xlarge, var(--a2-radius-8, 1.5rem));
20
+ color: var(--a2-mod-badge-foreground-color);
21
+ display: inline-flex;
22
+ font-size: var(--a2-font-size-200, 0.75rem);
23
+ inset-block-start: 0;
24
+ inset-inline-end: 0;
25
+ justify-content: center;
26
+ line-height: 1em;
27
+ min-height: var(--a2-mod-badge-min-size);
28
+ min-width: var(--a2-mod-badge-min-size);
29
+ padding-block: var(--a2-size-1, 0.25rem);
30
+ padding-inline: calc(var(--a2-size-1, 0.25rem) * 1.5);
31
+ position: absolute;
32
+ transform: translateY(calc(-50% + var(--a2-inline-badge-offset-y) - var(--a2-size-quarter, 0.0625rem))) translateX(calc(50% + var(--a2-inline-badge-offset-x) + var(--a2-size-quarter, 0.0625rem)));
33
+ transform-origin: var(--a2-mod-badge-transform-origin);
34
+ -webkit-user-select: none;
35
+ -moz-user-select: none;
36
+ user-select: none;
37
+ }[dir=rtl] ._badge_n9xub_1 {
38
+ --a2-mod-badge-transform-origin: top left;
39
+ transform: translateY(calc(-50% + var(--a2-inline-badge-offset-y) - var(--a2-size-quarter, 0.0625rem))) translateX(calc(-50% - (var(--a2-inline-badge-offset-x) - var(--a2-size-quarter, 0.0625rem))));
40
+ }._empty_n9xub_41 {
41
+ --a2-mod-badge-min-size: var(--a2-size-3, 0.75rem);
42
+ aspect-ratio: 1;
16
43
  }
17
- @layer base {
18
- ._badge_1rwnm_2 {
19
- background-color: var(--background-color-danger, var(--background-color-danger, #e13212));
20
- color: var(--foreground-color-on-danger, var(--foreground-color-on-danger, #ffffff));
21
- border-radius: 1.5rem;
22
- display: inline-flex;
23
- justify-content: center;
24
- align-items: center;
25
- font-size: 0.75rem;
26
- padding-block: 0.25rem;
27
- padding-inline: 0.375rem;
28
- min-height: 1.25rem;
29
- min-width: 1.25rem;
30
- -webkit-user-select: none;
31
- -moz-user-select: none;
32
- user-select: none;
33
- position: absolute;
34
- line-height: 1em;
35
- inset-block-start: 0;
36
- inset-inline-end: 0;
37
- transform-origin: top right;
38
- transform: translateY(calc(-50% + var(--offsetY) - 0.0625rem)) translateX(calc(50% + var(--offsetX) + 0.0625rem));
39
- }
40
- }
41
- @layer state {
42
- [dir=rtl] ._badge_1rwnm_2 {
43
- transform-origin: top left;
44
- transform: translateY(calc(-50% + var(--offsetY) - 0.0625rem)) translateX(calc(-50% - (var(--offsetX) - 0.0625rem)));
45
- }
46
- ._badge_1rwnm_2._empty_1rwnm_43 {
47
- min-height: 0.75rem;
48
- min-width: 0.75rem;
49
- height: 0.75rem;
50
- width: 0.75rem;
51
- }
52
44
  }
package/dist/Badge.js CHANGED
@@ -1,2 +1,2 @@
1
- export { B as Badge, B as default } from './Badge-C2W7Dls9.js';
1
+ export { B as Badge, B as default } from './Badge-C_wTvtnB.js';
2
2
  //# sourceMappingURL=Badge.js.map
@@ -2,17 +2,17 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { forwardRef, Children, cloneElement } from 'react';
4
4
  import { c as cx } from './index-De1g9FRV.js';
5
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DMDdfIah.js';
6
- import { L as Link } from './Link-jTvzyXca.js';
7
- import { T as Text } from './Text-WiS8UZkY.js';
8
- import { I as Icon } from './Icon-DuIlne4x.js';
5
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
6
+ import { L as Link } from './Link-BUgivkGS.js';
7
+ import { T as Text } from './Text-J5YtSSXY.js';
8
+ import { I as Icon } from './Icon-BMMbp40n.js';
9
9
 
10
10
  import './Breadcrumbs.css';const SvgChevronRight = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }));
11
11
 
12
- const breadcrumbs = "_breadcrumbs_1c7ez_2";
12
+ const breadcrumbs = "_breadcrumbs_1dm38_1";
13
13
  const styles = {
14
14
  breadcrumbs: breadcrumbs,
15
- "breadcrumbs-link": "_breadcrumbs-link_1c7ez_18"
15
+ "breadcrumbs-link": "_breadcrumbs-link_1dm38_18"
16
16
  };
17
17
 
18
18
  const BreadcrumbsLink = forwardRef((props, ref) => {
@@ -104,4 +104,4 @@ const Breadcrumbs = Object.assign(
104
104
  Breadcrumbs.displayName = "Breadcrumbs";
105
105
 
106
106
  export { Breadcrumbs as B };
107
- //# sourceMappingURL=Breadcrumbs-ojgYVZwe.js.map
107
+ //# sourceMappingURL=Breadcrumbs-CYmciJ1D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-ojgYVZwe.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * Props for the BreadcrumbsLink component\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <BreadcrumbsLink href=\"/dashboard\">Dashboard</BreadcrumbsLink>\n */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n ComponentPropsWithoutRef,\n ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * Props for the Breadcrumbs component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Breadcrumb links to display. The last child will be rendered as non-clickable text.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\n/**\n * Breadcrumbs component for displaying navigation hierarchy.\n *\n * Features:\n * - Displays a series of navigation links with chevron separators\n * - Automatically renders the last item as non-clickable text\n * - Includes proper ARIA labeling for accessibility\n * - Supports layout utilities for positioning and spacing\n * - Uses chevron icons as visual separators between links\n * - Responsive design with flexbox layout\n *\n * @example\n * <Breadcrumbs>\n * <Breadcrumbs.Link href=\"/home\">Home</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/products\">Products</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/electronics\">Electronics</Breadcrumbs.Link>\n * </Breadcrumbs>\n */\nexport const Breadcrumbs = Object.assign(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text\n inline\n size=\"small\"\n style={{\n fontWeight: \"bold\",\n }}\n >\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n ),\n {\n /**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <Breadcrumbs.Link href=\"/dashboard\">Dashboard</Breadcrumbs.Link>\n */\n Link: BreadcrumbsLink,\n },\n);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-CYmciJ1D.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * Props for the BreadcrumbsLink component\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <BreadcrumbsLink href=\"/dashboard\">Dashboard</BreadcrumbsLink>\n */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n ComponentPropsWithoutRef,\n ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * Props for the Breadcrumbs component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Breadcrumb links to display. The last child will be rendered as non-clickable text.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\n/**\n * Breadcrumbs component for displaying navigation hierarchy.\n *\n * Features:\n * - Displays a series of navigation links with chevron separators\n * - Automatically renders the last item as non-clickable text\n * - Includes proper ARIA labeling for accessibility\n * - Supports layout utilities for positioning and spacing\n * - Uses chevron icons as visual separators between links\n * - Responsive design with flexbox layout\n *\n * @example\n * <Breadcrumbs>\n * <Breadcrumbs.Link href=\"/home\">Home</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/products\">Products</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/electronics\">Electronics</Breadcrumbs.Link>\n * </Breadcrumbs>\n */\nexport const Breadcrumbs = Object.assign(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text\n inline\n size=\"small\"\n style={{\n fontWeight: \"bold\",\n }}\n >\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n ),\n {\n /**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <Breadcrumbs.Link href=\"/dashboard\">Dashboard</Breadcrumbs.Link>\n */\n Link: BreadcrumbsLink,\n },\n);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}