@servicetitan/anvil2 2.2.0 → 2.4.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 (243) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/{Alert-DXoEusod.js → Alert-D9mBPs6z.js} +2 -2
  3. package/dist/{Alert-DXoEusod.js.map → Alert-D9mBPs6z.js.map} +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/{Announcement-SAypScAu.js → Announcement-B34cD6BC.js} +2 -2
  6. package/dist/{Announcement-SAypScAu.js.map → Announcement-B34cD6BC.js.map} +1 -1
  7. package/dist/Announcement.js +1 -1
  8. package/dist/{Button-l7pTJdPc.js → Button-DrNDkO2f.js} +2 -2
  9. package/dist/{Button-l7pTJdPc.js.map → Button-DrNDkO2f.js.map} +1 -1
  10. package/dist/Button.css +50 -50
  11. package/dist/Button.js +1 -1
  12. package/dist/Button.module-DwCq9XU0.js +26 -0
  13. package/dist/Button.module-DwCq9XU0.js.map +1 -0
  14. package/dist/{ButtonCompound-CX2kHgWe.js → ButtonCompound-D9VTKcL4.js} +2 -2
  15. package/dist/{ButtonCompound-CX2kHgWe.js.map → ButtonCompound-D9VTKcL4.js.map} +1 -1
  16. package/dist/ButtonCompound.js +1 -1
  17. package/dist/{ButtonLink-CRlyK750.js → ButtonLink-DDtrmbVM.js} +3 -2
  18. package/dist/ButtonLink-DDtrmbVM.js.map +1 -0
  19. package/dist/ButtonLink.js +1 -1
  20. package/dist/{ButtonToggle-BOVP_jEN.js → ButtonToggle-DrFewgOG.js} +3 -3
  21. package/dist/{ButtonToggle-BOVP_jEN.js.map → ButtonToggle-DrFewgOG.js.map} +1 -1
  22. package/dist/ButtonToggle.js +1 -1
  23. package/dist/{Calendar-oNlBgZKB.js → Calendar-CkgpKD7Q.js} +2 -2
  24. package/dist/{Calendar-oNlBgZKB.js.map → Calendar-CkgpKD7Q.js.map} +1 -1
  25. package/dist/{Calendar-D0CczOpQ.js → Calendar-CtkL4zYU.js} +3 -3
  26. package/dist/{Calendar-D0CczOpQ.js.map → Calendar-CtkL4zYU.js.map} +1 -1
  27. package/dist/Calendar.js +2 -2
  28. package/dist/{Checkbox-DuzAqrE7.js → Checkbox-CFgjreAl.js} +2 -2
  29. package/dist/{Checkbox-DuzAqrE7.js.map → Checkbox-CFgjreAl.js.map} +1 -1
  30. package/dist/{Checkbox-DIY-6agd.js → Checkbox-CxjZpzPp.js} +3 -3
  31. package/dist/{Checkbox-DIY-6agd.js.map → Checkbox-CxjZpzPp.js.map} +1 -1
  32. package/dist/Checkbox.js +1 -1
  33. package/dist/{Combobox-CSGn20KQ.js → Combobox-Drqb3GVU.js} +4 -4
  34. package/dist/{Combobox-CSGn20KQ.js.map → Combobox-Drqb3GVU.js.map} +1 -1
  35. package/dist/Combobox.js +1 -1
  36. package/dist/{DataTable-D30sE1Xt.js → DataTable-BLuJ4FtH.js} +311 -51
  37. package/dist/DataTable-BLuJ4FtH.js.map +1 -0
  38. package/dist/DataTable.css +9 -5
  39. package/dist/{DateFieldRange-DBOiqaML.js → DateFieldRange-CvlOeE4v.js} +4 -4
  40. package/dist/{DateFieldRange-DBOiqaML.js.map → DateFieldRange-CvlOeE4v.js.map} +1 -1
  41. package/dist/DateFieldRange.js +1 -1
  42. package/dist/{DateFieldSingle-C4hU55MP.js → DateFieldSingle-9UHxIxIA.js} +4 -4
  43. package/dist/{DateFieldSingle-C4hU55MP.js.map → DateFieldSingle-9UHxIxIA.js.map} +1 -1
  44. package/dist/DateFieldSingle.js +1 -1
  45. package/dist/{DateFieldYearless-BXkUiHIR.js → DateFieldYearless-HNydELvO.js} +4 -4
  46. package/dist/{DateFieldYearless-BXkUiHIR.js.map → DateFieldYearless-HNydELvO.js.map} +1 -1
  47. package/dist/DateFieldYearless.js +1 -1
  48. package/dist/{DateFieldYearlessRange-CGffFnVT.js → DateFieldYearlessRange-COb8v2CG.js} +4 -4
  49. package/dist/{DateFieldYearlessRange-CGffFnVT.js.map → DateFieldYearlessRange-COb8v2CG.js.map} +1 -1
  50. package/dist/DateFieldYearlessRange.js +1 -1
  51. package/dist/{DaysOfTheWeek-DJEDopC9.js → DaysOfTheWeek-D-WPj18i.js} +3 -3
  52. package/dist/{DaysOfTheWeek-DJEDopC9.js.map → DaysOfTheWeek-D-WPj18i.js.map} +1 -1
  53. package/dist/DaysOfTheWeek.js +1 -1
  54. package/dist/{Dialog-BbsZMnCA.js → Dialog-DEAR058v.js} +3 -3
  55. package/dist/{Dialog-BbsZMnCA.js.map → Dialog-DEAR058v.js.map} +1 -1
  56. package/dist/Dialog.js +1 -1
  57. package/dist/{DialogCancelButton-GuN5lgR-.js → DialogCancelButton-BfI9K4a4.js} +2 -2
  58. package/dist/{DialogCancelButton-GuN5lgR-.js.map → DialogCancelButton-BfI9K4a4.js.map} +1 -1
  59. package/dist/Dnd.js +1 -1
  60. package/dist/DndSort.js +2 -2
  61. package/dist/{Drawer-Dhq76ot3.js → Drawer-CnMskBQl.js} +3 -3
  62. package/dist/{Drawer-Dhq76ot3.js.map → Drawer-CnMskBQl.js.map} +1 -1
  63. package/dist/Drawer.js +1 -1
  64. package/dist/DrillDown.js +1 -1
  65. package/dist/{EditCard-DAiE-Hsc.js → EditCard-CH-JE4ba.js} +2 -2
  66. package/dist/{EditCard-DAiE-Hsc.js.map → EditCard-CH-JE4ba.js.map} +1 -1
  67. package/dist/EditCard.js +1 -1
  68. package/dist/{FieldDialog-CAuhkCZY.js → FieldDialog-C5mwMjrr.js} +120 -35
  69. package/dist/FieldDialog-C5mwMjrr.js.map +1 -0
  70. package/dist/FieldMessage-OeP_xSUE.js +132 -0
  71. package/dist/FieldMessage-OeP_xSUE.js.map +1 -0
  72. package/dist/FieldMessage.js +1 -1
  73. package/dist/{Helper-PNGm_U2X.js → Helper-B2UrgJvr.js} +2 -2
  74. package/dist/{Helper-PNGm_U2X.js.map → Helper-B2UrgJvr.js.map} +1 -1
  75. package/dist/{InputMask-Ds0W2fKy.js → InputMask-B7ZnJoR5.js} +2 -2
  76. package/dist/{InputMask-Ds0W2fKy.js.map → InputMask-B7ZnJoR5.js.map} +1 -1
  77. package/dist/InputMask.js +1 -1
  78. package/dist/{ListView-MMmJDM--.js → ListView-CN8zu-cq.js} +2 -2
  79. package/dist/{ListView-MMmJDM--.js.map → ListView-CN8zu-cq.js.map} +1 -1
  80. package/dist/ListView.js +1 -1
  81. package/dist/{Menu-3LIfRdTk.js → Menu-CpRnsr0v.js} +2 -2
  82. package/dist/{Menu-3LIfRdTk.js.map → Menu-CpRnsr0v.js.map} +1 -1
  83. package/dist/Menu.js +1 -1
  84. package/dist/MultiSelectField.js +1 -1
  85. package/dist/{MultiSelectFieldSync-Bey99LzJ.js → MultiSelectFieldSync-BnPzYM72.js} +876 -255
  86. package/dist/MultiSelectFieldSync-BnPzYM72.js.map +1 -0
  87. package/dist/{NumberField-CDkEUfXW.js → NumberField-ecubQsaf.js} +4 -4
  88. package/dist/{NumberField-CDkEUfXW.js.map → NumberField-ecubQsaf.js.map} +1 -1
  89. package/dist/NumberField.js +1 -1
  90. package/dist/{Page-BVxybI-j.js → Page-qOkG6psI.js} +7 -7
  91. package/dist/{Page-BVxybI-j.js.map → Page-qOkG6psI.js.map} +1 -1
  92. package/dist/Page.js +1 -1
  93. package/dist/{Pagination-DIatYUXX.js → Pagination-BuiyhZlJ.js} +14 -7
  94. package/dist/Pagination-BuiyhZlJ.js.map +1 -0
  95. package/dist/Pagination.js +1 -1
  96. package/dist/{Popover-4C5IVk8T.js → Popover-CYWYCj7l.js} +2 -2
  97. package/dist/{Popover-4C5IVk8T.js.map → Popover-CYWYCj7l.js.map} +1 -1
  98. package/dist/Popover.js +1 -1
  99. package/dist/{ProgressBar-BGwp-qnf.js → ProgressBar-CBhVZIzK.js} +2 -2
  100. package/dist/{ProgressBar-BGwp-qnf.js.map → ProgressBar-CBhVZIzK.js.map} +1 -1
  101. package/dist/ProgressBar.js +1 -1
  102. package/dist/{Radio-D7hNws2b.js → Radio-BMFwnzyz.js} +2 -2
  103. package/dist/{Radio-D7hNws2b.js.map → Radio-BMFwnzyz.js.map} +1 -1
  104. package/dist/{Radio-BRcpSu-d.js → Radio-DtYoRq3m.js} +3 -3
  105. package/dist/{Radio-BRcpSu-d.js.map → Radio-DtYoRq3m.js.map} +1 -1
  106. package/dist/Radio.js +1 -1
  107. package/dist/{SearchField-CoeaOip5.js → SearchField-CtdtcrVV.js} +12 -4
  108. package/dist/SearchField-CtdtcrVV.js.map +1 -0
  109. package/dist/SearchField.js +1 -1
  110. package/dist/{SelectCard-Bag44PmE.js → SelectCard-yWBNnm7t.js} +32 -8
  111. package/dist/SelectCard-yWBNnm7t.js.map +1 -0
  112. package/dist/SelectCard.js +1 -1
  113. package/dist/SelectField.js +1 -1
  114. package/dist/SelectFieldSync-DCrafdbx.js +1248 -0
  115. package/dist/SelectFieldSync-DCrafdbx.js.map +1 -0
  116. package/dist/{SelectTrigger-DgsvUfyl.js → SelectTrigger-Cs5CGc4D.js} +2 -2
  117. package/dist/{SelectTrigger-DgsvUfyl.js.map → SelectTrigger-Cs5CGc4D.js.map} +1 -1
  118. package/dist/SelectTrigger.js +1 -1
  119. package/dist/{SelectTriggerBase-OxfNqdIq.js → SelectTriggerBase-Cs827tDp.js} +3 -3
  120. package/dist/{SelectTriggerBase-OxfNqdIq.js.map → SelectTriggerBase-Cs827tDp.js.map} +1 -1
  121. package/dist/{Stepper-D8lkCP8Y.js → Stepper-CzVKDg-N.js} +2 -2
  122. package/dist/{Stepper-D8lkCP8Y.js.map → Stepper-CzVKDg-N.js.map} +1 -1
  123. package/dist/Stepper.js +1 -1
  124. package/dist/{Switch-D0zwZCg4.js → Switch-CEmjmSiL.js} +2 -2
  125. package/dist/{Switch-D0zwZCg4.js.map → Switch-CEmjmSiL.js.map} +1 -1
  126. package/dist/Switch.js +1 -1
  127. package/dist/{Tab-CeXt6A_D.js → Tab-DXivEqur.js} +47 -6
  128. package/dist/Tab-DXivEqur.js.map +1 -0
  129. package/dist/Tab.js +1 -1
  130. package/dist/Table.js +1 -1
  131. package/dist/{TextField-Dfzn2HeL.js → TextField-D9VWORek.js} +2 -2
  132. package/dist/{TextField-Dfzn2HeL.js.map → TextField-D9VWORek.js.map} +1 -1
  133. package/dist/{TextField-BycenT6H.js → TextField-atI4M79b.js} +3 -3
  134. package/dist/{TextField-BycenT6H.js.map → TextField-atI4M79b.js.map} +1 -1
  135. package/dist/TextField.css +29 -25
  136. package/dist/TextField.js +1 -1
  137. package/dist/TextField.module-BP-hDP5m.js +22 -0
  138. package/dist/TextField.module-BP-hDP5m.js.map +1 -0
  139. package/dist/{Textarea-BwbwJP6z.js → Textarea-D-kPIsIN.js} +2 -2
  140. package/dist/{Textarea-BwbwJP6z.js.map → Textarea-D-kPIsIN.js.map} +1 -1
  141. package/dist/Textarea.js +1 -1
  142. package/dist/{TimeField-B0WSzSfJ.js → TimeField-DREFzFkw.js} +3 -3
  143. package/dist/{TimeField-B0WSzSfJ.js.map → TimeField-DREFzFkw.js.map} +1 -1
  144. package/dist/TimeField.js +1 -1
  145. package/dist/Toast.js +2 -2
  146. package/dist/{Toaster-9Q_yaKGu.js → Toaster-B652KIzq.js} +4 -4
  147. package/dist/{Toaster-9Q_yaKGu.js.map → Toaster-B652KIzq.js.map} +1 -1
  148. package/dist/{Toaster-DHo8dnWH.js → Toaster-Bisc1mlh.js} +2 -2
  149. package/dist/{Toaster-DHo8dnWH.js.map → Toaster-Bisc1mlh.js.map} +1 -1
  150. package/dist/{Toolbar-CVOenuCF.js → Toolbar-jfZ-CupZ.js} +77 -63
  151. package/dist/Toolbar-jfZ-CupZ.js.map +1 -0
  152. package/dist/Toolbar.css +37 -55
  153. package/dist/Toolbar.js +1 -1
  154. package/dist/{YearlessDateInputWithPicker-ztozRk-X.js → YearlessDateInputWithPicker-mW5KykHZ.js} +3 -3
  155. package/dist/{YearlessDateInputWithPicker-ztozRk-X.js.map → YearlessDateInputWithPicker-mW5KykHZ.js.map} +1 -1
  156. package/dist/beta/components/MultiSelectField/MultiSelectField.d.ts +1 -10
  157. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +5 -0
  158. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +0 -2
  159. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldList.d.ts +3 -7
  160. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +6 -0
  161. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +30 -0
  162. package/dist/beta/components/MultiSelectField/internal/types.d.ts +67 -0
  163. package/dist/beta/components/MultiSelectField/internal/useChipLayout.d.ts +19 -0
  164. package/dist/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +1 -2
  165. package/dist/beta/components/MultiSelectField/internal/useSelectModeMultiple.d.ts +40 -0
  166. package/dist/beta/components/MultiSelectField/internal/useToggleSelection.d.ts +21 -0
  167. package/dist/beta/components/MultiSelectField/types.d.ts +7 -0
  168. package/dist/beta/components/SelectField/internal/FieldDialog/FieldDialog.d.ts +1 -1
  169. package/dist/beta/components/SelectField/internal/FieldListBase.d.ts +3 -4
  170. package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +6 -0
  171. package/dist/beta/components/SelectField/internal/SelectFieldInput.d.ts +0 -2
  172. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -3
  173. package/dist/beta/components/SelectField/internal/SelectFieldList.d.ts +3 -7
  174. package/dist/beta/components/SelectField/internal/SelectFieldListItem.d.ts +2 -4
  175. package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +6 -0
  176. package/dist/beta/components/SelectField/internal/SelectFieldTrigger.d.ts +27 -0
  177. package/dist/beta/components/SelectField/internal/buildDownshiftItems.d.ts +22 -0
  178. package/dist/beta/components/SelectField/internal/types.d.ts +57 -0
  179. package/dist/beta/components/SelectField/internal/useCombo.d.ts +1 -5
  180. package/dist/beta/components/SelectField/internal/useProcessedOptions.d.ts +19 -0
  181. package/dist/beta/components/SelectField/internal/useSelectMode.d.ts +34 -0
  182. package/dist/beta/components/SelectField/types.d.ts +7 -0
  183. package/dist/beta/components/Table/DataTable/DataTable.d.ts +21 -2
  184. package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +7 -0
  185. package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +4 -0
  186. package/dist/beta/components/Table/DataTable/types.d.ts +20 -0
  187. package/dist/beta/components/Table/createColumnHelper.d.ts +18 -7
  188. package/dist/beta/components/Table/types.d.ts +44 -3
  189. package/dist/beta/components/Toolbar/Toolbar.d.ts +17 -7
  190. package/dist/beta/components/Toolbar/ToolbarButton.d.ts +0 -1
  191. package/dist/beta/components/Toolbar/ToolbarButtonLink.d.ts +0 -1
  192. package/dist/beta/components/Toolbar/ToolbarButtonToggle.d.ts +0 -1
  193. package/dist/beta/components/Toolbar/ToolbarSearchField.d.ts +2 -3
  194. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +0 -1
  195. package/dist/beta/components/Toolbar/internal/{ToolbarOverflowContext.d.ts → ToolbarContext.d.ts} +14 -5
  196. package/dist/beta/components/Toolbar/internal/utils/test.d.ts +5 -3
  197. package/dist/beta/components/Toolbar/types.d.ts +5 -1
  198. package/dist/beta.js +7 -7
  199. package/dist/components/ButtonLink/ButtonLink.d.ts +3 -3
  200. package/dist/components/Pagination/Pagination.d.ts +3 -0
  201. package/dist/components/Pagination/internal/PaginationItemsPerPageMenu.d.ts +5 -0
  202. package/dist/components/SearchField/SearchField.d.ts +8 -26
  203. package/dist/components/SearchField/internal/SearchField.d.ts +73 -0
  204. package/dist/components/Tab/Tab.d.ts +41 -2
  205. package/dist/components/Tab/internal/TabContext.d.ts +1 -1
  206. package/dist/components/Toolbar/Toolbar.d.ts +11 -5
  207. package/dist/components/Toolbar/ToolbarButton.d.ts +0 -1
  208. package/dist/components/Toolbar/ToolbarButtonLink.d.ts +0 -1
  209. package/dist/components/Toolbar/ToolbarButtonToggle.d.ts +0 -1
  210. package/dist/components/Toolbar/ToolbarSelect.d.ts +0 -1
  211. package/dist/components/Toolbar/internal/{ToolbarOverflowContext.d.ts → ToolbarContext.d.ts} +14 -5
  212. package/dist/components/Toolbar/internal/utils/test.d.ts +5 -3
  213. package/dist/components/Toolbar/types.d.ts +5 -1
  214. package/dist/{index-DFvIVS57.js → index-ClUtwV8V.js} +2 -2
  215. package/dist/{index-DFvIVS57.js.map → index-ClUtwV8V.js.map} +1 -1
  216. package/dist/index.js +81 -70
  217. package/dist/index.js.map +1 -1
  218. package/dist/index2.css +17 -23
  219. package/dist/internal/components/ManualTestLayout/ManualTestLayout.d.ts +16 -0
  220. package/dist/internal/components/ManualTestLayout/index.d.ts +1 -0
  221. package/dist/internal/components/index.d.ts +1 -0
  222. package/dist/{match-sorter.esm-B3vwg1-X.js → match-sorter.esm-adzV1NDp.js} +2 -2
  223. package/dist/{match-sorter.esm-B3vwg1-X.js.map → match-sorter.esm-adzV1NDp.js.map} +1 -1
  224. package/dist/{useDrilldown-jbU4Cs5l.js → useDrilldown-hUxMOdnz.js} +2 -2
  225. package/dist/{useDrilldown-jbU4Cs5l.js.map → useDrilldown-hUxMOdnz.js.map} +1 -1
  226. package/package.json +5 -4
  227. package/dist/Button.module-Ck7VrMqw.js +0 -26
  228. package/dist/Button.module-Ck7VrMqw.js.map +0 -1
  229. package/dist/ButtonLink-CRlyK750.js.map +0 -1
  230. package/dist/DataTable-D30sE1Xt.js.map +0 -1
  231. package/dist/FieldDialog-CAuhkCZY.js.map +0 -1
  232. package/dist/FieldMessage-DS0COrjp.js +0 -132
  233. package/dist/FieldMessage-DS0COrjp.js.map +0 -1
  234. package/dist/MultiSelectFieldSync-Bey99LzJ.js.map +0 -1
  235. package/dist/Pagination-DIatYUXX.js.map +0 -1
  236. package/dist/SearchField-CoeaOip5.js.map +0 -1
  237. package/dist/SelectCard-Bag44PmE.js.map +0 -1
  238. package/dist/SelectFieldSync-CigqXq3T.js +0 -763
  239. package/dist/SelectFieldSync-CigqXq3T.js.map +0 -1
  240. package/dist/Tab-CeXt6A_D.js.map +0 -1
  241. package/dist/TextField.module-pD1felN8.js +0 -20
  242. package/dist/TextField.module-pD1felN8.js.map +0 -1
  243. package/dist/Toolbar-CVOenuCF.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/anvil2",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -59,8 +59,8 @@
59
59
  "tabbable": "^6.2.0",
60
60
  "tinycolor2": "^1.6.0",
61
61
  "uuid": "^10.0.0",
62
- "@servicetitan/hammer-icon": "1.2.0",
63
- "@servicetitan/hammer-token": "2.5.1"
62
+ "@servicetitan/hammer-token": "2.5.1",
63
+ "@servicetitan/hammer-icon": "1.2.0"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "@types/react": "^18 || ^19",
@@ -107,7 +107,8 @@
107
107
  "unified": "^11.0.5",
108
108
  "vite": "6.4.1",
109
109
  "vitest": "^3.2.4",
110
- "vitest-axe": "^0.1.0"
110
+ "vitest-axe": "^0.1.0",
111
+ "@servicetitan/anvil2-illustrations": "1.0.1"
111
112
  },
112
113
  "scripts": {
113
114
  "dev": "vite build --watch",
@@ -1,26 +0,0 @@
1
- import './Button.css';const button = "_button_q7lq8_2";
2
- const icon = "_icon_q7lq8_62";
3
- const loading = "_loading_q7lq8_70";
4
- const styles = {
5
- button: button,
6
- "type-icon": "_type-icon_q7lq8_16",
7
- icon: icon,
8
- loading: loading,
9
- "loading-spinner": "_loading-spinner_q7lq8_73",
10
- "size-xsmall": "_size-xsmall_q7lq8_76",
11
- "size-small": "_size-small_q7lq8_85",
12
- "size-medium": "_size-medium_q7lq8_94",
13
- "size-large": "_size-large_q7lq8_102",
14
- "appearance-primary": "_appearance-primary_q7lq8_110",
15
- "appearance-secondary": "_appearance-secondary_q7lq8_125",
16
- "appearance-ghost": "_appearance-ghost_q7lq8_140",
17
- "danger-primary": "_danger-primary_q7lq8_155",
18
- "danger-secondary": "_danger-secondary_q7lq8_170",
19
- "button-compound": "_button-compound_q7lq8_241",
20
- "shape-rounded": "_shape-rounded_q7lq8_262",
21
- "shape-pill": "_shape-pill_q7lq8_265",
22
- "shape-circular": "_shape-circular_q7lq8_268",
23
- "button-toggle": "_button-toggle_q7lq8_273"};
24
-
25
- export { styles as s };
26
- //# sourceMappingURL=Button.module-Ck7VrMqw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.module-Ck7VrMqw.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonLink-CRlyK750.js","sources":["../src/components/ButtonLink/ButtonLink.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n KeyboardEvent,\n MouseEvent,\n Ref,\n forwardRef,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport {\n DataTrackingId,\n ButtonAppearance,\n LayoutUtilProps,\n Size,\n} from \"../../types\";\nimport Icon, { IconProps } from \"../Icon\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport Spinner from \"../Spinner\";\n\nimport cx from \"classnames\";\nimport styles from \"../Button/Button.module.scss\";\n\n/**\n * Props for the ButtonLink component\n * @extends LayoutUtilProps\n * @extends ComponentPropsWithoutRef<\"a\">\n */\nexport type ButtonLinkProps = LayoutUtilProps &\n ComponentPropsWithoutRef<\"a\"> & {\n /**\n * The disabled state of the button link.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * The visual variant of the button link.\n * @default secondary\n */\n appearance?: ButtonAppearance;\n\n /**\n * The size of the button link.\n * @default medium\n */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n\n /**\n * The icons of the button link.\n */\n icon?:\n | IconProps[\"svg\"]\n | {\n after: IconProps[\"svg\"];\n }\n | {\n before: IconProps[\"svg\"];\n };\n\n /**\n * The loading state of the button link.\n * If true, it will show infinite state of the loading.\n * @default false\n */\n loading?: boolean;\n } &\n /**\n * Data tracking id\n */\n DataTrackingId;\n\n/**\n * ButtonLink component for creating clickable links that look like buttons.\n *\n * Features:\n * - Multiple visual appearances (primary, secondary, ghost, danger variants)\n * - Three size options (small, medium, large)\n * - Loading state with spinner animation\n * - Icon support (before, after, or icon-only)\n * - Full accessibility support with proper ARIA attributes\n * - Supports layout utilities for positioning and spacing\n * - Keyboard navigation support (Space and Enter keys)\n * - Automatic disabled state when loading\n * - Prevents navigation when disabled or loading\n * - Flexible content with text and/or icons\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <ButtonLink href=\"/dashboard\" appearance=\"primary\" size=\"medium\">\n * Go to Dashboard\n * </ButtonLink>\n */\nexport const ButtonLink = forwardRef(\n (props: ButtonLinkProps, ref: Ref<HTMLAnchorElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n children,\n className,\n appearance = \"secondary\",\n size = \"medium\",\n icon,\n loading = false,\n disabled,\n onClick,\n onKeyUp,\n onKeyDown,\n style,\n href,\n type,\n ...rest\n } = componentProps;\n\n const data = {\n children: childrenToString(props.children),\n appearance,\n href,\n icon,\n size,\n type,\n };\n\n const iconBefore = (icon: ButtonLinkProps[\"icon\"]) => {\n if (icon && typeof icon === \"object\" && \"before\" in icon) {\n return (\n <Icon\n aria-hidden\n className={styles[\"icon\"]}\n inherit\n svg={icon.before}\n />\n );\n }\n if (icon && typeof icon !== \"object\") {\n return (\n <Icon aria-hidden className={styles[\"icon\"]} inherit svg={icon} />\n );\n }\n return;\n };\n\n const handleOnClick = (e: MouseEvent<HTMLAnchorElement>) => {\n if (disabled || loading) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLAnchorElement>) => {\n if (e.code === \"Space\") {\n e.preventDefault();\n onKeyDown?.(e);\n return;\n }\n\n onKeyDown?.(e);\n };\n\n const onKeyUpHandler = (e: KeyboardEvent<HTMLAnchorElement>) => {\n if (e.code === \"Space\" || e.code === \"Enter\") {\n e.preventDefault();\n if (onClick) {\n e.currentTarget.click();\n }\n }\n\n onKeyUp?.(e);\n };\n\n const trackingId = useTrackingId({\n name: \"ButtonLink\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonClassNames = cx(className, styles[\"button\"], {\n [styles[\"appearance-primary\"]]: appearance === \"primary\",\n [styles[\"appearance-secondary\"]]: appearance === \"secondary\",\n [styles[\"appearance-ghost\"]]: appearance === \"ghost\",\n [styles[\"danger-secondary\"]]: appearance === \"danger-secondary\",\n [styles[\"danger-primary\"]]: appearance === \"danger\",\n [styles[\"size-small\"]]: size === \"small\",\n [styles[\"size-medium\"]]: size === \"medium\",\n [styles[\"size-large\"]]: size === \"large\",\n [styles[\"type-icon\"]]: !children,\n [styles[\"loading\"]]: loading,\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <a\n data-tracking-id={trackingId}\n className={buttonClassNames}\n aria-disabled={disabled || loading}\n aria-busy={loading}\n data-anv=\"button-link\"\n tabIndex={disabled || loading ? -1 : 0}\n onClick={handleOnClick}\n onKeyDown={onKeyDownHandler}\n onKeyUp={onKeyUpHandler}\n style={styleCombined}\n ref={ref}\n href={href}\n {...rest}\n >\n {loading ? (\n <Spinner inherit size=\"small\" className={styles[\"loading-spinner\"]} />\n ) : icon ? (\n iconBefore(icon)\n ) : null}\n {children}\n {typeof icon === \"object\" && \"after\" in icon ? (\n <Icon\n className={styles[\"icon\"]}\n inherit\n aria-hidden\n svg={icon.after}\n />\n ) : null}\n </a>\n );\n },\n);\n\nButtonLink.displayName = \"ButtonLink\";\n"],"names":["icon"],"mappings":"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"}