{"ast":null,"code":"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 * as ReactDOM from 'react-dom';\nimport debounce from '../utils/debounce';\nimport { Transition } from 'react-transition-group';\nimport { elementAcceptingRef } from '@material-ui/utils';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { duration } from '../styles/transitions';\nimport { reflow, getTransitionProps } from '../transitions/utils'; // Translate the node so he can't be seen on the screen.\n// Later, we gonna translate back the node to his original location\n// with `none`.`\n\nfunction getTranslateValue(direction, node) {\n  var rect = node.getBoundingClientRect();\n  var transform;\n\n  if (node.fakeTransform) {\n    transform = node.fakeTransform;\n  } else {\n    var computedStyle = window.getComputedStyle(node);\n    transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n  }\n\n  var offsetX = 0;\n  var offsetY = 0;\n\n  if (transform && transform !== 'none' && typeof transform === 'string') {\n    var transformValues = transform.split('(')[1].split(')')[0].split(',');\n    offsetX = parseInt(transformValues[4], 10);\n    offsetY = parseInt(transformValues[5], 10);\n  }\n\n  if (direction === 'left') {\n    return \"translateX(\".concat(window.innerWidth, \"px) translateX(\").concat(offsetX - rect.left, \"px)\");\n  }\n\n  if (direction === 'right') {\n    return \"translateX(-\".concat(rect.left + rect.width - offsetX, \"px)\");\n  }\n\n  if (direction === 'up') {\n    return \"translateY(\".concat(window.innerHeight, \"px) translateY(\").concat(offsetY - rect.top, \"px)\");\n  } // direction === 'down'\n\n\n  return \"translateY(-\".concat(rect.top + rect.height - offsetY, \"px)\");\n}\n\nexport function setTranslateValue(direction, node) {\n  var transform = getTranslateValue(direction, node);\n\n  if (transform) {\n    node.style.webkitTransform = transform;\n    node.style.transform = transform;\n  }\n}\nvar defaultTimeout = {\n  enter: duration.enteringScreen,\n  exit: duration.leavingScreen\n};\n/**\n * The Slide transition is used by the [Drawer](/components/drawers/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n  var children = props.children,\n      _props$direction = props.direction,\n      direction = _props$direction === void 0 ? 'down' : _props$direction,\n      inProp = props.in,\n      onEnter = props.onEnter,\n      onEntered = props.onEntered,\n      onEntering = props.onEntering,\n      onExit = props.onExit,\n      onExited = props.onExited,\n      onExiting = props.onExiting,\n      style = props.style,\n      _props$timeout = props.timeout,\n      timeout = _props$timeout === void 0 ? defaultTimeout : _props$timeout,\n      _props$TransitionComp = props.TransitionComponent,\n      TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n      other = _objectWithoutProperties(props, [\"children\", \"direction\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n  var theme = useTheme();\n  var childrenRef = React.useRef(null);\n  /**\n   * used in cloneElement(children, { ref: handleRef })\n   */\n\n  var handleOwnRef = React.useCallback(function (instance) {\n    // #StrictMode ready\n    childrenRef.current = ReactDOM.findDOMNode(instance);\n  }, []);\n  var handleRefIntermediary = useForkRef(children.ref, handleOwnRef);\n  var handleRef = useForkRef(handleRefIntermediary, ref);\n\n  var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n    return function (isAppearing) {\n      if (callback) {\n        // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n        if (isAppearing === undefined) {\n          callback(childrenRef.current);\n        } else {\n          callback(childrenRef.current, isAppearing);\n        }\n      }\n    };\n  };\n\n  var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n    setTranslateValue(direction, node);\n    reflow(node);\n\n    if (onEnter) {\n      onEnter(node, isAppearing);\n    }\n  });\n  var handleEntering = normalizedTransitionCallback(function (node, isAppearing) {\n    var transitionProps = getTransitionProps({\n      timeout: timeout,\n      style: style\n    }, {\n      mode: 'enter'\n    });\n    node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.easeOut\n    }));\n    node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.easeOut\n    }));\n    node.style.webkitTransform = 'none';\n    node.style.transform = 'none';\n\n    if (onEntering) {\n      onEntering(node, isAppearing);\n    }\n  });\n  var handleEntered = normalizedTransitionCallback(onEntered);\n  var handleExiting = normalizedTransitionCallback(onExiting);\n  var handleExit = normalizedTransitionCallback(function (node) {\n    var transitionProps = getTransitionProps({\n      timeout: timeout,\n      style: style\n    }, {\n      mode: 'exit'\n    });\n    node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.sharp\n    }));\n    node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.sharp\n    }));\n    setTranslateValue(direction, node);\n\n    if (onExit) {\n      onExit(node);\n    }\n  });\n  var handleExited = normalizedTransitionCallback(function (node) {\n    // No need for transitions when the component is hidden\n    node.style.webkitTransition = '';\n    node.style.transition = '';\n\n    if (onExited) {\n      onExited(node);\n    }\n  });\n  var updatePosition = React.useCallback(function () {\n    if (childrenRef.current) {\n      setTranslateValue(direction, childrenRef.current);\n    }\n  }, [direction]);\n  React.useEffect(function () {\n    // Skip configuration where the position is screen size invariant.\n    if (inProp || direction === 'down' || direction === 'right') {\n      return undefined;\n    }\n\n    var handleResize = debounce(function () {\n      if (childrenRef.current) {\n        setTranslateValue(direction, childrenRef.current);\n      }\n    });\n    window.addEventListener('resize', handleResize);\n    return function () {\n      handleResize.clear();\n      window.removeEventListener('resize', handleResize);\n    };\n  }, [direction, inProp]);\n  React.useEffect(function () {\n    if (!inProp) {\n      // We need to update the position of the drawer when the direction change and\n      // when it's hidden.\n      updatePosition();\n    }\n  }, [inProp, updatePosition]);\n  return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n    nodeRef: childrenRef,\n    onEnter: handleEnter,\n    onEntered: handleEntered,\n    onEntering: handleEntering,\n    onExit: handleExit,\n    onExited: handleExited,\n    onExiting: handleExiting,\n    appear: true,\n    in: inProp,\n    timeout: timeout\n  }, other), function (state, childProps) {\n    return /*#__PURE__*/React.cloneElement(children, _extends({\n      ref: handleRef,\n      style: _extends({\n        visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n      }, style, children.props.style)\n    }, childProps));\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.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   * A single child content element.\n   */\n  children: elementAcceptingRef,\n\n  /**\n   * Direction the child node will enter from.\n   */\n  direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n\n  /**\n   * If `true`, show the component; triggers the enter or exit animation.\n   */\n  in: PropTypes.bool,\n\n  /**\n   * @ignore\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onExited: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  style: PropTypes.object,\n\n  /**\n   * The duration for the transition, in milliseconds.\n   * You may specify a single timeout for all transitions, or individually with an object.\n   */\n  timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n    appear: PropTypes.number,\n    enter: PropTypes.number,\n    exit: PropTypes.number\n  })])\n} : void 0;\nexport default Slide;","map":{"version":3,"sources":["C:/laragon/www/itokin/DriverOPCDA/frontend/node_modules/@material-ui/core/esm/Slide/Slide.js"],"names":["_extends","_objectWithoutProperties","React","PropTypes","ReactDOM","debounce","Transition","elementAcceptingRef","useForkRef","useTheme","duration","reflow","getTransitionProps","getTranslateValue","direction","node","rect","getBoundingClientRect","transform","fakeTransform","computedStyle","window","getComputedStyle","getPropertyValue","offsetX","offsetY","transformValues","split","parseInt","concat","innerWidth","left","width","innerHeight","top","height","setTranslateValue","style","webkitTransform","defaultTimeout","enter","enteringScreen","exit","leavingScreen","Slide","forwardRef","props","ref","children","_props$direction","inProp","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","_props$timeout","timeout","_props$TransitionComp","TransitionComponent","other","theme","childrenRef","useRef","handleOwnRef","useCallback","instance","current","findDOMNode","handleRefIntermediary","handleRef","normalizedTransitionCallback","callback","isAppearing","undefined","handleEnter","handleEntering","transitionProps","mode","webkitTransition","transitions","create","easing","easeOut","transition","handleEntered","handleExiting","handleExit","sharp","handleExited","updatePosition","useEffect","handleResize","addEventListener","clear","removeEventListener","createElement","nodeRef","appear","state","childProps","cloneElement","visibility","process","env","NODE_ENV","propTypes","oneOf","bool","func","object","oneOfType","number","shape"],"mappings":"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","sourcesContent":["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 * as ReactDOM from 'react-dom';\nimport debounce from '../utils/debounce';\nimport { Transition } from 'react-transition-group';\nimport { elementAcceptingRef } from '@material-ui/utils';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { duration } from '../styles/transitions';\nimport { reflow, getTransitionProps } from '../transitions/utils'; // Translate the node so he can't be seen on the screen.\n// Later, we gonna translate back the node to his original location\n// with `none`.`\n\nfunction getTranslateValue(direction, node) {\n  var rect = node.getBoundingClientRect();\n  var transform;\n\n  if (node.fakeTransform) {\n    transform = node.fakeTransform;\n  } else {\n    var computedStyle = window.getComputedStyle(node);\n    transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n  }\n\n  var offsetX = 0;\n  var offsetY = 0;\n\n  if (transform && transform !== 'none' && typeof transform === 'string') {\n    var transformValues = transform.split('(')[1].split(')')[0].split(',');\n    offsetX = parseInt(transformValues[4], 10);\n    offsetY = parseInt(transformValues[5], 10);\n  }\n\n  if (direction === 'left') {\n    return \"translateX(\".concat(window.innerWidth, \"px) translateX(\").concat(offsetX - rect.left, \"px)\");\n  }\n\n  if (direction === 'right') {\n    return \"translateX(-\".concat(rect.left + rect.width - offsetX, \"px)\");\n  }\n\n  if (direction === 'up') {\n    return \"translateY(\".concat(window.innerHeight, \"px) translateY(\").concat(offsetY - rect.top, \"px)\");\n  } // direction === 'down'\n\n\n  return \"translateY(-\".concat(rect.top + rect.height - offsetY, \"px)\");\n}\n\nexport function setTranslateValue(direction, node) {\n  var transform = getTranslateValue(direction, node);\n\n  if (transform) {\n    node.style.webkitTransform = transform;\n    node.style.transform = transform;\n  }\n}\nvar defaultTimeout = {\n  enter: duration.enteringScreen,\n  exit: duration.leavingScreen\n};\n/**\n * The Slide transition is used by the [Drawer](/components/drawers/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n  var children = props.children,\n      _props$direction = props.direction,\n      direction = _props$direction === void 0 ? 'down' : _props$direction,\n      inProp = props.in,\n      onEnter = props.onEnter,\n      onEntered = props.onEntered,\n      onEntering = props.onEntering,\n      onExit = props.onExit,\n      onExited = props.onExited,\n      onExiting = props.onExiting,\n      style = props.style,\n      _props$timeout = props.timeout,\n      timeout = _props$timeout === void 0 ? defaultTimeout : _props$timeout,\n      _props$TransitionComp = props.TransitionComponent,\n      TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n      other = _objectWithoutProperties(props, [\"children\", \"direction\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n\n  var theme = useTheme();\n  var childrenRef = React.useRef(null);\n  /**\n   * used in cloneElement(children, { ref: handleRef })\n   */\n\n  var handleOwnRef = React.useCallback(function (instance) {\n    // #StrictMode ready\n    childrenRef.current = ReactDOM.findDOMNode(instance);\n  }, []);\n  var handleRefIntermediary = useForkRef(children.ref, handleOwnRef);\n  var handleRef = useForkRef(handleRefIntermediary, ref);\n\n  var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n    return function (isAppearing) {\n      if (callback) {\n        // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n        if (isAppearing === undefined) {\n          callback(childrenRef.current);\n        } else {\n          callback(childrenRef.current, isAppearing);\n        }\n      }\n    };\n  };\n\n  var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n    setTranslateValue(direction, node);\n    reflow(node);\n\n    if (onEnter) {\n      onEnter(node, isAppearing);\n    }\n  });\n  var handleEntering = normalizedTransitionCallback(function (node, isAppearing) {\n    var transitionProps = getTransitionProps({\n      timeout: timeout,\n      style: style\n    }, {\n      mode: 'enter'\n    });\n    node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.easeOut\n    }));\n    node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.easeOut\n    }));\n    node.style.webkitTransform = 'none';\n    node.style.transform = 'none';\n\n    if (onEntering) {\n      onEntering(node, isAppearing);\n    }\n  });\n  var handleEntered = normalizedTransitionCallback(onEntered);\n  var handleExiting = normalizedTransitionCallback(onExiting);\n  var handleExit = normalizedTransitionCallback(function (node) {\n    var transitionProps = getTransitionProps({\n      timeout: timeout,\n      style: style\n    }, {\n      mode: 'exit'\n    });\n    node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.sharp\n    }));\n    node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps, {\n      easing: theme.transitions.easing.sharp\n    }));\n    setTranslateValue(direction, node);\n\n    if (onExit) {\n      onExit(node);\n    }\n  });\n  var handleExited = normalizedTransitionCallback(function (node) {\n    // No need for transitions when the component is hidden\n    node.style.webkitTransition = '';\n    node.style.transition = '';\n\n    if (onExited) {\n      onExited(node);\n    }\n  });\n  var updatePosition = React.useCallback(function () {\n    if (childrenRef.current) {\n      setTranslateValue(direction, childrenRef.current);\n    }\n  }, [direction]);\n  React.useEffect(function () {\n    // Skip configuration where the position is screen size invariant.\n    if (inProp || direction === 'down' || direction === 'right') {\n      return undefined;\n    }\n\n    var handleResize = debounce(function () {\n      if (childrenRef.current) {\n        setTranslateValue(direction, childrenRef.current);\n      }\n    });\n    window.addEventListener('resize', handleResize);\n    return function () {\n      handleResize.clear();\n      window.removeEventListener('resize', handleResize);\n    };\n  }, [direction, inProp]);\n  React.useEffect(function () {\n    if (!inProp) {\n      // We need to update the position of the drawer when the direction change and\n      // when it's hidden.\n      updatePosition();\n    }\n  }, [inProp, updatePosition]);\n  return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n    nodeRef: childrenRef,\n    onEnter: handleEnter,\n    onEntered: handleEntered,\n    onEntering: handleEntering,\n    onExit: handleExit,\n    onExited: handleExited,\n    onExiting: handleExiting,\n    appear: true,\n    in: inProp,\n    timeout: timeout\n  }, other), function (state, childProps) {\n    return /*#__PURE__*/React.cloneElement(children, _extends({\n      ref: handleRef,\n      style: _extends({\n        visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n      }, style, children.props.style)\n    }, childProps));\n  });\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.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   * A single child content element.\n   */\n  children: elementAcceptingRef,\n\n  /**\n   * Direction the child node will enter from.\n   */\n  direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n\n  /**\n   * If `true`, show the component; triggers the enter or exit animation.\n   */\n  in: PropTypes.bool,\n\n  /**\n   * @ignore\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onExited: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * @ignore\n   */\n  style: PropTypes.object,\n\n  /**\n   * The duration for the transition, in milliseconds.\n   * You may specify a single timeout for all transitions, or individually with an object.\n   */\n  timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n    appear: PropTypes.number,\n    enter: PropTypes.number,\n    exit: PropTypes.number\n  })])\n} : void 0;\nexport default Slide;"]},"metadata":{},"sourceType":"module"}