@basic-ui/material 1.0.0-alpha.0 → 1.0.0-alpha.3

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 (534) hide show
  1. package/build/cjs/index.js +24 -18
  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 +8 -8
  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.map +0 -0
  8. package/build/esm/AppBar/AppBar.d.ts +3 -3
  9. package/build/esm/AppBar/AppBar.js +24 -16
  10. package/build/esm/AppBar/AppBar.js.map +1 -1
  11. package/build/esm/AppBar/AppBarButton.d.ts +2 -2
  12. package/build/esm/AppBar/AppBarButton.js +8 -9
  13. package/build/esm/AppBar/AppBarButton.js.map +1 -1
  14. package/build/esm/AppBar/context.d.ts +1 -1
  15. package/build/esm/AppBar/context.js +6 -5
  16. package/build/esm/AppBar/context.js.map +1 -1
  17. package/build/esm/AppBar/index.d.ts +0 -0
  18. package/build/esm/AppBar/index.js.map +0 -0
  19. package/build/esm/Badge/Badge.d.ts +2 -2
  20. package/build/esm/Badge/Badge.js +2 -2
  21. package/build/esm/Badge/Badge.js.map +1 -1
  22. package/build/esm/Badge/index.d.ts +0 -0
  23. package/build/esm/Badge/index.js.map +0 -0
  24. package/build/esm/BaseLine/BaseLine.d.ts +0 -0
  25. package/build/esm/BaseLine/BaseLine.js +4 -4
  26. package/build/esm/BaseLine/BaseLine.js.map +1 -1
  27. package/build/esm/BaseLine/index.d.ts +0 -0
  28. package/build/esm/BaseLine/index.js.map +0 -0
  29. package/build/esm/BottomSheet/BottomSheet.d.ts +2 -2
  30. package/build/esm/BottomSheet/BottomSheet.js +11 -13
  31. package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
  32. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +4 -4
  33. package/build/esm/BottomSheet/BottomSheetSurface.js +9 -9
  34. package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
  35. package/build/esm/BottomSheet/index.d.ts +0 -0
  36. package/build/esm/BottomSheet/index.js.map +0 -0
  37. package/build/esm/Box/Box.d.ts +5 -5
  38. package/build/esm/Box/Box.js +27 -19
  39. package/build/esm/Box/Box.js.map +1 -1
  40. package/build/esm/Box/index.d.ts +0 -0
  41. package/build/esm/Box/index.js.map +0 -0
  42. package/build/esm/Button/BaseButton.d.ts +3 -3
  43. package/build/esm/Button/BaseButton.js +11 -12
  44. package/build/esm/Button/BaseButton.js.map +1 -1
  45. package/build/esm/Button/Button.d.ts +3 -3
  46. package/build/esm/Button/Button.js +27 -22
  47. package/build/esm/Button/Button.js.map +1 -1
  48. package/build/esm/Button/ButtonGroup.d.ts +3 -3
  49. package/build/esm/Button/ButtonGroup.js +15 -12
  50. package/build/esm/Button/ButtonGroup.js.map +1 -1
  51. package/build/esm/Button/FilledButton.d.ts +2 -2
  52. package/build/esm/Button/FilledButton.js +57 -49
  53. package/build/esm/Button/FilledButton.js.map +1 -1
  54. package/build/esm/Button/FloatingActionButton.d.ts +1 -1
  55. package/build/esm/Button/FloatingActionButton.js.map +1 -1
  56. package/build/esm/Button/IconButton.d.ts +1 -1
  57. package/build/esm/Button/IconButton.js.map +1 -1
  58. package/build/esm/Button/OutlinedButton.d.ts +1 -1
  59. package/build/esm/Button/OutlinedButton.js +27 -25
  60. package/build/esm/Button/OutlinedButton.js.map +1 -1
  61. package/build/esm/Button/TransparentButton.d.ts +2 -2
  62. package/build/esm/Button/TransparentButton.js +45 -41
  63. package/build/esm/Button/TransparentButton.js.map +1 -1
  64. package/build/esm/Button/context.js +4 -2
  65. package/build/esm/Button/context.js.map +1 -1
  66. package/build/esm/Button/index.d.ts +0 -0
  67. package/build/esm/Button/index.js.map +0 -0
  68. package/build/esm/CheckBox/CheckBox.d.ts +3 -3
  69. package/build/esm/CheckBox/CheckBox.js +42 -35
  70. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  71. package/build/esm/CheckBox/CheckBoxIcon.d.ts +3 -3
  72. package/build/esm/CheckBox/CheckBoxIcon.js +15 -13
  73. package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
  74. package/build/esm/CheckBox/CheckPath.d.ts +0 -0
  75. package/build/esm/CheckBox/CheckPath.js +15 -14
  76. package/build/esm/CheckBox/CheckPath.js.map +1 -1
  77. package/build/esm/CheckBox/IndeterminatePath.d.ts +0 -0
  78. package/build/esm/CheckBox/IndeterminatePath.js +14 -13
  79. package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
  80. package/build/esm/CheckBox/index.d.ts +0 -0
  81. package/build/esm/CheckBox/index.js.map +0 -0
  82. package/build/esm/Chip/ButtonChip.d.ts +3 -3
  83. package/build/esm/Chip/ButtonChip.js +15 -15
  84. package/build/esm/Chip/ButtonChip.js.map +1 -1
  85. package/build/esm/Chip/Chip.d.ts +0 -0
  86. package/build/esm/Chip/Chip.js.map +0 -0
  87. package/build/esm/Chip/ChipBase.d.ts +3 -3
  88. package/build/esm/Chip/ChipBase.js +24 -19
  89. package/build/esm/Chip/ChipBase.js.map +1 -1
  90. package/build/esm/Chip/ChoiceChip.d.ts +3 -3
  91. package/build/esm/Chip/ChoiceChip.js +25 -26
  92. package/build/esm/Chip/ChoiceChip.js.map +1 -1
  93. package/build/esm/Chip/index.d.ts +0 -0
  94. package/build/esm/Chip/index.js.map +0 -0
  95. package/build/esm/ColorMode/ColorModeProvider.d.ts +1 -1
  96. package/build/esm/ColorMode/ColorModeProvider.js +32 -19
  97. package/build/esm/ColorMode/ColorModeProvider.js.map +1 -1
  98. package/build/esm/ColorMode/color-mode.d.ts +0 -0
  99. package/build/esm/ColorMode/color-mode.js +3 -3
  100. package/build/esm/ColorMode/color-mode.js.map +1 -1
  101. package/build/esm/ColorMode/color-vars.d.ts +0 -0
  102. package/build/esm/ColorMode/color-vars.js +20 -12
  103. package/build/esm/ColorMode/color-vars.js.map +1 -1
  104. package/build/esm/ColorMode/constants.d.ts +0 -0
  105. package/build/esm/ColorMode/constants.js +3 -3
  106. package/build/esm/ColorMode/constants.js.map +1 -1
  107. package/build/esm/ColorMode/index.d.ts +0 -0
  108. package/build/esm/ColorMode/index.js.map +0 -0
  109. package/build/esm/Combobox/Combobox.d.ts +15 -15
  110. package/build/esm/Combobox/Combobox.js +50 -56
  111. package/build/esm/Combobox/Combobox.js.map +1 -1
  112. package/build/esm/Combobox/index.d.ts +0 -0
  113. package/build/esm/Combobox/index.js.map +0 -0
  114. package/build/esm/Dialog/Dialog.d.ts +5 -5
  115. package/build/esm/Dialog/Dialog.js +22 -23
  116. package/build/esm/Dialog/Dialog.js.map +1 -1
  117. package/build/esm/Dialog/DialogBackdrop.d.ts +4 -4
  118. package/build/esm/Dialog/DialogBackdrop.js +10 -11
  119. package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
  120. package/build/esm/Dialog/DialogContainer.d.ts +2 -2
  121. package/build/esm/Dialog/DialogContainer.js +4 -6
  122. package/build/esm/Dialog/DialogContainer.js.map +1 -1
  123. package/build/esm/Dialog/DialogSurface.d.ts +4 -4
  124. package/build/esm/Dialog/DialogSurface.js +14 -14
  125. package/build/esm/Dialog/DialogSurface.js.map +1 -1
  126. package/build/esm/Dialog/Scrim.d.ts +2 -2
  127. package/build/esm/Dialog/Scrim.js +4 -6
  128. package/build/esm/Dialog/Scrim.js.map +1 -1
  129. package/build/esm/Dialog/index.d.ts +0 -0
  130. package/build/esm/Dialog/index.js.map +0 -0
  131. package/build/esm/Dialog/useDialogAnimation.d.ts +0 -0
  132. package/build/esm/Dialog/useDialogAnimation.js +19 -20
  133. package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
  134. package/build/esm/Divider/Divider.d.ts +3 -3
  135. package/build/esm/Divider/Divider.js +9 -8
  136. package/build/esm/Divider/Divider.js.map +1 -1
  137. package/build/esm/Divider/index.d.ts +0 -0
  138. package/build/esm/Divider/index.js.map +0 -0
  139. package/build/esm/FloatingLabel/FloatingLabel.d.ts +1 -1
  140. package/build/esm/FloatingLabel/FloatingLabel.js +26 -22
  141. package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
  142. package/build/esm/FloatingLabel/index.d.ts +0 -0
  143. package/build/esm/FloatingLabel/index.js.map +0 -0
  144. package/build/esm/LineRipple/LineRipple.d.ts +3 -3
  145. package/build/esm/LineRipple/LineRipple.js +27 -18
  146. package/build/esm/LineRipple/LineRipple.js.map +1 -1
  147. package/build/esm/LineRipple/index.d.ts +0 -0
  148. package/build/esm/LineRipple/index.js.map +0 -0
  149. package/build/esm/Link/Link.d.ts +3 -3
  150. package/build/esm/Link/Link.js +10 -9
  151. package/build/esm/Link/Link.js.map +1 -1
  152. package/build/esm/Link/index.d.ts +0 -0
  153. package/build/esm/Link/index.js.map +0 -0
  154. package/build/esm/List/List.d.ts +3 -3
  155. package/build/esm/List/List.js +20 -13
  156. package/build/esm/List/List.js.map +1 -1
  157. package/build/esm/List/index.d.ts +0 -0
  158. package/build/esm/List/index.js.map +0 -0
  159. package/build/esm/ListItem/ListItem.d.ts +3 -3
  160. package/build/esm/ListItem/ListItem.js +25 -21
  161. package/build/esm/ListItem/ListItem.js.map +1 -1
  162. package/build/esm/ListItem/ListItemText.d.ts +1 -1
  163. package/build/esm/ListItem/ListItemText.js +8 -8
  164. package/build/esm/ListItem/ListItemText.js.map +1 -1
  165. package/build/esm/ListItem/context.d.ts +0 -0
  166. package/build/esm/ListItem/context.js.map +0 -0
  167. package/build/esm/ListItem/index.d.ts +0 -0
  168. package/build/esm/ListItem/index.js.map +0 -0
  169. package/build/esm/Menu/Menu.d.ts +10 -10
  170. package/build/esm/Menu/Menu.js +22 -25
  171. package/build/esm/Menu/Menu.js.map +1 -1
  172. package/build/esm/Menu/animation.d.ts +1 -1
  173. package/build/esm/Menu/animation.js +1 -1
  174. package/build/esm/Menu/animation.js.map +1 -1
  175. package/build/esm/Menu/index.d.ts +0 -0
  176. package/build/esm/Menu/index.js.map +0 -0
  177. package/build/esm/NotchedOutline/NotchedOutline.d.ts +1 -1
  178. package/build/esm/NotchedOutline/NotchedOutline.js +25 -21
  179. package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
  180. package/build/esm/NotchedOutline/context.d.ts +0 -0
  181. package/build/esm/NotchedOutline/context.js +6 -5
  182. package/build/esm/NotchedOutline/context.js.map +1 -1
  183. package/build/esm/NotchedOutline/index.d.ts +0 -0
  184. package/build/esm/NotchedOutline/index.js.map +0 -0
  185. package/build/esm/NotchedOutline/styledComponents.d.ts +0 -0
  186. package/build/esm/NotchedOutline/styledComponents.js +53 -58
  187. package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
  188. package/build/esm/Paper/Paper.d.ts +4 -3
  189. package/build/esm/Paper/Paper.js +15 -13
  190. package/build/esm/Paper/Paper.js.map +1 -1
  191. package/build/esm/Paper/index.d.ts +0 -0
  192. package/build/esm/Paper/index.js.map +0 -0
  193. package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +2 -2
  194. package/build/esm/ProgressSpinner/ProgressSpinner.js +16 -16
  195. package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
  196. package/build/esm/ProgressSpinner/index.d.ts +0 -0
  197. package/build/esm/ProgressSpinner/index.js.map +0 -0
  198. package/build/esm/RadioButton/RadioButton.d.ts +1 -1
  199. package/build/esm/RadioButton/RadioButton.js +16 -19
  200. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  201. package/build/esm/RadioButton/RadioButtonIcon.d.ts +1 -1
  202. package/build/esm/RadioButton/RadioButtonIcon.js +5 -6
  203. package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
  204. package/build/esm/RadioButton/RadioGroup.d.ts +3 -3
  205. package/build/esm/RadioButton/RadioGroup.js +5 -4
  206. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  207. package/build/esm/RadioButton/index.d.ts +0 -0
  208. package/build/esm/RadioButton/index.js.map +0 -0
  209. package/build/esm/Ripple/Ripple.d.ts +1 -1
  210. package/build/esm/Ripple/Ripple.js +21 -20
  211. package/build/esm/Ripple/Ripple.js.map +1 -1
  212. package/build/esm/Ripple/RippleBox.d.ts +4 -4
  213. package/build/esm/Ripple/RippleBox.js +22 -15
  214. package/build/esm/Ripple/RippleBox.js.map +1 -1
  215. package/build/esm/Ripple/constants.d.ts +0 -0
  216. package/build/esm/Ripple/constants.js +7 -7
  217. package/build/esm/Ripple/constants.js.map +1 -1
  218. package/build/esm/Ripple/index.d.ts +0 -0
  219. package/build/esm/Ripple/index.js.map +0 -0
  220. package/build/esm/Ripple/keyframes.d.ts +1 -1
  221. package/build/esm/Ripple/keyframes.js +3 -3
  222. package/build/esm/Ripple/keyframes.js.map +1 -1
  223. package/build/esm/Ripple/useRipple.d.ts +0 -0
  224. package/build/esm/Ripple/useRipple.js +55 -48
  225. package/build/esm/Ripple/useRipple.js.map +1 -1
  226. package/build/esm/Ripple/useRippleHandlers.d.ts +1 -1
  227. package/build/esm/Ripple/useRippleHandlers.js +13 -15
  228. package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
  229. package/build/esm/Ripple/useRippleSurface.d.ts +1 -1
  230. package/build/esm/Ripple/useRippleSurface.js +39 -38
  231. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  232. package/build/esm/Select/Select.d.ts +4 -4
  233. package/build/esm/Select/Select.js +69 -47
  234. package/build/esm/Select/Select.js.map +1 -1
  235. package/build/esm/Select/SelectIcon.d.ts +3 -3
  236. package/build/esm/Select/SelectIcon.js +6 -7
  237. package/build/esm/Select/SelectIcon.js.map +1 -1
  238. package/build/esm/Select/context.d.ts +0 -0
  239. package/build/esm/Select/context.js +7 -6
  240. package/build/esm/Select/context.js.map +1 -1
  241. package/build/esm/Select/defaultRender.d.ts +0 -0
  242. package/build/esm/Select/defaultRender.js +12 -10
  243. package/build/esm/Select/defaultRender.js.map +1 -1
  244. package/build/esm/Select/index.d.ts +0 -0
  245. package/build/esm/Select/index.js.map +0 -0
  246. package/build/esm/Select/styledComponents.d.ts +2 -2
  247. package/build/esm/Select/styledComponents.js +16 -19
  248. package/build/esm/Select/styledComponents.js.map +1 -1
  249. package/build/esm/SelectItem/SelectItem.d.ts +2 -2
  250. package/build/esm/SelectItem/SelectItem.js +18 -19
  251. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  252. package/build/esm/SelectItem/index.d.ts +0 -0
  253. package/build/esm/SelectItem/index.js.map +0 -0
  254. package/build/esm/SelectionControl/SelectionControlLabel.d.ts +3 -3
  255. package/build/esm/SelectionControl/SelectionControlLabel.js +7 -7
  256. package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
  257. package/build/esm/SelectionControl/SelectionControlText.d.ts +3 -3
  258. package/build/esm/SelectionControl/SelectionControlText.js +8 -8
  259. package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
  260. package/build/esm/SelectionControl/index.d.ts +0 -0
  261. package/build/esm/SelectionControl/index.js.map +0 -0
  262. package/build/esm/Skeleton/DelayAppearance.d.ts +4 -4
  263. package/build/esm/Skeleton/DelayAppearance.js +9 -9
  264. package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
  265. package/build/esm/Skeleton/Skeleton.d.ts +3 -3
  266. package/build/esm/Skeleton/Skeleton.js +11 -10
  267. package/build/esm/Skeleton/Skeleton.js.map +1 -1
  268. package/build/esm/Skeleton/animation.d.ts +2 -2
  269. package/build/esm/Skeleton/animation.js +25 -22
  270. package/build/esm/Skeleton/animation.js.map +1 -1
  271. package/build/esm/Skeleton/index.d.ts +0 -0
  272. package/build/esm/Skeleton/index.js.map +0 -0
  273. package/build/esm/Snackbar/Snackbar.d.ts +3 -3
  274. package/build/esm/Snackbar/Snackbar.js +21 -21
  275. package/build/esm/Snackbar/Snackbar.js.map +1 -1
  276. package/build/esm/Snackbar/Stack.d.ts +2 -3
  277. package/build/esm/Snackbar/Stack.js +78 -65
  278. package/build/esm/Snackbar/Stack.js.map +1 -1
  279. package/build/esm/Snackbar/index.d.ts +0 -0
  280. package/build/esm/Snackbar/index.js.map +0 -0
  281. package/build/esm/Snackbar/useSnackbarAnimation.d.ts +1 -1
  282. package/build/esm/Snackbar/useSnackbarAnimation.js +113 -78
  283. package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
  284. package/build/esm/Switch/Switch.d.ts +3 -3
  285. package/build/esm/Switch/Switch.js +21 -22
  286. package/build/esm/Switch/Switch.js.map +1 -1
  287. package/build/esm/Switch/index.d.ts +0 -0
  288. package/build/esm/Switch/index.js.map +0 -0
  289. package/build/esm/Switch/styledComponents.d.ts +0 -0
  290. package/build/esm/Switch/styledComponents.js +23 -25
  291. package/build/esm/Switch/styledComponents.js.map +1 -1
  292. package/build/esm/Tab/Tab.d.ts +4 -4
  293. package/build/esm/Tab/Tab.js +17 -19
  294. package/build/esm/Tab/Tab.js.map +1 -1
  295. package/build/esm/Tab/TabList.d.ts +3 -3
  296. package/build/esm/Tab/TabList.js +18 -19
  297. package/build/esm/Tab/TabList.js.map +1 -1
  298. package/build/esm/Tab/TabPanel.d.ts +3 -3
  299. package/build/esm/Tab/TabPanel.js +8 -11
  300. package/build/esm/Tab/TabPanel.js.map +1 -1
  301. package/build/esm/Tab/TabPanels.d.ts +0 -0
  302. package/build/esm/Tab/TabPanels.js.map +0 -0
  303. package/build/esm/Tab/Tabs.d.ts +0 -0
  304. package/build/esm/Tab/Tabs.js.map +0 -0
  305. package/build/esm/Tab/context.d.ts +0 -0
  306. package/build/esm/Tab/context.js +6 -5
  307. package/build/esm/Tab/context.js.map +1 -1
  308. package/build/esm/Tab/index.d.ts +0 -0
  309. package/build/esm/Tab/index.js.map +0 -0
  310. package/build/esm/TabIndicator/TabIndicator.d.ts +2 -2
  311. package/build/esm/TabIndicator/TabIndicator.js +22 -21
  312. package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
  313. package/build/esm/TabIndicator/context.d.ts +0 -0
  314. package/build/esm/TabIndicator/context.js +6 -5
  315. package/build/esm/TabIndicator/context.js.map +1 -1
  316. package/build/esm/TabIndicator/index.d.ts +0 -0
  317. package/build/esm/TabIndicator/index.js.map +0 -0
  318. package/build/esm/Table/Table.d.ts +2 -2
  319. package/build/esm/Table/Table.js +8 -8
  320. package/build/esm/Table/Table.js.map +1 -1
  321. package/build/esm/Table/TableBody.d.ts +2 -2
  322. package/build/esm/Table/TableBody.js +4 -6
  323. package/build/esm/Table/TableBody.js.map +1 -1
  324. package/build/esm/Table/TableCell.d.ts +2 -2
  325. package/build/esm/Table/TableCell.js +6 -8
  326. package/build/esm/Table/TableCell.js.map +1 -1
  327. package/build/esm/Table/TableHead.d.ts +2 -2
  328. package/build/esm/Table/TableHead.js +5 -7
  329. package/build/esm/Table/TableHead.js.map +1 -1
  330. package/build/esm/Table/TableRow.d.ts +2 -2
  331. package/build/esm/Table/TableRow.js +5 -7
  332. package/build/esm/Table/TableRow.js.map +1 -1
  333. package/build/esm/Table/context.d.ts +0 -0
  334. package/build/esm/Table/context.js +6 -5
  335. package/build/esm/Table/context.js.map +1 -1
  336. package/build/esm/Table/index.d.ts +0 -0
  337. package/build/esm/Table/index.js.map +0 -0
  338. package/build/esm/Text/LoremIpsum.d.ts +1 -1
  339. package/build/esm/Text/LoremIpsum.js +6 -6
  340. package/build/esm/Text/LoremIpsum.js.map +1 -1
  341. package/build/esm/Text/Text.d.ts +3 -3
  342. package/build/esm/Text/Text.js +9 -9
  343. package/build/esm/Text/Text.js.map +1 -1
  344. package/build/esm/Text/index.d.ts +0 -0
  345. package/build/esm/Text/index.js.map +0 -0
  346. package/build/esm/TextField/FilledContainer.d.ts +3 -3
  347. package/build/esm/TextField/FilledContainer.js +56 -53
  348. package/build/esm/TextField/FilledContainer.js.map +1 -1
  349. package/build/esm/TextField/HelperText.d.ts +3 -3
  350. package/build/esm/TextField/HelperText.js +14 -13
  351. package/build/esm/TextField/HelperText.js.map +1 -1
  352. package/build/esm/TextField/IconContainer.d.ts +2 -2
  353. package/build/esm/TextField/IconContainer.js +15 -23
  354. package/build/esm/TextField/IconContainer.js.map +1 -1
  355. package/build/esm/TextField/Input.d.ts +3 -3
  356. package/build/esm/TextField/Input.js +13 -13
  357. package/build/esm/TextField/Input.js.map +1 -1
  358. package/build/esm/TextField/OutlinedContainer.d.ts +4 -4
  359. package/build/esm/TextField/OutlinedContainer.js +28 -22
  360. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  361. package/build/esm/TextField/TextField.d.ts +4 -4
  362. package/build/esm/TextField/TextField.js +59 -41
  363. package/build/esm/TextField/TextField.js.map +1 -1
  364. package/build/esm/TextField/consts.js +5 -5
  365. package/build/esm/TextField/consts.js.map +1 -1
  366. package/build/esm/TextField/index.d.ts +0 -0
  367. package/build/esm/TextField/index.js.map +0 -0
  368. package/build/esm/ThemeExplorer/ColorPicker.d.ts +4 -4
  369. package/build/esm/ThemeExplorer/ColorPicker.js +14 -14
  370. package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
  371. package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +2 -2
  372. package/build/esm/ThemeExplorer/TextFieldColorPicker.js +44 -24
  373. package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
  374. package/build/esm/ThemeExplorer/ThemeColors.d.ts +1 -1
  375. package/build/esm/ThemeExplorer/ThemeColors.js +3 -3
  376. package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
  377. package/build/esm/ThemeExplorer/components.d.ts +2 -1
  378. package/build/esm/ThemeExplorer/components.js +64 -56
  379. package/build/esm/ThemeExplorer/components.js.map +1 -1
  380. package/build/esm/ThemeExplorer/makeColorScheme.d.ts +1 -1
  381. package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
  382. package/build/esm/ThemeExplorer/useDeferredColor.d.ts +1 -1
  383. package/build/esm/ThemeExplorer/useDeferredColor.js +10 -3
  384. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  385. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +9 -2
  386. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
  387. package/build/esm/Tooltip/Tooltip.d.ts +3 -3
  388. package/build/esm/Tooltip/Tooltip.js +7 -8
  389. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  390. package/build/esm/Tooltip/index.d.ts +0 -0
  391. package/build/esm/Tooltip/index.js.map +0 -0
  392. package/build/esm/color.d.ts +3 -3
  393. package/build/esm/color.js +19 -13
  394. package/build/esm/color.js.map +1 -1
  395. package/build/esm/css.d.ts +0 -0
  396. package/build/esm/css.js.map +0 -0
  397. package/build/esm/hooks/useAnimation.d.ts +1 -1
  398. package/build/esm/hooks/useAnimation.js +54 -41
  399. package/build/esm/hooks/useAnimation.js.map +1 -1
  400. package/build/esm/index.d.ts +0 -0
  401. package/build/esm/index.js.map +0 -0
  402. package/build/esm/theme/index.d.ts +0 -0
  403. package/build/esm/theme/index.js.map +0 -0
  404. package/build/esm/theme/theme.d.ts +0 -0
  405. package/build/esm/theme/theme.js +1 -1
  406. package/build/esm/theme/theme.js.map +1 -1
  407. package/build/esm/theme/typography-raleway.d.ts +0 -0
  408. package/build/esm/theme/typography-raleway.js +1 -1
  409. package/build/esm/theme/typography-raleway.js.map +1 -1
  410. package/build/esm/theme/typography-roboto.d.ts +0 -0
  411. package/build/esm/theme/typography-roboto.js +1 -1
  412. package/build/esm/theme/typography-roboto.js.map +1 -1
  413. package/build/esm/theme/useTheme.d.ts +2 -472
  414. package/build/esm/theme/useTheme.js +1 -1
  415. package/build/esm/theme/useTheme.js.map +1 -1
  416. package/build/tsconfig.tsbuildinfo +1 -1
  417. package/package.json +6 -5
  418. package/src/Alert/Alert.tsx +3 -1
  419. package/src/AppBar/AppBar.story.tsx +7 -6
  420. package/src/AppBar/AppBar.tsx +5 -3
  421. package/src/AppBar/AppBarButton.tsx +3 -1
  422. package/src/AppBar/context.ts +2 -1
  423. package/src/Badge/Badge.tsx +3 -1
  424. package/src/BaseLine/BaseLine.tsx +15 -11
  425. package/src/BottomSheet/BottomSheet.story.tsx +1 -0
  426. package/src/BottomSheet/BottomSheet.tsx +2 -1
  427. package/src/BottomSheet/BottomSheetSurface.tsx +9 -5
  428. package/src/Box/Box.tsx +21 -18
  429. package/src/Button/BaseButton.tsx +4 -2
  430. package/src/Button/Button.story.tsx +16 -3
  431. package/src/Button/Button.tsx +3 -2
  432. package/src/Button/ButtonGroup.tsx +4 -2
  433. package/src/Button/FilledButton.tsx +3 -2
  434. package/src/Button/FloatingActionButton.tsx +1 -1
  435. package/src/Button/IconButton.tsx +1 -1
  436. package/src/Button/OutlinedButton.tsx +3 -2
  437. package/src/Button/SpinnerButton.story.tsx +9 -10
  438. package/src/Button/TransparentButton.tsx +4 -4
  439. package/src/Button/context.tsx +1 -0
  440. package/src/CheckBox/CheckBox.story.tsx +3 -2
  441. package/src/CheckBox/CheckBox.tsx +9 -5
  442. package/src/CheckBox/CheckBoxIcon.tsx +4 -2
  443. package/src/Chip/ButtonChip.tsx +6 -4
  444. package/src/Chip/Chip.story.tsx +0 -1
  445. package/src/Chip/ChipBase.tsx +7 -5
  446. package/src/Chip/ChoiceChip.tsx +10 -7
  447. package/src/ColorMode/ColorModeProvider.tsx +4 -2
  448. package/src/Combobox/Combobox.story.tsx +2 -1
  449. package/src/Combobox/Combobox.tsx +29 -17
  450. package/src/Dialog/Dialog.story.tsx +3 -1
  451. package/src/Dialog/Dialog.tsx +9 -4
  452. package/src/Dialog/DialogBackdrop.tsx +6 -6
  453. package/src/Dialog/DialogContainer.tsx +3 -1
  454. package/src/Dialog/DialogSurface.tsx +8 -6
  455. package/src/Dialog/Scrim.tsx +3 -1
  456. package/src/Divider/Divider.tsx +4 -2
  457. package/src/FloatingLabel/FloatingLabel.story.tsx +1 -0
  458. package/src/FloatingLabel/FloatingLabel.tsx +3 -2
  459. package/src/LineRipple/LineRipple.story.tsx +1 -0
  460. package/src/LineRipple/LineRipple.tsx +6 -3
  461. package/src/Link/Link.tsx +4 -2
  462. package/src/List/List.tsx +5 -2
  463. package/src/ListItem/ListItem.story.tsx +1 -0
  464. package/src/ListItem/ListItem.tsx +6 -3
  465. package/src/ListItem/ListItemText.tsx +2 -1
  466. package/src/Menu/Menu.tsx +20 -12
  467. package/src/Menu/animation.ts +1 -1
  468. package/src/NotchedOutline/NotchedOutline.story.tsx +2 -1
  469. package/src/NotchedOutline/NotchedOutline.tsx +2 -1
  470. package/src/NotchedOutline/styledComponents.ts +3 -2
  471. package/src/Paper/Paper.story.tsx +2 -1
  472. package/src/Paper/Paper.tsx +22 -9
  473. package/src/ProgressSpinner/ProgressSpinner.story.tsx +1 -0
  474. package/src/ProgressSpinner/ProgressSpinner.tsx +5 -2
  475. package/src/RadioButton/RadioButton.story.tsx +2 -1
  476. package/src/RadioButton/RadioButton.tsx +9 -7
  477. package/src/RadioButton/RadioButtonIcon.tsx +2 -1
  478. package/src/RadioButton/RadioGroup.tsx +5 -5
  479. package/src/Ripple/Ripple.story.tsx +8 -2
  480. package/src/Ripple/Ripple.tsx +2 -1
  481. package/src/Ripple/RippleBox.tsx +8 -4
  482. package/src/Ripple/keyframes.ts +2 -1
  483. package/src/Ripple/useRipple.ts +1 -0
  484. package/src/Ripple/useRippleHandlers.ts +3 -1
  485. package/src/Ripple/useRippleSurface.ts +9 -7
  486. package/src/Select/PaymentMethodSelect.story.tsx +3 -1
  487. package/src/Select/Select.story.tsx +1 -0
  488. package/src/Select/Select.tsx +6 -4
  489. package/src/Select/SelectIcon.tsx +6 -3
  490. package/src/Select/defaultRender.ts +13 -13
  491. package/src/Select/styledComponents.tsx +5 -3
  492. package/src/SelectItem/SelectItem.tsx +4 -2
  493. package/src/SelectionControl/SelectionControlLabel.tsx +6 -3
  494. package/src/SelectionControl/SelectionControlText.tsx +4 -2
  495. package/src/Skeleton/DelayAppearance.tsx +5 -3
  496. package/src/Skeleton/Skeleton.tsx +4 -2
  497. package/src/Skeleton/animation.ts +3 -2
  498. package/src/Snackbar/Snackbar.story.tsx +1 -0
  499. package/src/Snackbar/Snackbar.tsx +5 -3
  500. package/src/Snackbar/Stack.tsx +3 -3
  501. package/src/Snackbar/useSnackbarAnimation.ts +3 -1
  502. package/src/Switch/Switch.tsx +9 -5
  503. package/src/Switch/styledComponents.tsx +14 -11
  504. package/src/Tab/Tab.tsx +8 -4
  505. package/src/Tab/TabList.tsx +5 -5
  506. package/src/Tab/TabPanel.tsx +5 -5
  507. package/src/TabIndicator/TabIndicator.tsx +6 -3
  508. package/src/Table/Table.tsx +4 -1
  509. package/src/Table/TableBody.tsx +3 -1
  510. package/src/Table/TableCell.tsx +3 -1
  511. package/src/Table/TableHead.tsx +4 -2
  512. package/src/Table/TableRow.tsx +4 -2
  513. package/src/Text/LoremIpsum.tsx +2 -1
  514. package/src/Text/Text.tsx +4 -2
  515. package/src/TextField/FilledContainer.tsx +5 -3
  516. package/src/TextField/HelperText.tsx +3 -2
  517. package/src/TextField/IconContainer.tsx +3 -2
  518. package/src/TextField/Input.tsx +5 -3
  519. package/src/TextField/OutlinedContainer.tsx +5 -3
  520. package/src/TextField/TextField.story.tsx +1 -0
  521. package/src/TextField/TextField.tsx +6 -3
  522. package/src/ThemeExplorer/ColorPicker.tsx +19 -16
  523. package/src/ThemeExplorer/TextFieldColorPicker.tsx +5 -2
  524. package/src/ThemeExplorer/ThemeBuilder.story.tsx +8 -12
  525. package/src/ThemeExplorer/ThemeColors.tsx +2 -1
  526. package/src/ThemeExplorer/ThemeExplorer.story.tsx +1 -0
  527. package/src/ThemeExplorer/components.tsx +5 -18
  528. package/src/ThemeExplorer/makeColorScheme.tsx +2 -1
  529. package/src/ThemeExplorer/useDeferredColor.tsx +2 -1
  530. package/src/Tooltip/Tooltip.story.tsx +1 -0
  531. package/src/Tooltip/Tooltip.tsx +8 -4
  532. package/src/color.ts +18 -16
  533. package/src/hooks/useAnimation.ts +2 -1
  534. package/src/theme/useTheme.ts +3 -1
@@ -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
@@ -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,5 +1,5 @@
1
1
  import type * as React from 'react';
2
- import { RippleOptions } from './useRipple';
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;
@@ -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":";;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,4 +1,4 @@
1
- import { CSSProperties } from 'react';
1
+ import type { CSSProperties } from 'react';
2
2
  export interface UseRippleSurfaceOptions<T extends HTMLElement> {
3
3
  baseOpacity?: number;
4
4
  hoverOpacity?: number;
@@ -1,30 +1,35 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
- import { useTheme } from '../theme';
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  import { get } from '@styled-system/css';
5
+ import { wrapEvent } from '@basic-ui/core';
6
+ import { useTheme } from '../theme';
5
7
  import { rippleStyle } from './Ripple';
6
8
  import { useRippleHandlers } from './useRippleHandlers';
7
- import { wrapEvent } from '@basic-ui/core';
8
9
  export function useRippleSurface(opts) {
9
- let {
10
- // eslint-disable-next-line prefer-const
11
- baseOpacity = 0,
12
- hoverOpacity = 0.04,
13
- focusOpacity = 0.12,
14
- pressedOpacity = 0.12,
15
- rippleColor = 'on.surface'
16
- } = opts;
10
+ var _extends2;
17
11
 
18
- const {
19
- onKeyDown,
20
- onPointerDown,
21
- style = {},
22
- disabled,
23
- rippleEnabled = true
24
- } = opts,
25
- rippleProps = _objectWithoutPropertiesLoose(opts, ["onKeyDown", "onPointerDown", "style", "disabled", "rippleEnabled"]);
12
+ var _opts$baseOpacity = opts.baseOpacity,
13
+ baseOpacity = _opts$baseOpacity === void 0 ? 0 : _opts$baseOpacity,
14
+ _opts$hoverOpacity = opts.hoverOpacity,
15
+ hoverOpacity = _opts$hoverOpacity === void 0 ? 0.04 : _opts$hoverOpacity,
16
+ _opts$focusOpacity = opts.focusOpacity,
17
+ focusOpacity = _opts$focusOpacity === void 0 ? 0.12 : _opts$focusOpacity,
18
+ _opts$pressedOpacity = opts.pressedOpacity,
19
+ pressedOpacity = _opts$pressedOpacity === void 0 ? 0.12 : _opts$pressedOpacity,
20
+ _opts$rippleColor = opts.rippleColor,
21
+ rippleColor = _opts$rippleColor === void 0 ? 'on.surface' : _opts$rippleColor;
26
22
 
27
- const theme = useTheme();
23
+ var onKeyDown = opts.onKeyDown,
24
+ onPointerDown = opts.onPointerDown,
25
+ _opts$style = opts.style,
26
+ style = _opts$style === void 0 ? {} : _opts$style,
27
+ disabled = opts.disabled,
28
+ _opts$rippleEnabled = opts.rippleEnabled,
29
+ rippleEnabled = _opts$rippleEnabled === void 0 ? true : _opts$rippleEnabled,
30
+ rippleProps = _objectWithoutProperties(opts, ["onKeyDown", "onPointerDown", "style", "disabled", "rippleEnabled"]);
31
+
32
+ var theme = useTheme();
28
33
  rippleColor = get(theme, "colors.".concat(rippleColor)) || rippleColor;
29
34
 
30
35
  if (disabled) {
@@ -33,18 +38,17 @@ export function useRippleSurface(opts) {
33
38
  pressedOpacity = baseOpacity;
34
39
  }
35
40
 
36
- const {
37
- handleKeyDown,
38
- handlePointerDown,
39
- style: animationStyle,
40
- animation
41
- } = useRippleHandlers(_extends({
41
+ var _useRippleHandlers = useRippleHandlers(_extends({
42
42
  opacity: Number(pressedOpacity),
43
43
  backgroundColor: rippleColor,
44
- disabled
45
- }, rippleProps));
44
+ disabled: disabled
45
+ }, rippleProps)),
46
+ handleKeyDown = _useRippleHandlers.handleKeyDown,
47
+ handlePointerDown = _useRippleHandlers.handlePointerDown,
48
+ animationStyle = _useRippleHandlers.style,
49
+ animation = _useRippleHandlers.animation;
46
50
 
47
- const css = _extends({
51
+ var css = _extends({
48
52
  overflow: 'hidden',
49
53
  position: 'relative',
50
54
  cursor: 'pointer',
@@ -90,16 +94,13 @@ export function useRippleSurface(opts) {
90
94
  '&[aria-pressed="true"]:active::before': {
91
95
  opacity: pressedOpacity + pressedOpacity
92
96
  }
93
- }, {
94
- ['&: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']: {
95
- opacity: 0
96
- },
97
- '&:disabled,&[data-disabled]': {
98
- cursor: 'default'
99
- }
100
- }, rippleEnabled && {
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 && {
101
102
  '&::after': _extends({}, rippleStyle({
102
- animation
103
+ animation: animation
103
104
  }))
104
105
  });
105
106
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Ripple/useRippleSurface.ts"],"names":["useTheme","get","rippleStyle","useRippleHandlers","wrapEvent","useRippleSurface","opts","baseOpacity","hoverOpacity","focusOpacity","pressedOpacity","rippleColor","onKeyDown","onPointerDown","style","disabled","rippleEnabled","rippleProps","theme","handleKeyDown","handlePointerDown","animationStyle","animation","opacity","Number","backgroundColor","css","overflow","position","cursor","willChange","WebkitTapHighlightColor","boxSizing","content","pointerEvents","top","left","width","height","transition","__css"],"mappings":"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","sourcesContent":["import { CSSProperties } from 'react';\nimport { useTheme } from '../theme';\nimport { get } from '@styled-system/css';\nimport { rippleStyle } from './Ripple';\nimport { useRippleHandlers } from './useRippleHandlers';\nimport { wrapEvent } from '@basic-ui/core';\nimport { SxStyleProp } from '../Box';\n\nexport interface UseRippleSurfaceOptions<T extends HTMLElement> {\n baseOpacity?: number;\n hoverOpacity?: number;\n focusOpacity?: number;\n pressedOpacity?: number;\n rippleColor?: string;\n rippleEnabled?: boolean;\n center?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n onPointerDown?: React.PointerEventHandler<T>;\n onKeyDown?: React.KeyboardEventHandler<T>;\n}\n\nexport function useRippleSurface<T extends HTMLElement>(\n opts: UseRippleSurfaceOptions<T>\n) {\n let {\n // eslint-disable-next-line prefer-const\n baseOpacity = 0,\n hoverOpacity = 0.04,\n focusOpacity = 0.12,\n pressedOpacity = 0.12,\n rippleColor = 'on.surface',\n } = opts;\n const {\n onKeyDown,\n onPointerDown,\n style = {},\n disabled,\n rippleEnabled = true,\n ...rippleProps\n } = opts;\n\n const theme = useTheme();\n rippleColor = get(theme, `colors.${rippleColor}`) || rippleColor;\n\n if (disabled) {\n hoverOpacity = baseOpacity;\n focusOpacity = baseOpacity;\n pressedOpacity = baseOpacity;\n }\n\n const {\n handleKeyDown,\n handlePointerDown,\n style: animationStyle,\n animation,\n } = useRippleHandlers({\n opacity: Number(pressedOpacity),\n backgroundColor: rippleColor,\n disabled,\n ...rippleProps,\n });\n\n const css: SxStyleProp = {\n overflow: 'hidden',\n position: 'relative',\n cursor: 'pointer',\n // fix overflow: hidden + borderRadius in Safari\n // https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b#gistcomment-2359479\n willChange: 'transform,opacity',\n WebkitTapHighlightColor: 'transparent',\n // ripple overlay\n '&::before': {\n backgroundColor: rippleColor,\n boxSizing: 'content-box',\n position: 'absolute',\n content: '\"\"',\n opacity: baseOpacity,\n pointerEvents: 'none',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n transition: 'opacity 75ms linear',\n },\n '&:hover::before': {\n opacity: hoverOpacity,\n },\n '&:focus-visible::before': {\n opacity: focusOpacity,\n },\n ...(!rippleEnabled && {\n '&:active::before': {\n opacity: pressedOpacity,\n },\n }),\n '&[aria-pressed=\"true\"]::before': {\n opacity: baseOpacity + pressedOpacity,\n },\n '&[aria-pressed=\"true\"]:hover::before': {\n opacity: pressedOpacity + hoverOpacity,\n },\n '&[aria-pressed=\"true\"]:focus-visible::before': {\n opacity: pressedOpacity + focusOpacity,\n },\n ...(!rippleEnabled && {\n '&[aria-pressed=\"true\"]:active::before': {\n opacity: pressedOpacity + pressedOpacity,\n },\n }),\n ['&:disabled::before,&:disabled:hover::before,&:disabled:focus::before,&:disabled:active::before,' +\n '&[data-disabled]::before,&[data-disabled]:hover::before,&[data-disabled]:focus::before,' +\n '&[data-disabled]:active::before,&:disabled[aria-pressed=\"true\"]::before']: {\n opacity: 0,\n },\n '&:disabled,&[data-disabled]': {\n cursor: 'default',\n },\n // ripple\n ...(rippleEnabled && {\n '&::after': { ...rippleStyle({ animation }) },\n }),\n };\n\n return {\n style: { ...animationStyle, ...style },\n onKeyDown: wrapEvent(onKeyDown, handleKeyDown),\n onPointerDown: wrapEvent(onPointerDown, handlePointerDown),\n __css: css,\n };\n}\n"],"file":"useRippleSurface.js"}
1
+ {"version":3,"sources":["../../../src/Ripple/useRippleSurface.ts"],"names":["get","wrapEvent","useTheme","rippleStyle","useRippleHandlers","useRippleSurface","opts","baseOpacity","hoverOpacity","focusOpacity","pressedOpacity","rippleColor","onKeyDown","onPointerDown","style","disabled","rippleEnabled","rippleProps","theme","opacity","Number","backgroundColor","handleKeyDown","handlePointerDown","animationStyle","animation","css","overflow","position","cursor","willChange","WebkitTapHighlightColor","boxSizing","content","pointerEvents","top","left","width","height","transition","__css"],"mappings":"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","sourcesContent":["import type { CSSProperties } from 'react';\nimport { get } from '@styled-system/css';\nimport { wrapEvent } from '@basic-ui/core';\n\nimport { useTheme } from '../theme';\nimport { rippleStyle } from './Ripple';\nimport { useRippleHandlers } from './useRippleHandlers';\nimport type { SxStyleProp } from '../Box';\n\nexport interface UseRippleSurfaceOptions<T extends HTMLElement> {\n baseOpacity?: number;\n hoverOpacity?: number;\n focusOpacity?: number;\n pressedOpacity?: number;\n rippleColor?: string;\n rippleEnabled?: boolean;\n center?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n onPointerDown?: React.PointerEventHandler<T>;\n onKeyDown?: React.KeyboardEventHandler<T>;\n}\n\nexport function useRippleSurface<T extends HTMLElement>(\n opts: UseRippleSurfaceOptions<T>\n) {\n let {\n // eslint-disable-next-line prefer-const\n baseOpacity = 0,\n hoverOpacity = 0.04,\n focusOpacity = 0.12,\n pressedOpacity = 0.12,\n rippleColor = 'on.surface',\n } = opts;\n const {\n onKeyDown,\n onPointerDown,\n style = {},\n disabled,\n rippleEnabled = true,\n ...rippleProps\n } = opts;\n\n const theme = useTheme();\n rippleColor = get(theme, `colors.${rippleColor}`) || rippleColor;\n\n if (disabled) {\n hoverOpacity = baseOpacity;\n focusOpacity = baseOpacity;\n pressedOpacity = baseOpacity;\n }\n\n const {\n handleKeyDown,\n handlePointerDown,\n style: animationStyle,\n animation,\n } = useRippleHandlers({\n opacity: Number(pressedOpacity),\n backgroundColor: rippleColor,\n disabled,\n ...rippleProps,\n });\n\n const css: SxStyleProp = {\n overflow: 'hidden',\n position: 'relative',\n cursor: 'pointer',\n // fix overflow: hidden + borderRadius in Safari\n // https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b#gistcomment-2359479\n willChange: 'transform,opacity',\n WebkitTapHighlightColor: 'transparent',\n // ripple overlay\n '&::before': {\n backgroundColor: rippleColor,\n boxSizing: 'content-box',\n position: 'absolute',\n content: '\"\"',\n opacity: baseOpacity,\n pointerEvents: 'none',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n transition: 'opacity 75ms linear',\n },\n '&:hover::before': {\n opacity: hoverOpacity,\n },\n '&:focus-visible::before': {\n opacity: focusOpacity,\n },\n ...(!rippleEnabled && {\n '&:active::before': {\n opacity: pressedOpacity,\n },\n }),\n '&[aria-pressed=\"true\"]::before': {\n opacity: baseOpacity + pressedOpacity,\n },\n '&[aria-pressed=\"true\"]:hover::before': {\n opacity: pressedOpacity + hoverOpacity,\n },\n '&[aria-pressed=\"true\"]:focus-visible::before': {\n opacity: pressedOpacity + focusOpacity,\n },\n ...(!rippleEnabled && {\n '&[aria-pressed=\"true\"]:active::before': {\n opacity: pressedOpacity + pressedOpacity,\n },\n }),\n ['&:disabled::before,&:disabled:hover::before,&:disabled:focus::before,&:disabled:active::before,' +\n '&[data-disabled]::before,&[data-disabled]:hover::before,&[data-disabled]:focus::before,' +\n '&[data-disabled]:active::before,&:disabled[aria-pressed=\"true\"]::before']:\n {\n opacity: 0,\n },\n '&:disabled,&[data-disabled]': {\n cursor: 'default',\n },\n // ripple\n ...(rippleEnabled && {\n '&::after': { ...rippleStyle({ animation }) },\n }),\n };\n\n return {\n style: { ...animationStyle, ...style },\n onKeyDown: wrapEvent(onKeyDown, handleKeyDown),\n onPointerDown: wrapEvent(onPointerDown, handlePointerDown),\n __css: css,\n };\n}\n"],"file":"useRippleSurface.js"}