paradiego
This commit is contained in:
17
node_modules/@mui/utils/modern/ClassNameGenerator/ClassNameGenerator.js
generated
vendored
Normal file
17
node_modules/@mui/utils/modern/ClassNameGenerator/ClassNameGenerator.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
const defaultGenerator = componentName => componentName;
|
||||
const createClassNameGenerator = () => {
|
||||
let generate = defaultGenerator;
|
||||
return {
|
||||
configure(generator) {
|
||||
generate = generator;
|
||||
},
|
||||
generate(componentName) {
|
||||
return generate(componentName);
|
||||
},
|
||||
reset() {
|
||||
generate = defaultGenerator;
|
||||
}
|
||||
};
|
||||
};
|
||||
const ClassNameGenerator = createClassNameGenerator();
|
||||
export default ClassNameGenerator;
|
||||
1
node_modules/@mui/utils/modern/ClassNameGenerator/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/ClassNameGenerator/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./ClassNameGenerator.js";
|
||||
14
node_modules/@mui/utils/modern/HTMLElementType/HTMLElementType.js
generated
vendored
Normal file
14
node_modules/@mui/utils/modern/HTMLElementType/HTMLElementType.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
export default function HTMLElementType(props, propName, componentName, location, propFullName) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return null;
|
||||
}
|
||||
const propValue = props[propName];
|
||||
const safePropName = propFullName || propName;
|
||||
if (propValue == null) {
|
||||
return null;
|
||||
}
|
||||
if (propValue && propValue.nodeType !== 1) {
|
||||
return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an HTMLElement.`);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/HTMLElementType/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/HTMLElementType/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./HTMLElementType.js";
|
||||
28
node_modules/@mui/utils/modern/appendOwnerState/appendOwnerState.js
generated
vendored
Normal file
28
node_modules/@mui/utils/modern/appendOwnerState/appendOwnerState.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import isHostComponent from "../isHostComponent/index.js";
|
||||
|
||||
/**
|
||||
* Type of the ownerState based on the type of an element it applies to.
|
||||
* This resolves to the provided OwnerState for React components and `undefined` for host components.
|
||||
* Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Appends the ownerState object to the props, merging with the existing one if necessary.
|
||||
*
|
||||
* @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.
|
||||
* @param otherProps Props of the element.
|
||||
* @param ownerState
|
||||
*/
|
||||
function appendOwnerState(elementType, otherProps, ownerState) {
|
||||
if (elementType === undefined || isHostComponent(elementType)) {
|
||||
return otherProps;
|
||||
}
|
||||
return {
|
||||
...otherProps,
|
||||
ownerState: {
|
||||
...otherProps.ownerState,
|
||||
...ownerState
|
||||
}
|
||||
};
|
||||
}
|
||||
export default appendOwnerState;
|
||||
1
node_modules/@mui/utils/modern/appendOwnerState/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/appendOwnerState/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./appendOwnerState.js";
|
||||
11
node_modules/@mui/utils/modern/capitalize/capitalize.js
generated
vendored
Normal file
11
node_modules/@mui/utils/modern/capitalize/capitalize.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import _formatMuiErrorMessage from "@mui/utils/formatMuiErrorMessage";
|
||||
// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.
|
||||
//
|
||||
// A strict capitalization should uppercase the first letter of each word in the sentence.
|
||||
// We only handle the first word.
|
||||
export default function capitalize(string) {
|
||||
if (typeof string !== 'string') {
|
||||
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`capitalize(string)\` expects a string argument.` : _formatMuiErrorMessage(7));
|
||||
}
|
||||
return string.charAt(0).toUpperCase() + string.slice(1);
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/capitalize/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/capitalize/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./capitalize.js";
|
||||
8
node_modules/@mui/utils/modern/chainPropTypes/chainPropTypes.js
generated
vendored
Normal file
8
node_modules/@mui/utils/modern/chainPropTypes/chainPropTypes.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
export default function chainPropTypes(propType1, propType2) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return () => null;
|
||||
}
|
||||
return function validate(...args) {
|
||||
return propType1(...args) || propType2(...args);
|
||||
};
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/chainPropTypes/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/chainPropTypes/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./chainPropTypes.js";
|
||||
4
node_modules/@mui/utils/modern/clamp/clamp.js
generated
vendored
Normal file
4
node_modules/@mui/utils/modern/clamp/clamp.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
|
||||
return Math.max(min, Math.min(val, max));
|
||||
}
|
||||
export default clamp;
|
||||
1
node_modules/@mui/utils/modern/clamp/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/clamp/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./clamp.js";
|
||||
25
node_modules/@mui/utils/modern/composeClasses/composeClasses.js
generated
vendored
Normal file
25
node_modules/@mui/utils/modern/composeClasses/composeClasses.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0
|
||||
---
|
||||
These rules are preventing the performance optimizations below.
|
||||
*/
|
||||
|
||||
export default function composeClasses(slots, getUtilityClass, classes = undefined) {
|
||||
const output = {};
|
||||
for (const slotName in slots) {
|
||||
const slot = slots[slotName];
|
||||
let buffer = '';
|
||||
let start = true;
|
||||
for (let i = 0; i < slot.length; i += 1) {
|
||||
const value = slot[i];
|
||||
if (value) {
|
||||
buffer += (start === true ? '' : ' ') + getUtilityClass(value);
|
||||
start = false;
|
||||
if (classes && classes[value]) {
|
||||
buffer += ' ' + classes[value];
|
||||
}
|
||||
}
|
||||
}
|
||||
output[slotName] = buffer;
|
||||
}
|
||||
return output;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/composeClasses/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/composeClasses/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./composeClasses.js";
|
||||
17
node_modules/@mui/utils/modern/createChainedFunction/createChainedFunction.js
generated
vendored
Normal file
17
node_modules/@mui/utils/modern/createChainedFunction/createChainedFunction.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Safe chained function.
|
||||
*
|
||||
* Will only create a new function if needed,
|
||||
* otherwise will pass back existing functions or null.
|
||||
*/
|
||||
export default function createChainedFunction(...funcs) {
|
||||
return funcs.reduce((acc, func) => {
|
||||
if (func == null) {
|
||||
return acc;
|
||||
}
|
||||
return function chainedFunction(...args) {
|
||||
acc.apply(this, args);
|
||||
func.apply(this, args);
|
||||
};
|
||||
}, () => {});
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/createChainedFunction/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/createChainedFunction/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./createChainedFunction.js";
|
||||
17
node_modules/@mui/utils/modern/debounce/debounce.js
generated
vendored
Normal file
17
node_modules/@mui/utils/modern/debounce/debounce.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
// Corresponds to 10 frames at 60 Hz.
|
||||
// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.
|
||||
export default function debounce(func, wait = 166) {
|
||||
let timeout;
|
||||
function debounced(...args) {
|
||||
const later = () => {
|
||||
// @ts-ignore
|
||||
func.apply(this, args);
|
||||
};
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
}
|
||||
debounced.clear = () => {
|
||||
clearTimeout(timeout);
|
||||
};
|
||||
return debounced;
|
||||
}
|
||||
2
node_modules/@mui/utils/modern/debounce/index.js
generated
vendored
Normal file
2
node_modules/@mui/utils/modern/debounce/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export { default } from "./debounce.js";
|
||||
export * from "./debounce.js";
|
||||
40
node_modules/@mui/utils/modern/deepmerge/deepmerge.js
generated
vendored
Normal file
40
node_modules/@mui/utils/modern/deepmerge/deepmerge.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js
|
||||
export function isPlainObject(item) {
|
||||
if (typeof item !== 'object' || item === null) {
|
||||
return false;
|
||||
}
|
||||
const prototype = Object.getPrototypeOf(item);
|
||||
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);
|
||||
}
|
||||
function deepClone(source) {
|
||||
if (!isPlainObject(source)) {
|
||||
return source;
|
||||
}
|
||||
const output = {};
|
||||
Object.keys(source).forEach(key => {
|
||||
output[key] = deepClone(source[key]);
|
||||
});
|
||||
return output;
|
||||
}
|
||||
export default function deepmerge(target, source, options = {
|
||||
clone: true
|
||||
}) {
|
||||
const output = options.clone ? {
|
||||
...target
|
||||
} : target;
|
||||
if (isPlainObject(target) && isPlainObject(source)) {
|
||||
Object.keys(source).forEach(key => {
|
||||
if (isPlainObject(source[key]) &&
|
||||
// Avoid prototype pollution
|
||||
Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {
|
||||
// Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.
|
||||
output[key] = deepmerge(target[key], source[key], options);
|
||||
} else if (options.clone) {
|
||||
output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];
|
||||
} else {
|
||||
output[key] = source[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
return output;
|
||||
}
|
||||
2
node_modules/@mui/utils/modern/deepmerge/index.js
generated
vendored
Normal file
2
node_modules/@mui/utils/modern/deepmerge/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export { default } from "./deepmerge.js";
|
||||
export * from "./deepmerge.js";
|
||||
13
node_modules/@mui/utils/modern/deprecatedPropType/deprecatedPropType.js
generated
vendored
Normal file
13
node_modules/@mui/utils/modern/deprecatedPropType/deprecatedPropType.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
export default function deprecatedPropType(validator, reason) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return () => null;
|
||||
}
|
||||
return (props, propName, componentName, location, propFullName) => {
|
||||
const componentNameSafe = componentName || '<<anonymous>>';
|
||||
const propFullNameSafe = propFullName || propName;
|
||||
if (typeof props[propName] !== 'undefined') {
|
||||
return new Error(`The ${location} \`${propFullNameSafe}\` of ` + `\`${componentNameSafe}\` is deprecated. ${reason}`);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/deprecatedPropType/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/deprecatedPropType/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./deprecatedPropType.js";
|
||||
42
node_modules/@mui/utils/modern/elementAcceptingRef/elementAcceptingRef.js
generated
vendored
Normal file
42
node_modules/@mui/utils/modern/elementAcceptingRef/elementAcceptingRef.js
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import chainPropTypes from "../chainPropTypes/index.js";
|
||||
function isClassComponent(elementType) {
|
||||
// elementType.prototype?.isReactComponent
|
||||
const {
|
||||
prototype = {}
|
||||
} = elementType;
|
||||
return Boolean(prototype.isReactComponent);
|
||||
}
|
||||
function acceptingRef(props, propName, componentName, location, propFullName) {
|
||||
const element = props[propName];
|
||||
const safePropName = propFullName || propName;
|
||||
if (element == null ||
|
||||
// When server-side rendering React doesn't warn either.
|
||||
// This is not an accurate check for SSR.
|
||||
// This is only in place for Emotion compat.
|
||||
// TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
|
||||
typeof window === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
let warningHint;
|
||||
const elementType = element.type;
|
||||
/**
|
||||
* Blacklisting instead of whitelisting
|
||||
*
|
||||
* Blacklisting will miss some components, such as React.Fragment. Those will at least
|
||||
* trigger a warning in React.
|
||||
* We can't whitelist because there is no safe way to detect React.forwardRef
|
||||
* or class components. "Safe" means there's no public API.
|
||||
*
|
||||
*/
|
||||
if (typeof elementType === 'function' && !isClassComponent(elementType)) {
|
||||
warningHint = 'Did you accidentally use a plain function component for an element instead?';
|
||||
}
|
||||
if (warningHint !== undefined) {
|
||||
return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
const elementAcceptingRef = chainPropTypes(PropTypes.element, acceptingRef);
|
||||
elementAcceptingRef.isRequired = chainPropTypes(PropTypes.element.isRequired, acceptingRef);
|
||||
export default elementAcceptingRef;
|
||||
1
node_modules/@mui/utils/modern/elementAcceptingRef/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/elementAcceptingRef/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./elementAcceptingRef.js";
|
||||
40
node_modules/@mui/utils/modern/elementTypeAcceptingRef/elementTypeAcceptingRef.js
generated
vendored
Normal file
40
node_modules/@mui/utils/modern/elementTypeAcceptingRef/elementTypeAcceptingRef.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import chainPropTypes from "../chainPropTypes/index.js";
|
||||
function isClassComponent(elementType) {
|
||||
// elementType.prototype?.isReactComponent
|
||||
const {
|
||||
prototype = {}
|
||||
} = elementType;
|
||||
return Boolean(prototype.isReactComponent);
|
||||
}
|
||||
function elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {
|
||||
const propValue = props[propName];
|
||||
const safePropName = propFullName || propName;
|
||||
if (propValue == null ||
|
||||
// When server-side rendering React doesn't warn either.
|
||||
// This is not an accurate check for SSR.
|
||||
// This is only in place for emotion compat.
|
||||
// TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
|
||||
typeof window === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
let warningHint;
|
||||
|
||||
/**
|
||||
* Blacklisting instead of whitelisting
|
||||
*
|
||||
* Blacklisting will miss some components, such as React.Fragment. Those will at least
|
||||
* trigger a warning in React.
|
||||
* We can't whitelist because there is no safe way to detect React.forwardRef
|
||||
* or class components. "Safe" means there's no public API.
|
||||
*
|
||||
*/
|
||||
if (typeof propValue === 'function' && !isClassComponent(propValue)) {
|
||||
warningHint = 'Did you accidentally provide a plain function component instead?';
|
||||
}
|
||||
if (warningHint !== undefined) {
|
||||
return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
export default chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);
|
||||
1
node_modules/@mui/utils/modern/elementTypeAcceptingRef/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/elementTypeAcceptingRef/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./elementTypeAcceptingRef.js";
|
||||
20
node_modules/@mui/utils/modern/exactProp/exactProp.js
generated
vendored
Normal file
20
node_modules/@mui/utils/modern/exactProp/exactProp.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
// This module is based on https://github.com/airbnb/prop-types-exact repository.
|
||||
// However, in order to reduce the number of dependencies and to remove some extra safe checks
|
||||
// the module was forked.
|
||||
|
||||
const specialProperty = 'exact-prop: \u200b';
|
||||
export default function exactProp(propTypes) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return propTypes;
|
||||
}
|
||||
return {
|
||||
...propTypes,
|
||||
[specialProperty]: props => {
|
||||
const unsupportedProps = Object.keys(props).filter(prop => !propTypes.hasOwnProperty(prop));
|
||||
if (unsupportedProps.length > 0) {
|
||||
return new Error(`The following props are not supported: ${unsupportedProps.map(prop => `\`${prop}\``).join(', ')}. Please remove them.`);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/exactProp/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/exactProp/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./exactProp.js";
|
||||
18
node_modules/@mui/utils/modern/extractEventHandlers/extractEventHandlers.js
generated
vendored
Normal file
18
node_modules/@mui/utils/modern/extractEventHandlers/extractEventHandlers.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Extracts event handlers from a given object.
|
||||
* A prop is considered an event handler if it is a function and its name starts with `on`.
|
||||
*
|
||||
* @param object An object to extract event handlers from.
|
||||
* @param excludeKeys An array of keys to exclude from the returned object.
|
||||
*/
|
||||
function extractEventHandlers(object, excludeKeys = []) {
|
||||
if (object === undefined) {
|
||||
return {};
|
||||
}
|
||||
const result = {};
|
||||
Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {
|
||||
result[prop] = object[prop];
|
||||
});
|
||||
return result;
|
||||
}
|
||||
export default extractEventHandlers;
|
||||
1
node_modules/@mui/utils/modern/extractEventHandlers/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/extractEventHandlers/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./extractEventHandlers.js";
|
||||
19
node_modules/@mui/utils/modern/formatMuiErrorMessage/formatMuiErrorMessage.js
generated
vendored
Normal file
19
node_modules/@mui/utils/modern/formatMuiErrorMessage/formatMuiErrorMessage.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* WARNING: Don't import this directly.
|
||||
* Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.
|
||||
* @param {number} code
|
||||
*/
|
||||
export default function formatMuiErrorMessage(code) {
|
||||
// Apply babel-plugin-transform-template-literals in loose mode
|
||||
// loose mode is safe if we're concatenating primitives
|
||||
// see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose
|
||||
/* eslint-disable prefer-template */
|
||||
let url = 'https://mui.com/production-error/?code=' + code;
|
||||
for (let i = 1; i < arguments.length; i += 1) {
|
||||
// rest params over-transpile for this case
|
||||
// eslint-disable-next-line prefer-rest-params
|
||||
url += '&args[]=' + encodeURIComponent(arguments[i]);
|
||||
}
|
||||
return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';
|
||||
/* eslint-enable prefer-template */
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/formatMuiErrorMessage/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/formatMuiErrorMessage/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./formatMuiErrorMessage.js";
|
||||
22
node_modules/@mui/utils/modern/generateUtilityClass/generateUtilityClass.js
generated
vendored
Normal file
22
node_modules/@mui/utils/modern/generateUtilityClass/generateUtilityClass.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
import ClassNameGenerator from "../ClassNameGenerator/index.js";
|
||||
export const globalStateClasses = {
|
||||
active: 'active',
|
||||
checked: 'checked',
|
||||
completed: 'completed',
|
||||
disabled: 'disabled',
|
||||
error: 'error',
|
||||
expanded: 'expanded',
|
||||
focused: 'focused',
|
||||
focusVisible: 'focusVisible',
|
||||
open: 'open',
|
||||
readOnly: 'readOnly',
|
||||
required: 'required',
|
||||
selected: 'selected'
|
||||
};
|
||||
export default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {
|
||||
const globalStateClass = globalStateClasses[slot];
|
||||
return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;
|
||||
}
|
||||
export function isGlobalState(slot) {
|
||||
return globalStateClasses[slot] !== undefined;
|
||||
}
|
||||
2
node_modules/@mui/utils/modern/generateUtilityClass/index.js
generated
vendored
Normal file
2
node_modules/@mui/utils/modern/generateUtilityClass/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export { default } from "./generateUtilityClass.js";
|
||||
export * from "./generateUtilityClass.js";
|
||||
8
node_modules/@mui/utils/modern/generateUtilityClasses/generateUtilityClasses.js
generated
vendored
Normal file
8
node_modules/@mui/utils/modern/generateUtilityClasses/generateUtilityClasses.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import generateUtilityClass from "../generateUtilityClass/index.js";
|
||||
export default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {
|
||||
const result = {};
|
||||
slots.forEach(slot => {
|
||||
result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/generateUtilityClasses/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/generateUtilityClasses/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./generateUtilityClasses.js";
|
||||
38
node_modules/@mui/utils/modern/getDisplayName/getDisplayName.js
generated
vendored
Normal file
38
node_modules/@mui/utils/modern/getDisplayName/getDisplayName.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import { ForwardRef, Memo } from 'react-is';
|
||||
function getFunctionComponentName(Component, fallback = '') {
|
||||
return Component.displayName || Component.name || fallback;
|
||||
}
|
||||
function getWrappedName(outerType, innerType, wrapperName) {
|
||||
const functionName = getFunctionComponentName(innerType);
|
||||
return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);
|
||||
}
|
||||
|
||||
/**
|
||||
* cherry-pick from
|
||||
* https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js
|
||||
* originally forked from recompose/getDisplayName
|
||||
*/
|
||||
export default function getDisplayName(Component) {
|
||||
if (Component == null) {
|
||||
return undefined;
|
||||
}
|
||||
if (typeof Component === 'string') {
|
||||
return Component;
|
||||
}
|
||||
if (typeof Component === 'function') {
|
||||
return getFunctionComponentName(Component, 'Component');
|
||||
}
|
||||
|
||||
// TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`
|
||||
if (typeof Component === 'object') {
|
||||
switch (Component.$$typeof) {
|
||||
case ForwardRef:
|
||||
return getWrappedName(Component, Component.render, 'ForwardRef');
|
||||
case Memo:
|
||||
return getWrappedName(Component, Component.type, 'memo');
|
||||
default:
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/getDisplayName/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/getDisplayName/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./getDisplayName.js";
|
||||
21
node_modules/@mui/utils/modern/getReactNodeRef/getReactNodeRef.js
generated
vendored
Normal file
21
node_modules/@mui/utils/modern/getReactNodeRef/getReactNodeRef.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import * as React from 'react';
|
||||
|
||||
/**
|
||||
* Returns the ref of a React node handling differences between React 19 and older versions.
|
||||
* It will return null if the node is not a valid React element.
|
||||
*
|
||||
* @param element React.ReactNode
|
||||
* @returns React.Ref<any> | null
|
||||
*/
|
||||
export default function getReactNodeRef(element) {
|
||||
if (!element || ! /*#__PURE__*/React.isValidElement(element)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions
|
||||
return element.props.propertyIsEnumerable('ref') ? element.props.ref :
|
||||
// @ts-expect-error element.ref is not included in the ReactElement type
|
||||
// We cannot check for it, but isValidElement is true at this point
|
||||
// https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189
|
||||
element.ref;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/getReactNodeRef/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/getReactNodeRef/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./getReactNodeRef.js";
|
||||
7
node_modules/@mui/utils/modern/getScrollbarSize/getScrollbarSize.js
generated
vendored
Normal file
7
node_modules/@mui/utils/modern/getScrollbarSize/getScrollbarSize.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
// A change of the browser zoom change the scrollbar size.
|
||||
// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18
|
||||
export default function getScrollbarSize(doc) {
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
|
||||
const documentWidth = doc.documentElement.clientWidth;
|
||||
return Math.abs(window.innerWidth - documentWidth);
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/getScrollbarSize/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/getScrollbarSize/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./getScrollbarSize.js";
|
||||
11
node_modules/@mui/utils/modern/getValidReactChildren/getValidReactChildren.js
generated
vendored
Normal file
11
node_modules/@mui/utils/modern/getValidReactChildren/getValidReactChildren.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import * as React from 'react';
|
||||
|
||||
/**
|
||||
* Gets only the valid children of a component,
|
||||
* and ignores any nullish or falsy child.
|
||||
*
|
||||
* @param children the children
|
||||
*/
|
||||
export default function getValidReactChildren(children) {
|
||||
return React.Children.toArray(children).filter(child => /*#__PURE__*/React.isValidElement(child));
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/getValidReactChildren/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/getValidReactChildren/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./getValidReactChildren.js";
|
||||
55
node_modules/@mui/utils/modern/index.js
generated
vendored
Normal file
55
node_modules/@mui/utils/modern/index.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* @mui/utils v6.1.0
|
||||
*
|
||||
* @license MIT
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
export { default as chainPropTypes } from "./chainPropTypes/index.js";
|
||||
export { default as deepmerge } from "./deepmerge/index.js";
|
||||
export { isPlainObject } from "./deepmerge/index.js";
|
||||
export { default as elementAcceptingRef } from "./elementAcceptingRef/index.js";
|
||||
export { default as elementTypeAcceptingRef } from "./elementTypeAcceptingRef/index.js";
|
||||
export { default as exactProp } from "./exactProp/index.js";
|
||||
export { default as formatMuiErrorMessage } from "./formatMuiErrorMessage/index.js";
|
||||
export { default as getDisplayName } from "./getDisplayName/index.js";
|
||||
export { default as HTMLElementType } from "./HTMLElementType/index.js";
|
||||
export { default as ponyfillGlobal } from "./ponyfillGlobal/index.js";
|
||||
export { default as refType } from "./refType/index.js";
|
||||
export { default as unstable_capitalize } from "./capitalize/index.js";
|
||||
export { default as unstable_createChainedFunction } from "./createChainedFunction/index.js";
|
||||
export { default as unstable_debounce } from "./debounce/index.js";
|
||||
export { default as unstable_deprecatedPropType } from "./deprecatedPropType/index.js";
|
||||
export { default as unstable_isMuiElement } from "./isMuiElement/index.js";
|
||||
export { default as unstable_ownerDocument } from "./ownerDocument/index.js";
|
||||
export { default as unstable_ownerWindow } from "./ownerWindow/index.js";
|
||||
export { default as unstable_requirePropFactory } from "./requirePropFactory/index.js";
|
||||
export { default as unstable_setRef } from "./setRef/index.js";
|
||||
export { default as unstable_useEnhancedEffect } from "./useEnhancedEffect/index.js";
|
||||
export { default as unstable_useId } from "./useId/index.js";
|
||||
export { default as unstable_unsupportedProp } from "./unsupportedProp/index.js";
|
||||
export { default as unstable_useControlled } from "./useControlled/index.js";
|
||||
export { default as unstable_useEventCallback } from "./useEventCallback/index.js";
|
||||
export { default as unstable_useForkRef } from "./useForkRef/index.js";
|
||||
export { default as unstable_useLazyRef } from "./useLazyRef/index.js";
|
||||
export { default as unstable_useTimeout, Timeout as unstable_Timeout } from "./useTimeout/index.js";
|
||||
export { default as unstable_useOnMount } from "./useOnMount/index.js";
|
||||
export { default as unstable_isFocusVisible } from "./isFocusVisible/index.js";
|
||||
export { default as unstable_getScrollbarSize } from "./getScrollbarSize/index.js";
|
||||
export { default as usePreviousProps } from "./usePreviousProps/index.js";
|
||||
export { default as getValidReactChildren } from "./getValidReactChildren/index.js";
|
||||
export { default as visuallyHidden } from "./visuallyHidden/index.js";
|
||||
export { default as integerPropType } from "./integerPropType/index.js";
|
||||
export { default as internal_resolveProps } from "./resolveProps/index.js";
|
||||
export { default as unstable_composeClasses } from "./composeClasses/index.js";
|
||||
export { default as unstable_generateUtilityClass } from "./generateUtilityClass/index.js";
|
||||
export { isGlobalState as unstable_isGlobalState } from "./generateUtilityClass/index.js";
|
||||
export * from "./generateUtilityClass/index.js";
|
||||
export { default as unstable_generateUtilityClasses } from "./generateUtilityClasses/index.js";
|
||||
export { default as unstable_ClassNameGenerator } from "./ClassNameGenerator/index.js";
|
||||
export { default as clamp } from "./clamp/index.js";
|
||||
export { default as unstable_useSlotProps } from "./useSlotProps/index.js";
|
||||
export { default as unstable_resolveComponentProps } from "./resolveComponentProps/index.js";
|
||||
export { default as unstable_extractEventHandlers } from "./extractEventHandlers/index.js";
|
||||
export { default as unstable_getReactNodeRef } from "./getReactNodeRef/index.js";
|
||||
export * from "./types.js";
|
||||
2
node_modules/@mui/utils/modern/integerPropType/index.js
generated
vendored
Normal file
2
node_modules/@mui/utils/modern/integerPropType/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export { default } from "./integerPropType.js";
|
||||
export * from "./integerPropType.js";
|
||||
44
node_modules/@mui/utils/modern/integerPropType/integerPropType.js
generated
vendored
Normal file
44
node_modules/@mui/utils/modern/integerPropType/integerPropType.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
export function getTypeByValue(value) {
|
||||
const valueType = typeof value;
|
||||
switch (valueType) {
|
||||
case 'number':
|
||||
if (Number.isNaN(value)) {
|
||||
return 'NaN';
|
||||
}
|
||||
if (!Number.isFinite(value)) {
|
||||
return 'Infinity';
|
||||
}
|
||||
if (value !== Math.floor(value)) {
|
||||
return 'float';
|
||||
}
|
||||
return 'number';
|
||||
case 'object':
|
||||
if (value === null) {
|
||||
return 'null';
|
||||
}
|
||||
return value.constructor.name;
|
||||
default:
|
||||
return valueType;
|
||||
}
|
||||
}
|
||||
function requiredInteger(props, propName, componentName, location) {
|
||||
const propValue = props[propName];
|
||||
if (propValue == null || !Number.isInteger(propValue)) {
|
||||
const propType = getTypeByValue(propValue);
|
||||
return new RangeError(`Invalid ${location} \`${propName}\` of type \`${propType}\` supplied to \`${componentName}\`, expected \`integer\`.`);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function validator(props, propName, ...other) {
|
||||
const propValue = props[propName];
|
||||
if (propValue === undefined) {
|
||||
return null;
|
||||
}
|
||||
return requiredInteger(props, propName, ...other);
|
||||
}
|
||||
function validatorNoop() {
|
||||
return null;
|
||||
}
|
||||
validator.isRequired = requiredInteger;
|
||||
validatorNoop.isRequired = validatorNoop;
|
||||
export default process.env.NODE_ENV === 'production' ? validatorNoop : validator;
|
||||
1
node_modules/@mui/utils/modern/isFocusVisible/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/isFocusVisible/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./isFocusVisible.js";
|
||||
15
node_modules/@mui/utils/modern/isFocusVisible/isFocusVisible.js
generated
vendored
Normal file
15
node_modules/@mui/utils/modern/isFocusVisible/isFocusVisible.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Returns a boolean indicating if the event's target has :focus-visible
|
||||
*/
|
||||
export default function isFocusVisible(element) {
|
||||
try {
|
||||
return element.matches(':focus-visible');
|
||||
} catch (error) {
|
||||
// Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped
|
||||
// Tests that rely on `:focus-visible` will still have to be skipped in jsdom
|
||||
if (process.env.NODE_ENV !== 'production' && !/jsdom/.test(window.navigator.userAgent)) {
|
||||
console.warn(['MUI: The `:focus-visible` pseudo class is not supported in this browser.', 'Some components rely on this feature to work properly.'].join('\n'));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/isHostComponent/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/isHostComponent/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./isHostComponent.js";
|
||||
7
node_modules/@mui/utils/modern/isHostComponent/isHostComponent.js
generated
vendored
Normal file
7
node_modules/@mui/utils/modern/isHostComponent/isHostComponent.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Determines if a given element is a DOM element name (i.e. not a React component).
|
||||
*/
|
||||
function isHostComponent(element) {
|
||||
return typeof element === 'string';
|
||||
}
|
||||
export default isHostComponent;
|
||||
1
node_modules/@mui/utils/modern/isMuiElement/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/isMuiElement/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./isMuiElement.js";
|
||||
8
node_modules/@mui/utils/modern/isMuiElement/isMuiElement.js
generated
vendored
Normal file
8
node_modules/@mui/utils/modern/isMuiElement/isMuiElement.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import * as React from 'react';
|
||||
export default function isMuiElement(element, muiNames) {
|
||||
return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(
|
||||
// For server components `muiName` is avaialble in element.type._payload.value.muiName
|
||||
// relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45
|
||||
// eslint-disable-next-line no-underscore-dangle
|
||||
element.type.muiName ?? element.type?._payload?.value?.muiName) !== -1;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/mergeSlotProps/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/mergeSlotProps/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./mergeSlotProps.js";
|
||||
90
node_modules/@mui/utils/modern/mergeSlotProps/mergeSlotProps.js
generated
vendored
Normal file
90
node_modules/@mui/utils/modern/mergeSlotProps/mergeSlotProps.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
import clsx from 'clsx';
|
||||
import extractEventHandlers from "../extractEventHandlers/index.js";
|
||||
import omitEventHandlers from "../omitEventHandlers/index.js";
|
||||
/**
|
||||
* Merges the slot component internal props (usually coming from a hook)
|
||||
* with the externally provided ones.
|
||||
*
|
||||
* The merge order is (the latter overrides the former):
|
||||
* 1. The internal props (specified as a getter function to work with get*Props hook result)
|
||||
* 2. Additional props (specified internally on a Base UI component)
|
||||
* 3. External props specified on the owner component. These should only be used on a root slot.
|
||||
* 4. External props specified in the `slotProps.*` prop.
|
||||
* 5. The `className` prop - combined from all the above.
|
||||
* @param parameters
|
||||
* @returns
|
||||
*/
|
||||
function mergeSlotProps(parameters) {
|
||||
const {
|
||||
getSlotProps,
|
||||
additionalProps,
|
||||
externalSlotProps,
|
||||
externalForwardedProps,
|
||||
className
|
||||
} = parameters;
|
||||
if (!getSlotProps) {
|
||||
// The simpler case - getSlotProps is not defined, so no internal event handlers are defined,
|
||||
// so we can simply merge all the props without having to worry about extracting event handlers.
|
||||
const joinedClasses = clsx(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);
|
||||
const mergedStyle = {
|
||||
...additionalProps?.style,
|
||||
...externalForwardedProps?.style,
|
||||
...externalSlotProps?.style
|
||||
};
|
||||
const props = {
|
||||
...additionalProps,
|
||||
...externalForwardedProps,
|
||||
...externalSlotProps
|
||||
};
|
||||
if (joinedClasses.length > 0) {
|
||||
props.className = joinedClasses;
|
||||
}
|
||||
if (Object.keys(mergedStyle).length > 0) {
|
||||
props.style = mergedStyle;
|
||||
}
|
||||
return {
|
||||
props,
|
||||
internalRef: undefined
|
||||
};
|
||||
}
|
||||
|
||||
// In this case, getSlotProps is responsible for calling the external event handlers.
|
||||
// We don't need to include them in the merged props because of this.
|
||||
|
||||
const eventHandlers = extractEventHandlers({
|
||||
...externalForwardedProps,
|
||||
...externalSlotProps
|
||||
});
|
||||
const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);
|
||||
const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);
|
||||
const internalSlotProps = getSlotProps(eventHandlers);
|
||||
|
||||
// The order of classes is important here.
|
||||
// Emotion (that we use in libraries consuming Base UI) depends on this order
|
||||
// to properly override style. It requires the most important classes to be last
|
||||
// (see https://github.com/mui/material-ui/pull/33205) for the related discussion.
|
||||
const joinedClasses = clsx(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);
|
||||
const mergedStyle = {
|
||||
...internalSlotProps?.style,
|
||||
...additionalProps?.style,
|
||||
...externalForwardedProps?.style,
|
||||
...externalSlotProps?.style
|
||||
};
|
||||
const props = {
|
||||
...internalSlotProps,
|
||||
...additionalProps,
|
||||
...otherPropsWithoutEventHandlers,
|
||||
...componentsPropsWithoutEventHandlers
|
||||
};
|
||||
if (joinedClasses.length > 0) {
|
||||
props.className = joinedClasses;
|
||||
}
|
||||
if (Object.keys(mergedStyle).length > 0) {
|
||||
props.style = mergedStyle;
|
||||
}
|
||||
return {
|
||||
props,
|
||||
internalRef: internalSlotProps.ref
|
||||
};
|
||||
}
|
||||
export default mergeSlotProps;
|
||||
1
node_modules/@mui/utils/modern/omitEventHandlers/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/omitEventHandlers/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./omitEventHandlers.js";
|
||||
18
node_modules/@mui/utils/modern/omitEventHandlers/omitEventHandlers.js
generated
vendored
Normal file
18
node_modules/@mui/utils/modern/omitEventHandlers/omitEventHandlers.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Removes event handlers from the given object.
|
||||
* A field is considered an event handler if it is a function with a name beginning with `on`.
|
||||
*
|
||||
* @param object Object to remove event handlers from.
|
||||
* @returns Object with event handlers removed.
|
||||
*/
|
||||
function omitEventHandlers(object) {
|
||||
if (object === undefined) {
|
||||
return {};
|
||||
}
|
||||
const result = {};
|
||||
Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {
|
||||
result[prop] = object[prop];
|
||||
});
|
||||
return result;
|
||||
}
|
||||
export default omitEventHandlers;
|
||||
1
node_modules/@mui/utils/modern/ownerDocument/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/ownerDocument/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./ownerDocument.js";
|
||||
3
node_modules/@mui/utils/modern/ownerDocument/ownerDocument.js
generated
vendored
Normal file
3
node_modules/@mui/utils/modern/ownerDocument/ownerDocument.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export default function ownerDocument(node) {
|
||||
return node && node.ownerDocument || document;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/ownerWindow/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/ownerWindow/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./ownerWindow.js";
|
||||
5
node_modules/@mui/utils/modern/ownerWindow/ownerWindow.js
generated
vendored
Normal file
5
node_modules/@mui/utils/modern/ownerWindow/ownerWindow.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import ownerDocument from "../ownerDocument/index.js";
|
||||
export default function ownerWindow(node) {
|
||||
const doc = ownerDocument(node);
|
||||
return doc.defaultView || window;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/ponyfillGlobal/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/ponyfillGlobal/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./ponyfillGlobal.js";
|
||||
3
node_modules/@mui/utils/modern/ponyfillGlobal/ponyfillGlobal.js
generated
vendored
Normal file
3
node_modules/@mui/utils/modern/ponyfillGlobal/ponyfillGlobal.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
/* eslint-disable */
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
export default typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
|
||||
1
node_modules/@mui/utils/modern/refType/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/refType/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./refType.js";
|
||||
3
node_modules/@mui/utils/modern/refType/refType.js
generated
vendored
Normal file
3
node_modules/@mui/utils/modern/refType/refType.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import PropTypes from 'prop-types';
|
||||
const refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);
|
||||
export default refType;
|
||||
1
node_modules/@mui/utils/modern/requirePropFactory/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/requirePropFactory/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./requirePropFactory.js";
|
||||
25
node_modules/@mui/utils/modern/requirePropFactory/requirePropFactory.js
generated
vendored
Normal file
25
node_modules/@mui/utils/modern/requirePropFactory/requirePropFactory.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
export default function requirePropFactory(componentNameInError, Component) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return () => null;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react/forbid-foreign-prop-types
|
||||
const prevPropTypes = Component ? {
|
||||
...Component.propTypes
|
||||
} : null;
|
||||
const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {
|
||||
const propFullNameSafe = propFullName || propName;
|
||||
const defaultTypeChecker = prevPropTypes?.[propFullNameSafe];
|
||||
if (defaultTypeChecker) {
|
||||
const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);
|
||||
if (typeCheckerResult) {
|
||||
return typeCheckerResult;
|
||||
}
|
||||
}
|
||||
if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {
|
||||
return new Error(`The prop \`${propFullNameSafe}\` of ` + `\`${componentNameInError}\` can only be used together with the \`${requiredProp}\` prop.`);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
return requireProp;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/resolveComponentProps/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/resolveComponentProps/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./resolveComponentProps.js";
|
||||
11
node_modules/@mui/utils/modern/resolveComponentProps/resolveComponentProps.js
generated
vendored
Normal file
11
node_modules/@mui/utils/modern/resolveComponentProps/resolveComponentProps.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* If `componentProps` is a function, calls it with the provided `ownerState`.
|
||||
* Otherwise, just returns `componentProps`.
|
||||
*/
|
||||
function resolveComponentProps(componentProps, ownerState, slotState) {
|
||||
if (typeof componentProps === 'function') {
|
||||
return componentProps(ownerState, slotState);
|
||||
}
|
||||
return componentProps;
|
||||
}
|
||||
export default resolveComponentProps;
|
||||
1
node_modules/@mui/utils/modern/resolveProps/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/resolveProps/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./resolveProps.js";
|
||||
43
node_modules/@mui/utils/modern/resolveProps/resolveProps.js
generated
vendored
Normal file
43
node_modules/@mui/utils/modern/resolveProps/resolveProps.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Add keys, values of `defaultProps` that does not exist in `props`
|
||||
* @param defaultProps
|
||||
* @param props
|
||||
* @returns resolved props
|
||||
*/
|
||||
export default function resolveProps(defaultProps, props) {
|
||||
const output = {
|
||||
...props
|
||||
};
|
||||
for (const key in defaultProps) {
|
||||
if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {
|
||||
const propName = key;
|
||||
if (propName === 'components' || propName === 'slots') {
|
||||
output[propName] = {
|
||||
...defaultProps[propName],
|
||||
...output[propName]
|
||||
};
|
||||
} else if (propName === 'componentsProps' || propName === 'slotProps') {
|
||||
const defaultSlotProps = defaultProps[propName];
|
||||
const slotProps = props[propName];
|
||||
if (!slotProps) {
|
||||
output[propName] = defaultSlotProps || {};
|
||||
} else if (!defaultSlotProps) {
|
||||
output[propName] = slotProps;
|
||||
} else {
|
||||
output[propName] = {
|
||||
...slotProps
|
||||
};
|
||||
for (const slotKey in defaultSlotProps) {
|
||||
if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {
|
||||
const slotPropName = slotKey;
|
||||
output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (output[propName] === undefined) {
|
||||
output[propName] = defaultProps[propName];
|
||||
}
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/setRef/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/setRef/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./setRef.js";
|
||||
20
node_modules/@mui/utils/modern/setRef/setRef.js
generated
vendored
Normal file
20
node_modules/@mui/utils/modern/setRef/setRef.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* TODO v5: consider making it private
|
||||
*
|
||||
* passes {value} to {ref}
|
||||
*
|
||||
* WARNING: Be sure to only call this inside a callback that is passed as a ref.
|
||||
* Otherwise, make sure to cleanup the previous {ref} if it changes. See
|
||||
* https://github.com/mui/material-ui/issues/13539
|
||||
*
|
||||
* Useful if you want to expose the ref of an inner component to the public API
|
||||
* while still using it inside the component.
|
||||
* @param ref A ref callback or ref object. If anything falsy, this is a no-op.
|
||||
*/
|
||||
export default function setRef(ref, value) {
|
||||
if (typeof ref === 'function') {
|
||||
ref(value);
|
||||
} else if (ref) {
|
||||
ref.current = value;
|
||||
}
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/types.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/types.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
node_modules/@mui/utils/modern/unsupportedProp/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/unsupportedProp/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./unsupportedProp.js";
|
||||
10
node_modules/@mui/utils/modern/unsupportedProp/unsupportedProp.js
generated
vendored
Normal file
10
node_modules/@mui/utils/modern/unsupportedProp/unsupportedProp.js
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
export default function unsupportedProp(props, propName, componentName, location, propFullName) {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
return null;
|
||||
}
|
||||
const propFullNameSafe = propFullName || propName;
|
||||
if (typeof props[propName] !== 'undefined') {
|
||||
return new Error(`The prop \`${propFullNameSafe}\` is not supported. Please remove it.`);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/useControlled/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useControlled/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useControlled.js";
|
||||
41
node_modules/@mui/utils/modern/useControlled/useControlled.js
generated
vendored
Normal file
41
node_modules/@mui/utils/modern/useControlled/useControlled.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
'use client';
|
||||
|
||||
// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- process.env never changes, dependency arrays are intentionally ignored
|
||||
/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
|
||||
import * as React from 'react';
|
||||
export default function useControlled({
|
||||
controlled,
|
||||
default: defaultProp,
|
||||
name,
|
||||
state = 'value'
|
||||
}) {
|
||||
// isControlled is ignored in the hook dependency lists as it should never change.
|
||||
const {
|
||||
current: isControlled
|
||||
} = React.useRef(controlled !== undefined);
|
||||
const [valueState, setValue] = React.useState(defaultProp);
|
||||
const value = isControlled ? controlled : valueState;
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
React.useEffect(() => {
|
||||
if (isControlled !== (controlled !== undefined)) {
|
||||
console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
|
||||
}
|
||||
}, [state, name, controlled]);
|
||||
const {
|
||||
current: defaultValue
|
||||
} = React.useRef(defaultProp);
|
||||
React.useEffect(() => {
|
||||
// Object.is() is not equivalent to the === operator.
|
||||
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is for more details.
|
||||
if (!isControlled && !Object.is(defaultValue, defaultProp)) {
|
||||
console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\n'));
|
||||
}
|
||||
}, [JSON.stringify(defaultProp)]);
|
||||
}
|
||||
const setValueIfUncontrolled = React.useCallback(newValue => {
|
||||
if (!isControlled) {
|
||||
setValue(newValue);
|
||||
}
|
||||
}, []);
|
||||
return [value, setValueIfUncontrolled];
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/useEnhancedEffect/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useEnhancedEffect/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useEnhancedEffect.js";
|
||||
13
node_modules/@mui/utils/modern/useEnhancedEffect/useEnhancedEffect.js
generated
vendored
Normal file
13
node_modules/@mui/utils/modern/useEnhancedEffect/useEnhancedEffect.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
/**
|
||||
* A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.
|
||||
* This is useful for effects that are only needed for client-side rendering but not for SSR.
|
||||
*
|
||||
* Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
|
||||
* and confirm it doesn't apply to your use-case.
|
||||
*/
|
||||
const useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
||||
export default useEnhancedEffect;
|
||||
1
node_modules/@mui/utils/modern/useEventCallback/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useEventCallback/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useEventCallback.js";
|
||||
20
node_modules/@mui/utils/modern/useEventCallback/useEventCallback.js
generated
vendored
Normal file
20
node_modules/@mui/utils/modern/useEventCallback/useEventCallback.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
import useEnhancedEffect from "../useEnhancedEffect/index.js";
|
||||
|
||||
/**
|
||||
* Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892
|
||||
* See RFC in https://github.com/reactjs/rfcs/pull/220
|
||||
*/
|
||||
|
||||
function useEventCallback(fn) {
|
||||
const ref = React.useRef(fn);
|
||||
useEnhancedEffect(() => {
|
||||
ref.current = fn;
|
||||
});
|
||||
return React.useRef((...args) =>
|
||||
// @ts-expect-error hide `this`
|
||||
(0, ref.current)(...args)).current;
|
||||
}
|
||||
export default useEventCallback;
|
||||
1
node_modules/@mui/utils/modern/useForkRef/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useForkRef/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useForkRef.js";
|
||||
23
node_modules/@mui/utils/modern/useForkRef/useForkRef.js
generated
vendored
Normal file
23
node_modules/@mui/utils/modern/useForkRef/useForkRef.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
import setRef from "../setRef/index.js";
|
||||
export default function useForkRef(...refs) {
|
||||
/**
|
||||
* This will create a new function if the refs passed to this hook change and are all defined.
|
||||
* This means react will call the old forkRef with `null` and the new forkRef
|
||||
* with the ref. Cleanup naturally emerges from this behavior.
|
||||
*/
|
||||
return React.useMemo(() => {
|
||||
if (refs.every(ref => ref == null)) {
|
||||
return null;
|
||||
}
|
||||
return instance => {
|
||||
refs.forEach(ref => {
|
||||
setRef(ref, instance);
|
||||
});
|
||||
};
|
||||
// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, refs);
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/useId/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useId/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useId.js";
|
||||
37
node_modules/@mui/utils/modern/useId/useId.js
generated
vendored
Normal file
37
node_modules/@mui/utils/modern/useId/useId.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
let globalId = 0;
|
||||
function useGlobalId(idOverride) {
|
||||
const [defaultId, setDefaultId] = React.useState(idOverride);
|
||||
const id = idOverride || defaultId;
|
||||
React.useEffect(() => {
|
||||
if (defaultId == null) {
|
||||
// Fallback to this default id when possible.
|
||||
// Use the incrementing value for client-side rendering only.
|
||||
// We can't use it server-side.
|
||||
// If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem
|
||||
globalId += 1;
|
||||
setDefaultId(`mui-${globalId}`);
|
||||
}
|
||||
}, [defaultId]);
|
||||
return id;
|
||||
}
|
||||
|
||||
// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814
|
||||
const maybeReactUseId = React['useId'.toString()];
|
||||
/**
|
||||
*
|
||||
* @example <div id={useId()} />
|
||||
* @param idOverride
|
||||
* @returns {string}
|
||||
*/
|
||||
export default function useId(idOverride) {
|
||||
if (maybeReactUseId !== undefined) {
|
||||
const reactId = maybeReactUseId();
|
||||
return idOverride ?? reactId;
|
||||
}
|
||||
// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler
|
||||
// eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.
|
||||
return useGlobalId(idOverride);
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/useLazyRef/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useLazyRef/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useLazyRef.js";
|
||||
19
node_modules/@mui/utils/modern/useLazyRef/useLazyRef.js
generated
vendored
Normal file
19
node_modules/@mui/utils/modern/useLazyRef/useLazyRef.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
const UNINITIALIZED = {};
|
||||
|
||||
/**
|
||||
* A React.useRef() that is initialized lazily with a function. Note that it accepts an optional
|
||||
* initialization argument, so the initialization function doesn't need to be an inline closure.
|
||||
*
|
||||
* @usage
|
||||
* const ref = useLazyRef(sortColumns, columns)
|
||||
*/
|
||||
export default function useLazyRef(init, initArg) {
|
||||
const ref = React.useRef(UNINITIALIZED);
|
||||
if (ref.current === UNINITIALIZED) {
|
||||
ref.current = init(initArg);
|
||||
}
|
||||
return ref;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/useLocalStorageState/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useLocalStorageState/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useLocalStorageState.js";
|
||||
108
node_modules/@mui/utils/modern/useLocalStorageState/useLocalStorageState.js
generated
vendored
Normal file
108
node_modules/@mui/utils/modern/useLocalStorageState/useLocalStorageState.js
generated
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
// storage events only work across tabs, we'll use an event emitter to announce within the current tab
|
||||
const currentTabChangeListeners = new Map();
|
||||
function onCurrentTabStorageChange(key, handler) {
|
||||
let listeners = currentTabChangeListeners.get(key);
|
||||
if (!listeners) {
|
||||
listeners = new Set();
|
||||
currentTabChangeListeners.set(key, listeners);
|
||||
}
|
||||
listeners.add(handler);
|
||||
}
|
||||
function offCurrentTabStorageChange(key, handler) {
|
||||
const listeners = currentTabChangeListeners.get(key);
|
||||
if (!listeners) {
|
||||
return;
|
||||
}
|
||||
listeners.delete(handler);
|
||||
if (listeners.size === 0) {
|
||||
currentTabChangeListeners.delete(key);
|
||||
}
|
||||
}
|
||||
function emitCurrentTabStorageChange(key) {
|
||||
const listeners = currentTabChangeListeners.get(key);
|
||||
if (listeners) {
|
||||
listeners.forEach(listener => listener());
|
||||
}
|
||||
}
|
||||
function subscribe(area, key, callbark) {
|
||||
if (!key) {
|
||||
return () => {};
|
||||
}
|
||||
const storageHandler = event => {
|
||||
if (event.storageArea === area && event.key === key) {
|
||||
callbark();
|
||||
}
|
||||
};
|
||||
window.addEventListener('storage', storageHandler);
|
||||
onCurrentTabStorageChange(key, callbark);
|
||||
return () => {
|
||||
window.removeEventListener('storage', storageHandler);
|
||||
offCurrentTabStorageChange(key, callbark);
|
||||
};
|
||||
}
|
||||
function getSnapshot(area, key) {
|
||||
if (!key) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return area.getItem(key);
|
||||
} catch {
|
||||
// ignore
|
||||
// See https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#feature-detecting_localstorage
|
||||
return null;
|
||||
}
|
||||
}
|
||||
function setValue(area, key, value) {
|
||||
if (!key) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
if (value === null) {
|
||||
area.removeItem(key);
|
||||
} else {
|
||||
area.setItem(key, String(value));
|
||||
}
|
||||
} catch {
|
||||
// ignore
|
||||
// See https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#feature-detecting_localstorage
|
||||
return;
|
||||
}
|
||||
emitCurrentTabStorageChange(key);
|
||||
}
|
||||
const serverValue = [null, () => {}];
|
||||
function useLocalStorageStateServer() {
|
||||
return serverValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sync state to local storage so that it persists through a page refresh. Usage is
|
||||
* similar to useState except we pass in a storage key so that we can default
|
||||
* to that value on page load instead of the specified initial value.
|
||||
*
|
||||
* Since the storage API isn't available in server-rendering environments, we
|
||||
* return null during SSR and hydration.
|
||||
*/
|
||||
function useLocalStorageStateBrowser(key, initializer = null) {
|
||||
const [initialValue] = React.useState(initializer);
|
||||
const area = window.localStorage;
|
||||
const subscribeKey = React.useCallback(callbark => subscribe(area, key, callbark), [area, key]);
|
||||
const getKeySnapshot = React.useCallback(() => getSnapshot(area, key) ?? initialValue, [area, initialValue, key]);
|
||||
|
||||
// Start with null for the hydration, and then switch to the actual value.
|
||||
const getKeyServerSnapshot = () => null;
|
||||
const storedValue = React.useSyncExternalStore(subscribeKey, getKeySnapshot, getKeyServerSnapshot);
|
||||
const setStoredValue = React.useCallback(value => {
|
||||
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
||||
setValue(area, key, valueToStore);
|
||||
}, [area, key, storedValue]);
|
||||
const [nonStoredValue, setNonStoredValue] = React.useState(initialValue);
|
||||
if (!key) {
|
||||
return [nonStoredValue, setNonStoredValue];
|
||||
}
|
||||
return [storedValue, setStoredValue];
|
||||
}
|
||||
export default typeof window === 'undefined' ? useLocalStorageStateServer : useLocalStorageStateBrowser;
|
||||
1
node_modules/@mui/utils/modern/useOnMount/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useOnMount/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useOnMount.js";
|
||||
14
node_modules/@mui/utils/modern/useOnMount/useOnMount.js
generated
vendored
Normal file
14
node_modules/@mui/utils/modern/useOnMount/useOnMount.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
const EMPTY = [];
|
||||
|
||||
/**
|
||||
* A React.useEffect equivalent that runs once, when the component is mounted.
|
||||
*/
|
||||
export default function useOnMount(fn) {
|
||||
// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array
|
||||
/* eslint-disable react-hooks/exhaustive-deps */
|
||||
React.useEffect(fn, EMPTY);
|
||||
/* eslint-enable react-hooks/exhaustive-deps */
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/usePreviousProps/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/usePreviousProps/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./usePreviousProps.js";
|
||||
11
node_modules/@mui/utils/modern/usePreviousProps/usePreviousProps.js
generated
vendored
Normal file
11
node_modules/@mui/utils/modern/usePreviousProps/usePreviousProps.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
const usePreviousProps = value => {
|
||||
const ref = React.useRef({});
|
||||
React.useEffect(() => {
|
||||
ref.current = value;
|
||||
});
|
||||
return ref.current;
|
||||
};
|
||||
export default usePreviousProps;
|
||||
1
node_modules/@mui/utils/modern/useSlotProps/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/useSlotProps/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./useSlotProps.js";
|
||||
38
node_modules/@mui/utils/modern/useSlotProps/useSlotProps.js
generated
vendored
Normal file
38
node_modules/@mui/utils/modern/useSlotProps/useSlotProps.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use client';
|
||||
|
||||
import useForkRef from "../useForkRef/index.js";
|
||||
import appendOwnerState from "../appendOwnerState/index.js";
|
||||
import mergeSlotProps from "../mergeSlotProps/index.js";
|
||||
import resolveComponentProps from "../resolveComponentProps/index.js";
|
||||
/**
|
||||
* @ignore - do not document.
|
||||
* Builds the props to be passed into the slot of an unstyled component.
|
||||
* It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.
|
||||
* If the slot component is not a host component, it also merges in the `ownerState`.
|
||||
*
|
||||
* @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.
|
||||
*/
|
||||
function useSlotProps(parameters) {
|
||||
const {
|
||||
elementType,
|
||||
externalSlotProps,
|
||||
ownerState,
|
||||
skipResolvingSlotProps = false,
|
||||
...other
|
||||
} = parameters;
|
||||
const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);
|
||||
const {
|
||||
props: mergedProps,
|
||||
internalRef
|
||||
} = mergeSlotProps({
|
||||
...other,
|
||||
externalSlotProps: resolvedComponentsProps
|
||||
});
|
||||
const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref);
|
||||
const props = appendOwnerState(elementType, {
|
||||
...mergedProps,
|
||||
ref
|
||||
}, ownerState);
|
||||
return props;
|
||||
}
|
||||
export default useSlotProps;
|
||||
2
node_modules/@mui/utils/modern/useTimeout/index.js
generated
vendored
Normal file
2
node_modules/@mui/utils/modern/useTimeout/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export { default } from "./useTimeout.js";
|
||||
export { Timeout } from "./useTimeout.js";
|
||||
35
node_modules/@mui/utils/modern/useTimeout/useTimeout.js
generated
vendored
Normal file
35
node_modules/@mui/utils/modern/useTimeout/useTimeout.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
'use client';
|
||||
|
||||
import useLazyRef from "../useLazyRef/useLazyRef.js";
|
||||
import useOnMount from "../useOnMount/useOnMount.js";
|
||||
export class Timeout {
|
||||
static create() {
|
||||
return new Timeout();
|
||||
}
|
||||
currentId = null;
|
||||
|
||||
/**
|
||||
* Executes `fn` after `delay`, clearing any previously scheduled call.
|
||||
*/
|
||||
start(delay, fn) {
|
||||
this.clear();
|
||||
this.currentId = setTimeout(() => {
|
||||
this.currentId = null;
|
||||
fn();
|
||||
}, delay);
|
||||
}
|
||||
clear = () => {
|
||||
if (this.currentId !== null) {
|
||||
clearTimeout(this.currentId);
|
||||
this.currentId = null;
|
||||
}
|
||||
};
|
||||
disposeEffect = () => {
|
||||
return this.clear;
|
||||
};
|
||||
}
|
||||
export default function useTimeout() {
|
||||
const timeout = useLazyRef(Timeout.create).current;
|
||||
useOnMount(timeout.disposeEffect);
|
||||
return timeout;
|
||||
}
|
||||
1
node_modules/@mui/utils/modern/visuallyHidden/index.js
generated
vendored
Normal file
1
node_modules/@mui/utils/modern/visuallyHidden/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { default } from "./visuallyHidden.js";
|
||||
12
node_modules/@mui/utils/modern/visuallyHidden/visuallyHidden.js
generated
vendored
Normal file
12
node_modules/@mui/utils/modern/visuallyHidden/visuallyHidden.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
const visuallyHidden = {
|
||||
border: 0,
|
||||
clip: 'rect(0 0 0 0)',
|
||||
height: '1px',
|
||||
margin: '-1px',
|
||||
overflow: 'hidden',
|
||||
padding: 0,
|
||||
position: 'absolute',
|
||||
whiteSpace: 'nowrap',
|
||||
width: '1px'
|
||||
};
|
||||
export default visuallyHidden;
|
||||
Reference in New Issue
Block a user