Your IP : 216.73.217.77


Current Path : /home/users/unlimited/www/ondemand.codeskitter.site/build/static/js/
Upload File :
Current File : /home/users/unlimited/www/ondemand.codeskitter.site/build/static/js/154.e8ae717c.chunk.js.map

{"version":3,"file":"static/js/154.e8ae717c.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Tab/tabClasses.js","../node_modules/@mui/material/Tab/Tab.js","../node_modules/@mui/utils/esm/scrollLeft/scrollLeft.js","../node_modules/@mui/material/internal/animate.js","../node_modules/@mui/material/Tabs/ScrollbarSize.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js","../node_modules/@mui/material/TabScrollButton/TabScrollButton.js","../node_modules/@mui/material/Tabs/tabsClasses.js","../node_modules/@mui/material/Tabs/Tabs.js"],"sourcesContent":["import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n  return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);\nexport default tabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"iconPosition\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport tabClasses, { getTabUtilityClass } from './tabClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    textColor,\n    fullWidth,\n    wrapped,\n    icon,\n    label,\n    selected,\n    disabled\n  } = ownerState;\n  const slots = {\n    root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n    iconWrapper: ['iconWrapper']\n  };\n  return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n  name: 'MuiTab',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped, {\n      [`& .${tabClasses.iconWrapper}`]: styles.iconWrapper\n    }];\n  }\n})(({\n  theme,\n  ownerState\n}) => _extends({}, theme.typography.button, {\n  maxWidth: 360,\n  minWidth: 90,\n  position: 'relative',\n  minHeight: 48,\n  flexShrink: 0,\n  padding: '12px 16px',\n  overflow: 'hidden',\n  whiteSpace: 'normal',\n  textAlign: 'center'\n}, ownerState.label && {\n  flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'\n}, {\n  lineHeight: 1.25\n}, ownerState.icon && ownerState.label && {\n  minHeight: 72,\n  paddingTop: 9,\n  paddingBottom: 9,\n  [`& > .${tabClasses.iconWrapper}`]: _extends({}, ownerState.iconPosition === 'top' && {\n    marginBottom: 6\n  }, ownerState.iconPosition === 'bottom' && {\n    marginTop: 6\n  }, ownerState.iconPosition === 'start' && {\n    marginRight: theme.spacing(1)\n  }, ownerState.iconPosition === 'end' && {\n    marginLeft: theme.spacing(1)\n  })\n}, ownerState.textColor === 'inherit' && {\n  color: 'inherit',\n  opacity: 0.6,\n  // same opacity as theme.palette.text.secondary\n  [`&.${tabClasses.selected}`]: {\n    opacity: 1\n  },\n  [`&.${tabClasses.disabled}`]: {\n    opacity: (theme.vars || theme).palette.action.disabledOpacity\n  }\n}, ownerState.textColor === 'primary' && {\n  color: (theme.vars || theme).palette.text.secondary,\n  [`&.${tabClasses.selected}`]: {\n    color: (theme.vars || theme).palette.primary.main\n  },\n  [`&.${tabClasses.disabled}`]: {\n    color: (theme.vars || theme).palette.text.disabled\n  }\n}, ownerState.textColor === 'secondary' && {\n  color: (theme.vars || theme).palette.text.secondary,\n  [`&.${tabClasses.selected}`]: {\n    color: (theme.vars || theme).palette.secondary.main\n  },\n  [`&.${tabClasses.disabled}`]: {\n    color: (theme.vars || theme).palette.text.disabled\n  }\n}, ownerState.fullWidth && {\n  flexShrink: 1,\n  flexGrow: 1,\n  flexBasis: 0,\n  maxWidth: 'none'\n}, ownerState.wrapped && {\n  fontSize: theme.typography.pxToRem(12)\n}));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n  const props = useDefaultProps({\n    props: inProps,\n    name: 'MuiTab'\n  });\n  const {\n      className,\n      disabled = false,\n      disableFocusRipple = false,\n      // eslint-disable-next-line react/prop-types\n      fullWidth,\n      icon: iconProp,\n      iconPosition = 'top',\n      // eslint-disable-next-line react/prop-types\n      indicator,\n      label,\n      onChange,\n      onClick,\n      onFocus,\n      // eslint-disable-next-line react/prop-types\n      selected,\n      // eslint-disable-next-line react/prop-types\n      selectionFollowsFocus,\n      // eslint-disable-next-line react/prop-types\n      textColor = 'inherit',\n      value,\n      wrapped = false\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const ownerState = _extends({}, props, {\n    disabled,\n    disableFocusRipple,\n    selected,\n    icon: !!iconProp,\n    iconPosition,\n    label: !!label,\n    fullWidth,\n    textColor,\n    wrapped\n  });\n  const classes = useUtilityClasses(ownerState);\n  const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n    className: clsx(classes.iconWrapper, iconProp.props.className)\n  }) : iconProp;\n  const handleClick = event => {\n    if (!selected && onChange) {\n      onChange(event, value);\n    }\n    if (onClick) {\n      onClick(event);\n    }\n  };\n  const handleFocus = event => {\n    if (selectionFollowsFocus && !selected && onChange) {\n      onChange(event, value);\n    }\n    if (onFocus) {\n      onFocus(event);\n    }\n  };\n  return /*#__PURE__*/_jsxs(TabRoot, _extends({\n    focusRipple: !disableFocusRipple,\n    className: clsx(classes.root, className),\n    ref: ref,\n    role: \"tab\",\n    \"aria-selected\": selected,\n    disabled: disabled,\n    onClick: handleClick,\n    onFocus: handleFocus,\n    ownerState: ownerState,\n    tabIndex: selected ? 0 : -1\n  }, other, {\n    children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n      children: [icon, label]\n    }) : /*#__PURE__*/_jsxs(React.Fragment, {\n      children: [label, icon]\n    }), indicator]\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.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   * This prop isn't supported.\n   * Use the `component` prop if you need to change the children structure.\n   */\n  children: unsupportedProp,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * If `true`, the component is disabled.\n   * @default false\n   */\n  disabled: PropTypes.bool,\n  /**\n   * If `true`, the  keyboard focus ripple is disabled.\n   * @default false\n   */\n  disableFocusRipple: PropTypes.bool,\n  /**\n   * If `true`, the ripple effect is disabled.\n   *\n   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n   * @default false\n   */\n  disableRipple: PropTypes.bool,\n  /**\n   * The icon to display.\n   */\n  icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n  /**\n   * The position of the icon relative to the label.\n   * @default 'top'\n   */\n  iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n  /**\n   * The label element.\n   */\n  label: PropTypes.node,\n  /**\n   * @ignore\n   */\n  onChange: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onClick: PropTypes.func,\n  /**\n   * @ignore\n   */\n  onFocus: PropTypes.func,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * You can provide your own value. Otherwise, we fallback to the child position index.\n   */\n  value: PropTypes.any,\n  /**\n   * Tab labels appear in a single row.\n   * They can use a second line if needed.\n   * @default false\n   */\n  wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type             | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default          | 0            | 100           | 100\n * negative (spec*) | -100         | 0             | 0\n * reverse          | 100          | 0             | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n  if (cachedType) {\n    return cachedType;\n  }\n  const dummy = document.createElement('div');\n  const container = document.createElement('div');\n  container.style.width = '10px';\n  container.style.height = '1px';\n  dummy.appendChild(container);\n  dummy.dir = 'rtl';\n  dummy.style.fontSize = '14px';\n  dummy.style.width = '4px';\n  dummy.style.height = '1px';\n  dummy.style.position = 'absolute';\n  dummy.style.top = '-1000px';\n  dummy.style.overflow = 'scroll';\n  document.body.appendChild(dummy);\n  cachedType = 'reverse';\n  if (dummy.scrollLeft > 0) {\n    cachedType = 'default';\n  } else {\n    dummy.scrollLeft = 1;\n    if (dummy.scrollLeft === 0) {\n      cachedType = 'negative';\n    }\n  }\n  document.body.removeChild(dummy);\n  return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n  const scrollLeft = element.scrollLeft;\n\n  // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n  if (direction !== 'rtl') {\n    return scrollLeft;\n  }\n  const type = detectScrollType();\n  switch (type) {\n    case 'negative':\n      return element.scrollWidth - element.clientWidth + scrollLeft;\n    case 'reverse':\n      return element.scrollWidth - element.clientWidth - scrollLeft;\n    default:\n      return scrollLeft;\n  }\n}","function easeInOutSin(time) {\n  return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n  const {\n    ease = easeInOutSin,\n    duration = 300 // standard\n  } = options;\n  let start = null;\n  const from = element[property];\n  let cancelled = false;\n  const cancel = () => {\n    cancelled = true;\n  };\n  const step = timestamp => {\n    if (cancelled) {\n      cb(new Error('Animation cancelled'));\n      return;\n    }\n    if (start === null) {\n      start = timestamp;\n    }\n    const time = Math.min(1, (timestamp - start) / duration);\n    element[property] = ease(time) * (to - from) + from;\n    if (time >= 1) {\n      requestAnimationFrame(() => {\n        cb(null);\n      });\n      return;\n    }\n    requestAnimationFrame(step);\n  };\n  if (from === to) {\n    cb(new Error('Element already at target position'));\n    return cancel;\n  }\n  requestAnimationFrame(step);\n  return cancel;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n  width: 99,\n  height: 99,\n  position: 'absolute',\n  top: -9999,\n  overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n  const {\n      onChange\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const scrollbarHeight = React.useRef();\n  const nodeRef = React.useRef(null);\n  const setMeasurements = () => {\n    scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n  };\n  useEnhancedEffect(() => {\n    const handleResize = debounce(() => {\n      const prevHeight = scrollbarHeight.current;\n      setMeasurements();\n      if (prevHeight !== scrollbarHeight.current) {\n        onChange(scrollbarHeight.current);\n      }\n    });\n    const containerWindow = ownerWindow(nodeRef.current);\n    containerWindow.addEventListener('resize', handleResize);\n    return () => {\n      handleResize.clear();\n      containerWindow.removeEventListener('resize', handleResize);\n    };\n  }, [onChange]);\n  React.useEffect(() => {\n    setMeasurements();\n    onChange(scrollbarHeight.current);\n  }, [onChange]);\n  return /*#__PURE__*/_jsx(\"div\", _extends({\n    style: styles\n  }, other, {\n    ref: nodeRef\n  }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n  onChange: PropTypes.func.isRequired\n} : void 0;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n  d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n  d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n  return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"slots\", \"slotProps\", \"direction\", \"orientation\", \"disabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport ButtonBase from '../ButtonBase';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    orientation,\n    disabled\n  } = ownerState;\n  const slots = {\n    root: ['root', orientation, disabled && 'disabled']\n  };\n  return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n  name: 'MuiTabScrollButton',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n  }\n})(({\n  ownerState\n}) => _extends({\n  width: 40,\n  flexShrink: 0,\n  opacity: 0.8,\n  [`&.${tabScrollButtonClasses.disabled}`]: {\n    opacity: 0\n  }\n}, ownerState.orientation === 'vertical' && {\n  width: '100%',\n  height: 40,\n  '& svg': {\n    transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`\n  }\n}));\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n  var _slots$StartScrollBut, _slots$EndScrollButto;\n  const props = useDefaultProps({\n    props: inProps,\n    name: 'MuiTabScrollButton'\n  });\n  const {\n      className,\n      slots = {},\n      slotProps = {},\n      direction\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const isRtl = useRtl();\n  const ownerState = _extends({\n    isRtl\n  }, props);\n  const classes = useUtilityClasses(ownerState);\n  const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : KeyboardArrowLeft;\n  const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : KeyboardArrowRight;\n  const startButtonIconProps = useSlotProps({\n    elementType: StartButtonIcon,\n    externalSlotProps: slotProps.startScrollButtonIcon,\n    additionalProps: {\n      fontSize: 'small'\n    },\n    ownerState\n  });\n  const endButtonIconProps = useSlotProps({\n    elementType: EndButtonIcon,\n    externalSlotProps: slotProps.endScrollButtonIcon,\n    additionalProps: {\n      fontSize: 'small'\n    },\n    ownerState\n  });\n  return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({\n    component: \"div\",\n    className: clsx(classes.root, className),\n    ref: ref,\n    role: null,\n    ownerState: ownerState,\n    tabIndex: null\n  }, other, {\n    children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.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   * The content of the component.\n   */\n  children: PropTypes.node,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The direction the button should indicate.\n   */\n  direction: PropTypes.oneOf(['left', 'right']).isRequired,\n  /**\n   * If `true`, the component is disabled.\n   * @default false\n   */\n  disabled: PropTypes.bool,\n  /**\n   * The component orientation (layout flow direction).\n   */\n  orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n  /**\n   * The extra props for the slot components.\n   * You can override the existing props or add new ones.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n  }),\n  /**\n   * The components used for each slot inside.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    EndScrollButtonIcon: PropTypes.elementType,\n    StartScrollButtonIcon: PropTypes.elementType\n  }),\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n  return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"className\", \"component\", \"allowScrollButtonsMobile\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"slots\", \"slotProps\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\", \"visibleScrollbar\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport debounce from '../utils/debounce';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport tabsClasses, { getTabsUtilityClass } from './tabsClasses';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n  if (list === item) {\n    return list.firstChild;\n  }\n  if (item && item.nextElementSibling) {\n    return item.nextElementSibling;\n  }\n  return list.firstChild;\n};\nconst previousItem = (list, item) => {\n  if (list === item) {\n    return list.lastChild;\n  }\n  if (item && item.previousElementSibling) {\n    return item.previousElementSibling;\n  }\n  return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n  let wrappedOnce = false;\n  let nextFocus = traversalFunction(list, currentFocus);\n  while (nextFocus) {\n    // Prevent infinite loop.\n    if (nextFocus === list.firstChild) {\n      if (wrappedOnce) {\n        return;\n      }\n      wrappedOnce = true;\n    }\n\n    // Same logic as useAutocomplete.js\n    const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n    if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n      // Move to the next element.\n      nextFocus = traversalFunction(list, nextFocus);\n    } else {\n      nextFocus.focus();\n      return;\n    }\n  }\n};\nconst useUtilityClasses = ownerState => {\n  const {\n    vertical,\n    fixed,\n    hideScrollbar,\n    scrollableX,\n    scrollableY,\n    centered,\n    scrollButtonsHideMobile,\n    classes\n  } = ownerState;\n  const slots = {\n    root: ['root', vertical && 'vertical'],\n    scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n    flexContainer: ['flexContainer', vertical && 'flexContainerVertical', centered && 'centered'],\n    indicator: ['indicator'],\n    scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n    scrollableX: [scrollableX && 'scrollableX'],\n    hideScrollbar: [hideScrollbar && 'hideScrollbar']\n  };\n  return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n  name: 'MuiTabs',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [{\n      [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n    }, {\n      [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n    }, styles.root, ownerState.vertical && styles.vertical];\n  }\n})(({\n  ownerState,\n  theme\n}) => _extends({\n  overflow: 'hidden',\n  minHeight: 48,\n  // Add iOS momentum scrolling for iOS < 13.0\n  WebkitOverflowScrolling: 'touch',\n  display: 'flex'\n}, ownerState.vertical && {\n  flexDirection: 'column'\n}, ownerState.scrollButtonsHideMobile && {\n  [`& .${tabsClasses.scrollButtons}`]: {\n    [theme.breakpoints.down('sm')]: {\n      display: 'none'\n    }\n  }\n}));\nconst TabsScroller = styled('div', {\n  name: 'MuiTabs',\n  slot: 'Scroller',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n  }\n})(({\n  ownerState\n}) => _extends({\n  position: 'relative',\n  display: 'inline-block',\n  flex: '1 1 auto',\n  whiteSpace: 'nowrap'\n}, ownerState.fixed && {\n  overflowX: 'hidden',\n  width: '100%'\n}, ownerState.hideScrollbar && {\n  // Hide dimensionless scrollbar on macOS\n  scrollbarWidth: 'none',\n  // Firefox\n  '&::-webkit-scrollbar': {\n    display: 'none' // Safari + Chrome\n  }\n}, ownerState.scrollableX && {\n  overflowX: 'auto',\n  overflowY: 'hidden'\n}, ownerState.scrollableY && {\n  overflowY: 'auto',\n  overflowX: 'hidden'\n}));\nconst FlexContainer = styled('div', {\n  name: 'MuiTabs',\n  slot: 'FlexContainer',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n  }\n})(({\n  ownerState\n}) => _extends({\n  display: 'flex'\n}, ownerState.vertical && {\n  flexDirection: 'column'\n}, ownerState.centered && {\n  justifyContent: 'center'\n}));\nconst TabsIndicator = styled('span', {\n  name: 'MuiTabs',\n  slot: 'Indicator',\n  overridesResolver: (props, styles) => styles.indicator\n})(({\n  ownerState,\n  theme\n}) => _extends({\n  position: 'absolute',\n  height: 2,\n  bottom: 0,\n  width: '100%',\n  transition: theme.transitions.create()\n}, ownerState.indicatorColor === 'primary' && {\n  backgroundColor: (theme.vars || theme).palette.primary.main\n}, ownerState.indicatorColor === 'secondary' && {\n  backgroundColor: (theme.vars || theme).palette.secondary.main\n}, ownerState.vertical && {\n  height: '100%',\n  width: 2,\n  right: 0\n}));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n  overflowX: 'auto',\n  overflowY: 'hidden',\n  // Hide dimensionless scrollbar on macOS\n  scrollbarWidth: 'none',\n  // Firefox\n  '&::-webkit-scrollbar': {\n    display: 'none' // Safari + Chrome\n  }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n  const props = useDefaultProps({\n    props: inProps,\n    name: 'MuiTabs'\n  });\n  const theme = useTheme();\n  const isRtl = useRtl();\n  const {\n      'aria-label': ariaLabel,\n      'aria-labelledby': ariaLabelledBy,\n      action,\n      centered = false,\n      children: childrenProp,\n      className,\n      component = 'div',\n      allowScrollButtonsMobile = false,\n      indicatorColor = 'primary',\n      onChange,\n      orientation = 'horizontal',\n      ScrollButtonComponent = TabScrollButton,\n      scrollButtons = 'auto',\n      selectionFollowsFocus,\n      slots = {},\n      slotProps = {},\n      TabIndicatorProps = {},\n      TabScrollButtonProps = {},\n      textColor = 'primary',\n      value,\n      variant = 'standard',\n      visibleScrollbar = false\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const scrollable = variant === 'scrollable';\n  const vertical = orientation === 'vertical';\n  const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n  const start = vertical ? 'top' : 'left';\n  const end = vertical ? 'bottom' : 'right';\n  const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n  const size = vertical ? 'height' : 'width';\n  const ownerState = _extends({}, props, {\n    component,\n    allowScrollButtonsMobile,\n    indicatorColor,\n    orientation,\n    vertical,\n    scrollButtons,\n    textColor,\n    variant,\n    visibleScrollbar,\n    fixed: !scrollable,\n    hideScrollbar: scrollable && !visibleScrollbar,\n    scrollableX: scrollable && !vertical,\n    scrollableY: scrollable && vertical,\n    centered: centered && !scrollable,\n    scrollButtonsHideMobile: !allowScrollButtonsMobile\n  });\n  const classes = useUtilityClasses(ownerState);\n  const startScrollButtonIconProps = useSlotProps({\n    elementType: slots.StartScrollButtonIcon,\n    externalSlotProps: slotProps.startScrollButtonIcon,\n    ownerState\n  });\n  const endScrollButtonIconProps = useSlotProps({\n    elementType: slots.EndScrollButtonIcon,\n    externalSlotProps: slotProps.endScrollButtonIcon,\n    ownerState\n  });\n  if (process.env.NODE_ENV !== 'production') {\n    if (centered && scrollable) {\n      console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n    }\n  }\n  const [mounted, setMounted] = React.useState(false);\n  const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n  const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n  const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n  const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n  const [scrollerStyle, setScrollerStyle] = React.useState({\n    overflow: 'hidden',\n    scrollbarWidth: 0\n  });\n  const valueToIndex = new Map();\n  const tabsRef = React.useRef(null);\n  const tabListRef = React.useRef(null);\n  const getTabsMeta = () => {\n    const tabsNode = tabsRef.current;\n    let tabsMeta;\n    if (tabsNode) {\n      const rect = tabsNode.getBoundingClientRect();\n      // create a new object with ClientRect class props + scrollLeft\n      tabsMeta = {\n        clientWidth: tabsNode.clientWidth,\n        scrollLeft: tabsNode.scrollLeft,\n        scrollTop: tabsNode.scrollTop,\n        scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, isRtl ? 'rtl' : 'ltr'),\n        scrollWidth: tabsNode.scrollWidth,\n        top: rect.top,\n        bottom: rect.bottom,\n        left: rect.left,\n        right: rect.right\n      };\n    }\n    let tabMeta;\n    if (tabsNode && value !== false) {\n      const children = tabListRef.current.children;\n      if (children.length > 0) {\n        const tab = children[valueToIndex.get(value)];\n        if (process.env.NODE_ENV !== 'production') {\n          if (!tab) {\n            console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n          }\n        }\n        tabMeta = tab ? tab.getBoundingClientRect() : null;\n        if (process.env.NODE_ENV !== 'production') {\n          if (process.env.NODE_ENV !== 'test' && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n          // if the whole Tabs component is hidden, don't warn\n          tabsMeta.clientWidth !== 0) {\n            tabsMeta = null;\n            console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n            warnedOnceTabPresent = true;\n          }\n        }\n      }\n    }\n    return {\n      tabsMeta,\n      tabMeta\n    };\n  };\n  const updateIndicatorState = useEventCallback(() => {\n    const {\n      tabsMeta,\n      tabMeta\n    } = getTabsMeta();\n    let startValue = 0;\n    let startIndicator;\n    if (vertical) {\n      startIndicator = 'top';\n      if (tabMeta && tabsMeta) {\n        startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n      }\n    } else {\n      startIndicator = isRtl ? 'right' : 'left';\n      if (tabMeta && tabsMeta) {\n        const correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n        startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + correction);\n      }\n    }\n    const newIndicatorStyle = {\n      [startIndicator]: startValue,\n      // May be wrong until the font is loaded.\n      [size]: tabMeta ? tabMeta[size] : 0\n    };\n\n    // IE11 support, replace with Number.isNaN\n    // eslint-disable-next-line no-restricted-globals\n    if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) {\n      setIndicatorStyle(newIndicatorStyle);\n    } else {\n      const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n      const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n      if (dStart >= 1 || dSize >= 1) {\n        setIndicatorStyle(newIndicatorStyle);\n      }\n    }\n  });\n  const scroll = (scrollValue, {\n    animation = true\n  } = {}) => {\n    if (animation) {\n      animate(scrollStart, tabsRef.current, scrollValue, {\n        duration: theme.transitions.duration.standard\n      });\n    } else {\n      tabsRef.current[scrollStart] = scrollValue;\n    }\n  };\n  const moveTabsScroll = delta => {\n    let scrollValue = tabsRef.current[scrollStart];\n    if (vertical) {\n      scrollValue += delta;\n    } else {\n      scrollValue += delta * (isRtl ? -1 : 1);\n      // Fix for Edge\n      scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n    }\n    scroll(scrollValue);\n  };\n  const getScrollSize = () => {\n    const containerSize = tabsRef.current[clientSize];\n    let totalSize = 0;\n    const children = Array.from(tabListRef.current.children);\n    for (let i = 0; i < children.length; i += 1) {\n      const tab = children[i];\n      if (totalSize + tab[clientSize] > containerSize) {\n        // If the first item is longer than the container size, then only scroll\n        // by the container size.\n        if (i === 0) {\n          totalSize = containerSize;\n        }\n        break;\n      }\n      totalSize += tab[clientSize];\n    }\n    return totalSize;\n  };\n  const handleStartScrollClick = () => {\n    moveTabsScroll(-1 * getScrollSize());\n  };\n  const handleEndScrollClick = () => {\n    moveTabsScroll(getScrollSize());\n  };\n\n  // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n  // with CSS improves.\n  const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n    setScrollerStyle({\n      overflow: null,\n      scrollbarWidth\n    });\n  }, []);\n  const getConditionalElements = () => {\n    const conditionalElements = {};\n    conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(TabsScrollbarSize, {\n      onChange: handleScrollbarSizeChange,\n      className: clsx(classes.scrollableX, classes.hideScrollbar)\n    }) : null;\n    const scrollButtonsActive = displayStartScroll || displayEndScroll;\n    const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n    conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n      slots: {\n        StartScrollButtonIcon: slots.StartScrollButtonIcon\n      },\n      slotProps: {\n        startScrollButtonIcon: startScrollButtonIconProps\n      },\n      orientation: orientation,\n      direction: isRtl ? 'right' : 'left',\n      onClick: handleStartScrollClick,\n      disabled: !displayStartScroll\n    }, TabScrollButtonProps, {\n      className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n    })) : null;\n    conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n      slots: {\n        EndScrollButtonIcon: slots.EndScrollButtonIcon\n      },\n      slotProps: {\n        endScrollButtonIcon: endScrollButtonIconProps\n      },\n      orientation: orientation,\n      direction: isRtl ? 'left' : 'right',\n      onClick: handleEndScrollClick,\n      disabled: !displayEndScroll\n    }, TabScrollButtonProps, {\n      className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n    })) : null;\n    return conditionalElements;\n  };\n  const scrollSelectedIntoView = useEventCallback(animation => {\n    const {\n      tabsMeta,\n      tabMeta\n    } = getTabsMeta();\n    if (!tabMeta || !tabsMeta) {\n      return;\n    }\n    if (tabMeta[start] < tabsMeta[start]) {\n      // left side of button is out of view\n      const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n      scroll(nextScrollStart, {\n        animation\n      });\n    } else if (tabMeta[end] > tabsMeta[end]) {\n      // right side of button is out of view\n      const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n      scroll(nextScrollStart, {\n        animation\n      });\n    }\n  });\n  const updateScrollButtonState = useEventCallback(() => {\n    if (scrollable && scrollButtons !== false) {\n      setUpdateScrollObserver(!updateScrollObserver);\n    }\n  });\n  React.useEffect(() => {\n    const handleResize = debounce(() => {\n      // If the Tabs component is replaced by Suspense with a fallback, the last\n      // ResizeObserver's handler that runs because of the change in the layout is trying to\n      // access a dom node that is no longer there (as the fallback component is being shown instead).\n      // See https://github.com/mui/material-ui/issues/33276\n      // TODO: Add tests that will ensure the component is not failing when\n      // replaced by Suspense with a fallback, once React is updated to version 18\n      if (tabsRef.current) {\n        updateIndicatorState();\n      }\n    });\n    let resizeObserver;\n\n    /**\n     * @type {MutationCallback}\n     */\n    const handleMutation = records => {\n      records.forEach(record => {\n        record.removedNodes.forEach(item => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.unobserve(item);\n        });\n        record.addedNodes.forEach(item => {\n          var _resizeObserver2;\n          (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.observe(item);\n        });\n      });\n      handleResize();\n      updateScrollButtonState();\n    };\n    const win = ownerWindow(tabsRef.current);\n    win.addEventListener('resize', handleResize);\n    let mutationObserver;\n    if (typeof ResizeObserver !== 'undefined') {\n      resizeObserver = new ResizeObserver(handleResize);\n      Array.from(tabListRef.current.children).forEach(child => {\n        resizeObserver.observe(child);\n      });\n    }\n    if (typeof MutationObserver !== 'undefined') {\n      mutationObserver = new MutationObserver(handleMutation);\n      mutationObserver.observe(tabListRef.current, {\n        childList: true\n      });\n    }\n    return () => {\n      var _mutationObserver, _resizeObserver3;\n      handleResize.clear();\n      win.removeEventListener('resize', handleResize);\n      (_mutationObserver = mutationObserver) == null || _mutationObserver.disconnect();\n      (_resizeObserver3 = resizeObserver) == null || _resizeObserver3.disconnect();\n    };\n  }, [updateIndicatorState, updateScrollButtonState]);\n\n  /**\n   * Toggle visibility of start and end scroll buttons\n   * Using IntersectionObserver on first and last Tabs.\n   */\n  React.useEffect(() => {\n    const tabListChildren = Array.from(tabListRef.current.children);\n    const length = tabListChildren.length;\n    if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n      const firstTab = tabListChildren[0];\n      const lastTab = tabListChildren[length - 1];\n      const observerOptions = {\n        root: tabsRef.current,\n        threshold: 0.99\n      };\n      const handleScrollButtonStart = entries => {\n        setDisplayStartScroll(!entries[0].isIntersecting);\n      };\n      const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n      firstObserver.observe(firstTab);\n      const handleScrollButtonEnd = entries => {\n        setDisplayEndScroll(!entries[0].isIntersecting);\n      };\n      const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n      lastObserver.observe(lastTab);\n      return () => {\n        firstObserver.disconnect();\n        lastObserver.disconnect();\n      };\n    }\n    return undefined;\n  }, [scrollable, scrollButtons, updateScrollObserver, childrenProp == null ? void 0 : childrenProp.length]);\n  React.useEffect(() => {\n    setMounted(true);\n  }, []);\n  React.useEffect(() => {\n    updateIndicatorState();\n  });\n  React.useEffect(() => {\n    // Don't animate on the first render.\n    scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n  }, [scrollSelectedIntoView, indicatorStyle]);\n  React.useImperativeHandle(action, () => ({\n    updateIndicator: updateIndicatorState,\n    updateScrollButtons: updateScrollButtonState\n  }), [updateIndicatorState, updateScrollButtonState]);\n  const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {\n    className: clsx(classes.indicator, TabIndicatorProps.className),\n    ownerState: ownerState,\n    style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n  }));\n  let childIndex = 0;\n  const children = React.Children.map(childrenProp, child => {\n    if (! /*#__PURE__*/React.isValidElement(child)) {\n      return null;\n    }\n    if (process.env.NODE_ENV !== 'production') {\n      if (isFragment(child)) {\n        console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n      }\n    }\n    const childValue = child.props.value === undefined ? childIndex : child.props.value;\n    valueToIndex.set(childValue, childIndex);\n    const selected = childValue === value;\n    childIndex += 1;\n    return /*#__PURE__*/React.cloneElement(child, _extends({\n      fullWidth: variant === 'fullWidth',\n      indicator: selected && !mounted && indicator,\n      selected,\n      selectionFollowsFocus,\n      onChange,\n      textColor,\n      value: childValue\n    }, childIndex === 1 && value === false && !child.props.tabIndex ? {\n      tabIndex: 0\n    } : {}));\n  });\n  const handleKeyDown = event => {\n    const list = tabListRef.current;\n    const currentFocus = ownerDocument(list).activeElement;\n    // Keyboard navigation assumes that [role=\"tab\"] are siblings\n    // though we might warn in the future about nested, interactive elements\n    // as a a11y violation\n    const role = currentFocus.getAttribute('role');\n    if (role !== 'tab') {\n      return;\n    }\n    let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n    let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n    if (orientation === 'horizontal' && isRtl) {\n      // swap previousItemKey with nextItemKey\n      previousItemKey = 'ArrowRight';\n      nextItemKey = 'ArrowLeft';\n    }\n    switch (event.key) {\n      case previousItemKey:\n        event.preventDefault();\n        moveFocus(list, currentFocus, previousItem);\n        break;\n      case nextItemKey:\n        event.preventDefault();\n        moveFocus(list, currentFocus, nextItem);\n        break;\n      case 'Home':\n        event.preventDefault();\n        moveFocus(list, null, nextItem);\n        break;\n      case 'End':\n        event.preventDefault();\n        moveFocus(list, null, previousItem);\n        break;\n      default:\n        break;\n    }\n  };\n  const conditionalElements = getConditionalElements();\n  return /*#__PURE__*/_jsxs(TabsRoot, _extends({\n    className: clsx(classes.root, className),\n    ownerState: ownerState,\n    ref: ref,\n    as: component\n  }, other, {\n    children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {\n      className: classes.scroller,\n      ownerState: ownerState,\n      style: {\n        overflow: scrollerStyle.overflow,\n        [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n      },\n      ref: tabsRef,\n      children: [/*#__PURE__*/_jsx(FlexContainer, {\n        \"aria-label\": ariaLabel,\n        \"aria-labelledby\": ariaLabelledBy,\n        \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n        className: classes.flexContainer,\n        ownerState: ownerState,\n        onKeyDown: handleKeyDown,\n        ref: tabListRef,\n        role: \"tablist\",\n        children: children\n      }), mounted && indicator]\n    }), conditionalElements.scrollButtonEnd]\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.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   * Callback fired when the component mounts.\n   * This is useful when you want to trigger an action programmatically.\n   * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n   *\n   * @param {object} actions This object contains all possible actions\n   * that can be triggered programmatically.\n   */\n  action: refType,\n  /**\n   * If `true`, the scroll buttons aren't forced hidden on mobile.\n   * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n   * @default false\n   */\n  allowScrollButtonsMobile: PropTypes.bool,\n  /**\n   * The label for the Tabs as a string.\n   */\n  'aria-label': PropTypes.string,\n  /**\n   * An id or list of ids separated by a space that label the Tabs.\n   */\n  'aria-labelledby': PropTypes.string,\n  /**\n   * If `true`, the tabs are centered.\n   * This prop is intended for large views.\n   * @default false\n   */\n  centered: PropTypes.bool,\n  /**\n   * The content of the component.\n   */\n  children: PropTypes.node,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * The component used for the root node.\n   * Either a string to use a HTML element or a component.\n   */\n  component: PropTypes.elementType,\n  /**\n   * Determines the color of the indicator.\n   * @default 'primary'\n   */\n  indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n  /**\n   * Callback fired when the value changes.\n   *\n   * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n   * @param {any} value We default to the index of the child (number)\n   */\n  onChange: PropTypes.func,\n  /**\n   * The component orientation (layout flow direction).\n   * @default 'horizontal'\n   */\n  orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n  /**\n   * The component used to render the scroll buttons.\n   * @default TabScrollButton\n   */\n  ScrollButtonComponent: PropTypes.elementType,\n  /**\n   * Determine behavior of scroll buttons when tabs are set to scroll:\n   *\n   * - `auto` will only present them when not all the items are visible.\n   * - `true` will always present them.\n   * - `false` will never present them.\n   *\n   * By default the scroll buttons are hidden on mobile.\n   * This behavior can be disabled with `allowScrollButtonsMobile`.\n   * @default 'auto'\n   */\n  scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n  /**\n   * If `true` the selected tab changes on focus. Otherwise it only\n   * changes on activation.\n   */\n  selectionFollowsFocus: PropTypes.bool,\n  /**\n   * The extra props for the slot components.\n   * You can override the existing props or add new ones.\n   * @default {}\n   */\n  slotProps: PropTypes.shape({\n    endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n  }),\n  /**\n   * The components used for each slot inside.\n   * @default {}\n   */\n  slots: PropTypes.shape({\n    EndScrollButtonIcon: PropTypes.elementType,\n    StartScrollButtonIcon: PropTypes.elementType\n  }),\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n  /**\n   * Props applied to the tab indicator element.\n   * @default  {}\n   */\n  TabIndicatorProps: PropTypes.object,\n  /**\n   * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.\n   * @default {}\n   */\n  TabScrollButtonProps: PropTypes.object,\n  /**\n   * Determines the color of the `Tab`.\n   * @default 'primary'\n   */\n  textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n  /**\n   * The value of the currently selected `Tab`.\n   * If you don't want any selected `Tab`, you can set this prop to `false`.\n   */\n  value: PropTypes.any,\n  /**\n   * Determines additional display behavior of the tabs:\n   *\n   *  - `scrollable` will invoke scrolling properties and allow for horizontally\n   *  scrolling (or swiping) of the tab bar.\n   *  - `fullWidth` will make the tabs grow to use all the available space,\n   *  which should be used for small views, like on mobile.\n   *  - `standard` will render the default state.\n   * @default 'standard'\n   */\n  variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n  /**\n   * If `true`, the scrollbar is visible. It can be useful when displaying\n   * a long vertical list of tabs.\n   * @default false\n   */\n  visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;"],"names":["getTabUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TabRoot","styled","ButtonBase","name","overridesResolver","props","styles","ownerState","root","label","icon","labelIcon","capitalize","textColor","fullWidth","wrapped","tabClasses","iconWrapper","_ref","theme","_extends","typography","button","maxWidth","minWidth","position","minHeight","flexShrink","padding","overflow","whiteSpace","textAlign","flexDirection","iconPosition","lineHeight","paddingTop","paddingBottom","marginBottom","marginTop","marginRight","spacing","marginLeft","color","opacity","selected","disabled","vars","palette","action","disabledOpacity","text","secondary","primary","main","flexGrow","flexBasis","fontSize","pxToRem","React","inProps","ref","useDefaultProps","className","disableFocusRipple","iconProp","indicator","onChange","onClick","onFocus","selectionFollowsFocus","value","other","_objectWithoutPropertiesLoose","classes","slots","composeClasses","useUtilityClasses","clsx","_jsxs","focusRipple","role","event","tabIndex","children","cachedType","detectScrollType","dummy","document","createElement","container","style","width","height","appendChild","dir","top","body","scrollLeft","removeChild","getNormalizedScrollLeft","element","direction","scrollWidth","clientWidth","easeInOutSin","time","Math","sin","PI","createSvgIcon","_jsx","d","getTabScrollButtonUtilityClass","TabScrollButtonRoot","orientation","tabScrollButtonClasses","transform","isRtl","_slots$StartScrollBut","_slots$EndScrollButto","slotProps","useRtl","StartButtonIcon","StartScrollButtonIcon","KeyboardArrowLeft","EndButtonIcon","EndScrollButtonIcon","KeyboardArrowRight","startButtonIconProps","useSlotProps","elementType","externalSlotProps","startScrollButtonIcon","additionalProps","endButtonIconProps","endScrollButtonIcon","component","getTabsUtilityClass","nextItem","list","item","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","moveFocus","currentFocus","traversalFunction","wrappedOnce","nextFocus","nextFocusDisabled","getAttribute","hasAttribute","focus","TabsRoot","tabsClasses","scrollButtons","scrollButtonsHideMobile","vertical","WebkitOverflowScrolling","display","breakpoints","down","TabsScroller","scroller","fixed","hideScrollbar","scrollableX","scrollableY","_ref2","flex","overflowX","scrollbarWidth","overflowY","FlexContainer","flexContainer","flexContainerVertical","centered","_ref3","justifyContent","TabsIndicator","_ref4","bottom","transition","transitions","create","indicatorColor","backgroundColor","right","TabsScrollbarSize","scrollbarHeight","nodeRef","setMeasurements","current","offsetHeight","clientHeight","useEnhancedEffect","handleResize","debounce","prevHeight","containerWindow","ownerWindow","addEventListener","clear","removeEventListener","defaultIndicatorStyle","useTheme","ariaLabel","ariaLabelledBy","childrenProp","allowScrollButtonsMobile","ScrollButtonComponent","TabScrollButton","TabIndicatorProps","TabScrollButtonProps","variant","visibleScrollbar","scrollable","scrollStart","start","end","clientSize","size","startScrollButtonIconProps","endScrollButtonIconProps","mounted","setMounted","indicatorStyle","setIndicatorStyle","displayStartScroll","setDisplayStartScroll","displayEndScroll","setDisplayEndScroll","updateScrollObserver","setUpdateScrollObserver","scrollerStyle","setScrollerStyle","valueToIndex","Map","tabsRef","tabListRef","getTabsMeta","tabsNode","tabsMeta","tabMeta","rect","getBoundingClientRect","scrollTop","scrollLeftNormalized","left","length","tab","get","process","updateIndicatorState","useEventCallback","startIndicator","startValue","correction","newIndicatorStyle","isNaN","dStart","abs","dSize","scroll","scrollValue","animation","arguments","undefined","property","to","options","cb","ease","duration","from","cancelled","cancel","step","timestamp","Error","min","requestAnimationFrame","animate","standard","moveTabsScroll","delta","getScrollSize","containerSize","totalSize","Array","i","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollSelectedIntoView","nextScrollStart","updateScrollButtonState","resizeObserver","handleMutation","records","forEach","record","removedNodes","_resizeObserver","unobserve","addedNodes","_resizeObserver2","observe","win","mutationObserver","ResizeObserver","child","MutationObserver","childList","_mutationObserver","_resizeObserver3","disconnect","tabListChildren","IntersectionObserver","firstTab","lastTab","observerOptions","threshold","firstObserver","entries","isIntersecting","lastObserver","updateIndicator","updateScrollButtons","childIndex","map","childValue","set","conditionalElements","getConditionalElements","scrollbarSizeListener","showScrollButtons","scrollButtonStart","scrollButtonEnd","as","onKeyDown","ownerDocument","activeElement","previousItemKey","nextItemKey","key","preventDefault"],"sourceRoot":""}