@mui/utils 6.0.0-alpha.9 → 6.0.0-beta.1

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 (355) hide show
  1. package/CHANGELOG.md +363 -3
  2. package/ClassNameGenerator/ClassNameGenerator.js +7 -1
  3. package/ClassNameGenerator/index.js +13 -1
  4. package/ClassNameGenerator/package.json +2 -2
  5. package/HTMLElementType/HTMLElementType.js +7 -1
  6. package/HTMLElementType/index.js +13 -1
  7. package/HTMLElementType/package.json +2 -2
  8. package/appendOwnerState/appendOwnerState.d.ts +20 -0
  9. package/appendOwnerState/appendOwnerState.js +34 -0
  10. package/appendOwnerState/index.d.ts +2 -0
  11. package/{node/clamp → appendOwnerState}/index.js +2 -2
  12. package/appendOwnerState/package.json +6 -0
  13. package/capitalize/capitalize.js +10 -3
  14. package/capitalize/index.js +13 -1
  15. package/capitalize/package.json +2 -2
  16. package/chainPropTypes/chainPropTypes.js +7 -1
  17. package/chainPropTypes/index.js +13 -1
  18. package/chainPropTypes/package.json +2 -2
  19. package/clamp/clamp.js +7 -1
  20. package/clamp/index.js +13 -1
  21. package/clamp/package.json +2 -2
  22. package/composeClasses/composeClasses.js +7 -1
  23. package/composeClasses/index.js +13 -1
  24. package/composeClasses/package.json +2 -2
  25. package/createChainedFunction/createChainedFunction.js +7 -1
  26. package/createChainedFunction/index.js +13 -1
  27. package/createChainedFunction/package.json +2 -2
  28. package/debounce/debounce.js +7 -1
  29. package/debounce/index.js +26 -2
  30. package/debounce/package.json +2 -2
  31. package/deepmerge/deepmerge.js +9 -2
  32. package/deepmerge/index.js +26 -2
  33. package/deepmerge/package.json +2 -2
  34. package/deprecatedPropType/deprecatedPropType.js +7 -1
  35. package/deprecatedPropType/index.js +13 -1
  36. package/deprecatedPropType/package.json +2 -2
  37. package/elementAcceptingRef/elementAcceptingRef.js +12 -5
  38. package/elementAcceptingRef/index.js +13 -1
  39. package/elementAcceptingRef/package.json +2 -2
  40. package/elementTypeAcceptingRef/elementTypeAcceptingRef.js +10 -3
  41. package/elementTypeAcceptingRef/index.js +13 -1
  42. package/elementTypeAcceptingRef/package.json +2 -2
  43. package/{node → esm}/ClassNameGenerator/ClassNameGenerator.js +1 -7
  44. package/esm/ClassNameGenerator/index.js +1 -0
  45. package/{node → esm}/HTMLElementType/HTMLElementType.js +1 -7
  46. package/esm/HTMLElementType/index.js +1 -0
  47. package/esm/appendOwnerState/appendOwnerState.js +28 -0
  48. package/esm/appendOwnerState/index.js +1 -0
  49. package/esm/capitalize/capitalize.js +11 -0
  50. package/esm/capitalize/index.js +1 -0
  51. package/{node → esm}/chainPropTypes/chainPropTypes.js +1 -7
  52. package/esm/chainPropTypes/index.js +1 -0
  53. package/esm/clamp/clamp.js +4 -0
  54. package/esm/clamp/index.js +1 -0
  55. package/{node → esm}/composeClasses/composeClasses.js +1 -7
  56. package/esm/composeClasses/index.js +1 -0
  57. package/{node → esm}/createChainedFunction/createChainedFunction.js +1 -7
  58. package/esm/createChainedFunction/index.js +1 -0
  59. package/{node → esm}/debounce/debounce.js +1 -7
  60. package/esm/debounce/index.js +2 -0
  61. package/{node → esm}/deepmerge/deepmerge.js +2 -9
  62. package/esm/deepmerge/index.js +2 -0
  63. package/{node → esm}/deprecatedPropType/deprecatedPropType.js +1 -7
  64. package/esm/deprecatedPropType/index.js +1 -0
  65. package/{node → esm}/elementAcceptingRef/elementAcceptingRef.js +5 -12
  66. package/esm/elementAcceptingRef/index.js +1 -0
  67. package/{node → esm}/elementTypeAcceptingRef/elementTypeAcceptingRef.js +3 -10
  68. package/esm/elementTypeAcceptingRef/index.js +1 -0
  69. package/{node → esm}/exactProp/exactProp.js +1 -7
  70. package/esm/exactProp/index.js +1 -0
  71. package/esm/extractEventHandlers/extractEventHandlers.js +18 -0
  72. package/esm/extractEventHandlers/index.js +1 -0
  73. package/{node → esm}/formatMuiErrorMessage/formatMuiErrorMessage.js +1 -7
  74. package/esm/formatMuiErrorMessage/index.js +1 -0
  75. package/esm/generateUtilityClass/generateUtilityClass.js +22 -0
  76. package/esm/generateUtilityClass/index.js +2 -0
  77. package/esm/generateUtilityClasses/generateUtilityClasses.js +8 -0
  78. package/esm/generateUtilityClasses/index.js +1 -0
  79. package/{node → esm}/getDisplayName/getDisplayName.js +5 -11
  80. package/esm/getDisplayName/index.js +1 -0
  81. package/{node → esm}/getScrollbarSize/getScrollbarSize.js +1 -7
  82. package/esm/getScrollbarSize/index.js +1 -0
  83. package/esm/getValidReactChildren/getValidReactChildren.js +11 -0
  84. package/esm/getValidReactChildren/index.js +1 -0
  85. package/esm/index.js +47 -0
  86. package/esm/integerPropType/index.js +2 -0
  87. package/{node → esm}/integerPropType/integerPropType.js +2 -9
  88. package/esm/isFocusVisible/index.js +1 -0
  89. package/esm/isFocusVisible/isFocusVisible.js +15 -0
  90. package/esm/isHostComponent/index.js +1 -0
  91. package/esm/isHostComponent/isHostComponent.js +7 -0
  92. package/esm/isMuiElement/index.js +1 -0
  93. package/esm/isMuiElement/isMuiElement.js +8 -0
  94. package/esm/mergeSlotProps/index.js +1 -0
  95. package/esm/mergeSlotProps/mergeSlotProps.js +90 -0
  96. package/esm/omitEventHandlers/index.js +1 -0
  97. package/esm/omitEventHandlers/omitEventHandlers.js +18 -0
  98. package/esm/ownerDocument/index.js +1 -0
  99. package/esm/ownerDocument/ownerDocument.js +3 -0
  100. package/esm/ownerWindow/index.js +1 -0
  101. package/esm/ownerWindow/ownerWindow.js +5 -0
  102. package/esm/ponyfillGlobal/index.js +1 -0
  103. package/esm/ponyfillGlobal/ponyfillGlobal.js +3 -0
  104. package/esm/refType/index.js +1 -0
  105. package/esm/refType/refType.js +3 -0
  106. package/esm/requirePropFactory/index.js +1 -0
  107. package/{node → esm}/requirePropFactory/requirePropFactory.js +2 -8
  108. package/esm/resolveComponentProps/index.js +1 -0
  109. package/esm/resolveComponentProps/resolveComponentProps.js +11 -0
  110. package/esm/resolveProps/index.js +1 -0
  111. package/{node → esm}/resolveProps/resolveProps.js +1 -7
  112. package/esm/setRef/index.js +1 -0
  113. package/{node → esm}/setRef/setRef.js +1 -7
  114. package/esm/types.js +1 -0
  115. package/esm/unsupportedProp/index.js +1 -0
  116. package/{node → esm}/unsupportedProp/unsupportedProp.js +1 -7
  117. package/esm/useControlled/index.js +1 -0
  118. package/{node → esm}/useControlled/useControlled.js +5 -10
  119. package/esm/useEnhancedEffect/index.js +1 -0
  120. package/esm/useEnhancedEffect/useEnhancedEffect.js +13 -0
  121. package/esm/useEventCallback/index.js +1 -0
  122. package/esm/useEventCallback/useEventCallback.js +20 -0
  123. package/esm/useForkRef/index.js +1 -0
  124. package/esm/useForkRef/useForkRef.js +22 -0
  125. package/esm/useId/index.js +1 -0
  126. package/{node → esm}/useId/useId.js +3 -10
  127. package/esm/useLazyRef/index.js +1 -0
  128. package/esm/useLazyRef/useLazyRef.js +19 -0
  129. package/esm/useLocalStorageState/index.js +1 -0
  130. package/{node → esm}/useLocalStorageState/useLocalStorageState.js +4 -13
  131. package/esm/useOnMount/index.js +1 -0
  132. package/esm/useOnMount/useOnMount.js +13 -0
  133. package/esm/usePreviousProps/index.js +1 -0
  134. package/esm/usePreviousProps/usePreviousProps.js +11 -0
  135. package/esm/useSlotProps/index.js +1 -0
  136. package/esm/useSlotProps/useSlotProps.js +38 -0
  137. package/esm/useTimeout/index.js +2 -0
  138. package/esm/useTimeout/useTimeout.js +35 -0
  139. package/esm/visuallyHidden/index.js +1 -0
  140. package/{node → esm}/visuallyHidden/visuallyHidden.js +1 -7
  141. package/exactProp/exactProp.js +7 -1
  142. package/exactProp/index.js +13 -1
  143. package/exactProp/package.json +2 -2
  144. package/extractEventHandlers/extractEventHandlers.d.ts +10 -0
  145. package/extractEventHandlers/extractEventHandlers.js +24 -0
  146. package/extractEventHandlers/index.d.ts +1 -0
  147. package/{node/ClassNameGenerator → extractEventHandlers}/index.js +2 -2
  148. package/extractEventHandlers/package.json +6 -0
  149. package/formatMuiErrorMessage/formatMuiErrorMessage.js +7 -1
  150. package/formatMuiErrorMessage/index.js +13 -1
  151. package/formatMuiErrorMessage/package.json +2 -2
  152. package/generateUtilityClass/generateUtilityClass.js +14 -5
  153. package/generateUtilityClass/index.js +26 -2
  154. package/generateUtilityClass/package.json +2 -2
  155. package/generateUtilityClasses/generateUtilityClasses.js +10 -3
  156. package/generateUtilityClasses/index.js +13 -1
  157. package/generateUtilityClasses/package.json +2 -2
  158. package/getDisplayName/getDisplayName.d.ts +1 -1
  159. package/getDisplayName/getDisplayName.js +11 -5
  160. package/getDisplayName/index.js +13 -1
  161. package/getDisplayName/package.json +2 -2
  162. package/getScrollbarSize/getScrollbarSize.js +7 -1
  163. package/getScrollbarSize/index.js +13 -1
  164. package/getScrollbarSize/package.json +2 -2
  165. package/getValidReactChildren/getValidReactChildren.js +9 -2
  166. package/getValidReactChildren/index.js +13 -1
  167. package/getValidReactChildren/package.json +2 -2
  168. package/index.d.ts +6 -2
  169. package/index.js +399 -45
  170. package/integerPropType/index.js +26 -2
  171. package/integerPropType/integerPropType.js +9 -2
  172. package/integerPropType/package.json +2 -2
  173. package/isFocusVisible/index.d.ts +1 -0
  174. package/{node/chainPropTypes → isFocusVisible}/index.js +2 -2
  175. package/isFocusVisible/isFocusVisible.d.ts +4 -0
  176. package/isFocusVisible/isFocusVisible.js +21 -0
  177. package/isFocusVisible/package.json +6 -0
  178. package/isHostComponent/index.d.ts +1 -0
  179. package/{node/HTMLElementType → isHostComponent}/index.js +2 -2
  180. package/isHostComponent/isHostComponent.d.ts +6 -0
  181. package/isHostComponent/isHostComponent.js +13 -0
  182. package/isHostComponent/package.json +6 -0
  183. package/isMuiElement/index.js +13 -1
  184. package/isMuiElement/isMuiElement.js +13 -5
  185. package/isMuiElement/package.json +2 -2
  186. package/mergeSlotProps/index.d.ts +2 -0
  187. package/{node/composeClasses → mergeSlotProps}/index.js +2 -2
  188. package/mergeSlotProps/mergeSlotProps.d.ts +56 -0
  189. package/mergeSlotProps/mergeSlotProps.js +97 -0
  190. package/mergeSlotProps/package.json +6 -0
  191. package/modern/appendOwnerState/appendOwnerState.js +28 -0
  192. package/modern/appendOwnerState/index.js +1 -0
  193. package/modern/extractEventHandlers/extractEventHandlers.js +18 -0
  194. package/modern/extractEventHandlers/index.js +1 -0
  195. package/modern/getDisplayName/getDisplayName.js +1 -1
  196. package/modern/index.js +7 -4
  197. package/modern/isFocusVisible/index.js +1 -0
  198. package/modern/isFocusVisible/isFocusVisible.js +15 -0
  199. package/modern/isHostComponent/index.js +1 -0
  200. package/modern/isHostComponent/isHostComponent.js +7 -0
  201. package/modern/mergeSlotProps/index.js +1 -0
  202. package/modern/mergeSlotProps/mergeSlotProps.js +90 -0
  203. package/modern/omitEventHandlers/index.js +1 -0
  204. package/modern/omitEventHandlers/omitEventHandlers.js +18 -0
  205. package/modern/resolveComponentProps/index.js +1 -0
  206. package/modern/resolveComponentProps/resolveComponentProps.js +11 -0
  207. package/modern/types.js +1 -0
  208. package/modern/useControlled/useControlled.js +3 -1
  209. package/modern/useSlotProps/index.js +1 -0
  210. package/modern/useSlotProps/useSlotProps.js +38 -0
  211. package/omitEventHandlers/index.d.ts +1 -0
  212. package/omitEventHandlers/index.js +13 -0
  213. package/omitEventHandlers/omitEventHandlers.d.ts +9 -0
  214. package/omitEventHandlers/omitEventHandlers.js +24 -0
  215. package/omitEventHandlers/package.json +6 -0
  216. package/ownerDocument/index.js +13 -1
  217. package/ownerDocument/ownerDocument.js +7 -1
  218. package/ownerDocument/package.json +2 -2
  219. package/ownerWindow/index.js +13 -1
  220. package/ownerWindow/ownerWindow.js +10 -3
  221. package/ownerWindow/package.json +2 -2
  222. package/package.json +6 -5
  223. package/ponyfillGlobal/index.js +13 -1
  224. package/ponyfillGlobal/package.json +2 -2
  225. package/ponyfillGlobal/ponyfillGlobal.js +7 -1
  226. package/refType/index.js +13 -1
  227. package/refType/package.json +2 -2
  228. package/refType/refType.js +10 -3
  229. package/requirePropFactory/index.js +13 -1
  230. package/requirePropFactory/package.json +2 -2
  231. package/requirePropFactory/requirePropFactory.js +8 -2
  232. package/resolveComponentProps/index.d.ts +1 -0
  233. package/resolveComponentProps/index.js +13 -0
  234. package/resolveComponentProps/package.json +6 -0
  235. package/resolveComponentProps/resolveComponentProps.d.ts +6 -0
  236. package/resolveComponentProps/resolveComponentProps.js +17 -0
  237. package/resolveProps/index.js +13 -1
  238. package/resolveProps/package.json +2 -2
  239. package/resolveProps/resolveProps.js +7 -1
  240. package/setRef/index.js +13 -1
  241. package/setRef/package.json +2 -2
  242. package/setRef/setRef.js +7 -1
  243. package/types.d.ts +7 -0
  244. package/types.js +5 -0
  245. package/unsupportedProp/index.js +13 -1
  246. package/unsupportedProp/package.json +2 -2
  247. package/unsupportedProp/unsupportedProp.js +7 -1
  248. package/useControlled/index.js +13 -1
  249. package/useControlled/package.json +2 -2
  250. package/useControlled/useControlled.js +12 -3
  251. package/useEnhancedEffect/index.js +13 -1
  252. package/useEnhancedEffect/package.json +2 -2
  253. package/useEnhancedEffect/useEnhancedEffect.js +9 -3
  254. package/useEventCallback/index.js +13 -1
  255. package/useEventCallback/package.json +2 -2
  256. package/useEventCallback/useEventCallback.js +12 -5
  257. package/useForkRef/index.js +13 -1
  258. package/useForkRef/package.json +2 -2
  259. package/useForkRef/useForkRef.js +12 -4
  260. package/useId/index.js +13 -1
  261. package/useId/package.json +2 -2
  262. package/useId/useId.js +10 -3
  263. package/useLazyRef/index.js +13 -1
  264. package/useLazyRef/package.json +2 -2
  265. package/useLazyRef/useLazyRef.js +9 -2
  266. package/useLocalStorageState/index.js +13 -1
  267. package/useLocalStorageState/package.json +2 -2
  268. package/useLocalStorageState/useLocalStorageState.js +13 -4
  269. package/useOnMount/index.js +13 -1
  270. package/useOnMount/package.json +2 -2
  271. package/useOnMount/useOnMount.js +9 -2
  272. package/usePreviousProps/index.js +13 -1
  273. package/usePreviousProps/package.json +2 -2
  274. package/usePreviousProps/usePreviousProps.js +9 -2
  275. package/useSlotProps/index.d.ts +2 -0
  276. package/{node/capitalize → useSlotProps}/index.js +2 -2
  277. package/useSlotProps/package.json +6 -0
  278. package/useSlotProps/useSlotProps.d.ts +41 -0
  279. package/useSlotProps/useSlotProps.js +45 -0
  280. package/useTimeout/index.js +20 -2
  281. package/useTimeout/package.json +2 -2
  282. package/useTimeout/useTimeout.js +14 -6
  283. package/visuallyHidden/index.js +13 -1
  284. package/visuallyHidden/package.json +2 -2
  285. package/visuallyHidden/visuallyHidden.js +7 -1
  286. package/modern/scrollLeft/index.js +0 -1
  287. package/modern/scrollLeft/scrollLeft.js +0 -70
  288. package/modern/useIsFocusVisible/index.js +0 -2
  289. package/modern/useIsFocusVisible/useIsFocusVisible.js +0 -163
  290. package/node/capitalize/capitalize.js +0 -18
  291. package/node/clamp/clamp.js +0 -10
  292. package/node/createChainedFunction/index.js +0 -13
  293. package/node/debounce/index.js +0 -26
  294. package/node/deepmerge/index.js +0 -26
  295. package/node/deprecatedPropType/index.js +0 -13
  296. package/node/elementAcceptingRef/index.js +0 -13
  297. package/node/elementTypeAcceptingRef/index.js +0 -13
  298. package/node/exactProp/index.js +0 -13
  299. package/node/formatMuiErrorMessage/index.js +0 -13
  300. package/node/generateUtilityClass/generateUtilityClass.js +0 -31
  301. package/node/generateUtilityClass/index.js +0 -26
  302. package/node/generateUtilityClasses/generateUtilityClasses.js +0 -15
  303. package/node/generateUtilityClasses/index.js +0 -13
  304. package/node/getDisplayName/index.js +0 -13
  305. package/node/getScrollbarSize/index.js +0 -13
  306. package/node/getValidReactChildren/getValidReactChildren.js +0 -18
  307. package/node/getValidReactChildren/index.js +0 -13
  308. package/node/index.js +0 -384
  309. package/node/integerPropType/index.js +0 -26
  310. package/node/isMuiElement/index.js +0 -13
  311. package/node/isMuiElement/isMuiElement.js +0 -16
  312. package/node/ownerDocument/index.js +0 -13
  313. package/node/ownerDocument/ownerDocument.js +0 -9
  314. package/node/ownerWindow/index.js +0 -13
  315. package/node/ownerWindow/ownerWindow.js +0 -12
  316. package/node/ponyfillGlobal/index.js +0 -13
  317. package/node/ponyfillGlobal/ponyfillGlobal.js +0 -9
  318. package/node/refType/index.js +0 -13
  319. package/node/refType/refType.js +0 -10
  320. package/node/requirePropFactory/index.js +0 -13
  321. package/node/resolveProps/index.js +0 -13
  322. package/node/scrollLeft/index.js +0 -16
  323. package/node/scrollLeft/scrollLeft.js +0 -77
  324. package/node/setRef/index.js +0 -13
  325. package/node/unsupportedProp/index.js +0 -13
  326. package/node/useControlled/index.js +0 -13
  327. package/node/useEnhancedEffect/index.js +0 -13
  328. package/node/useEnhancedEffect/useEnhancedEffect.js +0 -19
  329. package/node/useEventCallback/index.js +0 -13
  330. package/node/useEventCallback/useEventCallback.js +0 -27
  331. package/node/useForkRef/index.js +0 -13
  332. package/node/useForkRef/useForkRef.js +0 -30
  333. package/node/useId/index.js +0 -13
  334. package/node/useIsFocusVisible/index.js +0 -26
  335. package/node/useIsFocusVisible/useIsFocusVisible.js +0 -171
  336. package/node/useLazyRef/index.js +0 -13
  337. package/node/useLazyRef/useLazyRef.js +0 -26
  338. package/node/useLocalStorageState/index.js +0 -13
  339. package/node/useOnMount/index.js +0 -13
  340. package/node/useOnMount/useOnMount.js +0 -20
  341. package/node/usePreviousProps/index.js +0 -13
  342. package/node/usePreviousProps/usePreviousProps.js +0 -18
  343. package/node/useTimeout/index.js +0 -20
  344. package/node/useTimeout/useTimeout.js +0 -43
  345. package/node/visuallyHidden/index.js +0 -13
  346. package/scrollLeft/index.d.ts +0 -1
  347. package/scrollLeft/index.js +0 -1
  348. package/scrollLeft/package.json +0 -6
  349. package/scrollLeft/scrollLeft.d.ts +0 -2
  350. package/scrollLeft/scrollLeft.js +0 -70
  351. package/useIsFocusVisible/index.d.ts +0 -2
  352. package/useIsFocusVisible/index.js +0 -2
  353. package/useIsFocusVisible/package.json +0 -6
  354. package/useIsFocusVisible/useIsFocusVisible.d.ts +0 -9
  355. package/useIsFocusVisible/useIsFocusVisible.js +0 -163
@@ -1,163 +0,0 @@
1
- 'use client';
2
-
3
- // based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js
4
- import * as React from 'react';
5
- import { Timeout } from '../useTimeout/useTimeout';
6
- let hadKeyboardEvent = true;
7
- let hadFocusVisibleRecently = false;
8
- const hadFocusVisibleRecentlyTimeout = new Timeout();
9
- const inputTypesWhitelist = {
10
- text: true,
11
- search: true,
12
- url: true,
13
- tel: true,
14
- email: true,
15
- password: true,
16
- number: true,
17
- date: true,
18
- month: true,
19
- week: true,
20
- time: true,
21
- datetime: true,
22
- 'datetime-local': true
23
- };
24
-
25
- /**
26
- * Computes whether the given element should automatically trigger the
27
- * `focus-visible` class being added, i.e. whether it should always match
28
- * `:focus-visible` when focused.
29
- * @param {Element} node
30
- * @returns {boolean}
31
- */
32
- function focusTriggersKeyboardModality(node) {
33
- const {
34
- type,
35
- tagName
36
- } = node;
37
- if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {
38
- return true;
39
- }
40
- if (tagName === 'TEXTAREA' && !node.readOnly) {
41
- return true;
42
- }
43
- if (node.isContentEditable) {
44
- return true;
45
- }
46
- return false;
47
- }
48
-
49
- /**
50
- * Keep track of our keyboard modality state with `hadKeyboardEvent`.
51
- * If the most recent user interaction was via the keyboard;
52
- * and the key press did not include a meta, alt/option, or control key;
53
- * then the modality is keyboard. Otherwise, the modality is not keyboard.
54
- * @param {KeyboardEvent} event
55
- */
56
- function handleKeyDown(event) {
57
- if (event.metaKey || event.altKey || event.ctrlKey) {
58
- return;
59
- }
60
- hadKeyboardEvent = true;
61
- }
62
-
63
- /**
64
- * If at any point a user clicks with a pointing device, ensure that we change
65
- * the modality away from keyboard.
66
- * This avoids the situation where a user presses a key on an already focused
67
- * element, and then clicks on a different element, focusing it with a
68
- * pointing device, while we still think we're in keyboard modality.
69
- */
70
- function handlePointerDown() {
71
- hadKeyboardEvent = false;
72
- }
73
- function handleVisibilityChange() {
74
- if (this.visibilityState === 'hidden') {
75
- // If the tab becomes active again, the browser will handle calling focus
76
- // on the element (Safari actually calls it twice).
77
- // If this tab change caused a blur on an element with focus-visible,
78
- // re-apply the class when the user switches back to the tab.
79
- if (hadFocusVisibleRecently) {
80
- hadKeyboardEvent = true;
81
- }
82
- }
83
- }
84
- function prepare(doc) {
85
- doc.addEventListener('keydown', handleKeyDown, true);
86
- doc.addEventListener('mousedown', handlePointerDown, true);
87
- doc.addEventListener('pointerdown', handlePointerDown, true);
88
- doc.addEventListener('touchstart', handlePointerDown, true);
89
- doc.addEventListener('visibilitychange', handleVisibilityChange, true);
90
- }
91
- export function teardown(doc) {
92
- doc.removeEventListener('keydown', handleKeyDown, true);
93
- doc.removeEventListener('mousedown', handlePointerDown, true);
94
- doc.removeEventListener('pointerdown', handlePointerDown, true);
95
- doc.removeEventListener('touchstart', handlePointerDown, true);
96
- doc.removeEventListener('visibilitychange', handleVisibilityChange, true);
97
- }
98
- function isFocusVisible(event) {
99
- const {
100
- target
101
- } = event;
102
- try {
103
- return target.matches(':focus-visible');
104
- } catch (error) {
105
- // Browsers not implementing :focus-visible will throw a SyntaxError.
106
- // We use our own heuristic for those browsers.
107
- // Rethrow might be better if it's not the expected error but do we really
108
- // want to crash if focus-visible malfunctioned?
109
- }
110
-
111
- // No need for validFocusTarget check. The user does that by attaching it to
112
- // focusable events only.
113
- return hadKeyboardEvent || focusTriggersKeyboardModality(target);
114
- }
115
- export default function useIsFocusVisible() {
116
- const ref = React.useCallback(node => {
117
- if (node != null) {
118
- prepare(node.ownerDocument);
119
- }
120
- }, []);
121
- const isFocusVisibleRef = React.useRef(false);
122
-
123
- /**
124
- * Should be called if a blur event is fired
125
- */
126
- function handleBlurVisible() {
127
- // checking against potential state variable does not suffice if we focus and blur synchronously.
128
- // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.
129
- // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.
130
- // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751
131
- // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).
132
- if (isFocusVisibleRef.current) {
133
- // To detect a tab/window switch, we look for a blur event followed
134
- // rapidly by a visibility change.
135
- // If we don't see a visibility change within 100ms, it's probably a
136
- // regular focus change.
137
- hadFocusVisibleRecently = true;
138
- hadFocusVisibleRecentlyTimeout.start(100, () => {
139
- hadFocusVisibleRecently = false;
140
- });
141
- isFocusVisibleRef.current = false;
142
- return true;
143
- }
144
- return false;
145
- }
146
-
147
- /**
148
- * Should be called if a blur event is fired
149
- */
150
- function handleFocusVisible(event) {
151
- if (isFocusVisible(event)) {
152
- isFocusVisibleRef.current = true;
153
- return true;
154
- }
155
- return false;
156
- }
157
- return {
158
- isFocusVisibleRef,
159
- onFocus: handleFocusVisible,
160
- onBlur: handleBlurVisible,
161
- ref
162
- };
163
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = capitalize;
8
- var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage"));
9
- // It should to be noted that this function isn't equivalent to `text-transform: capitalize`.
10
- //
11
- // A strict capitalization should uppercase the first letter of each word in the sentence.
12
- // We only handle the first word.
13
- function capitalize(string) {
14
- if (typeof string !== 'string') {
15
- throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`capitalize(string)\` expects a string argument.` : (0, _formatMuiErrorMessage2.default)(7));
16
- }
17
- return string.charAt(0).toUpperCase() + string.slice(1);
18
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
8
- return Math.max(min, Math.min(val, max));
9
- }
10
- var _default = exports.default = clamp;
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _createChainedFunction.default;
11
- }
12
- });
13
- var _createChainedFunction = _interopRequireDefault(require("./createChainedFunction"));
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {};
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _debounce.default;
11
- }
12
- });
13
- var _debounce = _interopRequireWildcard(require("./debounce"));
14
- Object.keys(_debounce).forEach(function (key) {
15
- if (key === "default" || key === "__esModule") return;
16
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
- if (key in exports && exports[key] === _debounce[key]) return;
18
- Object.defineProperty(exports, key, {
19
- enumerable: true,
20
- get: function () {
21
- return _debounce[key];
22
- }
23
- });
24
- });
25
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {};
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _deepmerge.default;
11
- }
12
- });
13
- var _deepmerge = _interopRequireWildcard(require("./deepmerge"));
14
- Object.keys(_deepmerge).forEach(function (key) {
15
- if (key === "default" || key === "__esModule") return;
16
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
- if (key in exports && exports[key] === _deepmerge[key]) return;
18
- Object.defineProperty(exports, key, {
19
- enumerable: true,
20
- get: function () {
21
- return _deepmerge[key];
22
- }
23
- });
24
- });
25
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _deprecatedPropType.default;
11
- }
12
- });
13
- var _deprecatedPropType = _interopRequireDefault(require("./deprecatedPropType"));
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _elementAcceptingRef.default;
11
- }
12
- });
13
- var _elementAcceptingRef = _interopRequireDefault(require("./elementAcceptingRef"));
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _elementTypeAcceptingRef.default;
11
- }
12
- });
13
- var _elementTypeAcceptingRef = _interopRequireDefault(require("./elementTypeAcceptingRef"));
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _exactProp.default;
11
- }
12
- });
13
- var _exactProp = _interopRequireDefault(require("./exactProp"));
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _formatMuiErrorMessage.default;
11
- }
12
- });
13
- var _formatMuiErrorMessage = _interopRequireDefault(require("./formatMuiErrorMessage"));
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = generateUtilityClass;
8
- exports.globalStateClasses = void 0;
9
- exports.isGlobalState = isGlobalState;
10
- var _ClassNameGenerator = _interopRequireDefault(require("../ClassNameGenerator"));
11
- const globalStateClasses = exports.globalStateClasses = {
12
- active: 'active',
13
- checked: 'checked',
14
- completed: 'completed',
15
- disabled: 'disabled',
16
- error: 'error',
17
- expanded: 'expanded',
18
- focused: 'focused',
19
- focusVisible: 'focusVisible',
20
- open: 'open',
21
- readOnly: 'readOnly',
22
- required: 'required',
23
- selected: 'selected'
24
- };
25
- function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {
26
- const globalStateClass = globalStateClasses[slot];
27
- return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${_ClassNameGenerator.default.generate(componentName)}-${slot}`;
28
- }
29
- function isGlobalState(slot) {
30
- return globalStateClasses[slot] !== undefined;
31
- }
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {};
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _generateUtilityClass.default;
11
- }
12
- });
13
- var _generateUtilityClass = _interopRequireWildcard(require("./generateUtilityClass"));
14
- Object.keys(_generateUtilityClass).forEach(function (key) {
15
- if (key === "default" || key === "__esModule") return;
16
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
- if (key in exports && exports[key] === _generateUtilityClass[key]) return;
18
- Object.defineProperty(exports, key, {
19
- enumerable: true,
20
- get: function () {
21
- return _generateUtilityClass[key];
22
- }
23
- });
24
- });
25
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = generateUtilityClasses;
8
- var _generateUtilityClass = _interopRequireDefault(require("../generateUtilityClass"));
9
- function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {
10
- const result = {};
11
- slots.forEach(slot => {
12
- result[slot] = (0, _generateUtilityClass.default)(componentName, slot, globalStatePrefix);
13
- });
14
- return result;
15
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _generateUtilityClasses.default;
11
- }
12
- });
13
- var _generateUtilityClasses = _interopRequireDefault(require("./generateUtilityClasses"));
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _getDisplayName.default;
11
- }
12
- });
13
- var _getDisplayName = _interopRequireDefault(require("./getDisplayName"));
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _getScrollbarSize.default;
11
- }
12
- });
13
- var _getScrollbarSize = _interopRequireDefault(require("./getScrollbarSize"));
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = getValidReactChildren;
7
- var React = _interopRequireWildcard(require("react"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
- /**
11
- * Gets only the valid children of a component,
12
- * and ignores any nullish or falsy child.
13
- *
14
- * @param children the children
15
- */
16
- function getValidReactChildren(children) {
17
- return React.Children.toArray(children).filter(child => /*#__PURE__*/React.isValidElement(child));
18
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function () {
10
- return _getValidReactChildren.default;
11
- }
12
- });
13
- var _getValidReactChildren = _interopRequireDefault(require("./getValidReactChildren"));