@basic-ui/material 1.0.0-alpha.2 → 1.0.0-alpha.21

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 (481) hide show
  1. package/build/cjs/index.js +1669 -1354
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Alert/Alert.d.ts +1 -1
  4. package/build/esm/Alert/Alert.js +3 -2
  5. package/build/esm/Alert/Alert.js.map +1 -1
  6. package/build/esm/Alert/index.js.map +1 -1
  7. package/build/esm/AppBar/AppBar.d.ts +3 -3
  8. package/build/esm/AppBar/AppBar.js +6 -5
  9. package/build/esm/AppBar/AppBar.js.map +1 -1
  10. package/build/esm/AppBar/AppBarButton.d.ts +1 -1
  11. package/build/esm/AppBar/AppBarButton.js +2 -1
  12. package/build/esm/AppBar/AppBarButton.js.map +1 -1
  13. package/build/esm/AppBar/context.js.map +1 -1
  14. package/build/esm/AppBar/index.js.map +1 -1
  15. package/build/esm/Badge/Badge.d.ts +1 -1
  16. package/build/esm/Badge/Badge.js.map +1 -1
  17. package/build/esm/Badge/index.js.map +1 -1
  18. package/build/esm/BaseLine/BaseLine.js.map +1 -1
  19. package/build/esm/BaseLine/index.js.map +1 -1
  20. package/build/esm/BottomSheet/BottomSheet.d.ts +1 -1
  21. package/build/esm/BottomSheet/BottomSheet.js +2 -1
  22. package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
  23. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +2 -2
  24. package/build/esm/BottomSheet/BottomSheetSurface.js +2 -2
  25. package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
  26. package/build/esm/BottomSheet/index.js.map +1 -1
  27. package/build/esm/Box/Box.d.ts +4 -4
  28. package/build/esm/Box/Box.js +1 -2
  29. package/build/esm/Box/Box.js.map +1 -1
  30. package/build/esm/Box/index.js.map +1 -1
  31. package/build/esm/Button/BaseButton.d.ts +3 -3
  32. package/build/esm/Button/BaseButton.js +6 -5
  33. package/build/esm/Button/BaseButton.js.map +1 -1
  34. package/build/esm/Button/Button.d.ts +4 -4
  35. package/build/esm/Button/Button.js +6 -6
  36. package/build/esm/Button/Button.js.map +1 -1
  37. package/build/esm/Button/ButtonGroup.d.ts +2 -2
  38. package/build/esm/Button/ButtonGroup.js +3 -2
  39. package/build/esm/Button/ButtonGroup.js.map +1 -1
  40. package/build/esm/Button/FilledButton.d.ts +1 -1
  41. package/build/esm/Button/FilledButton.js +6 -8
  42. package/build/esm/Button/FilledButton.js.map +1 -1
  43. package/build/esm/Button/FloatingActionButton.js +1 -1
  44. package/build/esm/Button/FloatingActionButton.js.map +1 -1
  45. package/build/esm/Button/IconButton.js +1 -1
  46. package/build/esm/Button/IconButton.js.map +1 -1
  47. package/build/esm/Button/OutlinedButton.d.ts +1 -1
  48. package/build/esm/Button/OutlinedButton.js.map +1 -1
  49. package/build/esm/Button/TransparentButton.d.ts +1 -1
  50. package/build/esm/Button/TransparentButton.js.map +1 -1
  51. package/build/esm/Button/context.js.map +1 -1
  52. package/build/esm/Button/index.js.map +1 -1
  53. package/build/esm/CheckBox/CheckBox.d.ts +5 -5
  54. package/build/esm/CheckBox/CheckBox.js +6 -5
  55. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  56. package/build/esm/CheckBox/CheckBoxIcon.d.ts +4 -4
  57. package/build/esm/CheckBox/CheckBoxIcon.js +6 -5
  58. package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
  59. package/build/esm/CheckBox/CheckPath.d.ts +0 -1
  60. package/build/esm/CheckBox/CheckPath.js.map +1 -1
  61. package/build/esm/CheckBox/IndeterminatePath.d.ts +0 -1
  62. package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
  63. package/build/esm/CheckBox/index.js.map +1 -1
  64. package/build/esm/Chip/ButtonChip.d.ts +4 -4
  65. package/build/esm/Chip/ButtonChip.js +4 -4
  66. package/build/esm/Chip/ButtonChip.js.map +1 -1
  67. package/build/esm/Chip/Chip.js.map +1 -1
  68. package/build/esm/Chip/ChipBase.d.ts +3 -3
  69. package/build/esm/Chip/ChipBase.js +10 -10
  70. package/build/esm/Chip/ChipBase.js.map +1 -1
  71. package/build/esm/Chip/ChoiceChip.d.ts +5 -5
  72. package/build/esm/Chip/ChoiceChip.js +6 -5
  73. package/build/esm/Chip/ChoiceChip.js.map +1 -1
  74. package/build/esm/Chip/index.js.map +1 -1
  75. package/build/esm/Combobox/Combobox.d.ts +13 -13
  76. package/build/esm/Combobox/Combobox.js +25 -16
  77. package/build/esm/Combobox/Combobox.js.map +1 -1
  78. package/build/esm/Combobox/index.js.map +1 -1
  79. package/build/esm/Dialog/Dialog.d.ts +1 -1
  80. package/build/esm/Dialog/Dialog.js +6 -5
  81. package/build/esm/Dialog/Dialog.js.map +1 -1
  82. package/build/esm/Dialog/DialogBackdrop.d.ts +2 -2
  83. package/build/esm/Dialog/DialogBackdrop.js +2 -2
  84. package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
  85. package/build/esm/Dialog/DialogContainer.d.ts +1 -1
  86. package/build/esm/Dialog/DialogContainer.js +2 -1
  87. package/build/esm/Dialog/DialogContainer.js.map +1 -1
  88. package/build/esm/Dialog/DialogSurface.d.ts +2 -2
  89. package/build/esm/Dialog/DialogSurface.js +4 -4
  90. package/build/esm/Dialog/DialogSurface.js.map +1 -1
  91. package/build/esm/Dialog/Scrim.d.ts +1 -1
  92. package/build/esm/Dialog/Scrim.js +2 -1
  93. package/build/esm/Dialog/Scrim.js.map +1 -1
  94. package/build/esm/Dialog/index.js +1 -0
  95. package/build/esm/Dialog/index.js.map +1 -1
  96. package/build/esm/Dialog/useDialogAnimation.js +6 -4
  97. package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
  98. package/build/esm/Divider/Divider.d.ts +3 -3
  99. package/build/esm/Divider/Divider.js +7 -7
  100. package/build/esm/Divider/Divider.js.map +1 -1
  101. package/build/esm/Divider/index.js.map +1 -1
  102. package/build/esm/FloatingLabel/FloatingLabel.d.ts +4 -4
  103. package/build/esm/FloatingLabel/FloatingLabel.js +7 -6
  104. package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
  105. package/build/esm/FloatingLabel/index.js.map +1 -1
  106. package/build/esm/LineRipple/LineRipple.d.ts +3 -3
  107. package/build/esm/LineRipple/LineRipple.js +5 -4
  108. package/build/esm/LineRipple/LineRipple.js.map +1 -1
  109. package/build/esm/LineRipple/index.js.map +1 -1
  110. package/build/esm/Link/Link.d.ts +3 -3
  111. package/build/esm/Link/Link.js +14 -2
  112. package/build/esm/Link/Link.js.map +1 -1
  113. package/build/esm/Link/index.js.map +1 -1
  114. package/build/esm/List/List.d.ts +5 -5
  115. package/build/esm/List/List.js +2 -2
  116. package/build/esm/List/List.js.map +1 -1
  117. package/build/esm/List/index.js.map +1 -1
  118. package/build/esm/ListItem/ListItem.d.ts +7 -5
  119. package/build/esm/ListItem/ListItem.js +50 -46
  120. package/build/esm/ListItem/ListItem.js.map +1 -1
  121. package/build/esm/ListItem/ListItemText.d.ts +6 -6
  122. package/build/esm/ListItem/ListItemText.js +5 -5
  123. package/build/esm/ListItem/ListItemText.js.map +1 -1
  124. package/build/esm/ListItem/index.js.map +1 -1
  125. package/build/esm/Menu/Menu.d.ts +9 -7
  126. package/build/esm/Menu/Menu.js +31 -11
  127. package/build/esm/Menu/Menu.js.map +1 -1
  128. package/build/esm/Menu/animation.js.map +1 -1
  129. package/build/esm/Menu/index.js.map +1 -1
  130. package/build/esm/NavRail/NavRailItem.d.ts +15 -0
  131. package/build/esm/NavRail/NavRailItem.js +150 -0
  132. package/build/esm/NavRail/NavRailItem.js.map +1 -0
  133. package/build/esm/NavRail/index.d.ts +1 -0
  134. package/build/esm/NavRail/index.js +2 -0
  135. package/build/esm/NavRail/index.js.map +1 -0
  136. package/build/esm/NotchedOutline/NotchedOutline.d.ts +5 -5
  137. package/build/esm/NotchedOutline/NotchedOutline.js +4 -4
  138. package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
  139. package/build/esm/NotchedOutline/context.js.map +1 -1
  140. package/build/esm/NotchedOutline/index.js.map +1 -1
  141. package/build/esm/NotchedOutline/styledComponents.d.ts +114 -28
  142. package/build/esm/NotchedOutline/styledComponents.js +3 -2
  143. package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
  144. package/build/esm/Paper/Paper.d.ts +4 -4
  145. package/build/esm/Paper/Paper.js +6 -6
  146. package/build/esm/Paper/Paper.js.map +1 -1
  147. package/build/esm/Paper/index.js.map +1 -1
  148. package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +1 -1
  149. package/build/esm/ProgressSpinner/ProgressSpinner.js +14 -14
  150. package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
  151. package/build/esm/ProgressSpinner/index.js.map +1 -1
  152. package/build/esm/RadioButton/RadioButton.js +4 -2
  153. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  154. package/build/esm/RadioButton/RadioButtonIcon.d.ts +3 -3
  155. package/build/esm/RadioButton/RadioButtonIcon.js +6 -5
  156. package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
  157. package/build/esm/RadioButton/RadioGroup.d.ts +1 -1
  158. package/build/esm/RadioButton/RadioGroup.js +2 -1
  159. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  160. package/build/esm/RadioButton/index.js.map +1 -1
  161. package/build/esm/Ripple/Ripple.js.map +1 -1
  162. package/build/esm/Ripple/RippleBox.d.ts +1 -2
  163. package/build/esm/Ripple/RippleBox.js +7 -6
  164. package/build/esm/Ripple/RippleBox.js.map +1 -1
  165. package/build/esm/Ripple/constants.js.map +1 -1
  166. package/build/esm/Ripple/index.js.map +1 -1
  167. package/build/esm/Ripple/keyframes.js.map +1 -1
  168. package/build/esm/Ripple/useRipple.js +2 -2
  169. package/build/esm/Ripple/useRipple.js.map +1 -1
  170. package/build/esm/Ripple/useRippleHandlers.d.ts +3 -3
  171. package/build/esm/Ripple/useRippleHandlers.js +2 -1
  172. package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
  173. package/build/esm/Ripple/useRippleSurface.d.ts +6 -5
  174. package/build/esm/Ripple/useRippleSurface.js +65 -60
  175. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  176. package/build/esm/Select/Select.d.ts +6 -6
  177. package/build/esm/Select/Select.js +15 -6
  178. package/build/esm/Select/Select.js.map +1 -1
  179. package/build/esm/Select/SelectIcon.d.ts +3 -3
  180. package/build/esm/Select/SelectIcon.js +6 -5
  181. package/build/esm/Select/SelectIcon.js.map +1 -1
  182. package/build/esm/Select/context.d.ts +2 -2
  183. package/build/esm/Select/context.js.map +1 -1
  184. package/build/esm/Select/defaultRender.d.ts +2 -1
  185. package/build/esm/Select/defaultRender.js.map +1 -1
  186. package/build/esm/Select/index.js.map +1 -1
  187. package/build/esm/Select/styledComponents.d.ts +9 -9
  188. package/build/esm/Select/styledComponents.js +13 -22
  189. package/build/esm/Select/styledComponents.js.map +1 -1
  190. package/build/esm/SelectItem/SelectItem.d.ts +5 -2
  191. package/build/esm/SelectItem/SelectItem.js +21 -7
  192. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  193. package/build/esm/SelectItem/index.js.map +1 -1
  194. package/build/esm/SelectionControl/SelectionControlLabel.d.ts +5 -5
  195. package/build/esm/SelectionControl/SelectionControlLabel.js +2 -2
  196. package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
  197. package/build/esm/SelectionControl/SelectionControlText.d.ts +4 -4
  198. package/build/esm/SelectionControl/SelectionControlText.js +4 -4
  199. package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
  200. package/build/esm/SelectionControl/index.js.map +1 -1
  201. package/build/esm/Skeleton/DelayAppearance.d.ts +3 -3
  202. package/build/esm/Skeleton/DelayAppearance.js +2 -2
  203. package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
  204. package/build/esm/Skeleton/Skeleton.d.ts +6 -6
  205. package/build/esm/Skeleton/Skeleton.js +4 -4
  206. package/build/esm/Skeleton/Skeleton.js.map +1 -1
  207. package/build/esm/Skeleton/animation.js.map +1 -1
  208. package/build/esm/Skeleton/index.js.map +1 -1
  209. package/build/esm/Slider/Slider.d.ts +17 -0
  210. package/build/esm/Slider/Slider.js +224 -0
  211. package/build/esm/Slider/Slider.js.map +1 -0
  212. package/build/esm/Slider/index.d.ts +1 -0
  213. package/build/esm/Slider/index.js +2 -0
  214. package/build/esm/Slider/index.js.map +1 -0
  215. package/build/esm/Snackbar/Snackbar.d.ts +3 -3
  216. package/build/esm/Snackbar/Snackbar.js +12 -12
  217. package/build/esm/Snackbar/Snackbar.js.map +1 -1
  218. package/build/esm/Snackbar/Stack.d.ts +2 -3
  219. package/build/esm/Snackbar/Stack.js +4 -3
  220. package/build/esm/Snackbar/Stack.js.map +1 -1
  221. package/build/esm/Snackbar/index.js.map +1 -1
  222. package/build/esm/Snackbar/useSnackbarAnimation.d.ts +2 -2
  223. package/build/esm/Snackbar/useSnackbarAnimation.js +8 -7
  224. package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
  225. package/build/esm/Switch/Switch.d.ts +4 -5
  226. package/build/esm/Switch/Switch.js +6 -5
  227. package/build/esm/Switch/Switch.js.map +1 -1
  228. package/build/esm/Switch/index.js.map +1 -1
  229. package/build/esm/Switch/styledComponents.js +8 -4
  230. package/build/esm/Switch/styledComponents.js.map +1 -1
  231. package/build/esm/Tab/Tab.d.ts +3 -3
  232. package/build/esm/Tab/Tab.js +8 -7
  233. package/build/esm/Tab/Tab.js.map +1 -1
  234. package/build/esm/Tab/TabList.d.ts +1 -1
  235. package/build/esm/Tab/TabList.js +4 -2
  236. package/build/esm/Tab/TabList.js.map +1 -1
  237. package/build/esm/Tab/TabPanel.d.ts +1 -1
  238. package/build/esm/Tab/TabPanel.js +4 -2
  239. package/build/esm/Tab/TabPanel.js.map +1 -1
  240. package/build/esm/Tab/TabPanels.js.map +1 -1
  241. package/build/esm/Tab/Tabs.js.map +1 -1
  242. package/build/esm/Tab/context.js.map +1 -1
  243. package/build/esm/Tab/index.js.map +1 -1
  244. package/build/esm/TabIndicator/TabIndicator.d.ts +1 -1
  245. package/build/esm/TabIndicator/TabIndicator.js +4 -2
  246. package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
  247. package/build/esm/TabIndicator/context.d.ts +2 -2
  248. package/build/esm/TabIndicator/context.js.map +1 -1
  249. package/build/esm/TabIndicator/index.js.map +1 -1
  250. package/build/esm/Table/Table.d.ts +1 -1
  251. package/build/esm/Table/Table.js +4 -3
  252. package/build/esm/Table/Table.js.map +1 -1
  253. package/build/esm/Table/TableBody.d.ts +1 -1
  254. package/build/esm/Table/TableBody.js +4 -3
  255. package/build/esm/Table/TableBody.js.map +1 -1
  256. package/build/esm/Table/TableCell.d.ts +1 -1
  257. package/build/esm/Table/TableCell.js +4 -3
  258. package/build/esm/Table/TableCell.js.map +1 -1
  259. package/build/esm/Table/TableHead.d.ts +1 -1
  260. package/build/esm/Table/TableHead.js +4 -3
  261. package/build/esm/Table/TableHead.js.map +1 -1
  262. package/build/esm/Table/TableRow.d.ts +1 -1
  263. package/build/esm/Table/TableRow.js +5 -4
  264. package/build/esm/Table/TableRow.js.map +1 -1
  265. package/build/esm/Table/context.js.map +1 -1
  266. package/build/esm/Table/index.js.map +1 -1
  267. package/build/esm/Text/LoremIpsum.js +1 -1
  268. package/build/esm/Text/LoremIpsum.js.map +1 -1
  269. package/build/esm/Text/Text.d.ts +8 -4
  270. package/build/esm/Text/Text.js +7 -3
  271. package/build/esm/Text/Text.js.map +1 -1
  272. package/build/esm/Text/index.js.map +1 -1
  273. package/build/esm/TextField/FilledContainer.d.ts +4 -4
  274. package/build/esm/TextField/FilledContainer.js +6 -6
  275. package/build/esm/TextField/FilledContainer.js.map +1 -1
  276. package/build/esm/TextField/HelperText.d.ts +5 -5
  277. package/build/esm/TextField/HelperText.js +5 -5
  278. package/build/esm/TextField/HelperText.js.map +1 -1
  279. package/build/esm/TextField/IconContainer.d.ts +2 -3
  280. package/build/esm/TextField/IconContainer.js +0 -1
  281. package/build/esm/TextField/IconContainer.js.map +1 -1
  282. package/build/esm/TextField/Input.d.ts +4 -4
  283. package/build/esm/TextField/Input.js +11 -9
  284. package/build/esm/TextField/Input.js.map +1 -1
  285. package/build/esm/TextField/OutlinedContainer.d.ts +4 -4
  286. package/build/esm/TextField/OutlinedContainer.js +17 -9
  287. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  288. package/build/esm/TextField/TextField.d.ts +5 -5
  289. package/build/esm/TextField/TextField.js +4 -4
  290. package/build/esm/TextField/TextField.js.map +1 -1
  291. package/build/esm/TextField/consts.js.map +1 -1
  292. package/build/esm/TextField/index.js.map +1 -1
  293. package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -0
  294. package/build/esm/ThemeExplorer/BorderSlider.js +78 -0
  295. package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -0
  296. package/build/esm/ThemeExplorer/ColorPicker.js +4 -3
  297. package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
  298. package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -0
  299. package/build/esm/ThemeExplorer/ColorSchemePicker.js +54 -0
  300. package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -0
  301. package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -0
  302. package/build/esm/ThemeExplorer/FontAutoComplete.js +128 -0
  303. package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -0
  304. package/build/esm/ThemeExplorer/TextFieldColorPicker.js +4 -3
  305. package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
  306. package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +11 -0
  307. package/build/esm/ThemeExplorer/ThemeBuilder.js +382 -0
  308. package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -0
  309. package/build/esm/ThemeExplorer/ThemeColors.d.ts +2 -2
  310. package/build/esm/ThemeExplorer/ThemeColors.js +1 -1
  311. package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
  312. package/build/esm/ThemeExplorer/components.d.ts +6 -7
  313. package/build/esm/ThemeExplorer/components.js +28 -24
  314. package/build/esm/ThemeExplorer/components.js.map +1 -1
  315. package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -0
  316. package/build/esm/ThemeExplorer/googleFonts.js +7 -0
  317. package/build/esm/ThemeExplorer/googleFonts.js.map +1 -0
  318. package/build/esm/ThemeExplorer/importGoogleFont.d.ts +4 -0
  319. package/build/esm/ThemeExplorer/importGoogleFont.js +25 -0
  320. package/build/esm/ThemeExplorer/importGoogleFont.js.map +1 -0
  321. package/build/esm/ThemeExplorer/index.d.ts +1 -0
  322. package/build/esm/ThemeExplorer/index.js +2 -0
  323. package/build/esm/ThemeExplorer/index.js.map +1 -0
  324. package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
  325. package/build/esm/ThemeExplorer/updateGoogleFonts.js +70 -0
  326. package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -0
  327. package/build/esm/ThemeExplorer/useDeferredColor.js +5 -7
  328. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  329. package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +1 -1
  330. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +1 -1
  331. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
  332. package/build/esm/Tooltip/Tooltip.d.ts +3 -3
  333. package/build/esm/Tooltip/Tooltip.js +7 -9
  334. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  335. package/build/esm/Tooltip/index.js.map +1 -1
  336. package/build/esm/color.d.ts +2 -0
  337. package/build/esm/color.js +10 -5
  338. package/build/esm/color.js.map +1 -1
  339. package/build/esm/css.js.map +1 -1
  340. package/build/esm/hooks/useAnimation.js +3 -3
  341. package/build/esm/hooks/useAnimation.js.map +1 -1
  342. package/build/esm/index.d.ts +3 -1
  343. package/build/esm/index.js +3 -1
  344. package/build/esm/index.js.map +1 -1
  345. package/build/esm/motion.d.ts +7 -0
  346. package/build/esm/motion.js +8 -0
  347. package/build/esm/motion.js.map +1 -0
  348. package/build/esm/theme/index.js.map +1 -1
  349. package/build/esm/theme/theme.d.ts +114 -28
  350. package/build/esm/theme/theme.js +46 -38
  351. package/build/esm/theme/theme.js.map +1 -1
  352. package/build/esm/theme/typography-raleway.js.map +1 -1
  353. package/build/esm/theme/typography-roboto.js.map +1 -1
  354. package/build/esm/theme/useTheme.d.ts +557 -1
  355. package/build/esm/theme/useTheme.js.map +1 -1
  356. package/build/tsconfig-build.tsbuildinfo +1 -0
  357. package/package.json +10 -10
  358. package/src/Alert/Alert.tsx +1 -1
  359. package/src/AppBar/AppBar.tsx +4 -3
  360. package/src/BottomSheet/BottomSheetSurface.tsx +3 -3
  361. package/src/Box/Box.tsx +6 -8
  362. package/src/Button/BaseButton.tsx +4 -11
  363. package/src/Button/Button.story.tsx +6 -1
  364. package/src/Button/Button.tsx +4 -4
  365. package/src/Button/ButtonGroup.tsx +1 -1
  366. package/src/Button/FilledButton.tsx +4 -9
  367. package/src/Button/SpinnerButton.story.tsx +1 -1
  368. package/src/CheckBox/CheckBox.story.tsx +7 -6
  369. package/src/CheckBox/CheckBox.tsx +6 -10
  370. package/src/CheckBox/CheckBoxIcon.tsx +5 -5
  371. package/src/Chip/ButtonChip.tsx +3 -3
  372. package/src/Chip/Chip.story.tsx +1 -1
  373. package/src/Chip/ChipBase.tsx +2 -2
  374. package/src/Chip/ChoiceChip.tsx +7 -7
  375. package/src/Combobox/Combobox.story.tsx +3 -3
  376. package/src/Combobox/Combobox.tsx +14 -12
  377. package/src/Dialog/DialogBackdrop.tsx +3 -3
  378. package/src/Dialog/DialogSurface.tsx +2 -4
  379. package/src/Dialog/useDialogAnimation.tsx +3 -4
  380. package/src/Divider/Divider.tsx +2 -2
  381. package/src/FloatingLabel/FloatingLabel.tsx +7 -6
  382. package/src/LineRipple/LineRipple.story.tsx +1 -1
  383. package/src/LineRipple/LineRipple.tsx +4 -4
  384. package/src/Link/Link.tsx +14 -5
  385. package/src/List/List.tsx +4 -4
  386. package/src/ListItem/ListItem.tsx +52 -46
  387. package/src/ListItem/ListItemText.tsx +6 -7
  388. package/src/Menu/ContextMenu.story.tsx +34 -0
  389. package/src/Menu/Menu.tsx +19 -5
  390. package/src/NavRail/NavRail.story.tsx +190 -0
  391. package/src/NavRail/NavRailItem.tsx +176 -0
  392. package/src/NavRail/index.ts +1 -0
  393. package/src/NotchedOutline/NotchedOutline.tsx +4 -5
  394. package/src/NotchedOutline/styledComponents.ts +2 -1
  395. package/src/Paper/Paper.story.tsx +3 -3
  396. package/src/Paper/Paper.tsx +3 -3
  397. package/src/ProgressSpinner/ProgressSpinner.tsx +9 -9
  398. package/src/RadioButton/RadioButton.story.tsx +2 -2
  399. package/src/RadioButton/RadioButton.tsx +1 -1
  400. package/src/RadioButton/RadioButtonIcon.tsx +4 -5
  401. package/src/Ripple/Ripple.story.tsx +1 -1
  402. package/src/Ripple/RippleBox.tsx +1 -2
  403. package/src/Ripple/useRippleHandlers.ts +3 -3
  404. package/src/Ripple/useRippleSurface.ts +83 -61
  405. package/src/Select/PaymentMethodSelect.story.tsx +17 -24
  406. package/src/Select/Select.tsx +20 -6
  407. package/src/Select/SelectIcon.tsx +3 -4
  408. package/src/Select/context.ts +2 -1
  409. package/src/Select/defaultRender.ts +2 -1
  410. package/src/Select/styledComponents.tsx +12 -22
  411. package/src/SelectItem/SelectItem.tsx +13 -3
  412. package/src/SelectionControl/SelectionControlLabel.tsx +4 -8
  413. package/src/SelectionControl/SelectionControlText.tsx +3 -3
  414. package/src/Skeleton/DelayAppearance.tsx +2 -2
  415. package/src/Skeleton/Skeleton.story.tsx +2 -2
  416. package/src/Skeleton/Skeleton.tsx +6 -6
  417. package/src/Slider/Slider.story.tsx +36 -0
  418. package/src/Slider/Slider.tsx +275 -0
  419. package/src/Slider/index.ts +1 -0
  420. package/src/Snackbar/Snackbar.tsx +10 -10
  421. package/src/Snackbar/Stack.tsx +6 -9
  422. package/src/Snackbar/useSnackbarAnimation.ts +4 -3
  423. package/src/Switch/Switch.tsx +6 -10
  424. package/src/Switch/styledComponents.tsx +2 -2
  425. package/src/Tab/Tab.tsx +3 -7
  426. package/src/TabIndicator/TabIndicator.tsx +2 -1
  427. package/src/TabIndicator/context.ts +2 -1
  428. package/src/Table/TableRow.tsx +1 -1
  429. package/src/Text/LoremIpsum.tsx +1 -1
  430. package/src/Text/Text.story.tsx +42 -7
  431. package/src/Text/Text.tsx +25 -5
  432. package/src/TextField/FilledContainer.tsx +3 -3
  433. package/src/TextField/HelperText.tsx +5 -5
  434. package/src/TextField/IconContainer.tsx +2 -3
  435. package/src/TextField/Input.tsx +5 -4
  436. package/src/TextField/OutlinedContainer.tsx +11 -6
  437. package/src/TextField/TextField.tsx +4 -4
  438. package/src/ThemeExplorer/BorderSlider.tsx +73 -0
  439. package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -0
  440. package/src/ThemeExplorer/FontAutoComplete.tsx +139 -0
  441. package/src/ThemeExplorer/ThemeBuilder.story.tsx +3 -160
  442. package/src/ThemeExplorer/ThemeBuilder.tsx +337 -0
  443. package/src/ThemeExplorer/ThemeColors.tsx +1 -1
  444. package/src/ThemeExplorer/components.tsx +28 -20
  445. package/src/ThemeExplorer/googleFonts.ts +1436 -0
  446. package/src/ThemeExplorer/index.ts +1 -0
  447. package/src/ThemeExplorer/updateGoogleFonts.js +33 -0
  448. package/src/ThemeExplorer/useDeferredColor.tsx +5 -9
  449. package/src/ThemeExplorer/useLocalStorageCachedState.ts +2 -2
  450. package/src/Tooltip/Tooltip.story.tsx +2 -2
  451. package/src/Tooltip/Tooltip.tsx +9 -11
  452. package/src/color.ts +27 -6
  453. package/src/index.ts +3 -1
  454. package/src/motion.ts +7 -0
  455. package/src/theme/theme.ts +51 -37
  456. package/build/esm/ColorMode/ColorModeProvider.d.ts +0 -7
  457. package/build/esm/ColorMode/ColorModeProvider.js +0 -92
  458. package/build/esm/ColorMode/ColorModeProvider.js.map +0 -1
  459. package/build/esm/ColorMode/color-mode.d.ts +0 -8
  460. package/build/esm/ColorMode/color-mode.js +0 -11
  461. package/build/esm/ColorMode/color-mode.js.map +0 -1
  462. package/build/esm/ColorMode/color-vars.d.ts +0 -4
  463. package/build/esm/ColorMode/color-vars.js +0 -58
  464. package/build/esm/ColorMode/color-vars.js.map +0 -1
  465. package/build/esm/ColorMode/constants.d.ts +0 -3
  466. package/build/esm/ColorMode/constants.js +0 -5
  467. package/build/esm/ColorMode/constants.js.map +0 -1
  468. package/build/esm/ColorMode/index.d.ts +0 -4
  469. package/build/esm/ColorMode/index.js +0 -5
  470. package/build/esm/ColorMode/index.js.map +0 -1
  471. package/build/esm/ListItem/context.d.ts +0 -7
  472. package/build/esm/ListItem/context.js +0 -10
  473. package/build/esm/ListItem/context.js.map +0 -1
  474. package/build/tsconfig.tsbuildinfo +0 -1
  475. package/src/ColorMode/ColorModeProvider.tsx +0 -97
  476. package/src/ColorMode/color-mode.ts +0 -20
  477. package/src/ColorMode/color-vars.ts +0 -56
  478. package/src/ColorMode/constants.ts +0 -5
  479. package/src/ColorMode/index.ts +0 -4
  480. package/src/ColorMode/tests/color-vars.test.ts +0 -9
  481. package/src/ThemeExplorer/ThemeExplorer.story.tsx +0 -43
@@ -1,14 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["checked"];
3
4
  import { forwardRef } from 'react';
4
- import * as React from 'react';
5
5
  import { Box } from '../Box';
6
+ import { EASING_STANDARD } from '../motion';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export var RadioButtonIcon = /*#__PURE__*/forwardRef(function RadioButtonIcon(props, forwardedRef) {
8
9
  var checked = props.checked,
9
- otherProps = _objectWithoutProperties(props, ["checked"]);
10
+ otherProps = _objectWithoutProperties(props, _excluded);
10
11
 
11
- return /*#__PURE__*/_jsx(Box, _extends({
12
+ return /*#__PURE__*/_jsx(Box, _extends(_extends({
12
13
  ref: forwardedRef,
13
14
  __css: {
14
15
  borderColor: 'currentColor',
@@ -19,14 +20,14 @@ export var RadioButtonIcon = /*#__PURE__*/forwardRef(function RadioButtonIcon(pr
19
20
  height: '100%',
20
21
  p: "0.1875rem"
21
22
  }
22
- }, otherProps, {
23
+ }, otherProps), {}, {
23
24
  children: /*#__PURE__*/_jsx(Box, {
24
25
  __css: {
25
26
  backgroundColor: 'currentColor',
26
27
  borderRadius: 'full',
27
28
  width: '100%',
28
29
  height: '100%',
29
- transition: 'transform .12s cubic-bezier(0,0,.2,1) 0ms,background-color .12s cubic-bezier(0,0,.2,1) 0ms',
30
+ transition: "transform .12s ".concat(EASING_STANDARD, " 0ms,background-color .12s ").concat(EASING_STANDARD, " 0ms"),
30
31
  transform: checked ? 'scale(1)' : 'scale(0)'
31
32
  }
32
33
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/RadioButton/RadioButtonIcon.tsx"],"names":["forwardRef","React","Box","RadioButtonIcon","props","forwardedRef","checked","otherProps","borderColor","borderStyle","borderRadius","borderWidth","width","height","p","backgroundColor","transition","transform"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAGA,SAASC,GAAT,QAAoB,QAApB;;AAQA,OAAO,IAAMC,eAAe,gBAAGH,UAAU,CACvC,SAASG,eAAT,CAAyBC,KAAzB,EAAgCC,YAAhC,EAA8C;AAAA,MACpCC,OADoC,GACTF,KADS,CACpCE,OADoC;AAAA,MACxBC,UADwB,4BACTH,KADS;;AAG5C,sBACE,KAAC,GAAD;AACE,IAAA,GAAG,EAAEC,YADP;AAEE,IAAA,KAAK,EAAE;AACLG,MAAAA,WAAW,EAAE,cADR;AAELC,MAAAA,WAAW,EAAE,OAFR;AAGLC,MAAAA,YAAY,EAAE,MAHT;AAILC,MAAAA,WAAW,YAJN;AAKLC,MAAAA,KAAK,EAAE,MALF;AAMLC,MAAAA,MAAM,EAAE,MANH;AAOLC,MAAAA,CAAC;AAPI;AAFT,KAWMP,UAXN;AAAA,2BAaE,KAAC,GAAD;AACE,MAAA,KAAK,EAAE;AACLQ,QAAAA,eAAe,EAAE,cADZ;AAELL,QAAAA,YAAY,EAAE,MAFT;AAGLE,QAAAA,KAAK,EAAE,MAHF;AAILC,QAAAA,MAAM,EAAE,MAJH;AAKLG,QAAAA,UAAU,EACR,4FANG;AAOLC,QAAAA,SAAS,EAAEX,OAAO,GAAG,UAAH,GAAgB;AAP7B;AADT;AAbF,KADF;AA2BD,CA/BsC,CAAlC","sourcesContent":["import { forwardRef } from 'react';\nimport * as React from 'react';\nimport { rem } from 'polished';\n\nimport { Box } from '../Box';\n\nexport interface RadioButtonIconProps\n extends React.HTMLAttributes<HTMLDivElement> {\n checked?: boolean;\n disabled?: boolean;\n}\n\nexport const RadioButtonIcon = forwardRef<HTMLDivElement, RadioButtonIconProps>(\n function RadioButtonIcon(props, forwardedRef) {\n const { checked, ...otherProps } = props;\n\n return (\n <Box\n ref={forwardedRef}\n __css={{\n borderColor: 'currentColor',\n borderStyle: 'solid',\n borderRadius: 'full',\n borderWidth: rem(2),\n width: '100%',\n height: '100%',\n p: rem(3),\n }}\n {...otherProps}\n >\n <Box\n __css={{\n backgroundColor: 'currentColor',\n borderRadius: 'full',\n width: '100%',\n height: '100%',\n transition:\n 'transform .12s cubic-bezier(0,0,.2,1) 0ms,background-color .12s cubic-bezier(0,0,.2,1) 0ms',\n transform: checked ? 'scale(1)' : 'scale(0)',\n }}\n />\n </Box>\n );\n }\n);\n"],"file":"RadioButtonIcon.js"}
1
+ {"version":3,"file":"RadioButtonIcon.js","names":["forwardRef","Box","EASING_STANDARD","RadioButtonIcon","props","forwardedRef","checked","otherProps","borderColor","borderStyle","borderRadius","borderWidth","width","height","p","backgroundColor","transition","transform"],"sources":["../../../src/RadioButton/RadioButtonIcon.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { rem } from 'polished';\n\nimport { Box } from '../Box';\nimport { EASING_STANDARD } from '../motion';\n\nexport interface RadioButtonIconProps extends HTMLAttributes<HTMLDivElement> {\n checked?: boolean;\n disabled?: boolean;\n}\n\nexport const RadioButtonIcon = forwardRef<HTMLDivElement, RadioButtonIconProps>(\n function RadioButtonIcon(props, forwardedRef) {\n const { checked, ...otherProps } = props;\n\n return (\n <Box\n ref={forwardedRef}\n __css={{\n borderColor: 'currentColor',\n borderStyle: 'solid',\n borderRadius: 'full',\n borderWidth: rem(2),\n width: '100%',\n height: '100%',\n p: rem(3),\n }}\n {...otherProps}\n >\n <Box\n __css={{\n backgroundColor: 'currentColor',\n borderRadius: 'full',\n width: '100%',\n height: '100%',\n transition: `transform .12s ${EASING_STANDARD} 0ms,background-color .12s ${EASING_STANDARD} 0ms`,\n transform: checked ? 'scale(1)' : 'scale(0)',\n }}\n />\n </Box>\n );\n }\n);\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAGA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,eAAT,QAAgC,WAAhC;;AAOA,OAAO,IAAMC,eAAe,gBAAGH,UAAU,CACvC,SAASG,eAAT,CAAyBC,KAAzB,EAAgCC,YAAhC,EAA8C;EAC5C,IAAQC,OAAR,GAAmCF,KAAnC,CAAQE,OAAR;EAAA,IAAoBC,UAApB,4BAAmCH,KAAnC;;EAEA,oBACE,KAAC,GAAD;IACE,GAAG,EAAEC,YADP;IAEE,KAAK,EAAE;MACLG,WAAW,EAAE,cADR;MAELC,WAAW,EAAE,OAFR;MAGLC,YAAY,EAAE,MAHT;MAILC,WAAW,YAJN;MAKLC,KAAK,EAAE,MALF;MAMLC,MAAM,EAAE,MANH;MAOLC,CAAC;IAPI;EAFT,GAWMP,UAXN;IAAA,uBAaE,KAAC,GAAD;MACE,KAAK,EAAE;QACLQ,eAAe,EAAE,cADZ;QAELL,YAAY,EAAE,MAFT;QAGLE,KAAK,EAAE,MAHF;QAILC,MAAM,EAAE,MAJH;QAKLG,UAAU,2BAAoBd,eAApB,wCAAiEA,eAAjE,SALL;QAMLe,SAAS,EAAEX,OAAO,GAAG,UAAH,GAAgB;MAN7B;IADT;EAbF,GADF;AA0BD,CA9BsC,CAAlC"}
@@ -2,4 +2,4 @@
2
2
  import type { RadioGroupProps as RadioGroupCoreProps } from '@basic-ui/core';
3
3
  import type { BoxProps } from '../Box';
4
4
  export declare type RadioGroupProps = Omit<BoxProps, 'onChange' | 'value' | 'defaultValue'> & RadioGroupCoreProps;
5
- export declare const RadioGroup: import("react").ForwardRefExoticComponent<Pick<RadioGroupProps, "children" | "p" | "slot" | "style" | "title" | "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" | "boxShadow" | "color" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "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" | "zIndex" | "background" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "overflow" | "padding" | "gridColumnGap" | "gridGap" | "gridRowGap" | "value" | "hidden" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "size" | "bg" | "borderX" | "borderY" | "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" | "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" | "key" | "innerAs" | "name"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ export declare const RadioGroup: import("react").ForwardRefExoticComponent<Pick<RadioGroupProps, "bottom" | "top" | "hidden" | "left" | "right" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "p" | "padding" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "size" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "color" | "bg" | "backgroundColor" | "opacity" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flex" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "order" | "border" | "borderX" | "borderY" | "borderWidth" | "borderTopWidth" | "borderBottomWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStyle" | "borderTopStyle" | "borderBottomStyle" | "borderLeftStyle" | "borderRightStyle" | "borderColor" | "borderTopColor" | "borderBottomColor" | "borderLeftColor" | "borderRightColor" | "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "gridGap" | "gridColumnGap" | "gridRowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "background" | "backgroundImage" | "backgroundSize" | "backgroundPosition" | "backgroundRepeat" | "position" | "zIndex" | "boxShadow" | "textShadow" | "name" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "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" | "key" | "innerAs"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["as"];
3
4
  import { forwardRef } from 'react';
4
5
  import { RadioGroup as RadioGroupCore } from '@basic-ui/core';
5
6
  import { Box } from '../Box';
@@ -7,7 +8,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export var RadioGroup = /*#__PURE__*/forwardRef(function RadioGroup(props, forwardedRef) {
8
9
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9
10
  var as = props.as,
10
- otherProps = _objectWithoutProperties(props, ["as"]);
11
+ otherProps = _objectWithoutProperties(props, _excluded);
11
12
 
12
13
  return /*#__PURE__*/_jsx(Box, _extends({
13
14
  as: RadioGroupCore,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/RadioButton/RadioGroup.tsx"],"names":["forwardRef","RadioGroup","RadioGroupCore","Box","props","forwardedRef","as","otherProps"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAU,IAAIC,cAAvB,QAA6C,gBAA7C;AAGA,SAASC,GAAT,QAAoB,QAApB;;AAQA,OAAO,IAAMF,UAAU,gBAAGD,UAAU,CAClC,SAASC,UAAT,CAAoBG,KAApB,EAA2BC,YAA3B,EAAyC;AACvC;AADuC,MAE/BC,EAF+B,GAETF,KAFS,CAE/BE,EAF+B;AAAA,MAExBC,UAFwB,4BAETH,KAFS;;AAIvC,sBACE,KAAC,GAAD;AACE,IAAA,EAAE,EAAEF,cADN;AAEE,IAAA,GAAG,EAAEG;AAFP,KAGME,UAHN,EADF;AAOD,CAZiC,CAA7B","sourcesContent":["import { forwardRef } from 'react';\nimport type { RadioGroupProps as RadioGroupCoreProps } from '@basic-ui/core';\nimport { RadioGroup as RadioGroupCore } from '@basic-ui/core';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\nexport type RadioGroupProps = Omit<\n BoxProps,\n 'onChange' | 'value' | 'defaultValue'\n> &\n RadioGroupCoreProps;\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n function RadioGroup(props, forwardedRef) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { as, ...otherProps } = props;\n\n return (\n <Box<RadioGroupProps>\n as={RadioGroupCore}\n ref={forwardedRef}\n {...otherProps}\n />\n );\n }\n);\n"],"file":"RadioGroup.js"}
1
+ {"version":3,"file":"RadioGroup.js","names":["forwardRef","RadioGroup","RadioGroupCore","Box","props","forwardedRef","as","otherProps"],"sources":["../../../src/RadioButton/RadioGroup.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { RadioGroupProps as RadioGroupCoreProps } from '@basic-ui/core';\nimport { RadioGroup as RadioGroupCore } from '@basic-ui/core';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\nexport type RadioGroupProps = Omit<\n BoxProps,\n 'onChange' | 'value' | 'defaultValue'\n> &\n RadioGroupCoreProps;\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n function RadioGroup(props, forwardedRef) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { as, ...otherProps } = props;\n\n return (\n <Box<RadioGroupProps>\n as={RadioGroupCore}\n ref={forwardedRef}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":";;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAU,IAAIC,cAAvB,QAA6C,gBAA7C;AAGA,SAASC,GAAT,QAAoB,QAApB;;AAQA,OAAO,IAAMF,UAAU,gBAAGD,UAAU,CAClC,SAASC,UAAT,CAAoBG,KAApB,EAA2BC,YAA3B,EAAyC;EACvC;EACA,IAAQC,EAAR,GAA8BF,KAA9B,CAAQE,EAAR;EAAA,IAAeC,UAAf,4BAA8BH,KAA9B;;EAEA,oBACE,KAAC,GAAD;IACE,EAAE,EAAEF,cADN;IAEE,GAAG,EAAEG;EAFP,GAGME,UAHN,EADF;AAOD,CAZiC,CAA7B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/RadioButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAd;AACA,cAAc,cAAd","sourcesContent":["export * from './RadioButton';\nexport * from './RadioGroup';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/RadioButton/index.ts"],"sourcesContent":["export * from './RadioButton';\nexport * from './RadioGroup';\n"],"mappings":"AAAA,cAAc,eAAd;AACA,cAAc,cAAd"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/Ripple.tsx"],"names":["RIPPLE_BACKGROUND_COLOR","RIPPLE_SIZE","RIPPLE_POSITION","rippleStyle","animation","position","boxSizing","display","content","width","height","top","left","backgroundColor","transformOrigin","opacity","borderRadius","willChange","Ripple"],"mappings":";AAGA,SACEA,uBADF,EAEEC,WAFF,EAGEC,eAHF,QAIO,aAJP;AAMA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,MACzBC,SADyB,QACzBA,SADyB;AAAA,SAIT;AAChBC,IAAAA,QAAQ,EAAE,UADM;AAEhBC,IAAAA,SAAS,EAAE,aAFK;AAGhBC,IAAAA,OAAO,EAAE,OAHO;AAIhBC,IAAAA,OAAO,EAAE,IAJO;AAKhBC,IAAAA,KAAK,gBAASR,WAAT,MALW;AAMhBS,IAAAA,MAAM,gBAAST,WAAT,MANU;AAOhBU,IAAAA,GAAG,gBAAST,eAAT,MAPa;AAQhBU,IAAAA,IAAI,gBAASV,eAAT,MARY;AAShBW,IAAAA,eAAe,gBAASb,uBAAT,MATC;AAUhBc,IAAAA,eAAe,EAAE,eAVD;AAWhBC,IAAAA,OAAO,EAAE,CAXO;AAYhBC,IAAAA,YAAY,EAAE,UAZE;AAahBZ,IAAAA,SAAS,EAATA,SAbgB;AAchBa,IAAAA,UAAU,EAAE;AAdI,GAJS;AAAA,CAApB;AAqBP,OAAO,IAAMC,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,GAAmCf,WAAnC,w5CAAf","sourcesContent":["import styled from '@emotion/styled';\nimport type { CSSObject } from '@emotion/react';\n\nimport {\n RIPPLE_BACKGROUND_COLOR,\n RIPPLE_SIZE,\n RIPPLE_POSITION,\n} from './constants';\n\nexport const rippleStyle = ({\n animation,\n}: {\n animation?: string;\n}): CSSObject => ({\n position: 'absolute',\n boxSizing: 'content-box',\n display: 'block',\n content: '\"\"',\n width: `var(${RIPPLE_SIZE})`,\n height: `var(${RIPPLE_SIZE})`,\n top: `var(${RIPPLE_POSITION})`,\n left: `var(${RIPPLE_POSITION})`,\n backgroundColor: `var(${RIPPLE_BACKGROUND_COLOR})`,\n transformOrigin: 'center center',\n opacity: 0,\n borderRadius: '999999px',\n animation,\n willChange: 'opacity,transform',\n});\n\nexport const Ripple = styled.div<{ animation?: string }>(rippleStyle, {\n pointerEvents: 'none',\n});\n"],"file":"Ripple.js"}
1
+ {"version":3,"file":"Ripple.js","names":["RIPPLE_BACKGROUND_COLOR","RIPPLE_SIZE","RIPPLE_POSITION","rippleStyle","animation","position","boxSizing","display","content","width","height","top","left","backgroundColor","transformOrigin","opacity","borderRadius","willChange","Ripple"],"sources":["../../../src/Ripple/Ripple.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport type { CSSObject } from '@emotion/react';\n\nimport {\n RIPPLE_BACKGROUND_COLOR,\n RIPPLE_SIZE,\n RIPPLE_POSITION,\n} from './constants';\n\nexport const rippleStyle = ({\n animation,\n}: {\n animation?: string;\n}): CSSObject => ({\n position: 'absolute',\n boxSizing: 'content-box',\n display: 'block',\n content: '\"\"',\n width: `var(${RIPPLE_SIZE})`,\n height: `var(${RIPPLE_SIZE})`,\n top: `var(${RIPPLE_POSITION})`,\n left: `var(${RIPPLE_POSITION})`,\n backgroundColor: `var(${RIPPLE_BACKGROUND_COLOR})`,\n transformOrigin: 'center center',\n opacity: 0,\n borderRadius: '999999px',\n animation,\n willChange: 'opacity,transform',\n});\n\nexport const Ripple = styled.div<{ animation?: string }>(rippleStyle, {\n pointerEvents: 'none',\n});\n"],"mappings":";AAGA,SACEA,uBADF,EAEEC,WAFF,EAGEC,eAHF,QAIO,aAJP;AAMA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;EAAA,IACzBC,SADyB,QACzBA,SADyB;EAAA,OAIT;IAChBC,QAAQ,EAAE,UADM;IAEhBC,SAAS,EAAE,aAFK;IAGhBC,OAAO,EAAE,OAHO;IAIhBC,OAAO,EAAE,IAJO;IAKhBC,KAAK,gBAASR,WAAT,MALW;IAMhBS,MAAM,gBAAST,WAAT,MANU;IAOhBU,GAAG,gBAAST,eAAT,MAPa;IAQhBU,IAAI,gBAASV,eAAT,MARY;IAShBW,eAAe,gBAASb,uBAAT,MATC;IAUhBc,eAAe,EAAE,eAVD;IAWhBC,OAAO,EAAE,CAXO;IAYhBC,YAAY,EAAE,UAZE;IAahBZ,SAAS,EAATA,SAbgB;IAchBa,UAAU,EAAE;EAdI,CAJS;AAAA,CAApB;AAqBP,OAAO,IAAMC,MAAM,GAAG;EAAA;AAAA;EAAA;EAAA;AAAA,GAAmCf,WAAnC,w5CAAf"}
@@ -1,6 +1,5 @@
1
1
  import type { HTMLAttributes } from 'react';
2
- import * as React from 'react';
3
2
  import type { UseRippleSurfaceOptions } from './useRippleSurface';
4
3
  import type { BoxProps } from '../Box';
5
- export declare type RippleBoxProps<H extends HTMLElement = HTMLDivElement, Attr = React.HTMLAttributes<H>> = BoxProps<H, Attr> & UseRippleSurfaceOptions<H>;
4
+ export declare type RippleBoxProps<H extends HTMLElement = HTMLDivElement, Attr = HTMLAttributes<H>> = BoxProps<H, Attr> & UseRippleSurfaceOptions<H>;
6
5
  export declare const RippleBox: <Props = RippleBoxProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>>(props: Props) => JSX.Element;
@@ -1,7 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["as", "__css", "onKeyDown", "onPointerDown", "baseOpacity", "hoverOpacity", "focusOpacity", "pressedOpacity", "rippleColor", "center", "disabled", "rippleEnabled", "style"],
4
+ _excluded2 = ["__css"];
3
5
  import { forwardRef } from 'react';
4
- import * as React from 'react';
5
6
  import { useRippleSurface } from './useRippleSurface';
6
7
  import { Box } from '../Box';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -20,17 +21,17 @@ export var RippleBox = /*#__PURE__*/forwardRef(function RippleBox(props, forward
20
21
  disabled = props.disabled,
21
22
  rippleEnabled = props.rippleEnabled,
22
23
  style = props.style,
23
- otherProps = _objectWithoutProperties(props, ["as", "__css", "onKeyDown", "onPointerDown", "baseOpacity", "hoverOpacity", "focusOpacity", "pressedOpacity", "rippleColor", "center", "disabled", "rippleEnabled", "style"]);
24
+ otherProps = _objectWithoutProperties(props, _excluded);
24
25
 
25
26
  var _useRippleSurface = useRippleSurface(props),
26
27
  rippleCss = _useRippleSurface.__css,
27
- rippleProps = _objectWithoutProperties(_useRippleSurface, ["__css"]);
28
+ rippleProps = _objectWithoutProperties(_useRippleSurface, _excluded2);
28
29
 
29
- return /*#__PURE__*/_jsx(Box, _extends({
30
+ return /*#__PURE__*/_jsx(Box, _extends(_extends({
30
31
  as: as,
31
32
  ref: forwardedRef,
32
- __css: _extends({}, rippleCss, __css),
33
+ __css: _extends(_extends({}, rippleCss), __css),
33
34
  disabled: disabled
34
- }, otherProps, rippleProps));
35
+ }, otherProps), rippleProps));
35
36
  });
36
37
  //# sourceMappingURL=RippleBox.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/RippleBox.tsx"],"names":["forwardRef","React","useRippleSurface","Box","RippleBox","props","forwardedRef","as","__css","onKeyDown","onPointerDown","baseOpacity","hoverOpacity","focusOpacity","pressedOpacity","rippleColor","center","disabled","rippleEnabled","style","otherProps","rippleCss","rippleProps"],"mappings":";;AACA,SAASA,UAAT,QAA2B,OAA3B;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAGA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAOA,OAAO,IAAMC,SAIG,gBAAGJ,UAAU,CAC3B,SAASI,SAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAwC;AAAA,kBAkBlCD,KAlBkC,CAEpCE,EAFoC;AAAA,MAEpCA,EAFoC,0BAE/B,KAF+B;AAAA,MAGpCC,KAHoC,GAkBlCH,KAlBkC,CAGpCG,KAHoC;AAAA,MAMpCC,SANoC,GAkBlCJ,KAlBkC,CAMpCI,SANoC;AAAA,MAOpCC,aAPoC,GAkBlCL,KAlBkC,CAOpCK,aAPoC;AAAA,MAQpCC,WARoC,GAkBlCN,KAlBkC,CAQpCM,WARoC;AAAA,MASpCC,YAToC,GAkBlCP,KAlBkC,CASpCO,YAToC;AAAA,MAUpCC,YAVoC,GAkBlCR,KAlBkC,CAUpCQ,YAVoC;AAAA,MAWpCC,cAXoC,GAkBlCT,KAlBkC,CAWpCS,cAXoC;AAAA,MAYpCC,WAZoC,GAkBlCV,KAlBkC,CAYpCU,WAZoC;AAAA,MAapCC,MAboC,GAkBlCX,KAlBkC,CAapCW,MAboC;AAAA,MAcpCC,QAdoC,GAkBlCZ,KAlBkC,CAcpCY,QAdoC;AAAA,MAepCC,aAfoC,GAkBlCb,KAlBkC,CAepCa,aAfoC;AAAA,MAgBpCC,KAhBoC,GAkBlCd,KAlBkC,CAgBpCc,KAhBoC;AAAA,MAiBjCC,UAjBiC,4BAkBlCf,KAlBkC;;AAAA,0BAoBOH,gBAAgB,CAACG,KAAD,CApBvB;AAAA,MAoBvBgB,SApBuB,qBAoB9Bb,KApB8B;AAAA,MAoBTc,WApBS;;AAsBtC,sBACE,KAAC,GAAD;AACE,IAAA,EAAE,EAAEf,EADN;AAEE,IAAA,GAAG,EAAED,YAFP;AAGE,IAAA,KAAK,eAAOe,SAAP,EAAqBb,KAArB,CAHP;AAIQS,IAAAA,QAAQ,EAARA;AAJR,KAKMG,UALN,EAMME,WANN,EADF;AAUD,CAjC0B,CAJtB","sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport type { UseRippleSurfaceOptions } from './useRippleSurface';\nimport { useRippleSurface } from './useRippleSurface';\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\nexport type RippleBoxProps<\n H extends HTMLElement = HTMLDivElement,\n Attr = React.HTMLAttributes<H>\n> = BoxProps<H, Attr> & UseRippleSurfaceOptions<H>;\n\nexport const RippleBox: <\n Props = RippleBoxProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>\n>(\n props: Props\n) => JSX.Element = forwardRef<HTMLDivElement, RippleBoxProps>(\n function RippleBox(props, forwardedRef) {\n const {\n as = 'div',\n __css,\n // Cherry picking the ripple props to prevent it from falling down to\n // the Box component\n onKeyDown, // eslint-disable-line @typescript-eslint/no-unused-vars\n onPointerDown, // eslint-disable-line @typescript-eslint/no-unused-vars\n baseOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n hoverOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n focusOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n pressedOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n rippleColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n center, // eslint-disable-line @typescript-eslint/no-unused-vars\n disabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n rippleEnabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n style, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...otherProps\n } = props;\n\n const { __css: rippleCss, ...rippleProps } = useRippleSurface(props);\n\n return (\n <Box\n as={as}\n ref={forwardedRef}\n __css={{ ...rippleCss, ...__css }}\n {...{ disabled }}\n {...otherProps}\n {...rippleProps}\n />\n );\n }\n) as any;\n"],"file":"RippleBox.js"}
1
+ {"version":3,"file":"RippleBox.js","names":["forwardRef","useRippleSurface","Box","RippleBox","props","forwardedRef","as","__css","onKeyDown","onPointerDown","baseOpacity","hoverOpacity","focusOpacity","pressedOpacity","rippleColor","center","disabled","rippleEnabled","style","otherProps","rippleCss","rippleProps"],"sources":["../../../src/Ripple/RippleBox.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { UseRippleSurfaceOptions } from './useRippleSurface';\nimport { useRippleSurface } from './useRippleSurface';\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\nexport type RippleBoxProps<\n H extends HTMLElement = HTMLDivElement,\n Attr = HTMLAttributes<H>\n> = BoxProps<H, Attr> & UseRippleSurfaceOptions<H>;\n\nexport const RippleBox: <\n Props = RippleBoxProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>\n>(\n props: Props\n) => JSX.Element = forwardRef<HTMLDivElement, RippleBoxProps>(\n function RippleBox(props, forwardedRef) {\n const {\n as = 'div',\n __css,\n // Cherry picking the ripple props to prevent it from falling down to\n // the Box component\n onKeyDown, // eslint-disable-line @typescript-eslint/no-unused-vars\n onPointerDown, // eslint-disable-line @typescript-eslint/no-unused-vars\n baseOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n hoverOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n focusOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n pressedOpacity, // eslint-disable-line @typescript-eslint/no-unused-vars\n rippleColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n center, // eslint-disable-line @typescript-eslint/no-unused-vars\n disabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n rippleEnabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n style, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...otherProps\n } = props;\n\n const { __css: rippleCss, ...rippleProps } = useRippleSurface(props);\n\n return (\n <Box\n as={as}\n ref={forwardedRef}\n __css={{ ...rippleCss, ...__css }}\n {...{ disabled }}\n {...otherProps}\n {...rippleProps}\n />\n );\n }\n) as any;\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AAGA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAOA,OAAO,IAAMC,SAIG,gBAAGH,UAAU,CAC3B,SAASG,SAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAwC;EACtC,gBAiBID,KAjBJ,CACEE,EADF;EAAA,IACEA,EADF,0BACO,KADP;EAAA,IAEEC,KAFF,GAiBIH,KAjBJ,CAEEG,KAFF;EAAA,IAKEC,SALF,GAiBIJ,KAjBJ,CAKEI,SALF;EAAA,IAMEC,aANF,GAiBIL,KAjBJ,CAMEK,aANF;EAAA,IAOEC,WAPF,GAiBIN,KAjBJ,CAOEM,WAPF;EAAA,IAQEC,YARF,GAiBIP,KAjBJ,CAQEO,YARF;EAAA,IASEC,YATF,GAiBIR,KAjBJ,CASEQ,YATF;EAAA,IAUEC,cAVF,GAiBIT,KAjBJ,CAUES,cAVF;EAAA,IAWEC,WAXF,GAiBIV,KAjBJ,CAWEU,WAXF;EAAA,IAYEC,MAZF,GAiBIX,KAjBJ,CAYEW,MAZF;EAAA,IAaEC,QAbF,GAiBIZ,KAjBJ,CAaEY,QAbF;EAAA,IAcEC,aAdF,GAiBIb,KAjBJ,CAcEa,aAdF;EAAA,IAeEC,KAfF,GAiBId,KAjBJ,CAeEc,KAfF;EAAA,IAgBKC,UAhBL,4BAiBIf,KAjBJ;;EAmBA,wBAA6CH,gBAAgB,CAACG,KAAD,CAA7D;EAAA,IAAegB,SAAf,qBAAQb,KAAR;EAAA,IAA6Bc,WAA7B;;EAEA,oBACE,KAAC,GAAD;IACE,EAAE,EAAEf,EADN;IAEE,GAAG,EAAED,YAFP;IAGE,KAAK,wBAAOe,SAAP,GAAqBb,KAArB,CAHP;IAIQS,QAAQ,EAARA;EAJR,GAKMG,UALN,GAMME,WANN,EADF;AAUD,CAjC0B,CAJtB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/constants.ts"],"names":["hash","RIPPLE_BACKGROUND_COLOR","RIPPLE_TRANSLATE_START","RIPPLE_TRANSLATE_END","RIPPLE_SCALE_END","RIPPLE_OPACITY_END","RIPPLE_SIZE","RIPPLE_POSITION"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,eAAjB;AAEA,OAAO,IAAMC,uBAAuB,mBAAYD,IAAI,CAClD,6BADkD,CAAhB,CAA7B;AAGP,OAAO,IAAME,sBAAsB,mBAAYF,IAAI,CACjD,oCADiD,CAAhB,CAA5B;AAGP,OAAO,IAAMG,oBAAoB,mBAAYH,IAAI,CAC/C,kCAD+C,CAAhB,CAA1B;AAGP,OAAO,IAAMI,gBAAgB,mBAAYJ,IAAI,CAAC,0BAAD,CAAhB,CAAtB;AACP,OAAO,IAAMK,kBAAkB,mBAAYL,IAAI,CAAC,4BAAD,CAAhB,CAAxB;AACP,OAAO,IAAMM,WAAW,mBAAYN,IAAI,CAAC,yBAAD,CAAhB,CAAjB;AACP,OAAO,IAAMO,eAAe,mBAAYP,IAAI,CAAC,6BAAD,CAAhB,CAArB","sourcesContent":["import hash from '@emotion/hash';\n\nexport const RIPPLE_BACKGROUND_COLOR = `--css-${hash(\n 'basic-ui-ripple-fg-bg-color'\n)}`;\nexport const RIPPLE_TRANSLATE_START = `--css-${hash(\n 'basic-ui-ripple-fg-translate-start'\n)}`;\nexport const RIPPLE_TRANSLATE_END = `--css-${hash(\n 'basic-ui-ripple-fg-translate-end'\n)}`;\nexport const RIPPLE_SCALE_END = `--css-${hash('basic-ui-ripple-fg-scale')}`;\nexport const RIPPLE_OPACITY_END = `--css-${hash('basic-ui-ripple-fg-opacity')}`;\nexport const RIPPLE_SIZE = `--css-${hash('basic-ui-ripple-fg-size')}`;\nexport const RIPPLE_POSITION = `--css-${hash('basic-ui-ripple-fg-position')}`;\n"],"file":"constants.js"}
1
+ {"version":3,"file":"constants.js","names":["hash","RIPPLE_BACKGROUND_COLOR","RIPPLE_TRANSLATE_START","RIPPLE_TRANSLATE_END","RIPPLE_SCALE_END","RIPPLE_OPACITY_END","RIPPLE_SIZE","RIPPLE_POSITION"],"sources":["../../../src/Ripple/constants.ts"],"sourcesContent":["import hash from '@emotion/hash';\n\nexport const RIPPLE_BACKGROUND_COLOR = `--css-${hash(\n 'basic-ui-ripple-fg-bg-color'\n)}`;\nexport const RIPPLE_TRANSLATE_START = `--css-${hash(\n 'basic-ui-ripple-fg-translate-start'\n)}`;\nexport const RIPPLE_TRANSLATE_END = `--css-${hash(\n 'basic-ui-ripple-fg-translate-end'\n)}`;\nexport const RIPPLE_SCALE_END = `--css-${hash('basic-ui-ripple-fg-scale')}`;\nexport const RIPPLE_OPACITY_END = `--css-${hash('basic-ui-ripple-fg-opacity')}`;\nexport const RIPPLE_SIZE = `--css-${hash('basic-ui-ripple-fg-size')}`;\nexport const RIPPLE_POSITION = `--css-${hash('basic-ui-ripple-fg-position')}`;\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,eAAjB;AAEA,OAAO,IAAMC,uBAAuB,mBAAYD,IAAI,CAClD,6BADkD,CAAhB,CAA7B;AAGP,OAAO,IAAME,sBAAsB,mBAAYF,IAAI,CACjD,oCADiD,CAAhB,CAA5B;AAGP,OAAO,IAAMG,oBAAoB,mBAAYH,IAAI,CAC/C,kCAD+C,CAAhB,CAA1B;AAGP,OAAO,IAAMI,gBAAgB,mBAAYJ,IAAI,CAAC,0BAAD,CAAhB,CAAtB;AACP,OAAO,IAAMK,kBAAkB,mBAAYL,IAAI,CAAC,4BAAD,CAAhB,CAAxB;AACP,OAAO,IAAMM,WAAW,mBAAYN,IAAI,CAAC,yBAAD,CAAhB,CAAjB;AACP,OAAO,IAAMO,eAAe,mBAAYP,IAAI,CAAC,6BAAD,CAAhB,CAArB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,aAAd;AACA,cAAc,aAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd","sourcesContent":["export * from './Ripple';\nexport * from './RippleBox';\nexport * from './useRipple';\nexport * from './useRippleHandlers';\nexport * from './useRippleSurface';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/Ripple/index.ts"],"sourcesContent":["export * from './Ripple';\nexport * from './RippleBox';\nexport * from './useRipple';\nexport * from './useRippleHandlers';\nexport * from './useRippleSurface';\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,aAAd;AACA,cAAc,aAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/keyframes.ts"],"names":["keyframes","RIPPLE_TRANSLATE_START","RIPPLE_TRANSLATE_END","RIPPLE_OPACITY_END","RIPPLE_SCALE_END","radiusIn","from","transform","to","opacityIn","opacity","opacityOut"],"mappings":"AAAA,SAASA,SAAT,QAA0B,gBAA1B;AAGA,SACEC,sBADF,EAEEC,oBAFF,EAGEC,kBAHF,EAIEC,gBAJF,QAKO,aALP;AAOA,OAAO,IAAMC,QAAmB,GAAGL,SAAS,CAAC;AAC3CM,EAAAA,IAAI,EAAE;AACJC,IAAAA,SAAS,0BAAmBN,sBAAnB;AADL,GADqC;AAI3CO,EAAAA,EAAE,EAAE;AACFD,IAAAA,SAAS,0BAAmBL,oBAAnB,6BAA0DE,gBAA1D;AADP;AAJuC,CAAD,CAArC;AASP,OAAO,IAAMK,SAAoB,GAAGT,SAAS,CAAC;AAC5CM,EAAAA,IAAI,EAAE;AACJI,IAAAA,OAAO,EAAE;AADL,GADsC;AAI5CF,EAAAA,EAAE,EAAE;AACFE,IAAAA,OAAO,gBAASP,kBAAT;AADL;AAJwC,CAAD,CAAtC;AASP,OAAO,IAAMQ,UAAqB,GAAGX,SAAS,CAAC;AAC7CM,EAAAA,IAAI,EAAE;AACJI,IAAAA,OAAO,gBAASP,kBAAT;AADH,GADuC;AAI7CK,EAAAA,EAAE,EAAE;AACFE,IAAAA,OAAO,EAAE;AADP;AAJyC,CAAD,CAAvC","sourcesContent":["import { keyframes } from '@emotion/react';\nimport type { Keyframes } from '@emotion/serialize';\n\nimport {\n RIPPLE_TRANSLATE_START,\n RIPPLE_TRANSLATE_END,\n RIPPLE_OPACITY_END,\n RIPPLE_SCALE_END,\n} from './constants';\n\nexport const radiusIn: Keyframes = keyframes({\n from: {\n transform: `translate(var(${RIPPLE_TRANSLATE_START}, 0)) scale(1)`,\n },\n to: {\n transform: `translate(var(${RIPPLE_TRANSLATE_END}, 0)) scale(var(${RIPPLE_SCALE_END}, 1))`,\n },\n});\n\nexport const opacityIn: Keyframes = keyframes({\n from: {\n opacity: '0',\n },\n to: {\n opacity: `var(${RIPPLE_OPACITY_END})`,\n },\n});\n\nexport const opacityOut: Keyframes = keyframes({\n from: {\n opacity: `var(${RIPPLE_OPACITY_END})`,\n },\n to: {\n opacity: '0',\n },\n});\n"],"file":"keyframes.js"}
1
+ {"version":3,"file":"keyframes.js","names":["keyframes","RIPPLE_TRANSLATE_START","RIPPLE_TRANSLATE_END","RIPPLE_OPACITY_END","RIPPLE_SCALE_END","radiusIn","from","transform","to","opacityIn","opacity","opacityOut"],"sources":["../../../src/Ripple/keyframes.ts"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport type { Keyframes } from '@emotion/serialize';\n\nimport {\n RIPPLE_TRANSLATE_START,\n RIPPLE_TRANSLATE_END,\n RIPPLE_OPACITY_END,\n RIPPLE_SCALE_END,\n} from './constants';\n\nexport const radiusIn: Keyframes = keyframes({\n from: {\n transform: `translate(var(${RIPPLE_TRANSLATE_START}, 0)) scale(1)`,\n },\n to: {\n transform: `translate(var(${RIPPLE_TRANSLATE_END}, 0)) scale(var(${RIPPLE_SCALE_END}, 1))`,\n },\n});\n\nexport const opacityIn: Keyframes = keyframes({\n from: {\n opacity: '0',\n },\n to: {\n opacity: `var(${RIPPLE_OPACITY_END})`,\n },\n});\n\nexport const opacityOut: Keyframes = keyframes({\n from: {\n opacity: `var(${RIPPLE_OPACITY_END})`,\n },\n to: {\n opacity: '0',\n },\n});\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,gBAA1B;AAGA,SACEC,sBADF,EAEEC,oBAFF,EAGEC,kBAHF,EAIEC,gBAJF,QAKO,aALP;AAOA,OAAO,IAAMC,QAAmB,GAAGL,SAAS,CAAC;EAC3CM,IAAI,EAAE;IACJC,SAAS,0BAAmBN,sBAAnB;EADL,CADqC;EAI3CO,EAAE,EAAE;IACFD,SAAS,0BAAmBL,oBAAnB,6BAA0DE,gBAA1D;EADP;AAJuC,CAAD,CAArC;AASP,OAAO,IAAMK,SAAoB,GAAGT,SAAS,CAAC;EAC5CM,IAAI,EAAE;IACJI,OAAO,EAAE;EADL,CADsC;EAI5CF,EAAE,EAAE;IACFE,OAAO,gBAASP,kBAAT;EADL;AAJwC,CAAD,CAAtC;AASP,OAAO,IAAMQ,UAAqB,GAAGX,SAAS,CAAC;EAC7CM,IAAI,EAAE;IACJI,OAAO,gBAASP,kBAAT;EADH,CADuC;EAI7CK,EAAE,EAAE;IACFE,OAAO,EAAE;EADP;AAJyC,CAAD,CAAvC"}
@@ -47,9 +47,9 @@ function calculateRipplePosition(rect, clientX, clientY) {
47
47
  x: clientX - rect.left,
48
48
  y: clientY - rect.top
49
49
  };
50
- return _extends({
50
+ return _extends(_extends({
51
51
  state: 'entering'
52
- }, rippleStart, getScale(rect));
52
+ }, rippleStart), getScale(rect));
53
53
  }
54
54
 
55
55
  export var useRipple = function useRipple(opts) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/useRipple.ts"],"names":["useState","useRef","useEffect","radiusIn","opacityIn","opacityOut","RIPPLE_TRANSLATE_START","RIPPLE_TRANSLATE_END","RIPPLE_OPACITY_END","RIPPLE_SCALE_END","RIPPLE_SIZE","RIPPLE_BACKGROUND_COLOR","RIPPLE_POSITION","defaultRipple","x","y","size","scale","centerX","centerY","getBoundedRadius","rect","padding","hypotenuse","Math","sqrt","pow","width","height","getScale","maxDim","max","initialOriginScale","maxRadius","initialSize","floor","calculateRipplePosition","clientX","clientY","center","rippleStart","left","top","state","useRipple","opts","opacity","backgroundColor","enterDuration","leaveDuration","rippleState","ripple","setRipple","leavingTimeout","enteringTimeout","restartTimeout","shouldLeave","current","cancelAnimationFrame","clearTimeout","setLeft","setLeaving","window","setTimeout","setEntered","deactivate","activate","requestAnimationFrame","animation","undefined","style"],"mappings":"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","sourcesContent":["import { useState, useRef, useEffect } from 'react';\n\nimport { radiusIn, opacityIn, opacityOut } from './keyframes';\nimport {\n RIPPLE_TRANSLATE_START,\n RIPPLE_TRANSLATE_END,\n RIPPLE_OPACITY_END,\n RIPPLE_SCALE_END,\n RIPPLE_SIZE,\n RIPPLE_BACKGROUND_COLOR,\n RIPPLE_POSITION,\n} from './constants';\n\nconst defaultRipple = {\n x: 0,\n y: 0,\n size: 0,\n scale: 0,\n centerX: 0,\n centerY: 0,\n};\n\n// Surface diameter is treated differently for unbounded vs. bounded ripples.\n// Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n// to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n// square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n// (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n// `overflow: hidden`.\nconst getBoundedRadius = (rect: ClientRect, padding: number) => {\n const hypotenuse = Math.sqrt(\n Math.pow(rect.width, 2) + Math.pow(rect.height, 2)\n );\n return hypotenuse + padding;\n};\n\nfunction getScale(rect: ClientRect) {\n const maxDim = Math.max(rect.height, rect.width);\n const padding = 10;\n const initialOriginScale = 0.6;\n const maxRadius = getBoundedRadius(rect, padding);\n\n // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n const initialSize = Math.floor(maxDim * initialOriginScale);\n\n return {\n size: initialSize,\n scale: maxRadius / initialSize,\n centerX: rect.width / 2,\n centerY: rect.height / 2,\n };\n}\n\nfunction calculateRipplePosition(\n rect: ClientRect,\n clientX: number,\n clientY: number,\n center = false\n) {\n const rippleStart = center\n ? {\n x: rect.width / 2,\n y: rect.height / 2,\n }\n : {\n x: clientX - rect.left,\n y: clientY - rect.top,\n };\n\n return {\n state: 'entering' as const,\n ...rippleStart,\n ...getScale(rect),\n };\n}\n\nexport interface RippleOptions {\n opacity: number;\n backgroundColor: string;\n enterDuration?: number;\n leaveDuration?: number;\n center?: boolean;\n disabled?: boolean;\n}\n\nexport const useRipple = (opts: RippleOptions) => {\n const {\n opacity,\n backgroundColor,\n enterDuration = 225,\n leaveDuration = 150,\n } = opts;\n\n // rippleState must be a ref, because it accesses the current value\n // inside closures... if we use state, it's gonna recapture\n // the state variable and won't work correctly\n const rippleState = useRef(\n 'left' as 'entering' | 'entered' | 'leaving' | 'left' | 'restart'\n );\n const [ripple, setRipple] = useState(defaultRipple);\n const leavingTimeout = useRef<number>();\n const enteringTimeout = useRef<number>();\n const restartTimeout = useRef<number>();\n\n const shouldLeave = useRef(false);\n\n // clear timeouts to avoid setting state on unmounted component\n useEffect(() => {\n return () => {\n restartTimeout.current && cancelAnimationFrame(restartTimeout.current);\n clearTimeout(enteringTimeout.current);\n clearTimeout(leavingTimeout.current);\n };\n }, []);\n\n // State handling\n const setLeft = () => {\n rippleState.current = 'left';\n setRipple({ ...defaultRipple });\n };\n\n const setLeaving = () => {\n clearTimeout(enteringTimeout.current);\n rippleState.current = 'leaving';\n setRipple((ripple) => ({\n ...ripple,\n }));\n\n leavingTimeout.current = window.setTimeout(setLeft, leaveDuration);\n };\n\n const setEntered = () => {\n rippleState.current = 'entered';\n setRipple((ripple) => ({\n ...ripple,\n }));\n\n if (shouldLeave.current) {\n setLeaving();\n }\n };\n\n const deactivate = () => {\n shouldLeave.current = true;\n if (rippleState.current === 'entered') {\n setLeaving();\n }\n };\n\n const activate = (\n rect: ClientRect,\n clientX: number,\n clientY: number,\n center = false\n ) => {\n clearTimeout(leavingTimeout.current);\n clearTimeout(enteringTimeout.current);\n shouldLeave.current = false;\n\n rippleState.current = 'restart';\n setRipple({ ...defaultRipple });\n restartTimeout.current = requestAnimationFrame(() => {\n rippleState.current = 'entering';\n setRipple(calculateRipplePosition(rect, clientX, clientY, center));\n\n enteringTimeout.current = window.setTimeout(setEntered, enterDuration);\n });\n };\n\n // Styling\n let animation: string | undefined = undefined;\n switch (rippleState.current) {\n case 'entering':\n case 'entered':\n animation =\n `${radiusIn} ${enterDuration}ms forwards,` +\n `${opacityIn} ${enterDuration / 3}ms forwards`;\n break;\n case 'leaving':\n animation =\n `${radiusIn} ${enterDuration}ms forwards,` +\n `${opacityOut} ${leaveDuration}ms forwards`;\n break;\n }\n\n let style = {};\n switch (rippleState.current) {\n case 'entering':\n case 'entered':\n case 'leaving':\n style = {\n [RIPPLE_SIZE]: `${ripple.size}px`,\n [RIPPLE_POSITION]: `${-ripple.size / 2}px`,\n [RIPPLE_BACKGROUND_COLOR]: backgroundColor,\n [RIPPLE_TRANSLATE_START]: `${ripple.x}px, ${ripple.y}px`,\n [RIPPLE_TRANSLATE_END]: `${ripple.centerX}px, ${ripple.centerY}px`,\n [RIPPLE_OPACITY_END]: opacity,\n [RIPPLE_SCALE_END]: `${ripple.scale}`,\n };\n break;\n }\n\n return {\n activate,\n deactivate,\n style,\n animation,\n // key: counter,\n };\n};\n"],"file":"useRipple.js"}
1
+ {"version":3,"file":"useRipple.js","names":["useState","useRef","useEffect","radiusIn","opacityIn","opacityOut","RIPPLE_TRANSLATE_START","RIPPLE_TRANSLATE_END","RIPPLE_OPACITY_END","RIPPLE_SCALE_END","RIPPLE_SIZE","RIPPLE_BACKGROUND_COLOR","RIPPLE_POSITION","defaultRipple","x","y","size","scale","centerX","centerY","getBoundedRadius","rect","padding","hypotenuse","Math","sqrt","pow","width","height","getScale","maxDim","max","initialOriginScale","maxRadius","initialSize","floor","calculateRipplePosition","clientX","clientY","center","rippleStart","left","top","state","useRipple","opts","opacity","backgroundColor","enterDuration","leaveDuration","rippleState","ripple","setRipple","leavingTimeout","enteringTimeout","restartTimeout","shouldLeave","current","cancelAnimationFrame","clearTimeout","setLeft","setLeaving","window","setTimeout","setEntered","deactivate","activate","requestAnimationFrame","animation","undefined","style"],"sources":["../../../src/Ripple/useRipple.ts"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\n\nimport { radiusIn, opacityIn, opacityOut } from './keyframes';\nimport {\n RIPPLE_TRANSLATE_START,\n RIPPLE_TRANSLATE_END,\n RIPPLE_OPACITY_END,\n RIPPLE_SCALE_END,\n RIPPLE_SIZE,\n RIPPLE_BACKGROUND_COLOR,\n RIPPLE_POSITION,\n} from './constants';\n\nconst defaultRipple = {\n x: 0,\n y: 0,\n size: 0,\n scale: 0,\n centerX: 0,\n centerY: 0,\n};\n\n// Surface diameter is treated differently for unbounded vs. bounded ripples.\n// Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n// to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n// square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n// (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n// `overflow: hidden`.\nconst getBoundedRadius = (rect: ClientRect, padding: number) => {\n const hypotenuse = Math.sqrt(\n Math.pow(rect.width, 2) + Math.pow(rect.height, 2)\n );\n return hypotenuse + padding;\n};\n\nfunction getScale(rect: ClientRect) {\n const maxDim = Math.max(rect.height, rect.width);\n const padding = 10;\n const initialOriginScale = 0.6;\n const maxRadius = getBoundedRadius(rect, padding);\n\n // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n const initialSize = Math.floor(maxDim * initialOriginScale);\n\n return {\n size: initialSize,\n scale: maxRadius / initialSize,\n centerX: rect.width / 2,\n centerY: rect.height / 2,\n };\n}\n\nfunction calculateRipplePosition(\n rect: ClientRect,\n clientX: number,\n clientY: number,\n center = false\n) {\n const rippleStart = center\n ? {\n x: rect.width / 2,\n y: rect.height / 2,\n }\n : {\n x: clientX - rect.left,\n y: clientY - rect.top,\n };\n\n return {\n state: 'entering' as const,\n ...rippleStart,\n ...getScale(rect),\n };\n}\n\nexport interface RippleOptions {\n opacity: number;\n backgroundColor: string;\n enterDuration?: number;\n leaveDuration?: number;\n center?: boolean;\n disabled?: boolean;\n}\n\nexport const useRipple = (opts: RippleOptions) => {\n const {\n opacity,\n backgroundColor,\n enterDuration = 225,\n leaveDuration = 150,\n } = opts;\n\n // rippleState must be a ref, because it accesses the current value\n // inside closures... if we use state, it's gonna recapture\n // the state variable and won't work correctly\n const rippleState = useRef(\n 'left' as 'entering' | 'entered' | 'leaving' | 'left' | 'restart'\n );\n const [ripple, setRipple] = useState(defaultRipple);\n const leavingTimeout = useRef<number>();\n const enteringTimeout = useRef<number>();\n const restartTimeout = useRef<number>();\n\n const shouldLeave = useRef(false);\n\n // clear timeouts to avoid setting state on unmounted component\n useEffect(() => {\n return () => {\n restartTimeout.current && cancelAnimationFrame(restartTimeout.current);\n clearTimeout(enteringTimeout.current);\n clearTimeout(leavingTimeout.current);\n };\n }, []);\n\n // State handling\n const setLeft = () => {\n rippleState.current = 'left';\n setRipple({ ...defaultRipple });\n };\n\n const setLeaving = () => {\n clearTimeout(enteringTimeout.current);\n rippleState.current = 'leaving';\n setRipple((ripple) => ({\n ...ripple,\n }));\n\n leavingTimeout.current = window.setTimeout(setLeft, leaveDuration);\n };\n\n const setEntered = () => {\n rippleState.current = 'entered';\n setRipple((ripple) => ({\n ...ripple,\n }));\n\n if (shouldLeave.current) {\n setLeaving();\n }\n };\n\n const deactivate = () => {\n shouldLeave.current = true;\n if (rippleState.current === 'entered') {\n setLeaving();\n }\n };\n\n const activate = (\n rect: ClientRect,\n clientX: number,\n clientY: number,\n center = false\n ) => {\n clearTimeout(leavingTimeout.current);\n clearTimeout(enteringTimeout.current);\n shouldLeave.current = false;\n\n rippleState.current = 'restart';\n setRipple({ ...defaultRipple });\n restartTimeout.current = requestAnimationFrame(() => {\n rippleState.current = 'entering';\n setRipple(calculateRipplePosition(rect, clientX, clientY, center));\n\n enteringTimeout.current = window.setTimeout(setEntered, enterDuration);\n });\n };\n\n // Styling\n let animation: string | undefined = undefined;\n switch (rippleState.current) {\n case 'entering':\n case 'entered':\n animation =\n `${radiusIn} ${enterDuration}ms forwards,` +\n `${opacityIn} ${enterDuration / 3}ms forwards`;\n break;\n case 'leaving':\n animation =\n `${radiusIn} ${enterDuration}ms forwards,` +\n `${opacityOut} ${leaveDuration}ms forwards`;\n break;\n }\n\n let style = {};\n switch (rippleState.current) {\n case 'entering':\n case 'entered':\n case 'leaving':\n style = {\n [RIPPLE_SIZE]: `${ripple.size}px`,\n [RIPPLE_POSITION]: `${-ripple.size / 2}px`,\n [RIPPLE_BACKGROUND_COLOR]: backgroundColor,\n [RIPPLE_TRANSLATE_START]: `${ripple.x}px, ${ripple.y}px`,\n [RIPPLE_TRANSLATE_END]: `${ripple.centerX}px, ${ripple.centerY}px`,\n [RIPPLE_OPACITY_END]: opacity,\n [RIPPLE_SCALE_END]: `${ripple.scale}`,\n };\n break;\n }\n\n return {\n activate,\n deactivate,\n style,\n animation,\n // key: counter,\n };\n};\n"],"mappings":";;;AAAA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,SAA3B,QAA4C,OAA5C;AAEA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,UAA9B,QAAgD,aAAhD;AACA,SACEC,sBADF,EAEEC,oBAFF,EAGEC,kBAHF,EAIEC,gBAJF,EAKEC,WALF,EAMEC,uBANF,EAOEC,eAPF,QAQO,aARP;AAUA,IAAMC,aAAa,GAAG;EACpBC,CAAC,EAAE,CADiB;EAEpBC,CAAC,EAAE,CAFiB;EAGpBC,IAAI,EAAE,CAHc;EAIpBC,KAAK,EAAE,CAJa;EAKpBC,OAAO,EAAE,CALW;EAMpBC,OAAO,EAAE;AANW,CAAtB,C,CASA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAmBC,OAAnB,EAAuC;EAC9D,IAAMC,UAAU,GAAGC,IAAI,CAACC,IAAL,CACjBD,IAAI,CAACE,GAAL,CAASL,IAAI,CAACM,KAAd,EAAqB,CAArB,IAA0BH,IAAI,CAACE,GAAL,CAASL,IAAI,CAACO,MAAd,EAAsB,CAAtB,CADT,CAAnB;EAGA,OAAOL,UAAU,GAAGD,OAApB;AACD,CALD;;AAOA,SAASO,QAAT,CAAkBR,IAAlB,EAAoC;EAClC,IAAMS,MAAM,GAAGN,IAAI,CAACO,GAAL,CAASV,IAAI,CAACO,MAAd,EAAsBP,IAAI,CAACM,KAA3B,CAAf;EACA,IAAML,OAAO,GAAG,EAAhB;EACA,IAAMU,kBAAkB,GAAG,GAA3B;EACA,IAAMC,SAAS,GAAGb,gBAAgB,CAACC,IAAD,EAAOC,OAAP,CAAlC,CAJkC,CAMlC;;EACA,IAAMY,WAAW,GAAGV,IAAI,CAACW,KAAL,CAAWL,MAAM,GAAGE,kBAApB,CAApB;EAEA,OAAO;IACLhB,IAAI,EAAEkB,WADD;IAELjB,KAAK,EAAEgB,SAAS,GAAGC,WAFd;IAGLhB,OAAO,EAAEG,IAAI,CAACM,KAAL,GAAa,CAHjB;IAILR,OAAO,EAAEE,IAAI,CAACO,MAAL,GAAc;EAJlB,CAAP;AAMD;;AAED,SAASQ,uBAAT,CACEf,IADF,EAEEgB,OAFF,EAGEC,OAHF,EAKE;EAAA,IADAC,MACA,uEADS,KACT;EACA,IAAMC,WAAW,GAAGD,MAAM,GACtB;IACEzB,CAAC,EAAEO,IAAI,CAACM,KAAL,GAAa,CADlB;IAEEZ,CAAC,EAAEM,IAAI,CAACO,MAAL,GAAc;EAFnB,CADsB,GAKtB;IACEd,CAAC,EAAEuB,OAAO,GAAGhB,IAAI,CAACoB,IADpB;IAEE1B,CAAC,EAAEuB,OAAO,GAAGjB,IAAI,CAACqB;EAFpB,CALJ;EAUA;IACEC,KAAK,EAAE;EADT,GAEKH,WAFL,GAGKX,QAAQ,CAACR,IAAD,CAHb;AAKD;;AAWD,OAAO,IAAMuB,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAyB;EAAA;;EAChD,IACEC,OADF,GAKID,IALJ,CACEC,OADF;EAAA,IAEEC,eAFF,GAKIF,IALJ,CAEEE,eAFF;EAAA,0BAKIF,IALJ,CAGEG,aAHF;EAAA,IAGEA,aAHF,oCAGkB,GAHlB;EAAA,0BAKIH,IALJ,CAIEI,aAJF;EAAA,IAIEA,aAJF,oCAIkB,GAJlB,uBADgD,CAQhD;EACA;EACA;;EACA,IAAMC,WAAW,GAAGjD,MAAM,CACxB,MADwB,CAA1B;;EAGA,gBAA4BD,QAAQ,CAACa,aAAD,CAApC;EAAA;EAAA,IAAOsC,MAAP;EAAA,IAAeC,SAAf;;EACA,IAAMC,cAAc,GAAGpD,MAAM,EAA7B;EACA,IAAMqD,eAAe,GAAGrD,MAAM,EAA9B;EACA,IAAMsD,cAAc,GAAGtD,MAAM,EAA7B;EAEA,IAAMuD,WAAW,GAAGvD,MAAM,CAAC,KAAD,CAA1B,CAnBgD,CAqBhD;;EACAC,SAAS,CAAC,YAAM;IACd,OAAO,YAAM;MACXqD,cAAc,CAACE,OAAf,IAA0BC,oBAAoB,CAACH,cAAc,CAACE,OAAhB,CAA9C;MACAE,YAAY,CAACL,eAAe,CAACG,OAAjB,CAAZ;MACAE,YAAY,CAACN,cAAc,CAACI,OAAhB,CAAZ;IACD,CAJD;EAKD,CANQ,EAMN,EANM,CAAT,CAtBgD,CA8BhD;;EACA,IAAMG,OAAO,GAAG,SAAVA,OAAU,GAAM;IACpBV,WAAW,CAACO,OAAZ,GAAsB,MAAtB;IACAL,SAAS,cAAMvC,aAAN,EAAT;EACD,CAHD;;EAKA,IAAMgD,UAAU,GAAG,SAAbA,UAAa,GAAM;IACvBF,YAAY,CAACL,eAAe,CAACG,OAAjB,CAAZ;IACAP,WAAW,CAACO,OAAZ,GAAsB,SAAtB;IACAL,SAAS,CAAC,UAACD,MAAD;MAAA,oBACLA,MADK;IAAA,CAAD,CAAT;IAIAE,cAAc,CAACI,OAAf,GAAyBK,MAAM,CAACC,UAAP,CAAkBH,OAAlB,EAA2BX,aAA3B,CAAzB;EACD,CARD;;EAUA,IAAMe,UAAU,GAAG,SAAbA,UAAa,GAAM;IACvBd,WAAW,CAACO,OAAZ,GAAsB,SAAtB;IACAL,SAAS,CAAC,UAACD,MAAD;MAAA,oBACLA,MADK;IAAA,CAAD,CAAT;;IAIA,IAAIK,WAAW,CAACC,OAAhB,EAAyB;MACvBI,UAAU;IACX;EACF,CATD;;EAWA,IAAMI,UAAU,GAAG,SAAbA,UAAa,GAAM;IACvBT,WAAW,CAACC,OAAZ,GAAsB,IAAtB;;IACA,IAAIP,WAAW,CAACO,OAAZ,KAAwB,SAA5B,EAAuC;MACrCI,UAAU;IACX;EACF,CALD;;EAOA,IAAMK,QAAQ,GAAG,SAAXA,QAAW,CACf7C,IADe,EAEfgB,OAFe,EAGfC,OAHe,EAKZ;IAAA,IADHC,MACG,uEADM,KACN;IACHoB,YAAY,CAACN,cAAc,CAACI,OAAhB,CAAZ;IACAE,YAAY,CAACL,eAAe,CAACG,OAAjB,CAAZ;IACAD,WAAW,CAACC,OAAZ,GAAsB,KAAtB;IAEAP,WAAW,CAACO,OAAZ,GAAsB,SAAtB;IACAL,SAAS,cAAMvC,aAAN,EAAT;IACA0C,cAAc,CAACE,OAAf,GAAyBU,qBAAqB,CAAC,YAAM;MACnDjB,WAAW,CAACO,OAAZ,GAAsB,UAAtB;MACAL,SAAS,CAAChB,uBAAuB,CAACf,IAAD,EAAOgB,OAAP,EAAgBC,OAAhB,EAAyBC,MAAzB,CAAxB,CAAT;MAEAe,eAAe,CAACG,OAAhB,GAA0BK,MAAM,CAACC,UAAP,CAAkBC,UAAlB,EAA8BhB,aAA9B,CAA1B;IACD,CAL6C,CAA9C;EAMD,CAlBD,CAhEgD,CAoFhD;;;EACA,IAAIoB,SAA6B,GAAGC,SAApC;;EACA,QAAQnB,WAAW,CAACO,OAApB;IACE,KAAK,UAAL;IACA,KAAK,SAAL;MACEW,SAAS,GACP,UAAGjE,QAAH,cAAe6C,aAAf,8BACG5C,SADH,cACgB4C,aAAa,GAAG,CADhC,gBADF;MAGA;;IACF,KAAK,SAAL;MACEoB,SAAS,GACP,UAAGjE,QAAH,cAAe6C,aAAf,8BACG3C,UADH,cACiB4C,aADjB,gBADF;MAGA;EAXJ;;EAcA,IAAIqB,KAAK,GAAG,EAAZ;;EACA,QAAQpB,WAAW,CAACO,OAApB;IACE,KAAK,UAAL;IACA,KAAK,SAAL;IACA,KAAK,SAAL;MACEa,KAAK,yCACF5D,WADE,YACeyC,MAAM,CAACnC,IADtB,kCAEFJ,eAFE,YAEmB,CAACuC,MAAM,CAACnC,IAAR,GAAe,CAFlC,kCAGFL,uBAHE,EAGwBoC,eAHxB,2BAIFzC,sBAJE,YAI0B6C,MAAM,CAACrC,CAJjC,iBAIyCqC,MAAM,CAACpC,CAJhD,kCAKFR,oBALE,YAKwB4C,MAAM,CAACjC,OAL/B,iBAK6CiC,MAAM,CAAChC,OALpD,kCAMFX,kBANE,EAMmBsC,OANnB,2BAOFrC,gBAPE,YAOoB0C,MAAM,CAAClC,KAP3B,WAAL;MASA;EAbJ;;EAgBA,OAAO;IACLiD,QAAQ,EAARA,QADK;IAELD,UAAU,EAAVA,UAFK;IAGLK,KAAK,EAALA,KAHK;IAILF,SAAS,EAATA,SAJK,CAKL;;EALK,CAAP;AAOD,CA5HM"}
@@ -1,8 +1,8 @@
1
- import type * as React from 'react';
1
+ import type { KeyboardEvent as ReactKeyboardEvent, PointerEvent } from 'react';
2
2
  import type { RippleOptions } from './useRipple';
3
3
  export declare function useRippleHandlers<T extends HTMLElement>(opts: RippleOptions): {
4
4
  style: {};
5
5
  animation: string | undefined;
6
- handleKeyDown: (e: React.KeyboardEvent<T>) => void;
7
- handlePointerDown: (e: React.PointerEvent<T>) => void;
6
+ handleKeyDown: (e: ReactKeyboardEvent<T>) => void;
7
+ handlePointerDown: (e: PointerEvent<T>) => void;
8
8
  };
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["activate", "deactivate"];
3
4
  import { useRef } from 'react';
4
5
  import { useRipple } from './useRipple';
5
6
 
@@ -11,7 +12,7 @@ export function useRippleHandlers(opts) {
11
12
  var _useRipple = useRipple(opts),
12
13
  activate = _useRipple.activate,
13
14
  deactivate = _useRipple.deactivate,
14
- rest = _objectWithoutProperties(_useRipple, ["activate", "deactivate"]); // Pointer activation
15
+ rest = _objectWithoutProperties(_useRipple, _excluded); // Pointer activation
15
16
 
16
17
 
17
18
  var handlePointerUp = function handlePointerUp() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/useRippleHandlers.ts"],"names":["useRef","useRipple","disabledHandler","useRippleHandlers","opts","activate","deactivate","rest","handlePointerUp","window","removeEventListener","handlePointerDown","e","rect","currentTarget","getBoundingClientRect","clientX","clientY","center","addEventListener","keyReleased","handleKeyUp","key","current","handleKeyDown","disabled"],"mappings":";;AAAA,SAASA,MAAT,QAAuB,OAAvB;AAIA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B;AACD,CAFD;;AAIA,OAAO,SAASC,iBAAT,CAAkDC,IAAlD,EAAuE;AAAA,mBAClCH,SAAS,CAACG,IAAD,CADyB;AAAA,MACpEC,QADoE,cACpEA,QADoE;AAAA,MAC1DC,UAD0D,cAC1DA,UAD0D;AAAA,MAC3CC,IAD2C,qEAG5E;;;AACA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5BC,IAAAA,MAAM,CAACC,mBAAP,CAA2B,WAA3B,EAAwCF,eAAxC;AACAC,IAAAA,MAAM,CAACC,mBAAP,CAA2B,eAA3B,EAA4CF,eAA5C;AACAF,IAAAA,UAAU;AACX,GAJD;;AAMA,MAAMK,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,CAAD,EAA8B;AACtD,QAAMC,IAAI,GAAGD,CAAC,CAACE,aAAF,CAAgBC,qBAAhB,EAAb;AACAV,IAAAA,QAAQ,CAACQ,IAAD,EAAOD,CAAC,CAACI,OAAT,EAAkBJ,CAAC,CAACK,OAApB,EAA6Bb,IAAI,CAACc,MAAlC,CAAR;AACAT,IAAAA,MAAM,CAACU,gBAAP,CAAwB,WAAxB,EAAqCX,eAArC;AACAC,IAAAA,MAAM,CAACU,gBAAP,CAAwB,eAAxB,EAAyCX,eAAzC;AACD,GALD,CAV4E,CAiB5E;;;AACA,MAAMY,WAAW,GAAGpB,MAAM,CAAC,IAAD,CAA1B;;AACA,MAAMqB,WAAW,GAAG,SAAdA,WAAc,CAACT,CAAD,EAAsB;AACxC,QAAIA,CAAC,CAACU,GAAF,KAAU,GAAd,EAAmB;AACjB;AACD;;AACDb,IAAAA,MAAM,CAACC,mBAAP,CAA2B,OAA3B,EAAoCW,WAApC;AACAD,IAAAA,WAAW,CAACG,OAAZ,GAAsB,IAAtB;AACAjB,IAAAA,UAAU;AACX,GAPD;;AASA,MAAMkB,aAAa,GAAG,SAAhBA,aAAgB,CAACZ,CAAD,EAA+B;AACnD,QAAIA,CAAC,CAACU,GAAF,KAAU,GAAV,IAAiB,CAACF,WAAW,CAACG,OAAlC,EAA2C;AACzC;AACD;;AACD,QAAMV,IAAI,GAAGD,CAAC,CAACE,aAAF,CAAgBC,qBAAhB,EAAb;AACAK,IAAAA,WAAW,CAACG,OAAZ,GAAsB,KAAtB;AACAlB,IAAAA,QAAQ,CAACQ,IAAD,EAAO,CAAP,EAAU,CAAV,EAAa,IAAb,CAAR;AACAJ,IAAAA,MAAM,CAACU,gBAAP,CAAwB,OAAxB,EAAiCE,WAAjC;AACD,GARD;;AAUA;AACEG,IAAAA,aAAa,EAAEpB,IAAI,CAACqB,QAAL,GAAgBvB,eAAhB,GAAkCsB,aADnD;AAEEb,IAAAA,iBAAiB,EAAEP,IAAI,CAACqB,QAAL,GAAgBvB,eAAhB,GAAkCS;AAFvD,KAGKJ,IAHL;AAKD","sourcesContent":["import { useRef } from 'react';\nimport type * as React from 'react';\n\nimport type { RippleOptions } from './useRipple';\nimport { useRipple } from './useRipple';\n\nconst disabledHandler = () => {\n /* When disabled, we don't wanna handle neither keyDown, nor pointerDown */\n};\n\nexport function useRippleHandlers<T extends HTMLElement>(opts: RippleOptions) {\n const { activate, deactivate, ...rest } = useRipple(opts);\n\n // Pointer activation\n const handlePointerUp = () => {\n window.removeEventListener('pointerup', handlePointerUp);\n window.removeEventListener('pointercancel', handlePointerUp);\n deactivate();\n };\n\n const handlePointerDown = (e: React.PointerEvent<T>) => {\n const rect = e.currentTarget.getBoundingClientRect();\n activate(rect, e.clientX, e.clientY, opts.center);\n window.addEventListener('pointerup', handlePointerUp);\n window.addEventListener('pointercancel', handlePointerUp);\n };\n\n // Keyboard activation\n const keyReleased = useRef(true);\n const handleKeyUp = (e: KeyboardEvent) => {\n if (e.key !== ' ') {\n return;\n }\n window.removeEventListener('keyup', handleKeyUp);\n keyReleased.current = true;\n deactivate();\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<T>) => {\n if (e.key !== ' ' || !keyReleased.current) {\n return;\n }\n const rect = e.currentTarget.getBoundingClientRect();\n keyReleased.current = false;\n activate(rect, 0, 0, true);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n return {\n handleKeyDown: opts.disabled ? disabledHandler : handleKeyDown,\n handlePointerDown: opts.disabled ? disabledHandler : handlePointerDown,\n ...rest,\n };\n}\n"],"file":"useRippleHandlers.js"}
1
+ {"version":3,"file":"useRippleHandlers.js","names":["useRef","useRipple","disabledHandler","useRippleHandlers","opts","activate","deactivate","rest","handlePointerUp","window","removeEventListener","handlePointerDown","e","rect","currentTarget","getBoundingClientRect","clientX","clientY","center","addEventListener","keyReleased","handleKeyUp","key","current","handleKeyDown","disabled"],"sources":["../../../src/Ripple/useRippleHandlers.ts"],"sourcesContent":["import type { KeyboardEvent as ReactKeyboardEvent, PointerEvent } from 'react';\nimport { useRef } from 'react';\n\nimport type { RippleOptions } from './useRipple';\nimport { useRipple } from './useRipple';\n\nconst disabledHandler = () => {\n /* When disabled, we don't wanna handle neither keyDown, nor pointerDown */\n};\n\nexport function useRippleHandlers<T extends HTMLElement>(opts: RippleOptions) {\n const { activate, deactivate, ...rest } = useRipple(opts);\n\n // Pointer activation\n const handlePointerUp = () => {\n window.removeEventListener('pointerup', handlePointerUp);\n window.removeEventListener('pointercancel', handlePointerUp);\n deactivate();\n };\n\n const handlePointerDown = (e: PointerEvent<T>) => {\n const rect = e.currentTarget.getBoundingClientRect();\n activate(rect, e.clientX, e.clientY, opts.center);\n window.addEventListener('pointerup', handlePointerUp);\n window.addEventListener('pointercancel', handlePointerUp);\n };\n\n // Keyboard activation\n const keyReleased = useRef(true);\n const handleKeyUp = (e: KeyboardEvent) => {\n if (e.key !== ' ') {\n return;\n }\n window.removeEventListener('keyup', handleKeyUp);\n keyReleased.current = true;\n deactivate();\n };\n\n const handleKeyDown = (e: ReactKeyboardEvent<T>) => {\n if (e.key !== ' ' || !keyReleased.current) {\n return;\n }\n const rect = e.currentTarget.getBoundingClientRect();\n keyReleased.current = false;\n activate(rect, 0, 0, true);\n window.addEventListener('keyup', handleKeyUp);\n };\n\n return {\n handleKeyDown: opts.disabled ? disabledHandler : handleKeyDown,\n handlePointerDown: opts.disabled ? disabledHandler : handlePointerDown,\n ...rest,\n };\n}\n"],"mappings":";;;AACA,SAASA,MAAT,QAAuB,OAAvB;AAGA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;EAC5B;AACD,CAFD;;AAIA,OAAO,SAASC,iBAAT,CAAkDC,IAAlD,EAAuE;EAC5E,iBAA0CH,SAAS,CAACG,IAAD,CAAnD;EAAA,IAAQC,QAAR,cAAQA,QAAR;EAAA,IAAkBC,UAAlB,cAAkBA,UAAlB;EAAA,IAAiCC,IAAjC,mDAD4E,CAG5E;;;EACA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC5BC,MAAM,CAACC,mBAAP,CAA2B,WAA3B,EAAwCF,eAAxC;IACAC,MAAM,CAACC,mBAAP,CAA2B,eAA3B,EAA4CF,eAA5C;IACAF,UAAU;EACX,CAJD;;EAMA,IAAMK,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,CAAD,EAAwB;IAChD,IAAMC,IAAI,GAAGD,CAAC,CAACE,aAAF,CAAgBC,qBAAhB,EAAb;IACAV,QAAQ,CAACQ,IAAD,EAAOD,CAAC,CAACI,OAAT,EAAkBJ,CAAC,CAACK,OAApB,EAA6Bb,IAAI,CAACc,MAAlC,CAAR;IACAT,MAAM,CAACU,gBAAP,CAAwB,WAAxB,EAAqCX,eAArC;IACAC,MAAM,CAACU,gBAAP,CAAwB,eAAxB,EAAyCX,eAAzC;EACD,CALD,CAV4E,CAiB5E;;;EACA,IAAMY,WAAW,GAAGpB,MAAM,CAAC,IAAD,CAA1B;;EACA,IAAMqB,WAAW,GAAG,SAAdA,WAAc,CAACT,CAAD,EAAsB;IACxC,IAAIA,CAAC,CAACU,GAAF,KAAU,GAAd,EAAmB;MACjB;IACD;;IACDb,MAAM,CAACC,mBAAP,CAA2B,OAA3B,EAAoCW,WAApC;IACAD,WAAW,CAACG,OAAZ,GAAsB,IAAtB;IACAjB,UAAU;EACX,CAPD;;EASA,IAAMkB,aAAa,GAAG,SAAhBA,aAAgB,CAACZ,CAAD,EAA8B;IAClD,IAAIA,CAAC,CAACU,GAAF,KAAU,GAAV,IAAiB,CAACF,WAAW,CAACG,OAAlC,EAA2C;MACzC;IACD;;IACD,IAAMV,IAAI,GAAGD,CAAC,CAACE,aAAF,CAAgBC,qBAAhB,EAAb;IACAK,WAAW,CAACG,OAAZ,GAAsB,KAAtB;IACAlB,QAAQ,CAACQ,IAAD,EAAO,CAAP,EAAU,CAAV,EAAa,IAAb,CAAR;IACAJ,MAAM,CAACU,gBAAP,CAAwB,OAAxB,EAAiCE,WAAjC;EACD,CARD;;EAUA;IACEG,aAAa,EAAEpB,IAAI,CAACqB,QAAL,GAAgBvB,eAAhB,GAAkCsB,aADnD;IAEEb,iBAAiB,EAAEP,IAAI,CAACqB,QAAL,GAAgBvB,eAAhB,GAAkCS;EAFvD,GAGKJ,IAHL;AAKD"}
@@ -1,4 +1,4 @@
1
- import type { CSSProperties } from 'react';
1
+ import type { CSSProperties, KeyboardEventHandler, PointerEventHandler } from 'react';
2
2
  export interface UseRippleSurfaceOptions<T extends HTMLElement> {
3
3
  baseOpacity?: number;
4
4
  hoverOpacity?: number;
@@ -7,12 +7,13 @@ export interface UseRippleSurfaceOptions<T extends HTMLElement> {
7
7
  rippleColor?: string;
8
8
  rippleEnabled?: boolean;
9
9
  center?: boolean;
10
+ mouseFocus?: boolean;
10
11
  disabled?: boolean;
11
12
  style?: CSSProperties;
12
- onPointerDown?: React.PointerEventHandler<T>;
13
- onKeyDown?: React.KeyboardEventHandler<T>;
13
+ onPointerDown?: PointerEventHandler<T>;
14
+ onKeyDown?: KeyboardEventHandler<T>;
14
15
  }
15
- export declare function useRippleSurface<T extends HTMLElement>(opts: UseRippleSurfaceOptions<T>): {
16
+ export declare function useRippleSurface<T extends HTMLElement>(opts?: UseRippleSurfaceOptions<T>): {
16
17
  style: {
17
18
  alignContent?: import("csstype").Property.AlignContent | undefined;
18
19
  alignItems?: import("csstype").Property.AlignItems | undefined;
@@ -782,5 +783,5 @@ export declare function useRippleSurface<T extends HTMLElement>(opts: UseRippleS
782
783
  };
783
784
  onKeyDown: import("@basic-ui/core").CustomEventHandler<import("react").KeyboardEvent<T>, []>;
784
785
  onPointerDown: import("@basic-ui/core").CustomEventHandler<import("react").PointerEvent<T>, []>;
785
- __css: Record<string, import("@styled-system/css").SystemStyleObject | import("@styled-system/css").ResponsiveStyleValue<string | number> | Record<string, import("@styled-system/css").SystemStyleObject | import("@styled-system/css").ResponsiveStyleValue<string | number>>>;
786
+ __css: import("@styled-system/css").SystemCssProperties | Record<string, import("@styled-system/css").SystemStyleObject | import("@styled-system/css").ResponsiveStyleValue<string | number> | Record<string, import("@styled-system/css").SystemStyleObject | import("@styled-system/css").ResponsiveStyleValue<string | number>>>;
786
787
  };
@@ -1,14 +1,15 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["onKeyDown", "onPointerDown", "style", "disabled", "rippleEnabled"];
5
+ import { useMemo } from 'react';
4
6
  import { get } from '@styled-system/css';
5
7
  import { wrapEvent } from '@basic-ui/core';
6
8
  import { useTheme } from '../theme';
7
9
  import { rippleStyle } from './Ripple';
8
10
  import { useRippleHandlers } from './useRippleHandlers';
9
- export function useRippleSurface(opts) {
10
- var _extends2;
11
-
11
+ export function useRippleSurface() {
12
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
12
13
  var _opts$baseOpacity = opts.baseOpacity,
13
14
  baseOpacity = _opts$baseOpacity === void 0 ? 0 : _opts$baseOpacity,
14
15
  _opts$hoverOpacity = opts.hoverOpacity,
@@ -18,7 +19,9 @@ export function useRippleSurface(opts) {
18
19
  _opts$pressedOpacity = opts.pressedOpacity,
19
20
  pressedOpacity = _opts$pressedOpacity === void 0 ? 0.12 : _opts$pressedOpacity,
20
21
  _opts$rippleColor = opts.rippleColor,
21
- rippleColor = _opts$rippleColor === void 0 ? 'on.surface' : _opts$rippleColor;
22
+ rippleColor = _opts$rippleColor === void 0 ? 'on.surface' : _opts$rippleColor,
23
+ _opts$mouseFocus = opts.mouseFocus,
24
+ mouseFocus = _opts$mouseFocus === void 0 ? false : _opts$mouseFocus;
22
25
 
23
26
  var onKeyDown = opts.onKeyDown,
24
27
  onPointerDown = opts.onPointerDown,
@@ -27,7 +30,7 @@ export function useRippleSurface(opts) {
27
30
  disabled = opts.disabled,
28
31
  _opts$rippleEnabled = opts.rippleEnabled,
29
32
  rippleEnabled = _opts$rippleEnabled === void 0 ? true : _opts$rippleEnabled,
30
- rippleProps = _objectWithoutProperties(opts, ["onKeyDown", "onPointerDown", "style", "disabled", "rippleEnabled"]);
33
+ rippleProps = _objectWithoutProperties(opts, _excluded);
31
34
 
32
35
  var theme = useTheme();
33
36
  rippleColor = get(theme, "colors.".concat(rippleColor)) || rippleColor;
@@ -48,64 +51,66 @@ export function useRippleSurface(opts) {
48
51
  animationStyle = _useRippleHandlers.style,
49
52
  animation = _useRippleHandlers.animation;
50
53
 
51
- var css = _extends({
52
- overflow: 'hidden',
53
- position: 'relative',
54
- cursor: 'pointer',
55
- // fix overflow: hidden + borderRadius in Safari
56
- // https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b#gistcomment-2359479
57
- willChange: 'transform,opacity',
58
- WebkitTapHighlightColor: 'transparent',
59
- // ripple overlay
60
- '&::before': {
61
- backgroundColor: rippleColor,
62
- boxSizing: 'content-box',
63
- position: 'absolute',
64
- content: '""',
65
- opacity: baseOpacity,
66
- pointerEvents: 'none',
67
- top: '0',
68
- left: '0',
69
- width: '100%',
70
- height: '100%',
71
- transition: 'opacity 75ms linear'
72
- },
73
- '&:hover::before': {
74
- opacity: hoverOpacity
75
- },
76
- '&:focus-visible::before': {
54
+ var focusPseudoClass = mouseFocus ? 'focus' : 'focus-visible';
55
+ var css = useMemo(function () {
56
+ var _extends4;
57
+
58
+ return _extends(_extends(_extends(_defineProperty({
59
+ overflow: 'hidden',
60
+ position: 'relative',
61
+ cursor: 'pointer',
62
+ // fix overflow: hidden + borderRadius in Safari
63
+ // https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b#gistcomment-2359479
64
+ willChange: 'transform,opacity',
65
+ WebkitTapHighlightColor: 'transparent',
66
+ // ripple overlay
67
+ '&::before': {
68
+ backgroundColor: rippleColor,
69
+ boxSizing: 'content-box',
70
+ position: 'absolute',
71
+ content: '""',
72
+ opacity: baseOpacity,
73
+ pointerEvents: 'none',
74
+ top: '0',
75
+ left: '0',
76
+ width: '100%',
77
+ height: '100%',
78
+ transition: 'opacity 75ms linear'
79
+ },
80
+ '&:hover::before': {
81
+ opacity: hoverOpacity
82
+ }
83
+ }, "&:".concat(focusPseudoClass, "::before"), {
77
84
  opacity: focusOpacity
78
- }
79
- }, !rippleEnabled && {
80
- '&:active::before': {
81
- opacity: pressedOpacity
82
- }
83
- }, {
84
- '&[aria-pressed="true"]::before': {
85
- opacity: baseOpacity + pressedOpacity
86
- },
87
- '&[aria-pressed="true"]:hover::before': {
88
- opacity: pressedOpacity + hoverOpacity
89
- },
90
- '&[aria-pressed="true"]:focus-visible::before': {
85
+ }), !rippleEnabled && {
86
+ '&:active::before': {
87
+ opacity: pressedOpacity
88
+ }
89
+ }), {}, _defineProperty({
90
+ '&[aria-pressed="true"]::before': {
91
+ opacity: baseOpacity + pressedOpacity
92
+ },
93
+ '&[aria-pressed="true"]:hover::before': {
94
+ opacity: pressedOpacity + hoverOpacity
95
+ }
96
+ }, "&[aria-pressed=\"true\"]:".concat(focusPseudoClass, "::before"), {
91
97
  opacity: pressedOpacity + focusOpacity
92
- }
93
- }, !rippleEnabled && {
94
- '&[aria-pressed="true"]:active::before': {
95
- opacity: pressedOpacity + pressedOpacity
96
- }
97
- }, (_extends2 = {}, _defineProperty(_extends2, '&:disabled::before,&:disabled:hover::before,&:disabled:focus::before,&:disabled:active::before,' + '&[data-disabled]::before,&[data-disabled]:hover::before,&[data-disabled]:focus::before,' + '&[data-disabled]:active::before,&:disabled[aria-pressed="true"]::before', {
98
- opacity: 0
99
- }), _defineProperty(_extends2, '&:disabled,&[data-disabled]', {
100
- cursor: 'default'
101
- }), _extends2), rippleEnabled && {
102
- '&::after': _extends({}, rippleStyle({
103
- animation: animation
104
- }))
105
- });
106
-
98
+ }), !rippleEnabled && {
99
+ '&[aria-pressed="true"]:active::before': {
100
+ opacity: pressedOpacity + pressedOpacity
101
+ }
102
+ }), {}, (_extends4 = {}, _defineProperty(_extends4, '&:disabled::before,&:disabled:hover::before,&:disabled:focus::before,&:disabled:active::before,' + '&[data-disabled]::before,&[data-disabled]:hover::before,&[data-disabled]:focus::before,' + '&[data-disabled]:active::before,&:disabled[aria-pressed="true"]::before', {
103
+ opacity: 0
104
+ }), _defineProperty(_extends4, '&:disabled,&[data-disabled]', {
105
+ cursor: 'default'
106
+ }), _extends4), rippleEnabled && {
107
+ '&::after': _extends({}, rippleStyle({
108
+ animation: animation
109
+ }))
110
+ });
111
+ }, [animation, baseOpacity, focusOpacity, focusPseudoClass, hoverOpacity, pressedOpacity, rippleColor, rippleEnabled]);
107
112
  return {
108
- style: _extends({}, animationStyle, style),
113
+ style: _extends(_extends({}, animationStyle), style),
109
114
  onKeyDown: wrapEvent(onKeyDown, handleKeyDown),
110
115
  onPointerDown: wrapEvent(onPointerDown, handlePointerDown),
111
116
  __css: css