{"version":3,"file":"mui_utils-BWDDcjxv.js","sources":["../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/capitalize/capitalize.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/clamp/clamp.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/refType/refType.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/debounce/debounce.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/setRef/setRef.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useId/useId.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useControlled/useControlled.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useOnMount/useOnMount.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useTimeout/useTimeout.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/visuallyHidden/visuallyHidden.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js","../../node_modules/.pnpm/@mui+utils@6.4.0_@types+react@18.3.12_react@18.3.1/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js"],"sourcesContent":["/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code, ...args) {\n const url = new URL(`https://mui.com/production-error/?code=${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}","import * as React from 'react';\n\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (/*#__PURE__*/React.isValidElement(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\n\n/**\n * Merge objects deeply.\n * It will shallow copy React elements.\n *\n * If `options.clone` is set to `false` the source object will be merged directly into the target object.\n *\n * @example\n * ```ts\n * deepmerge({ a: { b: 1 }, d: 2 }, { a: { c: 2 }, d: 4 });\n * // => { a: { b: 1, c: 2 }, d: 4 }\n * ````\n *\n * @param target The target object.\n * @param source The source object.\n * @param options The merge options.\n * @param options.clone Set to `false` to merge the source object directly into the target object.\n * @returns The merged object.\n */\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? {\n ...target\n } : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (/*#__PURE__*/React.isValidElement(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `capitalize(string)` expects a string argument.' : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import ClassNameGenerator from \"../ClassNameGenerator/index.js\";\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from \"../generateUtilityClass/index.js\";\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param defaultProps\n * @param props\n * @returns resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = {\n ...props\n };\n for (const key in defaultProps) {\n if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {\n const propName = key;\n if (propName === 'components' || propName === 'slots') {\n output[propName] = {\n ...defaultProps[propName],\n ...output[propName]\n };\n } else if (propName === 'componentsProps' || propName === 'slotProps') {\n const defaultSlotProps = defaultProps[propName];\n const slotProps = props[propName];\n if (!slotProps) {\n output[propName] = defaultSlotProps || {};\n } else if (!defaultSlotProps) {\n output[propName] = slotProps;\n } else {\n output[propName] = {\n ...slotProps\n };\n for (const slotKey in defaultSlotProps) {\n if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {\n const slotPropName = slotKey;\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n }\n }\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n }\n }\n return output;\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","import PropTypes from 'prop-types';\nconst refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(\n // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n element.type.muiName ?? element.type?._payload?.value?.muiName) !== -1;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from \"../ownerDocument/index.js\";\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","'use client';\n\n// 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\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n 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'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n // Object.is() is not equivalent to the === operator.\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is for more details.\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n 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'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from \"../useEnhancedEffect/index.js\";\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from \"../setRef/index.js\";\n\n/**\n * Takes an array of refs and returns a new ref which will apply any modification to all of the refs.\n * This is useful when you want to have the ref used in multiple places.\n *\n * ```tsx\n * const rootRef = React.useRef(null);\n * const refFork = useForkRef(rootRef, props.ref);\n *\n * return (\n * \n * );\n * ```\n *\n * @param {Array | undefined>} refs The ref array.\n * @returns {React.RefCallback | null} The new ref callback.\n */\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // 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\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n // 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\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from \"../useLazyRef/useLazyRef.js\";\nimport useOnMount from \"../useOnMount/useOnMount.js\";\nexport class Timeout {\n static create() {\n return new Timeout();\n }\n currentId = null;\n\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n disposeEffect = () => {\n return this.clear;\n };\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","/**\n * Returns a boolean indicating if the event's target has :focus-visible\n */\nexport default function isFocusVisible(element) {\n try {\n return element.matches(':focus-visible');\n } catch (error) {\n // Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped\n // Tests that rely on `:focus-visible` will still have to be skipped in jsdom\n if (process.env.NODE_ENV !== 'production' && !/jsdom/.test(window.navigator.userAgent)) {\n 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'));\n }\n }\n return false;\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(win = window) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = win.document.documentElement.clientWidth;\n return win.innerWidth - documentWidth;\n}","'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;","const visuallyHidden = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n};\nexport default visuallyHidden;","/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\n/**\n * Compose classes from multiple sources.\n *\n * @example\n * ```tsx\n * const slots = {\n * root: ['root', 'primary'],\n * label: ['label'],\n * };\n *\n * const getUtilityClass = (slot) => `MuiButton-${slot}`;\n *\n * const classes = {\n * root: 'my-root-class',\n * };\n *\n * const output = composeClasses(slots, getUtilityClass, classes);\n * // {\n * // root: 'MuiButton-root MuiButton-primary my-root-class',\n * // label: 'MuiButton-label',\n * // }\n * ```\n *\n * @param slots a list of classes for each possible slot\n * @param getUtilityClass a function to resolve the class based on the slot name\n * @param classes the input classes from props\n * @returns the resolved classes for all slots\n */\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;","import isHostComponent from \"../isHostComponent/index.js\";\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return {\n ...otherProps,\n ownerState: {\n ...otherProps.ownerState,\n ...ownerState\n }\n };\n}\nexport default appendOwnerState;","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;","import clsx from 'clsx';\nimport extractEventHandlers from \"../extractEventHandlers/index.js\";\nimport omitEventHandlers from \"../omitEventHandlers/index.js\";\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...additionalProps,\n ...externalForwardedProps,\n ...externalSlotProps\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers({\n ...externalForwardedProps,\n ...externalSlotProps\n });\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...internalSlotProps?.style,\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...internalSlotProps,\n ...additionalProps,\n ...otherPropsWithoutEventHandlers,\n ...componentsPropsWithoutEventHandlers\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;","'use client';\n\nimport useForkRef from \"../useForkRef/index.js\";\nimport appendOwnerState from \"../appendOwnerState/index.js\";\nimport mergeSlotProps from \"../mergeSlotProps/index.js\";\nimport resolveComponentProps from \"../resolveComponentProps/index.js\";\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nfunction useSlotProps(parameters) {\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false,\n ...other\n } = parameters;\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps({\n ...other,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref);\n const props = appendOwnerState(elementType, {\n ...mergedProps,\n ref\n }, ownerState);\n return props;\n}\nexport default useSlotProps;","import * as React from 'react';\n\n/**\n * Returns the ref of a React element handling differences between React 19 and older versions.\n * It will throw runtime error if the element is not a valid React element.\n *\n * @param element React.ReactElement\n * @returns React.Ref | null\n */\nexport default function getReactElementRef(element) {\n // 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions\n if (parseInt(React.version, 10) >= 19) {\n return element?.props?.ref || null;\n }\n // @ts-expect-error element.ref is not included in the ReactElement type\n // https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189\n return element?.ref || null;\n}"],"names":["formatMuiErrorMessage","code","args","url","arg","isPlainObject","item","prototype","deepClone","source","React.isValidElement","output","key","deepmerge","target","options","capitalize","string","_formatMuiErrorMessage","defaultGenerator","componentName","createClassNameGenerator","generate","generator","ClassNameGenerator","globalStateClasses","generateUtilityClass","slot","globalStatePrefix","globalStateClass","generateUtilityClasses","slots","result","resolveProps","defaultProps","props","propName","defaultSlotProps","slotProps","slotKey","slotPropName","useEnhancedEffect","React.useLayoutEffect","React.useEffect","clamp","val","min","max","refType","PropTypes","createChainedFunction","funcs","acc","func","debounce","wait","timeout","debounced","later","isMuiElement","element","muiNames","_c","_b","_a","ownerDocument","node","ownerWindow","setRef","ref","value","globalId","useGlobalId","idOverride","defaultId","setDefaultId","React.useState","id","safeReact","React","maybeReactUseId","useId","reactId","useControlled","controlled","defaultProp","name","state","isControlled","React.useRef","valueState","setValue","setValueIfUncontrolled","React.useCallback","newValue","useEventCallback","fn","useForkRef","refs","React.useMemo","instance","UNINITIALIZED","useLazyRef","init","initArg","EMPTY","useOnMount","Timeout","__publicField","delay","useTimeout","isFocusVisible","getScrollbarSize","win","documentWidth","usePreviousProps","visuallyHidden","composeClasses","getUtilityClass","classes","slotName","buffer","start","i","isHostComponent","appendOwnerState","elementType","otherProps","ownerState","extractEventHandlers","object","excludeKeys","prop","omitEventHandlers","mergeSlotProps","parameters","getSlotProps","additionalProps","externalSlotProps","externalForwardedProps","className","joinedClasses","clsx","mergedStyle","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","resolveComponentProps","componentProps","slotState","useSlotProps","skipResolvingSlotProps","other","resolvedComponentsProps","mergedProps","internalRef","getReactElementRef","React.version"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]}