@mui/material 6.0.0-beta.0 → 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 (207) hide show
  1. package/Autocomplete/Autocomplete.d.ts +6 -7
  2. package/Autocomplete/Autocomplete.js +1 -1
  3. package/Badge/Badge.d.ts +1 -1
  4. package/Badge/Badge.js +2 -2
  5. package/Badge/useBadge.d.ts +13 -0
  6. package/Badge/useBadge.js +41 -0
  7. package/Badge/useBadge.types.d.ts +40 -0
  8. package/Badge/useBadge.types.js +1 -0
  9. package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  10. package/Breadcrumbs/Breadcrumbs.js +1 -1
  11. package/CHANGELOG.md +32 -0
  12. package/ClickAwayListener/ClickAwayListener.d.ts +47 -0
  13. package/ClickAwayListener/ClickAwayListener.js +178 -0
  14. package/ClickAwayListener/index.d.ts +2 -2
  15. package/ClickAwayListener/index.js +1 -1
  16. package/InputBase/InputBase.js +2 -2
  17. package/ListItem/ListItem.js +1 -1
  18. package/Menu/Menu.js +1 -1
  19. package/Modal/Modal.d.ts +1 -1
  20. package/Modal/Modal.js +1 -1
  21. package/Modal/ModalManager.d.ts +25 -0
  22. package/Modal/ModalManager.js +211 -0
  23. package/Modal/index.d.ts +1 -1
  24. package/Modal/index.js +1 -1
  25. package/Modal/useModal.d.ts +13 -0
  26. package/Modal/useModal.js +195 -0
  27. package/Modal/useModal.types.d.ts +115 -0
  28. package/Modal/useModal.types.js +1 -0
  29. package/NoSsr/NoSsr.d.ts +25 -0
  30. package/NoSsr/NoSsr.js +73 -0
  31. package/NoSsr/NoSsr.types.d.ts +18 -0
  32. package/NoSsr/NoSsr.types.js +1 -0
  33. package/NoSsr/index.d.ts +3 -2
  34. package/NoSsr/index.js +1 -1
  35. package/Popover/Popover.js +1 -1
  36. package/Popper/BasePopper.d.ts +7 -0
  37. package/Popper/BasePopper.js +370 -0
  38. package/Popper/BasePopper.types.d.ts +130 -0
  39. package/Popper/BasePopper.types.js +1 -0
  40. package/Popper/Popper.d.ts +1 -1
  41. package/Popper/Popper.js +1 -1
  42. package/Popper/index.d.ts +2 -1
  43. package/Popper/index.js +2 -1
  44. package/Popper/popperClasses.d.ts +8 -0
  45. package/Popper/popperClasses.js +7 -0
  46. package/Portal/Portal.d.ts +16 -0
  47. package/Portal/Portal.js +92 -0
  48. package/Portal/Portal.types.d.ts +23 -0
  49. package/Portal/Portal.types.js +1 -0
  50. package/Portal/index.d.ts +3 -2
  51. package/Portal/index.js +1 -1
  52. package/Slider/Slider.d.ts +2 -2
  53. package/Slider/Slider.js +3 -2
  54. package/Slider/useSlider.d.ts +14 -0
  55. package/Slider/useSlider.js +647 -0
  56. package/Slider/useSlider.types.d.ts +228 -0
  57. package/Slider/useSlider.types.js +1 -0
  58. package/Snackbar/Snackbar.d.ts +1 -1
  59. package/Snackbar/Snackbar.js +3 -3
  60. package/Snackbar/useSnackbar.d.ts +14 -0
  61. package/Snackbar/useSnackbar.js +133 -0
  62. package/Snackbar/useSnackbar.types.d.ts +60 -0
  63. package/Snackbar/useSnackbar.types.js +1 -0
  64. package/SwipeableDrawer/SwipeableDrawer.js +1 -1
  65. package/TabScrollButton/TabScrollButton.d.ts +1 -1
  66. package/TabScrollButton/TabScrollButton.js +1 -1
  67. package/TablePagination/TablePagination.js +1 -1
  68. package/Tabs/Tabs.d.ts +1 -1
  69. package/Tabs/Tabs.js +1 -1
  70. package/TextareaAutosize/TextareaAutosize.d.ts +14 -0
  71. package/TextareaAutosize/TextareaAutosize.js +222 -0
  72. package/TextareaAutosize/TextareaAutosize.types.d.ts +13 -0
  73. package/TextareaAutosize/TextareaAutosize.types.js +1 -0
  74. package/TextareaAutosize/index.d.ts +3 -2
  75. package/TextareaAutosize/index.js +1 -1
  76. package/Tooltip/Tooltip.js +1 -1
  77. package/Unstable_TrapFocus/FocusTrap.d.ts +10 -0
  78. package/Unstable_TrapFocus/FocusTrap.js +330 -0
  79. package/Unstable_TrapFocus/FocusTrap.types.d.ts +51 -0
  80. package/Unstable_TrapFocus/FocusTrap.types.js +1 -0
  81. package/Unstable_TrapFocus/index.d.ts +2 -2
  82. package/Unstable_TrapFocus/index.js +1 -1
  83. package/index.d.ts +1 -1
  84. package/index.js +2 -2
  85. package/modern/Autocomplete/Autocomplete.js +1 -1
  86. package/modern/Badge/Badge.js +2 -2
  87. package/modern/Badge/useBadge.js +41 -0
  88. package/modern/Badge/useBadge.types.js +1 -0
  89. package/modern/Breadcrumbs/Breadcrumbs.js +1 -1
  90. package/modern/ClickAwayListener/ClickAwayListener.js +178 -0
  91. package/modern/ClickAwayListener/index.js +1 -1
  92. package/modern/InputBase/InputBase.js +2 -2
  93. package/modern/ListItem/ListItem.js +1 -1
  94. package/modern/Menu/Menu.js +1 -1
  95. package/modern/Modal/Modal.js +1 -1
  96. package/modern/Modal/ModalManager.js +211 -0
  97. package/modern/Modal/index.js +1 -1
  98. package/modern/Modal/useModal.js +195 -0
  99. package/modern/Modal/useModal.types.js +1 -0
  100. package/modern/NoSsr/NoSsr.js +73 -0
  101. package/modern/NoSsr/NoSsr.types.js +1 -0
  102. package/modern/NoSsr/index.js +1 -1
  103. package/modern/Popover/Popover.js +1 -1
  104. package/modern/Popper/BasePopper.js +370 -0
  105. package/modern/Popper/BasePopper.types.js +1 -0
  106. package/modern/Popper/Popper.js +1 -1
  107. package/modern/Popper/index.js +2 -1
  108. package/modern/Popper/popperClasses.js +7 -0
  109. package/modern/Portal/Portal.js +92 -0
  110. package/modern/Portal/Portal.types.js +1 -0
  111. package/modern/Portal/index.js +1 -1
  112. package/modern/Slider/Slider.js +3 -2
  113. package/modern/Slider/useSlider.js +647 -0
  114. package/modern/Slider/useSlider.types.js +1 -0
  115. package/modern/Snackbar/Snackbar.js +3 -3
  116. package/modern/Snackbar/useSnackbar.js +133 -0
  117. package/modern/Snackbar/useSnackbar.types.js +1 -0
  118. package/modern/SwipeableDrawer/SwipeableDrawer.js +1 -1
  119. package/modern/TabScrollButton/TabScrollButton.js +1 -1
  120. package/modern/TablePagination/TablePagination.js +1 -1
  121. package/modern/Tabs/Tabs.js +1 -1
  122. package/modern/TextareaAutosize/TextareaAutosize.js +222 -0
  123. package/modern/TextareaAutosize/TextareaAutosize.types.js +1 -0
  124. package/modern/TextareaAutosize/index.js +1 -1
  125. package/modern/Tooltip/Tooltip.js +1 -1
  126. package/modern/Unstable_TrapFocus/FocusTrap.js +330 -0
  127. package/modern/Unstable_TrapFocus/FocusTrap.types.js +1 -0
  128. package/modern/Unstable_TrapFocus/index.js +1 -1
  129. package/modern/index.js +2 -2
  130. package/modern/useAutocomplete/useAutocomplete.js +976 -2
  131. package/modern/utils/PolymorphicComponent.js +1 -0
  132. package/modern/utils/areArraysEqual.js +4 -0
  133. package/modern/utils/index.js +1 -1
  134. package/modern/utils/isHostComponent.js +7 -0
  135. package/modern/utils/omitEventHandlers.js +18 -0
  136. package/modern/utils/shouldSpreadAdditionalProps.js +1 -1
  137. package/modern/utils/useSlot.js +3 -1
  138. package/node/Autocomplete/Autocomplete.js +3 -3
  139. package/node/Badge/Badge.js +5 -5
  140. package/node/Badge/useBadge.js +46 -0
  141. package/node/Badge/useBadge.types.js +5 -0
  142. package/node/Breadcrumbs/Breadcrumbs.js +2 -2
  143. package/node/ClickAwayListener/ClickAwayListener.js +184 -0
  144. package/node/ClickAwayListener/index.js +1 -1
  145. package/node/InputBase/InputBase.js +7 -7
  146. package/node/ListItem/ListItem.js +3 -3
  147. package/node/Menu/Menu.js +3 -3
  148. package/node/Modal/Modal.js +2 -2
  149. package/node/Modal/ModalManager.js +219 -0
  150. package/node/Modal/index.js +2 -2
  151. package/node/Modal/useModal.js +205 -0
  152. package/node/Modal/useModal.types.js +5 -0
  153. package/node/NoSsr/NoSsr.js +81 -0
  154. package/node/NoSsr/NoSsr.types.js +5 -0
  155. package/node/NoSsr/index.js +3 -2
  156. package/node/Popover/Popover.js +2 -2
  157. package/node/Popper/BasePopper.js +379 -0
  158. package/node/Popper/BasePopper.types.js +5 -0
  159. package/node/Popper/Popper.js +2 -2
  160. package/node/Popper/index.js +14 -1
  161. package/node/Popper/popperClasses.js +15 -0
  162. package/node/Portal/Portal.js +100 -0
  163. package/node/Portal/Portal.types.js +5 -0
  164. package/node/Portal/index.js +3 -2
  165. package/node/Slider/Slider.js +14 -13
  166. package/node/Slider/useSlider.js +670 -0
  167. package/node/Slider/useSlider.types.js +5 -0
  168. package/node/Snackbar/Snackbar.js +6 -6
  169. package/node/Snackbar/useSnackbar.js +141 -0
  170. package/node/Snackbar/useSnackbar.types.js +5 -0
  171. package/node/SwipeableDrawer/SwipeableDrawer.js +2 -2
  172. package/node/TabScrollButton/TabScrollButton.js +3 -3
  173. package/node/TablePagination/TablePagination.js +2 -2
  174. package/node/Tabs/Tabs.js +3 -3
  175. package/node/TextareaAutosize/TextareaAutosize.js +230 -0
  176. package/node/TextareaAutosize/TextareaAutosize.types.js +5 -0
  177. package/node/TextareaAutosize/index.js +3 -2
  178. package/node/Tooltip/Tooltip.js +5 -5
  179. package/node/Unstable_TrapFocus/FocusTrap.js +339 -0
  180. package/node/Unstable_TrapFocus/FocusTrap.types.js +5 -0
  181. package/node/Unstable_TrapFocus/index.js +3 -2
  182. package/node/index.js +3 -3
  183. package/node/useAutocomplete/useAutocomplete.js +985 -18
  184. package/node/utils/PolymorphicComponent.js +5 -0
  185. package/node/utils/areArraysEqual.js +10 -0
  186. package/node/utils/index.js +2 -2
  187. package/node/utils/isHostComponent.js +13 -0
  188. package/node/utils/omitEventHandlers.js +24 -0
  189. package/node/utils/shouldSpreadAdditionalProps.js +3 -2
  190. package/node/utils/useSlot.js +6 -4
  191. package/package.json +6 -7
  192. package/styles/overrides.d.ts +1 -1
  193. package/useAutocomplete/useAutocomplete.d.ts +468 -2
  194. package/useAutocomplete/useAutocomplete.js +976 -2
  195. package/utils/PolymorphicComponent.d.ts +17 -0
  196. package/utils/PolymorphicComponent.js +1 -0
  197. package/utils/areArraysEqual.d.ts +3 -0
  198. package/utils/areArraysEqual.js +4 -0
  199. package/utils/index.d.ts +2 -1
  200. package/utils/index.js +1 -1
  201. package/utils/isHostComponent.d.ts +6 -0
  202. package/utils/isHostComponent.js +7 -0
  203. package/utils/omitEventHandlers.d.ts +9 -0
  204. package/utils/omitEventHandlers.js +18 -0
  205. package/utils/shouldSpreadAdditionalProps.js +1 -1
  206. package/utils/types.d.ts +2 -1
  207. package/utils/useSlot.js +3 -1
@@ -0,0 +1,92 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import * as ReactDOM from 'react-dom';
5
+ import PropTypes from 'prop-types';
6
+ import { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ function getContainer(container) {
9
+ return typeof container === 'function' ? container() : container;
10
+ }
11
+
12
+ /**
13
+ * Portals provide a first-class way to render children into a DOM node
14
+ * that exists outside the DOM hierarchy of the parent component.
15
+ *
16
+ * Demos:
17
+ *
18
+ * - [Portal](https://next.mui.com/material-ui/react-portal/)
19
+ *
20
+ * API:
21
+ *
22
+ * - [Portal API](https://next.mui.com/material-ui/api/portal/)
23
+ */
24
+ const Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {
25
+ const {
26
+ children,
27
+ container,
28
+ disablePortal = false
29
+ } = props;
30
+ const [mountNode, setMountNode] = React.useState(null);
31
+ // @ts-expect-error TODO upstream fix
32
+ const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, forwardedRef);
33
+ useEnhancedEffect(() => {
34
+ if (!disablePortal) {
35
+ setMountNode(getContainer(container) || document.body);
36
+ }
37
+ }, [container, disablePortal]);
38
+ useEnhancedEffect(() => {
39
+ if (mountNode && !disablePortal) {
40
+ setRef(forwardedRef, mountNode);
41
+ return () => {
42
+ setRef(forwardedRef, null);
43
+ };
44
+ }
45
+ return undefined;
46
+ }, [forwardedRef, mountNode, disablePortal]);
47
+ if (disablePortal) {
48
+ if ( /*#__PURE__*/React.isValidElement(children)) {
49
+ const newProps = {
50
+ ref: handleRef
51
+ };
52
+ return /*#__PURE__*/React.cloneElement(children, newProps);
53
+ }
54
+ return /*#__PURE__*/_jsx(React.Fragment, {
55
+ children: children
56
+ });
57
+ }
58
+ return /*#__PURE__*/_jsx(React.Fragment, {
59
+ children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode
60
+ });
61
+ });
62
+ process.env.NODE_ENV !== "production" ? Portal.propTypes /* remove-proptypes */ = {
63
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
64
+ // │ These PropTypes are generated from the TypeScript type definitions. │
65
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
66
+ // └─────────────────────────────────────────────────────────────────────┘
67
+ /**
68
+ * The children to render into the `container`.
69
+ */
70
+ children: PropTypes.node,
71
+ /**
72
+ * An HTML element or function that returns one.
73
+ * The `container` will have the portal children appended to it.
74
+ *
75
+ * You can also provide a callback, which is called in a React layout effect.
76
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
77
+ *
78
+ * By default, it uses the body of the top-level document object,
79
+ * so it's simply `document.body` most of the time.
80
+ */
81
+ container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),
82
+ /**
83
+ * The `children` will be under the DOM hierarchy of the parent component.
84
+ * @default false
85
+ */
86
+ disablePortal: PropTypes.bool
87
+ } : void 0;
88
+ if (process.env.NODE_ENV !== 'production') {
89
+ // eslint-disable-next-line
90
+ Portal['propTypes' + ''] = exactProp(Portal.propTypes);
91
+ }
92
+ export default Portal;
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ export interface PortalProps {
3
+ /**
4
+ * The children to render into the `container`.
5
+ */
6
+ children?: React.ReactNode;
7
+ /**
8
+ * An HTML element or function that returns one.
9
+ * The `container` will have the portal children appended to it.
10
+ *
11
+ * You can also provide a callback, which is called in a React layout effect.
12
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
13
+ *
14
+ * By default, it uses the body of the top-level document object,
15
+ * so it's simply `document.body` most of the time.
16
+ */
17
+ container?: Element | (() => Element | null) | null;
18
+ /**
19
+ * The `children` will be under the DOM hierarchy of the parent component.
20
+ * @default false
21
+ */
22
+ disablePortal?: boolean;
23
+ }
@@ -0,0 +1 @@
1
+ export {};
package/Portal/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { Portal as default } from '@mui/base/Portal';
2
- export * from '@mui/base/Portal';
1
+ export { default } from './Portal';
2
+ export * from './Portal';
3
+ export * from './Portal.types';
package/Portal/index.js CHANGED
@@ -1 +1 @@
1
- export { Portal as default } from '@mui/base/Portal';
1
+ export { default } from './Portal';
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/base';
3
- import { Mark } from '@mui/base/useSlider';
4
2
  import { SxProps } from '@mui/system';
5
3
  import { OverridableStringUnion } from '@mui/types';
4
+ import { Mark } from './useSlider.types';
5
+ import { SlotComponentProps } from '../utils/types';
6
6
  import { Theme } from '../styles';
7
7
  import { OverrideProps, OverridableComponent } from '../OverridableComponent';
8
8
  import SliderValueLabelComponent from './SliderValueLabel';
package/Slider/Slider.js CHANGED
@@ -4,11 +4,12 @@ import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import chainPropTypes from '@mui/utils/chainPropTypes';
7
- import { isHostComponent, useSlotProps } from '@mui/base/utils';
8
7
  import composeClasses from '@mui/utils/composeClasses';
9
- import { useSlider, valueToPercent } from '@mui/base/useSlider';
10
8
  import { alpha, lighten, darken } from '@mui/system/colorManipulator';
11
9
  import { useRtl } from '@mui/system/RtlProvider';
10
+ import useSlotProps from '@mui/utils/useSlotProps';
11
+ import { useSlider, valueToPercent } from './useSlider';
12
+ import isHostComponent from '../utils/isHostComponent';
12
13
  import { styled } from '../zero-styled';
13
14
  import { useDefaultProps } from '../DefaultPropsProvider';
14
15
  import slotShouldForwardProp from '../styles/slotShouldForwardProp';
@@ -0,0 +1,14 @@
1
+ import { UseSliderParameters, UseSliderReturnValue } from './useSlider.types';
2
+ export declare function valueToPercent(value: number, min: number, max: number): number;
3
+ export declare const Identity: (x: any) => any;
4
+ /**
5
+ *
6
+ * Demos:
7
+ *
8
+ * - [Slider](https://next.mui.com/base-ui/react-slider/#hook)
9
+ *
10
+ * API:
11
+ *
12
+ * - [useSlider API](https://next.mui.com/base-ui/react-slider/hooks-api/#use-slider)
13
+ */
14
+ export declare function useSlider(parameters: UseSliderParameters): UseSliderReturnValue;