1 line
30 KiB
JSON
1 line
30 KiB
JSON
{"ast":null,"code":"'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, {\n direction\n }) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","isFragment","PropTypes","ownerDocument","List","getScrollbarSize","useForkRef","useEnhancedEffect","jsx","_jsx","nextItem","list","item","disableListWrap","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","undefined","text","innerText","textContent","trim","toLowerCase","length","repeating","keys","indexOf","join","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","disabled","getAttribute","hasAttribute","focus","MenuList","forwardRef","props","ref","actions","autoFocus","autoFocusItem","children","className","onKeyDown","variant","other","listRef","useRef","textCriteriaRef","previousKeyMatched","lastTime","current","useImperativeHandle","adjustStyleForScrollbar","containerElement","direction","noExplicitWidth","style","width","clientHeight","scrollbarSize","handleKeyDown","event","key","activeElement","preventDefault","criteria","lowerKey","currTime","performance","now","push","keepFocusOnCurrent","handleRef","activeItemIndex","Children","forEach","child","index","isValidElement","process","env","NODE_ENV","console","error","selected","muiSkipListHighlight","type","items","map","newChildProps","tabIndex","cloneElement","role","propTypes","bool","node","string","func","oneOf"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@mui/material/MenuList/MenuList.js"],"sourcesContent":["'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, {\n direction\n }) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |