@servicetitan/anvil2 2.7.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/{Avatar-CCnbKkCm.js → Avatar-BckUfs1N.js} +48 -46
  3. package/dist/{Avatar-CCnbKkCm.js.map → Avatar-BckUfs1N.js.map} +1 -1
  4. package/dist/Avatar-ChybzixS.js +35 -0
  5. package/dist/Avatar-ChybzixS.js.map +1 -0
  6. package/dist/Avatar.js +2 -2
  7. package/dist/Breadcrumbs-C_WK9Yul.js +107 -0
  8. package/dist/Breadcrumbs-C_WK9Yul.js.map +1 -0
  9. package/dist/Breadcrumbs.js +1 -1
  10. package/dist/{Calendar-C1U2npPP.js → Calendar-BTStJPV1.js} +2 -2
  11. package/dist/{Calendar-C1U2npPP.js.map → Calendar-BTStJPV1.js.map} +1 -1
  12. package/dist/{Calendar-SGlTt-bs.js → Calendar-Frpv5rRY.js} +129 -118
  13. package/dist/Calendar-Frpv5rRY.js.map +1 -0
  14. package/dist/Calendar.css +51 -51
  15. package/dist/Calendar.js +2 -2
  16. package/dist/Checkbox-CTZdZym4.js +52 -0
  17. package/dist/Checkbox-CTZdZym4.js.map +1 -0
  18. package/dist/{Checkbox-CtKUNeyu.js → Checkbox-Drgai_lS.js} +3 -3
  19. package/dist/{Checkbox-CtKUNeyu.js.map → Checkbox-Drgai_lS.js.map} +1 -1
  20. package/dist/Checkbox.js +1 -1
  21. package/dist/{Chip-DjTAR0va.js → Chip-CVyEctAz.js} +2 -2
  22. package/dist/{Chip-DjTAR0va.js.map → Chip-CVyEctAz.js.map} +1 -1
  23. package/dist/Chip.js +1 -1
  24. package/dist/{Combobox-By8-34bw.js → Combobox-BRtfrYyZ.js} +185 -182
  25. package/dist/{Combobox-By8-34bw.js.map → Combobox-BRtfrYyZ.js.map} +1 -1
  26. package/dist/Combobox.js +1 -1
  27. package/dist/{DataTable-BYOS6icI.js → DataTable-BmVPjMMg.js} +667 -622
  28. package/dist/DataTable-BmVPjMMg.js.map +1 -0
  29. package/dist/{DateFieldRange-C8Uzrboc.js → DateFieldRange-D9DtlkSQ.js} +19 -5
  30. package/dist/DateFieldRange-D9DtlkSQ.js.map +1 -0
  31. package/dist/DateFieldRange.js +1 -1
  32. package/dist/{DateFieldSingle-DrhLIjlK.js → DateFieldSingle-CkdeCUJv.js} +7 -7
  33. package/dist/{DateFieldSingle-DrhLIjlK.js.map → DateFieldSingle-CkdeCUJv.js.map} +1 -1
  34. package/dist/DateFieldSingle.js +1 -1
  35. package/dist/{DateFieldYearless-DbivK4Hm.js → DateFieldYearless-b81ZcYdp.js} +3 -3
  36. package/dist/{DateFieldYearless-DbivK4Hm.js.map → DateFieldYearless-b81ZcYdp.js.map} +1 -1
  37. package/dist/DateFieldYearless.js +1 -1
  38. package/dist/{DateFieldYearlessRange-BEqJe4Uf.js → DateFieldYearlessRange-ClAFzIDD.js} +3 -3
  39. package/dist/{DateFieldYearlessRange-BEqJe4Uf.js.map → DateFieldYearlessRange-ClAFzIDD.js.map} +1 -1
  40. package/dist/DateFieldYearlessRange.js +1 -1
  41. package/dist/{DaysOfTheWeek-BR32AA32.js → DaysOfTheWeek-2Zeh79oR.js} +3 -3
  42. package/dist/{DaysOfTheWeek-BR32AA32.js.map → DaysOfTheWeek-2Zeh79oR.js.map} +1 -1
  43. package/dist/DaysOfTheWeek.js +1 -1
  44. package/dist/{Details-Dxq_v3Qg.js → Details-CZOIpNP_.js} +8 -8
  45. package/dist/Details-CZOIpNP_.js.map +1 -0
  46. package/dist/Details.js +1 -1
  47. package/dist/{Dialog-CGhwkwvq.js → Dialog-CloZWa1Q.js} +71 -71
  48. package/dist/Dialog-CloZWa1Q.js.map +1 -0
  49. package/dist/Dialog.js +1 -1
  50. package/dist/{Drawer-DA4iAgt-.js → Drawer-CfkoH081.js} +84 -84
  51. package/dist/Drawer-CfkoH081.js.map +1 -0
  52. package/dist/Drawer.js +1 -1
  53. package/dist/DrillDown.js +1 -1
  54. package/dist/{FieldLabel-DbMosKtd.js → FieldLabel-CQ5QGTVq.js} +2 -2
  55. package/dist/{FieldLabel-DbMosKtd.js.map → FieldLabel-CQ5QGTVq.js.map} +1 -1
  56. package/dist/FieldLabel.js +1 -1
  57. package/dist/Grid-DeYIx5k4.js +149 -0
  58. package/dist/Grid-DeYIx5k4.js.map +1 -0
  59. package/dist/Grid.js +1 -1
  60. package/dist/{InputMask-HjaNCb73.js → InputMask-CI4Q5UwG.js} +3 -3
  61. package/dist/{InputMask-HjaNCb73.js.map → InputMask-CI4Q5UwG.js.map} +1 -1
  62. package/dist/InputMask.js +1 -1
  63. package/dist/{Layout-VfhlilMG.js → Layout-CISAxILX.js} +34 -33
  64. package/dist/Layout-CISAxILX.js.map +1 -0
  65. package/dist/Layout.js +1 -1
  66. package/dist/List--KhCpjZn.js +103 -0
  67. package/dist/List--KhCpjZn.js.map +1 -0
  68. package/dist/List.js +1 -1
  69. package/dist/{ListView-mujFK6mQ.js → ListView-DAbBuss4.js} +6 -6
  70. package/dist/ListView-DAbBuss4.js.map +1 -0
  71. package/dist/ListView.js +1 -1
  72. package/dist/{Listbox-BtAgBDRS.js → Listbox-D_T55BFX.js} +5 -4
  73. package/dist/Listbox-D_T55BFX.js.map +1 -0
  74. package/dist/Listbox.js +1 -1
  75. package/dist/{Menu-BXsmCP20.js → Menu-CRoJYJ53.js} +366 -365
  76. package/dist/Menu-CRoJYJ53.js.map +1 -0
  77. package/dist/Menu.js +1 -1
  78. package/dist/MultiSelectField.js +1 -1
  79. package/dist/{MultiSelectFieldSync-DGpGgu8q.js → MultiSelectFieldSync-CSOitvtu.js} +5 -5
  80. package/dist/{MultiSelectFieldSync-DGpGgu8q.js.map → MultiSelectFieldSync-CSOitvtu.js.map} +1 -1
  81. package/dist/MultiSelectMenu.js +1 -1
  82. package/dist/{MultiSelectMenuSync-DiLddJDw.js → MultiSelectMenuSync-62OeGmkz.js} +29 -9
  83. package/dist/MultiSelectMenuSync-62OeGmkz.js.map +1 -0
  84. package/dist/{NumberField-svhZp1kB.js → NumberField-CHBXBMSj.js} +2 -2
  85. package/dist/{NumberField-svhZp1kB.js.map → NumberField-CHBXBMSj.js.map} +1 -1
  86. package/dist/NumberField.js +1 -1
  87. package/dist/Overflow.css +27 -26
  88. package/dist/Overflow.js +11 -11
  89. package/dist/{Page-Be029Dij.js → Page-DtSjnBJL.js} +217 -205
  90. package/dist/Page-DtSjnBJL.js.map +1 -0
  91. package/dist/Page.css +78 -76
  92. package/dist/Page.js +1 -1
  93. package/dist/{Pagination-BAwqfl_2.js → Pagination-CbBte3GQ.js} +17 -15
  94. package/dist/Pagination-CbBte3GQ.js.map +1 -0
  95. package/dist/Pagination.js +1 -1
  96. package/dist/Popover-CQhLSNYR.js +537 -0
  97. package/dist/Popover-CQhLSNYR.js.map +1 -0
  98. package/dist/{Popover-D0qSKZ1J.js → Popover-Rha0q-Pv.js} +354 -354
  99. package/dist/Popover-Rha0q-Pv.js.map +1 -0
  100. package/dist/Popover.js +1 -1
  101. package/dist/{ProgressBar-JpRDW5vG.js → ProgressBar-DEaMqbM-.js} +2 -2
  102. package/dist/{ProgressBar-JpRDW5vG.js.map → ProgressBar-DEaMqbM-.js.map} +1 -1
  103. package/dist/ProgressBar.js +1 -1
  104. package/dist/{Radio-BQg7exDG.js → Radio-Bw2LDl9G.js} +3 -3
  105. package/dist/{Radio-BQg7exDG.js.map → Radio-Bw2LDl9G.js.map} +1 -1
  106. package/dist/Radio-CCvu8mbI.js +60 -0
  107. package/dist/Radio-CCvu8mbI.js.map +1 -0
  108. package/dist/Radio.js +1 -1
  109. package/dist/{SegmentedControl-7fDLhgvh.js → SegmentedControl-BAi4pnFe.js} +79 -75
  110. package/dist/{SegmentedControl-7fDLhgvh.js.map → SegmentedControl-BAi4pnFe.js.map} +1 -1
  111. package/dist/SegmentedControl.js +1 -1
  112. package/dist/SelectCard-ZaAD0wR1.js +325 -0
  113. package/dist/SelectCard-ZaAD0wR1.js.map +1 -0
  114. package/dist/SelectCard.js +1 -1
  115. package/dist/SelectField.js +1 -1
  116. package/dist/{SelectFieldLabel-Dr8HeW3N.js → SelectFieldLabel-EJCXA02B.js} +2 -2
  117. package/dist/{SelectFieldLabel-Dr8HeW3N.js.map → SelectFieldLabel-EJCXA02B.js.map} +1 -1
  118. package/dist/{SelectFieldSync-CJ2Ie_v1.js → SelectFieldSync-DA54WXOk.js} +4 -4
  119. package/dist/{SelectFieldSync-CJ2Ie_v1.js.map → SelectFieldSync-DA54WXOk.js.map} +1 -1
  120. package/dist/SelectMenu.js +1 -1
  121. package/dist/{SelectMenuSync-CJA_coqD.js → SelectMenuSync-BQaSTcaN.js} +29 -9
  122. package/dist/SelectMenuSync-BQaSTcaN.js.map +1 -0
  123. package/dist/{SelectOptions-Bf4xsFek.js → SelectOptions-D-DzWmKE.js} +2 -2
  124. package/dist/{SelectOptions-Bf4xsFek.js.map → SelectOptions-D-DzWmKE.js.map} +1 -1
  125. package/dist/{SelectTrigger-ObsnAKNp.js → SelectTrigger-DWyRndmY.js} +3 -3
  126. package/dist/{SelectTrigger-ObsnAKNp.js.map → SelectTrigger-DWyRndmY.js.map} +1 -1
  127. package/dist/SelectTrigger.js +1 -1
  128. package/dist/{SelectTriggerBase-DKfOL2RJ.js → SelectTriggerBase-B6aZd2a6.js} +3 -3
  129. package/dist/{SelectTriggerBase-DKfOL2RJ.js.map → SelectTriggerBase-B6aZd2a6.js.map} +1 -1
  130. package/dist/{SideNav-KksbSQn7.js → SideNav-CxHemV3H.js} +127 -125
  131. package/dist/{SideNav-KksbSQn7.js.map → SideNav-CxHemV3H.js.map} +1 -1
  132. package/dist/SideNav.js +1 -1
  133. package/dist/{Stepper-Dt8_ImvJ.js → Stepper-CQUXV6P4.js} +156 -156
  134. package/dist/{Stepper-Dt8_ImvJ.js.map → Stepper-CQUXV6P4.js.map} +1 -1
  135. package/dist/Stepper.js +1 -1
  136. package/dist/{Tab-DO7LaUbw.js → Tab-BGGNcz9S.js} +225 -221
  137. package/dist/Tab-BGGNcz9S.js.map +1 -0
  138. package/dist/Tab.js +1 -1
  139. package/dist/Table.js +1 -1
  140. package/dist/{TextField-BW8sJAls.js → TextField-CMv9CpBq.js} +2 -2
  141. package/dist/{TextField-BW8sJAls.js.map → TextField-CMv9CpBq.js.map} +1 -1
  142. package/dist/{TextField-DeHpgPag.js → TextField-o8zvVFDk.js} +2 -2
  143. package/dist/{TextField-DeHpgPag.js.map → TextField-o8zvVFDk.js.map} +1 -1
  144. package/dist/TextField.js +1 -1
  145. package/dist/{Textarea-DyqdMTvQ.js → Textarea-B4bBvO8c.js} +2 -2
  146. package/dist/{Textarea-DyqdMTvQ.js.map → Textarea-B4bBvO8c.js.map} +1 -1
  147. package/dist/Textarea.js +1 -1
  148. package/dist/{TimeField-Dc0Y1JD-.js → TimeField-BEgnjk4R.js} +4 -4
  149. package/dist/{TimeField-Dc0Y1JD-.js.map → TimeField-BEgnjk4R.js.map} +1 -1
  150. package/dist/TimeField.js +1 -1
  151. package/dist/Toast.js +2 -2
  152. package/dist/{Toaster-b0-Ub3yt.js → Toaster-6_LVKok2.js} +2 -2
  153. package/dist/{Toaster-b0-Ub3yt.js.map → Toaster-6_LVKok2.js.map} +1 -1
  154. package/dist/{Toaster-DikGo_hR.js → Toaster-B38WlKC7.js} +2 -2
  155. package/dist/{Toaster-DikGo_hR.js.map → Toaster-B38WlKC7.js.map} +1 -1
  156. package/dist/{Toolbar-DAuz4Gs2.js → Toolbar-0EKhrvZN.js} +148 -147
  157. package/dist/{Toolbar-DAuz4Gs2.js.map → Toolbar-0EKhrvZN.js.map} +1 -1
  158. package/dist/Toolbar.js +1 -1
  159. package/dist/{Tooltip-Bupqao9B.js → Tooltip-BHwSTwsv.js} +224 -226
  160. package/dist/Tooltip-BHwSTwsv.js.map +1 -0
  161. package/dist/Tooltip.js +1 -1
  162. package/dist/{YearlessDateInputWithPicker-DFi08TLG.js → YearlessDateInputWithPicker-BC4lRuny.js} +3 -3
  163. package/dist/{YearlessDateInputWithPicker-DFi08TLG.js.map → YearlessDateInputWithPicker-BC4lRuny.js.map} +1 -1
  164. package/dist/beta/components/MultiSelectMenu/types.d.ts +15 -0
  165. package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +3 -1
  166. package/dist/beta/components/SelectMenu/types.d.ts +15 -0
  167. package/dist/beta/components/Table/DataTable/DataTable.d.ts +2 -15
  168. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +35 -0
  169. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +4 -3
  170. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +7 -0
  171. package/dist/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +34 -0
  172. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +2 -4
  173. package/dist/beta/components/Table/DataTable/types.d.ts +18 -1
  174. package/dist/beta/components/Table/createColumnHelper.d.ts +23 -68
  175. package/dist/beta/components/Table/types.d.ts +218 -42
  176. package/dist/beta/components/Toolbar/Toolbar.d.ts +168 -41
  177. package/dist/beta.js +9 -9
  178. package/dist/components/Avatar/Avatar.d.ts +14 -0
  179. package/dist/components/Calendar/Calendar.d.ts +84 -26
  180. package/dist/components/Combobox/Combobox.d.ts +172 -1
  181. package/dist/components/Dialog/Dialog.d.ts +96 -28
  182. package/dist/components/DrillDown/DrillDown.d.ts +7 -1
  183. package/dist/components/Layout/Layout.d.ts +52 -44
  184. package/dist/components/ListView/ListView.d.ts +5 -5
  185. package/dist/components/Listbox/Listbox.d.ts +5 -23
  186. package/dist/components/Menu/Menu.d.ts +1 -4
  187. package/dist/components/Toolbar/Toolbar.d.ts +3 -1
  188. package/dist/{floating-ui.react-C_s3_nEb.js → floating-ui.react-aKYfs-aw.js} +2 -2
  189. package/dist/{floating-ui.react-C_s3_nEb.js.map → floating-ui.react-aKYfs-aw.js.map} +1 -1
  190. package/dist/{index.esm-BZV0wNKZ.js → index.esm-K9kxJhLx.js} +2 -1
  191. package/dist/{index.esm-BZV0wNKZ.js.map → index.esm-K9kxJhLx.js.map} +1 -1
  192. package/dist/index.js +126 -126
  193. package/dist/index.js.map +1 -1
  194. package/dist/{syncFilterUtils-vt8ldsES.js → syncFilterUtils-B03Pc941.js} +191 -191
  195. package/dist/{syncFilterUtils-vt8ldsES.js.map → syncFilterUtils-B03Pc941.js.map} +1 -1
  196. package/dist/{useDrilldown-wwXRpNgb.js → useDrilldown-BW2XkUcK.js} +41 -39
  197. package/dist/{useDrilldown-wwXRpNgb.js.map → useDrilldown-BW2XkUcK.js.map} +1 -1
  198. package/dist/{useInitialFocus-CdoVwSbr.js → useInitialFocus-BRRbylek.js} +2 -2
  199. package/dist/{useInitialFocus-CdoVwSbr.js.map → useInitialFocus-BRRbylek.js.map} +1 -1
  200. package/dist/{useMenuInteraction-zR_78KQC.js → useMenuInteraction-BwZ2ORo9.js} +8 -3
  201. package/dist/useMenuInteraction-BwZ2ORo9.js.map +1 -0
  202. package/dist/{useToggleSelection-BdXW3Zg3.js → useToggleSelection-Dip0eimQ.js} +2 -2
  203. package/dist/{useToggleSelection-BdXW3Zg3.js.map → useToggleSelection-Dip0eimQ.js.map} +1 -1
  204. package/package.json +3 -3
  205. package/dist/Avatar--CnTAnfD.js +0 -35
  206. package/dist/Avatar--CnTAnfD.js.map +0 -1
  207. package/dist/Breadcrumbs-3Y7jnj-F.js +0 -105
  208. package/dist/Breadcrumbs-3Y7jnj-F.js.map +0 -1
  209. package/dist/Calendar-SGlTt-bs.js.map +0 -1
  210. package/dist/Checkbox-CjEKa5Iv.js +0 -50
  211. package/dist/Checkbox-CjEKa5Iv.js.map +0 -1
  212. package/dist/DataTable-BYOS6icI.js.map +0 -1
  213. package/dist/DateFieldRange-C8Uzrboc.js.map +0 -1
  214. package/dist/Details-Dxq_v3Qg.js.map +0 -1
  215. package/dist/Dialog-CGhwkwvq.js.map +0 -1
  216. package/dist/Drawer-DA4iAgt-.js.map +0 -1
  217. package/dist/Grid-ONcUpb__.js +0 -147
  218. package/dist/Grid-ONcUpb__.js.map +0 -1
  219. package/dist/Layout-VfhlilMG.js.map +0 -1
  220. package/dist/List-CJZjElAQ.js +0 -101
  221. package/dist/List-CJZjElAQ.js.map +0 -1
  222. package/dist/ListView-mujFK6mQ.js.map +0 -1
  223. package/dist/Listbox-BtAgBDRS.js.map +0 -1
  224. package/dist/Menu-BXsmCP20.js.map +0 -1
  225. package/dist/MultiSelectMenuSync-DiLddJDw.js.map +0 -1
  226. package/dist/Page-Be029Dij.js.map +0 -1
  227. package/dist/Pagination-BAwqfl_2.js.map +0 -1
  228. package/dist/Popover-D0qSKZ1J.js.map +0 -1
  229. package/dist/Popover-DxZF6lbJ.js +0 -535
  230. package/dist/Popover-DxZF6lbJ.js.map +0 -1
  231. package/dist/Radio-BOq9UkpC.js +0 -60
  232. package/dist/Radio-BOq9UkpC.js.map +0 -1
  233. package/dist/SelectCard-cu4MBuh8.js +0 -320
  234. package/dist/SelectCard-cu4MBuh8.js.map +0 -1
  235. package/dist/SelectMenuSync-CJA_coqD.js.map +0 -1
  236. package/dist/Tab-DO7LaUbw.js.map +0 -1
  237. package/dist/Tooltip-Bupqao9B.js.map +0 -1
  238. package/dist/useMenuInteraction-zR_78KQC.js.map +0 -1
package/dist/Calendar.css CHANGED
@@ -1,6 +1,6 @@
1
1
  @layer starter, reset, base, state, application;
2
2
  @layer reset {
3
- ._calendar_50kmd_2 {
3
+ ._calendar_1fg5q_2 {
4
4
  all: unset;
5
5
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
6
6
  font-size: 100%;
@@ -13,7 +13,7 @@
13
13
  box-sizing: border-box;
14
14
  display: inline-flex;
15
15
  }
16
- ._calendar_50kmd_2 ._header_50kmd_15 {
16
+ ._calendar_1fg5q_2 ._header_1fg5q_15 {
17
17
  all: unset;
18
18
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
19
19
  font-size: 100%;
@@ -28,23 +28,23 @@
28
28
  }
29
29
  }
30
30
  @layer base {
31
- ._calendar_50kmd_2 {
31
+ ._calendar_1fg5q_2 {
32
32
  flex-direction: column;
33
33
  gap: 1rem;
34
34
  }
35
- ._calendar_50kmd_2 ._header_50kmd_15 {
35
+ ._calendar_1fg5q_2 ._header_1fg5q_15 {
36
36
  display: flex;
37
37
  width: 100%;
38
38
  justify-content: space-between;
39
39
  align-items: center;
40
40
  }
41
- ._calendar_50kmd_2 ._header_50kmd_15 ._heading_50kmd_40 {
41
+ ._calendar_1fg5q_2 ._header_1fg5q_15 ._heading_1fg5q_40 {
42
42
  font-size: 0.875rem;
43
43
  padding-inline-start: 0.75rem;
44
44
  padding-inline-end: 0.75rem;
45
45
  font-weight: 600;
46
46
  }
47
- ._calendar_50kmd_2 ._header_50kmd_15 ._controller_50kmd_46 {
47
+ ._calendar_1fg5q_2 ._header_1fg5q_15 ._controller_1fg5q_46 {
48
48
  display: flex;
49
49
  justify-content: space-between;
50
50
  align-items: center;
@@ -52,20 +52,20 @@
52
52
  padding-inline-start: 0.25rem;
53
53
  padding-inline-end: 0.25rem;
54
54
  }
55
- ._calendar_50kmd_2 ._spacer_50kmd_54 {
55
+ ._calendar_1fg5q_2 ._spacer_1fg5q_54 {
56
56
  height: 1rem;
57
57
  }
58
- ._calendar_50kmd_2 ._day-grid_50kmd_57 {
58
+ ._calendar_1fg5q_2 ._day-grid_1fg5q_57 {
59
59
  min-height: 15.25rem;
60
60
  min-width: 17.875rem;
61
- animation: _fadein_50kmd_1 0.5s;
61
+ animation: _fadein_1fg5q_1 0.5s;
62
62
  }
63
- ._calendar_50kmd_2 ._day-grid_50kmd_57 td {
63
+ ._calendar_1fg5q_2 ._day-grid_1fg5q_57 td {
64
64
  padding-block: 0.25rem;
65
65
  padding-inline: 0.25rem;
66
66
  position: relative;
67
67
  }
68
- ._calendar_50kmd_2 ._day-grid_50kmd_57 ._cell_50kmd_67 {
68
+ ._calendar_1fg5q_2 ._day-grid_1fg5q_57 ._cell_1fg5q_67 {
69
69
  all: unset;
70
70
  min-width: 2.125rem;
71
71
  min-height: 2.125rem;
@@ -82,7 +82,7 @@
82
82
  z-index: 1;
83
83
  transition: outline 100ms cubic-bezier(0, 0, 0.4, 1), background-color 200ms cubic-bezier(0, 0, 0.4, 1);
84
84
  }
85
- ._calendar_50kmd_2 ._day-grid_50kmd_57 ._cell_50kmd_67::before {
85
+ ._calendar_1fg5q_2 ._day-grid_1fg5q_57 ._cell_1fg5q_67::before {
86
86
  z-index: -1;
87
87
  position: absolute;
88
88
  width: 100%;
@@ -98,13 +98,13 @@
98
98
  pointer-events: none;
99
99
  border-radius: inherit;
100
100
  }
101
- ._calendar_50kmd_2 ._day-grid_50kmd_57 ._cell_50kmd_67._overflow_50kmd_98 {
101
+ ._calendar_1fg5q_2 ._day-grid_1fg5q_57 ._cell_1fg5q_67._overflow_1fg5q_98 {
102
102
  display: none;
103
103
  }
104
- ._calendar_50kmd_2 ._day-grid_50kmd_57 ._cell_50kmd_67:has(._content_50kmd_101) {
104
+ ._calendar_1fg5q_2 ._day-grid_1fg5q_57 ._cell_1fg5q_67:has(._content_1fg5q_101) {
105
105
  cursor: pointer;
106
106
  }
107
- ._calendar_50kmd_2 ._weekday_50kmd_104 {
107
+ ._calendar_1fg5q_2 ._weekday_1fg5q_104 {
108
108
  justify-content: center;
109
109
  align-items: flex-start;
110
110
  font-weight: 700;
@@ -116,28 +116,28 @@
116
116
  padding-inline-start: 0;
117
117
  padding-inline-end: 0;
118
118
  }
119
- ._calendar_50kmd_2 ._month-selection_50kmd_116 ._selection-checkbox_50kmd_116,
120
- ._calendar_50kmd_2 ._year-selection_50kmd_117 ._selection-checkbox_50kmd_116 {
119
+ ._calendar_1fg5q_2 ._month-selection_1fg5q_116 ._selection-checkbox_1fg5q_116,
120
+ ._calendar_1fg5q_2 ._year-selection_1fg5q_117 ._selection-checkbox_1fg5q_116 {
121
121
  width: 100%;
122
122
  }
123
- ._calendar_50kmd_2 ._month-selection_50kmd_116 ._selection-checkbox_50kmd_116 > label,
124
- ._calendar_50kmd_2 ._month-selection_50kmd_116 ._selection-checkbox_50kmd_116 > label > span,
125
- ._calendar_50kmd_2 ._year-selection_50kmd_117 ._selection-checkbox_50kmd_116 > label,
126
- ._calendar_50kmd_2 ._year-selection_50kmd_117 ._selection-checkbox_50kmd_116 > label > span {
123
+ ._calendar_1fg5q_2 ._month-selection_1fg5q_116 ._selection-checkbox_1fg5q_116 > label,
124
+ ._calendar_1fg5q_2 ._month-selection_1fg5q_116 ._selection-checkbox_1fg5q_116 > label > span,
125
+ ._calendar_1fg5q_2 ._year-selection_1fg5q_117 ._selection-checkbox_1fg5q_116 > label,
126
+ ._calendar_1fg5q_2 ._year-selection_1fg5q_117 ._selection-checkbox_1fg5q_116 > label > span {
127
127
  width: 100%;
128
128
  }
129
- ._calendar_50kmd_2 ._month-selection_50kmd_116 ._selection-card_50kmd_126,
130
- ._calendar_50kmd_2 ._year-selection_50kmd_117 ._selection-card_50kmd_126 {
129
+ ._calendar_1fg5q_2 ._month-selection_1fg5q_116 ._selection-card_1fg5q_126,
130
+ ._calendar_1fg5q_2 ._year-selection_1fg5q_117 ._selection-card_1fg5q_126 {
131
131
  width: 100%;
132
132
  justify-content: center;
133
133
  }
134
- ._calendar_50kmd_2 ._year-selection_50kmd_117 {
134
+ ._calendar_1fg5q_2 ._year-selection_1fg5q_117 {
135
135
  max-height: 20rem;
136
136
  overflow-y: auto;
137
137
  padding-inline: 0.25rem;
138
138
  }
139
139
  }
140
- @keyframes _fadein_50kmd_1 {
140
+ @keyframes _fadein_1fg5q_1 {
141
141
  from {
142
142
  opacity: 0;
143
143
  }
@@ -146,41 +146,41 @@
146
146
  }
147
147
  }
148
148
  @layer state {
149
- ._calendar_50kmd_2 ._cell_50kmd_67:focus-visible[tabindex="0"] {
149
+ ._calendar_1fg5q_2 ._cell_1fg5q_67:focus-visible {
150
150
  outline: 0.125rem solid var(--focus-ring-color, #0265DC);
151
151
  }
152
- ._calendar_50kmd_2 ._cell_50kmd_67:disabled:not(._range-first_50kmd_149):not(._range-last_50kmd_149):not(._range_50kmd_149) {
152
+ ._calendar_1fg5q_2 ._cell_1fg5q_67:disabled:not(._range-first_1fg5q_149):not(._range-last_1fg5q_149):not(._range_1fg5q_149) {
153
153
  cursor: not-allowed;
154
154
  opacity: 0.6;
155
155
  color: var(--foreground-color-subdued, #737475);
156
156
  border-radius: 0;
157
157
  }
158
- ._calendar_50kmd_2 ._cell_50kmd_67:hover:not(:disabled)::before {
158
+ ._calendar_1fg5q_2 ._cell_1fg5q_67:hover:not(:disabled)::before {
159
159
  content: "";
160
160
  background-color: var(--overlay-color-hover, rgba(20, 20, 20, 0.0784313725));
161
161
  }
162
- ._calendar_50kmd_2 ._cell_50kmd_67._selected_50kmd_159 {
162
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._selected_1fg5q_159 {
163
163
  background-color: var(--background-color-primary, #0265DC);
164
164
  color: var(--foreground-color-on-primary, #ffffff);
165
165
  }
166
- ._calendar_50kmd_2 ._cell_50kmd_67._selected_50kmd_159:hover:not(:disabled)::before {
166
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._selected_1fg5q_159:hover:not(:disabled)::before {
167
167
  content: "";
168
168
  background-color: var(--overlay-color-hover-on-primary, rgba(20, 20, 20, 0.2));
169
169
  }
170
- ._calendar_50kmd_2 ._cell_50kmd_67._is-unavailable_50kmd_167 {
170
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._is-unavailable_1fg5q_167 {
171
171
  background-color: transparent;
172
172
  }
173
- ._calendar_50kmd_2 ._cell_50kmd_67._is-unavailable_50kmd_167:disabled {
173
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._is-unavailable_1fg5q_167:disabled {
174
174
  cursor: not-allowed;
175
175
  opacity: 0.6;
176
176
  color: var(--foreground-color-subdued, #737475);
177
177
  border-radius: 0;
178
178
  }
179
- ._calendar_50kmd_2 ._cell_50kmd_67._range-first_50kmd_149:not(._range-last_50kmd_149) {
179
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range-first_1fg5q_149:not(._range-last_1fg5q_149) {
180
180
  border-start-end-radius: 0;
181
181
  border-end-end-radius: 0;
182
182
  }
183
- ._calendar_50kmd_2 ._cell_50kmd_67._range-first_50kmd_149:not(._range-last_50kmd_149)::after {
183
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range-first_1fg5q_149:not(._range-last_1fg5q_149)::after {
184
184
  position: absolute;
185
185
  content: "";
186
186
  width: 0.3125rem;
@@ -190,15 +190,15 @@
190
190
  background-color: var(--background-color-primary-subdued, #E0F2FF);
191
191
  z-index: -1;
192
192
  }
193
- ._calendar_50kmd_2 ._cell_50kmd_67._range-first_50kmd_149:not(._range-last_50kmd_149):disabled {
193
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range-first_1fg5q_149:not(._range-last_1fg5q_149):disabled {
194
194
  opacity: 0.2;
195
195
  cursor: not-allowed;
196
196
  }
197
- ._calendar_50kmd_2 ._cell_50kmd_67._range-last_50kmd_149:not(._range-first_50kmd_149) {
197
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range-last_1fg5q_149:not(._range-first_1fg5q_149) {
198
198
  border-end-start-radius: 0;
199
199
  border-start-start-radius: 0;
200
200
  }
201
- ._calendar_50kmd_2 ._cell_50kmd_67._range-last_50kmd_149:not(._range-first_50kmd_149)::after {
201
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range-last_1fg5q_149:not(._range-first_1fg5q_149)::after {
202
202
  position: absolute;
203
203
  content: "";
204
204
  width: 0.3125rem;
@@ -208,36 +208,36 @@
208
208
  background-color: var(--background-color-primary-subdued, #E0F2FF);
209
209
  z-index: -1;
210
210
  }
211
- ._calendar_50kmd_2 ._cell_50kmd_67._range-last_50kmd_149:not(._range-first_50kmd_149):disabled {
211
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range-last_1fg5q_149:not(._range-first_1fg5q_149):disabled {
212
212
  opacity: 0.2;
213
213
  cursor: not-allowed;
214
214
  }
215
- ._calendar_50kmd_2 ._cell_50kmd_67._range_50kmd_149:not(._is-unavailable_50kmd_167) {
215
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range_1fg5q_149:not(._is-unavailable_1fg5q_167) {
216
216
  background-color: transparent;
217
217
  color: var(--foreground-color-primary, #0265DC);
218
218
  }
219
- ._calendar_50kmd_2 ._cell_50kmd_67._range_50kmd_149:not(._is-unavailable_50kmd_167):disabled {
219
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range_1fg5q_149:not(._is-unavailable_1fg5q_167):disabled {
220
220
  opacity: 0.2;
221
221
  cursor: not-allowed;
222
222
  }
223
- ._calendar_50kmd_2 ._cell_50kmd_67._range_50kmd_149:not(._is-unavailable_50kmd_167):hover:not(:disabled):before {
223
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range_1fg5q_149:not(._is-unavailable_1fg5q_167):hover:not(:disabled):before {
224
224
  content: "";
225
225
  background-color: var(--overlay-color-hover-primary, rgba(2, 101, 220, 0.1019607843));
226
226
  border-radius: 0;
227
227
  }
228
- ._calendar_50kmd_2 ._cell_50kmd_67._range_50kmd_149:not(._is-unavailable_50kmd_167):hover:not(:disabled)._hover-last_50kmd_225:before {
228
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._range_1fg5q_149:not(._is-unavailable_1fg5q_167):hover:not(:disabled)._hover-last_1fg5q_225:before {
229
229
  border-start-end-radius: 0.375rem;
230
230
  border-end-end-radius: 0.375rem;
231
231
  }
232
- ._calendar_50kmd_2 ._cell_50kmd_67._has-metadata_50kmd_229 {
232
+ ._calendar_1fg5q_2 ._cell_1fg5q_67._has-metadata_1fg5q_229 {
233
233
  flex-direction: column;
234
234
  gap: 0.25rem;
235
235
  }
236
- ._calendar_50kmd_2 ._cell_50kmd_67 ._pip_50kmd_233 {
236
+ ._calendar_1fg5q_2 ._cell_1fg5q_67 ._pip_1fg5q_233 {
237
237
  position: absolute;
238
238
  bottom: 0.25rem;
239
239
  }
240
- ._calendar_50kmd_2 ._cell_50kmd_67 ._pip_50kmd_233:before {
240
+ ._calendar_1fg5q_2 ._cell_1fg5q_67 ._pip_1fg5q_233:before {
241
241
  content: "";
242
242
  aspect-ratio: 1/1;
243
243
  width: 0.25rem;
@@ -245,7 +245,7 @@
245
245
  background-color: currentColor;
246
246
  display: block;
247
247
  }
248
- ._calendar_50kmd_2 ._range-fill_50kmd_245 {
248
+ ._calendar_1fg5q_2 ._range-fill_1fg5q_245 {
249
249
  position: absolute;
250
250
  content: "";
251
251
  width: calc(100% + 0.125rem);
@@ -255,23 +255,23 @@
255
255
  background-color: var(--background-color-primary-subdued, #E0F2FF);
256
256
  z-index: 0;
257
257
  }
258
- ._calendar_50kmd_2 ._range-fill_50kmd_245._range-disabled_50kmd_255 {
258
+ ._calendar_1fg5q_2 ._range-fill_1fg5q_245._range-disabled_1fg5q_255 {
259
259
  opacity: 0.2;
260
260
  }
261
- ._calendar_50kmd_2 ._range-fill_50kmd_245._hover-last_50kmd_225 {
261
+ ._calendar_1fg5q_2 ._range-fill_1fg5q_245._hover-last_1fg5q_225 {
262
262
  width: calc(100% - 0.1875rem);
263
263
  border-start-end-radius: 0.375rem;
264
264
  border-end-end-radius: 0.375rem;
265
265
  }
266
- [dir=rtl] ._calendar_50kmd_2 ._header_50kmd_15 ._controller_50kmd_46 ._controller-button_50kmd_263 {
266
+ [dir=rtl] ._calendar_1fg5q_2 ._header_1fg5q_15 ._controller_1fg5q_46 ._controller-button_1fg5q_263 {
267
267
  rotate: 180deg;
268
268
  }
269
269
  }
270
270
  @layer application {
271
- ._calendar_50kmd_2 ._header_50kmd_15 ._controller_50kmd_46 ._controller-button_50kmd_263 {
271
+ ._calendar_1fg5q_2 ._header_1fg5q_15 ._controller_1fg5q_46 ._controller-button_1fg5q_263 {
272
272
  color: inherit;
273
273
  }
274
- ._calendar_50kmd_2 ._year-selector_50kmd_271 {
274
+ ._calendar_1fg5q_2 ._year-selector_1fg5q_271 {
275
275
  margin-inline: -0.5rem;
276
276
  }
277
277
  }@layer starter, reset, base, state, application;
package/dist/Calendar.js CHANGED
@@ -1,3 +1,3 @@
1
- export { C as Calendar, C as default } from './Calendar-C1U2npPP.js';
2
- export { u as useCalendarBetaProps } from './Calendar-SGlTt-bs.js';
1
+ export { C as Calendar, C as default } from './Calendar-BTStJPV1.js';
2
+ export { u as useCalendarBetaProps } from './Calendar-Frpv5rRY.js';
3
3
  //# sourceMappingURL=Calendar.js.map
@@ -0,0 +1,52 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { C as Checkbox$1, a as CheckboxGroup } from './Checkbox-Drgai_lS.js';
4
+ import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
5
+ import { useTrackingId } from './useTrackingId.js';
6
+
7
+ const Checkbox = Object.assign(
8
+ forwardRef(
9
+ function CheckboxInner(props, ref) {
10
+ const data = {
11
+ label: childrenToString(props.label),
12
+ ariaLabel: props["aria-label"],
13
+ ariaLabelledBy: props["aria-labelledby"],
14
+ value: props.value
15
+ };
16
+ const trackingId = useTrackingId({
17
+ name: "Checkbox",
18
+ data,
19
+ hasOverride: !!props["data-tracking-id"]
20
+ });
21
+ return /* @__PURE__ */ jsx(Checkbox$1, { ref, "data-tracking-id": trackingId, ...props });
22
+ }
23
+ ),
24
+ {
25
+ /**
26
+ * CheckboxGroup component for grouping related checkboxes together.
27
+ *
28
+ * Features:
29
+ * - Groups multiple checkboxes with a common legend
30
+ * - Supports required field indication
31
+ * - Optional helper text and descriptions
32
+ * - Full accessibility support with fieldset/legend
33
+ * - Focus management for keyboard navigation
34
+ * - Layout utility props for positioning and spacing
35
+ * - Flexible layout direction (row/column)
36
+ * - Screen reader support with hidden labels
37
+ * - Automatic tracking ID generation for analytics
38
+ *
39
+ * @example
40
+ * <CheckboxGroup legend="Select your interests" required>
41
+ * <Checkbox label="Technology" />
42
+ * <Checkbox label="Sports" />
43
+ * <Checkbox label="Music" />
44
+ * </CheckboxGroup>
45
+ */
46
+ Group: CheckboxGroup
47
+ }
48
+ );
49
+ Checkbox.displayName = Checkbox$1.displayName;
50
+
51
+ export { Checkbox as C };
52
+ //# sourceMappingURL=Checkbox-CTZdZym4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox-CTZdZym4.js","sources":["../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n CheckboxProps as CoreCheckboxProps,\n Checkbox as CoreCheckbox,\n} from \"./internal/Checkbox\";\nimport { CheckboxGroup } from \"./CheckboxGroup\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\n\n/**\n * Props for the Checkbox component\n * @property {boolean} [checked] - Controlled state\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {boolean} [indeterminate] - Indeterminate state of the checkbox\n * @property {boolean} [error] - Error state for the checkbox\n * @property {string | ReactElement} [label] - Label for checkbox\n * @property {string} [description] - Helper text description\n * @property {Object} [icons] - Icon overrides for different states\n * @property {(e?: ChangeEvent<HTMLInputElement>, state?: CheckboxState) => void} [onChange] - Change callback\n * @property {(e?: MouseEvent<HTMLInputElement>, state?: CheckboxState) => void} [onClick] - Click callback\n * @extends Omit<CoreCheckboxProps, \"hideCheckbox\">\n * @extends DataTrackingId\n */\nexport type CheckboxProps = Omit<CoreCheckboxProps, \"hideCheckbox\"> &\n DataTrackingId;\n\n/**\n * Checkbox component for selecting one or more options from a list.\n *\n * Features:\n * - Controlled and uncontrolled state management\n * - Indeterminate state for partial selections\n * - Customizable icons for different states\n * - Error state with accessibility support\n * - Optional helper text and descriptions\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation support\n * - Layout utility props for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Checkbox\n * label=\"Accept terms and conditions\"\n * onChange={(e, state) => console.log('Checked:', state.checked)}\n * required\n * />\n */\nexport const Checkbox = Object.assign(\n forwardRef<HTMLInputElement, CheckboxProps>(\n function CheckboxInner(props, ref) {\n const data = {\n label: childrenToString(props.label),\n ariaLabel: props[\"aria-label\"],\n ariaLabelledBy: props[\"aria-labelledby\"],\n value: props.value,\n };\n\n const trackingId = useTrackingId({\n name: \"Checkbox\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreCheckbox ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n ),\n {\n /**\n * CheckboxGroup component for grouping related checkboxes together.\n *\n * Features:\n * - Groups multiple checkboxes with a common legend\n * - Supports required field indication\n * - Optional helper text and descriptions\n * - Full accessibility support with fieldset/legend\n * - Focus management for keyboard navigation\n * - Layout utility props for positioning and spacing\n * - Flexible layout direction (row/column)\n * - Screen reader support with hidden labels\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <CheckboxGroup legend=\"Select your interests\" required>\n * <Checkbox label=\"Technology\" />\n * <Checkbox label=\"Sports\" />\n * <Checkbox label=\"Music\" />\n * </CheckboxGroup>\n */\n Group: CheckboxGroup,\n },\n);\nCheckbox.displayName = CoreCheckbox.displayName;\n"],"names":["CoreCheckbox"],"mappings":";;;;;;AAgDO,MAAM,WAAW,MAAA,CAAO,MAAA;AAAA,EAC7B,UAAA;AAAA,IACE,SAAS,aAAA,CAAc,KAAA,EAAO,GAAA,EAAK;AACjC,MAAA,MAAM,IAAA,GAAO;AAAA,QACX,KAAA,EAAO,gBAAA,CAAiB,KAAA,CAAM,KAAK,CAAA;AAAA,QACnC,SAAA,EAAW,MAAM,YAAY,CAAA;AAAA,QAC7B,cAAA,EAAgB,MAAM,iBAAiB,CAAA;AAAA,QACvC,OAAO,KAAA,CAAM;AAAA,OACf;AAEA,MAAA,MAAM,aAAa,aAAA,CAAc;AAAA,QAC/B,IAAA,EAAM,UAAA;AAAA,QACN,IAAA;AAAA,QACA,WAAA,EAAa,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,OACxC,CAAA;AACD,MAAA,2BACGA,UAAA,EAAA,EAAa,GAAA,EAAU,kBAAA,EAAkB,UAAA,EAAa,GAAG,KAAA,EAAO,CAAA;AAAA,IAErE;AAAA,GACF;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBE,KAAA,EAAO;AAAA;AAEX;AACA,QAAA,CAAS,cAAcA,UAAA,CAAa,WAAA;;;;"}
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { createContext, useContext, forwardRef, useId, useMemo } from 'react';
3
3
  import { c as checkboxStyles } from './Checkbox.module-EkRZO48Y.js';
4
4
  import { c as cx } from './index-De1g9FRV.js';
5
- import { F as FieldLabel, a as FieldLabelMoreInfoIcon } from './FieldLabel-DbMosKtd.js';
5
+ import { F as FieldLabel, a as FieldLabelMoreInfoIcon } from './FieldLabel-CQ5QGTVq.js';
6
6
  import { F as FieldMessage } from './FieldMessage-COHqUdj5.js';
7
7
  import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
8
8
  import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DMDdfIah.js';
@@ -242,5 +242,5 @@ const CheckboxElement = forwardRef(
242
242
  CheckboxElement.displayName = "Checkbox";
243
243
  const Checkbox = CheckboxElement;
244
244
 
245
- export { CheckboxGroup as C, Checkbox as a };
246
- //# sourceMappingURL=Checkbox-CtKUNeyu.js.map
245
+ export { Checkbox as C, CheckboxGroup as a };
246
+ //# sourceMappingURL=Checkbox-Drgai_lS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox-CtKUNeyu.js","sources":["../src/components/Checkbox/internal/CheckboxGroupContext.tsx","../src/components/Checkbox/CheckboxGroup.tsx","../src/components/Checkbox/internal/Checkbox.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\n/**\n * Context value for CheckboxGroup\n * @property {boolean} hasError - Whether the group has an error state\n */\nexport type CheckboxGroupContextValue = {\n /**\n * Whether the checkbox group has an error state\n */\n hasError: boolean;\n};\n\n/**\n * Context for sharing state between CheckboxGroup and child Checkbox components\n */\nexport const CheckboxGroupContext = createContext<\n CheckboxGroupContextValue | undefined\n>(undefined);\n\n/**\n * Hook to access CheckboxGroup context from child Checkbox components\n * @returns CheckboxGroupContextValue if inside a CheckboxGroup, undefined otherwise\n */\nexport const useCheckboxGroupContext = () => {\n return useContext(CheckboxGroupContext);\n};\n","import {\n forwardRef,\n ComponentPropsWithoutRef,\n ReactElement,\n useId,\n useMemo,\n} from \"react\";\nimport styles from \"./Checkbox.module.scss\";\nimport cx from \"classnames\";\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { FieldLabel } from \"../FieldLabel\";\nimport { FieldLabelMoreInfoIcon } from \"../FieldLabel/internal/FieldLabelMoreInfoIcon\";\nimport { FieldLabelProps } from \"../../internal/types\";\nimport { HelperProps } from \"../../internal/components\";\nimport FieldMessage, { warnDeprecatedErrorUsage } from \"../FieldMessage\";\nimport { CheckboxGroupContext } from \"./internal/CheckboxGroupContext\";\n\n/**\n * Props for the CheckboxGroup component\n * @extends ComponentPropsWithoutRef<\"fieldset\">\n * @extends LayoutUtilProps\n * @extends Omit<FieldLabelProps, \"labelProps\">\n */\nexport type CheckboxGroupProps = ComponentPropsWithoutRef<\"fieldset\"> &\n LayoutUtilProps &\n Omit<FieldLabelProps, \"labelProps\"> & {\n /**\n * required flag for label\n * @accessibility This does not enforce error when nothing is selected.\n * @default false\n */\n required?: boolean;\n\n /**\n * legend for the fieldset\n */\n legend: string | ReactElement;\n /**\n * Error state for the field. Pass `true` to indicate error styling without a message.\n * Pass a string, string[], or ReactElement (deprecated) for error messages.\n */\n error?: boolean | string | ReactElement | string[];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n /**\n * Warning message(s) to display. Supports a single string or an array of strings.\n */\n warning?: string | string[];\n /**\n * Description text to display below the field.\n */\n description?: HelperProps[\"description\"];\n /**\n * Hint text to display below the field.\n */\n hint?: HelperProps[\"hint\"];\n };\n\n/**\n * CheckboxGroup component for grouping related checkboxes together.\n *\n * Features:\n * - Groups multiple checkboxes with a common legend\n * - Supports required field indication\n * - Optional helper text and descriptions\n * - Full accessibility support with fieldset/legend\n * - Focus management for keyboard navigation\n * - Layout utility props for positioning and spacing\n * - Flexible layout direction (row/column)\n * - Screen reader support with hidden labels\n *\n * @example\n * <CheckboxGroup legend=\"Select your interests\" required>\n * <Checkbox label=\"Technology\" />\n * <Checkbox label=\"Sports\" />\n * <Checkbox label=\"Music\" />\n * </CheckboxGroup>\n */\nexport const CheckboxGroup = forwardRef<\n HTMLFieldSetElement,\n CheckboxGroupProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n children,\n description,\n error,\n errorAriaLive: _errorAriaLive,\n hint,\n warning,\n legend,\n moreInfo,\n onBlur,\n onFocus,\n required,\n style,\n ...rest\n } = componentProps;\n\n const checkboxGroupClassNames = cx(styles[\"checkbox-group\"], className);\n const helperUid = useId();\n const moreInfoUid = useId();\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n alignItems:\n layoutStyles?.alignItems ??\n (layoutStyles?.flexDirection === \"row\" ? \"flex-start\" : undefined),\n };\n\n const labelClassNames = cx(styles[\"label\"], {\n [styles[\"direction-row\"]]: layoutStyles?.flexDirection === \"row\",\n });\n\n warnDeprecatedErrorUsage(\"CheckboxGroup\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const hasHelperText = hint || errorMessages || warning || description;\n\n const ariaDescribedBy =\n [hasHelperText && helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const contextValue = useMemo(\n () => ({\n hasError: !!error,\n }),\n [error],\n );\n\n return (\n <fieldset\n role=\"group\"\n data-anv=\"checkbox-group\"\n className={checkboxGroupClassNames}\n ref={ref}\n style={styleCombined}\n onFocus={onFocus}\n onBlur={onBlur}\n {...rest}\n aria-describedby={ariaDescribedBy}\n >\n <legend className={styles[\"legend\"]}>\n {legend}\n {required && \", required\"}\n </legend>\n <div className={styles[\"label-row\"]}>\n <FieldLabel aria-hidden required={required} className={labelClassNames}>\n {legend}\n </FieldLabel>\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoUid}\n />\n )}\n </div>\n <CheckboxGroupContext.Provider value={contextValue}>\n <div\n className={styles[\"children\"]}\n style={{\n flexDirection: layoutStyles?.flexDirection,\n gap: layoutStyles?.gap,\n }}\n >\n {children}\n </div>\n </CheckboxGroupContext.Provider>\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n error={errorMessages}\n warning={warning}\n description={description}\n />\n ) : null}\n </fieldset>\n );\n});\n\nCheckboxGroup.displayName = \"CheckboxGroup\";\n","import {\n forwardRef,\n ChangeEvent,\n ComponentPropsWithoutRef,\n ReactElement,\n MouseEvent,\n useId,\n} from \"react\";\nimport cx from \"classnames\";\nimport { Icon } from \"../../Icon\";\nimport CheckboxOutline from \"@servicetitan/hammer-icon/mdi/round/check_box_outline_blank.svg\";\nimport CheckboxChecked from \"@servicetitan/hammer-icon/mdi/round/check_box.svg\";\nimport CheckboxIndeterminate from \"@servicetitan/hammer-icon/mdi/round/indeterminate_check_box.svg\";\n\nimport styles from \"../Checkbox.module.scss\";\nimport { Svg, LayoutUtilProps } from \"../../../types\";\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport { Helper, HelperProps } from \"../../../internal/components\";\nimport { CheckboxState } from \"../types\";\nimport { useCheckboxGroupContext } from \"./CheckboxGroupContext\";\n\nexport type { CheckboxState };\n\n/**\n * Props for the Checkbox component\n * @extends LayoutUtilProps\n * @extends Omit<ComponentPropsWithoutRef<\"input\">, \"onChange\" | \"onClick\" | \"indeterminate\">\n */\nexport type CheckboxProps = LayoutUtilProps &\n Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"onChange\" | \"onClick\" | \"indeterminate\"\n > & {\n /**\n * Controlled state\n * @default false\n */\n checked?: boolean;\n\n /**\n * Uncontrolled state\n * @default false\n */\n defaultChecked?: boolean;\n\n /**\n * Indeterminate state of the checkbox\n * @accessibility Applies aria-checked=\"mixed\"\n * @default false\n */\n indeterminate?: boolean;\n\n /**\n * Callback when checkbox is changed\n */\n onChange?: (\n e: ChangeEvent<HTMLInputElement>,\n state?: CheckboxState,\n ) => void;\n\n /**\n * Callback when checkbox is clicked\n */\n onClick?: (e?: MouseEvent<HTMLInputElement>, state?: CheckboxState) => void;\n\n /**\n * label for checkbox\n * @accessibility This should either be a string or have text content inside for accessibility\n */\n label?: string | ReactElement;\n\n /**\n * Error state for the checkbox\n * @accessibility Applies aria-invalid=\"true\"\n * @default false\n */\n error?: boolean;\n\n /**\n * Icon overrides\n */\n icons?: {\n checked?: Svg;\n indeterminate?: Svg;\n unchecked?: Svg;\n };\n\n description?: HelperProps[\"description\"];\n\n /**\n * When `true`, hides the checkbox for visual users.\n * @default false\n */\n hideCheckbox?: boolean;\n\n /**\n * Additional className applied to the label wrapper span\n */\n labelWrapperClassName?: string;\n };\n\nconst CheckboxElement = forwardRef<HTMLInputElement, CheckboxProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n indeterminate,\n onChange,\n onClick,\n value,\n className,\n disabled,\n error,\n icons,\n checked: checkedProp,\n defaultChecked,\n label,\n style,\n required,\n description,\n hideCheckbox = false,\n labelWrapperClassName,\n ...rest\n } = componentProps;\n\n const groupContext = useCheckboxGroupContext();\n const {\n checked: checkedIcon = CheckboxChecked,\n indeterminate: indeterminateIcon = CheckboxIndeterminate,\n unchecked: uncheckedIcon = CheckboxOutline,\n } = { ...icons };\n\n const isControlled = typeof checkedProp !== \"undefined\";\n\n const onChangeHandler = (e: ChangeEvent<HTMLInputElement>) => {\n onChange?.(e, { value, checked: checkedProp ?? e.target.checked });\n };\n\n const onClickHandler = (e: MouseEvent<HTMLInputElement>) => {\n onClick?.(e, {\n value,\n checked: checkedProp ?? (e.target as HTMLInputElement).checked,\n });\n };\n\n const helperUid = useId();\n\n // Combine local error state with group error state\n const hasError = error || groupContext?.hasError;\n\n const wrapperClassNames = cx(\n styles[\"wrapper\"],\n { [styles[\"focus\"]]: hideCheckbox },\n className,\n );\n\n const checkboxClassNames = cx(styles[\"checkbox\"], {\n [styles[\"error\"]]: hasError,\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n className={wrapperClassNames}\n style={styleCombined}\n data-anv=\"checkbox\"\n >\n <label className={checkboxClassNames}>\n <input\n type=\"checkbox\"\n disabled={disabled}\n value={value}\n onChange={onChangeHandler}\n onClick={onClickHandler}\n aria-checked={\n indeterminate ? \"mixed\" : (checkedProp ?? defaultChecked)\n }\n checked={isControlled ? checkedProp : undefined}\n defaultChecked={defaultChecked}\n aria-invalid={hasError}\n aria-describedby={description ? helperUid : undefined}\n ref={ref}\n {...rest}\n />\n\n <span\n className={cx(styles[\"icon-wrapper\"], {\n [styles[\"sr-only\"]]: hideCheckbox,\n })}\n aria-hidden\n >\n <Icon\n size=\"large\"\n svg={indeterminateIcon}\n className={styles[\"icon-indeterminate\"]}\n />\n\n <Icon\n size=\"large\"\n svg={checkedIcon}\n className={styles[\"icon-checked\"]}\n />\n\n <Icon\n size=\"large\"\n svg={uncheckedIcon}\n className={styles[\"icon-unchecked\"]}\n />\n </span>\n\n <span\n className={cx(labelWrapperClassName, {\n [styles[\"focus-label\"]]: hideCheckbox,\n })}\n >\n {label}\n\n {required && (\n <span aria-hidden className={styles[\"required-asterisk\"]}>\n *\n </span>\n )}\n </span>\n </label>\n\n {description ? (\n <div className={styles[\"helper-wrapper\"]}>\n <Helper id={helperUid} description={description} />\n </div>\n ) : null}\n </div>\n );\n },\n);\n\nCheckboxElement.displayName = \"Checkbox\";\n\n/**\n * Checkbox component for selecting one or more options from a list.\n *\n * Features:\n * - Controlled and uncontrolled state management\n * - Indeterminate state for partial selections\n * - Customizable icons for different states\n * - Error state with accessibility support\n * - Optional helper text and descriptions\n * - Hide checkbox option for visual-only interactions\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation support\n * - Layout utility props for positioning and spacing\n *\n * @example\n * <Checkbox\n * label=\"Accept terms and conditions\"\n * onChange={(e, state) => console.log('Checked:', state.checked)}\n * required\n * />\n */\nexport const Checkbox = CheckboxElement;\n"],"names":["styles","CheckboxChecked","CheckboxIndeterminate","CheckboxOutline"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox-Drgai_lS.js","sources":["../src/components/Checkbox/internal/CheckboxGroupContext.tsx","../src/components/Checkbox/CheckboxGroup.tsx","../src/components/Checkbox/internal/Checkbox.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\n/**\n * Context value for CheckboxGroup\n * @property {boolean} hasError - Whether the group has an error state\n */\nexport type CheckboxGroupContextValue = {\n /**\n * Whether the checkbox group has an error state\n */\n hasError: boolean;\n};\n\n/**\n * Context for sharing state between CheckboxGroup and child Checkbox components\n */\nexport const CheckboxGroupContext = createContext<\n CheckboxGroupContextValue | undefined\n>(undefined);\n\n/**\n * Hook to access CheckboxGroup context from child Checkbox components\n * @returns CheckboxGroupContextValue if inside a CheckboxGroup, undefined otherwise\n */\nexport const useCheckboxGroupContext = () => {\n return useContext(CheckboxGroupContext);\n};\n","import {\n forwardRef,\n ComponentPropsWithoutRef,\n ReactElement,\n useId,\n useMemo,\n} from \"react\";\nimport styles from \"./Checkbox.module.scss\";\nimport cx from \"classnames\";\nimport { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { FieldLabel } from \"../FieldLabel\";\nimport { FieldLabelMoreInfoIcon } from \"../FieldLabel/internal/FieldLabelMoreInfoIcon\";\nimport { FieldLabelProps } from \"../../internal/types\";\nimport { HelperProps } from \"../../internal/components\";\nimport FieldMessage, { warnDeprecatedErrorUsage } from \"../FieldMessage\";\nimport { CheckboxGroupContext } from \"./internal/CheckboxGroupContext\";\n\n/**\n * Props for the CheckboxGroup component\n * @extends ComponentPropsWithoutRef<\"fieldset\">\n * @extends LayoutUtilProps\n * @extends Omit<FieldLabelProps, \"labelProps\">\n */\nexport type CheckboxGroupProps = ComponentPropsWithoutRef<\"fieldset\"> &\n LayoutUtilProps &\n Omit<FieldLabelProps, \"labelProps\"> & {\n /**\n * required flag for label\n * @accessibility This does not enforce error when nothing is selected.\n * @default false\n */\n required?: boolean;\n\n /**\n * legend for the fieldset\n */\n legend: string | ReactElement;\n /**\n * Error state for the field. Pass `true` to indicate error styling without a message.\n * Pass a string, string[], or ReactElement (deprecated) for error messages.\n */\n error?: boolean | string | ReactElement | string[];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n /**\n * Warning message(s) to display. Supports a single string or an array of strings.\n */\n warning?: string | string[];\n /**\n * Description text to display below the field.\n */\n description?: HelperProps[\"description\"];\n /**\n * Hint text to display below the field.\n */\n hint?: HelperProps[\"hint\"];\n };\n\n/**\n * CheckboxGroup component for grouping related checkboxes together.\n *\n * Features:\n * - Groups multiple checkboxes with a common legend\n * - Supports required field indication\n * - Optional helper text and descriptions\n * - Full accessibility support with fieldset/legend\n * - Focus management for keyboard navigation\n * - Layout utility props for positioning and spacing\n * - Flexible layout direction (row/column)\n * - Screen reader support with hidden labels\n *\n * @example\n * <CheckboxGroup legend=\"Select your interests\" required>\n * <Checkbox label=\"Technology\" />\n * <Checkbox label=\"Sports\" />\n * <Checkbox label=\"Music\" />\n * </CheckboxGroup>\n */\nexport const CheckboxGroup = forwardRef<\n HTMLFieldSetElement,\n CheckboxGroupProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n className,\n children,\n description,\n error,\n errorAriaLive: _errorAriaLive,\n hint,\n warning,\n legend,\n moreInfo,\n onBlur,\n onFocus,\n required,\n style,\n ...rest\n } = componentProps;\n\n const checkboxGroupClassNames = cx(styles[\"checkbox-group\"], className);\n const helperUid = useId();\n const moreInfoUid = useId();\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n alignItems:\n layoutStyles?.alignItems ??\n (layoutStyles?.flexDirection === \"row\" ? \"flex-start\" : undefined),\n };\n\n const labelClassNames = cx(styles[\"label\"], {\n [styles[\"direction-row\"]]: layoutStyles?.flexDirection === \"row\",\n });\n\n warnDeprecatedErrorUsage(\"CheckboxGroup\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const hasHelperText = hint || errorMessages || warning || description;\n\n const ariaDescribedBy =\n [hasHelperText && helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const contextValue = useMemo(\n () => ({\n hasError: !!error,\n }),\n [error],\n );\n\n return (\n <fieldset\n role=\"group\"\n data-anv=\"checkbox-group\"\n className={checkboxGroupClassNames}\n ref={ref}\n style={styleCombined}\n onFocus={onFocus}\n onBlur={onBlur}\n {...rest}\n aria-describedby={ariaDescribedBy}\n >\n <legend className={styles[\"legend\"]}>\n {legend}\n {required && \", required\"}\n </legend>\n <div className={styles[\"label-row\"]}>\n <FieldLabel aria-hidden required={required} className={labelClassNames}>\n {legend}\n </FieldLabel>\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoUid}\n />\n )}\n </div>\n <CheckboxGroupContext.Provider value={contextValue}>\n <div\n className={styles[\"children\"]}\n style={{\n flexDirection: layoutStyles?.flexDirection,\n gap: layoutStyles?.gap,\n }}\n >\n {children}\n </div>\n </CheckboxGroupContext.Provider>\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n error={errorMessages}\n warning={warning}\n description={description}\n />\n ) : null}\n </fieldset>\n );\n});\n\nCheckboxGroup.displayName = \"CheckboxGroup\";\n","import {\n forwardRef,\n ChangeEvent,\n ComponentPropsWithoutRef,\n ReactElement,\n MouseEvent,\n useId,\n} from \"react\";\nimport cx from \"classnames\";\nimport { Icon } from \"../../Icon\";\nimport CheckboxOutline from \"@servicetitan/hammer-icon/mdi/round/check_box_outline_blank.svg\";\nimport CheckboxChecked from \"@servicetitan/hammer-icon/mdi/round/check_box.svg\";\nimport CheckboxIndeterminate from \"@servicetitan/hammer-icon/mdi/round/indeterminate_check_box.svg\";\n\nimport styles from \"../Checkbox.module.scss\";\nimport { Svg, LayoutUtilProps } from \"../../../types\";\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport { Helper, HelperProps } from \"../../../internal/components\";\nimport { CheckboxState } from \"../types\";\nimport { useCheckboxGroupContext } from \"./CheckboxGroupContext\";\n\nexport type { CheckboxState };\n\n/**\n * Props for the Checkbox component\n * @extends LayoutUtilProps\n * @extends Omit<ComponentPropsWithoutRef<\"input\">, \"onChange\" | \"onClick\" | \"indeterminate\">\n */\nexport type CheckboxProps = LayoutUtilProps &\n Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"onChange\" | \"onClick\" | \"indeterminate\"\n > & {\n /**\n * Controlled state\n * @default false\n */\n checked?: boolean;\n\n /**\n * Uncontrolled state\n * @default false\n */\n defaultChecked?: boolean;\n\n /**\n * Indeterminate state of the checkbox\n * @accessibility Applies aria-checked=\"mixed\"\n * @default false\n */\n indeterminate?: boolean;\n\n /**\n * Callback when checkbox is changed\n */\n onChange?: (\n e: ChangeEvent<HTMLInputElement>,\n state?: CheckboxState,\n ) => void;\n\n /**\n * Callback when checkbox is clicked\n */\n onClick?: (e?: MouseEvent<HTMLInputElement>, state?: CheckboxState) => void;\n\n /**\n * label for checkbox\n * @accessibility This should either be a string or have text content inside for accessibility\n */\n label?: string | ReactElement;\n\n /**\n * Error state for the checkbox\n * @accessibility Applies aria-invalid=\"true\"\n * @default false\n */\n error?: boolean;\n\n /**\n * Icon overrides\n */\n icons?: {\n checked?: Svg;\n indeterminate?: Svg;\n unchecked?: Svg;\n };\n\n description?: HelperProps[\"description\"];\n\n /**\n * When `true`, hides the checkbox for visual users.\n * @default false\n */\n hideCheckbox?: boolean;\n\n /**\n * Additional className applied to the label wrapper span\n */\n labelWrapperClassName?: string;\n };\n\nconst CheckboxElement = forwardRef<HTMLInputElement, CheckboxProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n indeterminate,\n onChange,\n onClick,\n value,\n className,\n disabled,\n error,\n icons,\n checked: checkedProp,\n defaultChecked,\n label,\n style,\n required,\n description,\n hideCheckbox = false,\n labelWrapperClassName,\n ...rest\n } = componentProps;\n\n const groupContext = useCheckboxGroupContext();\n const {\n checked: checkedIcon = CheckboxChecked,\n indeterminate: indeterminateIcon = CheckboxIndeterminate,\n unchecked: uncheckedIcon = CheckboxOutline,\n } = { ...icons };\n\n const isControlled = typeof checkedProp !== \"undefined\";\n\n const onChangeHandler = (e: ChangeEvent<HTMLInputElement>) => {\n onChange?.(e, { value, checked: checkedProp ?? e.target.checked });\n };\n\n const onClickHandler = (e: MouseEvent<HTMLInputElement>) => {\n onClick?.(e, {\n value,\n checked: checkedProp ?? (e.target as HTMLInputElement).checked,\n });\n };\n\n const helperUid = useId();\n\n // Combine local error state with group error state\n const hasError = error || groupContext?.hasError;\n\n const wrapperClassNames = cx(\n styles[\"wrapper\"],\n { [styles[\"focus\"]]: hideCheckbox },\n className,\n );\n\n const checkboxClassNames = cx(styles[\"checkbox\"], {\n [styles[\"error\"]]: hasError,\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n className={wrapperClassNames}\n style={styleCombined}\n data-anv=\"checkbox\"\n >\n <label className={checkboxClassNames}>\n <input\n type=\"checkbox\"\n disabled={disabled}\n value={value}\n onChange={onChangeHandler}\n onClick={onClickHandler}\n aria-checked={\n indeterminate ? \"mixed\" : (checkedProp ?? defaultChecked)\n }\n checked={isControlled ? checkedProp : undefined}\n defaultChecked={defaultChecked}\n aria-invalid={hasError}\n aria-describedby={description ? helperUid : undefined}\n ref={ref}\n {...rest}\n />\n\n <span\n className={cx(styles[\"icon-wrapper\"], {\n [styles[\"sr-only\"]]: hideCheckbox,\n })}\n aria-hidden\n >\n <Icon\n size=\"large\"\n svg={indeterminateIcon}\n className={styles[\"icon-indeterminate\"]}\n />\n\n <Icon\n size=\"large\"\n svg={checkedIcon}\n className={styles[\"icon-checked\"]}\n />\n\n <Icon\n size=\"large\"\n svg={uncheckedIcon}\n className={styles[\"icon-unchecked\"]}\n />\n </span>\n\n <span\n className={cx(labelWrapperClassName, {\n [styles[\"focus-label\"]]: hideCheckbox,\n })}\n >\n {label}\n\n {required && (\n <span aria-hidden className={styles[\"required-asterisk\"]}>\n *\n </span>\n )}\n </span>\n </label>\n\n {description ? (\n <div className={styles[\"helper-wrapper\"]}>\n <Helper id={helperUid} description={description} />\n </div>\n ) : null}\n </div>\n );\n },\n);\n\nCheckboxElement.displayName = \"Checkbox\";\n\n/**\n * Checkbox component for selecting one or more options from a list.\n *\n * Features:\n * - Controlled and uncontrolled state management\n * - Indeterminate state for partial selections\n * - Customizable icons for different states\n * - Error state with accessibility support\n * - Optional helper text and descriptions\n * - Hide checkbox option for visual-only interactions\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation support\n * - Layout utility props for positioning and spacing\n *\n * @example\n * <Checkbox\n * label=\"Accept terms and conditions\"\n * onChange={(e, state) => console.log('Checked:', state.checked)}\n * required\n * />\n */\nexport const Checkbox = CheckboxElement;\n"],"names":["styles","CheckboxChecked","CheckboxIndeterminate","CheckboxOutline"],"mappings":"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"}
package/dist/Checkbox.js CHANGED
@@ -1,2 +1,2 @@
1
- export { C as Checkbox, C as default } from './Checkbox-CjEKa5Iv.js';
1
+ export { C as Checkbox, C as default } from './Checkbox-CTZdZym4.js';
2
2
  //# sourceMappingURL=Checkbox.js.map
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { forwardRef, useRef, useState, useId, useLayoutEffect, useContext } from 'react';
3
3
  import { c as cx } from './index-De1g9FRV.js';
4
4
  import { u as useAccessibleColor, t as tinycolor } from './useAccessibleColor-BYKjkGRg.js';
5
- import { a as Avatar } from './Avatar-CCnbKkCm.js';
5
+ import { a as Avatar } from './Avatar-BckUfs1N.js';
6
6
  import { S as SvgClose } from './close-DZj38AEh.js';
7
7
  import { I as Icon } from './Icon-DuIlne4x.js';
8
8
  import { S as SrOnly } from './SrOnly-eUpYGpAT.js';
@@ -184,4 +184,4 @@ const Chip = forwardRef(
184
184
  Chip.displayName = Chip$1.displayName;
185
185
 
186
186
  export { Chip as C };
187
- //# sourceMappingURL=Chip-DjTAR0va.js.map
187
+ //# sourceMappingURL=Chip-CVyEctAz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip-DjTAR0va.js","sources":["../src/components/Chip/internal/Chip.tsx","../src/components/Chip/Chip.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n forwardRef,\n useContext,\n useRef,\n useLayoutEffect,\n useState,\n useId,\n type ReactNode,\n} from \"react\";\nimport cx from \"classnames\";\nimport tinycolor from \"tinycolor2\";\n\nimport { Avatar, AvatarProps } from \"../../Avatar/internal/Avatar\";\nimport { useAccessibleColor, usePrefersColorScheme } from \"../../../hooks\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\n\nimport styles from \"../Chip.module.scss\";\nimport { Icon } from \"../../Icon\";\nimport { SrOnly } from \"../../SrOnly/SrOnly\";\nimport { LayoutUtilProps, Size } from \"../../../types\";\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport { ThemeProviderContext } from \"../../../providers/ThemeProvider/internal/ThemeProviderContext\";\n\n/**\n * Props for the Chip component\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type ChipBaseProps = Omit<ComponentPropsWithoutRef<\"span\">, \"prefix\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> & {\n /**\n * The text that displays in the chip.\n */\n label: string;\n /**\n * Color of the Chip\n */\n color?: string;\n /**\n * Wraps text when it overflows\n */\n textWrap?: boolean;\n /**\n * Content displayed in the chip, before the text.\n */\n prefix?: ReactNode;\n\n /**\n * Image URL to display in an avatar before the chip text.\n */\n avatar?: AvatarProps[\"image\"];\n };\n\ntype ChipClickHandler = (\n e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>,\n) => void;\n\ntype ChipCloseHandler = (\n e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>,\n) => void;\n\ntype SmallChipHandlers =\n | {\n /**\n * Callback for when the Chip is clicked\n *\n * @remarks\n * Adding this will make Chip focusable\n */\n onClick?: ChipClickHandler;\n /**\n * Called when the component is closed. If supplied, a close button will be rendered.\n * @returns void\n */\n onClose?: never;\n }\n | {\n /**\n * Called when the component is closed. If supplied, a close button will be rendered.\n * @returns void\n */\n onClose?: ChipCloseHandler;\n /**\n * Callback for when the Chip is clicked\n *\n * @remarks\n * Adding this will make Chip focusable\n */\n onClick?: never;\n };\n\ntype SmallChipProps = ChipBaseProps & {\n /**\n * The size of the chip\n * @default medium\n */\n size: Extract<Size, \"small\">;\n} & SmallChipHandlers;\n\ntype MediumChipProps = ChipBaseProps & {\n /**\n * The size of the chip\n * @default medium\n */\n size?: Extract<Size, \"medium\">;\n /**\n * Callback for when the Chip is clicked\n *\n * @remarks\n * Adding this will make Chip focusable\n */\n onClick?: ChipClickHandler;\n /**\n * Called when the component is closed. If supplied, a close button will be rendered.\n * @returns void\n */\n onClose?: ChipCloseHandler;\n};\n\nexport type ChipProps = SmallChipProps | MediumChipProps;\n\n/**\n * Chip component for displaying compact information or tags.\n *\n * Features:\n * - Configurable sizes (small, medium)\n * - Custom color support with automatic contrast calculation\n * - Optional click handler for interactive chips\n * - Optional close button for removable chips\n * - Text wrapping support for long labels\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)\n * - Screen reader instructions for removal actions\n * - Theme-aware color adaptation\n * - Layout utility props for positioning and spacing\n *\n * @example\n * <Chip\n * label=\"JavaScript\"\n * color=\"#f7df1e\"\n * onClose={(e) => console.log('Chip removed')}\n * onClick={(e) => console.log('Chip clicked')}\n * />\n */\nexport const Chip = forwardRef<HTMLSpanElement, ChipProps>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n color,\n onClose,\n onClick,\n label,\n style,\n textWrap,\n prefix,\n avatar,\n size = \"medium\",\n tabIndex,\n ...rest\n } = componentProps;\n\n const innerRef = useRef<HTMLSpanElement>(null);\n const [isMultiline, setIsMultiline] = useState(false);\n const descriptionId = useId();\n\n useLayoutEffect(() => {\n const element = innerRef.current;\n\n const getSingleLineHeight = (element: HTMLSpanElement | null) => {\n if (avatar == null) return 0;\n if (!element) return 0;\n const computedStyle = getComputedStyle(element);\n const lineHeight = parseFloat(computedStyle.lineHeight);\n const paddingTop = parseFloat(computedStyle.paddingTop);\n const paddingBottom = parseFloat(computedStyle.paddingBottom);\n return lineHeight + paddingTop + paddingBottom;\n };\n\n const singleLineHeight = getSingleLineHeight(element);\n\n const observer = new ResizeObserver(() => {\n if (element && avatar != null) {\n // If actual height is significantly larger than single line, we have multiple lines\n // Using 1.5 threshold to account for rounding\n setIsMultiline(element.clientHeight > singleLineHeight * 1.5);\n }\n });\n\n if (element) {\n observer.observe(element);\n }\n\n return () => {\n if (element) {\n observer.unobserve(element);\n }\n };\n }, [avatar]);\n\n /*\n * @TODO: below to be updated with localization\n * removeTextIndex is for when removeText comes after the label depending on the language\n */\n const removeText = \", removeable chip\";\n const newLabel = `${label}${onClose ? removeText : \"\"}`;\n\n const ChipClassNames = cx(styles[\"chip\"], className, {\n [styles[\"size-small\"]]: size === \"small\",\n [styles[\"has-close\"]]: !!onClose,\n [styles[\"text-wrap\"]]: textWrap,\n });\n\n const AvatarClassNames = cx(styles[\"avatar\"], {\n [styles[\"multiline\"]]: textWrap && isMultiline,\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 bgObj = tinycolor(background);\n\n const styleWithColor = {\n \"--int-bg-color\": color && background,\n \"--int-font-color\": color && foreground,\n \"--int-border-color\": color && border,\n \"--int-close-background-color\": color\n ? bgObj.isDark()\n ? bgObj.lighten(15).toHexString()\n : bgObj.darken(15).toHexString()\n : \"#14141429\",\n ...style,\n ...layoutStyles,\n };\n\n const onKeyUpHandler = (e: KeyboardEvent<HTMLSpanElement>) => {\n switch (e.code) {\n case \"Delete\":\n case \"Backspace\":\n onClose?.(e);\n break;\n\n case \"Enter\":\n case \"Space\":\n onClick?.(e);\n break;\n\n default:\n break;\n }\n };\n\n return (\n <span\n className={ChipClassNames}\n style={styleWithColor}\n data-anv=\"chip\"\n role={onClick ? \"button\" : undefined}\n {...(onClick || onClose ? { [\"aria-label\"]: newLabel } : {})}\n {...(onClose ? { [\"aria-describedby\"]: descriptionId } : {})}\n {...rest}\n ref={ref}\n onClick={onClick}\n onKeyUp={onKeyUpHandler}\n tabIndex={onClick || onClose ? 0 : tabIndex}\n >\n {avatar != null ? (\n <span className={AvatarClassNames}>\n <Avatar\n className={styles.avatarInner}\n name={label}\n color={color}\n image={avatar}\n size={size === \"small\" ? \"xsmall\" : \"small\"}\n />\n </span>\n ) : null}\n\n {prefix != null ? <span className={styles.prefix}>{prefix}</span> : null}\n\n <span className={styles.inner} ref={innerRef}>\n {label}\n </span>\n\n {!!onClose && (\n <>\n <span\n aria-hidden\n className={styles[\"close\"]}\n onClick={(e) => {\n e.stopPropagation();\n onClose(e);\n }}\n >\n <Icon aria-hidden svg={Close} size={size} />\n </span>\n <SrOnly id={descriptionId}>\n Press Delete or Backspace to remove.\n </SrOnly>\n </>\n )}\n </span>\n );\n});\n\nChip.displayName = \"Chip\";\n","import { ChipProps as CoreChipProps, Chip as CoreChip } from \"./internal/Chip\";\nimport { Icon as CoreIcon, IconProps as CoreIconProps } from \"../Icon\";\nimport { AvatarProps as CoreAvatarProps } from \"../Avatar/internal/Avatar\";\n\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DataTrackingId, DistributiveOmit } from \"../../types\";\n\n/**\n * Props for the Chip component\n * @property {string} label - The text that displays in the chip\n * @property {\"small\" | \"medium\"} [size] - The size of the chip\n * @property {string} [color] - Color of the Chip\n * @property {(e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClick] - Callback for when the Chip is clicked\n * @property {(e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClose] - Called when the component is closed\n * @property {boolean} [textWrap] - Wraps text when it overflows\n * @property {Svg} [icon] - Icon displayed in the chip, before the text.\n * @property {string} [avatar] - Image URL to display in an avatar before the chip text.\n * @extends CoreChipProps\n * @extends DataTrackingId\n */\nexport type ChipProps = DistributiveOmit<CoreChipProps, \"prefix\" | \"avatar\"> &\n DataTrackingId &\n (\n | { icon?: CoreIconProps[\"svg\"]; avatar?: never }\n | { icon?: never; avatar?: CoreAvatarProps[\"image\"] }\n );\n\n/**\n * Chip component for displaying compact information or tags.\n *\n * Features:\n * - Configurable sizes (small, medium)\n * - Custom color support with automatic contrast calculation\n * - Optional click handler for interactive chips\n * - Optional close button for removable chips\n * - Text wrapping support for long labels\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)\n * - Screen reader instructions for removal actions\n * - Theme-aware color adaptation\n * - Layout utility props for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Chip\n * label=\"JavaScript\"\n * color=\"#f7df1e\"\n * onClose={(e) => console.log('Chip removed')}\n * onClick={(e) => console.log('Chip clicked')}\n * />\n */\nexport const Chip = forwardRef(\n ({ icon, ...props }: ChipProps, ref: Ref<HTMLSpanElement>) => {\n const data = {\n label: props.label,\n size: props.size,\n color: props.color,\n };\n\n const trackingId = useTrackingId({\n name: \"Chip\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const prefix =\n icon != null ? (\n <CoreIcon svg={icon} color=\"var(--int-font-color)\" size={props.size} />\n ) : null;\n\n return (\n <CoreChip\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n prefix={prefix}\n />\n );\n },\n);\nChip.displayName = CoreChip.displayName;\n"],"names":["Chip","element","Close","CoreIcon","CoreChip"],"mappings":"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"}
1
+ {"version":3,"file":"Chip-CVyEctAz.js","sources":["../src/components/Chip/internal/Chip.tsx","../src/components/Chip/Chip.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n forwardRef,\n useContext,\n useRef,\n useLayoutEffect,\n useState,\n useId,\n type ReactNode,\n} from \"react\";\nimport cx from \"classnames\";\nimport tinycolor from \"tinycolor2\";\n\nimport { Avatar, AvatarProps } from \"../../Avatar/internal/Avatar\";\nimport { useAccessibleColor, usePrefersColorScheme } from \"../../../hooks\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\n\nimport styles from \"../Chip.module.scss\";\nimport { Icon } from \"../../Icon\";\nimport { SrOnly } from \"../../SrOnly/SrOnly\";\nimport { LayoutUtilProps, Size } from \"../../../types\";\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport { ThemeProviderContext } from \"../../../providers/ThemeProvider/internal/ThemeProviderContext\";\n\n/**\n * Props for the Chip component\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type ChipBaseProps = Omit<ComponentPropsWithoutRef<\"span\">, \"prefix\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> & {\n /**\n * The text that displays in the chip.\n */\n label: string;\n /**\n * Color of the Chip\n */\n color?: string;\n /**\n * Wraps text when it overflows\n */\n textWrap?: boolean;\n /**\n * Content displayed in the chip, before the text.\n */\n prefix?: ReactNode;\n\n /**\n * Image URL to display in an avatar before the chip text.\n */\n avatar?: AvatarProps[\"image\"];\n };\n\ntype ChipClickHandler = (\n e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>,\n) => void;\n\ntype ChipCloseHandler = (\n e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>,\n) => void;\n\ntype SmallChipHandlers =\n | {\n /**\n * Callback for when the Chip is clicked\n *\n * @remarks\n * Adding this will make Chip focusable\n */\n onClick?: ChipClickHandler;\n /**\n * Called when the component is closed. If supplied, a close button will be rendered.\n * @returns void\n */\n onClose?: never;\n }\n | {\n /**\n * Called when the component is closed. If supplied, a close button will be rendered.\n * @returns void\n */\n onClose?: ChipCloseHandler;\n /**\n * Callback for when the Chip is clicked\n *\n * @remarks\n * Adding this will make Chip focusable\n */\n onClick?: never;\n };\n\ntype SmallChipProps = ChipBaseProps & {\n /**\n * The size of the chip\n * @default medium\n */\n size: Extract<Size, \"small\">;\n} & SmallChipHandlers;\n\ntype MediumChipProps = ChipBaseProps & {\n /**\n * The size of the chip\n * @default medium\n */\n size?: Extract<Size, \"medium\">;\n /**\n * Callback for when the Chip is clicked\n *\n * @remarks\n * Adding this will make Chip focusable\n */\n onClick?: ChipClickHandler;\n /**\n * Called when the component is closed. If supplied, a close button will be rendered.\n * @returns void\n */\n onClose?: ChipCloseHandler;\n};\n\nexport type ChipProps = SmallChipProps | MediumChipProps;\n\n/**\n * Chip component for displaying compact information or tags.\n *\n * Features:\n * - Configurable sizes (small, medium)\n * - Custom color support with automatic contrast calculation\n * - Optional click handler for interactive chips\n * - Optional close button for removable chips\n * - Text wrapping support for long labels\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)\n * - Screen reader instructions for removal actions\n * - Theme-aware color adaptation\n * - Layout utility props for positioning and spacing\n *\n * @example\n * <Chip\n * label=\"JavaScript\"\n * color=\"#f7df1e\"\n * onClose={(e) => console.log('Chip removed')}\n * onClick={(e) => console.log('Chip clicked')}\n * />\n */\nexport const Chip = forwardRef<HTMLSpanElement, ChipProps>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n color,\n onClose,\n onClick,\n label,\n style,\n textWrap,\n prefix,\n avatar,\n size = \"medium\",\n tabIndex,\n ...rest\n } = componentProps;\n\n const innerRef = useRef<HTMLSpanElement>(null);\n const [isMultiline, setIsMultiline] = useState(false);\n const descriptionId = useId();\n\n useLayoutEffect(() => {\n const element = innerRef.current;\n\n const getSingleLineHeight = (element: HTMLSpanElement | null) => {\n if (avatar == null) return 0;\n if (!element) return 0;\n const computedStyle = getComputedStyle(element);\n const lineHeight = parseFloat(computedStyle.lineHeight);\n const paddingTop = parseFloat(computedStyle.paddingTop);\n const paddingBottom = parseFloat(computedStyle.paddingBottom);\n return lineHeight + paddingTop + paddingBottom;\n };\n\n const singleLineHeight = getSingleLineHeight(element);\n\n const observer = new ResizeObserver(() => {\n if (element && avatar != null) {\n // If actual height is significantly larger than single line, we have multiple lines\n // Using 1.5 threshold to account for rounding\n setIsMultiline(element.clientHeight > singleLineHeight * 1.5);\n }\n });\n\n if (element) {\n observer.observe(element);\n }\n\n return () => {\n if (element) {\n observer.unobserve(element);\n }\n };\n }, [avatar]);\n\n /*\n * @TODO: below to be updated with localization\n * removeTextIndex is for when removeText comes after the label depending on the language\n */\n const removeText = \", removeable chip\";\n const newLabel = `${label}${onClose ? removeText : \"\"}`;\n\n const ChipClassNames = cx(styles[\"chip\"], className, {\n [styles[\"size-small\"]]: size === \"small\",\n [styles[\"has-close\"]]: !!onClose,\n [styles[\"text-wrap\"]]: textWrap,\n });\n\n const AvatarClassNames = cx(styles[\"avatar\"], {\n [styles[\"multiline\"]]: textWrap && isMultiline,\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 bgObj = tinycolor(background);\n\n const styleWithColor = {\n \"--int-bg-color\": color && background,\n \"--int-font-color\": color && foreground,\n \"--int-border-color\": color && border,\n \"--int-close-background-color\": color\n ? bgObj.isDark()\n ? bgObj.lighten(15).toHexString()\n : bgObj.darken(15).toHexString()\n : \"#14141429\",\n ...style,\n ...layoutStyles,\n };\n\n const onKeyUpHandler = (e: KeyboardEvent<HTMLSpanElement>) => {\n switch (e.code) {\n case \"Delete\":\n case \"Backspace\":\n onClose?.(e);\n break;\n\n case \"Enter\":\n case \"Space\":\n onClick?.(e);\n break;\n\n default:\n break;\n }\n };\n\n return (\n <span\n className={ChipClassNames}\n style={styleWithColor}\n data-anv=\"chip\"\n role={onClick ? \"button\" : undefined}\n {...(onClick || onClose ? { [\"aria-label\"]: newLabel } : {})}\n {...(onClose ? { [\"aria-describedby\"]: descriptionId } : {})}\n {...rest}\n ref={ref}\n onClick={onClick}\n onKeyUp={onKeyUpHandler}\n tabIndex={onClick || onClose ? 0 : tabIndex}\n >\n {avatar != null ? (\n <span className={AvatarClassNames}>\n <Avatar\n className={styles.avatarInner}\n name={label}\n color={color}\n image={avatar}\n size={size === \"small\" ? \"xsmall\" : \"small\"}\n />\n </span>\n ) : null}\n\n {prefix != null ? <span className={styles.prefix}>{prefix}</span> : null}\n\n <span className={styles.inner} ref={innerRef}>\n {label}\n </span>\n\n {!!onClose && (\n <>\n <span\n aria-hidden\n className={styles[\"close\"]}\n onClick={(e) => {\n e.stopPropagation();\n onClose(e);\n }}\n >\n <Icon aria-hidden svg={Close} size={size} />\n </span>\n <SrOnly id={descriptionId}>\n Press Delete or Backspace to remove.\n </SrOnly>\n </>\n )}\n </span>\n );\n});\n\nChip.displayName = \"Chip\";\n","import { ChipProps as CoreChipProps, Chip as CoreChip } from \"./internal/Chip\";\nimport { Icon as CoreIcon, IconProps as CoreIconProps } from \"../Icon\";\nimport { AvatarProps as CoreAvatarProps } from \"../Avatar/internal/Avatar\";\n\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DataTrackingId, DistributiveOmit } from \"../../types\";\n\n/**\n * Props for the Chip component\n * @property {string} label - The text that displays in the chip\n * @property {\"small\" | \"medium\"} [size] - The size of the chip\n * @property {string} [color] - Color of the Chip\n * @property {(e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClick] - Callback for when the Chip is clicked\n * @property {(e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClose] - Called when the component is closed\n * @property {boolean} [textWrap] - Wraps text when it overflows\n * @property {Svg} [icon] - Icon displayed in the chip, before the text.\n * @property {string} [avatar] - Image URL to display in an avatar before the chip text.\n * @extends CoreChipProps\n * @extends DataTrackingId\n */\nexport type ChipProps = DistributiveOmit<CoreChipProps, \"prefix\" | \"avatar\"> &\n DataTrackingId &\n (\n | { icon?: CoreIconProps[\"svg\"]; avatar?: never }\n | { icon?: never; avatar?: CoreAvatarProps[\"image\"] }\n );\n\n/**\n * Chip component for displaying compact information or tags.\n *\n * Features:\n * - Configurable sizes (small, medium)\n * - Custom color support with automatic contrast calculation\n * - Optional click handler for interactive chips\n * - Optional close button for removable chips\n * - Text wrapping support for long labels\n * - Full accessibility support with ARIA attributes\n * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)\n * - Screen reader instructions for removal actions\n * - Theme-aware color adaptation\n * - Layout utility props for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Chip\n * label=\"JavaScript\"\n * color=\"#f7df1e\"\n * onClose={(e) => console.log('Chip removed')}\n * onClick={(e) => console.log('Chip clicked')}\n * />\n */\nexport const Chip = forwardRef(\n ({ icon, ...props }: ChipProps, ref: Ref<HTMLSpanElement>) => {\n const data = {\n label: props.label,\n size: props.size,\n color: props.color,\n };\n\n const trackingId = useTrackingId({\n name: \"Chip\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const prefix =\n icon != null ? (\n <CoreIcon svg={icon} color=\"var(--int-font-color)\" size={props.size} />\n ) : null;\n\n return (\n <CoreChip\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n prefix={prefix}\n />\n );\n },\n);\nChip.displayName = CoreChip.displayName;\n"],"names":["Chip","element","Close","CoreIcon","CoreChip"],"mappings":"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"}
package/dist/Chip.js CHANGED
@@ -1,2 +1,2 @@
1
- export { C as Chip, C as default } from './Chip-DjTAR0va.js';
1
+ export { C as Chip, C as default } from './Chip-CVyEctAz.js';
2
2
  //# sourceMappingURL=Chip.js.map