@basic-ui/material 1.0.0-alpha.52 → 1.0.0-alpha.54

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 (672) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +515 -441
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Alert/Alert.d.ts +5 -6
  5. package/build/esm/Alert/Alert.js +14 -16
  6. package/build/esm/Alert/Alert.js.map +1 -1
  7. package/build/esm/Alert/index.d.ts +1 -1
  8. package/build/esm/Alert/index.js.map +1 -1
  9. package/build/esm/AppBar/AppBar.d.ts +9 -9
  10. package/build/esm/AppBar/AppBar.js +25 -34
  11. package/build/esm/AppBar/AppBar.js.map +1 -1
  12. package/build/esm/AppBar/AppBarButton.d.ts +3 -4
  13. package/build/esm/AppBar/AppBarButton.js +12 -14
  14. package/build/esm/AppBar/AppBarButton.js.map +1 -1
  15. package/build/esm/AppBar/context.d.ts +4 -5
  16. package/build/esm/AppBar/context.js +8 -6
  17. package/build/esm/AppBar/context.js.map +1 -1
  18. package/build/esm/AppBar/index.d.ts +3 -3
  19. package/build/esm/AppBar/index.js.map +1 -1
  20. package/build/esm/Badge/Badge.d.ts +5 -6
  21. package/build/esm/Badge/Badge.js +25 -26
  22. package/build/esm/Badge/Badge.js.map +1 -1
  23. package/build/esm/Badge/index.d.ts +1 -1
  24. package/build/esm/Badge/index.js.map +1 -1
  25. package/build/esm/BaseLine/BaseLine.d.ts +1 -1
  26. package/build/esm/BaseLine/BaseLine.js +4 -6
  27. package/build/esm/BaseLine/BaseLine.js.map +1 -1
  28. package/build/esm/BaseLine/index.d.ts +1 -1
  29. package/build/esm/BaseLine/index.js.map +1 -1
  30. package/build/esm/BottomSheet/BottomSheet.d.ts +6 -7
  31. package/build/esm/BottomSheet/BottomSheet.js +17 -21
  32. package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
  33. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +4 -5
  34. package/build/esm/BottomSheet/BottomSheetSurface.js +14 -14
  35. package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
  36. package/build/esm/BottomSheet/index.d.ts +1 -1
  37. package/build/esm/BottomSheet/index.js.map +1 -1
  38. package/build/esm/Box/Box.d.ts +23 -23
  39. package/build/esm/Box/Box.js +26 -26
  40. package/build/esm/Box/Box.js.map +1 -1
  41. package/build/esm/Box/index.d.ts +1 -1
  42. package/build/esm/Box/index.js.map +1 -1
  43. package/build/esm/Button/BaseButton.d.ts +14 -7
  44. package/build/esm/Button/BaseButton.js +107 -36
  45. package/build/esm/Button/BaseButton.js.map +1 -1
  46. package/build/esm/Button/Button.d.ts +14 -13
  47. package/build/esm/Button/Button.js +66 -48
  48. package/build/esm/Button/Button.js.map +1 -1
  49. package/build/esm/Button/ButtonGroup.d.ts +4 -5
  50. package/build/esm/Button/ButtonGroup.js +119 -21
  51. package/build/esm/Button/ButtonGroup.js.map +1 -1
  52. package/build/esm/Button/FilledButton.d.ts +10 -11
  53. package/build/esm/Button/FilledButton.js +18 -60
  54. package/build/esm/Button/FilledButton.js.map +1 -1
  55. package/build/esm/Button/FloatingActionButton.d.ts +9 -7
  56. package/build/esm/Button/FloatingActionButton.js +5 -4
  57. package/build/esm/Button/FloatingActionButton.js.map +1 -1
  58. package/build/esm/Button/IconButton.d.ts +8 -8
  59. package/build/esm/Button/IconButton.js +3 -3
  60. package/build/esm/Button/IconButton.js.map +1 -1
  61. package/build/esm/Button/IconFilledButton.d.ts +2 -0
  62. package/build/esm/Button/IconFilledButton.js +3 -0
  63. package/build/esm/Button/IconFilledButton.js.map +1 -0
  64. package/build/esm/Button/IconOutlinedButton.d.ts +2 -0
  65. package/build/esm/Button/IconOutlinedButton.js +3 -0
  66. package/build/esm/Button/IconOutlinedButton.js.map +1 -0
  67. package/build/esm/Button/OutlinedButton.d.ts +3 -4
  68. package/build/esm/Button/OutlinedButton.js +3 -43
  69. package/build/esm/Button/OutlinedButton.js.map +1 -1
  70. package/build/esm/Button/SplitButton.d.ts +9 -0
  71. package/build/esm/Button/SplitButton.js +32 -0
  72. package/build/esm/Button/SplitButton.js.map +1 -0
  73. package/build/esm/Button/TransparentButton.d.ts +10 -11
  74. package/build/esm/Button/TransparentButton.js +11 -54
  75. package/build/esm/Button/TransparentButton.js.map +1 -1
  76. package/build/esm/Button/context.d.ts +9 -8
  77. package/build/esm/Button/context.js +5 -4
  78. package/build/esm/Button/context.js.map +1 -1
  79. package/build/esm/Button/index.d.ts +3 -2
  80. package/build/esm/Button/index.js +1 -0
  81. package/build/esm/Button/index.js.map +1 -1
  82. package/build/esm/CheckBox/CheckBox.d.ts +13 -13
  83. package/build/esm/CheckBox/CheckBox.js +45 -61
  84. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  85. package/build/esm/CheckBox/CheckBoxIcon.d.ts +10 -10
  86. package/build/esm/CheckBox/CheckBoxIcon.js +19 -24
  87. package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
  88. package/build/esm/CheckBox/CheckPath.d.ts +3 -3
  89. package/build/esm/CheckBox/CheckPath.js +15 -16
  90. package/build/esm/CheckBox/CheckPath.js.map +1 -1
  91. package/build/esm/CheckBox/IndeterminatePath.d.ts +3 -3
  92. package/build/esm/CheckBox/IndeterminatePath.js +14 -16
  93. package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
  94. package/build/esm/CheckBox/index.d.ts +1 -1
  95. package/build/esm/CheckBox/index.js.map +1 -1
  96. package/build/esm/Chip/ButtonChip.d.ts +9 -9
  97. package/build/esm/Chip/ButtonChip.js +20 -24
  98. package/build/esm/Chip/ButtonChip.js.map +1 -1
  99. package/build/esm/Chip/Chip.d.ts +4 -4
  100. package/build/esm/Chip/Chip.js.map +1 -1
  101. package/build/esm/Chip/ChipBase.d.ts +10 -10
  102. package/build/esm/Chip/ChipBase.js +50 -54
  103. package/build/esm/Chip/ChipBase.js.map +1 -1
  104. package/build/esm/Chip/ChoiceChip.d.ts +10 -10
  105. package/build/esm/Chip/ChoiceChip.js +34 -38
  106. package/build/esm/Chip/ChoiceChip.js.map +1 -1
  107. package/build/esm/Chip/index.d.ts +2 -2
  108. package/build/esm/Chip/index.js.map +1 -1
  109. package/build/esm/Combobox/Combobox.d.ts +23 -23
  110. package/build/esm/Combobox/Combobox.js +126 -107
  111. package/build/esm/Combobox/Combobox.js.map +1 -1
  112. package/build/esm/Combobox/index.d.ts +1 -1
  113. package/build/esm/Combobox/index.js.map +1 -1
  114. package/build/esm/Dialog/Dialog.d.ts +19 -20
  115. package/build/esm/Dialog/Dialog.js +38 -42
  116. package/build/esm/Dialog/Dialog.js.map +1 -1
  117. package/build/esm/Dialog/DialogBackdrop.d.ts +6 -7
  118. package/build/esm/Dialog/DialogBackdrop.js +18 -17
  119. package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
  120. package/build/esm/Dialog/DialogContainer.d.ts +3 -4
  121. package/build/esm/Dialog/DialogContainer.js +12 -12
  122. package/build/esm/Dialog/DialogContainer.js.map +1 -1
  123. package/build/esm/Dialog/DialogSurface.d.ts +6 -7
  124. package/build/esm/Dialog/DialogSurface.js +26 -26
  125. package/build/esm/Dialog/DialogSurface.js.map +1 -1
  126. package/build/esm/Dialog/Scrim.d.ts +3 -4
  127. package/build/esm/Dialog/Scrim.js +12 -12
  128. package/build/esm/Dialog/Scrim.js.map +1 -1
  129. package/build/esm/Dialog/index.d.ts +2 -2
  130. package/build/esm/Dialog/index.js.map +1 -1
  131. package/build/esm/Dialog/useDialogAnimation.d.ts +57 -824
  132. package/build/esm/Dialog/useDialogAnimation.js +23 -24
  133. package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
  134. package/build/esm/Divider/Divider.d.ts +7 -7
  135. package/build/esm/Divider/Divider.js +27 -28
  136. package/build/esm/Divider/Divider.js.map +1 -1
  137. package/build/esm/Divider/index.d.ts +1 -1
  138. package/build/esm/Divider/index.js.map +1 -1
  139. package/build/esm/FloatingLabel/FloatingLabel.d.ts +13 -13
  140. package/build/esm/FloatingLabel/FloatingLabel.js +27 -33
  141. package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
  142. package/build/esm/FloatingLabel/index.d.ts +1 -1
  143. package/build/esm/FloatingLabel/index.js.map +1 -1
  144. package/build/esm/LineRipple/LineRipple.d.ts +9 -9
  145. package/build/esm/LineRipple/LineRipple.js +30 -38
  146. package/build/esm/LineRipple/LineRipple.js.map +1 -1
  147. package/build/esm/LineRipple/index.d.ts +1 -1
  148. package/build/esm/LineRipple/index.js.map +1 -1
  149. package/build/esm/Link/Link.d.ts +9 -9
  150. package/build/esm/Link/Link.js +15 -17
  151. package/build/esm/Link/Link.js.map +1 -1
  152. package/build/esm/Link/index.d.ts +1 -1
  153. package/build/esm/Link/index.js.map +1 -1
  154. package/build/esm/List/List.d.ts +8 -8
  155. package/build/esm/List/List.js +19 -26
  156. package/build/esm/List/List.js.map +1 -1
  157. package/build/esm/List/index.d.ts +1 -1
  158. package/build/esm/List/index.js.map +1 -1
  159. package/build/esm/ListItem/ListItem.d.ts +14 -14
  160. package/build/esm/ListItem/ListItem.js +28 -31
  161. package/build/esm/ListItem/ListItem.js.map +1 -1
  162. package/build/esm/ListItem/ListItemText.d.ts +7 -7
  163. package/build/esm/ListItem/ListItemText.js +12 -16
  164. package/build/esm/ListItem/ListItemText.js.map +1 -1
  165. package/build/esm/ListItem/index.d.ts +2 -2
  166. package/build/esm/ListItem/index.js.map +1 -1
  167. package/build/esm/Menu/Menu.d.ts +18 -18
  168. package/build/esm/Menu/Menu.js +70 -60
  169. package/build/esm/Menu/Menu.js.map +1 -1
  170. package/build/esm/Menu/animation.d.ts +2 -2
  171. package/build/esm/Menu/animation.js +3 -3
  172. package/build/esm/Menu/animation.js.map +1 -1
  173. package/build/esm/Menu/index.d.ts +2 -2
  174. package/build/esm/Menu/index.js.map +1 -1
  175. package/build/esm/NavRail/NavRailItem.d.ts +15 -15
  176. package/build/esm/NavRail/NavRailItem.js +82 -86
  177. package/build/esm/NavRail/NavRailItem.js.map +1 -1
  178. package/build/esm/NavRail/icons/test-icons.d.ts +4 -4
  179. package/build/esm/NavRail/icons/test-icons.js +33 -40
  180. package/build/esm/NavRail/icons/test-icons.js.map +1 -1
  181. package/build/esm/NavRail/index.d.ts +1 -1
  182. package/build/esm/NavRail/index.js.map +1 -1
  183. package/build/esm/NotchedOutline/NotchedOutline.d.ts +14 -14
  184. package/build/esm/NotchedOutline/NotchedOutline.js +26 -34
  185. package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
  186. package/build/esm/NotchedOutline/context.d.ts +5 -6
  187. package/build/esm/NotchedOutline/context.js +8 -7
  188. package/build/esm/NotchedOutline/context.js.map +1 -1
  189. package/build/esm/NotchedOutline/index.d.ts +1 -1
  190. package/build/esm/NotchedOutline/index.js.map +1 -1
  191. package/build/esm/NotchedOutline/styledComponents.d.ts +15 -575
  192. package/build/esm/NotchedOutline/styledComponents.js +65 -64
  193. package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
  194. package/build/esm/Paper/Paper.d.ts +11 -11
  195. package/build/esm/Paper/Paper.js +25 -25
  196. package/build/esm/Paper/Paper.js.map +1 -1
  197. package/build/esm/Paper/index.d.ts +1 -1
  198. package/build/esm/Paper/index.js.map +1 -1
  199. package/build/esm/Popover/Popover.d.ts +13 -14
  200. package/build/esm/Popover/Popover.js +33 -39
  201. package/build/esm/Popover/Popover.js.map +1 -1
  202. package/build/esm/Popover/PopoverContainer.d.ts +3 -4
  203. package/build/esm/Popover/PopoverContainer.js +12 -12
  204. package/build/esm/Popover/PopoverContainer.js.map +1 -1
  205. package/build/esm/Popover/PopoverSurface.d.ts +4 -5
  206. package/build/esm/Popover/PopoverSurface.js +15 -15
  207. package/build/esm/Popover/PopoverSurface.js.map +1 -1
  208. package/build/esm/Popover/index.d.ts +1 -1
  209. package/build/esm/Popover/index.js.map +1 -1
  210. package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +7 -8
  211. package/build/esm/ProgressSpinner/ProgressSpinner.js +31 -33
  212. package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
  213. package/build/esm/ProgressSpinner/index.d.ts +1 -1
  214. package/build/esm/ProgressSpinner/index.js.map +1 -1
  215. package/build/esm/RadioButton/RadioButton.d.ts +3 -4
  216. package/build/esm/RadioButton/RadioButton.js +29 -32
  217. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  218. package/build/esm/RadioButton/RadioButtonIcon.d.ts +6 -6
  219. package/build/esm/RadioButton/RadioButtonIcon.js +10 -12
  220. package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
  221. package/build/esm/RadioButton/RadioGroup.d.ts +4 -5
  222. package/build/esm/RadioButton/RadioGroup.js +9 -11
  223. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  224. package/build/esm/RadioButton/index.d.ts +2 -2
  225. package/build/esm/RadioButton/index.js.map +1 -1
  226. package/build/esm/Ripple/Ripple.d.ts +10 -11
  227. package/build/esm/Ripple/Ripple.js +12 -10
  228. package/build/esm/Ripple/Ripple.js.map +1 -1
  229. package/build/esm/Ripple/RippleBox.d.ts +5 -5
  230. package/build/esm/Ripple/RippleBox.js +32 -29
  231. package/build/esm/Ripple/RippleBox.js.map +1 -1
  232. package/build/esm/Ripple/constants.d.ts +7 -7
  233. package/build/esm/Ripple/constants.js +7 -7
  234. package/build/esm/Ripple/constants.js.map +1 -1
  235. package/build/esm/Ripple/index.d.ts +5 -5
  236. package/build/esm/Ripple/index.js.map +1 -1
  237. package/build/esm/Ripple/keyframes.d.ts +4 -4
  238. package/build/esm/Ripple/keyframes.js +7 -7
  239. package/build/esm/Ripple/keyframes.js.map +1 -1
  240. package/build/esm/Ripple/useRipple.d.ts +14 -14
  241. package/build/esm/Ripple/useRipple.js +79 -84
  242. package/build/esm/Ripple/useRipple.js.map +1 -1
  243. package/build/esm/Ripple/useRippleHandlers.d.ts +8 -8
  244. package/build/esm/Ripple/useRippleHandlers.js +21 -30
  245. package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
  246. package/build/esm/Ripple/useRippleSurface.d.ts +22 -787
  247. package/build/esm/Ripple/useRippleSurface.js +87 -88
  248. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  249. package/build/esm/SearchBar/SearchBar.d.ts +15 -15
  250. package/build/esm/SearchBar/SearchBar.js +44 -57
  251. package/build/esm/SearchBar/SearchBar.js.map +1 -1
  252. package/build/esm/SearchBar/index.d.ts +1 -1
  253. package/build/esm/SearchBar/index.js.map +1 -1
  254. package/build/esm/Select/CustomContainerExample.d.ts +2 -3
  255. package/build/esm/Select/CustomContainerExample.js +29 -34
  256. package/build/esm/Select/CustomContainerExample.js.map +1 -1
  257. package/build/esm/Select/Select.d.ts +33 -32
  258. package/build/esm/Select/Select.js +68 -113
  259. package/build/esm/Select/Select.js.map +1 -1
  260. package/build/esm/Select/SelectIcon.d.ts +6 -6
  261. package/build/esm/Select/SelectIcon.js +11 -13
  262. package/build/esm/Select/SelectIcon.js.map +1 -1
  263. package/build/esm/Select/context.d.ts +9 -9
  264. package/build/esm/Select/context.js +10 -8
  265. package/build/esm/Select/context.js.map +1 -1
  266. package/build/esm/Select/defaultRender.d.ts +3 -3
  267. package/build/esm/Select/defaultRender.js +33 -38
  268. package/build/esm/Select/defaultRender.js.map +1 -1
  269. package/build/esm/Select/index.d.ts +1 -1
  270. package/build/esm/Select/index.js.map +1 -1
  271. package/build/esm/Select/styledComponents.d.ts +15 -15
  272. package/build/esm/Select/styledComponents.js +20 -23
  273. package/build/esm/Select/styledComponents.js.map +1 -1
  274. package/build/esm/SelectItem/SelectItem.d.ts +11 -11
  275. package/build/esm/SelectItem/SelectItem.js +37 -47
  276. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  277. package/build/esm/SelectItem/index.d.ts +1 -1
  278. package/build/esm/SelectItem/index.js.map +1 -1
  279. package/build/esm/SelectionControl/SelectionControlLabel.d.ts +7 -7
  280. package/build/esm/SelectionControl/SelectionControlLabel.js +13 -14
  281. package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
  282. package/build/esm/SelectionControl/SelectionControlText.d.ts +8 -8
  283. package/build/esm/SelectionControl/SelectionControlText.js +20 -20
  284. package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
  285. package/build/esm/SelectionControl/index.d.ts +2 -2
  286. package/build/esm/SelectionControl/index.js.map +1 -1
  287. package/build/esm/Skeleton/DelayAppearance.d.ts +13 -13
  288. package/build/esm/Skeleton/DelayAppearance.js +18 -20
  289. package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
  290. package/build/esm/Skeleton/Skeleton.d.ts +9 -9
  291. package/build/esm/Skeleton/Skeleton.js +18 -19
  292. package/build/esm/Skeleton/Skeleton.js.map +1 -1
  293. package/build/esm/Skeleton/animation.d.ts +8 -8
  294. package/build/esm/Skeleton/animation.js +11 -11
  295. package/build/esm/Skeleton/animation.js.map +1 -1
  296. package/build/esm/Skeleton/index.d.ts +2 -2
  297. package/build/esm/Skeleton/index.js.map +1 -1
  298. package/build/esm/Slider/Slider.d.ts +17 -17
  299. package/build/esm/Slider/Slider.js +93 -85
  300. package/build/esm/Slider/Slider.js.map +1 -1
  301. package/build/esm/Slider/index.d.ts +1 -1
  302. package/build/esm/Slider/index.js.map +1 -1
  303. package/build/esm/Snackbar/Snackbar.d.ts +10 -8
  304. package/build/esm/Snackbar/Snackbar.js +33 -33
  305. package/build/esm/Snackbar/Snackbar.js.map +1 -1
  306. package/build/esm/Snackbar/Stack.d.ts +31 -31
  307. package/build/esm/Snackbar/Stack.js +74 -106
  308. package/build/esm/Snackbar/Stack.js.map +1 -1
  309. package/build/esm/Snackbar/index.d.ts +3 -3
  310. package/build/esm/Snackbar/index.js.map +1 -1
  311. package/build/esm/Snackbar/useSnackbarAnimation.d.ts +6 -6
  312. package/build/esm/Snackbar/useSnackbarAnimation.js +103 -132
  313. package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
  314. package/build/esm/Switch/Switch.d.ts +13 -13
  315. package/build/esm/Switch/Switch.js +59 -56
  316. package/build/esm/Switch/Switch.js.map +1 -1
  317. package/build/esm/Switch/index.d.ts +1 -1
  318. package/build/esm/Switch/index.js.map +1 -1
  319. package/build/esm/Switch/styledComponents.d.ts +13 -13
  320. package/build/esm/Switch/styledComponents.js +47 -47
  321. package/build/esm/Switch/styledComponents.js.map +1 -1
  322. package/build/esm/Tab/Tab.d.ts +5 -5
  323. package/build/esm/Tab/Tab.js +47 -55
  324. package/build/esm/Tab/Tab.js.map +1 -1
  325. package/build/esm/Tab/TabList.d.ts +9 -10
  326. package/build/esm/Tab/TabList.js +28 -32
  327. package/build/esm/Tab/TabList.js.map +1 -1
  328. package/build/esm/Tab/TabPanel.d.ts +4 -5
  329. package/build/esm/Tab/TabPanel.js +18 -19
  330. package/build/esm/Tab/TabPanel.js.map +1 -1
  331. package/build/esm/Tab/TabPanels.d.ts +4 -4
  332. package/build/esm/Tab/TabPanels.js.map +1 -1
  333. package/build/esm/Tab/Tabs.d.ts +4 -4
  334. package/build/esm/Tab/Tabs.js.map +1 -1
  335. package/build/esm/Tab/context.d.ts +8 -9
  336. package/build/esm/Tab/context.js +8 -7
  337. package/build/esm/Tab/context.js.map +1 -1
  338. package/build/esm/Tab/index.d.ts +5 -5
  339. package/build/esm/Tab/index.js.map +1 -1
  340. package/build/esm/TabIndicator/TabIndicator.d.ts +9 -9
  341. package/build/esm/TabIndicator/TabIndicator.js +69 -86
  342. package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
  343. package/build/esm/TabIndicator/context.d.ts +6 -6
  344. package/build/esm/TabIndicator/context.js +8 -7
  345. package/build/esm/TabIndicator/context.js.map +1 -1
  346. package/build/esm/TabIndicator/index.d.ts +2 -2
  347. package/build/esm/TabIndicator/index.js.map +1 -1
  348. package/build/esm/Table/Table.d.ts +3 -4
  349. package/build/esm/Table/Table.js +13 -14
  350. package/build/esm/Table/Table.js.map +1 -1
  351. package/build/esm/Table/TableBody.d.ts +3 -4
  352. package/build/esm/Table/TableBody.js +9 -11
  353. package/build/esm/Table/TableBody.js.map +1 -1
  354. package/build/esm/Table/TableCell.d.ts +3 -4
  355. package/build/esm/Table/TableCell.js +14 -15
  356. package/build/esm/Table/TableCell.js.map +1 -1
  357. package/build/esm/Table/TableHead.d.ts +3 -4
  358. package/build/esm/Table/TableHead.js +13 -14
  359. package/build/esm/Table/TableHead.js.map +1 -1
  360. package/build/esm/Table/TableRow.d.ts +3 -4
  361. package/build/esm/Table/TableRow.js +13 -14
  362. package/build/esm/Table/TableRow.js.map +1 -1
  363. package/build/esm/Table/context.d.ts +2 -3
  364. package/build/esm/Table/context.js +7 -7
  365. package/build/esm/Table/context.js.map +1 -1
  366. package/build/esm/Table/index.d.ts +5 -5
  367. package/build/esm/Table/index.js.map +1 -1
  368. package/build/esm/Text/LoremIpsum.d.ts +4 -4
  369. package/build/esm/Text/LoremIpsum.js +10 -12
  370. package/build/esm/Text/LoremIpsum.js.map +1 -1
  371. package/build/esm/Text/Text.d.ts +10 -11
  372. package/build/esm/Text/Text.js +15 -19
  373. package/build/esm/Text/Text.js.map +1 -1
  374. package/build/esm/Text/index.d.ts +1 -1
  375. package/build/esm/Text/index.js.map +1 -1
  376. package/build/esm/TextField/FilledContainer.d.ts +18 -18
  377. package/build/esm/TextField/FilledContainer.js +75 -80
  378. package/build/esm/TextField/FilledContainer.js.map +1 -1
  379. package/build/esm/TextField/HelperText.d.ts +10 -10
  380. package/build/esm/TextField/HelperText.js +19 -26
  381. package/build/esm/TextField/HelperText.js.map +1 -1
  382. package/build/esm/TextField/IconContainer.d.ts +5 -5
  383. package/build/esm/TextField/IconContainer.js +21 -9
  384. package/build/esm/TextField/IconContainer.js.map +1 -1
  385. package/build/esm/TextField/Input.d.ts +11 -11
  386. package/build/esm/TextField/Input.js +39 -40
  387. package/build/esm/TextField/Input.js.map +1 -1
  388. package/build/esm/TextField/OutlinedContainer.d.ts +17 -17
  389. package/build/esm/TextField/OutlinedContainer.js +30 -47
  390. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  391. package/build/esm/TextField/TextField.d.ts +19 -19
  392. package/build/esm/TextField/TextField.js +50 -77
  393. package/build/esm/TextField/TextField.js.map +1 -1
  394. package/build/esm/TextField/consts.d.ts +5 -5
  395. package/build/esm/TextField/consts.js +5 -5
  396. package/build/esm/TextField/consts.js.map +1 -1
  397. package/build/esm/TextField/index.d.ts +4 -4
  398. package/build/esm/TextField/index.js.map +1 -1
  399. package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -7
  400. package/build/esm/ThemeExplorer/BorderSlider.js +8 -14
  401. package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -1
  402. package/build/esm/ThemeExplorer/ColorPicker.d.ts +8 -8
  403. package/build/esm/ThemeExplorer/ColorPicker.js +19 -24
  404. package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
  405. package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -10
  406. package/build/esm/ThemeExplorer/ColorSchemePicker.js +16 -21
  407. package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -1
  408. package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -9
  409. package/build/esm/ThemeExplorer/FontAutoComplete.js +28 -48
  410. package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -1
  411. package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +8 -9
  412. package/build/esm/ThemeExplorer/TextFieldColorPicker.js +29 -60
  413. package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
  414. package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +11 -11
  415. package/build/esm/ThemeExplorer/ThemeBuilder.js +155 -184
  416. package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
  417. package/build/esm/ThemeExplorer/ThemeColors.d.ts +4 -5
  418. package/build/esm/ThemeExplorer/ThemeColors.js +54 -54
  419. package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
  420. package/build/esm/ThemeExplorer/components.d.ts +31 -31
  421. package/build/esm/ThemeExplorer/components.js +52 -61
  422. package/build/esm/ThemeExplorer/components.js.map +1 -1
  423. package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -1
  424. package/build/esm/ThemeExplorer/googleFonts.js +1 -1
  425. package/build/esm/ThemeExplorer/googleFonts.js.map +1 -1
  426. package/build/esm/ThemeExplorer/index.d.ts +1 -1
  427. package/build/esm/ThemeExplorer/index.js.map +1 -1
  428. package/build/esm/ThemeExplorer/makeColorScheme.d.ts +98 -98
  429. package/build/esm/ThemeExplorer/makeColorScheme.js +0 -1
  430. package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
  431. package/build/esm/ThemeExplorer/makeTailwindTheme.d.ts +2 -2
  432. package/build/esm/ThemeExplorer/makeTailwindTheme.js +20 -20
  433. package/build/esm/ThemeExplorer/makeTailwindTheme.js.map +1 -1
  434. package/build/esm/ThemeExplorer/updateGoogleFonts.js +23 -64
  435. package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -1
  436. package/build/esm/ThemeExplorer/useDeferredColor.d.ts +3 -3
  437. package/build/esm/ThemeExplorer/useDeferredColor.js +2 -9
  438. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  439. package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +1 -1
  440. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +2 -10
  441. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
  442. package/build/esm/Tooltip/Tooltip.d.ts +8 -8
  443. package/build/esm/Tooltip/Tooltip.js +21 -25
  444. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  445. package/build/esm/Tooltip/index.d.ts +1 -1
  446. package/build/esm/Tooltip/index.js.map +1 -1
  447. package/build/esm/color.d.ts +8 -8
  448. package/build/esm/color.js +23 -31
  449. package/build/esm/color.js.map +1 -1
  450. package/build/esm/css.d.ts +1 -1
  451. package/build/esm/css.js.map +1 -1
  452. package/build/esm/hooks/useAnimation.d.ts +20 -20
  453. package/build/esm/hooks/useAnimation.js +42 -53
  454. package/build/esm/hooks/useAnimation.js.map +1 -1
  455. package/build/esm/index.d.ts +42 -42
  456. package/build/esm/index.js.map +1 -1
  457. package/build/esm/motion.d.ts +7 -7
  458. package/build/esm/motion.js +7 -7
  459. package/build/esm/motion.js.map +1 -1
  460. package/build/esm/tailwind/extendColors.d.ts +5 -5
  461. package/build/esm/tailwind/extendColors.js +17 -29
  462. package/build/esm/tailwind/extendColors.js.map +1 -1
  463. package/build/esm/tailwind/index.d.ts +8 -8
  464. package/build/esm/tailwind/index.js +17 -29
  465. package/build/esm/tailwind/index.js.map +1 -1
  466. package/build/esm/theme/index.d.ts +2 -2
  467. package/build/esm/theme/index.js.map +1 -1
  468. package/build/esm/theme/theme.d.ts +590 -562
  469. package/build/esm/theme/theme.js +49 -22
  470. package/build/esm/theme/theme.js.map +1 -1
  471. package/build/esm/theme/typography-raleway.d.ts +112 -112
  472. package/build/esm/theme/typography-raleway.js +1 -1
  473. package/build/esm/theme/typography-raleway.js.map +1 -1
  474. package/build/esm/theme/typography-roboto.d.ts +111 -111
  475. package/build/esm/theme/typography-roboto.js +1 -1
  476. package/build/esm/theme/typography-roboto.js.map +1 -1
  477. package/build/esm/theme/useTheme.d.ts +594 -566
  478. package/build/esm/theme/useTheme.js +1 -3
  479. package/build/esm/theme/useTheme.js.map +1 -1
  480. package/build/tsconfig-build.tsbuildinfo +1 -1
  481. package/package.json +12 -11
  482. package/src/Alert/index.ts +1 -1
  483. package/src/AppBar/AppBar.story.tsx +69 -69
  484. package/src/AppBar/AppBar.tsx +85 -85
  485. package/src/AppBar/AppBarButton.tsx +25 -25
  486. package/src/AppBar/context.ts +13 -13
  487. package/src/AppBar/index.ts +3 -3
  488. package/src/Badge/Badge.story.tsx +68 -68
  489. package/src/Badge/Badge.tsx +47 -47
  490. package/src/Badge/index.ts +1 -1
  491. package/src/BaseLine/BaseLine.tsx +100 -100
  492. package/src/BaseLine/index.ts +1 -1
  493. package/src/BottomSheet/BottomSheet.story.tsx +35 -35
  494. package/src/BottomSheet/BottomSheet.tsx +39 -39
  495. package/src/BottomSheet/BottomSheetSurface.tsx +49 -49
  496. package/src/BottomSheet/index.ts +1 -1
  497. package/src/Box/Box.tsx +133 -127
  498. package/src/Box/index.ts +1 -1
  499. package/src/Button/BaseButton.tsx +123 -18
  500. package/src/Button/Button.story.tsx +236 -72
  501. package/src/Button/Button.tsx +44 -15
  502. package/src/Button/ButtonGroup.story.tsx +263 -101
  503. package/src/Button/ButtonGroup.tsx +103 -7
  504. package/src/Button/FilledButton.tsx +2 -43
  505. package/src/Button/FloatingActionButton.tsx +14 -9
  506. package/src/Button/IconFilledButton.tsx +3 -0
  507. package/src/Button/IconOutlinedButton.tsx +3 -0
  508. package/src/Button/OutlinedButton.tsx +2 -41
  509. package/src/Button/SpinnerButton.story.tsx +91 -91
  510. package/src/Button/SplitButton.story.tsx +110 -0
  511. package/src/Button/SplitButton.tsx +40 -0
  512. package/src/Button/TransparentButton.tsx +1 -43
  513. package/src/Button/context.tsx +19 -17
  514. package/src/Button/index.ts +3 -2
  515. package/src/CheckBox/CheckBox.story.tsx +155 -155
  516. package/src/CheckBox/CheckBox.tsx +170 -170
  517. package/src/CheckBox/CheckBoxIcon.tsx +63 -64
  518. package/src/CheckBox/CheckPath.tsx +18 -18
  519. package/src/CheckBox/IndeterminatePath.tsx +16 -16
  520. package/src/CheckBox/index.ts +1 -1
  521. package/src/Chip/ButtonChip.tsx +86 -86
  522. package/src/Chip/Chip.story.tsx +242 -242
  523. package/src/Chip/Chip.tsx +5 -5
  524. package/src/Chip/ChipBase.tsx +141 -141
  525. package/src/Chip/ChoiceChip.tsx +127 -127
  526. package/src/Chip/index.ts +2 -2
  527. package/src/Combobox/Combobox.tsx +274 -274
  528. package/src/Combobox/index.ts +1 -1
  529. package/src/Dialog/Dialog.story.tsx +53 -53
  530. package/src/Dialog/Dialog.tsx +73 -73
  531. package/src/Dialog/DialogBackdrop.tsx +42 -42
  532. package/src/Dialog/DialogContainer.tsx +31 -31
  533. package/src/Dialog/DialogSurface.tsx +55 -55
  534. package/src/Dialog/Scrim.tsx +35 -35
  535. package/src/Dialog/index.ts +2 -2
  536. package/src/Dialog/useDialogAnimation.tsx +59 -49
  537. package/src/Divider/Divider.story.tsx +39 -39
  538. package/src/Divider/Divider.tsx +48 -48
  539. package/src/Divider/index.ts +1 -1
  540. package/src/FloatingLabel/FloatingLabel.story.tsx +55 -55
  541. package/src/FloatingLabel/FloatingLabel.tsx +77 -77
  542. package/src/FloatingLabel/index.ts +1 -1
  543. package/src/LineRipple/LineRipple.story.tsx +43 -43
  544. package/src/LineRipple/LineRipple.tsx +81 -81
  545. package/src/LineRipple/index.ts +1 -1
  546. package/src/Link/Link.story.tsx +14 -14
  547. package/src/Link/Link.tsx +65 -65
  548. package/src/Link/index.ts +1 -1
  549. package/src/List/List.tsx +46 -46
  550. package/src/List/index.ts +1 -1
  551. package/src/ListItem/ListItem.story.tsx +43 -43
  552. package/src/ListItem/ListItem.tsx +104 -104
  553. package/src/ListItem/ListItemText.tsx +35 -35
  554. package/src/ListItem/index.ts +2 -2
  555. package/src/Menu/ContextMenu.story.tsx +34 -34
  556. package/src/Menu/Menu.story.tsx +54 -54
  557. package/src/Menu/Menu.tsx +124 -124
  558. package/src/Menu/animation.ts +16 -16
  559. package/src/Menu/index.ts +2 -2
  560. package/src/NavRail/NavRail.story.tsx +146 -146
  561. package/src/NavRail/NavRailItem.tsx +176 -175
  562. package/src/NavRail/icons/test-icons.tsx +46 -46
  563. package/src/NavRail/index.ts +1 -1
  564. package/src/NotchedOutline/NotchedOutline.story.tsx +99 -99
  565. package/src/NotchedOutline/NotchedOutline.tsx +80 -80
  566. package/src/NotchedOutline/context.ts +12 -12
  567. package/src/NotchedOutline/index.ts +1 -1
  568. package/src/NotchedOutline/styledComponents.ts +122 -122
  569. package/src/Paper/Paper.story.tsx +50 -50
  570. package/src/Paper/Paper.tsx +67 -67
  571. package/src/Paper/index.ts +1 -1
  572. package/src/Popover/PopoverSurface.tsx +51 -51
  573. package/src/Popover/index.ts +1 -1
  574. package/src/ProgressSpinner/ProgressSpinner.story.tsx +35 -35
  575. package/src/ProgressSpinner/ProgressSpinner.tsx +119 -119
  576. package/src/ProgressSpinner/index.ts +1 -1
  577. package/src/RadioButton/RadioButton.story.tsx +109 -109
  578. package/src/RadioButton/RadioButton.tsx +112 -112
  579. package/src/RadioButton/RadioButtonIcon.tsx +44 -44
  580. package/src/RadioButton/RadioGroup.tsx +26 -27
  581. package/src/RadioButton/index.ts +2 -2
  582. package/src/Ripple/Ripple.story.tsx +78 -78
  583. package/src/Ripple/Ripple.tsx +33 -33
  584. package/src/Ripple/RippleBox.tsx +52 -52
  585. package/src/Ripple/constants.ts +15 -15
  586. package/src/Ripple/index.ts +5 -5
  587. package/src/Ripple/keyframes.ts +36 -36
  588. package/src/Ripple/useRipple.ts +209 -209
  589. package/src/Ripple/useRippleHandlers.ts +54 -54
  590. package/src/Ripple/useRippleSurface.ts +162 -155
  591. package/src/Select/CustomContainerExample.tsx +59 -59
  592. package/src/Select/PaymentMethodSelect.story.tsx +320 -316
  593. package/src/Select/Select.story.tsx +225 -225
  594. package/src/Select/Select.tsx +284 -283
  595. package/src/Select/SelectIcon.tsx +43 -43
  596. package/src/Select/SelectMultiple.story.tsx +214 -215
  597. package/src/Select/context.ts +22 -22
  598. package/src/Select/defaultRender.tsx +60 -49
  599. package/src/Select/index.ts +1 -1
  600. package/src/Select/styledComponents.tsx +38 -38
  601. package/src/SelectItem/SelectItem.tsx +92 -92
  602. package/src/SelectItem/index.ts +1 -1
  603. package/src/SelectionControl/SelectionControlLabel.tsx +34 -34
  604. package/src/SelectionControl/SelectionControlText.tsx +37 -37
  605. package/src/SelectionControl/index.ts +2 -2
  606. package/src/Skeleton/DelayAppearance.tsx +41 -41
  607. package/src/Skeleton/Skeleton.story.tsx +57 -57
  608. package/src/Skeleton/Skeleton.tsx +40 -40
  609. package/src/Skeleton/animation.ts +54 -54
  610. package/src/Skeleton/index.ts +2 -2
  611. package/src/Slider/Slider.story.tsx +36 -36
  612. package/src/Slider/Slider.tsx +275 -275
  613. package/src/Slider/index.ts +1 -1
  614. package/src/Snackbar/Snackbar.story.tsx +99 -99
  615. package/src/Snackbar/Snackbar.tsx +19 -16
  616. package/src/Switch/Switch.story.tsx +97 -98
  617. package/src/Switch/Switch.tsx +170 -170
  618. package/src/Switch/index.ts +1 -1
  619. package/src/Switch/styledComponents.tsx +117 -117
  620. package/src/Tab/Tab.story.tsx +209 -209
  621. package/src/Tab/Tab.tsx +120 -120
  622. package/src/Tab/TabList.tsx +61 -61
  623. package/src/Tab/TabPanel.tsx +31 -31
  624. package/src/Tab/TabPanels.tsx +5 -5
  625. package/src/Tab/Tabs.tsx +5 -5
  626. package/src/Tab/context.ts +17 -17
  627. package/src/Tab/index.ts +5 -5
  628. package/src/TabIndicator/TabIndicator.tsx +146 -146
  629. package/src/TabIndicator/context.ts +13 -13
  630. package/src/TabIndicator/index.ts +2 -2
  631. package/src/Table/context.ts +6 -6
  632. package/src/Text/LoremIpsum.tsx +18 -18
  633. package/src/Text/Text.story.tsx +79 -75
  634. package/src/Text/Text.tsx +84 -84
  635. package/src/Text/index.ts +1 -1
  636. package/src/TextField/FilledContainer.tsx +173 -173
  637. package/src/TextField/HelperText.tsx +63 -63
  638. package/src/TextField/OutlinedContainer.tsx +116 -116
  639. package/src/TextField/consts.ts +7 -7
  640. package/src/TextField/index.ts +4 -4
  641. package/src/ThemeExplorer/BorderSlider.tsx +73 -73
  642. package/src/ThemeExplorer/ColorPicker.tsx +104 -104
  643. package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -55
  644. package/src/ThemeExplorer/FontAutoComplete.tsx +139 -139
  645. package/src/ThemeExplorer/TextFieldColorPicker.tsx +112 -115
  646. package/src/ThemeExplorer/ThemeBuilder.story.tsx +8 -8
  647. package/src/ThemeExplorer/ThemeBuilder.tsx +437 -353
  648. package/src/ThemeExplorer/ThemeColors.tsx +122 -118
  649. package/src/ThemeExplorer/components.tsx +195 -195
  650. package/src/ThemeExplorer/googleFonts.ts +1436 -1436
  651. package/src/ThemeExplorer/index.ts +1 -1
  652. package/src/ThemeExplorer/makeColorScheme.tsx +111 -111
  653. package/src/ThemeExplorer/makeTailwindTheme.ts +44 -44
  654. package/src/ThemeExplorer/updateGoogleFonts.js +32 -33
  655. package/src/ThemeExplorer/useDeferredColor.tsx +21 -21
  656. package/src/ThemeExplorer/useLocalStorageCachedState.ts +18 -18
  657. package/src/Tooltip/Tooltip.story.tsx +35 -35
  658. package/src/Tooltip/Tooltip.tsx +67 -67
  659. package/src/Tooltip/index.ts +1 -1
  660. package/src/css.ts +2 -2
  661. package/src/hooks/useAnimation.ts +111 -111
  662. package/src/motion.ts +7 -7
  663. package/src/tailwind/extendColors.ts +51 -51
  664. package/src/tailwind/index.ts +57 -56
  665. package/src/tailwind/tests/extendColors.test.ts +123 -123
  666. package/src/theme/index.ts +2 -2
  667. package/src/theme/theme.ts +36 -8
  668. package/src/theme/typography-raleway.ts +114 -114
  669. package/src/theme/typography-roboto.ts +113 -113
  670. package/src/theme/useTheme.ts +17 -18
  671. package/tailwind/package.json +5 -5
  672. package/theme-explorer/package.json +5 -5
@@ -1,23 +1,85 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["__css", "variant", "elevation"];
4
1
  import { forwardRef } from 'react';
5
2
  import { useTheme } from '@emotion/react';
6
- import { variant } from 'styled-system';
7
3
  import { Box } from '../Box';
8
4
  import { jsx as _jsx } from "react/jsx-runtime";
9
- export var BaseButton = /*#__PURE__*/forwardRef(function (props, ref) {
10
- var theme = useTheme();
11
-
12
- var __css = props.__css,
13
- variantProp = props.variant,
14
- elevation = props.elevation,
15
- otherProps = _objectWithoutProperties(props, _excluded);
16
-
17
- return /*#__PURE__*/_jsx(Box, _extends({
5
+ const sizeStyles = {
6
+ xs: {
7
+ height: "2rem",
8
+ iconSize: "1.25rem",
9
+ contentPaddingInline: "0.75rem",
10
+ standardInnerRadius: "0.75rem",
11
+ connectedInnerRadius: "0.25rem",
12
+ splitInnerRadius: "0.25rem"
13
+ },
14
+ sm: {
15
+ height: "2.5rem",
16
+ iconSize: "1.5rem",
17
+ contentPaddingInline: "1rem",
18
+ standardInnerRadius: "0.75rem",
19
+ connectedInnerRadius: "0.5rem",
20
+ splitInnerRadius: "0.25rem"
21
+ },
22
+ md: {
23
+ height: "3.5rem",
24
+ iconSize: "1.5rem",
25
+ contentPaddingInline: "1.5rem",
26
+ standardInnerRadius: "1rem",
27
+ connectedInnerRadius: "0.5rem",
28
+ splitInnerRadius: "0.25rem"
29
+ },
30
+ lg: {
31
+ height: "6rem",
32
+ iconSize: "2rem",
33
+ contentPaddingInline: "3rem",
34
+ standardInnerRadius: "1.75rem",
35
+ connectedInnerRadius: "1rem",
36
+ splitInnerRadius: "0.5rem"
37
+ },
38
+ xl: {
39
+ height: "8.5rem",
40
+ iconSize: "2.5rem",
41
+ contentPaddingInline: "4rem",
42
+ standardInnerRadius: "1.75rem",
43
+ connectedInnerRadius: "1.25rem",
44
+ splitInnerRadius: "0.75rem"
45
+ }
46
+ };
47
+ function getTypographyVariant(size) {
48
+ if (size === 'md') return 'text.title-medium';
49
+ if (size === 'lg') return 'text.headline-small';
50
+ if (size === 'xl') return 'text.headline-large';
51
+ return 'text.label-large';
52
+ }
53
+ function getSquareRadius(size) {
54
+ if (size === 'md') return 'large';
55
+ if (size === 'lg' || size === 'xl') return 'extra-large';
56
+ return 'medium';
57
+ }
58
+ function isIconVariant(variant) {
59
+ return variant === 'icon' || variant === 'icon-filled' || variant === 'icon-outlined' || variant === 'fab';
60
+ }
61
+ export const BaseButton = /*#__PURE__*/forwardRef((props, ref) => {
62
+ const theme = useTheme();
63
+ const {
64
+ __css,
65
+ variant: variantProp = 'text',
66
+ elevation = 'none',
67
+ size = 'sm',
68
+ shape = 'rounded',
69
+ isGroupedButton,
70
+ ...otherProps
71
+ } = props;
72
+ const sizeStyle = sizeStyles[size];
73
+ const iconOnly = isIconVariant(variantProp);
74
+ const contentButton = !iconOnly;
75
+ return /*#__PURE__*/_jsx(Box, {
18
76
  as: "button",
19
77
  ref: ref,
20
- __css: _extends(_extends(_extends({
78
+ variant: variantProp,
79
+ "data-button-grouped": isGroupedButton ? '' : undefined,
80
+ "data-button-shape": shape,
81
+ "data-button-size": size,
82
+ __css: {
21
83
  boxSizing: 'border-box',
22
84
  position: 'relative',
23
85
  appearance: 'none',
@@ -29,34 +91,43 @@ export var BaseButton = /*#__PURE__*/forwardRef(function (props, ref) {
29
91
  textDecoration: 'none',
30
92
  fontSize: 'inherit',
31
93
  border: 0,
94
+ boxShadow: 'none',
32
95
  overflow: 'hidden',
33
96
  WebkitTapHighlightColor: 'transparent',
34
97
  touchAction: 'manipulation',
35
98
  userSelect: 'none',
36
- minWidth: 'auto',
99
+ minWidth: 'fit-content',
37
100
  whiteSpace: 'nowrap',
101
+ cursor: 'pointer',
102
+ outline: 'none',
103
+ py: 0,
104
+ variant: getTypographyVariant(size),
105
+ height: sizeStyle.height,
106
+ borderRadius: shape === 'square' ? getSquareRadius(size) : 'full',
107
+ ...(contentButton && {
108
+ px: sizeStyle.contentPaddingInline
109
+ }),
110
+ ...(iconOnly && {
111
+ width: sizeStyle.height,
112
+ maxWidth: sizeStyle.height,
113
+ maxHeight: sizeStyle.height,
114
+ px: `calc((${sizeStyle.height} - ${sizeStyle.iconSize}) / 2)`
115
+ }),
116
+ '--btn-pill-radius': `calc(${sizeStyle.height} / 2)`,
117
+ '--btn-standard-inner-radius': sizeStyle.standardInnerRadius,
118
+ '--btn-connected-inner-radius': sizeStyle.connectedInnerRadius,
119
+ '--btn-split-inner-radius': sizeStyle.splitInnerRadius,
120
+ '& svg': {
121
+ width: sizeStyle.iconSize,
122
+ height: sizeStyle.iconSize
123
+ },
38
124
  '&::-moz-focus-inner': {
39
125
  border: 0
40
- }
41
- }, variant({
42
- scale: 'buttons.variants',
43
- prop: 'variant',
44
- variants: {
45
- text: {}
46
- }
47
- })({
48
- variant: variantProp,
49
- theme: theme
50
- })), variant({
51
- scale: 'buttons.elevations',
52
- prop: 'elevation',
53
- variants: {
54
- none: {}
55
- }
56
- })({
57
- elevation: elevation,
58
- theme: theme
59
- })), __css)
60
- }, otherProps));
126
+ },
127
+ ...(theme.buttons.elevations[elevation] ?? {}),
128
+ ...__css
129
+ },
130
+ ...otherProps
131
+ });
61
132
  });
62
133
  //# sourceMappingURL=BaseButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton.js","names":["forwardRef","useTheme","variant","Box","BaseButton","props","ref","theme","__css","variantProp","elevation","otherProps","boxSizing","position","appearance","display","alignItems","justifyContent","textAlign","lineHeight","textDecoration","fontSize","border","overflow","WebkitTapHighlightColor","touchAction","userSelect","minWidth","whiteSpace","scale","prop","variants","text","none"],"sources":["../../../src/Button/BaseButton.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '@emotion/react';\nimport { variant } from 'styled-system';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\nexport interface BaseButtonProps\n extends BoxProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>> {\n elevation?: string;\n isGroupedButton?: boolean;\n}\n\nexport const BaseButton = forwardRef<HTMLButtonElement, BaseButtonProps>(\n (props, ref) => {\n const theme = useTheme();\n const { __css, variant: variantProp, elevation, ...otherProps } = props;\n\n return (\n <Box<BoxProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>>>\n as=\"button\"\n ref={ref}\n __css={{\n boxSizing: 'border-box',\n position: 'relative',\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n lineHeight: 'inherit',\n textDecoration: 'none',\n fontSize: 'inherit',\n border: 0,\n overflow: 'hidden',\n WebkitTapHighlightColor: 'transparent',\n touchAction: 'manipulation',\n userSelect: 'none',\n minWidth: 'auto',\n whiteSpace: 'nowrap',\n '&::-moz-focus-inner': {\n border: 0,\n },\n ...variant({\n scale: 'buttons.variants',\n prop: 'variant',\n variants: {\n text: {},\n },\n })({ variant: variantProp, theme }),\n ...variant({\n scale: 'buttons.elevations',\n prop: 'elevation',\n variants: {\n none: {},\n },\n })({ elevation, theme }),\n ...__css,\n }}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,SAASC,OAAT,QAAwB,eAAxB;AAGA,SAASC,GAAT,QAAoB,QAApB;;AAQA,OAAO,IAAMC,UAAU,gBAAGJ,UAAU,CAClC,UAACK,KAAD,EAAQC,GAAR,EAAgB;EACd,IAAMC,KAAK,GAAGN,QAAQ,EAAtB;;EACA,IAAQO,KAAR,GAAkEH,KAAlE,CAAQG,KAAR;EAAA,IAAwBC,WAAxB,GAAkEJ,KAAlE,CAAeH,OAAf;EAAA,IAAqCQ,SAArC,GAAkEL,KAAlE,CAAqCK,SAArC;EAAA,IAAmDC,UAAnD,4BAAkEN,KAAlE;;EAEA,oBACE,KAAC,GAAD;IACE,EAAE,EAAC,QADL;IAEE,GAAG,EAAEC,GAFP;IAGE,KAAK;MACHM,SAAS,EAAE,YADR;MAEHC,QAAQ,EAAE,UAFP;MAGHC,UAAU,EAAE,MAHT;MAIHC,OAAO,EAAE,aAJN;MAKHC,UAAU,EAAE,QALT;MAMHC,cAAc,EAAE,QANb;MAOHC,SAAS,EAAE,QAPR;MAQHC,UAAU,EAAE,SART;MASHC,cAAc,EAAE,MATb;MAUHC,QAAQ,EAAE,SAVP;MAWHC,MAAM,EAAE,CAXL;MAYHC,QAAQ,EAAE,QAZP;MAaHC,uBAAuB,EAAE,aAbtB;MAcHC,WAAW,EAAE,cAdV;MAeHC,UAAU,EAAE,MAfT;MAgBHC,QAAQ,EAAE,MAhBP;MAiBHC,UAAU,EAAE,QAjBT;MAkBH,uBAAuB;QACrBN,MAAM,EAAE;MADa;IAlBpB,GAqBApB,OAAO,CAAC;MACT2B,KAAK,EAAE,kBADE;MAETC,IAAI,EAAE,SAFG;MAGTC,QAAQ,EAAE;QACRC,IAAI,EAAE;MADE;IAHD,CAAD,CAAP,CAMA;MAAE9B,OAAO,EAAEO,WAAX;MAAwBF,KAAK,EAALA;IAAxB,CANA,CArBA,GA4BAL,OAAO,CAAC;MACT2B,KAAK,EAAE,oBADE;MAETC,IAAI,EAAE,WAFG;MAGTC,QAAQ,EAAE;QACRE,IAAI,EAAE;MADE;IAHD,CAAD,CAAP,CAMA;MAAEvB,SAAS,EAATA,SAAF;MAAaH,KAAK,EAALA;IAAb,CANA,CA5BA,GAmCAC,KAnCA;EAHP,GAwCMG,UAxCN,EADF;AA4CD,CAjDiC,CAA7B"}
1
+ {"version":3,"file":"BaseButton.js","names":["forwardRef","useTheme","Box","jsx","_jsx","sizeStyles","xs","height","iconSize","contentPaddingInline","standardInnerRadius","connectedInnerRadius","splitInnerRadius","sm","md","lg","xl","getTypographyVariant","size","getSquareRadius","isIconVariant","variant","BaseButton","props","ref","theme","__css","variantProp","elevation","shape","isGroupedButton","otherProps","sizeStyle","iconOnly","contentButton","as","undefined","boxSizing","position","appearance","display","alignItems","justifyContent","textAlign","lineHeight","textDecoration","fontSize","border","boxShadow","overflow","WebkitTapHighlightColor","touchAction","userSelect","minWidth","whiteSpace","cursor","outline","py","borderRadius","px","width","maxWidth","maxHeight","buttons","elevations"],"sources":["../../../src/Button/BaseButton.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '@emotion/react';\nimport { rem } from 'polished';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport type { ButtonVariants } from './Button';\n\nexport type ButtonElevation =\n | 'none'\n | 'default'\n | 'elevated'\n | 'floating'\n | 'contained';\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type ButtonShape = 'rounded' | 'square';\n\nexport interface BaseButtonProps\n extends BoxProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>> {\n elevation?: ButtonElevation;\n size?: ButtonSize;\n shape?: ButtonShape;\n isGroupedButton?: boolean;\n variant?: ButtonVariants;\n}\n\nconst sizeStyles = {\n xs: {\n height: rem(32),\n iconSize: rem(20),\n contentPaddingInline: rem(12),\n standardInnerRadius: rem(12),\n connectedInnerRadius: rem(4),\n splitInnerRadius: rem(4),\n },\n sm: {\n height: rem(40),\n iconSize: rem(24),\n contentPaddingInline: rem(16),\n standardInnerRadius: rem(12),\n connectedInnerRadius: rem(8),\n splitInnerRadius: rem(4),\n },\n md: {\n height: rem(56),\n iconSize: rem(24),\n contentPaddingInline: rem(24),\n standardInnerRadius: rem(16),\n connectedInnerRadius: rem(8),\n splitInnerRadius: rem(4),\n },\n lg: {\n height: rem(96),\n iconSize: rem(32),\n contentPaddingInline: rem(48),\n standardInnerRadius: rem(28),\n connectedInnerRadius: rem(16),\n splitInnerRadius: rem(8),\n },\n xl: {\n height: rem(136),\n iconSize: rem(40),\n contentPaddingInline: rem(64),\n standardInnerRadius: rem(28),\n connectedInnerRadius: rem(20),\n splitInnerRadius: rem(12),\n },\n};\n\nfunction getTypographyVariant(size: ButtonSize) {\n if (size === 'md') return 'text.title-medium';\n if (size === 'lg') return 'text.headline-small';\n if (size === 'xl') return 'text.headline-large';\n return 'text.label-large';\n}\n\nfunction getSquareRadius(size: ButtonSize) {\n if (size === 'md') return 'large';\n if (size === 'lg' || size === 'xl') return 'extra-large';\n return 'medium';\n}\n\nfunction isIconVariant(variant?: ButtonVariants) {\n return (\n variant === 'icon' ||\n variant === 'icon-filled' ||\n variant === 'icon-outlined' ||\n variant === 'fab'\n );\n}\n\nexport const BaseButton = forwardRef<HTMLButtonElement, BaseButtonProps>(\n (props, ref) => {\n const theme = useTheme();\n const {\n __css,\n variant: variantProp = 'text',\n elevation = 'none',\n size = 'sm',\n shape = 'rounded',\n isGroupedButton,\n ...otherProps\n } = props;\n const sizeStyle = sizeStyles[size];\n const iconOnly = isIconVariant(variantProp);\n const contentButton = !iconOnly;\n\n return (\n <Box<BoxProps<HTMLButtonElement, ButtonHTMLAttributes<HTMLButtonElement>>>\n as=\"button\"\n ref={ref}\n variant={variantProp}\n data-button-grouped={isGroupedButton ? '' : undefined}\n data-button-shape={shape}\n data-button-size={size}\n __css={{\n boxSizing: 'border-box',\n position: 'relative',\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n lineHeight: 'inherit',\n textDecoration: 'none',\n fontSize: 'inherit',\n border: 0,\n boxShadow: 'none',\n overflow: 'hidden',\n WebkitTapHighlightColor: 'transparent',\n touchAction: 'manipulation',\n userSelect: 'none',\n minWidth: 'fit-content',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n outline: 'none',\n py: 0,\n variant: getTypographyVariant(size),\n height: sizeStyle.height,\n borderRadius: shape === 'square' ? getSquareRadius(size) : 'full',\n ...(contentButton && {\n px: sizeStyle.contentPaddingInline,\n }),\n ...(iconOnly && {\n width: sizeStyle.height,\n maxWidth: sizeStyle.height,\n maxHeight: sizeStyle.height,\n px: `calc((${sizeStyle.height} - ${sizeStyle.iconSize}) / 2)`,\n }),\n '--btn-pill-radius': `calc(${sizeStyle.height} / 2)`,\n '--btn-standard-inner-radius': sizeStyle.standardInnerRadius,\n '--btn-connected-inner-radius': sizeStyle.connectedInnerRadius,\n '--btn-split-inner-radius': sizeStyle.splitInnerRadius,\n '& svg': {\n width: sizeStyle.iconSize,\n height: sizeStyle.iconSize,\n },\n '&::-moz-focus-inner': {\n border: 0,\n },\n ...((theme.buttons.elevations as Record<string, object>)[elevation] ??\n {}),\n ...__css,\n }}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,14 @@
1
- import type { ElementType, ReactNode } from 'react';
2
- import type { BaseButtonProps } from './BaseButton';
3
- export declare type ButtonVariants = 'text' | 'outlined' | 'filled' | 'fab' | 'fab-mini' | 'fab-large' | 'fab-extended' | 'icon';
4
- export declare type ButtonColors = 'primary' | 'secondary' | string;
5
- export interface ButtonProps extends BaseButtonProps {
6
- as?: ElementType<any>;
7
- children?: ReactNode;
8
- variant?: ButtonVariants;
9
- color?: ButtonColors;
10
- disabled?: boolean;
11
- elevation?: 'none' | 'default' | 'contained' | 'floating' | 'elevated';
12
- }
13
- export declare const Button: import("react").ForwardRefExoticComponent<Pick<ButtonProps, "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "bottom" | "color" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "textAlign" | "textShadow" | "top" | "translate" | "verticalAlign" | "width" | "background" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "overflow" | "padding" | "bg" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "form" | "slot" | "style" | "title" | "hidden" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "size" | "borderX" | "borderY" | "gridGap" | "gridColumnGap" | "gridRowGap" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "elevation" | "isGroupedButton" | "key"> & import("react").RefAttributes<HTMLButtonElement>>;
1
+ import type { ElementType, ReactNode } from 'react';
2
+ import type { BaseButtonProps, ButtonShape, ButtonSize } from './BaseButton';
3
+ export type { ButtonShape, ButtonSize };
4
+ export type ButtonVariants = 'text' | 'outlined' | 'filled' | 'fab' | 'fab-extended' | 'icon' | 'icon-filled' | 'icon-outlined';
5
+ export type ButtonColors = 'primary' | 'secondary' | string;
6
+ export interface ButtonProps extends BaseButtonProps {
7
+ as?: ElementType<any>;
8
+ children?: ReactNode;
9
+ variant?: ButtonVariants;
10
+ color?: ButtonColors;
11
+ disabled?: boolean;
12
+ elevation?: 'none' | 'default' | 'contained' | 'floating' | 'elevated';
13
+ }
14
+ export declare const Button: import("react").ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1,85 +1,103 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "variant", "onPointerDown", "onKeyDown", "color", "disabled", "elevation", "style"];
4
1
  import { forwardRef } from 'react';
5
2
  import * as TransparentButton from './TransparentButton';
6
3
  import * as FloatingActionButton from './FloatingActionButton';
7
4
  import * as FilledButton from './FilledButton';
8
5
  import * as OutlinedButton from './OutlinedButton';
9
6
  import * as IconButton from './IconButton';
7
+ import * as IconFilledButton from './IconFilledButton';
8
+ import * as IconOutlinedButton from './IconOutlinedButton';
10
9
  import { useTheme } from '../theme';
11
10
  import { useRippleSurface } from '../Ripple';
12
11
  import { useButtonGroupContext } from './context';
13
12
  import { jsx as _jsx } from "react/jsx-runtime";
14
- var componentMapping = {
13
+ const componentMapping = {
15
14
  text: TransparentButton.TransparentButton,
16
15
  outlined: OutlinedButton.OutlinedButton,
17
16
  filled: FilledButton.FilledButton,
18
- fab: FilledButton.FilledButton,
19
- 'fab-mini': FilledButton.FilledButton,
20
- 'fab-large': FilledButton.FilledButton,
17
+ fab: FloatingActionButton.FloatingActionButton,
21
18
  'fab-extended': FilledButton.FilledButton,
22
- icon: TransparentButton.TransparentButton
19
+ icon: TransparentButton.TransparentButton,
20
+ 'icon-filled': IconFilledButton.IconFilledButton,
21
+ 'icon-outlined': IconOutlinedButton.IconOutlinedButton
23
22
  };
24
- var rippleMapping = {
23
+ const rippleMapping = {
25
24
  text: TransparentButton.getRippleProperties,
26
25
  outlined: TransparentButton.getRippleProperties,
27
26
  filled: FilledButton.getRippleProperties,
28
27
  fab: FloatingActionButton.getRippleProperties,
29
- 'fab-mini': FloatingActionButton.getRippleProperties,
30
- 'fab-large': FloatingActionButton.getRippleProperties,
31
- 'fab-extended': FilledButton.getRippleProperties,
32
- icon: IconButton.getRippleProperties
28
+ 'fab-extended': FloatingActionButton.getRippleProperties,
29
+ icon: IconButton.getRippleProperties,
30
+ 'icon-filled': IconButton.getRippleProperties,
31
+ 'icon-outlined': IconButton.getRippleProperties
33
32
  };
34
-
35
33
  function getFallbackElevation() {
36
- var variant = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'text';
37
-
38
- if (variant === 'text' || variant === 'outlined' || variant === 'icon') {
39
- return 'none';
34
+ let variant = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'text';
35
+ if (variant === 'fab' || variant === 'fab-extended') {
36
+ return 'floating';
40
37
  }
41
-
42
- return 'default';
38
+ if (variant === 'filled') {
39
+ return 'default';
40
+ }
41
+ return 'none';
42
+ }
43
+ function getFallbackSize() {
44
+ let variant = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'text';
45
+ if (variant === 'fab-extended') {
46
+ return 'md';
47
+ }
48
+ return 'sm';
49
+ }
50
+ function getFallbackShape() {
51
+ let variant = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'text';
52
+ if (variant === 'fab' || variant === 'fab-extended') {
53
+ return 'square';
54
+ }
55
+ return 'rounded';
43
56
  }
44
-
45
- export var Button = /*#__PURE__*/forwardRef(function Button(props, forwardedRef) {
46
- var buttonGroup = useButtonGroupContext();
47
-
48
- var children = props.children,
49
- _props$variant = props.variant,
50
- variant = _props$variant === void 0 ? (buttonGroup === null || buttonGroup === void 0 ? void 0 : buttonGroup.variant) || 'text' : _props$variant,
51
- onPointerDownProp = props.onPointerDown,
52
- onKeyDownProp = props.onKeyDown,
53
- _props$color = props.color,
54
- color = _props$color === void 0 ? 'primary' : _props$color,
55
- _props$disabled = props.disabled,
56
- disabled = _props$disabled === void 0 ? false : _props$disabled,
57
- _props$elevation = props.elevation,
58
- elevation = _props$elevation === void 0 ? getFallbackElevation(props.variant) : _props$elevation,
59
- styleProp = props.style,
60
- otherProps = _objectWithoutProperties(props, _excluded);
61
-
62
- var theme = useTheme();
63
- var Comp = componentMapping[variant];
64
- var getRippleProperties = rippleMapping[variant];
65
- var rippleProps = useRippleSurface(_extends(_extends({}, getRippleProperties(theme)), {}, {
57
+ export const Button = /*#__PURE__*/forwardRef(function Button(props, forwardedRef) {
58
+ const buttonGroup = useButtonGroupContext();
59
+ const {
60
+ children,
61
+ variant = buttonGroup?.buttonVariant || 'text',
62
+ onPointerDown: onPointerDownProp,
63
+ onKeyDown: onKeyDownProp,
64
+ color = 'primary',
65
+ disabled = false,
66
+ size = getFallbackSize(props.variant),
67
+ shape = getFallbackShape(props.variant),
68
+ elevation = getFallbackElevation(props.variant),
69
+ style: styleProp,
70
+ ...otherProps
71
+ } = props;
72
+ const theme = useTheme();
73
+ const Comp = componentMapping[variant];
74
+ const getRippleProperties = rippleMapping[variant];
75
+ const rippleProps = useRippleSurface({
76
+ ...(getRippleProperties?.(theme) ?? {}),
66
77
  rippleColor: 'currentColor',
67
- disabled: disabled,
78
+ disabled,
68
79
  style: styleProp,
69
80
  onKeyDown: onKeyDownProp,
70
81
  onPointerDown: onPointerDownProp
71
- }));
72
- return /*#__PURE__*/_jsx(Comp, _extends(_extends(_extends({
82
+ });
83
+ if (!Comp || !getRippleProperties) {
84
+ console.warn(`Unsupported button variant: ${variant}.`);
85
+ return null;
86
+ }
87
+ return /*#__PURE__*/_jsx(Comp, {
73
88
  ref: forwardedRef,
74
89
  variant: variant,
75
90
  theme: theme,
76
91
  disabled: disabled,
77
92
  "aria-disabled": disabled ? 'true' : undefined,
78
93
  color: color,
94
+ size: size,
95
+ shape: shape,
79
96
  elevation: elevation,
80
- isGroupedButton: Boolean(buttonGroup)
81
- }, rippleProps), otherProps), {}, {
97
+ isGroupedButton: Boolean(buttonGroup),
98
+ ...rippleProps,
99
+ ...otherProps,
82
100
  children: children
83
- }));
101
+ });
84
102
  });
85
103
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["forwardRef","TransparentButton","FloatingActionButton","FilledButton","OutlinedButton","IconButton","useTheme","useRippleSurface","useButtonGroupContext","componentMapping","text","outlined","filled","fab","icon","rippleMapping","getRippleProperties","getFallbackElevation","variant","Button","props","forwardedRef","buttonGroup","children","onPointerDownProp","onPointerDown","onKeyDownProp","onKeyDown","color","disabled","elevation","styleProp","style","otherProps","theme","Comp","rippleProps","rippleColor","undefined","Boolean"],"sources":["../../../src/Button/Button.tsx"],"sourcesContent":["import type { ComponentType, ElementType, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport * as TransparentButton from './TransparentButton';\nimport * as FloatingActionButton from './FloatingActionButton';\nimport * as FilledButton from './FilledButton';\nimport * as OutlinedButton from './OutlinedButton';\nimport * as IconButton from './IconButton';\nimport { useTheme } from '../theme';\nimport { useRippleSurface } from '../Ripple';\nimport type { BaseButtonProps } from './BaseButton';\nimport { useButtonGroupContext } from './context';\n\nexport type ButtonVariants =\n | 'text'\n | 'outlined'\n | 'filled'\n | 'fab'\n | 'fab-mini'\n | 'fab-large'\n | 'fab-extended'\n | 'icon';\n\nconst componentMapping = {\n text: TransparentButton.TransparentButton,\n outlined: OutlinedButton.OutlinedButton,\n filled: FilledButton.FilledButton,\n fab: FilledButton.FilledButton,\n 'fab-mini': FilledButton.FilledButton,\n 'fab-large': FilledButton.FilledButton,\n 'fab-extended': FilledButton.FilledButton,\n icon: TransparentButton.TransparentButton,\n};\n\nconst rippleMapping = {\n text: TransparentButton.getRippleProperties,\n outlined: TransparentButton.getRippleProperties,\n filled: FilledButton.getRippleProperties,\n fab: FloatingActionButton.getRippleProperties,\n 'fab-mini': FloatingActionButton.getRippleProperties,\n 'fab-large': FloatingActionButton.getRippleProperties,\n 'fab-extended': FilledButton.getRippleProperties,\n icon: IconButton.getRippleProperties,\n};\n\nexport type ButtonColors = 'primary' | 'secondary' | string;\n\nexport interface ButtonProps extends BaseButtonProps {\n as?: ElementType<any>;\n children?: ReactNode;\n variant?: ButtonVariants;\n color?: ButtonColors;\n disabled?: boolean;\n elevation?: 'none' | 'default' | 'contained' | 'floating' | 'elevated';\n}\n\nfunction getFallbackElevation(variant: ButtonVariants = 'text') {\n if (variant === 'text' || variant === 'outlined' || variant === 'icon') {\n return 'none';\n }\n return 'default';\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, forwardedRef) {\n const buttonGroup = useButtonGroupContext();\n const {\n children,\n variant = buttonGroup?.variant || 'text',\n onPointerDown: onPointerDownProp,\n onKeyDown: onKeyDownProp,\n color = 'primary',\n disabled = false,\n elevation = getFallbackElevation(props.variant),\n style: styleProp,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const Comp: ComponentType<any> = componentMapping[variant];\n const getRippleProperties = rippleMapping[variant];\n\n const rippleProps = useRippleSurface({\n ...getRippleProperties(theme),\n rippleColor: 'currentColor',\n disabled,\n style: styleProp,\n onKeyDown: onKeyDownProp,\n onPointerDown: onPointerDownProp,\n });\n\n return (\n <Comp\n ref={forwardedRef}\n variant={variant}\n theme={theme}\n disabled={disabled}\n aria-disabled={disabled ? 'true' : undefined}\n color={color}\n elevation={elevation}\n isGroupedButton={Boolean(buttonGroup)}\n {...rippleProps}\n {...otherProps}\n >\n {children}\n </Comp>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["forwardRef","TransparentButton","FloatingActionButton","FilledButton","OutlinedButton","IconButton","IconFilledButton","IconOutlinedButton","useTheme","useRippleSurface","useButtonGroupContext","jsx","_jsx","componentMapping","text","outlined","filled","fab","icon","rippleMapping","getRippleProperties","getFallbackElevation","variant","arguments","length","undefined","getFallbackSize","getFallbackShape","Button","props","forwardedRef","buttonGroup","children","buttonVariant","onPointerDown","onPointerDownProp","onKeyDown","onKeyDownProp","color","disabled","size","shape","elevation","style","styleProp","otherProps","theme","Comp","rippleProps","rippleColor","console","warn","ref","isGroupedButton","Boolean"],"sources":["../../../src/Button/Button.tsx"],"sourcesContent":["import type { ComponentType, ElementType, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport * as TransparentButton from './TransparentButton';\nimport * as FloatingActionButton from './FloatingActionButton';\nimport * as FilledButton from './FilledButton';\nimport * as OutlinedButton from './OutlinedButton';\nimport * as IconButton from './IconButton';\nimport * as IconFilledButton from './IconFilledButton';\nimport * as IconOutlinedButton from './IconOutlinedButton';\nimport { useTheme } from '../theme';\nimport { useRippleSurface } from '../Ripple';\nimport type { BaseButtonProps, ButtonShape, ButtonSize } from './BaseButton';\nexport type { ButtonShape, ButtonSize };\nimport { useButtonGroupContext } from './context';\n\nexport type ButtonVariants =\n | 'text'\n | 'outlined'\n | 'filled'\n | 'fab'\n | 'fab-extended'\n | 'icon'\n | 'icon-filled'\n | 'icon-outlined';\n\nconst componentMapping = {\n text: TransparentButton.TransparentButton,\n outlined: OutlinedButton.OutlinedButton,\n filled: FilledButton.FilledButton,\n fab: FloatingActionButton.FloatingActionButton,\n 'fab-extended': FilledButton.FilledButton,\n icon: TransparentButton.TransparentButton,\n 'icon-filled': IconFilledButton.IconFilledButton,\n 'icon-outlined': IconOutlinedButton.IconOutlinedButton,\n};\n\nconst rippleMapping = {\n text: TransparentButton.getRippleProperties,\n outlined: TransparentButton.getRippleProperties,\n filled: FilledButton.getRippleProperties,\n fab: FloatingActionButton.getRippleProperties,\n 'fab-extended': FloatingActionButton.getRippleProperties,\n icon: IconButton.getRippleProperties,\n 'icon-filled': IconButton.getRippleProperties,\n 'icon-outlined': IconButton.getRippleProperties,\n};\n\nexport type ButtonColors = 'primary' | 'secondary' | string;\n\nexport interface ButtonProps extends BaseButtonProps {\n as?: ElementType<any>;\n children?: ReactNode;\n variant?: ButtonVariants;\n color?: ButtonColors;\n disabled?: boolean;\n elevation?: 'none' | 'default' | 'contained' | 'floating' | 'elevated';\n}\n\nfunction getFallbackElevation(variant: ButtonVariants = 'text') {\n if (variant === 'fab' || variant === 'fab-extended') {\n return 'floating';\n }\n if (variant === 'filled') {\n return 'default';\n }\n return 'none';\n}\n\nfunction getFallbackSize(variant: ButtonVariants = 'text'): ButtonSize {\n if (variant === 'fab-extended') {\n return 'md';\n }\n return 'sm';\n}\n\nfunction getFallbackShape(variant: ButtonVariants = 'text'): ButtonShape {\n if (variant === 'fab' || variant === 'fab-extended') {\n return 'square';\n }\n return 'rounded';\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, forwardedRef) {\n const buttonGroup = useButtonGroupContext();\n const {\n children,\n variant = buttonGroup?.buttonVariant || 'text',\n onPointerDown: onPointerDownProp,\n onKeyDown: onKeyDownProp,\n color = 'primary',\n disabled = false,\n size = getFallbackSize(props.variant),\n shape = getFallbackShape(props.variant),\n elevation = getFallbackElevation(props.variant),\n style: styleProp,\n ...otherProps\n } = props;\n\n const theme = useTheme();\n\n const Comp: ComponentType<any> = componentMapping[variant];\n const getRippleProperties = rippleMapping[variant];\n\n const rippleProps = useRippleSurface({\n ...(getRippleProperties?.(theme) ?? {}),\n rippleColor: 'currentColor',\n disabled,\n style: styleProp,\n onKeyDown: onKeyDownProp,\n onPointerDown: onPointerDownProp,\n });\n\n if (!Comp || !getRippleProperties) {\n console.warn(`Unsupported button variant: ${variant}.`);\n return null;\n }\n\n return (\n <Comp\n ref={forwardedRef}\n variant={variant}\n theme={theme}\n disabled={disabled}\n aria-disabled={disabled ? 'true' : undefined}\n color={color}\n size={size}\n shape={shape}\n elevation={elevation}\n isGroupedButton={Boolean(buttonGroup)}\n {...rippleProps}\n {...otherProps}\n >\n {children}\n </Comp>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- import type { ButtonProps } from './Button';
3
- import type { ButtonGroupContextProps } from './context';
4
- export declare type ButtonGroupProps = ButtonProps & ButtonGroupContextProps;
5
- export declare const ButtonGroup: import("react").ForwardRefExoticComponent<Pick<ButtonGroupProps, "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "bottom" | "color" | "direction" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "textAlign" | "textShadow" | "top" | "translate" | "verticalAlign" | "width" | "background" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "overflow" | "padding" | "bg" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "form" | "slot" | "style" | "title" | "hidden" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "size" | "borderX" | "borderY" | "gridGap" | "gridColumnGap" | "gridRowGap" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "elevation" | "isGroupedButton" | "key"> & import("react").RefAttributes<HTMLDivElement>>;
1
+ import type { ButtonGroupContextProps } from './context';
2
+ import { type BoxProps } from '../Box';
3
+ export type ButtonGroupProps = BoxProps & ButtonGroupContextProps;
4
+ export declare const ButtonGroup: import("react").ForwardRefExoticComponent<Omit<ButtonGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;