@servicetitan/anvil2 1.37.2 → 1.38.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 (388) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/{Alert-DMk5bG5T-kR7Uzp64.js → Alert-C3WoRkeN-D_6Yf63F.js} +5 -5
  3. package/dist/{Alert-DMk5bG5T-kR7Uzp64.js.map → Alert-C3WoRkeN-D_6Yf63F.js.map} +1 -1
  4. package/dist/{Alert-BsFFiu7g.js → Alert-DipY5OlC.js} +3 -2
  5. package/dist/Alert-DipY5OlC.js.map +1 -0
  6. package/dist/Alert.js +1 -1
  7. package/dist/{Announcement-BawOyXV3.js → Announcement-ButSjdLn.js} +5 -4
  8. package/dist/Announcement-ButSjdLn.js.map +1 -0
  9. package/dist/Announcement.js +1 -1
  10. package/dist/{AnvilProvider-DJ4lYJVW.js → AnvilProvider-Lh8YtV03.js} +2 -2
  11. package/dist/{AnvilProvider-DJ4lYJVW.js.map → AnvilProvider-Lh8YtV03.js.map} +1 -1
  12. package/dist/AnvilProvider.js +1 -1
  13. package/dist/{Avatar-C2IfIAxL-BUio7c00.js → Avatar-B20IdOEO-Di14brYV.js} +23 -4
  14. package/dist/Avatar-B20IdOEO-Di14brYV.js.map +1 -0
  15. package/dist/Avatar-hNOToS9S.js +42 -0
  16. package/dist/Avatar-hNOToS9S.js.map +1 -0
  17. package/dist/Avatar.js +1 -1
  18. package/dist/{Badge-Bko3Cw3L.js → Badge-7aZfE-LH.js} +3 -2
  19. package/dist/{Badge-Bko3Cw3L.js.map → Badge-7aZfE-LH.js.map} +1 -1
  20. package/dist/Badge.js +1 -1
  21. package/dist/{Breadcrumbs-BP5QXVje.js → Breadcrumbs-DJbCkSeD.js} +35 -5
  22. package/dist/Breadcrumbs-DJbCkSeD.js.map +1 -0
  23. package/dist/Breadcrumbs.js +1 -1
  24. package/dist/{Button-C-QpfgfF-CRBE7KiD.js → Button-BaHFf1AT-BQy-PFB5.js} +3 -3
  25. package/dist/{Button-C-QpfgfF-CRBE7KiD.js.map → Button-BaHFf1AT-BQy-PFB5.js.map} +1 -1
  26. package/dist/{Button-NTFmgcbr.js → Button-DMQKV2sV.js} +4 -3
  27. package/dist/Button-DMQKV2sV.js.map +1 -0
  28. package/dist/Button.js +1 -1
  29. package/dist/{ButtonCompound-Dp5J4W81-BkZ68L4-.js → ButtonCompound-Cs2A5X-Z-Dl3InVab.js} +2 -2
  30. package/dist/{ButtonCompound-Dp5J4W81-BkZ68L4-.js.map → ButtonCompound-Cs2A5X-Z-Dl3InVab.js.map} +1 -1
  31. package/dist/{ButtonCompound-DlgIyoB9.js → ButtonCompound-DGuF0zzT.js} +3 -2
  32. package/dist/ButtonCompound-DGuF0zzT.js.map +1 -0
  33. package/dist/ButtonCompound.js +1 -1
  34. package/dist/{ButtonLink-CSaxjhI2-KLVGwWjE.js → ButtonLink-5qlX0uZx-b9H7MGhk.js} +6 -4
  35. package/dist/ButtonLink-5qlX0uZx-b9H7MGhk.js.map +1 -0
  36. package/dist/{ButtonLink-B_uUWBLY.js → ButtonLink-B0NJuVk5.js} +4 -3
  37. package/dist/ButtonLink-B0NJuVk5.js.map +1 -0
  38. package/dist/ButtonLink.js +1 -1
  39. package/dist/{ButtonToggle-CvXIngRd-BiWpOOWr.js → ButtonToggle-Bm4KRl3o-B1-LbfjY.js} +3 -3
  40. package/dist/{ButtonToggle-CvXIngRd-BiWpOOWr.js.map → ButtonToggle-Bm4KRl3o-B1-LbfjY.js.map} +1 -1
  41. package/dist/{ButtonToggle-D3tcTRq9.js → ButtonToggle-CKVyEODc.js} +3 -2
  42. package/dist/ButtonToggle-CKVyEODc.js.map +1 -0
  43. package/dist/ButtonToggle.js +1 -1
  44. package/dist/{Calendar-Bn00Dnc--DcCNi1xz.js → Calendar-CohGSWFp-DFYJkf7Y.js} +9 -9
  45. package/dist/{Calendar-Bn00Dnc--DcCNi1xz.js.map → Calendar-CohGSWFp-DFYJkf7Y.js.map} +1 -1
  46. package/dist/Calendar-jl0s6W7p.js +130 -0
  47. package/dist/Calendar-jl0s6W7p.js.map +1 -0
  48. package/dist/Calendar.js +1 -1
  49. package/dist/{Card-DgxiRqS_.js → Card-U2IJPk8B.js} +3 -2
  50. package/dist/Card-U2IJPk8B.js.map +1 -0
  51. package/dist/{Card-BNT0qpxt-OPUNKZW6.js → Card-ZknG-yim-7W6rYSFV.js} +3 -3
  52. package/dist/{Card-BNT0qpxt-OPUNKZW6.js.map → Card-ZknG-yim-7W6rYSFV.js.map} +1 -1
  53. package/dist/Card.js +1 -1
  54. package/dist/{Checkbox-BIlp8xmW.js → Checkbox-DbDwtefR.js} +25 -2
  55. package/dist/Checkbox-DbDwtefR.js.map +1 -0
  56. package/dist/{Checkbox-CRurfeRE-BR_NXfh6.js → Checkbox-TIcImbEx-EgjesTNn.js} +6 -5
  57. package/dist/Checkbox-TIcImbEx-EgjesTNn.js.map +1 -0
  58. package/dist/Checkbox.js +1 -1
  59. package/dist/{Chip-BQ58RQ3v.js → Chip-BlLavyIK.js} +2 -2
  60. package/dist/Chip-BlLavyIK.js.map +1 -0
  61. package/dist/{Chip-DwiMFYBm-CIDM1d8e.js → Chip-_daV8CmM-CTke7zH4.js} +5 -5
  62. package/dist/{Chip-DwiMFYBm-CIDM1d8e.js.map → Chip-_daV8CmM-CTke7zH4.js.map} +1 -1
  63. package/dist/Chip.js +1 -1
  64. package/dist/{Combobox-Dde7-7tv.js → Combobox-7ADxZKDE.js} +187 -24
  65. package/dist/Combobox-7ADxZKDE.js.map +1 -0
  66. package/dist/Combobox.js +1 -1
  67. package/dist/{DateField-D-eVP6xh.js → DateField-CUO_26rh.js} +18 -13
  68. package/dist/DateField-CUO_26rh.js.map +1 -0
  69. package/dist/DateField.js +1 -1
  70. package/dist/{DaysOfTheWeek-Dz-aZ-LW.js → DaysOfTheWeek-CEKoAJSv.js} +7 -7
  71. package/dist/DaysOfTheWeek-CEKoAJSv.js.map +1 -0
  72. package/dist/DaysOfTheWeek.js +1 -1
  73. package/dist/{Details-ChZdA5Yo.js → Details-DVg0EOkv.js} +51 -3
  74. package/dist/Details-DVg0EOkv.js.map +1 -0
  75. package/dist/Details.js +1 -1
  76. package/dist/{Dialog-DJhN8QWP.js → Dialog-D6zpW-GE.js} +125 -4
  77. package/dist/Dialog-D6zpW-GE.js.map +1 -0
  78. package/dist/Dialog.js +1 -1
  79. package/dist/{Divider-Crum3dyV.js → Divider-CN36wX4s.js} +3 -2
  80. package/dist/Divider-CN36wX4s.js.map +1 -0
  81. package/dist/Divider.js +1 -1
  82. package/dist/Dnd.js +1 -1
  83. package/dist/{DndSort-Dy_D1EnT.js → DndSort-Cl0FCNQm.js} +6 -6
  84. package/dist/{DndSort-Dy_D1EnT.js.map → DndSort-Cl0FCNQm.js.map} +1 -1
  85. package/dist/DndSort.js +1 -1
  86. package/dist/Drawer-qb7Q0BAm.js +142 -0
  87. package/dist/Drawer-qb7Q0BAm.js.map +1 -0
  88. package/dist/Drawer.js +1 -1
  89. package/dist/{EditCard-BNwoKJ_6.js → EditCard-C0hD1VPA.js} +7 -6
  90. package/dist/EditCard-C0hD1VPA.js.map +1 -0
  91. package/dist/EditCard.js +1 -1
  92. package/dist/{FieldMessage-CERWyhwG.js → FieldMessage-Cg3zcgk5.js} +2 -2
  93. package/dist/FieldMessage-Cg3zcgk5.js.map +1 -0
  94. package/dist/{FieldMessage-Js4e1ezw-DZ6YDx24.js → FieldMessage-ChFXWVDb-loVSCnCM.js} +3 -3
  95. package/dist/{FieldMessage-Js4e1ezw-DZ6YDx24.js.map → FieldMessage-ChFXWVDb-loVSCnCM.js.map} +1 -1
  96. package/dist/FieldMessage.js +1 -1
  97. package/dist/{Flex-EX9xObMl-BPBQ7nb5.js → Flex-CiK7uNUu-BfxHG4L0.js} +3 -3
  98. package/dist/{Flex-EX9xObMl-BPBQ7nb5.js.map → Flex-CiK7uNUu-BfxHG4L0.js.map} +1 -1
  99. package/dist/{Flex-DT1l-wJc.js → Flex-Ln6PmaDl.js} +3 -2
  100. package/dist/Flex-Ln6PmaDl.js.map +1 -0
  101. package/dist/Flex.js +1 -1
  102. package/dist/Grid-CMcDeSYT.js +33 -0
  103. package/dist/Grid-CMcDeSYT.js.map +1 -0
  104. package/dist/{Grid-BmNHm7Fa.js → Grid-DFAd8mTe.js} +2 -2
  105. package/dist/{Grid-BmNHm7Fa.js.map → Grid-DFAd8mTe.js.map} +1 -1
  106. package/dist/Grid.js +1 -1
  107. package/dist/{HammerProvider-BEJW4XcH-BBKdl0zs.js → HammerProvider-CYP98rq3-Dd9GVIyP.js} +3 -3
  108. package/dist/{HammerProvider-BEJW4XcH-BBKdl0zs.js.map → HammerProvider-CYP98rq3-Dd9GVIyP.js.map} +1 -1
  109. package/dist/Helper-C9sHaTrI-C5fAsK6i.js +46 -0
  110. package/dist/Helper-C9sHaTrI-C5fAsK6i.js.map +1 -0
  111. package/dist/Helper-C9sHaTrI.css +21 -0
  112. package/dist/{Icon-BrdmZw1i-CG-LzgEz.js → Icon-B6HmlQiR-BxQkO3X5.js} +3 -3
  113. package/dist/{Icon-BrdmZw1i-CG-LzgEz.js.map → Icon-B6HmlQiR-BxQkO3X5.js.map} +1 -1
  114. package/dist/{Icon-CcUV8glf.js → Icon-BgKqBmlj.js} +3 -2
  115. package/dist/Icon-BgKqBmlj.js.map +1 -0
  116. package/dist/Icon.js +1 -1
  117. package/dist/{InputMask-CeqX68uX.js → InputMask-DKPqOpHs.js} +3 -2
  118. package/dist/InputMask-DKPqOpHs.js.map +1 -0
  119. package/dist/InputMask-kJ-hlK0O-Ctwa0U7r.js +231 -0
  120. package/dist/InputMask-kJ-hlK0O-Ctwa0U7r.js.map +1 -0
  121. package/dist/InputMask.js +1 -1
  122. package/dist/Layout-CUUb2PVr.js.map +1 -1
  123. package/dist/{Link-K3nk4QAp.js → Link-DZa0wmkA.js} +3 -3
  124. package/dist/Link-DZa0wmkA.js.map +1 -0
  125. package/dist/{Link-CVN5Mwtx-B08PO1ef.js → Link-Dqp_XXl_-Bv20l_tY.js} +4 -4
  126. package/dist/{Link-CVN5Mwtx-B08PO1ef.js.map → Link-Dqp_XXl_-Bv20l_tY.js.map} +1 -1
  127. package/dist/Link.js +1 -1
  128. package/dist/{ListView-zlg5FlKW.js → ListView-0xHc5wT6.js} +87 -47
  129. package/dist/ListView-0xHc5wT6.js.map +1 -0
  130. package/dist/ListView.js +1 -1
  131. package/dist/{Listbox-DLlT8qbJ-BvhkfmIf.js → Listbox-BvJLSAVO-Br5k6fmq.js} +51 -10
  132. package/dist/Listbox-BvJLSAVO-Br5k6fmq.js.map +1 -0
  133. package/dist/Listbox-dVARiucB.js +67 -0
  134. package/dist/Listbox-dVARiucB.js.map +1 -0
  135. package/dist/Listbox.js +1 -1
  136. package/dist/{LocalizationProvider-FkvhW-le-DPTpcI0N.js → LocalizationProvider-VtRAfGBT-Bo8XuFoE.js} +2 -2
  137. package/dist/{LocalizationProvider-FkvhW-le-DPTpcI0N.js.map → LocalizationProvider-VtRAfGBT-Bo8XuFoE.js.map} +1 -1
  138. package/dist/LocalizationProvider.js +1 -1
  139. package/dist/{Menu-BjzTwENs.js → Menu-BAuADOyt.js} +60 -10
  140. package/dist/Menu-BAuADOyt.js.map +1 -0
  141. package/dist/Menu.js +1 -1
  142. package/dist/{Overflow-vc1mxjUD.js → Overflow-B6rIOkAI.js} +27 -2
  143. package/dist/Overflow-B6rIOkAI.js.map +1 -0
  144. package/dist/{Overflow-ENfRRD_5-DLHLZ02e.js → Overflow-BrXwlYpn-CtqaiNgb.js} +25 -4
  145. package/dist/Overflow-BrXwlYpn-CtqaiNgb.js.map +1 -0
  146. package/dist/Overflow.js +1 -1
  147. package/dist/{Page-CSM-a2UE.js → Page-CtwsyE3i.js} +131 -15
  148. package/dist/Page-CtwsyE3i.js.map +1 -0
  149. package/dist/Page.js +1 -1
  150. package/dist/Popover-Bnkwq99S.js +135 -0
  151. package/dist/Popover-Bnkwq99S.js.map +1 -0
  152. package/dist/{Popover-CpyYXmal-I-E-B4u8.js → Popover-VztF0YHt-ci3tYiye.js} +80 -8
  153. package/dist/Popover-VztF0YHt-ci3tYiye.js.map +1 -0
  154. package/dist/Popover.js +1 -1
  155. package/dist/{ProgressBar-B25Wxpaf.js → ProgressBar-BotOFymw.js} +3 -2
  156. package/dist/ProgressBar-BotOFymw.js.map +1 -0
  157. package/dist/{ProgressBar-CeClhdcf-Dcft7ZjO.js → ProgressBar-Cfi5zZRy-BpESsdh_.js} +164 -99
  158. package/dist/ProgressBar-Cfi5zZRy-BpESsdh_.js.map +1 -0
  159. package/dist/ProgressBar-Cfi5zZRy.css +671 -0
  160. package/dist/ProgressBar.js +1 -1
  161. package/dist/{Radio-BlMDLvPw-DUeywcYR.js → Radio-7U7IBI58-BDhdZJoC.js} +25 -5
  162. package/dist/Radio-7U7IBI58-BDhdZJoC.js.map +1 -0
  163. package/dist/Radio-D4rRt1a6.js +66 -0
  164. package/dist/Radio-D4rRt1a6.js.map +1 -0
  165. package/dist/Radio.js +1 -1
  166. package/dist/{SearchField-D3z4LjJg.js → SearchField-Bz4HPxCQ.js} +5 -4
  167. package/dist/SearchField-Bz4HPxCQ.js.map +1 -0
  168. package/dist/SearchField.js +1 -1
  169. package/dist/{SegmentedControl-D_ADGpVy.js → SegmentedControl-DKMQuf7s.js} +41 -2
  170. package/dist/SegmentedControl-DKMQuf7s.js.map +1 -0
  171. package/dist/SegmentedControl.js +1 -1
  172. package/dist/{SelectCard-D26y01WZ-BWN9G09J.js → SelectCard-B5EqtxOK-CpCgVjV8.js} +46 -17
  173. package/dist/SelectCard-B5EqtxOK-CpCgVjV8.js.map +1 -0
  174. package/dist/SelectCard.js +1 -1
  175. package/dist/SelectCardGroup-DsHZgCqA.js +49 -0
  176. package/dist/SelectCardGroup-DsHZgCqA.js.map +1 -0
  177. package/dist/{SideNav-C7wc1_JK.js → SideNav-DEoGpeqJ.js} +130 -10
  178. package/dist/SideNav-DEoGpeqJ.js.map +1 -0
  179. package/dist/SideNav.js +1 -1
  180. package/dist/Skeleton-COxTdwjO.js +398 -0
  181. package/dist/Skeleton-COxTdwjO.js.map +1 -0
  182. package/dist/Skeleton.js +1 -1
  183. package/dist/{Spinner-Bc5-_6pK.js → Spinner-C1r3COiQ.js} +2 -1
  184. package/dist/Spinner-C1r3COiQ.js.map +1 -0
  185. package/dist/Spinner.js +1 -1
  186. package/dist/SrOnly-C_I8eH4C.js.map +1 -1
  187. package/dist/{Stepper-Bp0w8eRW.js → Stepper-CwIV7ZiT.js} +281 -6
  188. package/dist/Stepper-CwIV7ZiT.js.map +1 -0
  189. package/dist/Stepper.js +1 -1
  190. package/dist/{Switch-BbHIwrGc.js → Switch-Dd9tJFmG.js} +20 -10
  191. package/dist/Switch-Dd9tJFmG.js.map +1 -0
  192. package/dist/Switch.css +23 -24
  193. package/dist/Switch.js +1 -1
  194. package/dist/{Tab-DcOQTX5Z.js → Tab-BSC7e4rM.js} +127 -10
  195. package/dist/Tab-BSC7e4rM.js.map +1 -0
  196. package/dist/Tab.js +1 -1
  197. package/dist/{Text-BDYfD8j4.js → Text-B91g6xKn.js} +3 -2
  198. package/dist/Text-B91g6xKn.js.map +1 -0
  199. package/dist/{Text-CN_-FF7J-Dzoy8A70.js → Text-DCvcLCvf-DlmnnjTR.js} +3 -3
  200. package/dist/{Text-CN_-FF7J-Dzoy8A70.js.map → Text-DCvcLCvf-DlmnnjTR.js.map} +1 -1
  201. package/dist/Text.js +1 -1
  202. package/dist/{TextField-Ds9EKvSs.js → TextField-BYyyw3m2.js} +3 -2
  203. package/dist/{TextField-Ds9EKvSs.js.map → TextField-BYyyw3m2.js.map} +1 -1
  204. package/dist/{TextField-Bp1q4hMI-2jGZG2k2.js → TextField-CGJtMoil-CJqYM83o.js} +4 -3
  205. package/dist/TextField-CGJtMoil-CJqYM83o.js.map +1 -0
  206. package/dist/TextField.js +1 -1
  207. package/dist/{Textarea-CMELRfU8.js → Textarea-AczEXhHB.js} +5 -3
  208. package/dist/Textarea-AczEXhHB.js.map +1 -0
  209. package/dist/Textarea.js +1 -1
  210. package/dist/{ThemeProvider-D2x18Y1l.js → ThemeProvider-BKave7Ha.js} +2 -2
  211. package/dist/{ThemeProvider-D2x18Y1l.js.map → ThemeProvider-BKave7Ha.js.map} +1 -1
  212. package/dist/{ThemeProvider-BIeaAmWx-DVYOQ6bw.js → ThemeProvider-CR67FJg0-DYVRlJRA.js} +3 -3
  213. package/dist/{ThemeProvider-BIeaAmWx-DVYOQ6bw.js.map → ThemeProvider-CR67FJg0-DYVRlJRA.js.map} +1 -1
  214. package/dist/ThemeProvider.js +1 -1
  215. package/dist/Toast.js +1 -1
  216. package/dist/{Toolbar-CYwR6GQG.js → Toolbar-Cu3u0TRX.js} +183 -14
  217. package/dist/Toolbar-Cu3u0TRX.js.map +1 -0
  218. package/dist/Toolbar.css +1 -11
  219. package/dist/Toolbar.js +1 -1
  220. package/dist/Tooltip-BL_bgvwA.js +73 -0
  221. package/dist/Tooltip-BL_bgvwA.js.map +1 -0
  222. package/dist/Tooltip.js +1 -1
  223. package/dist/assets/icons/st/insurance_work_queue.svg +1 -0
  224. package/dist/assets/icons/st/production_work_queue.svg +1 -0
  225. package/dist/assets/icons/st.ts +2 -0
  226. package/dist/components/Alert/Alert.d.ts +37 -0
  227. package/dist/components/Announcement/Announcement.d.ts +37 -0
  228. package/dist/components/Avatar/Avatar.d.ts +73 -0
  229. package/dist/components/Badge/Badge.d.ts +27 -0
  230. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +39 -0
  231. package/dist/components/Button/Button.d.ts +28 -0
  232. package/dist/components/ButtonCompound/ButtonCompound.d.ts +24 -0
  233. package/dist/components/ButtonLink/ButtonLink.d.ts +30 -0
  234. package/dist/components/ButtonToggle/ButtonToggle.d.ts +32 -0
  235. package/dist/components/Calendar/Calendar.d.ts +114 -0
  236. package/dist/components/Card/Card.d.ts +24 -0
  237. package/dist/components/Checkbox/Checkbox.d.ts +77 -0
  238. package/dist/components/Chip/Chip.d.ts +34 -0
  239. package/dist/components/Combobox/Combobox.d.ts +442 -2
  240. package/dist/components/DateField/DateField.d.ts +65 -0
  241. package/dist/components/DaysOfTheWeek/DaysOfTheWeek.d.ts +44 -6
  242. package/dist/components/Details/Details.d.ts +68 -0
  243. package/dist/components/Dialog/Dialog.d.ts +178 -0
  244. package/dist/components/Divider/Divider.d.ts +24 -0
  245. package/dist/components/Drawer/Drawer.d.ts +200 -0
  246. package/dist/components/EditCard/EditCard.d.ts +50 -0
  247. package/dist/components/FieldMessage/FieldMessage.d.ts +31 -0
  248. package/dist/components/Flex/Flex.d.ts +48 -0
  249. package/dist/components/Grid/Grid.d.ts +74 -0
  250. package/dist/components/Icon/Icon.d.ts +39 -0
  251. package/dist/components/InputMask/InputMask.d.ts +57 -0
  252. package/dist/components/Layout/Layout.d.ts +131 -0
  253. package/dist/components/Link/Link.d.ts +47 -0
  254. package/dist/components/ListView/ListView.d.ts +85 -0
  255. package/dist/components/Listbox/Listbox.d.ts +124 -0
  256. package/dist/components/Menu/Menu.d.ts +85 -1
  257. package/dist/components/Overflow/Overflow.d.ts +84 -0
  258. package/dist/components/Page/Page.d.ts +443 -0
  259. package/dist/components/Popover/Popover.d.ts +268 -0
  260. package/dist/components/ProgressBar/ProgressBar.d.ts +52 -0
  261. package/dist/components/Radio/Radio.d.ts +121 -0
  262. package/dist/components/SearchField/SearchField.d.ts +37 -0
  263. package/dist/components/SegmentedControl/SegmentedControl.d.ts +98 -0
  264. package/dist/components/SelectCard/SelectCard.d.ts +60 -0
  265. package/dist/components/SelectCard/SelectCardGroup.d.ts +37 -0
  266. package/dist/components/SideNav/SideNav.d.ts +192 -2
  267. package/dist/components/SideNav/SideNavProvider.d.ts +30 -0
  268. package/dist/components/Skeleton/Skeleton.d.ts +130 -0
  269. package/dist/components/Spinner/Spinner.d.ts +25 -0
  270. package/dist/components/SrOnly/SrOnly.d.ts +19 -0
  271. package/dist/components/Stepper/Stepper.d.ts +335 -0
  272. package/dist/components/Switch/Switch.d.ts +33 -0
  273. package/dist/components/Tab/Tab.d.ts +152 -0
  274. package/dist/components/Text/Text.d.ts +37 -0
  275. package/dist/components/Textarea/Textarea.d.ts +50 -0
  276. package/dist/components/Toast/Toaster.d.ts +43 -0
  277. package/dist/components/Toast/toast.d.ts +31 -0
  278. package/dist/components/Toolbar/Toolbar.d.ts +251 -0
  279. package/dist/components/Tooltip/Tooltip.d.ts +123 -0
  280. package/dist/{floating-ui.react-Domgunz0.js → floating-ui.react-BFNinq1w.js} +2 -2
  281. package/dist/{floating-ui.react-Domgunz0.js.map → floating-ui.react-BFNinq1w.js.map} +1 -1
  282. package/dist/hooks/useSize/index.d.ts +15 -0
  283. package/dist/hooks/useTrackingId/index.d.ts +19 -0
  284. package/dist/{index-CdSSO4ct-elKOdXPf.js → index-CKfiQx8n-4nziUo7G.js} +4 -4
  285. package/dist/{index-CdSSO4ct-elKOdXPf.js.map → index-CKfiQx8n-4nziUo7G.js.map} +1 -1
  286. package/dist/index.js +57 -57
  287. package/dist/{toast-C-6NdR43.js → toast-B39L6vJ0.js} +3 -3
  288. package/dist/toast-B39L6vJ0.js.map +1 -0
  289. package/dist/{useLayoutPropsUtil-GT5myWCm-Clw_nEze.js → useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js} +6 -4
  290. package/dist/useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js.map +1 -0
  291. package/dist/useLinkStyles.js +1 -1
  292. package/dist/useSize.js.map +1 -1
  293. package/dist/{useSwipe-DIUHs7T5-DIUHs7T5.js → useSwipe-CULmVQEk-CULmVQEk.js} +2 -2
  294. package/dist/useSwipe-CULmVQEk-CULmVQEk.js.map +1 -0
  295. package/dist/useSwipe.js +1 -1
  296. package/dist/useTrackingId.js.map +1 -1
  297. package/package.json +3 -2
  298. package/dist/Alert-BsFFiu7g.js.map +0 -1
  299. package/dist/Announcement-BawOyXV3.js.map +0 -1
  300. package/dist/Avatar-C2IfIAxL-BUio7c00.js.map +0 -1
  301. package/dist/Avatar-DYCN2A_l.js +0 -20
  302. package/dist/Avatar-DYCN2A_l.js.map +0 -1
  303. package/dist/Breadcrumbs-BP5QXVje.js.map +0 -1
  304. package/dist/Button-NTFmgcbr.js.map +0 -1
  305. package/dist/Button2.css +0 -8
  306. package/dist/ButtonCompound-DlgIyoB9.js.map +0 -1
  307. package/dist/ButtonLink-B_uUWBLY.js.map +0 -1
  308. package/dist/ButtonLink-CSaxjhI2-KLVGwWjE.js.map +0 -1
  309. package/dist/ButtonLink.css +0 -10
  310. package/dist/ButtonToggle-D3tcTRq9.js.map +0 -1
  311. package/dist/Calendar-B4MO-Uhv.js +0 -57
  312. package/dist/Calendar-B4MO-Uhv.js.map +0 -1
  313. package/dist/Card-DgxiRqS_.js.map +0 -1
  314. package/dist/Checkbox-BIlp8xmW.js.map +0 -1
  315. package/dist/Checkbox-CRurfeRE-BR_NXfh6.js.map +0 -1
  316. package/dist/Chip-BQ58RQ3v.js.map +0 -1
  317. package/dist/Combobox-Dde7-7tv.js.map +0 -1
  318. package/dist/DateField-D-eVP6xh.js.map +0 -1
  319. package/dist/DaysOfTheWeek-Dz-aZ-LW.js.map +0 -1
  320. package/dist/Details-ChZdA5Yo.js.map +0 -1
  321. package/dist/Dialog-DJhN8QWP.js.map +0 -1
  322. package/dist/Divider-Crum3dyV.js.map +0 -1
  323. package/dist/Drawer-BFfakO8h.js +0 -66
  324. package/dist/Drawer-BFfakO8h.js.map +0 -1
  325. package/dist/EditCard-BNwoKJ_6.js.map +0 -1
  326. package/dist/FieldMessage-CERWyhwG.js.map +0 -1
  327. package/dist/Flex-DT1l-wJc.js.map +0 -1
  328. package/dist/Grid-h9VbEjJe.js +0 -14
  329. package/dist/Grid-h9VbEjJe.js.map +0 -1
  330. package/dist/Icon-CcUV8glf.js.map +0 -1
  331. package/dist/InputMask-CeqX68uX.js.map +0 -1
  332. package/dist/InputMask-DfpkWGmY-D8QEut94.js +0 -323
  333. package/dist/InputMask-DfpkWGmY-D8QEut94.js.map +0 -1
  334. package/dist/Link-K3nk4QAp.js.map +0 -1
  335. package/dist/ListView-zlg5FlKW.js.map +0 -1
  336. package/dist/Listbox-36Mda5DS.js +0 -37
  337. package/dist/Listbox-36Mda5DS.js.map +0 -1
  338. package/dist/Listbox-DLlT8qbJ-BvhkfmIf.js.map +0 -1
  339. package/dist/Menu-BjzTwENs.js.map +0 -1
  340. package/dist/Overflow-ENfRRD_5-DLHLZ02e.js.map +0 -1
  341. package/dist/Overflow-vc1mxjUD.js.map +0 -1
  342. package/dist/Page-CSM-a2UE.js.map +0 -1
  343. package/dist/Popover-CpyYXmal-I-E-B4u8.js.map +0 -1
  344. package/dist/Popover-a81z9wSj.js +0 -56
  345. package/dist/Popover-a81z9wSj.js.map +0 -1
  346. package/dist/ProgressBar-B25Wxpaf.js.map +0 -1
  347. package/dist/ProgressBar-CeClhdcf-Dcft7ZjO.js.map +0 -1
  348. package/dist/ProgressBar-CeClhdcf.css +0 -666
  349. package/dist/Radio-BlMDLvPw-DUeywcYR.js.map +0 -1
  350. package/dist/Radio-D3CqAXiM.js +0 -34
  351. package/dist/Radio-D3CqAXiM.js.map +0 -1
  352. package/dist/SearchField-D3z4LjJg.js.map +0 -1
  353. package/dist/SegmentedControl-D_ADGpVy.js.map +0 -1
  354. package/dist/SelectCard-D26y01WZ-BWN9G09J.js.map +0 -1
  355. package/dist/SelectCardGroup-DxA6P-Q7.js +0 -21
  356. package/dist/SelectCardGroup-DxA6P-Q7.js.map +0 -1
  357. package/dist/SideNav-C7wc1_JK.js.map +0 -1
  358. package/dist/Skeleton-CdzDKQi4.js +0 -215
  359. package/dist/Skeleton-CdzDKQi4.js.map +0 -1
  360. package/dist/Spinner-Bc5-_6pK.js.map +0 -1
  361. package/dist/Stepper-Bp0w8eRW.js.map +0 -1
  362. package/dist/Switch-BbHIwrGc.js.map +0 -1
  363. package/dist/Tab-DcOQTX5Z.js.map +0 -1
  364. package/dist/Text-BDYfD8j4.js.map +0 -1
  365. package/dist/TextField-Bp1q4hMI-2jGZG2k2.js.map +0 -1
  366. package/dist/Textarea-CMELRfU8.js.map +0 -1
  367. package/dist/Toolbar-CYwR6GQG.js.map +0 -1
  368. package/dist/Tooltip-C-UNrFz3.js +0 -34
  369. package/dist/Tooltip-C-UNrFz3.js.map +0 -1
  370. package/dist/toast-C-6NdR43.js.map +0 -1
  371. package/dist/useLayoutPropsUtil-GT5myWCm-Clw_nEze.js.map +0 -1
  372. package/dist/useSwipe-DIUHs7T5-DIUHs7T5.js.map +0 -1
  373. /package/dist/{Alert-DMk5bG5T.css → Alert-C3WoRkeN.css} +0 -0
  374. /package/dist/{Avatar-C2IfIAxL.css → Avatar-B20IdOEO.css} +0 -0
  375. /package/dist/{Calendar-Bn00Dnc-.css → Calendar-CohGSWFp.css} +0 -0
  376. /package/dist/{Card-BNT0qpxt.css → Card-ZknG-yim.css} +0 -0
  377. /package/dist/{Chip-DwiMFYBm.css → Chip-_daV8CmM.css} +0 -0
  378. /package/dist/{FieldMessage-Js4e1ezw.css → FieldMessage-ChFXWVDb.css} +0 -0
  379. /package/dist/{Flex-EX9xObMl.css → Flex-CiK7uNUu.css} +0 -0
  380. /package/dist/{Icon-BrdmZw1i.css → Icon-B6HmlQiR.css} +0 -0
  381. /package/dist/{Link-CVN5Mwtx.css → Link-Dqp_XXl_.css} +0 -0
  382. /package/dist/{Overflow-ENfRRD_5.css → Overflow-BrXwlYpn.css} +0 -0
  383. /package/dist/{Popover-CpyYXmal.css → Popover-VztF0YHt.css} +0 -0
  384. /package/dist/{Radio-BlMDLvPw.css → Radio-7U7IBI58.css} +0 -0
  385. /package/dist/{SelectCard-D26y01WZ.css → SelectCard-B5EqtxOK.css} +0 -0
  386. /package/dist/{Text-CN_-FF7J.css → Text-DCvcLCvf.css} +0 -0
  387. /package/dist/{ThemeProvider-BIeaAmWx.css → ThemeProvider-CR67FJg0.css} +0 -0
  388. /package/dist/{index-CdSSO4ct.css → index-CKfiQx8n.css} +0 -0
@@ -1,2 +1,2 @@
1
- export { P as ProgressBar, P as default } from './ProgressBar-B25Wxpaf.js';
1
+ export { P as ProgressBar, P as default } from './ProgressBar-BotOFymw.js';
2
2
  //# sourceMappingURL=ProgressBar.js.map
@@ -2,12 +2,13 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { forwardRef, useState, useId } from 'react';
4
4
  import { c as cx } from './index-tZvMCc77.js';
5
- import { I as Icon } from './Icon-BrdmZw1i-CG-LzgEz.js';
5
+ import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
6
6
  import { S as SrOnly } from './SrOnly-BsKDHetF-B93X65F1.js';
7
- import { L as Label, H as Helper } from './ProgressBar-CeClhdcf-Dcft7ZjO.js';
8
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-GT5myWCm-Clw_nEze.js';
7
+ import { L as Label } from './ProgressBar-Cfi5zZRy-BpESsdh_.js';
8
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
9
+ import { H as Helper } from './Helper-C9sHaTrI-C5fAsK6i.js';
9
10
 
10
- import './Radio-BlMDLvPw.css';const SvgRadioButtonUnchecked = (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: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }));
11
+ import './Radio-7U7IBI58.css';const SvgRadioButtonUnchecked = (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: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }));
11
12
 
12
13
  const SvgRadioButtonChecked = (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: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 5 }));
13
14
 
@@ -190,9 +191,28 @@ const RadioElement = forwardRef((props, ref) => {
190
191
  ] });
191
192
  });
192
193
  const Radio = Object.assign(RadioElement, {
194
+ /**
195
+ * RadioGroup component for grouping related radio options.
196
+ *
197
+ * Features:
198
+ * - Groups multiple radio options together
199
+ * - Legend support for group labeling
200
+ * - Required field indication
201
+ * - Accessibility support with proper fieldset semantics
202
+ * - Layout utility props for positioning and spacing
203
+ * - Focus and blur event handling
204
+ * - More info support for additional context
205
+ *
206
+ * @example
207
+ * <Radio.Group legend="Choose your preference" required>
208
+ * <Radio label="Option A" value="a" />
209
+ * <Radio label="Option B" value="b" />
210
+ * <Radio label="Option C" value="c" />
211
+ * </Radio.Group>
212
+ */
193
213
  Group: RadioGroup
194
214
  });
195
215
  RadioElement.displayName = "RadioElement";
196
216
 
197
217
  export { RadioGroup as R, Radio as a };
198
- //# sourceMappingURL=Radio-BlMDLvPw-DUeywcYR.js.map
218
+ //# sourceMappingURL=Radio-7U7IBI58-BDhdZJoC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio-7U7IBI58-BDhdZJoC.js","sources":["../../hammer-icon/mdi/two-tone/radio_button_unchecked.svg","../../hammer-icon/mdi/two-tone/radio_button_checked.svg","../../hammer-react/dist/Radio-7U7IBI58.js"],"sourcesContent":["import * as React from \"react\";\nconst SvgRadioButtonUnchecked = (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: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" }));\nexport default SvgRadioButtonUnchecked;\n","import * as React from \"react\";\nconst SvgRadioButtonChecked = (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: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 12, cy: 12, r: 5 }));\nexport default SvgRadioButtonChecked;\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useId } from 'react';\nimport cx from 'classnames';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport Radio_outline from '@servicetitan/hammer-icon/mdi/two-tone/radio_button_unchecked.svg';\nimport Radio_checked from '@servicetitan/hammer-icon/mdi/two-tone/radio_button_checked.svg';\nimport { S as SrOnly } from './SrOnly-BsKDHetF.js';\nimport { L as Label } from './ProgressBar-Cfi5zZRy.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { H as Helper } from './Helper-C9sHaTrI.js';\n\nimport './Radio.css';const radio = \"_radio_1r8vp_2\";\nconst wrapper = \"_wrapper_1r8vp_30\";\nconst legend = \"_legend_1r8vp_86\";\nconst children = \"_children_1r8vp_98\";\nconst error = \"_error_1r8vp_109\";\nconst styles = {\n\tradio: radio,\n\t\"radio-group\": \"_radio-group_1r8vp_15\",\n\twrapper: wrapper,\n\t\"focus-label\": \"_focus-label_1r8vp_44\",\n\t\"icon-wrapper\": \"_icon-wrapper_1r8vp_50\",\n\tlegend: legend,\n\tchildren: children,\n\t\"helper-wrapper\": \"_helper-wrapper_1r8vp_104\",\n\terror: error,\n\t\"icon-unchecked\": \"_icon-unchecked_1r8vp_152\",\n\t\"icon-checked\": \"_icon-checked_1r8vp_153\",\n\t\"sr-only\": \"_sr-only_1r8vp_200\"\n};\n\nconst RadioGroup = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n children,\n legend,\n moreInfo,\n onBlur,\n onFocus,\n required,\n style,\n ...rest\n } = componentProps;\n const RadioGroupClassNames = cx(styles[\"radio-group\"], className);\n const [openInfo, setOpenInfo] = useState(false);\n const styleCombined = {\n ...style,\n ...layoutStyles,\n alignItems: layoutStyles?.alignItems ?? (layoutStyles?.flexDirection === \"row\" ? \"center\" : void 0)\n };\n const focusHandler = (e) => {\n onFocus?.(e);\n setOpenInfo(true);\n };\n const blurHandler = (e) => {\n onBlur?.(e);\n setOpenInfo(false);\n };\n return /* @__PURE__ */ jsxs(\n \"fieldset\",\n {\n role: \"radiogroup\",\n \"data-anv\": \"radio-group\",\n className: RadioGroupClassNames,\n \"aria-required\": required,\n style: styleCombined,\n ref,\n onFocus: focusHandler,\n onBlur: blurHandler,\n ...rest,\n children: [\n /* @__PURE__ */ jsxs(\"legend\", { className: styles[\"legend\"], children: [\n legend,\n required && \", required\",\n moreInfo && /* @__PURE__ */ jsx(SrOnly, { children: moreInfo })\n ] }),\n /* @__PURE__ */ jsx(\n Label,\n {\n \"aria-hidden\": true,\n moreInfo,\n required,\n openMoreInfo: openInfo,\n children: legend\n }\n ),\n /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles[\"children\"],\n style: {\n flexDirection: layoutStyles?.flexDirection,\n gap: layoutStyles?.gap\n },\n children\n }\n )\n ]\n }\n );\n }\n);\nRadioGroup.displayName = \"RadioGroup\";\n\nconst RadioElement = forwardRef((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n checked,\n defaultChecked,\n value,\n icons,\n error,\n label,\n onChange,\n style,\n description,\n hideRadio = false,\n ...rest\n } = componentProps;\n const {\n checked: checkedIcon = Radio_checked,\n unchecked: uncheckedIcon = Radio_outline\n } = { ...icons };\n const onChangeHandler = (e) => {\n onChange?.(e, { value, checked: e.target.checked });\n };\n const helperUid = useId();\n const wrapperClassNames = cx(\n styles[\"wrapper\"],\n { [styles[\"focus\"]]: hideRadio },\n className\n );\n const radioClassNames = cx(styles[\"radio\"], {\n [styles[\"error\"]]: error\n });\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n return /* @__PURE__ */ jsxs(\"div\", { className: wrapperClassNames, style: styleCombined, \"data-anv\": \"radio\", children: [\n /* @__PURE__ */ jsxs(\"label\", { className: radioClassNames, children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"radio\",\n \"aria-checked\": checked ?? defaultChecked,\n checked,\n defaultChecked,\n value,\n onChange: onChangeHandler,\n \"aria-describedby\": helperUid,\n ref,\n ...rest\n }\n ),\n /* @__PURE__ */ jsxs(\n \"span\",\n {\n className: cx(styles[\"icon-wrapper\"], {\n [styles[\"sr-only\"]]: hideRadio\n }),\n children: [\n /* @__PURE__ */ jsx(\n Icon,\n {\n size: \"large\",\n svg: uncheckedIcon,\n className: cx([styles[\"icon-unchecked\"]])\n }\n ),\n /* @__PURE__ */ jsx(\n Icon,\n {\n size: \"large\",\n svg: checkedIcon,\n className: cx([styles[\"icon-checked\"]])\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ jsx(\"span\", { className: cx({ [styles[\"focus-label\"]]: hideRadio }), children: label })\n ] }),\n description ? /* @__PURE__ */ jsx(\"div\", { className: styles[\"helper-wrapper\"], children: /* @__PURE__ */ jsx(Helper, { id: helperUid, description }) }) : null\n ] });\n});\nconst Radio = Object.assign(RadioElement, {\n /**\n * RadioGroup component for grouping related radio options.\n *\n * Features:\n * - Groups multiple radio options together\n * - Legend support for group labeling\n * - Required field indication\n * - Accessibility support with proper fieldset semantics\n * - Layout utility props for positioning and spacing\n * - Focus and blur event handling\n * - More info support for additional context\n *\n * @example\n * <Radio.Group legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </Radio.Group>\n */\n Group: RadioGroup\n});\nRadioElement.displayName = \"RadioElement\";\n\nexport { Radio as R, RadioGroup as a };\n//# sourceMappingURL=Radio-7U7IBI58.js.map\n"],"names":["Radio_checked","Radio_outline"],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { useTrackingId } from './useTrackingId.js';
4
+ import { R as RadioGroup$1, a as Radio$1 } from './Radio-7U7IBI58-BDhdZJoC.js';
5
+ import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
6
+
7
+ const RadioElement = forwardRef(
8
+ (props, ref) => {
9
+ const data = {
10
+ label: childrenToString(props.label),
11
+ ariaLabel: props["aria-label"],
12
+ ariaLabelledBy: props["aria-labelledby"],
13
+ name: props.name,
14
+ value: props.value
15
+ };
16
+ const trackingId = useTrackingId({
17
+ name: "Radio",
18
+ data,
19
+ hasOverride: !!props["data-tracking-id"]
20
+ });
21
+ return /* @__PURE__ */ jsx(Radio$1, { ref, "data-tracking-id": trackingId, ...props });
22
+ }
23
+ );
24
+ RadioElement.displayName = Radio$1.displayName;
25
+ const RadioGroup = forwardRef(
26
+ (props, ref) => {
27
+ return /* @__PURE__ */ jsx(RadioGroup$1, { ref, ...props });
28
+ }
29
+ );
30
+ RadioGroup.displayName = RadioGroup$1.displayName;
31
+ const Radio = Object.assign(RadioElement, {
32
+ /**
33
+ * RadioGroup component for grouping related radio options.
34
+ *
35
+ * Features:
36
+ * - Groups multiple radio options together
37
+ * - Legend support for group labeling
38
+ * - Required field indication
39
+ * - Accessibility support with proper fieldset semantics
40
+ * - Layout utility props for positioning and spacing
41
+ * - Focus and blur event handling
42
+ * - More info support for additional context
43
+ * - Automatic alignment based on flex direction
44
+ *
45
+ * @example
46
+ * <RadioGroup legend="Choose your preference" required>
47
+ * <Radio label="Option A" value="a" />
48
+ * <Radio label="Option B" value="b" />
49
+ * <Radio label="Option C" value="c" />
50
+ * </RadioGroup>
51
+ *
52
+ * @example
53
+ * <RadioGroup
54
+ * legend="Horizontal layout"
55
+ * flexDirection="row"
56
+ * gap="4"
57
+ * >
58
+ * <Radio label="Yes" value="yes" />
59
+ * <Radio label="No" value="no" />
60
+ * </RadioGroup>
61
+ */
62
+ Group: RadioGroup
63
+ });
64
+
65
+ export { Radio as R, RadioGroup as a };
66
+ //# sourceMappingURL=Radio-D4rRt1a6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio-D4rRt1a6.js","sources":["../src/components/Radio/Radio.tsx"],"sourcesContent":["import {\n RadioProps as CoreRadioProps,\n Radio as CoreRadio,\n RadioGroup as CoreRadioGroup,\n RadioGroupProps as CoreRadioGroupProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Radio component\n * @property {boolean} [checked] - Controlled state\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {Function} [onChange] - Callback when radio is changed\n * @property {ReactElement | string} [label] - Label for Radio\n * @property {boolean} [error] - Error state for the radio\n * @property {object} [icons] - Icon overrides for checked and unchecked states\n * @property {string} [description] - Description text to display below the radio\n * @property {string} [aria-label] - Accessible label for the radio\n * @property {string} [aria-labelledby] - ID of element that labels the radio\n * @property {string} [name] - Name attribute for the radio\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type RadioProps = Omit<CoreRadioProps, \"hideRadio\"> & DataTrackingId;\n\n/**\n * Props for the RadioGroup component\n * @property {string | ReactElement} [legend] - Legend for the fieldset\n * @property {boolean} [required] - Required flag for label\n * @property {string} [moreInfo] - Additional information for the group\n */\nexport type RadioGroupProps = CoreRadioGroupProps;\n\nconst RadioElement = forwardRef(\n (props: RadioProps, ref: Ref<HTMLInputElement>) => {\n const data = {\n label: childrenToString(props.label),\n ariaLabel: props[\"aria-label\"],\n ariaLabelledBy: props[\"aria-labelledby\"],\n name: props.name,\n value: props.value,\n };\n\n const trackingId = useTrackingId({\n name: \"Radio\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreRadio ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\n\nRadioElement.displayName = CoreRadio.displayName;\n\n/**\n * RadioGroup component for grouping related radio options.\n *\n * Features:\n * - Groups multiple radio options together\n * - Legend support for group labeling\n * - Required field indication\n * - Accessibility support with proper fieldset semantics\n * - Layout utility props for positioning and spacing\n * - Focus and blur event handling\n * - More info support for additional context\n * - Automatic alignment based on flex direction\n *\n * @example\n * <RadioGroup legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </RadioGroup>\n *\n * @example\n * <RadioGroup\n * legend=\"Horizontal layout\"\n * flexDirection=\"row\"\n * gap=\"4\"\n * >\n * <Radio label=\"Yes\" value=\"yes\" />\n * <Radio label=\"No\" value=\"no\" />\n * </RadioGroup>\n */\nexport const RadioGroup = forwardRef(\n (props: CoreRadioGroupProps, ref: Ref<HTMLFieldSetElement>) => {\n return <CoreRadioGroup ref={ref} {...props} />;\n },\n);\nRadioGroup.displayName = CoreRadioGroup.displayName;\n\n/**\n * Radio component for single selection from a group of options.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Customizable icons for checked and unchecked states\n * - Error state with visual indicators\n * - Description text support\n * - Accessibility support with proper ARIA attributes\n * - Layout utility props for positioning and spacing\n * - Flexible labeling options\n * - Group support via Radio.Group\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Radio\n * label=\"Option 1\"\n * value=\"option1\"\n * checked={selectedValue === \"option1\"}\n * onChange={(e, state) => setSelectedValue(state?.value)}\n * />\n *\n * @example\n * <Radio\n * label=\"Custom styled option\"\n * value=\"custom\"\n * icons={{\n * checked: CustomCheckedIcon,\n * unchecked: CustomUncheckedIcon\n * }}\n * description=\"This option has custom styling\"\n * />\n *\n * @example\n * <Radio.Group legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </Radio.Group>\n */\nexport const Radio = Object.assign(RadioElement, {\n /**\n * RadioGroup component for grouping related radio options.\n *\n * Features:\n * - Groups multiple radio options together\n * - Legend support for group labeling\n * - Required field indication\n * - Accessibility support with proper fieldset semantics\n * - Layout utility props for positioning and spacing\n * - Focus and blur event handling\n * - More info support for additional context\n * - Automatic alignment based on flex direction\n *\n * @example\n * <RadioGroup legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </RadioGroup>\n *\n * @example\n * <RadioGroup\n * legend=\"Horizontal layout\"\n * flexDirection=\"row\"\n * gap=\"4\"\n * >\n * <Radio label=\"Yes\" value=\"yes\" />\n * <Radio label=\"No\" value=\"no\" />\n * </RadioGroup>\n */\n Group: RadioGroup,\n});\n"],"names":["CoreRadio","CoreRadioGroup"],"mappings":";;;;;;AAoCA,MAAM,YAAe,GAAA,UAAA;AAAA,EACnB,CAAC,OAAmB,GAA+B,KAAA;AACjD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MACnC,SAAA,EAAW,MAAM,YAAY,CAAA;AAAA,MAC7B,cAAA,EAAgB,MAAM,iBAAiB,CAAA;AAAA,MACvC,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,OAAO,KAAM,CAAA;AAAA,KACf;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,OAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BAAQA,OAAU,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAEzE,CAAA;AAEA,YAAA,CAAa,cAAcA,OAAU,CAAA,WAAA;AAgC9B,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,CAAC,OAA4B,GAAkC,KAAA;AAC7D,IAAA,uBAAQ,GAAA,CAAAC,YAAA,EAAA,EAAe,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEhD;AACA,UAAA,CAAW,cAAcA,YAAe,CAAA,WAAA;AA0C3B,MAAA,KAAA,GAAQ,MAAO,CAAA,MAAA,CAAO,YAAc,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+B/C,KAAO,EAAA;AACT,CAAC;;;;"}
package/dist/Radio.js CHANGED
@@ -1,2 +1,2 @@
1
- export { R as Radio, a as RadioGroup, R as default } from './Radio-D3CqAXiM.js';
1
+ export { R as Radio, a as RadioGroup, R as default } from './Radio-D4rRt1a6.js';
2
2
  //# sourceMappingURL=Radio.js.map
@@ -3,12 +3,12 @@ import { useTrackingId } from './useTrackingId.js';
3
3
  import * as React from 'react';
4
4
  import { forwardRef, useState, useId, useRef, useEffect } from 'react';
5
5
  import { c as cx } from './index-tZvMCc77.js';
6
- import { u as useMergeRefs } from './floating-ui.react-Domgunz0.js';
6
+ import { u as useMergeRefs } from './floating-ui.react-BFNinq1w.js';
7
7
  import { t as textfieldStyles } from './TextField.module-ChLlwuT--ChLlwuT-.js';
8
8
  import { S as SvgClose } from './close-DZj38AEh.js';
9
9
  import { S as SrOnly } from './SrOnly-BsKDHetF-B93X65F1.js';
10
- import { I as Icon } from './Icon-BrdmZw1i-CG-LzgEz.js';
11
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-GT5myWCm-Clw_nEze.js';
10
+ import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
11
+ import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
12
12
 
13
13
  import './SearchField.css';const SvgSearch = (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: "M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }));
14
14
 
@@ -154,6 +154,7 @@ const SearchField = forwardRef(
154
154
  return /* @__PURE__ */ jsx(SearchField$1, { ref, "data-tracking-id": trackingId, ...props });
155
155
  }
156
156
  );
157
+ SearchField.displayName = SearchField$1.displayName;
157
158
 
158
159
  export { SearchField as S };
159
- //# sourceMappingURL=SearchField-D3z4LjJg.js.map
160
+ //# sourceMappingURL=SearchField-Bz4HPxCQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchField-Bz4HPxCQ.js","sources":["../../hammer-icon/mdi/round/search.svg","../../hammer-react/dist/SearchField-Cji-FsDz.js","../src/components/SearchField/SearchField.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgSearch = (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: \"M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" }));\nexport default SvgSearch;\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useId, useRef, useEffect } from 'react';\nimport cx from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\nimport { t as textfieldStyles } from './TextField.module-ChLlwuT-.js';\nimport Close from '@servicetitan/hammer-icon/mdi/round/close.svg';\nimport Search from '@servicetitan/hammer-icon/mdi/round/search.svg';\nimport { S as SrOnly } from './SrOnly-BsKDHetF.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\n\nimport './SearchField.css';const searchfield = \"_searchfield_1s8tg_2\";\nconst clear = \"_clear_1s8tg_10\";\nconst styles = {\n\tsearchfield: searchfield,\n\t\"input-wrapper\": \"_input-wrapper_1s8tg_7\",\n\tclear: clear};\n\nconst SearchField = forwardRef(\n function SearchField2(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n size,\n onChange,\n onClear,\n id: idProp,\n disabled,\n style,\n value,\n placeholder = \"Search...\",\n autoComplete = \"off\",\n ...rest\n } = componentProps;\n const [hasValue, setHasValue] = useState(\n rest.defaultValue || value ? true : false\n );\n const placeholderUid = useId();\n const inputRef = useRef(null);\n const styleCombined = { ...style, ...layoutStyles };\n const handleOnChange = (e) => {\n if (e.target.value) {\n setHasValue(true);\n } else {\n setHasValue(false);\n }\n onChange?.(e);\n };\n useEffect(() => {\n if (typeof value === \"undefined\") return;\n if (value === \"\" || !value) {\n setHasValue(false);\n } else {\n setHasValue(true);\n }\n }, [value]);\n const handleClear = () => {\n if (!inputRef.current) return;\n if (disabled || rest.readOnly) return;\n onClear?.();\n if (value) {\n return;\n }\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n \"value\"\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, \"\");\n inputRef.current.dispatchEvent(new Event(\"input\", { bubbles: true }));\n setHasValue(false);\n };\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(\n textfieldStyles[\"textfield\"],\n styles[\"searchfield\"],\n className\n ),\n \"data-anv\": \"SearchField\",\n style: styleCombined,\n children: [\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(\n textfieldStyles[\"input-wrapper\"],\n styles[\"input-wrapper\"],\n {\n [textfieldStyles[\"small\"]]: size === \"small\",\n [textfieldStyles[\"large\"]]: size === \"large\"\n }\n ),\n role: \"presentation\",\n onClick: () => inputRef.current?.focus(),\n children: [\n /* @__PURE__ */ jsx(\"div\", { \"aria-hidden\": true, className: textfieldStyles[\"prefix\"], children: /* @__PURE__ */ jsx(Icon, { \"aria-label\": \"search\", svg: Search }) }),\n /* @__PURE__ */ jsx(\n \"input\",\n {\n className: cx(textfieldStyles[\"input\"]),\n ref: useMergeRefs([ref, inputRef]),\n onChange: handleOnChange,\n placeholder,\n value,\n type: \"search\",\n autoComplete,\n disabled,\n \"aria-describedby\": placeholderUid,\n ...rest\n }\n ),\n /* @__PURE__ */ jsx(\n Icon,\n {\n \"aria-label\": \"cancel\",\n svg: Close,\n role: \"button\",\n onClick: handleClear,\n className: styles[\"clear\"],\n \"aria-disabled\": disabled,\n style: {\n visibility: hasValue ? \"visible\" : \"hidden\"\n }\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ jsx(SrOnly, { \"aria-hidden\": true, id: placeholderUid, children: placeholder })\n ]\n }\n );\n }\n);\n\nexport { SearchField as S };\n//# sourceMappingURL=SearchField-Cji-FsDz.js.map\n","import {\n SearchField as CoreSearchField,\n type SearchFieldProps as CoreSearchFieldProps,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { forwardRef, Ref } from \"react\";\n\n/**\n * Props for the SearchField component\n * @property {string} [size] - Size of the search field (small, medium, large)\n * @property {Function} [onClear] - Callback when the clear button is clicked\n * @extends DataTrackingId\n */\nexport type SearchFieldProps = CoreSearchFieldProps & DataTrackingId;\n\n/**\n * SearchField component for text input with search functionality.\n *\n * Features:\n * - Search icon prefix for visual clarity\n * - Clear button that appears when input has value\n * - Multiple size variants (small, medium, large)\n * - Controlled and uncontrolled modes\n * - Disabled and read-only states\n * - Accessibility support with proper ARIA attributes\n * - Layout utility props for positioning and spacing\n * - Automatic value detection for clear button visibility\n * - Search-specific input type and autocomplete settings\n * - Screen reader support with placeholder announcements\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SearchField\n * placeholder=\"Search users...\"\n * onChange={(e) => setSearchTerm(e.target.value)}\n * onClear={() => setSearchTerm(\"\")}\n * />\n *\n * @example\n * <SearchField\n * size=\"large\"\n * value={searchValue}\n * onChange={(e) => setSearchValue(e.target.value)}\n * disabled={isLoading}\n * />\n */\nexport const SearchField = forwardRef(\n (props: SearchFieldProps, ref: Ref<HTMLInputElement>) => {\n const data = {\n value: props.value,\n defaultValue: props.defaultValue,\n disabled: props.disabled,\n readOnly: props.readOnly,\n size: props.size,\n };\n\n const trackingId = useTrackingId({\n name: \"SearchField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreSearchField ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nSearchField.displayName = CoreSearchField.displayName;\n"],"names":["SearchField","Search","Close","CoreSearchField"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { S as SearchField } from './SearchField-D3z4LjJg.js';
1
+ export { S as SearchField } from './SearchField-Bz4HPxCQ.js';
2
2
  //# sourceMappingURL=SearchField.js.map
@@ -5,7 +5,7 @@ import { m as motion } from './proxy-CreWmH-e.js';
5
5
  import { u as useReducedMotion } from './use-reduced-motion-znCm41qB.js';
6
6
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
7
7
  import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
8
- import { I as Icon } from './Icon-BrdmZw1i-CG-LzgEz.js';
8
+ import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
9
9
  import { D as Duration } from './primitive-BoyEHaOo.js';
10
10
  import { useTrackingId } from './useTrackingId.js';
11
11
 
@@ -123,6 +123,22 @@ const SegmentedControlElement$1 = forwardRef((props, ref) => {
123
123
  });
124
124
  SegmentedControlElement$1.displayName = "SegmentedControl";
125
125
  const SegmentedControl$1 = Object.assign(SegmentedControlElement$1, {
126
+ /**
127
+ * SegmentedControlSegment component for individual segments within a segmented control.
128
+ *
129
+ * Features:
130
+ * - Individual segment with radio input
131
+ * - Optional icon support
132
+ * - Animated selection indicator
133
+ * - Accessibility support with proper ARIA attributes
134
+ * - Context integration with parent SegmentedControl
135
+ * - Motion animations with reduced motion support
136
+ *
137
+ * @example
138
+ * <SegmentedControl.Segment value="option1" icon={Icon1}>
139
+ * Option 1
140
+ * </SegmentedControl.Segment>
141
+ */
126
142
  Segment: SegmentedControlSegment$1
127
143
  });
128
144
 
@@ -146,6 +162,7 @@ const SegmentedControlElement = forwardRef(
146
162
  );
147
163
  }
148
164
  );
165
+ SegmentedControlElement.displayName = SegmentedControl$1.displayName;
149
166
  const SegmentedControlSegment = forwardRef(
150
167
  (props, ref) => {
151
168
  const data = {
@@ -166,9 +183,31 @@ const SegmentedControlSegment = forwardRef(
166
183
  );
167
184
  }
168
185
  );
186
+ SegmentedControlSegment.displayName = SegmentedControlSegment$1.displayName;
169
187
  const SegmentedControl = Object.assign(SegmentedControlElement, {
188
+ /**
189
+ * SegmentedControlSegment component for individual segments within a segmented control.
190
+ *
191
+ * Features:
192
+ * - Individual segment with radio input
193
+ * - Optional icon support
194
+ * - Animated selection indicator
195
+ * - Accessibility support with proper ARIA attributes
196
+ * - Context integration with parent SegmentedControl
197
+ * - Motion animations with reduced motion support
198
+ * - Icon-only mode when no children provided
199
+ * - Automatic tracking ID generation for analytics
200
+ *
201
+ * @example
202
+ * <SegmentedControl.Segment value="option1" icon={Icon1}>
203
+ * Option 1
204
+ * </SegmentedControl.Segment>
205
+ *
206
+ * @example
207
+ * <SegmentedControl.Segment value="icon-only" icon={IconOnly} />
208
+ */
170
209
  Segment: SegmentedControlSegment
171
210
  });
172
211
 
173
212
  export { SegmentedControl as S, SegmentedControlSegment as a };
174
- //# sourceMappingURL=SegmentedControl-D_ADGpVy.js.map
213
+ //# sourceMappingURL=SegmentedControl-DKMQuf7s.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl-DKMQuf7s.js","sources":["../../hammer-react/dist/SegmentedControl-CaAD848n.js","../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import { jsx, Fragment, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, useContext, useRef, createContext, useId } from 'react';\nimport cx from 'classnames';\nimport { useReducedMotion, motion } from '/home/runner/work/hammer/hammer/node_modules/.pnpm/motion@12.4.10_@emotion+is-prop-valid@1.3.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/motion/dist/es/motion/lib/react.mjs';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport { core } from '@servicetitan/hammer-token';\n\nimport './SegmentedControl.css';const legend = \"_legend_1jy4v_3\";\nconst children = \"_children_1jy4v_4\";\nconst segment = \"_segment_1jy4v_2\";\nconst fill = \"_fill_1jy4v_80\";\nconst small = \"_small_1jy4v_83\";\nconst medium = \"_medium_1jy4v_92\";\nconst styles = {\n\t\"segmented-control\": \"_segmented-control_1jy4v_2\",\n\tlegend: legend,\n\tchildren: children,\n\t\"select-indicator\": \"_select-indicator_1jy4v_5\",\n\tsegment: segment,\n\tfill: fill,\n\tsmall: small,\n\t\"icon-only\": \"_icon-only_1jy4v_89\",\n\tmedium: medium\n};\n\nconst SegmentedControlSegment = forwardRef((props, ref) => {\n const { icon, value, children, className, ...rest } = props;\n const shouldReduceMotion = useReducedMotion();\n const { current, setCurrent, name } = useContext(SegmentedControlContext);\n const labelRef = useRef(null);\n const classNames = cx(styles.segment, className, {\n [styles[\"icon-only\"]]: icon && !children\n });\n return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(\n \"label\",\n {\n className: classNames,\n ref: useMergeRefs([labelRef, ref]),\n \"data-anv\": \"segmented-control-segment\",\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"radio\",\n name,\n value,\n onChange: () => setCurrent?.(value),\n checked: current === value,\n \"aria-checked\": current === value\n }\n ),\n icon ? /* @__PURE__ */ jsx(Icon, { svg: icon, \"aria-hidden\": true }) : null,\n children,\n current === value && /* @__PURE__ */ jsx(\n motion.span,\n {\n layoutId: name,\n className: styles[\"select-indicator\"],\n transition: {\n duration: shouldReduceMotion ? 0 : +core.primitive.Duration.value.replace(\"ms\", \"\") / 1e3\n }\n }\n )\n ]\n }\n ) });\n});\nSegmentedControlSegment.displayName = \"SegmentedControlSegment\";\n\nconst SegmentedControlContext = createContext({});\nconst SegmentedControlElement = forwardRef((props, ref) => {\n const {\n className,\n onClick,\n onChange,\n children,\n size = \"medium\",\n defaultSelected,\n selected,\n name,\n fill,\n ...rest\n } = props;\n const [current, setCurrent] = useOptionallyControlledState({\n controlledValue: selected,\n defaultValue: defaultSelected,\n onChange\n });\n const segmentedControlRef = useRef(null);\n const SegmentedControlClassNames = cx(\n styles[\"segmented-control\"],\n styles[size],\n className,\n {\n [styles.fill]: fill\n }\n );\n const uid = useId();\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n transition: { duration: 0 },\n layout: true,\n role: \"radiogroup\",\n className: SegmentedControlClassNames,\n \"data-anv\": \"segmented-control\",\n ref: useMergeRefs([segmentedControlRef, ref]),\n ...rest,\n children: /* @__PURE__ */ jsx(\n SegmentedControlContext.Provider,\n {\n value: { current, setCurrent, name: name ?? uid },\n children\n }\n )\n }\n );\n});\nSegmentedControlElement.displayName = \"SegmentedControl\";\nconst SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n */\n Segment: SegmentedControlSegment\n});\n\nexport { SegmentedControl as S, SegmentedControlSegment as a };\n//# sourceMappingURL=SegmentedControl-CaAD848n.js.map\n","import {\n SegmentedControlProps as CoreSegmentedControlProps,\n SegmentedControl as CoreSegmentedControl,\n SegmentedControlSegmentProps as CoreSegmentedControlSegmentProps,\n SegmentedControlSegment as CoreSegmentedControlSegment,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the SegmentedControl component\n * @property {string} [size] - Size of the segment (small, medium)\n * @property {boolean} [fill] - Whether to fill available width\n * @property {string} [name] - Name attribute for radio inputs\n * @property {Function} [onChange] - Callback when segment is changed\n * @property {string} [selected] - Selected segment (controlled mode)\n * @property {string} [defaultSelected] - Initial selection (uncontrolled mode)\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type SegmentedControlProps = CoreSegmentedControlProps & DataTrackingId;\n\n/**\n * Props for the SegmentedControlSegment component\n * @property {string} value - Value of the segment\n * @property {object} [icon] - Optional icon to display in the segment\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type SegmentedControlSegmentProps = CoreSegmentedControlSegmentProps &\n DataTrackingId;\n\nconst SegmentedControlElement = forwardRef(\n (props: SegmentedControlProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n name: props.name,\n };\n\n const trackingId = useTrackingId({\n name: \"SegmentedControl\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreSegmentedControl\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\nSegmentedControlElement.displayName = CoreSegmentedControl.displayName;\n\n/**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\n */\nexport const SegmentedControlSegment = forwardRef(\n (props: SegmentedControlSegmentProps, ref: Ref<HTMLLabelElement>) => {\n const data = {\n value: props.value,\n };\n\n const trackingId = useTrackingId({\n name: \"SegmentedControlSegment\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreSegmentedControlSegment\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\nSegmentedControlSegment.displayName = CoreSegmentedControlSegment.displayName;\n\n/**\n * SegmentedControl component for selecting one option from a group of related choices.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Multiple size variants (small, medium)\n * - Optional fill width mode\n * - Smooth animations with motion\n * - Accessibility support with proper radio group semantics\n * - Layout utility props for positioning and spacing\n * - Context-based state management\n * - Auto-generated or custom name attributes\n * - Segment support via SegmentedControl.Segment\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl\n * selected={selectedValue}\n * onChange={setSelectedValue}\n * size=\"medium\"\n * >\n * <SegmentedControl.Segment value=\"option1\">Option 1</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option2\">Option 2</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option3\">Option 3</SegmentedControl.Segment>\n * </SegmentedControl>\n *\n * @example\n * <SegmentedControl\n * defaultSelected=\"small\"\n * size=\"small\"\n * fill\n * >\n * <SegmentedControl.Segment value=\"small\" icon={SmallIcon}>Small</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"large\" icon={LargeIcon}>Large</SegmentedControl.Segment>\n * </SegmentedControl>\n */\nexport const SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\n */\n Segment: SegmentedControlSegment,\n});\n"],"names":["SegmentedControlSegment","core.primitive.Duration","SegmentedControlElement","SegmentedControl","CoreSegmentedControl","CoreSegmentedControlSegment"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { S as SegmentedControl, a as SegmentedControlSegment, S as default } from './SegmentedControl-D_ADGpVy.js';
1
+ export { S as SegmentedControl, a as SegmentedControlSegment, S as default } from './SegmentedControl-DKMQuf7s.js';
2
2
  //# sourceMappingURL=SegmentedControl.js.map
@@ -1,11 +1,12 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { C as Card } from './Card-BNT0qpxt-OPUNKZW6.js';
3
- import { R as RadioGroup, a as Radio } from './Radio-BlMDLvPw-DUeywcYR.js';
2
+ import { C as Card } from './Card-ZknG-yim-7W6rYSFV.js';
3
+ import { R as RadioGroup, a as Radio } from './Radio-7U7IBI58-BDhdZJoC.js';
4
4
  import { c as cx } from './index-tZvMCc77.js';
5
- import { C as CheckboxGroup, a as Checkbox } from './Checkbox-CRurfeRE-BR_NXfh6.js';
5
+ import { C as CheckboxGroup, a as Checkbox } from './Checkbox-TIcImbEx-EgjesTNn.js';
6
6
  import { forwardRef, useState, useId, createContext, useContext } from 'react';
7
+ import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
7
8
 
8
- import './SelectCard-D26y01WZ.css';const styles = {
9
+ import './SelectCard-B5EqtxOK.css';const styles = {
9
10
  "select-card": "_select-card_17kzl_1",
10
11
  "select-card--disabled": "_select-card--disabled_17kzl_22",
11
12
  "select-card--errored": "_select-card--errored_17kzl_26",
@@ -26,7 +27,11 @@ const SelectCardProvider = ({
26
27
  return;
27
28
  }
28
29
  if (selectionMode === "single") {
29
- state.checked ? setSelection(/* @__PURE__ */ new Set([state.id])) : setSelection(/* @__PURE__ */ new Set());
30
+ if (state.checked) {
31
+ setSelection(/* @__PURE__ */ new Set([state.id]));
32
+ } else {
33
+ setSelection(/* @__PURE__ */ new Set());
34
+ }
30
35
  } else {
31
36
  if (state.checked) {
32
37
  setSelection(selection.add(state.id));
@@ -47,7 +52,7 @@ const SelectCardProvider = ({
47
52
  };
48
53
  const useSelectCardContext = () => useContext(SelectCardContext);
49
54
 
50
- const SelectCardGroup = forwardRef((props, ref) => {
55
+ const SelectCardGroup = forwardRef((props, _ref) => {
51
56
  const {
52
57
  ariaLabelledBy,
53
58
  children,
@@ -87,9 +92,9 @@ const SelectCardElement = forwardRef(
87
92
  const {
88
93
  checkboxProps,
89
94
  children,
90
- checked,
95
+ checked: checkedProp,
91
96
  className,
92
- defaultChecked,
97
+ defaultChecked: defaultCheckedProp,
93
98
  disabled,
94
99
  errored,
95
100
  radioProps,
@@ -97,22 +102,21 @@ const SelectCardElement = forwardRef(
97
102
  id,
98
103
  ...rest
99
104
  } = props;
100
- const [contextFreeIsChecked, setContextFreeIsChecked] = useState(
101
- defaultChecked || false
102
- );
105
+ const [checked, setChecked] = useOptionallyControlledState({
106
+ controlledValue: checkedProp,
107
+ defaultValue: defaultCheckedProp || false,
108
+ onChange
109
+ });
103
110
  const context = useSelectCardContext();
104
111
  const handleChange = (event) => {
105
112
  const newChecked = event ? event.target.checked : false;
106
- onChange(newChecked);
113
+ setChecked(newChecked);
107
114
  context?.onChange(event, {
108
115
  id,
109
116
  checked: newChecked
110
117
  });
111
- if (checked === void 0) {
112
- setContextFreeIsChecked(newChecked);
113
- }
114
118
  };
115
- const isChecked = context ? context.selection.has(id) : checked !== void 0 ? checked : contextFreeIsChecked;
119
+ const isChecked = context ? context.selection.has(id) : checked;
116
120
  return /* @__PURE__ */ jsxs(Fragment, { children: [
117
121
  (!context || context?.selectionMode === "multiple") && /* @__PURE__ */ jsx(
118
122
  Checkbox,
@@ -168,8 +172,33 @@ const SelectCardElement = forwardRef(
168
172
  );
169
173
  SelectCardElement.displayName = "SelectCard";
170
174
  const SelectCard = Object.assign(SelectCardElement, {
175
+ /**
176
+ * SelectCardGroup component for managing groups of selectable cards.
177
+ *
178
+ * Features:
179
+ * - Manages selection state for multiple SelectCard components
180
+ * - Supports both single and multiple selection modes
181
+ * - Provides proper accessibility with legends and ARIA labels
182
+ * - Handles required field validation
183
+ * - Automatic radio button grouping for single selection
184
+ * - Context provider for child SelectCard components
185
+ *
186
+ * @example
187
+ * <SelectCard.Group
188
+ * legend="Choose your plan"
189
+ * selectionMode="single"
190
+ * onChange={(e, state) => console.log('Selection changed:', state)}
191
+ * >
192
+ * <SelectCard id="basic" onChange={() => {}}>
193
+ * <Text variant="headline" size="small">Basic Plan</Text>
194
+ * </SelectCard>
195
+ * <SelectCard id="premium" onChange={() => {}}>
196
+ * <Text variant="headline" size="small">Premium Plan</Text>
197
+ * </SelectCard>
198
+ * </SelectCard.Group>
199
+ */
171
200
  Group: SelectCardGroup
172
201
  });
173
202
 
174
203
  export { SelectCardGroup as S, SelectCard as a };
175
- //# sourceMappingURL=SelectCard-D26y01WZ-BWN9G09J.js.map
204
+ //# sourceMappingURL=SelectCard-B5EqtxOK-CpCgVjV8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectCard-B5EqtxOK-CpCgVjV8.js","sources":["../../hammer-react/dist/SelectCard-B5EqtxOK.js"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { C as Card } from './Card-ZknG-yim.js';\nimport { a as RadioGroup, R as Radio } from './Radio-7U7IBI58.js';\nimport cx from 'classnames';\nimport { a as CheckboxGroup, C as Checkbox } from './Checkbox-TIcImbEx.js';\nimport { useContext, useState, useId, createContext, forwardRef } from 'react';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\n\nimport './SelectCard.css';const styles = {\n\t\"select-card\": \"_select-card_17kzl_1\",\n\t\"select-card--disabled\": \"_select-card--disabled_17kzl_22\",\n\t\"select-card--errored\": \"_select-card--errored_17kzl_26\",\n\t\"select-card--selected\": \"_select-card--selected_17kzl_29\"\n};\n\nconst SelectCardContext = createContext(null);\nconst SelectCardProvider = ({\n children,\n onChange,\n selectionMode\n}) => {\n const [selection, setSelection] = useState(/* @__PURE__ */ new Set());\n const radioName = useId();\n const handleChange = (e, state) => {\n if (!state || !state.id) {\n onChange(e, state);\n return;\n }\n if (selectionMode === \"single\") {\n if (state.checked) {\n setSelection(/* @__PURE__ */ new Set([state.id]));\n } else {\n setSelection(/* @__PURE__ */ new Set());\n }\n } else {\n if (state.checked) {\n setSelection(selection.add(state.id));\n } else {\n selection.delete(state.id);\n setSelection(selection);\n }\n }\n onChange(e, state);\n };\n const context = {\n selectionMode,\n onChange: handleChange,\n radioName,\n selection\n };\n return /* @__PURE__ */ jsx(SelectCardContext.Provider, { value: context, children });\n};\nconst useSelectCardContext = () => useContext(SelectCardContext);\n\nconst SelectCardGroup = forwardRef((props, _ref) => {\n const {\n ariaLabelledBy,\n children,\n legend,\n onChange,\n required = false,\n selectionMode,\n ...rest\n } = props;\n return /* @__PURE__ */ jsxs(SelectCardProvider, { onChange, selectionMode, children: [\n selectionMode === \"multiple\" && /* @__PURE__ */ jsx(\n CheckboxGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n ),\n selectionMode === \"single\" && /* @__PURE__ */ jsx(\n RadioGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n )\n ] });\n});\nSelectCardGroup.displayName = \"SelectCardGroup\";\n\nconst SelectCardElement = forwardRef(\n (props, ref) => {\n const {\n checkboxProps,\n children,\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n errored,\n radioProps,\n onChange,\n id,\n ...rest\n } = props;\n const [checked, setChecked] = useOptionallyControlledState({\n controlledValue: checkedProp,\n defaultValue: defaultCheckedProp || false,\n onChange\n });\n const context = useSelectCardContext();\n const handleChange = (event) => {\n const newChecked = event ? event.target.checked : false;\n setChecked(newChecked);\n context?.onChange(event, {\n id,\n checked: newChecked\n });\n };\n const isChecked = context ? context.selection.has(id) : checked;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n (!context || context?.selectionMode === \"multiple\") && /* @__PURE__ */ jsx(\n Checkbox,\n {\n ...checkboxProps,\n onChange: handleChange,\n disabled,\n ref,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(\n styles[\"select-card\"],\n isChecked && !errored && styles[\"select-card--selected\"],\n errored && styles[\"select-card--errored\"],\n disabled && styles[\"select-card--disabled\"],\n className ?? \"\"\n ),\n children\n }\n ),\n hideCheckbox: true\n }\n ),\n context?.selectionMode === \"single\" && /* @__PURE__ */ jsx(\n Radio,\n {\n ...radioProps,\n onChange: handleChange,\n disabled,\n ref,\n name: context.radioName,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(\n styles[\"select-card\"],\n isChecked && !errored && styles[\"select-card--selected\"],\n errored && styles[\"select-card--errored\"],\n disabled && styles[\"select-card--disabled\"],\n className ?? \"\"\n ),\n children\n }\n ),\n hideRadio: true\n }\n )\n ] });\n }\n);\nSelectCardElement.displayName = \"SelectCard\";\nconst SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: SelectCardGroup\n});\n\nexport { SelectCard as S, SelectCardGroup as a };\n//# sourceMappingURL=SelectCard-B5EqtxOK.js.map\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-DxA6P-Q7.js';
1
+ export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-DsHZgCqA.js';
2
2
  //# sourceMappingURL=SelectCard.js.map
@@ -0,0 +1,49 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { S as SelectCardGroup$1, a as SelectCard$1 } from './SelectCard-B5EqtxOK-CpCgVjV8.js';
4
+
5
+ const SelectCardElement = forwardRef(
6
+ (props, ref) => {
7
+ return /* @__PURE__ */ jsx(SelectCard$1, { ref, ...props });
8
+ }
9
+ );
10
+ SelectCardElement.displayName = SelectCard$1.displayName;
11
+ const SelectCard = Object.assign(SelectCardElement, {
12
+ /**
13
+ * SelectCardGroup component for managing groups of selectable cards.
14
+ *
15
+ * Features:
16
+ * - Manages selection state for multiple SelectCard components
17
+ * - Supports both single and multiple selection modes
18
+ * - Provides proper accessibility with legends and ARIA labels
19
+ * - Handles required field validation
20
+ * - Automatic radio button grouping for single selection
21
+ * - Context provider for child SelectCard components
22
+ * - Automatic tracking ID generation for analytics
23
+ *
24
+ * @example
25
+ * <SelectCard.Group
26
+ * legend="Choose your plan"
27
+ * selectionMode="single"
28
+ * onChange={(e, state) => console.log('Selection changed:', state)}
29
+ * >
30
+ * <SelectCard id="basic" onChange={() => {}}>
31
+ * <Text variant="headline" size="small">Basic Plan</Text>
32
+ * </SelectCard>
33
+ * <SelectCard id="premium" onChange={() => {}}>
34
+ * <Text variant="headline" size="small">Premium Plan</Text>
35
+ * </SelectCard>
36
+ * </SelectCard.Group>
37
+ */
38
+ Group: SelectCardGroup$1
39
+ });
40
+
41
+ const SelectCardGroup = forwardRef(
42
+ (props, ref) => {
43
+ return /* @__PURE__ */ jsx(SelectCardGroup$1, { ref, ...props });
44
+ }
45
+ );
46
+ SelectCardGroup.displayName = SelectCardGroup$1.displayName;
47
+
48
+ export { SelectCard as S, SelectCardGroup as a, SelectCardElement as b };
49
+ //# sourceMappingURL=SelectCardGroup-DsHZgCqA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectCardGroup-DsHZgCqA.js","sources":["../src/components/SelectCard/SelectCard.tsx","../src/components/SelectCard/SelectCardGroup.tsx"],"sourcesContent":["import {\n SelectCardProps as CoreSelectCardProps,\n SelectCard as CoreSelectCard,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCard component\n * @property {Omit<CheckboxProps, \"label\">} [checkboxProps] - Passes props to the underlying Checkbox component\n * @property {boolean} [checked] - Controlled state. When provided, the component becomes controlled\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {boolean} [disabled] - When true, disables the card\n * @property {boolean} [errored] - When true, sets error styling on the card\n * @property {string | number} id - A unique identifier for the card, used to track the selection state\n * @property {(value: boolean) => void} onChange - Function called on selection state change\n * @property {Omit<RadioProps, \"label\">} [radioProps] - Passes props to the underlying Radio component\n * @extends CoreSelectCardProps\n */\nexport type SelectCardProps = CoreSelectCardProps;\n\nexport const SelectCardElement = forwardRef(\n (props: SelectCardProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCard ref={ref} {...props} />;\n },\n);\nSelectCardElement.displayName = CoreSelectCard.displayName;\n\n/**\n * SelectCard component for creating interactive card-based selection interfaces.\n *\n * Features:\n * - Supports both single selection (radio) and multiple selection (checkbox) modes\n * - Automatic context detection for selection behavior\n * - Visual feedback for selected, disabled, and error states\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Customizable styling through Card component props\n * - Hover and focus states with smooth transitions\n * - Integration with SelectCardGroup for grouped selection\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard\n * id=\"option-1\"\n * onChange={(checked) => console.log('Selected:', checked)}\n * >\n * <Text variant=\"headline\" size=\"small\">Option 1</Text>\n * <Text>Description of option 1</Text>\n * </SelectCard>\n */\nexport const SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: CoreSelectCardGroup,\n});\n","import {\n SelectCardGroupProps as CoreSelectCardGroupProps,\n SelectCardGroup as CoreSelectCardGroup,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\n/**\n * Props for the SelectCardGroup component\n * @property {string} [ariaLabelledBy] - Associates the legend with content below\n * @property {ReactNode} [children] - Child SelectCard components\n * @property {CheckboxGroupProps[\"legend\"]} legend - Sets the legend on the group\n * @property {boolean} [required] - When true, sets \"required\" text in label. This does not enforce error when nothing is selected\n * @property {(e?: ChangeEvent<HTMLInputElement>, state?: ISelectCardState) => void} onChange - Callback function that is triggered when the selection state changes\n * @property {\"single\" | \"multiple\"} selectionMode - Sets how many cards the user can select, either 'single' (radio buttons) or 'multiple' (checkboxes)\n * @extends CoreSelectCardGroupProps\n */\nexport type SelectCardGroupProps = CoreSelectCardGroupProps;\n\n/**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n * - Integrates with CheckboxGroup and RadioGroup for proper form semantics\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SelectCardGroup\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCardGroup>\n */\nexport const SelectCardGroup = forwardRef(\n (props: SelectCardGroupProps, ref: Ref<HTMLInputElement>) => {\n return <CoreSelectCardGroup ref={ref} {...props} />;\n },\n);\nSelectCardGroup.displayName = CoreSelectCardGroup.displayName;\n"],"names":["CoreSelectCard","CoreSelectCardGroup"],"mappings":";;;;AAqBO,MAAM,iBAAoB,GAAA,UAAA;AAAA,EAC/B,CAAC,OAAwB,GAA+B,KAAA;AACtD,IAAA,uBAAQ,GAAA,CAAAA,YAAA,EAAA,EAAe,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEhD;AACA,iBAAA,CAAkB,cAAcA,YAAe,CAAA,WAAA;AAwBlC,MAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAO,iBAAmB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BzD,KAAO,EAAAC;AACT,CAAC;;ACjCM,MAAM,eAAkB,GAAA,UAAA;AAAA,EAC7B,CAAC,OAA6B,GAA+B,KAAA;AAC3D,IAAA,uBAAQ,GAAA,CAAAA,iBAAA,EAAA,EAAoB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAErD;AACA,eAAA,CAAgB,cAAcA,iBAAoB,CAAA,WAAA;;;;"}