@basic-ui/material 0.1.16 → 1.0.0-alpha.10

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 (607) hide show
  1. package/build/cjs/index.js +815 -376
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Alert/Alert.d.ts +2 -2
  4. package/build/esm/Alert/Alert.js +10 -10
  5. package/build/esm/Alert/Alert.js.map +1 -1
  6. package/build/esm/Alert/index.d.ts +0 -0
  7. package/build/esm/Alert/index.js +0 -0
  8. package/build/esm/Alert/index.js.map +0 -0
  9. package/build/esm/AppBar/AppBar.d.ts +4 -4
  10. package/build/esm/AppBar/AppBar.js +26 -19
  11. package/build/esm/AppBar/AppBar.js.map +1 -1
  12. package/build/esm/AppBar/AppBarButton.d.ts +2 -2
  13. package/build/esm/AppBar/AppBarButton.js +8 -9
  14. package/build/esm/AppBar/AppBarButton.js.map +1 -1
  15. package/build/esm/AppBar/context.d.ts +1 -1
  16. package/build/esm/AppBar/context.js +6 -5
  17. package/build/esm/AppBar/context.js.map +1 -1
  18. package/build/esm/AppBar/index.d.ts +0 -0
  19. package/build/esm/AppBar/index.js +0 -0
  20. package/build/esm/AppBar/index.js.map +0 -0
  21. package/build/esm/Badge/Badge.d.ts +2 -2
  22. package/build/esm/Badge/Badge.js +2 -2
  23. package/build/esm/Badge/Badge.js.map +1 -1
  24. package/build/esm/Badge/index.d.ts +0 -0
  25. package/build/esm/Badge/index.js +0 -0
  26. package/build/esm/Badge/index.js.map +0 -0
  27. package/build/esm/BaseLine/BaseLine.d.ts +0 -0
  28. package/build/esm/BaseLine/BaseLine.js +4 -4
  29. package/build/esm/BaseLine/BaseLine.js.map +1 -1
  30. package/build/esm/BaseLine/index.d.ts +0 -0
  31. package/build/esm/BaseLine/index.js +0 -0
  32. package/build/esm/BaseLine/index.js.map +0 -0
  33. package/build/esm/BottomSheet/BottomSheet.d.ts +2 -2
  34. package/build/esm/BottomSheet/BottomSheet.js +11 -13
  35. package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
  36. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +4 -4
  37. package/build/esm/BottomSheet/BottomSheetSurface.js +8 -9
  38. package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
  39. package/build/esm/BottomSheet/index.d.ts +0 -0
  40. package/build/esm/BottomSheet/index.js +0 -0
  41. package/build/esm/BottomSheet/index.js.map +0 -0
  42. package/build/esm/Box/Box.d.ts +8 -8
  43. package/build/esm/Box/Box.js +26 -19
  44. package/build/esm/Box/Box.js.map +1 -1
  45. package/build/esm/Box/index.d.ts +0 -0
  46. package/build/esm/Box/index.js +0 -0
  47. package/build/esm/Box/index.js.map +0 -0
  48. package/build/esm/Button/BaseButton.d.ts +5 -4
  49. package/build/esm/Button/BaseButton.js +10 -12
  50. package/build/esm/Button/BaseButton.js.map +1 -1
  51. package/build/esm/Button/Button.d.ts +7 -7
  52. package/build/esm/Button/Button.js +44 -24
  53. package/build/esm/Button/Button.js.map +1 -1
  54. package/build/esm/Button/ButtonGroup.d.ts +5 -0
  55. package/build/esm/Button/ButtonGroup.js +31 -0
  56. package/build/esm/Button/ButtonGroup.js.map +1 -0
  57. package/build/esm/Button/FilledButton.d.ts +3 -2
  58. package/build/esm/Button/FilledButton.js +61 -22
  59. package/build/esm/Button/FilledButton.js.map +1 -1
  60. package/build/esm/Button/FloatingActionButton.d.ts +1 -1
  61. package/build/esm/Button/FloatingActionButton.js +0 -0
  62. package/build/esm/Button/FloatingActionButton.js.map +1 -1
  63. package/build/esm/Button/IconButton.d.ts +2 -1
  64. package/build/esm/Button/IconButton.js +2 -1
  65. package/build/esm/Button/IconButton.js.map +1 -1
  66. package/build/esm/Button/OutlinedButton.d.ts +1 -1
  67. package/build/esm/Button/OutlinedButton.js +36 -4
  68. package/build/esm/Button/OutlinedButton.js.map +1 -1
  69. package/build/esm/Button/TransparentButton.d.ts +3 -2
  70. package/build/esm/Button/TransparentButton.js +49 -15
  71. package/build/esm/Button/TransparentButton.js.map +1 -1
  72. package/build/esm/Button/context.d.ts +8 -0
  73. package/build/esm/Button/context.js +7 -0
  74. package/build/esm/Button/context.js.map +1 -0
  75. package/build/esm/Button/index.d.ts +1 -0
  76. package/build/esm/Button/index.js +1 -0
  77. package/build/esm/Button/index.js.map +1 -1
  78. package/build/esm/CheckBox/CheckBox.d.ts +6 -6
  79. package/build/esm/CheckBox/CheckBox.js +42 -36
  80. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  81. package/build/esm/CheckBox/CheckBoxIcon.d.ts +5 -5
  82. package/build/esm/CheckBox/CheckBoxIcon.js +16 -14
  83. package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
  84. package/build/esm/CheckBox/CheckPath.d.ts +0 -0
  85. package/build/esm/CheckBox/CheckPath.js +15 -14
  86. package/build/esm/CheckBox/CheckPath.js.map +1 -1
  87. package/build/esm/CheckBox/IndeterminatePath.d.ts +0 -0
  88. package/build/esm/CheckBox/IndeterminatePath.js +14 -13
  89. package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
  90. package/build/esm/CheckBox/index.d.ts +0 -0
  91. package/build/esm/CheckBox/index.js +0 -0
  92. package/build/esm/CheckBox/index.js.map +0 -0
  93. package/build/esm/Chip/ButtonChip.d.ts +5 -5
  94. package/build/esm/Chip/ButtonChip.js +48 -65
  95. package/build/esm/Chip/ButtonChip.js.map +1 -1
  96. package/build/esm/Chip/Chip.d.ts +0 -0
  97. package/build/esm/Chip/Chip.js +0 -0
  98. package/build/esm/Chip/Chip.js.map +0 -0
  99. package/build/esm/Chip/ChipBase.d.ts +4 -4
  100. package/build/esm/Chip/ChipBase.js +41 -29
  101. package/build/esm/Chip/ChipBase.js.map +1 -1
  102. package/build/esm/Chip/ChoiceChip.d.ts +6 -5
  103. package/build/esm/Chip/ChoiceChip.js +37 -45
  104. package/build/esm/Chip/ChoiceChip.js.map +1 -1
  105. package/build/esm/Chip/index.d.ts +0 -0
  106. package/build/esm/Chip/index.js +0 -0
  107. package/build/esm/Chip/index.js.map +0 -0
  108. package/build/esm/ColorMode/ColorModeProvider.d.ts +3 -3
  109. package/build/esm/ColorMode/ColorModeProvider.js +31 -19
  110. package/build/esm/ColorMode/ColorModeProvider.js.map +1 -1
  111. package/build/esm/ColorMode/color-mode.d.ts +0 -0
  112. package/build/esm/ColorMode/color-mode.js +3 -3
  113. package/build/esm/ColorMode/color-mode.js.map +1 -1
  114. package/build/esm/ColorMode/color-vars.d.ts +0 -0
  115. package/build/esm/ColorMode/color-vars.js +20 -12
  116. package/build/esm/ColorMode/color-vars.js.map +1 -1
  117. package/build/esm/ColorMode/constants.d.ts +0 -0
  118. package/build/esm/ColorMode/constants.js +3 -3
  119. package/build/esm/ColorMode/constants.js.map +1 -1
  120. package/build/esm/ColorMode/index.d.ts +0 -0
  121. package/build/esm/ColorMode/index.js +0 -0
  122. package/build/esm/ColorMode/index.js.map +0 -0
  123. package/build/esm/Combobox/Combobox.d.ts +20 -20
  124. package/build/esm/Combobox/Combobox.js +53 -59
  125. package/build/esm/Combobox/Combobox.js.map +1 -1
  126. package/build/esm/Combobox/index.d.ts +0 -0
  127. package/build/esm/Combobox/index.js +0 -0
  128. package/build/esm/Combobox/index.js.map +0 -0
  129. package/build/esm/Dialog/Dialog.d.ts +5 -5
  130. package/build/esm/Dialog/Dialog.js +22 -23
  131. package/build/esm/Dialog/Dialog.js.map +1 -1
  132. package/build/esm/Dialog/DialogBackdrop.d.ts +4 -4
  133. package/build/esm/Dialog/DialogBackdrop.js +9 -11
  134. package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
  135. package/build/esm/Dialog/DialogContainer.d.ts +1 -1
  136. package/build/esm/Dialog/DialogContainer.js +4 -6
  137. package/build/esm/Dialog/DialogContainer.js.map +1 -1
  138. package/build/esm/Dialog/DialogSurface.d.ts +7 -5
  139. package/build/esm/Dialog/DialogSurface.js +23 -12
  140. package/build/esm/Dialog/DialogSurface.js.map +1 -1
  141. package/build/esm/Dialog/Scrim.d.ts +1 -1
  142. package/build/esm/Dialog/Scrim.js +4 -6
  143. package/build/esm/Dialog/Scrim.js.map +1 -1
  144. package/build/esm/Dialog/index.d.ts +0 -0
  145. package/build/esm/Dialog/index.js +0 -0
  146. package/build/esm/Dialog/index.js.map +0 -0
  147. package/build/esm/Dialog/useDialogAnimation.d.ts +0 -0
  148. package/build/esm/Dialog/useDialogAnimation.js +20 -20
  149. package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
  150. package/build/esm/Divider/Divider.d.ts +4 -4
  151. package/build/esm/Divider/Divider.js +8 -8
  152. package/build/esm/Divider/Divider.js.map +1 -1
  153. package/build/esm/Divider/index.d.ts +0 -0
  154. package/build/esm/Divider/index.js +0 -0
  155. package/build/esm/Divider/index.js.map +0 -0
  156. package/build/esm/FloatingLabel/FloatingLabel.d.ts +4 -4
  157. package/build/esm/FloatingLabel/FloatingLabel.js +28 -24
  158. package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
  159. package/build/esm/FloatingLabel/index.d.ts +0 -0
  160. package/build/esm/FloatingLabel/index.js +0 -0
  161. package/build/esm/FloatingLabel/index.js.map +0 -0
  162. package/build/esm/LineRipple/LineRipple.d.ts +4 -4
  163. package/build/esm/LineRipple/LineRipple.js +28 -19
  164. package/build/esm/LineRipple/LineRipple.js.map +1 -1
  165. package/build/esm/LineRipple/index.d.ts +0 -0
  166. package/build/esm/LineRipple/index.js +0 -0
  167. package/build/esm/LineRipple/index.js.map +0 -0
  168. package/build/esm/Link/Link.d.ts +4 -4
  169. package/build/esm/Link/Link.js +9 -9
  170. package/build/esm/Link/Link.js.map +1 -1
  171. package/build/esm/Link/index.d.ts +0 -0
  172. package/build/esm/Link/index.js +0 -0
  173. package/build/esm/Link/index.js.map +0 -0
  174. package/build/esm/List/List.d.ts +6 -6
  175. package/build/esm/List/List.js +19 -13
  176. package/build/esm/List/List.js.map +1 -1
  177. package/build/esm/List/index.d.ts +0 -0
  178. package/build/esm/List/index.js +0 -0
  179. package/build/esm/List/index.js.map +0 -0
  180. package/build/esm/ListItem/ListItem.d.ts +6 -6
  181. package/build/esm/ListItem/ListItem.js +72 -50
  182. package/build/esm/ListItem/ListItem.js.map +1 -1
  183. package/build/esm/ListItem/ListItemText.d.ts +6 -6
  184. package/build/esm/ListItem/ListItemText.js +10 -16
  185. package/build/esm/ListItem/ListItemText.js.map +1 -1
  186. package/build/esm/ListItem/context.d.ts +0 -0
  187. package/build/esm/ListItem/context.js +0 -0
  188. package/build/esm/ListItem/context.js.map +0 -0
  189. package/build/esm/ListItem/index.d.ts +0 -0
  190. package/build/esm/ListItem/index.js +0 -0
  191. package/build/esm/ListItem/index.js.map +0 -0
  192. package/build/esm/Menu/Menu.d.ts +11 -11
  193. package/build/esm/Menu/Menu.js +27 -29
  194. package/build/esm/Menu/Menu.js.map +1 -1
  195. package/build/esm/Menu/animation.d.ts +1 -1
  196. package/build/esm/Menu/animation.js +1 -1
  197. package/build/esm/Menu/animation.js.map +1 -1
  198. package/build/esm/Menu/index.d.ts +0 -0
  199. package/build/esm/Menu/index.js +0 -0
  200. package/build/esm/Menu/index.js.map +0 -0
  201. package/build/esm/NavRail/NavRailItem.d.ts +15 -0
  202. package/build/esm/NavRail/NavRailItem.js +147 -0
  203. package/build/esm/NavRail/NavRailItem.js.map +1 -0
  204. package/build/esm/NavRail/index.d.ts +1 -0
  205. package/build/esm/NavRail/index.js +2 -0
  206. package/build/esm/NavRail/index.js.map +1 -0
  207. package/build/esm/NotchedOutline/NotchedOutline.d.ts +5 -5
  208. package/build/esm/NotchedOutline/NotchedOutline.js +24 -21
  209. package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
  210. package/build/esm/NotchedOutline/context.d.ts +0 -0
  211. package/build/esm/NotchedOutline/context.js +6 -5
  212. package/build/esm/NotchedOutline/context.js.map +1 -1
  213. package/build/esm/NotchedOutline/index.d.ts +0 -0
  214. package/build/esm/NotchedOutline/index.js +0 -0
  215. package/build/esm/NotchedOutline/index.js.map +0 -0
  216. package/build/esm/NotchedOutline/styledComponents.d.ts +206 -47
  217. package/build/esm/NotchedOutline/styledComponents.js +59 -63
  218. package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
  219. package/build/esm/Paper/Paper.d.ts +6 -5
  220. package/build/esm/Paper/Paper.js +14 -13
  221. package/build/esm/Paper/Paper.js.map +1 -1
  222. package/build/esm/Paper/index.d.ts +0 -0
  223. package/build/esm/Paper/index.js +0 -0
  224. package/build/esm/Paper/index.js.map +0 -0
  225. package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +1 -1
  226. package/build/esm/ProgressSpinner/ProgressSpinner.js +18 -17
  227. package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
  228. package/build/esm/ProgressSpinner/index.d.ts +0 -0
  229. package/build/esm/ProgressSpinner/index.js +0 -0
  230. package/build/esm/ProgressSpinner/index.js.map +0 -0
  231. package/build/esm/RadioButton/RadioButton.d.ts +1 -1
  232. package/build/esm/RadioButton/RadioButton.js +17 -20
  233. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  234. package/build/esm/RadioButton/RadioButtonIcon.d.ts +3 -3
  235. package/build/esm/RadioButton/RadioButtonIcon.js +8 -9
  236. package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
  237. package/build/esm/RadioButton/RadioGroup.d.ts +3 -3
  238. package/build/esm/RadioButton/RadioGroup.js +5 -4
  239. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  240. package/build/esm/RadioButton/index.d.ts +0 -0
  241. package/build/esm/RadioButton/index.js +0 -0
  242. package/build/esm/RadioButton/index.js.map +0 -0
  243. package/build/esm/Ripple/Ripple.d.ts +1 -1
  244. package/build/esm/Ripple/Ripple.js +21 -20
  245. package/build/esm/Ripple/Ripple.js.map +1 -1
  246. package/build/esm/Ripple/RippleBox.d.ts +4 -5
  247. package/build/esm/Ripple/RippleBox.js +21 -15
  248. package/build/esm/Ripple/RippleBox.js.map +1 -1
  249. package/build/esm/Ripple/constants.d.ts +0 -0
  250. package/build/esm/Ripple/constants.js +7 -7
  251. package/build/esm/Ripple/constants.js.map +1 -1
  252. package/build/esm/Ripple/index.d.ts +0 -0
  253. package/build/esm/Ripple/index.js +0 -0
  254. package/build/esm/Ripple/index.js.map +0 -0
  255. package/build/esm/Ripple/keyframes.d.ts +1 -1
  256. package/build/esm/Ripple/keyframes.js +3 -3
  257. package/build/esm/Ripple/keyframes.js.map +1 -1
  258. package/build/esm/Ripple/useRipple.d.ts +0 -0
  259. package/build/esm/Ripple/useRipple.js +55 -48
  260. package/build/esm/Ripple/useRipple.js.map +1 -1
  261. package/build/esm/Ripple/useRippleHandlers.d.ts +4 -4
  262. package/build/esm/Ripple/useRippleHandlers.js +13 -15
  263. package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
  264. package/build/esm/Ripple/useRippleSurface.d.ts +10 -9
  265. package/build/esm/Ripple/useRippleSurface.js +91 -65
  266. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  267. package/build/esm/Select/Select.d.ts +8 -8
  268. package/build/esm/Select/Select.js +68 -47
  269. package/build/esm/Select/Select.js.map +1 -1
  270. package/build/esm/Select/SelectIcon.d.ts +4 -4
  271. package/build/esm/Select/SelectIcon.js +7 -8
  272. package/build/esm/Select/SelectIcon.js.map +1 -1
  273. package/build/esm/Select/context.d.ts +2 -2
  274. package/build/esm/Select/context.js +7 -6
  275. package/build/esm/Select/context.js.map +1 -1
  276. package/build/esm/Select/defaultRender.d.ts +2 -1
  277. package/build/esm/Select/defaultRender.js +12 -10
  278. package/build/esm/Select/defaultRender.js.map +1 -1
  279. package/build/esm/Select/index.d.ts +0 -0
  280. package/build/esm/Select/index.js +0 -0
  281. package/build/esm/Select/index.js.map +0 -0
  282. package/build/esm/Select/styledComponents.d.ts +10 -10
  283. package/build/esm/Select/styledComponents.js +15 -19
  284. package/build/esm/Select/styledComponents.js.map +1 -1
  285. package/build/esm/SelectItem/SelectItem.d.ts +2 -2
  286. package/build/esm/SelectItem/SelectItem.js +18 -19
  287. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  288. package/build/esm/SelectItem/index.d.ts +0 -0
  289. package/build/esm/SelectItem/index.js +0 -0
  290. package/build/esm/SelectItem/index.js.map +0 -0
  291. package/build/esm/SelectionControl/SelectionControlLabel.d.ts +6 -6
  292. package/build/esm/SelectionControl/SelectionControlLabel.js +6 -7
  293. package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
  294. package/build/esm/SelectionControl/SelectionControlText.d.ts +5 -5
  295. package/build/esm/SelectionControl/SelectionControlText.js +7 -8
  296. package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
  297. package/build/esm/SelectionControl/index.d.ts +0 -0
  298. package/build/esm/SelectionControl/index.js +0 -0
  299. package/build/esm/SelectionControl/index.js.map +0 -0
  300. package/build/esm/Skeleton/DelayAppearance.d.ts +5 -5
  301. package/build/esm/Skeleton/DelayAppearance.js +8 -9
  302. package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
  303. package/build/esm/Skeleton/Skeleton.d.ts +7 -7
  304. package/build/esm/Skeleton/Skeleton.js +10 -10
  305. package/build/esm/Skeleton/Skeleton.js.map +1 -1
  306. package/build/esm/Skeleton/animation.d.ts +2 -2
  307. package/build/esm/Skeleton/animation.js +25 -22
  308. package/build/esm/Skeleton/animation.js.map +1 -1
  309. package/build/esm/Skeleton/index.d.ts +0 -0
  310. package/build/esm/Skeleton/index.js +0 -0
  311. package/build/esm/Skeleton/index.js.map +0 -0
  312. package/build/esm/Snackbar/Snackbar.d.ts +4 -4
  313. package/build/esm/Snackbar/Snackbar.js +24 -25
  314. package/build/esm/Snackbar/Snackbar.js.map +1 -1
  315. package/build/esm/Snackbar/Stack.d.ts +2 -4
  316. package/build/esm/Snackbar/Stack.js +77 -65
  317. package/build/esm/Snackbar/Stack.js.map +1 -1
  318. package/build/esm/Snackbar/index.d.ts +0 -0
  319. package/build/esm/Snackbar/index.js +0 -0
  320. package/build/esm/Snackbar/index.js.map +0 -0
  321. package/build/esm/Snackbar/useSnackbarAnimation.d.ts +2 -2
  322. package/build/esm/Snackbar/useSnackbarAnimation.js +115 -79
  323. package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
  324. package/build/esm/Switch/Switch.d.ts +5 -6
  325. package/build/esm/Switch/Switch.js +28 -28
  326. package/build/esm/Switch/Switch.js.map +1 -1
  327. package/build/esm/Switch/index.d.ts +0 -0
  328. package/build/esm/Switch/index.js +0 -0
  329. package/build/esm/Switch/index.js.map +0 -0
  330. package/build/esm/Switch/styledComponents.d.ts +2 -1
  331. package/build/esm/Switch/styledComponents.js +67 -40
  332. package/build/esm/Switch/styledComponents.js.map +1 -1
  333. package/build/esm/Tab/Tab.d.ts +5 -5
  334. package/build/esm/Tab/Tab.js +18 -21
  335. package/build/esm/Tab/Tab.js.map +1 -1
  336. package/build/esm/Tab/TabList.d.ts +3 -3
  337. package/build/esm/Tab/TabList.js +18 -19
  338. package/build/esm/Tab/TabList.js.map +1 -1
  339. package/build/esm/Tab/TabPanel.d.ts +3 -3
  340. package/build/esm/Tab/TabPanel.js +8 -11
  341. package/build/esm/Tab/TabPanel.js.map +1 -1
  342. package/build/esm/Tab/TabPanels.d.ts +0 -0
  343. package/build/esm/Tab/TabPanels.js +0 -0
  344. package/build/esm/Tab/TabPanels.js.map +0 -0
  345. package/build/esm/Tab/Tabs.d.ts +0 -0
  346. package/build/esm/Tab/Tabs.js +0 -0
  347. package/build/esm/Tab/Tabs.js.map +0 -0
  348. package/build/esm/Tab/context.d.ts +0 -0
  349. package/build/esm/Tab/context.js +6 -5
  350. package/build/esm/Tab/context.js.map +1 -1
  351. package/build/esm/Tab/index.d.ts +0 -0
  352. package/build/esm/Tab/index.js +0 -0
  353. package/build/esm/Tab/index.js.map +0 -0
  354. package/build/esm/TabIndicator/TabIndicator.d.ts +2 -2
  355. package/build/esm/TabIndicator/TabIndicator.js +24 -22
  356. package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
  357. package/build/esm/TabIndicator/context.d.ts +2 -2
  358. package/build/esm/TabIndicator/context.js +6 -5
  359. package/build/esm/TabIndicator/context.js.map +1 -1
  360. package/build/esm/TabIndicator/index.d.ts +0 -0
  361. package/build/esm/TabIndicator/index.js +0 -0
  362. package/build/esm/TabIndicator/index.js.map +0 -0
  363. package/build/esm/Table/Table.d.ts +2 -2
  364. package/build/esm/Table/Table.js +8 -8
  365. package/build/esm/Table/Table.js.map +1 -1
  366. package/build/esm/Table/TableBody.d.ts +1 -1
  367. package/build/esm/Table/TableBody.js +4 -6
  368. package/build/esm/Table/TableBody.js.map +1 -1
  369. package/build/esm/Table/TableCell.d.ts +1 -1
  370. package/build/esm/Table/TableCell.js +6 -8
  371. package/build/esm/Table/TableCell.js.map +1 -1
  372. package/build/esm/Table/TableHead.d.ts +1 -1
  373. package/build/esm/Table/TableHead.js +5 -7
  374. package/build/esm/Table/TableHead.js.map +1 -1
  375. package/build/esm/Table/TableRow.d.ts +2 -2
  376. package/build/esm/Table/TableRow.js +6 -8
  377. package/build/esm/Table/TableRow.js.map +1 -1
  378. package/build/esm/Table/context.d.ts +0 -0
  379. package/build/esm/Table/context.js +6 -5
  380. package/build/esm/Table/context.js.map +1 -1
  381. package/build/esm/Table/index.d.ts +0 -0
  382. package/build/esm/Table/index.js +0 -0
  383. package/build/esm/Table/index.js.map +0 -0
  384. package/build/esm/Text/LoremIpsum.d.ts +1 -1
  385. package/build/esm/Text/LoremIpsum.js +7 -7
  386. package/build/esm/Text/LoremIpsum.js.map +1 -1
  387. package/build/esm/Text/Text.d.ts +9 -5
  388. package/build/esm/Text/Text.js +12 -9
  389. package/build/esm/Text/Text.js.map +1 -1
  390. package/build/esm/Text/index.d.ts +0 -0
  391. package/build/esm/Text/index.js +0 -0
  392. package/build/esm/Text/index.js.map +0 -0
  393. package/build/esm/TextField/FilledContainer.d.ts +5 -5
  394. package/build/esm/TextField/FilledContainer.js +60 -57
  395. package/build/esm/TextField/FilledContainer.js.map +1 -1
  396. package/build/esm/TextField/HelperText.d.ts +6 -6
  397. package/build/esm/TextField/HelperText.js +14 -14
  398. package/build/esm/TextField/HelperText.js.map +1 -1
  399. package/build/esm/TextField/IconContainer.d.ts +2 -3
  400. package/build/esm/TextField/IconContainer.js +14 -23
  401. package/build/esm/TextField/IconContainer.js.map +1 -1
  402. package/build/esm/TextField/Input.d.ts +5 -5
  403. package/build/esm/TextField/Input.js +16 -15
  404. package/build/esm/TextField/Input.js.map +1 -1
  405. package/build/esm/TextField/OutlinedContainer.d.ts +6 -6
  406. package/build/esm/TextField/OutlinedContainer.js +27 -22
  407. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  408. package/build/esm/TextField/TextField.d.ts +7 -7
  409. package/build/esm/TextField/TextField.js +58 -41
  410. package/build/esm/TextField/TextField.js.map +1 -1
  411. package/build/esm/TextField/consts.d.ts +0 -0
  412. package/build/esm/TextField/consts.js +5 -5
  413. package/build/esm/TextField/consts.js.map +1 -1
  414. package/build/esm/TextField/index.d.ts +0 -0
  415. package/build/esm/TextField/index.js +0 -0
  416. package/build/esm/TextField/index.js.map +0 -0
  417. package/build/esm/ThemeExplorer/ColorPicker.d.ts +4 -4
  418. package/build/esm/ThemeExplorer/ColorPicker.js +16 -16
  419. package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
  420. package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +2 -2
  421. package/build/esm/ThemeExplorer/TextFieldColorPicker.js +49 -29
  422. package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
  423. package/build/esm/ThemeExplorer/ThemeColors.d.ts +3 -3
  424. package/build/esm/ThemeExplorer/ThemeColors.js +4 -4
  425. package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
  426. package/build/esm/ThemeExplorer/components.d.ts +6 -6
  427. package/build/esm/ThemeExplorer/components.js +68 -59
  428. package/build/esm/ThemeExplorer/components.js.map +1 -1
  429. package/build/esm/ThemeExplorer/makeColorScheme.d.ts +1 -1
  430. package/build/esm/ThemeExplorer/makeColorScheme.js +2 -1
  431. package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
  432. package/build/esm/ThemeExplorer/useDeferredColor.d.ts +1 -1
  433. package/build/esm/ThemeExplorer/useDeferredColor.js +12 -4
  434. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  435. package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +0 -0
  436. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +9 -2
  437. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
  438. package/build/esm/Tooltip/Tooltip.d.ts +5 -5
  439. package/build/esm/Tooltip/Tooltip.js +12 -16
  440. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  441. package/build/esm/Tooltip/index.d.ts +0 -0
  442. package/build/esm/Tooltip/index.js +0 -0
  443. package/build/esm/Tooltip/index.js.map +0 -0
  444. package/build/esm/color.d.ts +7 -4
  445. package/build/esm/color.js +31 -16
  446. package/build/esm/color.js.map +1 -1
  447. package/build/esm/css.d.ts +0 -0
  448. package/build/esm/css.js +0 -0
  449. package/build/esm/css.js.map +0 -0
  450. package/build/esm/hooks/useAnimation.d.ts +1 -1
  451. package/build/esm/hooks/useAnimation.js +54 -41
  452. package/build/esm/hooks/useAnimation.js.map +1 -1
  453. package/build/esm/index.d.ts +2 -0
  454. package/build/esm/index.js +2 -0
  455. package/build/esm/index.js.map +1 -1
  456. package/build/esm/motion.d.ts +7 -0
  457. package/build/esm/motion.js +8 -0
  458. package/build/esm/motion.js.map +1 -0
  459. package/build/esm/theme/index.d.ts +0 -0
  460. package/build/esm/theme/index.js +0 -0
  461. package/build/esm/theme/index.js.map +0 -0
  462. package/build/esm/theme/theme.d.ts +206 -47
  463. package/build/esm/theme/theme.js +172 -97
  464. package/build/esm/theme/theme.js.map +1 -1
  465. package/build/esm/theme/typography-raleway.d.ts +0 -0
  466. package/build/esm/theme/typography-raleway.js +1 -1
  467. package/build/esm/theme/typography-raleway.js.map +1 -1
  468. package/build/esm/theme/typography-roboto.d.ts +0 -0
  469. package/build/esm/theme/typography-roboto.js +1 -1
  470. package/build/esm/theme/typography-roboto.js.map +1 -1
  471. package/build/esm/theme/useTheme.d.ts +1 -1
  472. package/build/esm/theme/useTheme.js +1 -1
  473. package/build/esm/theme/useTheme.js.map +1 -1
  474. package/build/tsconfig-build.tsbuildinfo +1 -0
  475. package/build/tsconfig.tsbuildinfo +1 -1
  476. package/package.json +7 -5
  477. package/src/Alert/Alert.tsx +5 -3
  478. package/src/AppBar/AppBar.story.tsx +7 -6
  479. package/src/AppBar/AppBar.tsx +13 -11
  480. package/src/AppBar/AppBarButton.tsx +3 -1
  481. package/src/AppBar/context.ts +2 -1
  482. package/src/Badge/Badge.tsx +3 -1
  483. package/src/BaseLine/BaseLine.tsx +15 -11
  484. package/src/BottomSheet/BottomSheet.story.tsx +1 -0
  485. package/src/BottomSheet/BottomSheet.tsx +2 -1
  486. package/src/BottomSheet/BottomSheetSurface.tsx +11 -7
  487. package/src/Box/Box.tsx +25 -24
  488. package/src/Button/BaseButton.tsx +7 -12
  489. package/src/Button/Button.story.tsx +41 -36
  490. package/src/Button/Button.tsx +26 -11
  491. package/src/Button/ButtonGroup.story.tsx +106 -0
  492. package/src/Button/ButtonGroup.tsx +35 -0
  493. package/src/Button/FilledButton.tsx +40 -10
  494. package/src/Button/FloatingActionButton.tsx +9 -0
  495. package/src/Button/IconButton.tsx +2 -1
  496. package/src/Button/OutlinedButton.tsx +33 -4
  497. package/src/Button/SpinnerButton.story.tsx +11 -12
  498. package/src/Button/TransparentButton.tsx +35 -4
  499. package/src/Button/context.tsx +17 -0
  500. package/src/Button/index.ts +1 -0
  501. package/src/CheckBox/CheckBox.story.tsx +4 -3
  502. package/src/CheckBox/CheckBox.tsx +14 -14
  503. package/src/CheckBox/CheckBoxIcon.tsx +8 -6
  504. package/src/Chip/ButtonChip.tsx +47 -51
  505. package/src/Chip/Chip.story.tsx +49 -28
  506. package/src/Chip/ChipBase.tsx +45 -15
  507. package/src/Chip/ChoiceChip.tsx +31 -27
  508. package/src/ColorMode/ColorModeProvider.tsx +6 -4
  509. package/src/Combobox/Combobox.story.tsx +4 -3
  510. package/src/Combobox/Combobox.tsx +37 -26
  511. package/src/Dialog/Dialog.story.tsx +3 -1
  512. package/src/Dialog/Dialog.tsx +9 -4
  513. package/src/Dialog/DialogBackdrop.tsx +8 -8
  514. package/src/Dialog/DialogContainer.tsx +3 -1
  515. package/src/Dialog/DialogSurface.tsx +27 -12
  516. package/src/Dialog/Scrim.tsx +3 -1
  517. package/src/Dialog/useDialogAnimation.tsx +3 -4
  518. package/src/Divider/Divider.tsx +5 -3
  519. package/src/FloatingLabel/FloatingLabel.story.tsx +1 -0
  520. package/src/FloatingLabel/FloatingLabel.tsx +9 -7
  521. package/src/LineRipple/LineRipple.story.tsx +2 -1
  522. package/src/LineRipple/LineRipple.tsx +8 -5
  523. package/src/Link/Link.tsx +5 -6
  524. package/src/List/List.tsx +8 -5
  525. package/src/ListItem/ListItem.story.tsx +1 -0
  526. package/src/ListItem/ListItem.tsx +62 -37
  527. package/src/ListItem/ListItemText.tsx +9 -11
  528. package/src/Menu/Menu.tsx +24 -17
  529. package/src/Menu/animation.ts +1 -1
  530. package/src/NavRail/NavRail.story.tsx +190 -0
  531. package/src/NavRail/NavRailItem.tsx +176 -0
  532. package/src/NavRail/index.ts +1 -0
  533. package/src/NotchedOutline/NotchedOutline.story.tsx +3 -2
  534. package/src/NotchedOutline/NotchedOutline.tsx +5 -5
  535. package/src/NotchedOutline/styledComponents.ts +10 -8
  536. package/src/Paper/Paper.story.tsx +20 -6
  537. package/src/Paper/Paper.tsx +24 -7
  538. package/src/ProgressSpinner/ProgressSpinner.story.tsx +1 -0
  539. package/src/ProgressSpinner/ProgressSpinner.tsx +7 -4
  540. package/src/RadioButton/RadioButton.story.tsx +3 -2
  541. package/src/RadioButton/RadioButton.tsx +11 -9
  542. package/src/RadioButton/RadioButtonIcon.tsx +7 -7
  543. package/src/RadioButton/RadioGroup.tsx +5 -5
  544. package/src/Ripple/Ripple.story.tsx +10 -4
  545. package/src/Ripple/Ripple.tsx +3 -2
  546. package/src/Ripple/RippleBox.tsx +9 -5
  547. package/src/Ripple/keyframes.ts +2 -1
  548. package/src/Ripple/useRipple.ts +1 -0
  549. package/src/Ripple/useRippleHandlers.ts +6 -4
  550. package/src/Ripple/useRippleSurface.ts +91 -49
  551. package/src/Select/PaymentMethodSelect.story.tsx +3 -1
  552. package/src/Select/Select.story.tsx +1 -0
  553. package/src/Select/Select.tsx +16 -9
  554. package/src/Select/SelectIcon.tsx +8 -6
  555. package/src/Select/context.ts +2 -1
  556. package/src/Select/defaultRender.ts +14 -13
  557. package/src/Select/styledComponents.tsx +17 -13
  558. package/src/SelectItem/SelectItem.tsx +4 -2
  559. package/src/SelectionControl/SelectionControlLabel.tsx +8 -9
  560. package/src/SelectionControl/SelectionControlText.tsx +6 -4
  561. package/src/Skeleton/DelayAppearance.tsx +6 -4
  562. package/src/Skeleton/Skeleton.story.tsx +4 -4
  563. package/src/Skeleton/Skeleton.tsx +9 -7
  564. package/src/Skeleton/animation.ts +3 -2
  565. package/src/Snackbar/Snackbar.story.tsx +1 -0
  566. package/src/Snackbar/Snackbar.tsx +10 -8
  567. package/src/Snackbar/Stack.tsx +7 -10
  568. package/src/Snackbar/useSnackbarAnimation.ts +6 -3
  569. package/src/Switch/Switch.tsx +20 -19
  570. package/src/Switch/styledComponents.tsx +73 -23
  571. package/src/Tab/Tab.tsx +10 -10
  572. package/src/Tab/TabList.tsx +5 -5
  573. package/src/Tab/TabPanel.tsx +5 -5
  574. package/src/TabIndicator/TabIndicator.tsx +8 -4
  575. package/src/TabIndicator/context.ts +2 -1
  576. package/src/Table/Table.tsx +5 -2
  577. package/src/Table/TableBody.tsx +3 -1
  578. package/src/Table/TableCell.tsx +3 -1
  579. package/src/Table/TableHead.tsx +4 -2
  580. package/src/Table/TableRow.tsx +5 -3
  581. package/src/Text/LoremIpsum.tsx +3 -2
  582. package/src/Text/Text.story.tsx +42 -7
  583. package/src/Text/Text.tsx +28 -6
  584. package/src/TextField/FilledContainer.tsx +15 -10
  585. package/src/TextField/HelperText.tsx +7 -6
  586. package/src/TextField/IconContainer.tsx +3 -3
  587. package/src/TextField/Input.tsx +13 -7
  588. package/src/TextField/OutlinedContainer.tsx +7 -5
  589. package/src/TextField/TextField.story.tsx +1 -0
  590. package/src/TextField/TextField.tsx +9 -6
  591. package/src/ThemeExplorer/ColorPicker.tsx +104 -0
  592. package/src/ThemeExplorer/TextFieldColorPicker.tsx +115 -0
  593. package/src/ThemeExplorer/ThemeBuilder.story.tsx +169 -0
  594. package/src/ThemeExplorer/ThemeColors.tsx +89 -0
  595. package/src/ThemeExplorer/components.tsx +200 -0
  596. package/src/ThemeExplorer/makeColorScheme.tsx +74 -0
  597. package/src/ThemeExplorer/useDeferredColor.tsx +25 -0
  598. package/src/ThemeExplorer/useLocalStorageCachedState.ts +18 -0
  599. package/src/Tooltip/Tooltip.story.tsx +2 -1
  600. package/src/Tooltip/Tooltip.tsx +15 -13
  601. package/src/color.ts +57 -29
  602. package/src/hooks/useAnimation.ts +2 -1
  603. package/src/index.ts +2 -0
  604. package/src/motion.ts +7 -0
  605. package/src/theme/theme.ts +174 -94
  606. package/src/theme/useTheme.ts +3 -1
  607. package/src/ListItem/context.ts +0 -13
@@ -1,29 +1,35 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import { forwardRef } from 'react';
4
4
  import { useRippleSurface } from './useRippleSurface';
5
5
  import { Box } from '../Box';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export const RippleBox = /*#__PURE__*/forwardRef(function RippleBox(props, forwardedRef) {
8
- const {
9
- as = 'div',
10
- __css,
11
- // eslint-disable-line @typescript-eslint/no-unused-vars
12
- disabled
13
- } = props,
14
- otherProps = _objectWithoutPropertiesLoose(props, ["as", "__css", "onKeyDown", "onPointerDown", "baseOpacity", "hoverOpacity", "focusOpacity", "pressedOpacity", "rippleColor", "center", "disabled", "style"]);
7
+ export var RippleBox = /*#__PURE__*/forwardRef(function RippleBox(props, forwardedRef) {
8
+ var _props$as = props.as,
9
+ as = _props$as === void 0 ? 'div' : _props$as,
10
+ __css = props.__css,
11
+ onKeyDown = props.onKeyDown,
12
+ onPointerDown = props.onPointerDown,
13
+ baseOpacity = props.baseOpacity,
14
+ hoverOpacity = props.hoverOpacity,
15
+ focusOpacity = props.focusOpacity,
16
+ pressedOpacity = props.pressedOpacity,
17
+ rippleColor = props.rippleColor,
18
+ center = props.center,
19
+ disabled = props.disabled,
20
+ rippleEnabled = props.rippleEnabled,
21
+ style = props.style,
22
+ otherProps = _objectWithoutProperties(props, ["as", "__css", "onKeyDown", "onPointerDown", "baseOpacity", "hoverOpacity", "focusOpacity", "pressedOpacity", "rippleColor", "center", "disabled", "rippleEnabled", "style"]);
15
23
 
16
- const _useRippleSurface = useRippleSurface(props),
17
- {
18
- __css: rippleCss
19
- } = _useRippleSurface,
20
- rippleProps = _objectWithoutPropertiesLoose(_useRippleSurface, ["__css"]);
24
+ var _useRippleSurface = useRippleSurface(props),
25
+ rippleCss = _useRippleSurface.__css,
26
+ rippleProps = _objectWithoutProperties(_useRippleSurface, ["__css"]);
21
27
 
22
28
  return /*#__PURE__*/_jsx(Box, _extends({
23
29
  as: as,
24
30
  ref: forwardedRef,
25
31
  __css: _extends({}, rippleCss, __css),
26
- disabled
32
+ disabled: disabled
27
33
  }, otherProps, rippleProps));
28
34
  });
29
35
  //# sourceMappingURL=RippleBox.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/RippleBox.tsx"],"names":["forwardRef","useRippleSurface","Box","RippleBox","props","forwardedRef","as","__css","disabled","otherProps","rippleCss","rippleProps"],"mappings":";;AAAA,SAASA,UAAT,QAA2C,OAA3C;AAEA,SAAkCC,gBAAlC,QAA0D,oBAA1D;AACA,SAASC,GAAT,QAA8B,QAA9B;;AAOA,OAAO,MAAMC,SAIG,gBAAGH,UAAU,CAC3B,SAASG,SAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAwC;AACtC,QAAM;AACJC,IAAAA,EAAE,GAAG,KADD;AAEJC,IAAAA,KAFI;AAYI;AACRC,IAAAA;AAbI,MAgBFJ,KAhBJ;AAAA,QAeKK,UAfL,iCAgBIL,KAhBJ;;AAkBA,4BAA6CH,gBAAgB,CAACG,KAAD,CAA7D;AAAA,QAAM;AAAEG,IAAAA,KAAK,EAAEG;AAAT,GAAN;AAAA,QAA6BC,WAA7B;;AAEA,sBACE,KAAC,GAAD;AACE,IAAA,EAAE,EAAEL,EADN;AAEE,IAAA,GAAG,EAAED,YAFP;AAGE,IAAA,KAAK,eAAOK,SAAP,EAAqBH,KAArB,CAHP;AAIQC,IAAAA;AAJR,KAKMC,UALN,EAMME,WANN,EADF;AAUD,CAhC0B,CAJtB","sourcesContent":["import { forwardRef, HTMLAttributes } from 'react';\nimport type * as React from 'react';\nimport { UseRippleSurfaceOptions, useRippleSurface } from './useRippleSurface';\nimport { Box, BoxProps } 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 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,"sources":["../../../src/Ripple/RippleBox.tsx"],"names":["forwardRef","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;AAGA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAOA,OAAO,IAAMC,SAIG,gBAAGH,UAAU,CAC3B,SAASG,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';\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"],"file":"RippleBox.js"}
File without changes
@@ -1,9 +1,9 @@
1
1
  import hash from '@emotion/hash';
2
- export const RIPPLE_BACKGROUND_COLOR = "--css-".concat(hash('basic-ui-ripple-fg-bg-color'));
3
- export const RIPPLE_TRANSLATE_START = "--css-".concat(hash('basic-ui-ripple-fg-translate-start'));
4
- export const RIPPLE_TRANSLATE_END = "--css-".concat(hash('basic-ui-ripple-fg-translate-end'));
5
- export const RIPPLE_SCALE_END = "--css-".concat(hash('basic-ui-ripple-fg-scale'));
6
- export const RIPPLE_OPACITY_END = "--css-".concat(hash('basic-ui-ripple-fg-opacity'));
7
- export const RIPPLE_SIZE = "--css-".concat(hash('basic-ui-ripple-fg-size'));
8
- export const RIPPLE_POSITION = "--css-".concat(hash('basic-ui-ripple-fg-position'));
2
+ export var RIPPLE_BACKGROUND_COLOR = "--css-".concat(hash('basic-ui-ripple-fg-bg-color'));
3
+ export var RIPPLE_TRANSLATE_START = "--css-".concat(hash('basic-ui-ripple-fg-translate-start'));
4
+ export var RIPPLE_TRANSLATE_END = "--css-".concat(hash('basic-ui-ripple-fg-translate-end'));
5
+ export var RIPPLE_SCALE_END = "--css-".concat(hash('basic-ui-ripple-fg-scale'));
6
+ export var RIPPLE_OPACITY_END = "--css-".concat(hash('basic-ui-ripple-fg-opacity'));
7
+ export var RIPPLE_SIZE = "--css-".concat(hash('basic-ui-ripple-fg-size'));
8
+ export var RIPPLE_POSITION = "--css-".concat(hash('basic-ui-ripple-fg-position'));
9
9
  //# sourceMappingURL=constants.js.map
@@ -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,MAAMC,uBAAuB,mBAAYD,IAAI,CAClD,6BADkD,CAAhB,CAA7B;AAGP,OAAO,MAAME,sBAAsB,mBAAYF,IAAI,CACjD,oCADiD,CAAhB,CAA5B;AAGP,OAAO,MAAMG,oBAAoB,mBAAYH,IAAI,CAC/C,kCAD+C,CAAhB,CAA1B;AAGP,OAAO,MAAMI,gBAAgB,mBAAYJ,IAAI,CAAC,0BAAD,CAAhB,CAAtB;AACP,OAAO,MAAMK,kBAAkB,mBAAYL,IAAI,CAAC,4BAAD,CAAhB,CAAxB;AACP,OAAO,MAAMM,WAAW,mBAAYN,IAAI,CAAC,yBAAD,CAAhB,CAAjB;AACP,OAAO,MAAMO,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,"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"}
File without changes
File without changes
File without changes
@@ -1,4 +1,4 @@
1
- import { Keyframes } from '@emotion/serialize';
1
+ import type { Keyframes } from '@emotion/serialize';
2
2
  export declare const radiusIn: Keyframes;
3
3
  export declare const opacityIn: Keyframes;
4
4
  export declare const opacityOut: Keyframes;
@@ -1,6 +1,6 @@
1
1
  import { keyframes } from '@emotion/react';
2
2
  import { RIPPLE_TRANSLATE_START, RIPPLE_TRANSLATE_END, RIPPLE_OPACITY_END, RIPPLE_SCALE_END } from './constants';
3
- export const radiusIn = keyframes({
3
+ export var radiusIn = keyframes({
4
4
  from: {
5
5
  transform: "translate(var(".concat(RIPPLE_TRANSLATE_START, ", 0)) scale(1)")
6
6
  },
@@ -8,7 +8,7 @@ export const radiusIn = keyframes({
8
8
  transform: "translate(var(".concat(RIPPLE_TRANSLATE_END, ", 0)) scale(var(").concat(RIPPLE_SCALE_END, ", 1))")
9
9
  }
10
10
  });
11
- export const opacityIn = keyframes({
11
+ export var opacityIn = keyframes({
12
12
  from: {
13
13
  opacity: '0'
14
14
  },
@@ -16,7 +16,7 @@ export const opacityIn = keyframes({
16
16
  opacity: "var(".concat(RIPPLE_OPACITY_END, ")")
17
17
  }
18
18
  });
19
- export const opacityOut = keyframes({
19
+ export var opacityOut = keyframes({
20
20
  from: {
21
21
  opacity: "var(".concat(RIPPLE_OPACITY_END, ")")
22
22
  },
@@ -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;AAEA,SACEC,sBADF,EAEEC,oBAFF,EAGEC,kBAHF,EAIEC,gBAJF,QAKO,aALP;AAOA,OAAO,MAAMC,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,MAAMK,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,MAAMQ,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 { Keyframes } from '@emotion/serialize';\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,"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"}
File without changes
@@ -1,8 +1,10 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
3
  import _extends from "@babel/runtime/helpers/extends";
2
4
  import { useState, useRef, useEffect } from 'react';
3
5
  import { radiusIn, opacityIn, opacityOut } from './keyframes';
4
6
  import { RIPPLE_TRANSLATE_START, RIPPLE_TRANSLATE_END, RIPPLE_OPACITY_END, RIPPLE_SCALE_END, RIPPLE_SIZE, RIPPLE_BACKGROUND_COLOR, RIPPLE_POSITION } from './constants';
5
- const defaultRipple = {
7
+ var defaultRipple = {
6
8
  x: 0,
7
9
  y: 0,
8
10
  size: 0,
@@ -16,18 +18,18 @@ const defaultRipple = {
16
18
  // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via
17
19
  // `overflow: hidden`.
18
20
 
19
- const getBoundedRadius = (rect, padding) => {
20
- const hypotenuse = Math.sqrt(Math.pow(rect.width, 2) + Math.pow(rect.height, 2));
21
+ var getBoundedRadius = function getBoundedRadius(rect, padding) {
22
+ var hypotenuse = Math.sqrt(Math.pow(rect.width, 2) + Math.pow(rect.height, 2));
21
23
  return hypotenuse + padding;
22
24
  };
23
25
 
24
26
  function getScale(rect) {
25
- const maxDim = Math.max(rect.height, rect.width);
26
- const padding = 10;
27
- const initialOriginScale = 0.6;
28
- const maxRadius = getBoundedRadius(rect, padding); // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform
27
+ var maxDim = Math.max(rect.height, rect.width);
28
+ var padding = 10;
29
+ var initialOriginScale = 0.6;
30
+ var maxRadius = getBoundedRadius(rect, padding); // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform
29
31
 
30
- const initialSize = Math.floor(maxDim * initialOriginScale);
32
+ var initialSize = Math.floor(maxDim * initialOriginScale);
31
33
  return {
32
34
  size: initialSize,
33
35
  scale: maxRadius / initialSize,
@@ -36,8 +38,9 @@ function getScale(rect) {
36
38
  };
37
39
  }
38
40
 
39
- function calculateRipplePosition(rect, clientX, clientY, center = false) {
40
- const rippleStart = center ? {
41
+ function calculateRipplePosition(rect, clientX, clientY) {
42
+ var center = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
43
+ var rippleStart = center ? {
41
44
  x: rect.width / 2,
42
45
  y: rect.height / 2
43
46
  } : {
@@ -49,53 +52,64 @@ function calculateRipplePosition(rect, clientX, clientY, center = false) {
49
52
  }, rippleStart, getScale(rect));
50
53
  }
51
54
 
52
- export const useRipple = opts => {
53
- const {
54
- opacity,
55
- backgroundColor,
56
- enterDuration = 225,
57
- leaveDuration = 150
58
- } = opts; // rippleState must be a ref, because it accesses the current value
55
+ export var useRipple = function useRipple(opts) {
56
+ var _style;
57
+
58
+ var opacity = opts.opacity,
59
+ backgroundColor = opts.backgroundColor,
60
+ _opts$enterDuration = opts.enterDuration,
61
+ enterDuration = _opts$enterDuration === void 0 ? 225 : _opts$enterDuration,
62
+ _opts$leaveDuration = opts.leaveDuration,
63
+ leaveDuration = _opts$leaveDuration === void 0 ? 150 : _opts$leaveDuration; // rippleState must be a ref, because it accesses the current value
59
64
  // inside closures... if we use state, it's gonna recapture
60
65
  // the state variable and won't work correctly
61
66
 
62
- const rippleState = useRef('left');
63
- const [ripple, setRipple] = useState(defaultRipple);
64
- const leavingTimeout = useRef();
65
- const enteringTimeout = useRef();
66
- const restartTimeout = useRef();
67
- const shouldLeave = useRef(false); // clear timeouts to avoid setting state on unmounted component
67
+ var rippleState = useRef('left');
68
+
69
+ var _useState = useState(defaultRipple),
70
+ _useState2 = _slicedToArray(_useState, 2),
71
+ ripple = _useState2[0],
72
+ setRipple = _useState2[1];
73
+
74
+ var leavingTimeout = useRef();
75
+ var enteringTimeout = useRef();
76
+ var restartTimeout = useRef();
77
+ var shouldLeave = useRef(false); // clear timeouts to avoid setting state on unmounted component
68
78
 
69
- useEffect(() => {
70
- return () => {
79
+ useEffect(function () {
80
+ return function () {
71
81
  restartTimeout.current && cancelAnimationFrame(restartTimeout.current);
72
82
  clearTimeout(enteringTimeout.current);
73
83
  clearTimeout(leavingTimeout.current);
74
84
  };
75
85
  }, []); // State handling
76
86
 
77
- const setLeft = () => {
87
+ var setLeft = function setLeft() {
78
88
  rippleState.current = 'left';
79
89
  setRipple(_extends({}, defaultRipple));
80
90
  };
81
91
 
82
- const setLeaving = () => {
92
+ var setLeaving = function setLeaving() {
83
93
  clearTimeout(enteringTimeout.current);
84
94
  rippleState.current = 'leaving';
85
- setRipple(ripple => _extends({}, ripple));
95
+ setRipple(function (ripple) {
96
+ return _extends({}, ripple);
97
+ });
86
98
  leavingTimeout.current = window.setTimeout(setLeft, leaveDuration);
87
99
  };
88
100
 
89
- const setEntered = () => {
101
+ var setEntered = function setEntered() {
90
102
  rippleState.current = 'entered';
91
- setRipple(ripple => _extends({}, ripple));
103
+ setRipple(function (ripple) {
104
+ return _extends({}, ripple);
105
+ });
92
106
 
93
107
  if (shouldLeave.current) {
94
108
  setLeaving();
95
109
  }
96
110
  };
97
111
 
98
- const deactivate = () => {
112
+ var deactivate = function deactivate() {
99
113
  shouldLeave.current = true;
100
114
 
101
115
  if (rippleState.current === 'entered') {
@@ -103,13 +117,14 @@ export const useRipple = opts => {
103
117
  }
104
118
  };
105
119
 
106
- const activate = (rect, clientX, clientY, center = false) => {
120
+ var activate = function activate(rect, clientX, clientY) {
121
+ var center = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
107
122
  clearTimeout(leavingTimeout.current);
108
123
  clearTimeout(enteringTimeout.current);
109
124
  shouldLeave.current = false;
110
125
  rippleState.current = 'restart';
111
126
  setRipple(_extends({}, defaultRipple));
112
- restartTimeout.current = requestAnimationFrame(() => {
127
+ restartTimeout.current = requestAnimationFrame(function () {
113
128
  rippleState.current = 'entering';
114
129
  setRipple(calculateRipplePosition(rect, clientX, clientY, center));
115
130
  enteringTimeout.current = window.setTimeout(setEntered, enterDuration);
@@ -117,7 +132,7 @@ export const useRipple = opts => {
117
132
  }; // Styling
118
133
 
119
134
 
120
- let animation = undefined;
135
+ var animation = undefined;
121
136
 
122
137
  switch (rippleState.current) {
123
138
  case 'entering':
@@ -130,29 +145,21 @@ export const useRipple = opts => {
130
145
  break;
131
146
  }
132
147
 
133
- let style = {};
148
+ var style = {};
134
149
 
135
150
  switch (rippleState.current) {
136
151
  case 'entering':
137
152
  case 'entered':
138
153
  case 'leaving':
139
- style = {
140
- [RIPPLE_SIZE]: "".concat(ripple.size, "px"),
141
- [RIPPLE_POSITION]: "".concat(-ripple.size / 2, "px"),
142
- [RIPPLE_BACKGROUND_COLOR]: backgroundColor,
143
- [RIPPLE_TRANSLATE_START]: "".concat(ripple.x, "px, ").concat(ripple.y, "px"),
144
- [RIPPLE_TRANSLATE_END]: "".concat(ripple.centerX, "px, ").concat(ripple.centerY, "px"),
145
- [RIPPLE_OPACITY_END]: opacity,
146
- [RIPPLE_SCALE_END]: "".concat(ripple.scale)
147
- };
154
+ style = (_style = {}, _defineProperty(_style, RIPPLE_SIZE, "".concat(ripple.size, "px")), _defineProperty(_style, RIPPLE_POSITION, "".concat(-ripple.size / 2, "px")), _defineProperty(_style, RIPPLE_BACKGROUND_COLOR, backgroundColor), _defineProperty(_style, RIPPLE_TRANSLATE_START, "".concat(ripple.x, "px, ").concat(ripple.y, "px")), _defineProperty(_style, RIPPLE_TRANSLATE_END, "".concat(ripple.centerX, "px, ").concat(ripple.centerY, "px")), _defineProperty(_style, RIPPLE_OPACITY_END, opacity), _defineProperty(_style, RIPPLE_SCALE_END, "".concat(ripple.scale)), _style);
148
155
  break;
149
156
  }
150
157
 
151
158
  return {
152
- activate,
153
- deactivate,
154
- style,
155
- animation // key: counter,
159
+ activate: activate,
160
+ deactivate: deactivate,
161
+ style: style,
162
+ animation: animation // key: counter,
156
163
 
157
164
  };
158
165
  };
@@ -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';\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,"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,8 +1,8 @@
1
- import type * as React from 'react';
2
- import { RippleOptions } from './useRipple';
1
+ import type { KeyboardEvent as ReactKeyboardEvent, PointerEvent } from 'react';
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,38 +1,36 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  import { useRef } from 'react';
4
4
  import { useRipple } from './useRipple';
5
5
 
6
- const disabledHandler = () => {
6
+ var disabledHandler = function disabledHandler() {
7
7
  /* When disabled, we don't wanna handle neither keyDown, nor pointerDown */
8
8
  };
9
9
 
10
10
  export function useRippleHandlers(opts) {
11
- const _useRipple = useRipple(opts),
12
- {
13
- activate,
14
- deactivate
15
- } = _useRipple,
16
- rest = _objectWithoutPropertiesLoose(_useRipple, ["activate", "deactivate"]); // Pointer activation
11
+ var _useRipple = useRipple(opts),
12
+ activate = _useRipple.activate,
13
+ deactivate = _useRipple.deactivate,
14
+ rest = _objectWithoutProperties(_useRipple, ["activate", "deactivate"]); // Pointer activation
17
15
 
18
16
 
19
- const handlePointerUp = () => {
17
+ var handlePointerUp = function handlePointerUp() {
20
18
  window.removeEventListener('pointerup', handlePointerUp);
21
19
  window.removeEventListener('pointercancel', handlePointerUp);
22
20
  deactivate();
23
21
  };
24
22
 
25
- const handlePointerDown = e => {
26
- const rect = e.currentTarget.getBoundingClientRect();
23
+ var handlePointerDown = function handlePointerDown(e) {
24
+ var rect = e.currentTarget.getBoundingClientRect();
27
25
  activate(rect, e.clientX, e.clientY, opts.center);
28
26
  window.addEventListener('pointerup', handlePointerUp);
29
27
  window.addEventListener('pointercancel', handlePointerUp);
30
28
  }; // Keyboard activation
31
29
 
32
30
 
33
- const keyReleased = useRef(true);
31
+ var keyReleased = useRef(true);
34
32
 
35
- const handleKeyUp = e => {
33
+ var handleKeyUp = function handleKeyUp(e) {
36
34
  if (e.key !== ' ') {
37
35
  return;
38
36
  }
@@ -42,12 +40,12 @@ export function useRippleHandlers(opts) {
42
40
  deactivate();
43
41
  };
44
42
 
45
- const handleKeyDown = e => {
43
+ var handleKeyDown = function handleKeyDown(e) {
46
44
  if (e.key !== ' ' || !keyReleased.current) {
47
45
  return;
48
46
  }
49
47
 
50
- const rect = e.currentTarget.getBoundingClientRect();
48
+ var rect = e.currentTarget.getBoundingClientRect();
51
49
  keyReleased.current = false;
52
50
  activate(rect, 0, 0, true);
53
51
  window.addEventListener('keyup', handleKeyUp);
@@ -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;AAEA,SAAwBC,SAAxB,QAAyC,aAAzC;;AAEA,MAAMC,eAAe,GAAG,MAAM;AAC5B;AACD,CAFD;;AAIA,OAAO,SAASC,iBAAT,CAAkDC,IAAlD,EAAuE;AAC5E,qBAA0CH,SAAS,CAACG,IAAD,CAAnD;AAAA,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAN;AAAA,QAAiCC,IAAjC,yEAD4E,CAG5E;;;AACA,QAAMC,eAAe,GAAG,MAAM;AAC5BC,IAAAA,MAAM,CAACC,mBAAP,CAA2B,WAA3B,EAAwCF,eAAxC;AACAC,IAAAA,MAAM,CAACC,mBAAP,CAA2B,eAA3B,EAA4CF,eAA5C;AACAF,IAAAA,UAAU;AACX,GAJD;;AAMA,QAAMK,iBAAiB,GAAIC,CAAD,IAA8B;AACtD,UAAMC,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,QAAMY,WAAW,GAAGpB,MAAM,CAAC,IAAD,CAA1B;;AACA,QAAMqB,WAAW,GAAIT,CAAD,IAAsB;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,QAAMkB,aAAa,GAAIZ,CAAD,IAA+B;AACnD,QAAIA,CAAC,CAACU,GAAF,KAAU,GAAV,IAAiB,CAACF,WAAW,CAACG,OAAlC,EAA2C;AACzC;AACD;;AACD,UAAMV,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';\nimport { RippleOptions, 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,"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":";;AACA,SAASA,MAAT,QAAuB,OAAvB;AAGA,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,EAAwB;AAChD,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,EAA8B;AAClD,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 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"],"file":"useRippleHandlers.js"}
@@ -1,17 +1,18 @@
1
- import { CSSProperties } from 'react';
1
+ import type { CSSProperties, KeyboardEventHandler, PointerEventHandler } from 'react';
2
2
  export interface UseRippleSurfaceOptions<T extends HTMLElement> {
3
- baseOpacity?: string | number;
4
- hoverOpacity?: string | number;
5
- focusOpacity?: string | number;
6
- pressedOpacity?: string | number;
3
+ baseOpacity?: number;
4
+ hoverOpacity?: number;
5
+ focusOpacity?: number;
6
+ pressedOpacity?: number;
7
7
  rippleColor?: string;
8
+ rippleEnabled?: boolean;
8
9
  center?: boolean;
9
10
  disabled?: boolean;
10
11
  style?: CSSProperties;
11
- onPointerDown?: React.PointerEventHandler<T>;
12
- onKeyDown?: React.KeyboardEventHandler<T>;
12
+ onPointerDown?: PointerEventHandler<T>;
13
+ onKeyDown?: KeyboardEventHandler<T>;
13
14
  }
14
- export declare function useRippleSurface<T extends HTMLElement>(opts: UseRippleSurfaceOptions<T>): {
15
+ export declare function useRippleSurface<T extends HTMLElement>(opts?: UseRippleSurfaceOptions<T>): {
15
16
  style: {
16
17
  alignContent?: import("csstype").Property.AlignContent | undefined;
17
18
  alignItems?: import("csstype").Property.AlignItems | undefined;
@@ -781,5 +782,5 @@ export declare function useRippleSurface<T extends HTMLElement>(opts: UseRippleS
781
782
  };
782
783
  onKeyDown: import("@basic-ui/core").CustomEventHandler<import("react").KeyboardEvent<T>, []>;
783
784
  onPointerDown: import("@basic-ui/core").CustomEventHandler<import("react").PointerEvent<T>, []>;
784
- __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>>>;
785
+ __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>>>;
785
786
  };