{"version":3,"sources":["../node_modules/@material-ui/core/esm/utils/scrollLeft.js","../node_modules/@material-ui/core/esm/internal/animate.js","../node_modules/@material-ui/core/esm/Tabs/ScrollbarSize.js","../node_modules/@material-ui/core/esm/Tabs/TabIndicator.js","../node_modules/@material-ui/core/esm/TabScrollButton/TabScrollButton.js","../node_modules/@material-ui/core/esm/Tabs/Tabs.js","../node_modules/@material-ui/core/esm/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@material-ui/core/esm/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@material-ui/core/esm/Tab/Tab.js"],"names":["cachedType","detectScrollType","dummy","document","createElement","container","style","width","height","appendChild","dir","fontSize","position","top","overflow","body","scrollLeft","removeChild","getNormalizedScrollLeft","element","direction","scrollWidth","clientWidth","easeInOutSin","time","Math","sin","PI","ScrollbarSize_styles","ScrollbarSize","props","onChange","other","Object","objectWithoutProperties","scrollbarHeight","react","nodeRef","setMeasurements","current","offsetHeight","clientHeight","handleResize","debounce","prevHeight","window","addEventListener","clear","removeEventListener","esm_extends","ref","TabIndicator_TabIndicator","classes","className","color","orientation","clsx_m","root","concat","capitalize","vertical","Tabs_TabIndicator","withStyles","theme","bottom","transition","transitions","create","colorPrimary","backgroundColor","palette","primary","main","colorSecondary","secondary","right","name","_ref","KeyboardArrowLeft","_ref2","KeyboardArrowRight","TabScrollButton_TabScrollButton","classNameProp","disabled","ButtonBase","component","role","tabIndex","esm_TabScrollButton_TabScrollButton","flexShrink","opacity","&$disabled","& svg","transform","Tabs_Tabs","ariaLabel","ariaLabelledBy","action","_props$centered","centered","childrenProp","children","_props$component","Component","_props$indicatorColor","indicatorColor","_props$orientation","_props$ScrollButtonCo","ScrollButtonComponent","_props$scrollButtons","scrollButtons","selectionFollowsFocus","_props$TabIndicatorPr","TabIndicatorProps","TabScrollButtonProps","_props$textColor","textColor","value","_props$variant","variant","useTheme","scrollable","isRtl","scrollStart","start","end","clientSize","size","_React$useState","mounted","setMounted","_React$useState2","indicatorStyle","setIndicatorStyle","_React$useState3","displayScroll","setDisplayScroll","_React$useState4","marginBottom","scrollerStyle","setScrollerStyle","valueToIndex","Map","tabsRef","tabListRef","getTabsMeta","tabsMeta","tabMeta","tabsNode","rect","getBoundingClientRect","scrollTop","scrollLeftNormalized","left","_children","length","tab","get","updateIndicatorState","useEventCallback","_newIndicatorStyle","_getTabsMeta","startValue","correction","newIndicatorStyle","defineProperty","isNaN","dStart","abs","dSize","scroll","scrollValue","property","to","options","arguments","undefined","cb","_options$ease","ease","_options$duration","duration","from","cancelled","cancel","Error","requestAnimationFrame","step","timestamp","min","animate","moveTabsScroll","delta","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollSelectedIntoView","_getTabsMeta2","nextScrollStart","_nextScrollStart","updateScrollButtonState","showStartScroll","showEndScroll","_tabsRef$current","scrollHeight","win","ownerWindow","handleTabsScroll","updateIndicator","updateScrollButtons","indicator","childIndex","map","child","childValue","set","selected","fullWidth","conditionalElements","scrollbarSizeListener","scrollButtonsActive","showScrollButtons","scrollButtonStart","onClick","scrollButtonsDesktop","scrollButtonEnd","getConditionalElements","scroller","fixed","onScroll","aria-label","aria-labelledby","flexContainer","flexContainerVertical","onKeyDown","event","target","getAttribute","newFocusTarget","previousItemKey","nextItemKey","key","previousElementSibling","lastChild","nextElementSibling","firstChild","focus","preventDefault","__webpack_exports__","minHeight","WebkitOverflowScrolling","display","flexDirection","justifyContent","flex","whiteSpace","overflowX","scrollbarWidth","&::-webkit-scrollbar","breakpoints","down","react__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","_utils_createSvgIcon__WEBPACK_IMPORTED_MODULE_1__","d","_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__","_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__","_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__","react__WEBPACK_IMPORTED_MODULE_3__","clsx__WEBPACK_IMPORTED_MODULE_4__","_styles_withStyles__WEBPACK_IMPORTED_MODULE_5__","_ButtonBase__WEBPACK_IMPORTED_MODULE_6__","_utils_capitalize__WEBPACK_IMPORTED_MODULE_7__","Tab","_props$disabled","_props$disableFocusRi","disableFocusRipple","icon","label","onFocus","_props$wrapped","wrapped","focusRipple","labelIcon","aria-selected","wrapper","_extends2","typography","button","maxWidth","minWidth","boxSizing","padding","up","paddingTop","& $wrapper > *:first-child","textColorInherit","&$selected","textColorPrimary","text","textColorSecondary","flexGrow","flexBasis","pxToRem","lineHeight","alignItems"],"mappings":"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","file":"static/js/8.87f56f8c.chunk.js","sourcesContent":["// Source from https://github.com/alitaheri/normalize-scroll-left\nvar cachedType;\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 * IE 11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\n\nexport function detectScrollType() {\n  if (cachedType) {\n    return cachedType;\n  }\n  var dummy = document.createElement('div');\n  var 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} // Based on https://stackoverflow.com/a/24394376\n\nexport function getNormalizedScrollLeft(element, direction) {\n  var scrollLeft = element.scrollLeft; // Perform the calculations only when direction is rtl to avoid messing up the ltr bahavior\n\n  if (direction !== 'rtl') {\n    return scrollLeft;\n  }\n  var 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) {\n  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n  var cb = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {};\n  var _options$ease = options.ease,\n    ease = _options$ease === void 0 ? easeInOutSin : _options$ease,\n    _options$duration = options.duration,\n    duration = _options$duration === void 0 ? 300 : _options$duration;\n  var start = null;\n  var from = element[property];\n  var cancelled = false;\n  var cancel = function cancel() {\n    cancelled = true;\n  };\n  var step = function step(timestamp) {\n    if (cancelled) {\n      cb(new Error('Animation cancelled'));\n      return;\n    }\n    if (start === null) {\n      start = timestamp;\n    }\n    var time = Math.min(1, (timestamp - start) / duration);\n    element[property] = ease(time) * (to - from) + from;\n    if (time >= 1) {\n      requestAnimationFrame(function () {\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}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nvar styles = {\n  width: 99,\n  height: 99,\n  position: 'absolute',\n  top: -9999,\n  overflow: 'scroll'\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 */\n\nexport default function ScrollbarSize(props) {\n  var onChange = props.onChange,\n    other = _objectWithoutProperties(props, [\"onChange\"]);\n  var scrollbarHeight = React.useRef();\n  var nodeRef = React.useRef(null);\n  var setMeasurements = function setMeasurements() {\n    scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n  };\n  React.useEffect(function () {\n    var handleResize = debounce(function () {\n      var prevHeight = scrollbarHeight.current;\n      setMeasurements();\n      if (prevHeight !== scrollbarHeight.current) {\n        onChange(scrollbarHeight.current);\n      }\n    });\n    window.addEventListener('resize', handleResize);\n    return function () {\n      handleResize.clear();\n      window.removeEventListener('resize', handleResize);\n    };\n  }, [onChange]);\n  React.useEffect(function () {\n    setMeasurements();\n    onChange(scrollbarHeight.current);\n  }, [onChange]);\n  return /*#__PURE__*/React.createElement(\"div\", _extends({\n    style: styles,\n    ref: nodeRef\n  }, other));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n  onChange: PropTypes.func.isRequired\n} : void 0;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n  return {\n    root: {\n      position: 'absolute',\n      height: 2,\n      bottom: 0,\n      width: '100%',\n      transition: theme.transitions.create()\n    },\n    colorPrimary: {\n      backgroundColor: theme.palette.primary.main\n    },\n    colorSecondary: {\n      backgroundColor: theme.palette.secondary.main\n    },\n    vertical: {\n      height: '100%',\n      width: 2,\n      right: 0\n    }\n  };\n};\n/**\n * @ignore - internal component.\n */\n\nvar TabIndicator = /*#__PURE__*/React.forwardRef(function TabIndicator(props, ref) {\n  var classes = props.classes,\n    className = props.className,\n    color = props.color,\n    orientation = props.orientation,\n    other = _objectWithoutProperties(props, [\"classes\", \"className\", \"color\", \"orientation\"]);\n  return /*#__PURE__*/React.createElement(\"span\", _extends({\n    className: clsx(classes.root, classes[\"color\".concat(capitalize(color))], className, orientation === 'vertical' && classes.vertical),\n    ref: ref\n  }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabIndicator.propTypes = {\n  /**\n   * Override or extend the styles applied to the component.\n   * See [CSS API](#css) below for more details.\n   */\n  classes: PropTypes.object.isRequired,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * @ignore\n   * The color of the tab indicator.\n   */\n  color: PropTypes.oneOf(['primary', 'secondary']).isRequired,\n  /**\n   * The tabs orientation (layout flow direction).\n   */\n  orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired\n} : void 0;\nexport default withStyles(styles, {\n  name: 'PrivateTabIndicator'\n})(TabIndicator);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/* eslint-disable jsx-a11y/aria-role */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nexport var styles = {\n  /* Styles applied to the root element. */\n  root: {\n    width: 40,\n    flexShrink: 0,\n    opacity: 0.8,\n    '&$disabled': {\n      opacity: 0\n    }\n  },\n  /* Styles applied to the root element if `orientation=\"vertical\"`. */\n  vertical: {\n    width: '100%',\n    height: 40,\n    '& svg': {\n      transform: 'rotate(90deg)'\n    }\n  },\n  /* Pseudo-class applied to the root element if `disabled={true}`. */\n  disabled: {}\n};\nvar _ref = /*#__PURE__*/React.createElement(KeyboardArrowLeft, {\n  fontSize: \"small\"\n});\nvar _ref2 = /*#__PURE__*/React.createElement(KeyboardArrowRight, {\n  fontSize: \"small\"\n});\nvar TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(props, ref) {\n  var classes = props.classes,\n    classNameProp = props.className,\n    direction = props.direction,\n    orientation = props.orientation,\n    disabled = props.disabled,\n    other = _objectWithoutProperties(props, [\"classes\", \"className\", \"direction\", \"orientation\", \"disabled\"]);\n  return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n    component: \"div\",\n    className: clsx(classes.root, classNameProp, disabled && classes.disabled, orientation === 'vertical' && classes.vertical),\n    ref: ref,\n    role: null,\n    tabIndex: null\n  }, other), direction === 'left' ? _ref : _ref2);\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes = {\n  // ----------------------------- Warning --------------------------------\n  // | These PropTypes are generated from the TypeScript type definitions |\n  // |     To update them edit the d.ts file and run \"yarn proptypes\"     |\n  // ----------------------------------------------------------------------\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   * See [CSS API](#css) below for more details.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * Which direction should the button indicate?\n   */\n  direction: PropTypes.oneOf(['left', 'right']).isRequired,\n  /**\n   * If `true`, the element will be disabled.\n   */\n  disabled: PropTypes.bool,\n  /**\n   * The tabs orientation (layout flow direction).\n   */\n  orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired\n} : void 0;\nexport default withStyles(styles, {\n  name: 'MuiTabScrollButton'\n})(TabScrollButton);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@material-ui/utils';\nimport debounce from '../utils/debounce';\nimport ownerWindow from '../utils/ownerWindow';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport withStyles from '../styles/withStyles';\nimport TabIndicator from './TabIndicator';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport useTheme from '../styles/useTheme';\nexport var styles = function styles(theme) {\n  return {\n    /* Styles applied to the root element. */\n    root: {\n      overflow: 'hidden',\n      minHeight: 48,\n      WebkitOverflowScrolling: 'touch',\n      // Add iOS momentum scrolling.\n      display: 'flex'\n    },\n    /* Styles applied to the root element if `orientation=\"vertical\"`. */\n    vertical: {\n      flexDirection: 'column'\n    },\n    /* Styles applied to the flex container element. */\n    flexContainer: {\n      display: 'flex'\n    },\n    /* Styles applied to the flex container element if `orientation=\"vertical\"`. */\n    flexContainerVertical: {\n      flexDirection: 'column'\n    },\n    /* Styles applied to the flex container element if `centered={true}` & `!variant=\"scrollable\"`. */\n    centered: {\n      justifyContent: 'center'\n    },\n    /* Styles applied to the tablist element. */\n    scroller: {\n      position: 'relative',\n      display: 'inline-block',\n      flex: '1 1 auto',\n      whiteSpace: 'nowrap'\n    },\n    /* Styles applied to the tablist element if `!variant=\"scrollable\"`\b\b\b. */\n    fixed: {\n      overflowX: 'hidden',\n      width: '100%'\n    },\n    /* Styles applied to the tablist element if `variant=\"scrollable\"`. */\n    scrollable: {\n      overflowX: 'scroll',\n      // Hide dimensionless scrollbar on MacOS\n      scrollbarWidth: 'none',\n      // Firefox\n      '&::-webkit-scrollbar': {\n        display: 'none' // Safari + Chrome\n      }\n    },\n    /* Styles applied to the `ScrollButtonComponent` component. */\n    scrollButtons: {},\n    /* Styles applied to the `ScrollButtonComponent` component if `scrollButtons=\"auto\"` or scrollButtons=\"desktop\"`. */\n    scrollButtonsDesktop: _defineProperty({}, theme.breakpoints.down('xs'), {\n      display: 'none'\n    }),\n    /* Styles applied to the `TabIndicator` component. */\n    indicator: {}\n  };\n};\nvar Tabs = /*#__PURE__*/React.forwardRef(function Tabs(props, ref) {\n  var ariaLabel = props['aria-label'],\n    ariaLabelledBy = props['aria-labelledby'],\n    action = props.action,\n    _props$centered = props.centered,\n    centered = _props$centered === void 0 ? false : _props$centered,\n    childrenProp = props.children,\n    classes = props.classes,\n    className = props.className,\n    _props$component = props.component,\n    Component = _props$component === void 0 ? 'div' : _props$component,\n    _props$indicatorColor = props.indicatorColor,\n    indicatorColor = _props$indicatorColor === void 0 ? 'secondary' : _props$indicatorColor,\n    onChange = props.onChange,\n    _props$orientation = props.orientation,\n    orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n    _props$ScrollButtonCo = props.ScrollButtonComponent,\n    ScrollButtonComponent = _props$ScrollButtonCo === void 0 ? TabScrollButton : _props$ScrollButtonCo,\n    _props$scrollButtons = props.scrollButtons,\n    scrollButtons = _props$scrollButtons === void 0 ? 'auto' : _props$scrollButtons,\n    selectionFollowsFocus = props.selectionFollowsFocus,\n    _props$TabIndicatorPr = props.TabIndicatorProps,\n    TabIndicatorProps = _props$TabIndicatorPr === void 0 ? {} : _props$TabIndicatorPr,\n    TabScrollButtonProps = props.TabScrollButtonProps,\n    _props$textColor = props.textColor,\n    textColor = _props$textColor === void 0 ? 'inherit' : _props$textColor,\n    value = props.value,\n    _props$variant = props.variant,\n    variant = _props$variant === void 0 ? 'standard' : _props$variant,\n    other = _objectWithoutProperties(props, [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"classes\", \"className\", \"component\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\"]);\n  var theme = useTheme();\n  var scrollable = variant === 'scrollable';\n  var isRtl = theme.direction === 'rtl';\n  var vertical = orientation === 'vertical';\n  var scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n  var start = vertical ? 'top' : 'left';\n  var end = vertical ? 'bottom' : 'right';\n  var clientSize = vertical ? 'clientHeight' : 'clientWidth';\n  var size = vertical ? 'height' : 'width';\n  if (process.env.NODE_ENV !== 'production') {\n    if (centered && scrollable) {\n      console.error('Material-UI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n    }\n  }\n  var _React$useState = React.useState(false),\n    mounted = _React$useState[0],\n    setMounted = _React$useState[1];\n  var _React$useState2 = React.useState({}),\n    indicatorStyle = _React$useState2[0],\n    setIndicatorStyle = _React$useState2[1];\n  var _React$useState3 = React.useState({\n      start: false,\n      end: false\n    }),\n    displayScroll = _React$useState3[0],\n    setDisplayScroll = _React$useState3[1];\n  var _React$useState4 = React.useState({\n      overflow: 'hidden',\n      marginBottom: null\n    }),\n    scrollerStyle = _React$useState4[0],\n    setScrollerStyle = _React$useState4[1];\n  var valueToIndex = new Map();\n  var tabsRef = React.useRef(null);\n  var tabListRef = React.useRef(null);\n  var getTabsMeta = function getTabsMeta() {\n    var tabsNode = tabsRef.current;\n    var tabsMeta;\n    if (tabsNode) {\n      var rect = tabsNode.getBoundingClientRect(); // create a new object with ClientRect class props + scrollLeft\n\n      tabsMeta = {\n        clientWidth: tabsNode.clientWidth,\n        scrollLeft: tabsNode.scrollLeft,\n        scrollTop: tabsNode.scrollTop,\n        scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, theme.direction),\n        scrollWidth: tabsNode.scrollWidth,\n        top: rect.top,\n        bottom: rect.bottom,\n        left: rect.left,\n        right: rect.right\n      };\n    }\n    var tabMeta;\n    if (tabsNode && value !== false) {\n      var _children = tabListRef.current.children;\n      if (_children.length > 0) {\n        var tab = _children[valueToIndex.get(value)];\n        if (process.env.NODE_ENV !== 'production') {\n          if (!tab) {\n            console.error([\"Material-UI: The value provided to the Tabs component is invalid.\", \"None of the Tabs' children match with `\".concat(value, \"`.\"), valueToIndex.keys ? \"You can provide one of the following values: \".concat(Array.from(valueToIndex.keys()).join(', '), \".\") : null].join('\\n'));\n          }\n        }\n        tabMeta = tab ? tab.getBoundingClientRect() : null;\n      }\n    }\n    return {\n      tabsMeta: tabsMeta,\n      tabMeta: tabMeta\n    };\n  };\n  var updateIndicatorState = useEventCallback(function () {\n    var _newIndicatorStyle;\n    var _getTabsMeta = getTabsMeta(),\n      tabsMeta = _getTabsMeta.tabsMeta,\n      tabMeta = _getTabsMeta.tabMeta;\n    var startValue = 0;\n    if (tabMeta && tabsMeta) {\n      if (vertical) {\n        startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n      } else {\n        var correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n        startValue = tabMeta.left - tabsMeta.left + correction;\n      }\n    }\n    var newIndicatorStyle = (_newIndicatorStyle = {}, _defineProperty(_newIndicatorStyle, start, startValue), _defineProperty(_newIndicatorStyle, size, tabMeta ? tabMeta[size] : 0), _newIndicatorStyle);\n    if (isNaN(indicatorStyle[start]) || isNaN(indicatorStyle[size])) {\n      setIndicatorStyle(newIndicatorStyle);\n    } else {\n      var dStart = Math.abs(indicatorStyle[start] - newIndicatorStyle[start]);\n      var dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n      if (dStart >= 1 || dSize >= 1) {\n        setIndicatorStyle(newIndicatorStyle);\n      }\n    }\n  });\n  var scroll = function scroll(scrollValue) {\n    animate(scrollStart, tabsRef.current, scrollValue);\n  };\n  var moveTabsScroll = function moveTabsScroll(delta) {\n    var scrollValue = tabsRef.current[scrollStart];\n    if (vertical) {\n      scrollValue += delta;\n    } else {\n      scrollValue += delta * (isRtl ? -1 : 1); // Fix for Edge\n\n      scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n    }\n    scroll(scrollValue);\n  };\n  var handleStartScrollClick = function handleStartScrollClick() {\n    moveTabsScroll(-tabsRef.current[clientSize]);\n  };\n  var handleEndScrollClick = function handleEndScrollClick() {\n    moveTabsScroll(tabsRef.current[clientSize]);\n  };\n  var handleScrollbarSizeChange = React.useCallback(function (scrollbarHeight) {\n    setScrollerStyle({\n      overflow: null,\n      marginBottom: -scrollbarHeight\n    });\n  }, []);\n  var getConditionalElements = function getConditionalElements() {\n    var conditionalElements = {};\n    conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/React.createElement(ScrollbarSize, {\n      className: classes.scrollable,\n      onChange: handleScrollbarSizeChange\n    }) : null;\n    var scrollButtonsActive = displayScroll.start || displayScroll.end;\n    var showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === 'desktop' || scrollButtons === 'on');\n    conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/React.createElement(ScrollButtonComponent, _extends({\n      orientation: orientation,\n      direction: isRtl ? 'right' : 'left',\n      onClick: handleStartScrollClick,\n      disabled: !displayScroll.start,\n      className: clsx(classes.scrollButtons, scrollButtons !== 'on' && classes.scrollButtonsDesktop)\n    }, TabScrollButtonProps)) : null;\n    conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/React.createElement(ScrollButtonComponent, _extends({\n      orientation: orientation,\n      direction: isRtl ? 'left' : 'right',\n      onClick: handleEndScrollClick,\n      disabled: !displayScroll.end,\n      className: clsx(classes.scrollButtons, scrollButtons !== 'on' && classes.scrollButtonsDesktop)\n    }, TabScrollButtonProps)) : null;\n    return conditionalElements;\n  };\n  var scrollSelectedIntoView = useEventCallback(function () {\n    var _getTabsMeta2 = getTabsMeta(),\n      tabsMeta = _getTabsMeta2.tabsMeta,\n      tabMeta = _getTabsMeta2.tabMeta;\n    if (!tabMeta || !tabsMeta) {\n      return;\n    }\n    if (tabMeta[start] < tabsMeta[start]) {\n      // left side of button is out of view\n      var nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n      scroll(nextScrollStart);\n    } else if (tabMeta[end] > tabsMeta[end]) {\n      // right side of button is out of view\n      var _nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n      scroll(_nextScrollStart);\n    }\n  });\n  var updateScrollButtonState = useEventCallback(function () {\n    if (scrollable && scrollButtons !== 'off') {\n      var _tabsRef$current = tabsRef.current,\n        scrollTop = _tabsRef$current.scrollTop,\n        scrollHeight = _tabsRef$current.scrollHeight,\n        clientHeight = _tabsRef$current.clientHeight,\n        scrollWidth = _tabsRef$current.scrollWidth,\n        clientWidth = _tabsRef$current.clientWidth;\n      var showStartScroll;\n      var showEndScroll;\n      if (vertical) {\n        showStartScroll = scrollTop > 1;\n        showEndScroll = scrollTop < scrollHeight - clientHeight - 1;\n      } else {\n        var scrollLeft = getNormalizedScrollLeft(tabsRef.current, theme.direction); // use 1 for the potential rounding error with browser zooms.\n\n        showStartScroll = isRtl ? scrollLeft < scrollWidth - clientWidth - 1 : scrollLeft > 1;\n        showEndScroll = !isRtl ? scrollLeft < scrollWidth - clientWidth - 1 : scrollLeft > 1;\n      }\n      if (showStartScroll !== displayScroll.start || showEndScroll !== displayScroll.end) {\n        setDisplayScroll({\n          start: showStartScroll,\n          end: showEndScroll\n        });\n      }\n    }\n  });\n  React.useEffect(function () {\n    var handleResize = debounce(function () {\n      updateIndicatorState();\n      updateScrollButtonState();\n    });\n    var win = ownerWindow(tabsRef.current);\n    win.addEventListener('resize', handleResize);\n    return function () {\n      handleResize.clear();\n      win.removeEventListener('resize', handleResize);\n    };\n  }, [updateIndicatorState, updateScrollButtonState]);\n  var handleTabsScroll = React.useCallback(debounce(function () {\n    updateScrollButtonState();\n  }));\n  React.useEffect(function () {\n    return function () {\n      handleTabsScroll.clear();\n    };\n  }, [handleTabsScroll]);\n  React.useEffect(function () {\n    setMounted(true);\n  }, []);\n  React.useEffect(function () {\n    updateIndicatorState();\n    updateScrollButtonState();\n  });\n  React.useEffect(function () {\n    scrollSelectedIntoView();\n  }, [scrollSelectedIntoView, indicatorStyle]);\n  React.useImperativeHandle(action, function () {\n    return {\n      updateIndicator: updateIndicatorState,\n      updateScrollButtons: updateScrollButtonState\n    };\n  }, [updateIndicatorState, updateScrollButtonState]);\n  var indicator = /*#__PURE__*/React.createElement(TabIndicator, _extends({\n    className: classes.indicator,\n    orientation: orientation,\n    color: indicatorColor\n  }, TabIndicatorProps, {\n    style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n  }));\n  var childIndex = 0;\n  var children = React.Children.map(childrenProp, function (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([\"Material-UI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n      }\n    }\n    var childValue = child.props.value === undefined ? childIndex : child.props.value;\n    valueToIndex.set(childValue, childIndex);\n    var selected = childValue === value;\n    childIndex += 1;\n    return /*#__PURE__*/React.cloneElement(child, {\n      fullWidth: variant === 'fullWidth',\n      indicator: selected && !mounted && indicator,\n      selected: selected,\n      selectionFollowsFocus: selectionFollowsFocus,\n      onChange: onChange,\n      textColor: textColor,\n      value: childValue\n    });\n  });\n  var handleKeyDown = function handleKeyDown(event) {\n    var target = event.target; // 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\n    var role = target.getAttribute('role');\n    if (role !== 'tab') {\n      return;\n    }\n    var newFocusTarget = null;\n    var previousItemKey = orientation !== \"vertical\" ? 'ArrowLeft' : 'ArrowUp';\n    var nextItemKey = orientation !== \"vertical\" ? 'ArrowRight' : 'ArrowDown';\n    if (orientation !== \"vertical\" && theme.direction === 'rtl') {\n      // swap previousItemKey with nextItemKey\n      previousItemKey = 'ArrowRight';\n      nextItemKey = 'ArrowLeft';\n    }\n    switch (event.key) {\n      case previousItemKey:\n        newFocusTarget = target.previousElementSibling || tabListRef.current.lastChild;\n        break;\n      case nextItemKey:\n        newFocusTarget = target.nextElementSibling || tabListRef.current.firstChild;\n        break;\n      case 'Home':\n        newFocusTarget = tabListRef.current.firstChild;\n        break;\n      case 'End':\n        newFocusTarget = tabListRef.current.lastChild;\n        break;\n      default:\n        break;\n    }\n    if (newFocusTarget !== null) {\n      newFocusTarget.focus();\n      event.preventDefault();\n    }\n  };\n  var conditionalElements = getConditionalElements();\n  return /*#__PURE__*/React.createElement(Component, _extends({\n    className: clsx(classes.root, className, vertical && classes.vertical),\n    ref: ref\n  }, other), conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/React.createElement(\"div\", {\n    className: clsx(classes.scroller, scrollable ? classes.scrollable : classes.fixed),\n    style: scrollerStyle,\n    ref: tabsRef,\n    onScroll: handleTabsScroll\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    \"aria-label\": ariaLabel,\n    \"aria-labelledby\": ariaLabelledBy,\n    className: clsx(classes.flexContainer, vertical && classes.flexContainerVertical, centered && !scrollable && classes.centered),\n    onKeyDown: handleKeyDown,\n    ref: tabListRef,\n    role: \"tablist\"\n  }, children), mounted && indicator), conditionalElements.scrollButtonEnd);\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes = {\n  // ----------------------------- Warning --------------------------------\n  // | These PropTypes are generated from the TypeScript type definitions |\n  // |     To update them edit the d.ts file and run \"yarn proptypes\"     |\n  // ----------------------------------------------------------------------\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   * 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 will be centered.\n   * This property is intended for large views.\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   * See [CSS API](#css) below for more details.\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\n  /* @typescript-to-proptypes-ignore */.elementType,\n  /**\n   * Determines the color of the indicator.\n   */\n  indicatorColor: PropTypes.oneOf(['primary', 'secondary']),\n  /**\n   * Callback fired when the value changes.\n   *\n   * @param {object} event The event source of the callback\n   * @param {any} value We default to the index of the child (number)\n   */\n  onChange: PropTypes.func,\n  /**\n   * The tabs orientation (layout flow direction).\n   */\n  orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n  /**\n   * The component used to render the scroll buttons.\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   * - `desktop` will only present them on medium and larger viewports.\n   * - `on` will always present them.\n   * - `off` will never present them.\n   */\n  scrollButtons: PropTypes.oneOf(['auto', 'desktop', 'off', 'on']),\n  /**\n   * If `true` the selected tab changes on focus. Otherwise it only\n   * changes on activation.\n   */\n  selectionFollowsFocus: PropTypes.bool,\n  /**\n   * Props applied to the tab indicator element.\n   */\n  TabIndicatorProps: PropTypes.object,\n  /**\n   * Props applied to the [`TabScrollButton`](/api/tab-scroll-button/) element.\n   */\n  TabScrollButtonProps: PropTypes.object,\n  /**\n   * Determines the color of the `Tab`.\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 property 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   */\n  variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard'])\n} : void 0;\nexport default withStyles(styles, {\n  name: 'MuiTabs'\n})(Tabs);","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon(/*#__PURE__*/React.createElement(\"path\", {\n  d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nexport default createSvgIcon(/*#__PURE__*/React.createElement(\"path\", {\n  d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport unsupportedProp from '../utils/unsupportedProp';\nexport var styles = function styles(theme) {\n  var _extends2;\n  return {\n    /* Styles applied to the root element. */\n    root: _extends({}, theme.typography.button, (_extends2 = {\n      maxWidth: 264,\n      minWidth: 72,\n      position: 'relative',\n      boxSizing: 'border-box',\n      minHeight: 48,\n      flexShrink: 0,\n      padding: '6px 12px'\n    }, _defineProperty(_extends2, theme.breakpoints.up('sm'), {\n      padding: '6px 24px'\n    }), _defineProperty(_extends2, \"overflow\", 'hidden'), _defineProperty(_extends2, \"whiteSpace\", 'normal'), _defineProperty(_extends2, \"textAlign\", 'center'), _defineProperty(_extends2, theme.breakpoints.up('sm'), {\n      minWidth: 160\n    }), _extends2)),\n    /* Styles applied to the root element if both `icon` and `label` are provided. */\n    labelIcon: {\n      minHeight: 72,\n      paddingTop: 9,\n      '& $wrapper > *:first-child': {\n        marginBottom: 6\n      }\n    },\n    /* Styles applied to the root element if the parent [`Tabs`](/api/tabs/) has `textColor=\"inherit\"`. */\n    textColorInherit: {\n      color: 'inherit',\n      opacity: 0.7,\n      '&$selected': {\n        opacity: 1\n      },\n      '&$disabled': {\n        opacity: 0.5\n      }\n    },\n    /* Styles applied to the root element if the parent [`Tabs`](/api/tabs/) has `textColor=\"primary\"`. */\n    textColorPrimary: {\n      color: theme.palette.text.secondary,\n      '&$selected': {\n        color: theme.palette.primary.main\n      },\n      '&$disabled': {\n        color: theme.palette.text.disabled\n      }\n    },\n    /* Styles applied to the root element if the parent [`Tabs`](/api/tabs/) has `textColor=\"secondary\"`. */\n    textColorSecondary: {\n      color: theme.palette.text.secondary,\n      '&$selected': {\n        color: theme.palette.secondary.main\n      },\n      '&$disabled': {\n        color: theme.palette.text.disabled\n      }\n    },\n    /* Pseudo-class applied to the root element if `selected={true}` (controlled by the Tabs component). */\n    selected: {},\n    /* Pseudo-class applied to the root element if `disabled={true}` (controlled by the Tabs component). */\n    disabled: {},\n    /* Styles applied to the root element if `fullWidth={true}` (controlled by the Tabs component). */\n    fullWidth: {\n      flexShrink: 1,\n      flexGrow: 1,\n      flexBasis: 0,\n      maxWidth: 'none'\n    },\n    /* Styles applied to the root element if `wrapped={true}`. */\n    wrapped: {\n      fontSize: theme.typography.pxToRem(12),\n      lineHeight: 1.5\n    },\n    /* Styles applied to the `icon` and `label`'s wrapper element. */\n    wrapper: {\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: '100%',\n      flexDirection: 'column'\n    }\n  };\n};\nvar Tab = /*#__PURE__*/React.forwardRef(function Tab(props, ref) {\n  var classes = props.classes,\n    className = props.className,\n    _props$disabled = props.disabled,\n    disabled = _props$disabled === void 0 ? false : _props$disabled,\n    _props$disableFocusRi = props.disableFocusRipple,\n    disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n    fullWidth = props.fullWidth,\n    icon = props.icon,\n    indicator = props.indicator,\n    label = props.label,\n    onChange = props.onChange,\n    onClick = props.onClick,\n    onFocus = props.onFocus,\n    selected = props.selected,\n    selectionFollowsFocus = props.selectionFollowsFocus,\n    _props$textColor = props.textColor,\n    textColor = _props$textColor === void 0 ? 'inherit' : _props$textColor,\n    value = props.value,\n    _props$wrapped = props.wrapped,\n    wrapped = _props$wrapped === void 0 ? false : _props$wrapped,\n    other = _objectWithoutProperties(props, [\"classes\", \"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"]);\n  var handleClick = function handleClick(event) {\n    if (onChange) {\n      onChange(event, value);\n    }\n    if (onClick) {\n      onClick(event);\n    }\n  };\n  var handleFocus = function handleFocus(event) {\n    if (selectionFollowsFocus && !selected && onChange) {\n      onChange(event, value);\n    }\n    if (onFocus) {\n      onFocus(event);\n    }\n  };\n  return /*#__PURE__*/React.createElement(ButtonBase, _extends({\n    focusRipple: !disableFocusRipple,\n    className: clsx(classes.root, classes[\"textColor\".concat(capitalize(textColor))], className, disabled && classes.disabled, selected && classes.selected, label && icon && classes.labelIcon, fullWidth && classes.fullWidth, wrapped && classes.wrapped),\n    ref: ref,\n    role: \"tab\",\n    \"aria-selected\": selected,\n    disabled: disabled,\n    onClick: handleClick,\n    onFocus: handleFocus,\n    tabIndex: selected ? 0 : -1\n  }, other), /*#__PURE__*/React.createElement(\"span\", {\n    className: classes.wrapper\n  }, icon, label), indicator);\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes = {\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   * See [CSS API](#css) below for more details.\n   */\n  classes: PropTypes.object.isRequired,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * If `true`, the tab will be disabled.\n   */\n  disabled: PropTypes.bool,\n  /**\n   * If `true`, the  keyboard focus ripple will be disabled.\n   */\n  disableFocusRipple: PropTypes.bool,\n  /**\n   * If `true`, the ripple effect will be disabled.\n   */\n  disableRipple: PropTypes.bool,\n  /**\n   * @ignore\n   */\n  fullWidth: PropTypes.bool,\n  /**\n   * The icon element.\n   */\n  icon: PropTypes.node,\n  /**\n   * @ignore\n   * For server-side rendering consideration, we let the selected tab\n   * render the indicator.\n   */\n  indicator: PropTypes.node,\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   * @ignore\n   */\n  selected: PropTypes.bool,\n  /**\n   * @ignore\n   */\n  selectionFollowsFocus: PropTypes.bool,\n  /**\n   * @ignore\n   */\n  textColor: PropTypes.oneOf(['secondary', 'primary', 'inherit']),\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   */\n  wrapped: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n  name: 'MuiTab'\n})(Tab);"],"sourceRoot":""}