diff --git a/dist/bundle.js b/dist/bundle.js index 32e85c31..3325c63c 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -2283,17 +2283,10 @@ const touchRippleClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"] /***/ }), -<<<<<<< HEAD /***/ "./node_modules/@mui/material/List/List.js": /*!*************************************************!*\ !*** ./node_modules/@mui/material/List/List.js ***! \*************************************************/ -======= -/***/ "./node_modules/@mui/material/ListItemButton/ListItemButton.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemButton/ListItemButton.js ***! - \*********************************************************************/ ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -2309,21 +2302,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/esm/composeClasses/composeClasses.js"); -<<<<<<< HEAD /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); /* harmony import */ var _ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ListContext */ "./node_modules/@mui/material/List/ListContext.js"); /* harmony import */ var _listClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listClasses */ "./node_modules/@mui/material/List/listClasses.js"); -======= -/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/system */ "./node_modules/@mui/system/esm/colorManipulator.js"); -/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); -/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); -/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../ButtonBase */ "./node_modules/@mui/material/ButtonBase/ButtonBase.js"); -/* harmony import */ var _utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useEnhancedEffect */ "./node_modules/@mui/material/utils/useEnhancedEffect.js"); -/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/useForkRef */ "./node_modules/@mui/material/utils/useForkRef.js"); -/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); -/* harmony import */ var _listItemButtonClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemButtonClasses */ "./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js"); ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); @@ -2372,542 +2354,10 @@ const ListRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('ul' }, ownerState.subheader && { paddingTop: 0 })); -<<<<<<< HEAD const List = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function List(inProps, ref) { const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ props: inProps, name: 'MuiList' -======= -const ListItemButton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemButton(inProps, ref) { - const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_10__["default"])({ - props: inProps, - name: 'MuiListItemButton' - }); - const { - alignItems = 'center', - autoFocus = false, - component = 'div', - children, - dense = false, - disableGutters = false, - divider = false, - focusVisibleClassName, - selected = false, - className - } = props, - other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); - const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_11__["default"]); - const childContext = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => ({ - dense: dense || context.dense || false, - alignItems, - disableGutters - }), [alignItems, context.dense, dense, disableGutters]); - const listItemRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null); - (0,_utils_useEnhancedEffect__WEBPACK_IMPORTED_MODULE_12__["default"])(() => { - if (autoFocus) { - if (listItemRef.current) { - listItemRef.current.focus(); - } else if (true) { - console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.'); - } - } - }, [autoFocus]); - const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { - alignItems, - dense: childContext.dense, - disableGutters, - divider, - selected - }); - const classes = useUtilityClasses(ownerState); - const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_13__["default"])(listItemRef, ref); - return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_List_ListContext__WEBPACK_IMPORTED_MODULE_11__["default"].Provider, { - value: childContext, - children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ListItemButtonRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ - ref: handleRef, - href: other.href || other.to, - component: (other.href || other.to) && component === 'div' ? 'a' : component, - focusVisibleClassName: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.focusVisible, focusVisibleClassName), - ownerState: ownerState, - className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className) - }, other, { - classes: classes, - children: children - })) - }); -}); - true ? ListItemButton.propTypes /* remove-proptypes */ = { - // ----------------------------- Warning -------------------------------- - // | These PropTypes are generated from the TypeScript type definitions | - // | To update them edit the d.ts file and run "yarn proptypes" | - // ---------------------------------------------------------------------- - /** - * Defines the `align-items` style property. - * @default 'center' - */ - alignItems: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOf(['center', 'flex-start']), - /** - * If `true`, the list item is focused during the first mount. - * Focus will also be triggered if the value changes from false to true. - * @default false - */ - autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), - /** - * The content of the component if a `ListItemSecondaryAction` is used it must - * be the last child. - */ - children: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().node), - /** - * Override or extend the styles applied to the component. - */ - classes: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), - /** - * @ignore - */ - className: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), - /** - * The component used for the root node. - * Either a string to use a HTML element or a component. - */ - component: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().elementType), - /** - * If `true`, compact vertical padding designed for keyboard and mouse input is used. - * The prop defaults to the value inherited from the parent List component. - * @default false - */ - dense: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), - /** - * If `true`, the component is disabled. - * @default false - */ - disabled: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), - /** - * If `true`, the left and right padding is removed. - * @default false - */ - disableGutters: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), - /** - * If `true`, a 1px light border is added to the bottom of the list item. - * @default false - */ - divider: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), - /** - * This prop can help identify which element has keyboard focus. - * The class name will be applied when the element gains the focus through keyboard interaction. - * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo). - * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md). - * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components - * if needed. - */ - focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), - /** - * @ignore - */ - href: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().string), - /** - * Use to apply selected styling. - * @default false - */ - selected: (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool), - /** - * The system prop that allows defining system overrides as well as additional CSS styles. - */ - sx: prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_14___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_14___default().object)]) -} : 0; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItemButton); - -/***/ }), - -/***/ "./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemButton/listItemButtonClasses.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), -/* harmony export */ "getListItemButtonUtilityClass": () => (/* binding */ getListItemButtonUtilityClass) -/* harmony export */ }); -/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js"); -/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ "./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js"); - - -function getListItemButtonUtilityClass(slot) { - return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemButton', slot); -} -const listItemButtonClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemButtonClasses); - -/***/ }), - -/***/ "./node_modules/@mui/material/ListItemIcon/ListItemIcon.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemIcon/ListItemIcon.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); -/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/esm/composeClasses/composeClasses.js"); -/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); -/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); -/* harmony import */ var _listItemIconClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemIconClasses */ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js"); -/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); - - -const _excluded = ["className"]; - - - - - - - - - -const useUtilityClasses = ownerState => { - const { - alignItems, - classes - } = ownerState; - const slots = { - root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart'] - }; - return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemIconClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemIconUtilityClass, classes); -}; -const ListItemIconRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { - name: 'MuiListItemIcon', - slot: 'Root', - overridesResolver: (props, styles) => { - const { - ownerState - } = props; - return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart]; - } -})(({ - theme, - ownerState -}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ - minWidth: 56, - color: (theme.vars || theme).palette.action.active, - flexShrink: 0, - display: 'inline-flex' -}, ownerState.alignItems === 'flex-start' && { - marginTop: 8 -})); - -/** - * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`. - */ -const ListItemIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemIcon(inProps, ref) { - const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ - props: inProps, - name: 'MuiListItemIcon' - }); - const { - className - } = props, - other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); - const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_9__["default"]); - const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { - alignItems: context.alignItems - }); - const classes = useUtilityClasses(ownerState); - return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ListItemIconRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ - className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), - ownerState: ownerState, - ref: ref - }, other)); -}); - true ? ListItemIcon.propTypes /* remove-proptypes */ = { - // ----------------------------- Warning -------------------------------- - // | These PropTypes are generated from the TypeScript type definitions | - // | To update them edit the d.ts file and run "yarn proptypes" | - // ---------------------------------------------------------------------- - /** - * The content of the component, normally `Icon`, `SvgIcon`, - * or a `@mui/icons-material` SVG icon element. - */ - children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), - /** - * Override or extend the styles applied to the component. - */ - classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), - /** - * @ignore - */ - className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), - /** - * The system prop that allows defining system overrides as well as additional CSS styles. - */ - sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]) -} : 0; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItemIcon); - -/***/ }), - -/***/ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js": -/*!************************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), -/* harmony export */ "getListItemIconUtilityClass": () => (/* binding */ getListItemIconUtilityClass) -/* harmony export */ }); -/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js"); -/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ "./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js"); - - -function getListItemIconUtilityClass(slot) { - return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemIcon', slot); -} -const listItemIconClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemIcon', ['root', 'alignItemsFlexStart']); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemIconClasses); - -/***/ }), - -/***/ "./node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); -/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/esm/composeClasses/composeClasses.js"); -/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); -/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); -/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); -/* harmony import */ var _listItemSecondaryActionClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemSecondaryActionClasses */ "./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js"); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); - - -const _excluded = ["className"]; - - - - - - - - - -const useUtilityClasses = ownerState => { - const { - disableGutters, - classes - } = ownerState; - const slots = { - root: ['root', disableGutters && 'disableGutters'] - }; - return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemSecondaryActionClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemSecondaryActionClassesUtilityClass, classes); -}; -const ListItemSecondaryActionRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { - name: 'MuiListItemSecondaryAction', - slot: 'Root', - overridesResolver: (props, styles) => { - const { - ownerState - } = props; - return [styles.root, ownerState.disableGutters && styles.disableGutters]; - } -})(({ - ownerState -}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ - position: 'absolute', - right: 16, - top: '50%', - transform: 'translateY(-50%)' -}, ownerState.disableGutters && { - right: 0 -})); - -/** - * Must be used as the last child of ListItem to function properly. - */ -const ListItemSecondaryAction = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemSecondaryAction(inProps, ref) { - const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ - props: inProps, - name: 'MuiListItemSecondaryAction' - }); - const { - className - } = props, - other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(props, _excluded); - const context = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_List_ListContext__WEBPACK_IMPORTED_MODULE_9__["default"]); - const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, { - disableGutters: context.disableGutters - }); - const classes = useUtilityClasses(ownerState); - return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(ListItemSecondaryActionRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ - className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__["default"])(classes.root, className), - ownerState: ownerState, - ref: ref - }, other)); -}); - true ? ListItemSecondaryAction.propTypes /* remove-proptypes */ = { - // ----------------------------- Warning -------------------------------- - // | These PropTypes are generated from the TypeScript type definitions | - // | To update them edit the d.ts file and run "yarn proptypes" | - // ---------------------------------------------------------------------- - /** - * The content of the component, normally an `IconButton` or selection control. - */ - children: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().node), - /** - * Override or extend the styles applied to the component. - */ - classes: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), - /** - * @ignore - */ - className: (prop_types__WEBPACK_IMPORTED_MODULE_10___default().string), - /** - * The system prop that allows defining system overrides as well as additional CSS styles. - */ - sx: prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_10___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_10___default().object)]) -} : 0; -ListItemSecondaryAction.muiName = 'ListItemSecondaryAction'; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListItemSecondaryAction); - -/***/ }), - -/***/ "./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js ***! - \**********************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), -/* harmony export */ "getListItemSecondaryActionClassesUtilityClass": () => (/* binding */ getListItemSecondaryActionClassesUtilityClass) -/* harmony export */ }); -/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ "./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js"); -/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ "./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js"); - - -function getListItemSecondaryActionClassesUtilityClass(slot) { - return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__["default"])('MuiListItemSecondaryAction', slot); -} -const listItemSecondaryActionClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])('MuiListItemSecondaryAction', ['root', 'disableGutters']); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (listItemSecondaryActionClasses); - -/***/ }), - -/***/ "./node_modules/@mui/material/ListItemText/ListItemText.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemText/ListItemText.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.m.js"); -/* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/esm/composeClasses/composeClasses.js"); -/* harmony import */ var _Typography__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Typography */ "./node_modules/@mui/material/Typography/Typography.js"); -/* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); -/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); -/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); -/* harmony import */ var _listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemTextClasses */ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js"); -/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); - - -const _excluded = ["children", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"]; - - - - - - - - - - - -const useUtilityClasses = ownerState => { - const { - classes, - inset, - primary, - secondary, - dense - } = ownerState; - const slots = { - root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'], - primary: ['primary'], - secondary: ['secondary'] - }; - return (0,_mui_base__WEBPACK_IMPORTED_MODULE_5__["default"])(slots, _listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__.getListItemTextUtilityClass, classes); -}; -const ListItemTextRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__["default"])('div', { - name: 'MuiListItemText', - slot: 'Root', - overridesResolver: (props, styles) => { - const { - ownerState - } = props; - return [{ - [`& .${_listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__["default"].primary}`]: styles.primary - }, { - [`& .${_listItemTextClasses__WEBPACK_IMPORTED_MODULE_6__["default"].secondary}`]: styles.secondary - }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense]; - } -})(({ - ownerState -}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({ - flex: '1 1 auto', - minWidth: 0, - marginTop: 4, - marginBottom: 4 -}, ownerState.primary && ownerState.secondary && { - marginTop: 6, - marginBottom: 6 -}, ownerState.inset && { - paddingLeft: 56 -})); -const ListItemText = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ListItemText(inProps, ref) { - const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__["default"])({ - props: inProps, - name: 'MuiListItemText' ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 }); const { children, @@ -2986,7 +2436,6 @@ const ListItemText = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef( /***/ }), -<<<<<<< HEAD /***/ "./node_modules/@mui/material/List/ListContext.js": /*!********************************************************!*\ !*** ./node_modules/@mui/material/List/ListContext.js ***! @@ -3017,12 +2466,6 @@ if (true) { /*!********************************************************!*\ !*** ./node_modules/@mui/material/List/listClasses.js ***! \********************************************************/ -======= -/***/ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js": -/*!************************************************************************!*\ - !*** ./node_modules/@mui/material/ListItemText/listItemTextClasses.js ***! - \************************************************************************/ ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -3524,7 +2967,6 @@ const listItemClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["default"])(' /***/ }), -<<<<<<< HEAD /***/ "./node_modules/@mui/material/ListItemButton/ListItemButton.js": /*!*********************************************************************!*\ !*** ./node_modules/@mui/material/ListItemButton/ListItemButton.js ***! @@ -3822,12 +3264,6 @@ const listItemButtonClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__["defaul /*!*****************************************************************!*\ !*** ./node_modules/@mui/material/ListItemIcon/ListItemIcon.js ***! \*****************************************************************/ -======= -/***/ "./node_modules/@mui/material/List/List.js": -/*!*************************************************!*\ - !*** ./node_modules/@mui/material/List/List.js ***! - \*************************************************/ ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -3845,13 +3281,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _mui_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base */ "./node_modules/@mui/utils/esm/composeClasses/composeClasses.js"); /* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ "./node_modules/@mui/material/styles/styled.js"); /* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ "./node_modules/@mui/material/styles/useThemeProps.js"); -<<<<<<< HEAD /* harmony import */ var _listItemIconClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listItemIconClasses */ "./node_modules/@mui/material/ListItemIcon/listItemIconClasses.js"); /* harmony import */ var _List_ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../List/ListContext */ "./node_modules/@mui/material/List/ListContext.js"); -======= -/* harmony import */ var _ListContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ListContext */ "./node_modules/@mui/material/List/ListContext.js"); -/* harmony import */ var _listClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./listClasses */ "./node_modules/@mui/material/List/listClasses.js"); ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js"); @@ -4305,43 +3736,10 @@ const ListItemText = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef( /***/ }), -<<<<<<< HEAD /***/ "./node_modules/@mui/material/ListItemText/listItemTextClasses.js": /*!************************************************************************!*\ !*** ./node_modules/@mui/material/ListItemText/listItemTextClasses.js ***! \************************************************************************/ -======= -/***/ "./node_modules/@mui/material/List/ListContext.js": -/*!********************************************************!*\ - !*** ./node_modules/@mui/material/List/ListContext.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); - - -/** - * @ignore - internal component. - */ -const ListContext = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createContext({}); -if (true) { - ListContext.displayName = 'ListContext'; -} -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ListContext); - -/***/ }), - -/***/ "./node_modules/@mui/material/List/listClasses.js": -/*!********************************************************!*\ - !*** ./node_modules/@mui/material/List/listClasses.js ***! - \********************************************************/ ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -12866,17 +12264,10 @@ var ClusteringTabPanel = connector(function (_ref) { } }); story.clusters = _Ducks_StoriesDuck__WEBPACK_IMPORTED_MODULE_14__.clusterAdapter.addMany(story.clusters, clusters); -<<<<<<< HEAD /** story.clusters.entities = clusters.reduce((prev, cur) => { prev[cur.id] = cur; return prev; }, {}); -======= - /** story.clusters.entities = clusters.reduce((prev, cur) => { - prev[cur.id] = cur; - return prev; - }, {}); ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 story.clusters.ids = Object.keys(story.clusters.entities); * */ // if(!addClusterToCurrentStory){ addStory(story); @@ -16335,13 +15726,8 @@ var mapDispatch = function mapDispatch() { return {}; }; var connector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.connect)(mapStateToProps, mapDispatch); -<<<<<<< HEAD /** * Projection card that allows to start/stop the projection and shows the current steps. -======= -/** - * Projection card that allows to start/stop the projection and shows the current steps. ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 */ var ProjectionControlCard = connector(function (_ref) { var onComputingChanged = _ref.onComputingChanged, @@ -18588,10 +17974,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "react-redux"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__); -<<<<<<< HEAD -/* harmony import */ var _Ducks_DetailViewDuck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Ducks/DetailViewDuck */ "./src/components/Ducks/DetailViewDuck.ts"); -======= ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 /* harmony import */ var _mui_material_List__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material/List */ "./node_modules/@mui/material/List/List.js"); /* harmony import */ var _mui_material_ListItem__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material/ListItem */ "./node_modules/@mui/material/ListItem/ListItem.js"); /* harmony import */ var _mui_material_ListItemButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material/ListItemButton */ "./node_modules/@mui/material/ListItemButton/ListItemButton.js"); @@ -22757,17 +22139,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @reduxjs/toolkit */ "./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js"); /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! redux-thunk */ "./node_modules/redux-thunk/es/index.js"); /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uuid */ "./node_modules/uuid/dist/esm-browser/v4.js"); -<<<<<<< HEAD -/* harmony import */ var _PluginScript__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PluginScript */ "./src/components/Store/PluginScript.tsx"); -/* harmony import */ var _RootActions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RootActions */ "./src/components/Store/RootActions.ts"); -/* harmony import */ var _Utility__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utility */ "./src/components/Store/Utility.tsx"); -/* harmony import */ var _Store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Store */ "./src/components/Store/Store.ts"); -======= /* harmony import */ var _Store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Store */ "./src/components/Store/Store.ts"); /* harmony import */ var _PluginScript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PluginScript */ "./src/components/Store/PluginScript.tsx"); /* harmony import */ var _RootActions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RootActions */ "./src/components/Store/RootActions.ts"); /* harmony import */ var _Utility__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utility */ "./src/components/Store/Utility.tsx"); ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } @@ -23191,10 +22566,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } -<<<<<<< HEAD -======= - ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 @@ -36217,19 +35588,11 @@ var mapDispatch = function mapDispatch(dispatch) { }; }; var connector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.connect)(mapStateToProps, mapDispatch); -<<<<<<< HEAD /** * filter rows within vega specs according to threshold * @param rows array of [{ feature, category, score, char, difference }, ...] * @param threshold filter all r={...} with r.difference < threshold, except for quantitative data * @param dataset dataset from props to lookup feature type -======= -/** - * filter rows within vega specs according to threshold - * @param rows array of [{ feature, category, score, char, difference }, ...] - * @param threshold filter all r={...} with r.difference < threshold, except for quantitative data - * @param dataset dataset from props to lookup feature type ->>>>>>> ce688c413126cc332d316aad70fe774903a10d58 */ function filterReactVega(rows, threshold, dataset) { for (var i = 0; i < rows.length; i++) { @@ -103548,7 +102911,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var vega_embed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vega-embed */ "./node_modules/react-vega/node_modules/vega-embed/build/vega-embed.module.js"); +/* harmony import */ var vega_embed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vega-embed */ "./node_modules/vega-embed/build/vega-embed.module.js"); /* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/shallowEqual */ "./node_modules/react-vega/esm/utils/shallowEqual.js"); /* harmony import */ var _utils_getUniqueFieldNames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/getUniqueFieldNames */ "./node_modules/react-vega/esm/utils/getUniqueFieldNames.js"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/react-vega/esm/constants.js"); @@ -104036,7 +103399,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ updateSingleDatasetInView) /* harmony export */ }); -/* harmony import */ var vega_embed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vega-embed */ "./node_modules/react-vega/node_modules/vega-embed/build/vega-embed.module.js"); +/* harmony import */ var vega_embed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vega-embed */ "./node_modules/vega-embed/build/vega-embed.module.js"); /* harmony import */ var _isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFunction */ "./node_modules/react-vega/esm/utils/isFunction.js"); @@ -104052,10735 +103415,9249 @@ function updateSingleDatasetInView(view, name, value) { /***/ }), -/***/ "./node_modules/react-vega/node_modules/vega-embed/build/vega-embed.module.js": -/*!************************************************************************************!*\ - !*** ./node_modules/react-vega/node_modules/vega-embed/build/vega-embed.module.js ***! - \************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +/***/ "./node_modules/react/cjs/react-jsx-runtime.development.js": +/*!*****************************************************************!*\ + !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "DEFAULT_ACTIONS": () => (/* binding */ DEFAULT_ACTIONS), -/* harmony export */ "default": () => (/* binding */ embed), -/* harmony export */ "guessMode": () => (/* binding */ guessMode), -/* harmony export */ "vega": () => (/* binding */ vega), -/* harmony export */ "vegaLite": () => (/* binding */ _vegaLite), -/* harmony export */ "version": () => (/* binding */ version) -/* harmony export */ }); -/* harmony import */ var fast_json_patch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fast-json-patch */ "./node_modules/fast-json-patch/index.mjs"); -/* harmony import */ var json_stringify_pretty_compact__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! json-stringify-pretty-compact */ "./node_modules/react-vega/node_modules/json-stringify-pretty-compact/index.js"); -/* harmony import */ var json_stringify_pretty_compact__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(json_stringify_pretty_compact__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var vega__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vega */ "./node_modules/vega/build/vega.module.js"); -/* harmony import */ var vega_interpreter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vega-interpreter */ "./node_modules/vega-interpreter/build/vega-interpreter.module.js"); -/* harmony import */ var vega_lite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vega-lite */ "./node_modules/vega-lite/build/src/index.js"); -/* harmony import */ var vega_schema_url_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vega-schema-url-parser */ "./node_modules/vega-schema-url-parser/dist/parser.module.js"); -/* harmony import */ var vega_themes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vega-themes */ "./node_modules/vega-themes/build/vega-themes.module.js"); -/* harmony import */ var vega_tooltip__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vega-tooltip */ "./node_modules/vega-tooltip/build/vega-tooltip.module.js"); - +/** @license React v17.0.2 + * react-jsx-runtime.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +if (true) { + (function() { +'use strict'; +var React = __webpack_require__(/*! react */ "react"); +var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); +// ATTENTION +// When adding new symbols to this file, +// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' +// The Symbol used to tag the ReactElement-like types. If there is no native Symbol +// nor polyfill, then a plain number is used for performance. +var REACT_ELEMENT_TYPE = 0xeac7; +var REACT_PORTAL_TYPE = 0xeaca; +exports.Fragment = 0xeacb; +var REACT_STRICT_MODE_TYPE = 0xeacc; +var REACT_PROFILER_TYPE = 0xead2; +var REACT_PROVIDER_TYPE = 0xeacd; +var REACT_CONTEXT_TYPE = 0xeace; +var REACT_FORWARD_REF_TYPE = 0xead0; +var REACT_SUSPENSE_TYPE = 0xead1; +var REACT_SUSPENSE_LIST_TYPE = 0xead8; +var REACT_MEMO_TYPE = 0xead3; +var REACT_LAZY_TYPE = 0xead4; +var REACT_BLOCK_TYPE = 0xead9; +var REACT_SERVER_BLOCK_TYPE = 0xeada; +var REACT_FUNDAMENTAL_TYPE = 0xead5; +var REACT_SCOPE_TYPE = 0xead7; +var REACT_OPAQUE_ID_TYPE = 0xeae0; +var REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1; +var REACT_OFFSCREEN_TYPE = 0xeae2; +var REACT_LEGACY_HIDDEN_TYPE = 0xeae3; +if (typeof Symbol === 'function' && Symbol.for) { + var symbolFor = Symbol.for; + REACT_ELEMENT_TYPE = symbolFor('react.element'); + REACT_PORTAL_TYPE = symbolFor('react.portal'); + exports.Fragment = symbolFor('react.fragment'); + REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode'); + REACT_PROFILER_TYPE = symbolFor('react.profiler'); + REACT_PROVIDER_TYPE = symbolFor('react.provider'); + REACT_CONTEXT_TYPE = symbolFor('react.context'); + REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref'); + REACT_SUSPENSE_TYPE = symbolFor('react.suspense'); + REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list'); + REACT_MEMO_TYPE = symbolFor('react.memo'); + REACT_LAZY_TYPE = symbolFor('react.lazy'); + REACT_BLOCK_TYPE = symbolFor('react.block'); + REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block'); + REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental'); + REACT_SCOPE_TYPE = symbolFor('react.scope'); + REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id'); + REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode'); + REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen'); + REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden'); +} +var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; +var FAUX_ITERATOR_SYMBOL = '@@iterator'; +function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== 'object') { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; + if (typeof maybeIterator === 'function') { + return maybeIterator; } - return obj; + return null; } -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } +var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); +function error(format) { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + printWarning('error', format, args); } } -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); +function printWarning(level, format, args) { + // When changing this logic, you might want to also + // update consoleWithStackDev.www.js as well. + { + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } + if (stack !== '') { + format += '%s'; + args = args.concat([stack]); + } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } + var argsWithFormat = args.map(function (item) { + return '' + item; + }); // Careful: RN currently depends on this prefix - _next(undefined); - }); - }; -} + argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it + // breaks IE9: https://github.com/facebook/react/issues/13610 + // eslint-disable-next-line react-internal/no-production-logging -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ + Function.prototype.apply.call(console[level], console, argsWithFormat); + } +} -var Op = Object.prototype; -var hasOwn = Op.hasOwnProperty; -var undefined$1; // More compressible than void 0. +// Filter certain DOM attributes (e.g. src, href) if their values are empty strings. -var $Symbol = typeof Symbol === "function" ? Symbol : {}; -var iteratorSymbol = $Symbol.iterator || "@@iterator"; -var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; -var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; +var enableScopeAPI = false; // Experimental Create Event Handle API. -function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. +function isValidElementType(type) { + if (typeof type === 'string' || typeof type === 'function') { + return true; + } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). - generator._invoke = makeInvokeMethod(innerFn, self, context); - return generator; -} // Try/catch helper to minimize deoptimizations. Returns a completion -// record like context.tryEntries[i].completion. This interface could -// have been (and was previously) designed to take a closure to be -// invoked without arguments, but in all the cases we care about we -// already have an existing method we want to call, so there's no need -// to create a new function object. We can even get away with assuming -// the method takes exactly one argument, since that happens to be true -// in every case, so we don't have to touch the arguments object. The -// only additional allocation required is the completion record, which -// has a stable shape and so hopefully should be cheap to allocate. + if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) { + return true; + } -function tryCatch(fn, obj, arg) { - try { - return { - type: "normal", - arg: fn.call(obj, arg) - }; - } catch (err) { - return { - type: "throw", - arg: err - }; + if (typeof type === 'object' && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) { + return true; + } } + + return false; } -var GenStateSuspendedStart = "suspendedStart"; -var GenStateSuspendedYield = "suspendedYield"; -var GenStateExecuting = "executing"; -var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as -// breaking out of the dispatch switch statement. +function getWrappedName(outerType, innerType, wrapperName) { + var functionName = innerType.displayName || innerType.name || ''; + return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); +} -var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and -// .constructor.prototype properties for functions that return Generator -// objects. For full spec compliance, you may wish to configure your -// minifier not to mangle the names of these two functions. +function getContextName(type) { + return type.displayName || 'Context'; +} -function Generator() {} +function getComponentName(type) { + if (type == null) { + // Host root, text node or just invalid type. + return null; + } -function GeneratorFunction() {} + { + if (typeof type.tag === 'number') { + error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); + } + } -function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that -// don't natively support it. + if (typeof type === 'function') { + return type.displayName || type.name || null; + } + if (typeof type === 'string') { + return type; + } -var IteratorPrototype = {}; + switch (type) { + case exports.Fragment: + return 'Fragment'; -IteratorPrototype[iteratorSymbol] = function () { - return this; -}; + case REACT_PORTAL_TYPE: + return 'Portal'; -var getProto = Object.getPrototypeOf; -var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + case REACT_PROFILER_TYPE: + return 'Profiler'; -if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; -} + case REACT_STRICT_MODE_TYPE: + return 'StrictMode'; -var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); -GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; -GeneratorFunctionPrototype.constructor = GeneratorFunction; -GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; // Helper for defining the .next, .throw, and .return methods of the -// Iterator interface in terms of a single ._invoke method. + case REACT_SUSPENSE_TYPE: + return 'Suspense'; -function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function (method) { - prototype[method] = function (arg) { - return this._invoke(method, arg); - }; - }); -} + case REACT_SUSPENSE_LIST_TYPE: + return 'SuspenseList'; + } -function isGeneratorFunction(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" : false; -} + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + '.Consumer'; -function mark(genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + '.Provider'; - if (!(toStringTagSymbol in genFun)) { - genFun[toStringTagSymbol] = "GeneratorFunction"; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, 'ForwardRef'); + + case REACT_MEMO_TYPE: + return getComponentName(type.type); + + case REACT_BLOCK_TYPE: + return getComponentName(type._render); + + case REACT_LAZY_TYPE: + { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + + try { + return getComponentName(init(payload)); + } catch (x) { + return null; + } + } } } - genFun.prototype = Object.create(Gp); - return genFun; + return null; } -// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test -// `hasOwn.call(value, "__await")` to determine if the yielded value is -// meant to be awaited. -function awrap(arg) { - return { - __await: arg - }; -} +// Helpers to patch console.logs to avoid logging during side-effect free +// replaying on render function. This currently only patches the object +// lazily which won't cover if the log function was extracted eagerly. +// We could also eagerly patch the method. +var disabledDepth = 0; +var prevLog; +var prevInfo; +var prevWarn; +var prevError; +var prevGroup; +var prevGroupCollapsed; +var prevGroupEnd; -function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); +function disabledLog() {} - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; +disabledLog.__reactDisabledLog = true; +function disableLogs() { + { + if (disabledDepth === 0) { + /* eslint-disable react-internal/no-production-logging */ + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099 - if (value && typeof value === "object" && hasOwn.call(value, "__await")) { - return PromiseImpl.resolve(value.__await).then(function (value) { - invoke("next", value, resolve, reject); - }, function (err) { - invoke("throw", err, resolve, reject); - }); - } + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; // $FlowFixMe Flow thinks console is immutable. - return PromiseImpl.resolve(value).then(function (unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function (error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props }); + /* eslint-enable react-internal/no-production-logging */ } + + disabledDepth++; } +} +function reenableLogs() { + { + disabledDepth--; - var previousPromise; + if (disabledDepth === 0) { + /* eslint-disable react-internal/no-production-logging */ + var props = { + configurable: true, + enumerable: true, + writable: true + }; // $FlowFixMe Flow thinks console is immutable. - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function (resolve, reject) { - invoke(method, arg, resolve, reject); + Object.defineProperties(console, { + log: _assign({}, props, { + value: prevLog + }), + info: _assign({}, props, { + value: prevInfo + }), + warn: _assign({}, props, { + value: prevWarn + }), + error: _assign({}, props, { + value: prevError + }), + group: _assign({}, props, { + value: prevGroup + }), + groupCollapsed: _assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: _assign({}, props, { + value: prevGroupEnd + }) }); + /* eslint-enable react-internal/no-production-logging */ } - return previousPromise = // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - - - this._invoke = enqueue; + if (disabledDepth < 0) { + error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.'); + } + } } -defineIteratorMethods(AsyncIterator.prototype); - -AsyncIterator.prototype[asyncIteratorSymbol] = function () { - return this; -}; // Note that simple async functions are implemented on top of -// AsyncIterator objects; they just return a Promise for the value of -// the final result produced by the iterator. +var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; +var prefix; +function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === undefined) { + // Extract the VM specific prefix used by each line. + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ''; + } + } // We use the prefix to ensure our stacks line up with native stack frames. -function async(innerFn, outerFn, self, tryLocsList, PromiseImpl) { - if (PromiseImpl === void 0) PromiseImpl = Promise; - var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); - return isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function (result) { - return result.done ? result.value : iter.next(); - }); + return '\n' + prefix + name; + } } +var reentry = false; +var componentFrameCache; -function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } +{ + var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); +} - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume +function describeNativeComponentFrame(fn, construct) { + // If something asked for a stack inside a fake render, it should get ignored. + if (!fn || reentry) { + return ''; + } + { + var frame = componentFrameCache.get(fn); - return doneResult(); + if (frame !== undefined) { + return frame; } + } - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined. - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); + Error.prepareStackTrace = undefined; + var previousDispatcher; - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } + { + previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function + // for warnings. - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } + ReactCurrentDispatcher.current = null; + disableLogs(); + } - context.dispatchException(context.arg); - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } + try { + // This should throw. + if (construct) { + // Something should be setting the props in the constructor. + var Fake = function () { + throw Error(); + }; // $FlowFixMe - state = GenStateExecuting; - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done ? GenStateCompleted : GenStateSuspendedYield; + Object.defineProperty(Fake.prototype, 'props', { + set: function () { + // We use a throwing setter instead of frozen or non-writable props + // because that won't throw in a non-strict mode function. + throw Error(); + } + }); - if (record.arg === ContinueSentinel) { - continue; + if (typeof Reflect === 'object' && Reflect.construct) { + // We construct a different control for this case to include any extra + // frames added by the construct call. + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; } - return { - value: record.arg, - done: context.done - }; - } else if (record.type === "throw") { - state = GenStateCompleted; // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } - context.method = "throw"; - context.arg = record.arg; + fn.call(Fake.prototype); } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + + fn(); } - }; -} // Call delegate.iterator[context.method](context.arg) and handle the -// result, either by returning a { value, done } result from the -// delegate iterator, or by modifying context.method and context.arg, -// setting context.delegate to null, and returning the ContinueSentinel. + } catch (sample) { + // This is inlined manually because closure doesn't do it for us. + if (sample && control && typeof sample.stack === 'string') { + // This extracts the first frame from the sample that isn't also in the control. + // Skipping one frame that we assume is the frame that calls the two. + var sampleLines = sample.stack.split('\n'); + var controlLines = control.stack.split('\n'); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + // We expect at least one stack frame to be shared. + // Typically this will be the root most one. However, stack frames may be + // cut off due to maximum stack limits. In this case, one maybe cut off + // earlier than the other. We assume that the sample is longer or the same + // and there for cut off earlier. So we should find the root most frame in + // the sample somewhere in the control. + c--; + } -function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; + for (; s >= 1 && c >= 0; s--, c--) { + // Next we find the first one that isn't the same which should be the + // frame that called our sample function and the control. + if (sampleLines[s] !== controlLines[c]) { + // In V8, the first line is describing the message but other VMs don't. + // If we're about to return the first line, and the control is also on the same + // line, that's a pretty good indicator that our sample threw at same line as + // the control. I.e. before we entered the sample frame. So we ignore this result. + // This can happen if you passed a class to function component, or non-function. + if (s !== 1 || c !== 1) { + do { + s--; + c--; // We may still have similar intermediate frames from the construct call. + // The next one that isn't the same should be our match though. - if (method === undefined$1) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier. + var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); - if (context.method === "throw") { - // Note: ["return"] must be used for ES3 parsing compatibility. - if (delegate.iterator["return"]) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined$1; - maybeInvokeDelegate(delegate, context); + { + if (typeof fn === 'function') { + componentFrameCache.set(fn, _frame); + } + } // Return the line we found. - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; + + return _frame; + } + } while (s >= 1 && c >= 0); + } + + break; } } + } + } finally { + reentry = false; - context.method = "throw"; - context.arg = new TypeError("The iterator does not provide a 'throw' method"); + { + ReactCurrentDispatcher.current = previousDispatcher; + reenableLogs(); } - return ContinueSentinel; - } + Error.prepareStackTrace = previousPrepareStackTrace; + } // Fallback to just using the name if we couldn't make it throw. - var record = tryCatch(method, delegate.iterator, context.arg); - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } + var name = fn ? fn.displayName || fn.name : ''; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ''; - var info = record.arg; + { + if (typeof fn === 'function') { + componentFrameCache.set(fn, syntheticFrame); + } + } - if (!info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; + return syntheticFrame; +} +function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); } +} - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield). +function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); +} - context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. +function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined$1; - } - } else { - // Re-yield the result returned by the delegate method. - return info; - } // The delegate iterator is finished, so forget it and continue with - // the outer generator. + if (type == null) { + return ''; + } + if (typeof type === 'function') { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } - context.delegate = null; - return ContinueSentinel; -} // Define Generator.prototype.{next,throw,return} in terms of the -// unified ._invoke helper method. + if (typeof type === 'string') { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame('Suspense'); -defineIteratorMethods(Gp); -Gp[toStringTagSymbol] = "Generator"; // A Generator should always return itself as the iterator object when the -// @@iterator function is called on it. Some browsers' implementations of the -// iterator prototype chain incorrectly implement this, causing the Generator -// object to not be returned from this call. This ensures that doesn't happen. -// See https://github.com/facebook/regenerator/issues/274 for more details. + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame('SuspenseList'); + } -Gp[iteratorSymbol] = function () { - return this; -}; + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); -Gp.toString = function () { - return "[object Generator]"; -}; + case REACT_MEMO_TYPE: + // Memo may contain any component type so we recursively resolve it. + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); -function pushTryEntry(locs) { - var entry = { - tryLoc: locs[0] - }; + case REACT_BLOCK_TYPE: + return describeFunctionComponentFrame(type._render); - if (1 in locs) { - entry.catchLoc = locs[1]; - } + case REACT_LAZY_TYPE: + { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; + try { + // Lazy may contain any component type so we recursively resolve it. + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } catch (x) {} + } + } } - this.tryEntries.push(entry); + return ''; } -function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; -} +var loggedTypeFailures = {}; +var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; -function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ - tryLoc: "root" - }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); +function setCurrentlyValidatingElement(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame.setExtraStackFrame(null); + } + } } -function keys(object) { - var keys = []; - - for (var key in object) { - keys.push(key); - } +function checkPropTypes(typeSpecs, values, location, componentName, element) { + { + // $FlowFixMe This is okay but Flow doesn't know it. + var has = Function.call.bind(Object.prototype.hasOwnProperty); - keys.reverse(); // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. - return function next() { - while (keys.length) { - var key = keys.pop(); + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'); + err.name = 'Invariant Violation'; + throw err; + } - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. + error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'); + } catch (ex) { + error$1 = ex; + } + if (error$1 && !(error$1 instanceof Error)) { + setCurrentlyValidatingElement(element); - next.done = true; - return next; - }; -} + error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1); -function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; + setCurrentlyValidatingElement(null); + } - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } + if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error$1.message] = true; + setCurrentlyValidatingElement(element); - if (typeof iterable.next === "function") { - return iterable; - } + error('Failed %s type: %s', location, error$1.message); - if (!isNaN(iterable.length)) { - var i = -1, - next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } + setCurrentlyValidatingElement(null); } - - next.value = undefined$1; - next.done = true; - return next; - }; - - return next.next = next; + } } - } // Return an iterator with no values. - - - return { - next: doneResult - }; + } } -function doneResult() { - return { - value: undefined$1, - done: true - }; -} +var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true +}; +var specialPropKeyWarningShown; +var specialPropRefWarningShown; +var didWarnAboutStringRefs; -Context.prototype = { - constructor: Context, - reset: function reset(skipTempReset) { - this.prev = 0; - this.next = 0; // Resetting context._sent for legacy support of Babel's - // function.sent implementation. +{ + didWarnAboutStringRefs = {}; +} - this.sent = this._sent = undefined$1; - this.done = false; - this.delegate = null; - this.method = "next"; - this.arg = undefined$1; - this.tryEntries.forEach(resetTryEntry); +function hasValidRef(config) { + { + if (hasOwnProperty.call(config, 'ref')) { + var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { - this[name] = undefined$1; - } + if (getter && getter.isReactWarning) { + return false; } } - }, - stop: function stop() { - this.done = true; - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; + } - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } + return config.ref !== undefined; +} - return this.rval; - }, - dispatchException: function dispatchException(exception) { - if (this.done) { - throw exception; - } - - var context = this; - - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; +function hasValidKey(config) { + { + if (hasOwnProperty.call(config, 'key')) { + var getter = Object.getOwnPropertyDescriptor(config, 'key').get; - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined$1; + if (getter && getter.isReactWarning) { + return false; } - - return !!caught; } + } - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } + return config.key !== undefined; +} - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); +function warnIfStringRefCannotBeAutoConverted(config, self) { + { + if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { + var componentName = getComponentName(ReactCurrentOwner.current.type); - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - abrupt: function abrupt(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; + if (!didWarnAboutStringRefs[componentName]) { + error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref); - if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; + didWarnAboutStringRefs[componentName] = true; } } + } +} - if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - complete: function complete(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - finish: function finish(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; +function defineKeyPropWarningGetter(props, displayName) { + { + var warnAboutAccessingKey = function () { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; + error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); } - } - }, - "catch": function _catch(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; + }; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, 'key', { + get: warnAboutAccessingKey, + configurable: true + }); + } +} - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } +function defineRefPropWarningGetter(props, displayName) { + { + var warnAboutAccessingRef = function () { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; - return thrown; + error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); } - } // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - - - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc }; - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined$1; - } - - return ContinueSentinel; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, 'ref', { + get: warnAboutAccessingRef, + configurable: true + }); } -}; // Export a default namespace that plays well with Rollup +} +/** + * Factory method to create a new React element. This no longer adheres to + * the class pattern, so do not use new to call it. Also, instanceof check + * will not work. Instead test $$typeof field against Symbol.for('react.element') to check + * if something is a React Element. + * + * @param {*} type + * @param {*} props + * @param {*} key + * @param {string|object} ref + * @param {*} owner + * @param {*} self A *temporary* helper to detect places where `this` is + * different from the `owner` when React.createElement is called, so that we + * can warn. We want to get rid of owner and replace string `ref`s with arrow + * functions, and as long as `this` and owner are the same, there will be no + * change in behavior. + * @param {*} source An annotation object (added by a transpiler or otherwise) + * indicating filename, line number, and/or other information. + * @internal + */ -var _regeneratorRuntime = { - wrap, - isGeneratorFunction, - AsyncIterator, - mark, - awrap, - async, - keys, - values -}; -var yallist = Yallist$1; -Yallist$1.Node = Node; -Yallist$1.create = Yallist$1; +var ReactElement = function (type, key, ref, self, source, owner, props) { + var element = { + // This tag allows us to uniquely identify this as a React Element + $$typeof: REACT_ELEMENT_TYPE, + // Built-in properties that belong on the element + type: type, + key: key, + ref: ref, + props: props, + // Record the component responsible for creating this element. + _owner: owner + }; -function Yallist$1(list) { - var self = this; + { + // The validation flag is currently mutative. We put it on + // an external backing store so that we can freeze the whole object. + // This can be replaced with a WeakMap once they are implemented in + // commonly used development environments. + element._store = {}; // To make comparing ReactElements easier for testing purposes, we make + // the validation flag non-enumerable (where possible, which should + // include every environment we run tests in), so the test framework + // ignores it. - if (!(self instanceof Yallist$1)) { - self = new Yallist$1(); - } + Object.defineProperty(element._store, 'validated', { + configurable: false, + enumerable: false, + writable: true, + value: false + }); // self and source are DEV only properties. - self.tail = null; - self.head = null; - self.length = 0; + Object.defineProperty(element, '_self', { + configurable: false, + enumerable: false, + writable: false, + value: self + }); // Two elements created in two different places should be considered + // equal for testing purposes and therefore we hide it from enumeration. - if (list && typeof list.forEach === 'function') { - list.forEach(function (item) { - self.push(item); + Object.defineProperty(element, '_source', { + configurable: false, + enumerable: false, + writable: false, + value: source }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self.push(arguments[i]); + + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); } } - return self; -} + return element; +}; +/** + * https://github.com/reactjs/rfcs/pull/107 + * @param {*} type + * @param {object} props + * @param {string} key + */ -Yallist$1.prototype.removeNode = function (node) { - if (node.list !== this) { - throw new Error('removing node which does not belong to this list'); - } +function jsxDEV(type, config, maybeKey, source, self) { + { + var propName; // Reserved names are extracted - var next = node.next; - var prev = node.prev; + var props = {}; + var key = null; + var ref = null; // Currently, key can be spread in as a prop. This causes a potential + // issue if key is also explicitly declared (ie.
+ // or
). We want to deprecate key spread, + // but as an intermediary step, we will use jsxDEV for everything except + //
, because we aren't currently able to tell if + // key is explicitly declared to be undefined or not. - if (next) { - next.prev = prev; - } + if (maybeKey !== undefined) { + key = '' + maybeKey; + } - if (prev) { - prev.next = next; - } + if (hasValidKey(config)) { + key = '' + config.key; + } - if (node === this.head) { - this.head = next; - } + if (hasValidRef(config)) { + ref = config.ref; + warnIfStringRefCannotBeAutoConverted(config, self); + } // Remaining properties are added to a new props object - if (node === this.tail) { - this.tail = prev; - } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - return next; -}; + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } // Resolve default props -Yallist$1.prototype.unshiftNode = function (node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; - var head = this.head; - node.list = this; - node.next = head; + for (propName in defaultProps) { + if (props[propName] === undefined) { + props[propName] = defaultProps[propName]; + } + } + } - if (head) { - head.prev = node; - } + if (key || ref) { + var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; - this.head = node; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } - if (!this.tail) { - this.tail = node; + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); } +} - this.length++; -}; +var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; +var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; -Yallist$1.prototype.pushNode = function (node) { - if (node === this.tail) { - return; +function setCurrentlyValidatingElement$1(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame$1.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame$1.setExtraStackFrame(null); + } } +} - if (node.list) { - node.list.removeNode(node); - } +var propTypesMisspellWarningShown; - var tail = this.tail; - node.list = this; - node.prev = tail; +{ + propTypesMisspellWarningShown = false; +} +/** + * Verifies the object is a ReactElement. + * See https://reactjs.org/docs/react-api.html#isvalidelement + * @param {?object} object + * @return {boolean} True if `object` is a ReactElement. + * @final + */ - if (tail) { - tail.next = node; +function isValidElement(object) { + { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } +} - this.tail = node; - - if (!this.head) { - this.head = node; - } +function getDeclarationErrorAddendum() { + { + if (ReactCurrentOwner$1.current) { + var name = getComponentName(ReactCurrentOwner$1.current.type); - this.length++; -}; + if (name) { + return '\n\nCheck the render method of `' + name + '`.'; + } + } -Yallist$1.prototype.push = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); + return ''; } +} - return this.length; -}; +function getSourceInfoErrorAddendum(source) { + { + if (source !== undefined) { + var fileName = source.fileName.replace(/^.*[\\\/]/, ''); + var lineNumber = source.lineNumber; + return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; + } -Yallist$1.prototype.unshift = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); + return ''; } +} +/** + * Warn if there's no key explicitly set on dynamic arrays of children or + * object keys are not valid. This allows us to keep track of children between + * updates. + */ - return this.length; -}; -Yallist$1.prototype.pop = function () { - if (!this.tail) { - return undefined; - } +var ownerHasKeyUseWarning = {}; - var res = this.tail.value; - this.tail = this.tail.prev; +function getCurrentComponentErrorInfo(parentType) { + { + var info = getDeclarationErrorAddendum(); - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } + if (!info) { + var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; - this.length--; - return res; -}; + if (parentName) { + info = "\n\nCheck the top-level render call using <" + parentName + ">."; + } + } -Yallist$1.prototype.shift = function () { - if (!this.head) { - return undefined; + return info; } +} +/** + * Warn if the element doesn't have an explicit key assigned to it. + * This element is in an array. The array could grow and shrink or be + * reordered. All children that haven't already been validated are required to + * have a "key" property assigned to it. Error statuses are cached so a warning + * will only be shown once. + * + * @internal + * @param {ReactElement} element Element that requires a key. + * @param {*} parentType element's parent's type. + */ - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } +function validateExplicitKey(element, parentType) { + { + if (!element._store || element._store.validated || element.key != null) { + return; + } - this.length--; - return res; -}; + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); -Yallist$1.prototype.forEach = function (fn, thisp) { - thisp = thisp || this; + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } - for (var walker = this.head, i = 0; walker !== null; i++) { - fn.call(thisp, walker.value, i, this); - walker = walker.next; - } -}; + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a + // property, it may be the creator of the child that's responsible for + // assigning it a key. -Yallist$1.prototype.forEachReverse = function (fn, thisp) { - thisp = thisp || this; + var childOwner = ''; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn.call(thisp, walker.value, i, this); - walker = walker.prev; - } -}; + if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { + // Give the component that originally created this child. + childOwner = " It was passed a child from " + getComponentName(element._owner.type) + "."; + } -Yallist$1.prototype.get = function (n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - // abort out of the list early if we hit a cycle - walker = walker.next; - } + setCurrentlyValidatingElement$1(element); - if (i === n && walker !== null) { - return walker.value; - } -}; + error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); -Yallist$1.prototype.getReverse = function (n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - // abort out of the list early if we hit a cycle - walker = walker.prev; + setCurrentlyValidatingElement$1(null); } +} +/** + * Ensure that every element either is passed in a static location, in an + * array with an explicit keys property defined, or in an object literal + * with valid key property. + * + * @internal + * @param {ReactNode} node Statically passed child of any type. + * @param {*} parentType node's parent's type. + */ - if (i === n && walker !== null) { - return walker.value; - } -}; -Yallist$1.prototype.map = function (fn, thisp) { - thisp = thisp || this; - var res = new Yallist$1(); +function validateChildKeys(node, parentType) { + { + if (typeof node !== 'object') { + return; + } - for (var walker = this.head; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)); - walker = walker.next; - } + if (Array.isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; - return res; -}; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + // This element was passed in a valid location. + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); -Yallist$1.prototype.mapReverse = function (fn, thisp) { - thisp = thisp || this; - var res = new Yallist$1(); + if (typeof iteratorFn === 'function') { + // Entry iterators used to provide implicit keys, + // but now we print a separate warning for them later. + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; - for (var walker = this.tail; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)); - walker = walker.prev; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } } +} +/** + * Given an element, validate that its props follow the propTypes definition, + * provided by the type. + * + * @param {ReactElement} element + */ - return res; -}; -Yallist$1.prototype.reduce = function (fn, initial) { - var acc; - var walker = this.head; +function validatePropTypes(element) { + { + var type = element.type; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError('Reduce of empty list with no initial value'); - } + if (type === null || type === undefined || typeof type === 'string') { + return; + } - for (var i = 0; walker !== null; i++) { - acc = fn(acc, walker.value, i); - walker = walker.next; - } + var propTypes; - return acc; -}; + if (typeof type === 'function') { + propTypes = type.propTypes; + } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. + // Inner props are checked in the reconciler. + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } else { + return; + } -Yallist$1.prototype.reduceReverse = function (fn, initial) { - var acc; - var walker = this.tail; + if (propTypes) { + // Intentionally inside to avoid triggering lazy initializers: + var name = getComponentName(type); + checkPropTypes(propTypes, element.props, 'prop', name, element); + } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers: - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError('Reduce of empty list with no initial value'); - } + var _name = getComponentName(type); - for (var i = this.length - 1; walker !== null; i--) { - acc = fn(acc, walker.value, i); - walker = walker.prev; + error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown'); + } + + if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { + error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); + } } +} +/** + * Given a fragment, validate that it can only be provided with fragment props + * @param {ReactElement} fragment + */ - return acc; -}; -Yallist$1.prototype.toArray = function () { - var arr = new Array(this.length); +function validateFragmentProps(fragment) { + { + var keys = Object.keys(fragment.props); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; - return arr; -}; + if (key !== 'children' && key !== 'key') { + setCurrentlyValidatingElement$1(fragment); -Yallist$1.prototype.toArrayReverse = function () { - var arr = new Array(this.length); + error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } + setCurrentlyValidatingElement$1(null); + break; + } + } - return arr; -}; + if (fragment.ref !== null) { + setCurrentlyValidatingElement$1(fragment); -Yallist$1.prototype.slice = function (from, to) { - to = to || this.length; + error('Invalid attribute `ref` supplied to `React.Fragment`.'); - if (to < 0) { - to += this.length; + setCurrentlyValidatingElement$1(null); + } } +} - from = from || 0; - - if (from < 0) { - from += this.length; - } +function jsxWithValidation(type, props, key, isStaticChildren, source, self) { + { + var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to + // succeed and there will likely be errors in render. - var ret = new Yallist$1(); + if (!validType) { + var info = ''; - if (to < from || to < 0) { - return ret; - } + if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { + info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; + } - if (from < 0) { - from = 0; - } + var sourceInfo = getSourceInfoErrorAddendum(source); - if (to > this.length) { - to = this.length; - } + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } + var typeString; - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } + if (type === null) { + typeString = 'null'; + } else if (Array.isArray(type)) { + typeString = 'array'; + } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />"; + info = ' Did you accidentally export a JSX literal instead of a component?'; + } else { + typeString = typeof type; + } - return ret; -}; + error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); + } -Yallist$1.prototype.sliceReverse = function (from, to) { - to = to || this.length; + var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used. + // TODO: Drop this when these are no longer allowed as the type argument. - if (to < 0) { - to += this.length; - } + if (element == null) { + return element; + } // Skip key warning if the type isn't valid since our key validation logic + // doesn't expect a non-string/function type and can throw confusing errors. + // We don't want exception behavior to differ between dev and prod. + // (Rendering will throw with a helpful message and as soon as the type is + // fixed, the key warnings will appear.) - from = from || 0; - if (from < 0) { - from += this.length; - } + if (validType) { + var children = props.children; - var ret = new Yallist$1(); + if (children !== undefined) { + if (isStaticChildren) { + if (Array.isArray(children)) { + for (var i = 0; i < children.length; i++) { + validateChildKeys(children[i], type); + } - if (to < from || to < 0) { - return ret; - } + if (Object.freeze) { + Object.freeze(children); + } + } else { + error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.'); + } + } else { + validateChildKeys(children, type); + } + } + } - if (from < 0) { - from = 0; - } + if (type === exports.Fragment) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } - if (to > this.length) { - to = this.length; + return element; } +} // These two functions exist to still get child warnings in dev +// even with the prod transform. This means that jsxDEV is purely +// opt-in behavior for better messages but that we won't stop +// giving you warnings if you use production apis. - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; +function jsxWithValidationStatic(type, props, key) { + { + return jsxWithValidation(type, props, key, true); } - - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); +} +function jsxWithValidationDynamic(type, props, key) { + { + return jsxWithValidation(type, props, key, false); } +} - return ret; -}; - -Yallist$1.prototype.splice = function (start, deleteCount) { - if (start > this.length) { - start = this.length - 1; - } +var jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children. +// for now we can ship identical prod functions - if (start < 0) { - start = this.length + start; - } +var jsxs = jsxWithValidationStatic ; - for (var i = 0, walker = this.head; walker !== null && i < start; i++) { - walker = walker.next; - } +exports.jsx = jsx; +exports.jsxs = jsxs; + })(); +} - var ret = []; - for (var i = 0; walker && i < deleteCount; i++) { - ret.push(walker.value); - walker = this.removeNode(walker); - } +/***/ }), - if (walker === null) { - walker = this.tail; - } +/***/ "./node_modules/react/jsx-runtime.js": +/*!*******************************************!*\ + !*** ./node_modules/react/jsx-runtime.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - if (walker !== this.head && walker !== this.tail) { - walker = walker.prev; - } +"use strict"; - for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) { - walker = insert(this, walker, i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2]); - } - return ret; -}; +if (false) {} else { + module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "./node_modules/react/cjs/react-jsx-runtime.development.js"); +} -Yallist$1.prototype.reverse = function () { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } +/***/ }), - this.head = tail; - this.tail = head; - return this; -}; +/***/ "./node_modules/redux-thunk/es/index.js": +/*!**********************************************!*\ + !*** ./node_modules/redux-thunk/es/index.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -function insert(self, node, value) { - var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** A function that accepts a potential "extra argument" value to be injected later, + * and returns an instance of the thunk middleware that uses that value + */ +function createThunkMiddleware(extraArgument) { + // Standard Redux middleware definition pattern: + // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware + var middleware = function middleware(_ref) { + var dispatch = _ref.dispatch, + getState = _ref.getState; + return function (next) { + return function (action) { + // The thunk middleware looks for any functions that were passed to `store.dispatch`. + // If this "action" is really a function, call it and return the result. + if (typeof action === 'function') { + // Inject the store's `dispatch` and `getState` methods, as well as any "extra arg" + return action(dispatch, getState, extraArgument); + } // Otherwise, pass the action down the middleware chain as usual - if (inserted.next === null) { - self.tail = inserted; - } - if (inserted.prev === null) { - self.head = inserted; - } + return next(action); + }; + }; + }; - self.length++; - return inserted; + return middleware; } -function push(self, item) { - self.tail = new Node(item, self.tail, null, self); +var thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version +// with whatever "extra arg" they want to inject into their thunks - if (!self.head) { - self.head = self.tail; - } +thunk.withExtraArgument = createThunkMiddleware; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thunk); - self.length++; -} +/***/ }), -function unshift(self, item) { - self.head = new Node(item, null, self.head, self); +/***/ "./node_modules/regenerator-runtime/runtime.js": +/*!*****************************************************!*\ + !*** ./node_modules/regenerator-runtime/runtime.js ***! + \*****************************************************/ +/***/ ((module) => { - if (!self.tail) { - self.tail = self.head; - } +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - self.length++; -} +var runtime = (function (exports) { + "use strict"; -function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + try { + // IE 8 has a broken Object.defineProperty that only works on DOM objects. + define({}, ""); + } catch (err) { + define = function(obj, key, value) { + return obj[key] = value; + }; } - this.list = list; - this.value = value; + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }); - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; + return generator; } -} + exports.wrap = wrap; -try { - // add if support for Symbol.iterator is present - Yallist$1.prototype[Symbol.iterator] = /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { - var walker; - return _regeneratorRuntime.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - walker = this.head; + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } - case 1: - if (!walker) { - _context.next = 7; - break; - } + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; - _context.next = 4; - return walker.value; + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; - case 4: - walker = walker.next; - _context.next = 1; - break; + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} - case 7: - case "end": - return _context.stop(); - } - } - }, _callee, this); + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; }); -} catch (er) {} -var Yallist = yallist; -var MAX = Symbol('max'); -var LENGTH = Symbol('length'); -var LENGTH_CALCULATOR = Symbol('lengthCalculator'); -var ALLOW_STALE = Symbol('allowStale'); -var MAX_AGE = Symbol('maxAge'); -var DISPOSE = Symbol('dispose'); -var NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet'); -var LRU_LIST = Symbol('lruList'); -var CACHE = Symbol('cache'); -var UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet'); + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } -var naiveLength = () => 1; // lruList is a yallist where the head is the youngest -// item, and the tail is the oldest. the list contains the Hit -// objects as the entries. -// Each Hit object has a reference to its Yallist.Node. This -// never changes. -// -// cache is a Map (or PseudoMap) that matches the keys to -// the Yallist.Node object. + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = GeneratorFunctionPrototype; + defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: true }); + defineProperty( + GeneratorFunctionPrototype, + "constructor", + { value: GeneratorFunction, configurable: true } + ); + GeneratorFunction.displayName = define( + GeneratorFunctionPrototype, + toStringTagSymbol, + "GeneratorFunction" + ); + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + define(prototype, method, function(arg) { + return this._invoke(method, arg); + }); + }); + } -class LRUCache { - constructor(options) { - if (typeof options === 'number') options = { - max: options - }; - if (!options) options = {}; - if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number'); // Kind of weird to have a default max of Infinity, but oh well. + exports.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; - this[MAX] = options.max || Infinity; - var lc = options.length || naiveLength; - this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc; - this[ALLOW_STALE] = options.stale || false; - if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number'); - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; - this.reset(); - } // resize the cache when the max changes. + exports.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + exports.awrap = function(arg) { + return { __await: arg }; + }; - set max(mL) { - if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number'); - this[MAX] = mL || Infinity; - trim(this); - } + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } - get max() { - return this[MAX]; - } + return PromiseImpl.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } - set allowStale(allowStale) { - this[ALLOW_STALE] = !!allowStale; - } + var previousPromise; - get allowStale() { - return this[ALLOW_STALE]; - } + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } - set maxAge(mA) { - if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number'); - this[MAX_AGE] = mA; - trim(this); + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + defineProperty(this, "_invoke", { value: enqueue }); } - get maxAge() { - return this[MAX_AGE]; - } // resize the cache when the lengthCalculator changes. + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; - set lengthCalculator(lC) { - if (typeof lC !== 'function') lC = naiveLength; + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList), + PromiseImpl + ); - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach(hit => { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }); - } + return exports.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; - trim(this); - } + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; - get lengthCalculator() { - return this[LENGTH_CALCULATOR]; - } + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } - get length() { - return this[LENGTH]; - } + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } - get itemCount() { - return this[LRU_LIST].length; - } + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } - rforEach(fn, thisp) { - thisp = thisp || this; + context.method = method; + context.arg = arg; - for (var walker = this[LRU_LIST].tail; walker !== null;) { - var prev = walker.prev; - forEachStep(this, fn, walker, thisp); - walker = prev; - } - } + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } - forEach(fn, thisp) { - thisp = thisp || this; + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; - for (var walker = this[LRU_LIST].head; walker !== null;) { - var next = walker.next; - forEachStep(this, fn, walker, thisp); - walker = next; - } - } + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } - keys() { - return this[LRU_LIST].toArray().map(k => k.key); - } + context.dispatchException(context.arg); - values() { - return this[LRU_LIST].toArray().map(k => k.value); - } + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } - reset() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value)); - } + state = GenStateExecuting; - this[CACHE] = new Map(); // hash of items by key + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; - this[LRU_LIST] = new Yallist(); // list of items in order of use recency + if (record.arg === ContinueSentinel) { + continue; + } - this[LENGTH] = 0; // length of items in the list - } + return { + value: record.arg, + done: context.done + }; - dump() { - return this[LRU_LIST].map(hit => isStale(this, hit) ? false : { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }).toArray().filter(h => h); + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; } - dumpLru() { - return this[LRU_LIST]; - } + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var methodName = context.method; + var method = delegate.iterator[methodName]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method, or a missing .next mehtod, always terminate the + // yield* loop. + context.delegate = null; - set(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number'); - var now = maxAge ? Date.now() : 0; - var len = this[LENGTH_CALCULATOR](value, key); + // Note: ["return"] must be used for ES3 parsing compatibility. + if (methodName === "throw" && delegate.iterator["return"]) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } } - - var node = this[CACHE].get(key); - var item = node.value; // dispose of the old one before overwriting - // split out into 2 ifs for better coverage tracking - - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value); + if (methodName !== "return") { + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a '" + methodName + "' method"); } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim(this); - return true; + return ContinueSentinel; } - var hit = new Entry(key, value, len, now, maxAge); // oversized objects fall out of cache automatically. + var record = tryCatch(method, delegate.iterator, context.arg); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) this[DISPOSE](key, value); - return false; + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim(this); - return true; - } - - has(key) { - if (!this[CACHE].has(key)) return false; - var hit = this[CACHE].get(key).value; - return !isStale(this, hit); - } - - get(key) { - return get(this, key, true); - } - - peek(key) { - return get(this, key, false); - } - - pop() { - var node = this[LRU_LIST].tail; - if (!node) return null; - del(this, node); - return node.value; - } + var info = record.arg; - del(key) { - del(this, this[CACHE].get(key)); - } + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } - load(arr) { - // reset the cache - this.reset(); - var now = Date.now(); // A previous serialized cache has the most recent items first + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; - for (var l = arr.length - 1; l >= 0; l--) { - var hit = arr[l]; - var expiresAt = hit.e || 0; - if (expiresAt === 0) // the item was created without expiration in a non aged cache - this.set(hit.k, hit.v);else { - var maxAge = expiresAt - now; // dont add already expired items + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; } + + } else { + // Re-yield the result returned by the delegate method. + return info; } - } - prune() { - this[CACHE].forEach((value, key) => get(this, key, false)); + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; } -} + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); -var get = (self, key, doUse) => { - var node = self[CACHE].get(key); + define(Gp, toStringTagSymbol, "Generator"); - if (node) { - var hit = node.value; + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + define(Gp, iteratorSymbol, function() { + return this; + }); - if (isStale(self, hit)) { - del(self, node); - if (!self[ALLOW_STALE]) return undefined; - } else { - if (doUse) { - if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now(); - self[LRU_LIST].unshiftNode(node); - } - } + define(Gp, "toString", function() { + return "[object Generator]"; + }); - return hit.value; - } -}; + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; -var isStale = (self, hit) => { - if (!hit || !hit.maxAge && !self[MAX_AGE]) return false; - var diff = Date.now() - hit.now; - return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE]; -}; + if (1 in locs) { + entry.catchLoc = locs[1]; + } -var trim = self => { - if (self[LENGTH] > self[MAX]) { - for (var walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) { - // We know that we're about to delete this one, and also - // what the next least recently used key will be, so just - // go ahead and set it now. - var prev = walker.prev; - del(self, walker); - walker = prev; + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; } - } -}; -var del = (self, node) => { - if (node) { - var hit = node.value; - if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value); - self[LENGTH] -= hit.length; - self[CACHE].delete(hit.key); - self[LRU_LIST].removeNode(node); + this.tryEntries.push(entry); } -}; -class Entry { - constructor(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; } -} - -var forEachStep = (self, fn, node, thisp) => { - var hit = node.value; - - if (isStale(self, hit)) { - del(self, node); - if (!self[ALLOW_STALE]) hit = undefined; + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); } - if (hit) fn.call(thisp, hit.value, hit.key, self); -}; - -var lruCache = LRUCache; + exports.keys = function(val) { + var object = Object(val); + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); -// obj with keys in a consistent order. + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } -var opts = ['includePrerelease', 'loose', 'rtl']; + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; -var parseOptions$1 = options => !options ? {} : typeof options !== 'object' ? { - loose: true -} : opts.filter(k => options[k]).reduce((o, k) => { - o[k] = true; - return o; -}, {}); + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } -var parseOptions_1 = parseOptions$1; + if (typeof iterable.next === "function") { + return iterable; + } -var re$1 = {exports: {}}; + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } -// Not necessarily the package version of this code. + next.value = undefined; + next.done = true; -var SEMVER_SPEC_VERSION = '2.0.0'; -var MAX_LENGTH$1 = 256; -var MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || -/* istanbul ignore next */ -9007199254740991; // Max safe segment length for coercion. + return next; + }; -var MAX_SAFE_COMPONENT_LENGTH = 16; -var constants = { - SEMVER_SPEC_VERSION, - MAX_LENGTH: MAX_LENGTH$1, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1, - MAX_SAFE_COMPONENT_LENGTH -}; + return next.next = next; + } + } -var debug$1 = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? function () { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; + // Return an iterator with no values. + return { next: doneResult }; } + exports.values = values; - return console.error('SEMVER', ...args); -} : () => {}; -var debug_1 = debug$1; - -(function (module, exports) { - var MAX_SAFE_COMPONENT_LENGTH = constants.MAX_SAFE_COMPONENT_LENGTH; - var debug = debug_1; - exports = module.exports = {}; // The actual regexps go on exports.re - - var re = exports.re = []; - var src = exports.src = []; - var t = exports.t = {}; - var R = 0; + function doneResult() { + return { value: undefined, done: true }; + } - var createToken = (name, value, isGlobal) => { - var index = R++; - debug(name, index, value); - t[name] = index; - src[index] = value; - re[index] = new RegExp(value, isGlobal ? 'g' : undefined); - }; // The following Regular Expressions can be used for tokenizing, - // validating, and parsing SemVer version strings. - // ## Numeric Identifier - // A single `0`, or a non-zero digit followed by zero or more digits. + Context.prototype = { + constructor: Context, + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; - createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*'); - createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier - // Zero or more digits, followed by a letter or hyphen, and then zero or - // more letters, digits, or hyphens. + this.method = "next"; + this.arg = undefined; - createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version - // Three dot-separated numeric identifiers. + this.tryEntries.forEach(resetTryEntry); - createToken('MAINVERSION', "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")")); - createToken('MAINVERSIONLOOSE', "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")")); // ## Pre-release Version Identifier - // A numeric identifier, or a non-numeric identifier. + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, - createToken('PRERELEASEIDENTIFIER', "(?:".concat(src[t.NUMERICIDENTIFIER], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); - createToken('PRERELEASEIDENTIFIERLOOSE', "(?:".concat(src[t.NUMERICIDENTIFIERLOOSE], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); // ## Pre-release Version - // Hyphen, followed by one or more dot-separated pre-release version - // identifiers. + stop: function() { + this.done = true; - createToken('PRERELEASE', "(?:-(".concat(src[t.PRERELEASEIDENTIFIER], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIER], ")*))")); - createToken('PRERELEASELOOSE', "(?:-?(".concat(src[t.PRERELEASEIDENTIFIERLOOSE], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIERLOOSE], ")*))")); // ## Build Metadata Identifier - // Any combination of digits, letters, or hyphens. + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } - createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata - // Plus sign, followed by one or more period-separated build metadata - // identifiers. + return this.rval; + }, - createToken('BUILD', "(?:\\+(".concat(src[t.BUILDIDENTIFIER], "(?:\\.").concat(src[t.BUILDIDENTIFIER], ")*))")); // ## Full Version String - // A main version, followed optionally by a pre-release version and - // build metadata. - // Note that the only major, minor, patch, and pre-release sections of - // the version string are capturing groups. The build metadata is not a - // capturing group, because it should not ever be used in version - // comparison. + dispatchException: function(exception) { + if (this.done) { + throw exception; + } - createToken('FULLPLAIN', "v?".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], "?").concat(src[t.BUILD], "?")); - createToken('FULL', "^".concat(src[t.FULLPLAIN], "$")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. - // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty - // common in the npm registry. + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; - createToken('LOOSEPLAIN', "[v=\\s]*".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], "?").concat(src[t.BUILD], "?")); - createToken('LOOSE', "^".concat(src[t.LOOSEPLAIN], "$")); - createToken('GTLT', '((?:<|>)?=?)'); // Something like "2.*" or "1.2.x". - // Note that "x.x" is a valid xRange identifer, meaning "any version" - // Only the first item is strictly required. + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } - createToken('XRANGEIDENTIFIERLOOSE', "".concat(src[t.NUMERICIDENTIFIERLOOSE], "|x|X|\\*")); - createToken('XRANGEIDENTIFIER', "".concat(src[t.NUMERICIDENTIFIER], "|x|X|\\*")); - createToken('XRANGEPLAIN', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:".concat(src[t.PRERELEASE], ")?").concat(src[t.BUILD], "?") + ")?)?"); - createToken('XRANGEPLAINLOOSE', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:".concat(src[t.PRERELEASELOOSE], ")?").concat(src[t.BUILD], "?") + ")?)?"); - createToken('XRANGE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAIN], "$")); - createToken('XRANGELOOSE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAINLOOSE], "$")); // Coercion. - // Extract anything that could conceivably be a part of a valid semver + return !! caught; + } - createToken('COERCE', "".concat('(^|[^\\d])' + '(\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, "})") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:$|[^\\d])"); - createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges. - // Meaning is "reasonably at or greater than" + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; - createToken('LONETILDE', '(?:~>?)'); - createToken('TILDETRIM', "(\\s*)".concat(src[t.LONETILDE], "\\s+"), true); - exports.tildeTrimReplace = '$1~'; - createToken('TILDE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], "$")); - createToken('TILDELOOSE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], "$")); // Caret ranges. - // Meaning is "at least and backwards compatible with" + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } - createToken('LONECARET', '(?:\\^)'); - createToken('CARETTRIM', "(\\s*)".concat(src[t.LONECARET], "\\s+"), true); - exports.caretTrimReplace = '$1^'; - createToken('CARET', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], "$")); - createToken('CARETLOOSE', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], "$")); // A simple gt/lt/eq thing, or just "" to indicate "any version" + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); - createToken('COMPARATORLOOSE', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], ")$|^$")); - createToken('COMPARATOR', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.FULLPLAIN], ")$|^$")); // An expression to strip any whitespace between the gtlt and the thing - // it modifies, so that `> 1.2.3` ==> `>1.2.3` + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } - createToken('COMPARATORTRIM', "(\\s*)".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], "|").concat(src[t.XRANGEPLAIN], ")"), true); - exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4` - // Note that these all use the loose form, because they'll be - // checked against either the strict or loose comparator form - // later. + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } - createToken('HYPHENRANGE', "^\\s*(".concat(src[t.XRANGEPLAIN], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAIN], ")") + "\\s*$"); - createToken('HYPHENRANGELOOSE', "^\\s*(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s*$"); // Star ranges basically just allow anything at all. + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } - createToken('STAR', '(<|>)?=?\\s*\\*'); // >=0.0.0 is like a star + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, - createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$'); - createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$'); -})(re$1, re$1.exports); + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } -var numeric = /^[0-9]+$/; + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } -var compareIdentifiers$1 = (a, b) => { - var anum = numeric.test(a); - var bnum = numeric.test(b); + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; - if (anum && bnum) { - a = +a; - b = +b; - } + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; -}; + return this.complete(record); + }, -var rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a); + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } -var identifiers = { - compareIdentifiers: compareIdentifiers$1, - rcompareIdentifiers -}; + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } -var debug = debug_1; -var MAX_LENGTH = constants.MAX_LENGTH, - MAX_SAFE_INTEGER = constants.MAX_SAFE_INTEGER; -var re = re$1.exports.re, - t = re$1.exports.t; -var parseOptions = parseOptions_1; -var compareIdentifiers = identifiers.compareIdentifiers; + return ContinueSentinel; + }, -class SemVer$1 { - constructor(version, options) { - options = parseOptions(options); + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, - if (version instanceof SemVer$1) { - if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { - return version; - } else { - version = version.version; + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } } - } else if (typeof version !== 'string') { - throw new TypeError("Invalid Version: ".concat(version)); - } - if (version.length > MAX_LENGTH) { - throw new TypeError("version is longer than ".concat(MAX_LENGTH, " characters")); - } + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, - debug('SemVer', version, options); - this.options = options; - this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we - // don't run into trouble passing this.options around. + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; - this.includePrerelease = !!options.includePrerelease; - var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } - if (!m) { - throw new TypeError("Invalid Version: ".concat(version)); + return ContinueSentinel; } + }; - this.raw = version; // these are actually numbers - - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError('Invalid major version'); - } + // Regardless of whether this script is executing as a CommonJS module + // or not, return the runtime object so that we can declare the variable + // regeneratorRuntime in the outer scope, which allows this module to be + // injected easily by `bin/regenerator --include-runtime script.js`. + return exports; - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError('Invalid minor version'); - } - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError('Invalid patch version'); - } // numberify any prerelease numeric ids +}( + // If this script is executing as a CommonJS module, use module.exports + // as the regeneratorRuntime namespace. Otherwise create a new empty + // object. Either way, the resulting object will be used to initialize + // the regeneratorRuntime variable at the top of this file. + true ? module.exports : 0 +)); +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + // This module should not be running in strict mode, so the above + // assignment should always work unless something is misconfigured. Just + // in case runtime.js accidentally runs in strict mode, in modern engines + // we can explicitly access globalThis. In older engines we can escape + // strict mode using a global Function call. This could conceivably fail + // if a Content Security Policy forbids using Function, but in that case + // the proper solution is to fix the accidental strict mode problem. If + // you've misconfigured your bundler to force strict mode and applied a + // CSP to forbid Function, and you're not willing to fix either of those + // problems, please detail your unique predicament in a GitHub issue. + if (typeof globalThis === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split('.').map(id => { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } +/***/ }), - return id; - }); - } +/***/ "./node_modules/reselect/es/defaultMemoize.js": +/*!****************************************************!*\ + !*** ./node_modules/reselect/es/defaultMemoize.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - this.build = m[5] ? m[5].split('.') : []; - this.format(); - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "createCacheKeyComparator": () => (/* binding */ createCacheKeyComparator), +/* harmony export */ "defaultEqualityCheck": () => (/* binding */ defaultEqualityCheck), +/* harmony export */ "defaultMemoize": () => (/* binding */ defaultMemoize) +/* harmony export */ }); +// Cache implementation based on Erik Rasmussen's `lru-memoize`: +// https://github.com/erikras/lru-memoize +var NOT_FOUND = 'NOT_FOUND'; - format() { - this.version = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); +function createSingletonCache(equals) { + var entry; + return { + get: function get(key) { + if (entry && equals(entry.key, key)) { + return entry.value; + } - if (this.prerelease.length) { - this.version += "-".concat(this.prerelease.join('.')); + return NOT_FOUND; + }, + put: function put(key, value) { + entry = { + key: key, + value: value + }; + }, + getEntries: function getEntries() { + return entry ? [entry] : []; + }, + clear: function clear() { + entry = undefined; } + }; +} - return this.version; - } +function createLruCache(maxSize, equals) { + var entries = []; - toString() { - return this.version; - } + function get(key) { + var cacheIndex = entries.findIndex(function (entry) { + return equals(key, entry.key); + }); // We found a cached entry - compare(other) { - debug('SemVer.compare', this.version, this.options, other); + if (cacheIndex > -1) { + var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top - if (!(other instanceof SemVer$1)) { - if (typeof other === 'string' && other === this.version) { - return 0; + if (cacheIndex > 0) { + entries.splice(cacheIndex, 1); + entries.unshift(entry); } - other = new SemVer$1(other, this.options); - } + return entry.value; + } // No entry found in cache, return sentinel - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); + return NOT_FOUND; } - compareMain(other) { - if (!(other instanceof SemVer$1)) { - other = new SemVer$1(other, this.options); + function put(key, value) { + if (get(key) === NOT_FOUND) { + // TODO Is unshift slow? + entries.unshift({ + key: key, + value: value + }); + + if (entries.length > maxSize) { + entries.pop(); + } } + } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); + function getEntries() { + return entries; } - comparePre(other) { - if (!(other instanceof SemVer$1)) { - other = new SemVer$1(other, this.options); - } // NOT having a prerelease is > having one + function clear() { + entries = []; + } + return { + get: get, + put: put, + getEntries: getEntries, + clear: clear + }; +} - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } +var defaultEqualityCheck = function defaultEqualityCheck(a, b) { + return a === b; +}; +function createCacheKeyComparator(equalityCheck) { + return function areArgumentsShallowlyEqual(prev, next) { + if (prev === null || next === null || prev.length !== next.length) { + return false; + } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible. - var i = 0; - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); + var length = prev.length; - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); + for (var i = 0; i < length; i++) { + if (!equalityCheck(prev[i], next[i])) { + return false; } - } while (++i); - } - - compareBuild(other) { - if (!(other instanceof SemVer$1)) { - other = new SemVer$1(other, this.options); } - var i = 0; - - do { - var a = this.build[i]; - var b = other.build[i]; - debug('prerelease compare', i, a, b); - - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } // preminor will bump the version up to the next minor release, and immediately - // down to pre-release. premajor and prepatch work the same way. - - - inc(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; + return true; + }; +} +// defaultMemoize now supports a configurable cache size with LRU behavior, +// and optional comparison of the result value with existing values +function defaultMemoize(func, equalityCheckOrOptions) { + var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : { + equalityCheck: equalityCheckOrOptions + }; + var _providedOptions$equa = providedOptions.equalityCheck, + equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, + _providedOptions$maxS = providedOptions.maxSize, + maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, + resultEqualityCheck = providedOptions.resultEqualityCheck; + var comparator = createCacheKeyComparator(equalityCheck); + var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. + function memoized() { + var value = cache.get(arguments); - case 'prerelease': - if (this.prerelease.length === 0) { - this.inc('patch', identifier); - } + if (value === NOT_FOUND) { + // @ts-ignore + value = func.apply(null, arguments); - this.inc('pre', identifier); - break; + if (resultEqualityCheck) { + var entries = cache.getEntries(); + var matchingEntry = entries.find(function (entry) { + return resultEqualityCheck(entry.value, value); + }); - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; + if (matchingEntry) { + value = matchingEntry.value; } + } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } + cache.put(arguments, value); + } - this.patch = 0; - this.prerelease = []; - break; + return value; + } - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) { - this.patch++; - } + memoized.clearCache = function () { + return cache.clear(); + }; - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + return memoized; +} - case 'pre': - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - var i = this.prerelease.length; +/***/ }), - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } +/***/ "./node_modules/reselect/es/index.js": +/*!*******************************************!*\ + !*** ./node_modules/reselect/es/index.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (i === -1) { - // didn't increment anything - this.prerelease.push(0); - } - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "createSelector": () => (/* binding */ createSelector), +/* harmony export */ "createSelectorCreator": () => (/* binding */ createSelectorCreator), +/* harmony export */ "createStructuredSelector": () => (/* binding */ createStructuredSelector), +/* harmony export */ "defaultEqualityCheck": () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultEqualityCheck), +/* harmony export */ "defaultMemoize": () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize) +/* harmony export */ }); +/* harmony import */ var _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultMemoize */ "./node_modules/reselect/es/defaultMemoize.js"); - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - break; - default: - throw new Error("invalid increment argument: ".concat(release)); - } +function getDependencies(funcs) { + var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs; - this.format(); - this.raw = this.version; - return this; + if (!dependencies.every(function (dep) { + return typeof dep === 'function'; + })) { + var dependencyTypes = dependencies.map(function (dep) { + return typeof dep === 'function' ? "function " + (dep.name || 'unnamed') + "()" : typeof dep; + }).join(', '); + throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]"); } + return dependencies; } -var semver = SemVer$1; - -var SemVer = semver; +function createSelectorCreator(memoize) { + for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + memoizeOptionsFromArgs[_key - 1] = arguments[_key]; + } -var compare$6 = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); + var createSelector = function createSelector() { + for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + funcs[_key2] = arguments[_key2]; + } -var compare_1 = compare$6; + var _recomputations = 0; -var compare$5 = compare_1; + var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`. + // So, start by declaring the default value here. + // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.) -var eq$1 = (a, b, loose) => compare$5(a, b, loose) === 0; -var eq_1 = eq$1; + var directlyPassedOptions = { + memoizeOptions: undefined + }; // Normally, the result func or "output selector" is the last arg -var compare$4 = compare_1; + var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object -var neq$1 = (a, b, loose) => compare$4(a, b, loose) !== 0; + if (typeof resultFunc === 'object') { + directlyPassedOptions = resultFunc; // and pop the real result func off -var neq_1 = neq$1; + resultFunc = funcs.pop(); + } -var compare$3 = compare_1; + if (typeof resultFunc !== 'function') { + throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]"); + } // Determine which set of options we're using. Prefer options passed directly, + // but fall back to options given to createSelectorCreator. -var gt$1 = (a, b, loose) => compare$3(a, b, loose) > 0; -var gt_1 = gt$1; + var _directlyPassedOption = directlyPassedOptions, + _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, + memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer + // is an array. In most libs I've looked at, it's an equality function or options object. + // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full + // user-provided array of options. Otherwise, it must be just the _first_ arg, and so + // we wrap it in an array so we can apply it. -var compare$2 = compare_1; + var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions]; + var dependencies = getDependencies(funcs); + var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() { + _recomputations++; // apply arguments instead of spreading for performance. -var gte$1 = (a, b, loose) => compare$2(a, b, loose) >= 0; + return resultFunc.apply(null, arguments); + }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again. -var gte_1 = gte$1; + var selector = memoize(function dependenciesChecker() { + var params = []; + var length = dependencies.length; -var compare$1 = compare_1; + for (var i = 0; i < length; i++) { + // apply arguments instead of spreading and mutate a local list of params for performance. + // @ts-ignore + params.push(dependencies[i].apply(null, arguments)); + } // apply arguments instead of spreading for performance. -var lt$1 = (a, b, loose) => compare$1(a, b, loose) < 0; -var lt_1 = lt$1; + _lastResult = memoizedResultFunc.apply(null, params); + return _lastResult; + }); + Object.assign(selector, { + resultFunc: resultFunc, + memoizedResultFunc: memoizedResultFunc, + dependencies: dependencies, + lastResult: function lastResult() { + return _lastResult; + }, + recomputations: function recomputations() { + return _recomputations; + }, + resetRecomputations: function resetRecomputations() { + return _recomputations = 0; + } + }); + return selector; + }; // @ts-ignore -var compare = compare_1; -var lte$1 = (a, b, loose) => compare(a, b, loose) <= 0; + return createSelector; +} +var createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize); +// Manual definition of state and output arguments +var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) { + if (selectorCreator === void 0) { + selectorCreator = createSelector; + } -var lte_1 = lte$1; + if (typeof selectors !== 'object') { + throw new Error('createStructuredSelector expects first argument to be an object ' + ("where each property is a selector, instead received a " + typeof selectors)); + } -var eq = eq_1; -var neq = neq_1; -var gt = gt_1; -var gte = gte_1; -var lt = lt_1; -var lte = lte_1; + var objectKeys = Object.keys(selectors); + var resultSelector = selectorCreator( // @ts-ignore + objectKeys.map(function (key) { + return selectors[key]; + }), function () { + for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + values[_key3] = arguments[_key3]; + } -var cmp = (a, op, b, loose) => { - switch (op) { - case '===': - if (typeof a === 'object') { - a = a.version; - } + return values.reduce(function (composition, value, index) { + composition[objectKeys[index]] = value; + return composition; + }, {}); + }); + return resultSelector; +}; - if (typeof b === 'object') { - b = b.version; - } +/***/ }), - return a === b; +/***/ "./node_modules/resize-observer/lib/ContentRect.js": +/*!*********************************************************!*\ + !*** ./node_modules/resize-observer/lib/ContentRect.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports) => { - case '!==': - if (typeof a === 'object') { - a = a.version; - } +"use strict"; - if (typeof b === 'object') { - b = b.version; - } +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ContentRect = function (target) { + if ('getBBox' in target) { + var box = target.getBBox(); + return Object.freeze({ + height: box.height, + left: 0, + top: 0, + width: box.width, + }); + } + else { // if (target instanceof HTMLElement) { // also includes all other non-SVGGraphicsElements + var styles = window.getComputedStyle(target); + return Object.freeze({ + height: parseFloat(styles.height || '0'), + left: parseFloat(styles.paddingLeft || '0'), + top: parseFloat(styles.paddingTop || '0'), + width: parseFloat(styles.width || '0'), + }); + } +}; +exports.ContentRect = ContentRect; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGVudFJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29udGVudFJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSxJQUFNLFdBQVcsR0FBRyxVQUFDLE1BQWU7SUFDaEMsSUFBSSxTQUFTLElBQUssTUFBNkIsRUFBRTtRQUM3QyxJQUFNLEdBQUcsR0FBSSxNQUE2QixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07WUFDbEIsSUFBSSxFQUFFLENBQUM7WUFDUCxHQUFHLEVBQUUsQ0FBQztZQUNOLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztTQUNuQixDQUFDLENBQUM7S0FDTjtTQUFNLEVBQUUsMEZBQTBGO1FBQy9GLElBQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDakIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQztZQUN4QyxJQUFJLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDO1lBQzNDLEdBQUcsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUM7WUFDekMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztTQUN6QyxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUMsQ0FBQztBQUVPLGtDQUFXIn0= - return a !== b; +/***/ }), - case '': - case '=': - case '==': - return eq(a, b, loose); +/***/ "./node_modules/resize-observer/lib/ResizeObservation.js": +/*!***************************************************************!*\ + !*** ./node_modules/resize-observer/lib/ResizeObservation.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - case '!=': - return neq(a, b, loose); +"use strict"; - case '>': - return gt(a, b, loose); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ContentRect_1 = __webpack_require__(/*! ./ContentRect */ "./node_modules/resize-observer/lib/ContentRect.js"); +var ResizeObservation = /** @class */ (function () { + function ResizeObservation(target) { + this.target = target; + this.$$broadcastWidth = this.$$broadcastHeight = 0; + } + Object.defineProperty(ResizeObservation.prototype, "broadcastWidth", { + get: function () { + return this.$$broadcastWidth; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ResizeObservation.prototype, "broadcastHeight", { + get: function () { + return this.$$broadcastHeight; + }, + enumerable: true, + configurable: true + }); + ResizeObservation.prototype.isActive = function () { + var cr = ContentRect_1.ContentRect(this.target); + return !!cr + && (cr.width !== this.broadcastWidth + || cr.height !== this.broadcastHeight); + }; + return ResizeObservation; +}()); +exports.ResizeObservation = ResizeObservation; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzaXplT2JzZXJ2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVzaXplT2JzZXJ2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBNEM7QUFFNUM7SUFlSSwyQkFBWSxNQUFlO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFWRCxzQkFBVyw2Q0FBYzthQUF6QjtZQUNJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pDLENBQUM7OztPQUFBO0lBQ0Qsc0JBQVcsOENBQWU7YUFBMUI7WUFDSSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNsQyxDQUFDOzs7T0FBQTtJQU9NLG9DQUFRLEdBQWY7UUFDSSxJQUFNLEVBQUUsR0FBRyx5QkFBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwQyxPQUFPLENBQUMsQ0FBQyxFQUFFO2VBQ0osQ0FDQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjO21CQUM3QixFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQ3hDLENBQUM7SUFDVixDQUFDO0lBQ0wsd0JBQUM7QUFBRCxDQUFDLEFBN0JELElBNkJDO0FBRVEsOENBQWlCIn0= - case '>=': - return gte(a, b, loose); +/***/ }), - case '<': - return lt(a, b, loose); +/***/ "./node_modules/resize-observer/lib/ResizeObserver.js": +/*!************************************************************!*\ + !*** ./node_modules/resize-observer/lib/ResizeObserver.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - case '<=': - return lte(a, b, loose); +"use strict"; - default: - throw new TypeError("Invalid operator: ".concat(op)); - } +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ResizeObservation_1 = __webpack_require__(/*! ./ResizeObservation */ "./node_modules/resize-observer/lib/ResizeObservation.js"); +var ResizeObserverEntry_1 = __webpack_require__(/*! ./ResizeObserverEntry */ "./node_modules/resize-observer/lib/ResizeObserverEntry.js"); +var resizeObservers = []; +var ResizeObserver = /** @class */ (function () { + function ResizeObserver(callback) { + /** @internal */ + this.$$observationTargets = []; + /** @internal */ + this.$$activeTargets = []; + /** @internal */ + this.$$skippedTargets = []; + var message = callbackGuard(callback); + if (message) { + throw TypeError(message); + } + this.$$callback = callback; + } + ResizeObserver.prototype.observe = function (target) { + var message = targetGuard('observe', target); + if (message) { + throw TypeError(message); + } + var index = findTargetIndex(this.$$observationTargets, target); + if (index >= 0) { + return; + } + this.$$observationTargets.push(new ResizeObservation_1.ResizeObservation(target)); + registerResizeObserver(this); + }; + ResizeObserver.prototype.unobserve = function (target) { + var message = targetGuard('unobserve', target); + if (message) { + throw TypeError(message); + } + var index = findTargetIndex(this.$$observationTargets, target); + if (index < 0) { + return; + } + this.$$observationTargets.splice(index, 1); + if (this.$$observationTargets.length === 0) { + deregisterResizeObserver(this); + } + }; + ResizeObserver.prototype.disconnect = function () { + this.$$observationTargets = []; + this.$$activeTargets = []; + deregisterResizeObserver(this); + }; + return ResizeObserver; +}()); +exports.ResizeObserver = ResizeObserver; +function registerResizeObserver(resizeObserver) { + var index = resizeObservers.indexOf(resizeObserver); + if (index < 0) { + resizeObservers.push(resizeObserver); + startLoop(); + } +} +function deregisterResizeObserver(resizeObserver) { + var index = resizeObservers.indexOf(resizeObserver); + if (index >= 0) { + resizeObservers.splice(index, 1); + checkStopLoop(); + } +} +function callbackGuard(callback) { + if (typeof (callback) === 'undefined') { + return "Failed to construct 'ResizeObserver': 1 argument required, but only 0 present."; + } + if (typeof (callback) !== 'function') { + return "Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function."; + } +} +function targetGuard(functionName, target) { + if (typeof (target) === 'undefined') { + return "Failed to execute '" + functionName + "' on 'ResizeObserver': 1 argument required, but only 0 present."; + } + if (!(target && target.nodeType === window.Node.ELEMENT_NODE)) { + return "Failed to execute '" + functionName + "' on 'ResizeObserver': parameter 1 is not of type 'Element'."; + } +} +function findTargetIndex(collection, target) { + for (var index = 0; index < collection.length; index += 1) { + if (collection[index].target === target) { + return index; + } + } + return -1; +} +var gatherActiveObservationsAtDepth = function (depth) { + resizeObservers.forEach(function (ro) { + ro.$$activeTargets = []; + ro.$$skippedTargets = []; + ro.$$observationTargets.forEach(function (ot) { + if (ot.isActive()) { + var targetDepth = calculateDepthForNode(ot.target); + if (targetDepth > depth) { + ro.$$activeTargets.push(ot); + } + else { + ro.$$skippedTargets.push(ot); + } + } + }); + }); }; - -var cmp_1 = cmp; - -var comparator; -var hasRequiredComparator; - -function requireComparator() { - if (hasRequiredComparator) return comparator; - hasRequiredComparator = 1; - var ANY = Symbol('SemVer ANY'); // hoisted class for cyclic dependency - - class Comparator { - static get ANY() { - return ANY; +var hasActiveObservations = function () { + return resizeObservers.some(function (ro) { return !!ro.$$activeTargets.length; }); +}; +var hasSkippedObservations = function () { + return resizeObservers.some(function (ro) { return !!ro.$$skippedTargets.length; }); +}; +var broadcastActiveObservations = function () { + var shallowestTargetDepth = Infinity; + resizeObservers.forEach(function (ro) { + if (!ro.$$activeTargets.length) { + return; + } + var entries = []; + ro.$$activeTargets.forEach(function (obs) { + var entry = new ResizeObserverEntry_1.ResizeObserverEntry(obs.target); + entries.push(entry); + obs.$$broadcastWidth = entry.contentRect.width; + obs.$$broadcastHeight = entry.contentRect.height; + var targetDepth = calculateDepthForNode(obs.target); + if (targetDepth < shallowestTargetDepth) { + shallowestTargetDepth = targetDepth; + } + }); + ro.$$callback(entries, ro); + ro.$$activeTargets = []; + }); + return shallowestTargetDepth; +}; +var deliverResizeLoopErrorNotification = function () { + var errorEvent = new window.ErrorEvent('ResizeLoopError', { + message: 'ResizeObserver loop completed with undelivered notifications.', + }); + window.dispatchEvent(errorEvent); +}; +var calculateDepthForNode = function (target) { + var depth = 0; + while (target.parentNode) { + target = target.parentNode; + depth += 1; } + return depth; +}; +var notificationIteration = function () { + var depth = 0; + gatherActiveObservationsAtDepth(depth); + while (hasActiveObservations()) { + depth = broadcastActiveObservations(); + gatherActiveObservationsAtDepth(depth); + } + if (hasSkippedObservations()) { + deliverResizeLoopErrorNotification(); + } +}; +var animationFrameCancelToken; +var startLoop = function () { + if (animationFrameCancelToken) + return; + runLoop(); +}; +var runLoop = function () { + animationFrameCancelToken = window.requestAnimationFrame(function () { + notificationIteration(); + runLoop(); + }); +}; +var checkStopLoop = function () { + if (animationFrameCancelToken && !resizeObservers.some(function (ro) { return !!ro.$$observationTargets.length; })) { + window.cancelAnimationFrame(animationFrameCancelToken); + animationFrameCancelToken = undefined; + } +}; +var install = function () { + return window.ResizeObserver = ResizeObserver; +}; +exports.install = install; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzaXplT2JzZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVzaXplT2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5REFBd0Q7QUFFeEQsNkRBQTREO0FBRTVELElBQU0sZUFBZSxHQUFHLEVBQXNCLENBQUM7QUFFL0M7SUFVSSx3QkFBWSxRQUFnQztRQVA1QyxnQkFBZ0I7UUFDVCx5QkFBb0IsR0FBRyxFQUF5QixDQUFDO1FBQ3hELGdCQUFnQjtRQUNULG9CQUFlLEdBQUcsRUFBeUIsQ0FBQztRQUNuRCxnQkFBZ0I7UUFDVCxxQkFBZ0IsR0FBRyxFQUF5QixDQUFDO1FBR2hELElBQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxJQUFJLE9BQU8sRUFBRTtZQUNULE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdDQUFPLEdBQWQsVUFBZSxNQUFlO1FBQzFCLElBQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxPQUFPLEVBQUU7WUFDVCxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ1osT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLHFDQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDOUQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLGtDQUFTLEdBQWhCLFVBQWlCLE1BQWU7UUFDNUIsSUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sRUFBRTtZQUNULE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsSUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDWCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVNLG1DQUFVLEdBQWpCO1FBQ0ksSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0wscUJBQUM7QUFBRCxDQUFDLEFBbkRELElBbURDO0FBdUpHLHdDQUFjO0FBckpsQixTQUFTLHNCQUFzQixDQUFDLGNBQThCO0lBQzFELElBQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ1gsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxTQUFTLEVBQUUsQ0FBQztLQUNmO0FBQ0wsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsY0FBOEI7SUFDNUQsSUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7UUFDWixlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqQyxhQUFhLEVBQUUsQ0FBQztLQUNuQjtBQUNMLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxRQUFnQztJQUNuRCxJQUFJLE9BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxXQUFXLEVBQUU7UUFDbEMsT0FBTyxnRkFBZ0YsQ0FBQztLQUMzRjtJQUNELElBQUksT0FBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUNqQyxPQUFPLCtGQUErRixDQUFDO0tBQzFHO0FBQ0wsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLFlBQW9CLEVBQUUsTUFBa0M7SUFDekUsSUFBSSxPQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxFQUFFO1FBQ2hDLE9BQU8sd0JBQXNCLFlBQVksb0VBQWlFLENBQUM7S0FDOUc7SUFDRCxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBTSxNQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sd0JBQXNCLFlBQVksaUVBQThELENBQUM7S0FDM0c7QUFDTCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsVUFBK0IsRUFBRSxNQUFlO0lBQ3JFLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUU7UUFDdkQsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBRTtZQUNyQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtLQUNKO0lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFRCxJQUFNLCtCQUErQixHQUFHLFVBQUMsS0FBYTtJQUNsRCxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQUMsRUFBRTtRQUN2QixFQUFFLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUN4QixFQUFFLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsVUFBQyxFQUFFO1lBQy9CLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNmLElBQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDckQsSUFBSSxXQUFXLEdBQUcsS0FBSyxFQUFFO29CQUNyQixFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDL0I7cUJBQU07b0JBQ0gsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDaEM7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFNLHFCQUFxQixHQUFHO0lBQzFCLE9BQUEsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFDLEVBQUUsSUFBSyxPQUFBLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBM0IsQ0FBMkIsQ0FBQztBQUF6RCxDQUF5RCxDQUFDO0FBRTlELElBQU0sc0JBQXNCLEdBQUc7SUFDM0IsT0FBQSxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQUMsRUFBRSxJQUFLLE9BQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQTVCLENBQTRCLENBQUM7QUFBMUQsQ0FBMEQsQ0FBQztBQUUvRCxJQUFNLDJCQUEyQixHQUFHO0lBQ2hDLElBQUkscUJBQXFCLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBQyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM1QixPQUFPO1NBQ1Y7UUFFRCxJQUFNLE9BQU8sR0FBRyxFQUEyQixDQUFDO1FBQzVDLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBRztZQUMzQixJQUFNLEtBQUssR0FBRyxJQUFJLHlDQUFtQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMvQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDakQsSUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELElBQUksV0FBVyxHQUFHLHFCQUFxQixFQUFFO2dCQUNyQyxxQkFBcUIsR0FBRyxXQUFXLENBQUM7YUFDdkM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLEVBQUUsQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxxQkFBcUIsQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFFRixJQUFNLGtDQUFrQyxHQUFHO0lBQ3ZDLElBQU0sVUFBVSxHQUFHLElBQUssTUFBYyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtRQUNqRSxPQUFPLEVBQUUsK0RBQStEO0tBQzNFLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBRUYsSUFBTSxxQkFBcUIsR0FBRyxVQUFDLE1BQVk7SUFDdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ3RCLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQzNCLEtBQUssSUFBSSxDQUFDLENBQUM7S0FDZDtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLElBQU0scUJBQXFCLEdBQUc7SUFDMUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsK0JBQStCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsT0FBTyxxQkFBcUIsRUFBRSxFQUFFO1FBQzVCLEtBQUssR0FBRywyQkFBMkIsRUFBRSxDQUFDO1FBQ3RDLCtCQUErQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzFDO0lBRUQsSUFBSSxzQkFBc0IsRUFBRSxFQUFFO1FBQzFCLGtDQUFrQyxFQUFFLENBQUM7S0FDeEM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLHlCQUE2QyxDQUFDO0FBRWxELElBQU0sU0FBUyxHQUFHO0lBQ2QsSUFBSSx5QkFBeUI7UUFBRSxPQUFPO0lBRXRDLE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxPQUFPLEdBQUc7SUFDWix5QkFBeUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDckQscUJBQXFCLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsSUFBTSxhQUFhLEdBQUc7SUFDbEIsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBQyxFQUFFLElBQUssT0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBaEMsQ0FBZ0MsQ0FBQyxFQUFFO1FBQzlGLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZELHlCQUF5QixHQUFHLFNBQVMsQ0FBQztLQUN6QztBQUNMLENBQUMsQ0FBQztBQUVGLElBQU0sT0FBTyxHQUFHO0lBQ1osT0FBQyxNQUFjLENBQUMsY0FBYyxHQUFHLGNBQWM7QUFBL0MsQ0FBK0MsQ0FBQztBQUdoRCwwQkFBTyJ9 - constructor(comp, options) { - options = parseOptions(options); - - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } +/***/ }), - debug('comparator', comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); +/***/ "./node_modules/resize-observer/lib/ResizeObserverEntry.js": +/*!*****************************************************************!*\ + !*** ./node_modules/resize-observer/lib/ResizeObserverEntry.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - if (this.semver === ANY) { - this.value = ''; - } else { - this.value = this.operator + this.semver.version; - } +"use strict"; - debug('comp', this); +Object.defineProperty(exports, "__esModule", ({ value: true })); +var ContentRect_1 = __webpack_require__(/*! ./ContentRect */ "./node_modules/resize-observer/lib/ContentRect.js"); +var ResizeObserverEntry = /** @class */ (function () { + function ResizeObserverEntry(target) { + this.target = target; + this.contentRect = ContentRect_1.ContentRect(target); } + return ResizeObserverEntry; +}()); +exports.ResizeObserverEntry = ResizeObserverEntry; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzaXplT2JzZXJ2ZXJFbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXNpemVPYnNlcnZlckVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQTRDO0FBRTVDO0lBR0ksNkJBQVksTUFBZTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLHlCQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNMLDBCQUFDO0FBQUQsQ0FBQyxBQVBELElBT0M7QUFFUSxrREFBbUIifQ== - parse(comp) { - var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - var m = comp.match(r); - - if (!m) { - throw new TypeError("Invalid comparator: ".concat(comp)); - } - - this.operator = m[1] !== undefined ? m[1] : ''; +/***/ }), - if (this.operator === '=') { - this.operator = ''; - } // if it literally is just '>' or '' then allow anything. +/***/ "./node_modules/split.js/dist/split.es.js": +/*!************************************************!*\ + !*** ./node_modules/split.js/dist/split.es.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +// The programming goals of Split.js are to deliver readable, understandable and +// maintainable code, while at the same time manually optimizing for tiny minified file size, +// browser compatibility without additional requirements +// and very few assumptions about the user's page layout. +var global = typeof window !== 'undefined' ? window : null; +var ssr = global === null; +var document = !ssr ? global.document : undefined; - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - } +// Save a couple long function names that are used frequently. +// This optimization saves around 400 bytes. +var addEventListener = 'addEventListener'; +var removeEventListener = 'removeEventListener'; +var getBoundingClientRect = 'getBoundingClientRect'; +var gutterStartDragging = '_a'; +var aGutterSize = '_b'; +var bGutterSize = '_c'; +var HORIZONTAL = 'horizontal'; +var NOOP = function () { return false; }; - toString() { - return this.value; - } +// Helper function determines which prefixes of CSS calc we need. +// We only need to do this once on startup, when this anonymous function is called. +// +// Tests -webkit, -moz and -o prefixes. Modified from StackOverflow: +// http://stackoverflow.com/questions/16625140/js-feature-detection-to-detect-the-usage-of-webkit-calc-over-calc/16625167#16625167 +var calc = ssr + ? 'calc' + : ((['', '-webkit-', '-moz-', '-o-'] + .filter(function (prefix) { + var el = document.createElement('div'); + el.style.cssText = "width:" + prefix + "calc(9px)"; - test(version) { - debug('Comparator.test', version, this.options.loose); + return !!el.style.length + }) + .shift()) + "calc"); - if (this.semver === ANY || version === ANY) { - return true; - } +// Helper function checks if its argument is a string-like type +var isString = function (v) { return typeof v === 'string' || v instanceof String; }; - if (typeof version === 'string') { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; +// Helper function allows elements and string selectors to be used +// interchangeably. In either case an element is returned. This allows us to +// do `Split([elem1, elem2])` as well as `Split(['#id1', '#id2'])`. +var elementOrSelector = function (el) { + if (isString(el)) { + var ele = document.querySelector(el); + if (!ele) { + throw new Error(("Selector " + el + " did not match a DOM element")) } - } - - return cmp(version, this.operator, this.semver, this.options); + return ele } - intersects(comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required'); - } + return el +}; - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } +// Helper function gets a property from the properties object, with a default fallback +var getOption = function (options, propName, def) { + var value = options[propName]; + if (value !== undefined) { + return value + } + return def +}; - if (this.operator === '') { - if (this.value === '') { - return true; +var getGutterSize = function (gutterSize, isFirst, isLast, gutterAlign) { + if (isFirst) { + if (gutterAlign === 'end') { + return 0 } - - return new Range(comp.value, options).test(this.value); - } else if (comp.operator === '') { - if (comp.value === '') { - return true; + if (gutterAlign === 'center') { + return gutterSize / 2 + } + } else if (isLast) { + if (gutterAlign === 'start') { + return 0 + } + if (gutterAlign === 'center') { + return gutterSize / 2 } - - return new Range(this.value, options).test(comp.semver); - } - - var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>'); - var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<'); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<='); - var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<'); - var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>'); - return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; } - } - - comparator = Comparator; - var parseOptions = parseOptions_1; - var re = re$1.exports.re, - t = re$1.exports.t; - var cmp = cmp_1; - var debug = debug_1; - var SemVer = semver; - var Range = requireRange(); - return comparator; -} + return gutterSize +}; -function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } +// Default options +var defaultGutterFn = function (i, gutterDirection) { + var gut = document.createElement('div'); + gut.className = "gutter gutter-" + gutterDirection; + return gut +}; -function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); } +var defaultElementStyleFn = function (dim, size, gutSize) { + var style = {}; -function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -var range; -var hasRequiredRange; + if (!isString(size)) { + style[dim] = calc + "(" + size + "% - " + gutSize + "px)"; + } else { + style[dim] = size; + } -function requireRange() { - if (hasRequiredRange) return range; - hasRequiredRange = 1; // hoisted class for cyclic dependency + return style +}; - class Range { - constructor(range, options) { - options = parseOptions(options); +var defaultGutterStyleFn = function (dim, gutSize) { + var obj; - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } + return (( obj = {}, obj[dim] = (gutSize + "px"), obj )); +}; - if (range instanceof Comparator) { - // just put it in the set and return - this.raw = range.value; - this.set = [[range]]; - this.format(); - return this; - } - - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; // First, split based on boolean or || +// The main function to initialize a split. Split.js thinks about each pair +// of elements as an independant pair. Dragging the gutter between two elements +// only changes the dimensions of elements in that pair. This is key to understanding +// how the following functions operate, since each function is bound to a pair. +// +// A pair object is shaped like this: +// +// { +// a: DOM element, +// b: DOM element, +// aMin: Number, +// bMin: Number, +// dragging: Boolean, +// parent: DOM element, +// direction: 'horizontal' | 'vertical' +// } +// +// The basic sequence: +// +// 1. Set defaults to something sane. `options` doesn't have to be passed at all. +// 2. Initialize a bunch of strings based on the direction we're splitting. +// A lot of the behavior in the rest of the library is paramatized down to +// rely on CSS strings and classes. +// 3. Define the dragging helper functions, and a few helpers to go with them. +// 4. Loop through the elements while pairing them off. Every pair gets an +// `pair` object and a gutter. +// 5. Actually size the pair elements, insert gutters and attach event listeners. +var Split = function (idsOption, options) { + if ( options === void 0 ) options = {}; - this.raw = range; - this.set = range.split('||') // map the range to a 2d array of comparators - .map(r => this.parseRange(r.trim())) // throw out any comparator lists that are empty - // this generally means that it was not a valid range, which is allowed - // in loose mode, but will still throw if the WHOLE range is invalid. - .filter(c => c.length); + if (ssr) { return {} } - if (!this.set.length) { - throw new TypeError("Invalid SemVer Range: ".concat(range)); - } // if we have any that are not the null set, throw out null sets. + var ids = idsOption; + var dimension; + var clientAxis; + var position; + var positionEnd; + var clientSize; + var elements; + // Allow HTMLCollection to be used as an argument when supported + if (Array.from) { + ids = Array.from(ids); + } - if (this.set.length > 1) { - // keep the first one, in case they're all null sets - var first = this.set[0]; - this.set = this.set.filter(c => !isNullSet(c[0])); + // All DOM elements in the split should have a common parent. We can grab + // the first elements parent and hope users read the docs because the + // behavior will be whacky otherwise. + var firstElement = elementOrSelector(ids[0]); + var parent = firstElement.parentNode; + var parentStyle = getComputedStyle ? getComputedStyle(parent) : null; + var parentFlexDirection = parentStyle ? parentStyle.flexDirection : null; - if (this.set.length === 0) { - this.set = [first]; - } else if (this.set.length > 1) { - // if we have any that are *, then the range is just * - var _iterator = _createForOfIteratorHelper$1(this.set), - _step; + // Set default options.sizes to equal percentages of the parent element. + var sizes = getOption(options, 'sizes') || ids.map(function () { return 100 / ids.length; }); - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var c = _step.value; + // Standardize minSize and maxSize to an array if it isn't already. + // This allows minSize and maxSize to be passed as a number. + var minSize = getOption(options, 'minSize', 100); + var minSizes = Array.isArray(minSize) ? minSize : ids.map(function () { return minSize; }); + var maxSize = getOption(options, 'maxSize', Infinity); + var maxSizes = Array.isArray(maxSize) ? maxSize : ids.map(function () { return maxSize; }); - if (c.length === 1 && isAny(c[0])) { - this.set = [c]; - break; - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - } - } + // Get other options + var expandToMin = getOption(options, 'expandToMin', false); + var gutterSize = getOption(options, 'gutterSize', 10); + var gutterAlign = getOption(options, 'gutterAlign', 'center'); + var snapOffset = getOption(options, 'snapOffset', 30); + var snapOffsets = Array.isArray(snapOffset) ? snapOffset : ids.map(function () { return snapOffset; }); + var dragInterval = getOption(options, 'dragInterval', 1); + var direction = getOption(options, 'direction', HORIZONTAL); + var cursor = getOption( + options, + 'cursor', + direction === HORIZONTAL ? 'col-resize' : 'row-resize' + ); + var gutter = getOption(options, 'gutter', defaultGutterFn); + var elementStyle = getOption( + options, + 'elementStyle', + defaultElementStyleFn + ); + var gutterStyle = getOption(options, 'gutterStyle', defaultGutterStyleFn); - this.format(); + // 2. Initialize a bunch of strings based on the direction we're splitting. + // A lot of the behavior in the rest of the library is paramatized down to + // rely on CSS strings and classes. + if (direction === HORIZONTAL) { + dimension = 'width'; + clientAxis = 'clientX'; + position = 'left'; + positionEnd = 'right'; + clientSize = 'clientWidth'; + } else if (direction === 'vertical') { + dimension = 'height'; + clientAxis = 'clientY'; + position = 'top'; + positionEnd = 'bottom'; + clientSize = 'clientHeight'; } - format() { - this.range = this.set.map(comps => { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; - } + // 3. Define the dragging helper functions, and a few helpers to go with them. + // Each helper is bound to a pair object that contains its metadata. This + // also makes it easy to store references to listeners that that will be + // added and removed. + // + // Even though there are no other functions contained in them, aliasing + // this to self saves 50 bytes or so since it's used so frequently. + // + // The pair object saves metadata like dragging state, position and + // event listener references. - toString() { - return this.range; - } + function setElementSize(el, size, gutSize, i) { + // Split.js allows setting sizes via numbers (ideally), or if you must, + // by string, like '300px'. This is less than ideal, because it breaks + // the fluid layout that `calc(% - px)` provides. You're on your own if you do that, + // make sure you calculate the gutter size by hand. + var style = elementStyle(dimension, size, gutSize, i); - parseRange(range) { - range = range.trim(); // memoize range parsing for performance. - // this is a very hot path, and fully deterministic. + Object.keys(style).forEach(function (prop) { + // eslint-disable-next-line no-param-reassign + el.style[prop] = style[prop]; + }); + } - var memoOpts = Object.keys(this.options).join(','); - var memoKey = "parseRange:".concat(memoOpts, ":").concat(range); - var cached = cache.get(memoKey); + function setGutterSize(gutterElement, gutSize, i) { + var style = gutterStyle(dimension, gutSize, i); - if (cached) { - return cached; - } + Object.keys(style).forEach(function (prop) { + // eslint-disable-next-line no-param-reassign + gutterElement.style[prop] = style[prop]; + }); + } - var loose = this.options.loose; // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + function getSizes() { + return elements.map(function (element) { return element.size; }) + } - var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug('hyphen replace', range); // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + // Supports touch events, but not multitouch, so only the first + // finger `touches[0]` is counted. + function getMousePosition(e) { + if ('touches' in e) { return e.touches[0][clientAxis] } + return e[clientAxis] + } - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range); // `~ 1.2.3` => `~1.2.3` + // Actually adjust the size of elements `a` and `b` to `offset` while dragging. + // calc is used to allow calc(percentage + gutterpx) on the whole split instance, + // which allows the viewport to be resized without additional logic. + // Element a's size is the same as offset. b's size is total size - a size. + // Both sizes are calculated from the initial parent percentage, + // then the gutter size is subtracted. + function adjust(offset) { + var a = elements[this.a]; + var b = elements[this.b]; + var percentage = a.size + b.size; - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); // `^ 1.2.3` => `^1.2.3` + a.size = (offset / this.size) * percentage; + b.size = percentage - (offset / this.size) * percentage; - range = range.replace(re[t.CARETTRIM], caretTrimReplace); // normalize spaces + setElementSize(a.element, a.size, this[aGutterSize], a.i); + setElementSize(b.element, b.size, this[bGutterSize], b.i); + } - range = range.split(/\s+/).join(' '); // At this point, the range is completely trimmed and - // ready to be split into comparators. + // drag, where all the magic happens. The logic is really quite simple: + // + // 1. Ignore if the pair is not dragging. + // 2. Get the offset of the event. + // 3. Snap offset to min if within snappable range (within min + snapOffset). + // 4. Actually adjust each element in the pair to offset. + // + // --------------------------------------------------------------------- + // | | <- a.minSize || b.minSize -> | | + // | | | <- this.snapOffset || this.snapOffset -> | | | + // | | | || | | | + // | | | || | | | + // --------------------------------------------------------------------- + // | <- this.start this.size -> | + function drag(e) { + var offset; + var a = elements[this.a]; + var b = elements[this.b]; - var rangeList = range.split(' ').map(comp => parseComparator(comp, this.options)).join(' ').split(/\s+/) // >=0.0.0 is equivalent to * - .map(comp => replaceGTE0(comp, this.options)); + if (!this.dragging) { return } - if (loose) { - // in loose mode, throw out any that are not valid comparators - rangeList = rangeList.filter(comp => { - debug('loose invalid filter', comp, this.options); - return !!comp.match(re[t.COMPARATORLOOSE]); - }); - } + // Get the offset of the event from the first side of the + // pair `this.start`. Then offset by the initial position of the + // mouse compared to the gutter size. + offset = + getMousePosition(e) - + this.start + + (this[aGutterSize] - this.dragOffset); - debug('range list', rangeList); // if any comparators are the null set, then replace with JUST null set - // if more than one comparator, remove any * comparators - // also, don't include the same comparator more than once + if (dragInterval > 1) { + offset = Math.round(offset / dragInterval) * dragInterval; + } - var rangeMap = new Map(); - var comparators = rangeList.map(comp => new Comparator(comp, this.options)); + // If within snapOffset of min or max, set offset to min or max. + // snapOffset buffers a.minSize and b.minSize, so logic is opposite for both. + // Include the appropriate gutter sizes to prevent overflows. + if (offset <= a.minSize + a.snapOffset + this[aGutterSize]) { + offset = a.minSize + this[aGutterSize]; + } else if ( + offset >= + this.size - (b.minSize + b.snapOffset + this[bGutterSize]) + ) { + offset = this.size - (b.minSize + this[bGutterSize]); + } - var _iterator2 = _createForOfIteratorHelper$1(comparators), - _step2; + if (offset >= a.maxSize - a.snapOffset + this[aGutterSize]) { + offset = a.maxSize + this[aGutterSize]; + } else if ( + offset <= + this.size - (b.maxSize - b.snapOffset + this[bGutterSize]) + ) { + offset = this.size - (b.maxSize + this[bGutterSize]); + } - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - var comp = _step2.value; + // Actually adjust the size. + adjust.call(this, offset); - if (isNullSet(comp)) { - return [comp]; - } + // Call the drag callback continously. Don't do anything too intensive + // in this callback. + getOption(options, 'onDrag', NOOP)(getSizes()); + } - rangeMap.set(comp.value, comp); - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } + // Cache some important sizes when drag starts, so we don't have to do that + // continously: + // + // `size`: The total size of the pair. First + second + first gutter + second gutter. + // `start`: The leading side of the first element. + // + // ------------------------------------------------ + // | aGutterSize -> ||| | + // | ||| | + // | ||| | + // | ||| <- bGutterSize | + // ------------------------------------------------ + // | <- start size -> | + function calculateSizes() { + // Figure out the parent size minus padding. + var a = elements[this.a].element; + var b = elements[this.b].element; - if (rangeMap.size > 1 && rangeMap.has('')) { - rangeMap.delete(''); - } + var aBounds = a[getBoundingClientRect](); + var bBounds = b[getBoundingClientRect](); - var result = [...rangeMap.values()]; - cache.set(memoKey, result); - return result; + this.size = + aBounds[dimension] + + bBounds[dimension] + + this[aGutterSize] + + this[bGutterSize]; + this.start = aBounds[position]; + this.end = aBounds[positionEnd]; } - intersects(range, options) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required'); - } + function innerSize(element) { + // Return nothing if getComputedStyle is not supported (< IE9) + // Or if parent element has no layout yet + if (!getComputedStyle) { return null } - return this.set.some(thisComparators => { - return isSatisfiable(thisComparators, options) && range.set.some(rangeComparators => { - return isSatisfiable(rangeComparators, options) && thisComparators.every(thisComparator => { - return rangeComparators.every(rangeComparator => { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - } // if ANY of the sets match ALL of its comparators, then pass + var computedStyle = getComputedStyle(element); + if (!computedStyle) { return null } - test(version) { - if (!version) { - return false; - } + var size = element[clientSize]; - if (typeof version === 'string') { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } + if (size === 0) { return null } - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true; + if (direction === HORIZONTAL) { + size -= + parseFloat(computedStyle.paddingLeft) + + parseFloat(computedStyle.paddingRight); + } else { + size -= + parseFloat(computedStyle.paddingTop) + + parseFloat(computedStyle.paddingBottom); } - } - return false; + return size } - } + // When specifying percentage sizes that are less than the computed + // size of the element minus the gutter, the lesser percentages must be increased + // (and decreased from the other elements) to make space for the pixels + // subtracted by the gutters. + function trimToMin(sizesToTrim) { + // Try to get inner size of parent element. + // If it's no supported, return original sizes. + var parentSize = innerSize(parent); + if (parentSize === null) { + return sizesToTrim + } - range = Range; - var LRU = lruCache; - var cache = new LRU({ - max: 1000 - }); - var parseOptions = parseOptions_1; - var Comparator = requireComparator(); - var debug = debug_1; - var SemVer = semver; - var re = re$1.exports.re, - t = re$1.exports.t, - comparatorTrimReplace = re$1.exports.comparatorTrimReplace, - tildeTrimReplace = re$1.exports.tildeTrimReplace, - caretTrimReplace = re$1.exports.caretTrimReplace; + if (minSizes.reduce(function (a, b) { return a + b; }, 0) > parentSize) { + return sizesToTrim + } - var isNullSet = c => c.value === '<0.0.0-0'; + // Keep track of the excess pixels, the amount of pixels over the desired percentage + // Also keep track of the elements with pixels to spare, to decrease after if needed + var excessPixels = 0; + var toSpare = []; - var isAny = c => c.value === ''; // take a set of comparators and determine whether there - // exists a version which can satisfy it + var pixelSizes = sizesToTrim.map(function (size, i) { + // Convert requested percentages to pixel sizes + var pixelSize = (parentSize * size) / 100; + var elementGutterSize = getGutterSize( + gutterSize, + i === 0, + i === sizesToTrim.length - 1, + gutterAlign + ); + var elementMinSize = minSizes[i] + elementGutterSize; + // If element is too smal, increase excess pixels by the difference + // and mark that it has no pixels to spare + if (pixelSize < elementMinSize) { + excessPixels += elementMinSize - pixelSize; + toSpare.push(0); + return elementMinSize + } - var isSatisfiable = (comparators, options) => { - var result = true; - var remainingComparators = comparators.slice(); - var testComparator = remainingComparators.pop(); + // Otherwise, mark the pixels it has to spare and return it's original size + toSpare.push(pixelSize - elementMinSize); + return pixelSize + }); - while (result && remainingComparators.length) { - result = remainingComparators.every(otherComparator => { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } + // If nothing was adjusted, return the original sizes + if (excessPixels === 0) { + return sizesToTrim + } - return result; - }; // comprised of xranges, tildes, stars, and gtlt's at this point. - // already replaced the hyphen ranges - // turn into a set of JUST comparators. + return pixelSizes.map(function (pixelSize, i) { + var newPixelSize = pixelSize; + // While there's still pixels to take, and there's enough pixels to spare, + // take as many as possible up to the total excess pixels + if (excessPixels > 0 && toSpare[i] - excessPixels > 0) { + var takenPixels = Math.min( + excessPixels, + toSpare[i] - excessPixels + ); - var parseComparator = (comp, options) => { - debug('comp', comp, options); - comp = replaceCarets(comp, options); - debug('caret', comp); - comp = replaceTildes(comp, options); - debug('tildes', comp); - comp = replaceXRanges(comp, options); - debug('xrange', comp); - comp = replaceStars(comp, options); - debug('stars', comp); - return comp; - }; + // Subtract the amount taken for the next iteration + excessPixels -= takenPixels; + newPixelSize = pixelSize - takenPixels; + } - var isX = id => !id || id.toLowerCase() === 'x' || id === '*'; // ~, ~> --> * (any, kinda silly) - // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 - // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 - // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 - // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 - // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 + // Return the pixel size adjusted as a percentage + return (newPixelSize / parentSize) * 100 + }) + } + // stopDragging is very similar to startDragging in reverse. + function stopDragging() { + var self = this; + var a = elements[self.a].element; + var b = elements[self.b].element; - var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map(c => { - return replaceTilde(c, options); - }).join(' '); + if (self.dragging) { + getOption(options, 'onDragEnd', NOOP)(getSizes()); + } - var replaceTilde = (comp, options) => { - var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, (_, M, m, p, pr) => { - debug('tilde', comp, _, M, m, p, pr); - var ret; + self.dragging = false; - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = ">=".concat(M, ".0.0 <").concat(+M + 1, ".0.0-0"); - } else if (isX(p)) { - // ~1.2 == >=1.2.0 <1.3.0-0 - ret = ">=".concat(M, ".").concat(m, ".0 <").concat(M, ".").concat(+m + 1, ".0-0"); - } else if (pr) { - debug('replaceTilde pr', pr); - ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0"); - } else { - // ~1.2.3 == >=1.2.3 <1.3.0-0 - ret = ">=".concat(M, ".").concat(m, ".").concat(p, " <").concat(M, ".").concat(+m + 1, ".0-0"); - } + // Remove the stored event listeners. This is why we store them. + global[removeEventListener]('mouseup', self.stop); + global[removeEventListener]('touchend', self.stop); + global[removeEventListener]('touchcancel', self.stop); + global[removeEventListener]('mousemove', self.move); + global[removeEventListener]('touchmove', self.move); - debug('tilde return', ret); - return ret; - }); - }; // ^ --> * (any, kinda silly) - // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 - // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 - // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 - // ^1.2.3 --> >=1.2.3 <2.0.0-0 - // ^1.2.0 --> >=1.2.0 <2.0.0-0 + // Clear bound function references + self.stop = null; + self.move = null; + a[removeEventListener]('selectstart', NOOP); + a[removeEventListener]('dragstart', NOOP); + b[removeEventListener]('selectstart', NOOP); + b[removeEventListener]('dragstart', NOOP); - var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map(c => { - return replaceCaret(c, options); - }).join(' '); + a.style.userSelect = ''; + a.style.webkitUserSelect = ''; + a.style.MozUserSelect = ''; + a.style.pointerEvents = ''; - var replaceCaret = (comp, options) => { - debug('caret', comp, options); - var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - var z = options.includePrerelease ? '-0' : ''; - return comp.replace(r, (_, M, m, p, pr) => { - debug('caret', comp, _, M, m, p, pr); - var ret; + b.style.userSelect = ''; + b.style.webkitUserSelect = ''; + b.style.MozUserSelect = ''; + b.style.pointerEvents = ''; - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = ">=".concat(M, ".0.0").concat(z, " <").concat(+M + 1, ".0.0-0"); - } else if (isX(p)) { - if (M === '0') { - ret = ">=".concat(M, ".").concat(m, ".0").concat(z, " <").concat(M, ".").concat(+m + 1, ".0-0"); - } else { - ret = ">=".concat(M, ".").concat(m, ".0").concat(z, " <").concat(+M + 1, ".0.0-0"); - } - } else if (pr) { - debug('replaceCaret pr', pr); + self.gutter.style.cursor = ''; + self.parent.style.cursor = ''; + document.body.style.cursor = ''; + } - if (M === '0') { - if (m === '0') { - ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(m, ".").concat(+p + 1, "-0"); - } else { - ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0"); - } - } else { - ret = ">=".concat(M, ".").concat(m, ".").concat(p, "-").concat(pr, " <").concat(+M + 1, ".0.0-0"); + // startDragging calls `calculateSizes` to store the inital size in the pair object. + // It also adds event listeners for mouse/touch events, + // and prevents selection while dragging so avoid the selecting text. + function startDragging(e) { + // Right-clicking can't start dragging. + if ('button' in e && e.button !== 0) { + return } - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') { - ret = ">=".concat(M, ".").concat(m, ".").concat(p).concat(z, " <").concat(M, ".").concat(m, ".").concat(+p + 1, "-0"); - } else { - ret = ">=".concat(M, ".").concat(m, ".").concat(p).concat(z, " <").concat(M, ".").concat(+m + 1, ".0-0"); - } - } else { - ret = ">=".concat(M, ".").concat(m, ".").concat(p, " <").concat(+M + 1, ".0.0-0"); + // Alias frequently used variables to save space. 200 bytes. + var self = this; + var a = elements[self.a].element; + var b = elements[self.b].element; + + // Call the onDragStart callback. + if (!self.dragging) { + getOption(options, 'onDragStart', NOOP)(getSizes()); } - } - debug('caret return', ret); - return ret; - }); - }; + // Don't actually drag the element. We emulate that in the drag function. + e.preventDefault(); - var replaceXRanges = (comp, options) => { - debug('replaceXRanges', comp, options); - return comp.split(/\s+/).map(c => { - return replaceXRange(c, options); - }).join(' '); - }; + // Set the dragging property of the pair object. + self.dragging = true; - var replaceXRange = (comp, options) => { - comp = comp.trim(); - var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, (ret, gtlt, M, m, p, pr) => { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; + // Create two event listeners bound to the same pair object and store + // them in the pair object. + self.move = drag.bind(self); + self.stop = stopDragging.bind(self); - if (gtlt === '=' && anyX) { - gtlt = ''; - } // if we're including prereleases in the match, then we need - // to fix this to -0, the lowest possible prerelease value + // All the binding. `window` gets the stop events in case we drag out of the elements. + global[addEventListener]('mouseup', self.stop); + global[addEventListener]('touchend', self.stop); + global[addEventListener]('touchcancel', self.stop); + global[addEventListener]('mousemove', self.move); + global[addEventListener]('touchmove', self.move); + // Disable selection. Disable! + a[addEventListener]('selectstart', NOOP); + a[addEventListener]('dragstart', NOOP); + b[addEventListener]('selectstart', NOOP); + b[addEventListener]('dragstart', NOOP); - pr = options.includePrerelease ? '-0' : ''; + a.style.userSelect = 'none'; + a.style.webkitUserSelect = 'none'; + a.style.MozUserSelect = 'none'; + a.style.pointerEvents = 'none'; - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0-0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // we know patch is an x, because we have any x at all. - // replace X with 0 - if (xm) { - m = 0; - } + b.style.userSelect = 'none'; + b.style.webkitUserSelect = 'none'; + b.style.MozUserSelect = 'none'; + b.style.pointerEvents = 'none'; - p = 0; + // Set the cursor at multiple levels + self.gutter.style.cursor = cursor; + self.parent.style.cursor = cursor; + document.body.style.cursor = cursor; - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - gtlt = '>='; + // Cache the initial sizes of the pair. + calculateSizes.call(self); - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; + // Determine the position of the mouse compared to the gutter + self.dragOffset = getMousePosition(e) - self.end; + } - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } + // adjust sizes to ensure percentage is within min size and gutter. + sizes = trimToMin(sizes); - if (gtlt === '<') { - pr = '-0'; + // 5. Create pair and element objects. Each pair has an index reference to + // elements `a` and `b` of the pair (first and second elements). + // Loop through the elements while pairing them off. Every pair gets a + // `pair` object and a gutter. + // + // Basic logic: + // + // - Starting with the second element `i > 0`, create `pair` objects with + // `a = i - 1` and `b = i` + // - Set gutter sizes based on the _pair_ being first/last. The first and last + // pair have gutterSize / 2, since they only have one half gutter, and not two. + // - Create gutter elements and add event listeners. + // - Set the size of the elements, minus the gutter sizes. + // + // ----------------------------------------------------------------------- + // | i=0 | i=1 | i=2 | i=3 | + // | | | | | + // | pair 0 pair 1 pair 2 | + // | | | | | + // ----------------------------------------------------------------------- + var pairs = []; + elements = ids.map(function (id, i) { + // Create the element object. + var element = { + element: elementOrSelector(id), + size: sizes[i], + minSize: minSizes[i], + maxSize: maxSizes[i], + snapOffset: snapOffsets[i], + i: i, + }; + + var pair; + + if (i > 0) { + // Create the pair object with its metadata. + pair = { + a: i - 1, + b: i, + dragging: false, + direction: direction, + parent: parent, + }; + + pair[aGutterSize] = getGutterSize( + gutterSize, + i - 1 === 0, + false, + gutterAlign + ); + pair[bGutterSize] = getGutterSize( + gutterSize, + false, + i === ids.length - 1, + gutterAlign + ); + + // if the parent has a reverse flex-direction, switch the pair elements. + if ( + parentFlexDirection === 'row-reverse' || + parentFlexDirection === 'column-reverse' + ) { + var temp = pair.a; + pair.a = pair.b; + pair.b = temp; + } } - ret = "".concat(gtlt + M, ".").concat(m, ".").concat(p).concat(pr); - } else if (xm) { - ret = ">=".concat(M, ".0.0").concat(pr, " <").concat(+M + 1, ".0.0-0"); - } else if (xp) { - ret = ">=".concat(M, ".").concat(m, ".0").concat(pr, " <").concat(M, ".").concat(+m + 1, ".0-0"); - } + // Determine the size of the current element. IE8 is supported by + // staticly assigning sizes without draggable gutters. Assigns a string + // to `size`. + // + // Create gutter elements for each pair. + if (i > 0) { + var gutterElement = gutter(i, direction, element.element); + setGutterSize(gutterElement, gutterSize, i); - debug('xRange return', ret); - return ret; - }); - }; // Because * is AND-ed with everything else in the comparator, - // and '' means "any version", just remove the *s entirely. + // Save bound event listener for removal later + pair[gutterStartDragging] = startDragging.bind(pair); + + // Attach bound event listener + gutterElement[addEventListener]( + 'mousedown', + pair[gutterStartDragging] + ); + gutterElement[addEventListener]( + 'touchstart', + pair[gutterStartDragging] + ); + parent.insertBefore(gutterElement, element.element); - var replaceStars = (comp, options) => { - debug('replaceStars', comp, options); // Looseness is ignored here. star is always as loose as it gets! + pair.gutter = gutterElement; + } - return comp.trim().replace(re[t.STAR], ''); - }; + setElementSize( + element.element, + element.size, + getGutterSize( + gutterSize, + i === 0, + i === ids.length - 1, + gutterAlign + ), + i + ); - var replaceGTE0 = (comp, options) => { - debug('replaceGTE0', comp, options); - return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ''); - }; // This function is passed to string.replace(re[t.HYPHENRANGE]) - // M, m, patch, prerelease, build - // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 - // 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do - // 1.2 - 3.4 => >=1.2.0 <3.5.0-0 + // After the first iteration, and we have a pair object, append it to the + // list of pairs. + if (i > 0) { + pairs.push(pair); + } + return element + }); - var hyphenReplace = incPr => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => { - if (isX(fM)) { - from = ''; - } else if (isX(fm)) { - from = ">=".concat(fM, ".0.0").concat(incPr ? '-0' : ''); - } else if (isX(fp)) { - from = ">=".concat(fM, ".").concat(fm, ".0").concat(incPr ? '-0' : ''); - } else if (fpr) { - from = ">=".concat(from); - } else { - from = ">=".concat(from).concat(incPr ? '-0' : ''); - } + function adjustToMin(element) { + var isLast = element.i === pairs.length; + var pair = isLast ? pairs[element.i - 1] : pairs[element.i]; - if (isX(tM)) { - to = ''; - } else if (isX(tm)) { - to = "<".concat(+tM + 1, ".0.0-0"); - } else if (isX(tp)) { - to = "<".concat(tM, ".").concat(+tm + 1, ".0-0"); - } else if (tpr) { - to = "<=".concat(tM, ".").concat(tm, ".").concat(tp, "-").concat(tpr); - } else if (incPr) { - to = "<".concat(tM, ".").concat(tm, ".").concat(+tp + 1, "-0"); - } else { - to = "<=".concat(to); - } + calculateSizes.call(pair); - return "".concat(from, " ").concat(to).trim(); - }; + var size = isLast + ? pair.size - element.minSize - pair[bGutterSize] + : element.minSize + pair[aGutterSize]; - var testSet = (set, version, options) => { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false; - } + adjust.call(pair, size); } - if (version.prerelease.length && !options.includePrerelease) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (var _i = 0; _i < set.length; _i++) { - debug(set[_i].semver); + elements.forEach(function (element) { + var computedSize = element.element[getBoundingClientRect]()[dimension]; - if (set[_i].semver === Comparator.ANY) { - continue; + if (computedSize < element.minSize) { + if (expandToMin) { + adjustToMin(element); + } else { + // eslint-disable-next-line no-param-reassign + element.minSize = computedSize; + } } + }); - if (set[_i].semver.prerelease.length > 0) { - var allowed = set[_i].semver; + function setSizes(newSizes) { + var trimmed = trimToMin(newSizes); + trimmed.forEach(function (newSize, i) { + if (i > 0) { + var pair = pairs[i - 1]; - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } // Version has a -pre, but it's not one of the ones we like. + var a = elements[pair.a]; + var b = elements[pair.b]; + a.size = trimmed[i - 1]; + b.size = newSize; - return false; + setElementSize(a.element, a.size, pair[aGutterSize], a.i); + setElementSize(b.element, b.size, pair[bGutterSize], b.i); + } + }); } - return true; - }; - - return range; -} + function destroy(preserveStyles, preserveGutter) { + pairs.forEach(function (pair) { + if (preserveGutter !== true) { + pair.parent.removeChild(pair.gutter); + } else { + pair.gutter[removeEventListener]( + 'mousedown', + pair[gutterStartDragging] + ); + pair.gutter[removeEventListener]( + 'touchstart', + pair[gutterStartDragging] + ); + } -var Range = requireRange(); + if (preserveStyles !== true) { + var style = elementStyle( + dimension, + pair.a.size, + pair[aGutterSize] + ); -var satisfies = (version, range, options) => { - try { - range = new Range(range, options); - } catch (er) { - return false; - } + Object.keys(style).forEach(function (prop) { + elements[pair.a].element.style[prop] = ''; + elements[pair.b].element.style[prop] = ''; + }); + } + }); + } - return range.test(version); + return { + setSizes: setSizes, + getSizes: getSizes, + collapse: function collapse(i) { + adjustToMin(elements[i]); + }, + destroy: destroy, + parent: parent, + pairs: pairs, + } }; -var satisfies_1 = satisfies; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Split); -/** - * Open editor url in a new window, and pass a message. - */ -function post (window, url, data) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - var editor = window.open(url); - var wait = 10000; - var step = 250; - var _URL = new URL(url), - origin = _URL.origin; // eslint-disable-next-line no-bitwise +/***/ }), +/***/ "./src/components/DrawerTabPanels/DetailsTabPanel/DatasetTabPanel.scss": +/*!*****************************************************************************!*\ + !*** ./src/components/DrawerTabPanels/DetailsTabPanel/DatasetTabPanel.scss ***! + \*****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - var count = ~~(wait / step); +var api = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./DatasetTabPanel.scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/components/DrawerTabPanels/DetailsTabPanel/DatasetTabPanel.scss"); - function listen(evt) { - if (evt.source === editor) { - count = 0; - window.removeEventListener('message', listen, false); - } - } + content = content.__esModule ? content.default : content; - window.addEventListener('message', listen, false); // send message - // periodically resend until ack received or timeout + if (typeof content === 'string') { + content = [[module.id, content, '']]; + } - function send() { - if (count <= 0) { - return; - } +var options = {}; - editor.postMessage(data, origin); - setTimeout(send, step); - count -= 1; - } +options.insert = "head"; +options.singleton = false; - setTimeout(send, step); -} +var update = api(content, options); -// generated with build-style.sh -var embedStyle = ".vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n.vega-embed.has-actions {\n padding-right: 38px;\n}\n.vega-embed details:not([open]) > :not(summary) {\n display: none !important;\n}\n.vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n cursor: pointer;\n line-height: 0px;\n}\n.vega-embed summary::-webkit-details-marker {\n display: none;\n}\n.vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset;\n}\n.vega-embed summary svg {\n width: 14px;\n height: 14px;\n}\n.vega-embed details[open] summary {\n opacity: 0.7;\n}\n.vega-embed:hover summary, .vega-embed:focus-within summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease;\n}\n.vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left;\n}\n.vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none;\n}\n.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {\n background-color: #f7f7f9;\n color: black;\n}\n.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n}\n.vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid rgba(0, 0, 0, 0);\n border-bottom-color: #d9d9d9;\n}\n.vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid rgba(0, 0, 0, 0);\n border-bottom-color: #fff;\n}\n.vega-embed .chart-wrapper.fit-x {\n width: 100%;\n}\n.vega-embed .chart-wrapper.fit-y {\n height: 100%;\n}\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px;\n}\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n"; -if (!String.prototype.startsWith) { - // eslint-disable-next-line no-extend-native,func-names - String.prototype.startsWith = function (search, pos) { - return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; - }; -} -function mergeDeep(dest) { - for (var _len = arguments.length, src = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - src[_key - 1] = arguments[_key]; - } - - for (var _i = 0, _src = src; _i < _src.length; _i++) { - var s = _src[_i]; - deepMerge_(dest, s); - } - - return dest; -} - -function deepMerge_(dest, src) { - for (var _i2 = 0, _Object$keys = Object.keys(src); _i2 < _Object$keys.length; _i2++) { - var property = _Object$keys[_i2]; - (0,vega__WEBPACK_IMPORTED_MODULE_2__.writeConfig)(dest, property, src[property], true); - } -} - -var name = "vega-embed"; -var version$1 = "6.21.0"; -var description = "Publish Vega visualizations as embedded web components."; -var keywords = ["vega", "data", "visualization", "component", "embed"]; -var repository = { - type: "git", - url: "http://github.com/vega/vega-embed.git" -}; -var author = { - name: "UW Interactive Data Lab", - url: "http://idl.cs.washington.edu" -}; -var contributors = [{ - name: "Dominik Moritz", - url: "https://www.domoritz.de" -}]; -var bugs = { - url: "https://github.com/vega/vega-embed/issues" -}; -var homepage = "https://github.com/vega/vega-embed#readme"; -var license = "BSD-3-Clause"; -var main = "build/vega-embed.js"; -var module = "build/vega-embed.module.js"; -var unpkg = "build/vega-embed.min.js"; -var jsdelivr = "build/vega-embed.min.js"; -var types = "build/vega-embed.module.d.ts"; -var files = ["src", "build", "build-es5", "patches"]; -var devDependencies = { - "@auto-it/conventional-commits": "^10.37.1", - "@auto-it/first-time-contributor": "^10.37.1", - "@babel/plugin-transform-runtime": "^7.18.2", - "@rollup/plugin-commonjs": "22.0.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^13.3.0", - "@types/semver": "^7.3.9", - auto: "^10.37.1", - "browser-sync": "^2.27.10", - concurrently: "^7.2.1", - "del-cli": "^4.0.1", - "jest-canvas-mock": "^2.4.0", - "patch-package": "^6.4.7", - "postinstall-postinstall": "^2.1.0", - rollup: "2.75.6", - "rollup-plugin-bundle-size": "^1.0.3", - "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-ts": "^3.0.0", - sass: "^1.52.1", - typescript: "^4.7.2", - vega: "^5.22.1", - "vega-lite": "^5.2.0", - "vega-lite-dev-config": "^0.20.0" -}; -var peerDependencies = { - vega: "^5.21.0", - "vega-lite": "*" -}; -var dependencies = { - "fast-json-patch": "^3.1.1", - "json-stringify-pretty-compact": "^3.0.0", - semver: "^7.3.7", - tslib: "^2.4.0", - "vega-interpreter": "^1.0.4", - "vega-schema-url-parser": "^2.2.0", - "vega-themes": "^2.10.0", - "vega-tooltip": "^0.28.0" -}; -var bundledDependencies = ["yallist"]; -var scripts = { - prebuild: "yarn clean && yarn build:style", - build: "rollup -c", - "build:style": "./build-style.sh", - clean: "del-cli build build-es5 src/style.ts", - prepublishOnly: "yarn clean && yarn build", - preversion: "yarn lint && yarn test", - serve: "browser-sync start --directory -s -f build *.html", - start: "yarn build && concurrently --kill-others -n Server,Rollup 'yarn serve' 'rollup -c -w'", - pretest: "yarn build:style", - test: "beemo jest --stdio stream", - "test:inspect": "node --inspect-brk ./node_modules/.bin/jest --runInBand", - prepare: "beemo create-config && npx patch-package", - prettierbase: "beemo prettier '*.{css,scss,html}'", - eslintbase: "beemo eslint .", - format: "yarn eslintbase --fix && yarn prettierbase --write", - lint: "yarn eslintbase && yarn prettierbase --check", - release: "yarn build && auto shipit" -}; -var pkg = { - name: name, - version: version$1, - description: description, - keywords: keywords, - repository: repository, - author: author, - contributors: contributors, - bugs: bugs, - homepage: homepage, - license: license, - main: main, - module: module, - unpkg: unpkg, - jsdelivr: jsdelivr, - types: types, - files: files, - devDependencies: devDependencies, - peerDependencies: peerDependencies, - dependencies: dependencies, - bundledDependencies: bundledDependencies, - scripts: scripts -}; - -var _w$vl; - -function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } -var version = pkg.version; -var vega = vega__WEBPACK_IMPORTED_MODULE_2__; -var _vegaLite = vega_lite__WEBPACK_IMPORTED_MODULE_4__; // For backwards compatibility with Vega-Lite before v4. -var w = typeof window !== 'undefined' ? window : undefined; - -if (_vegaLite === undefined && w !== null && w !== void 0 && (_w$vl = w.vl) !== null && _w$vl !== void 0 && _w$vl.compile) { - _vegaLite = w.vl; -} - -var DEFAULT_ACTIONS = { - export: { - svg: true, - png: true - }, - source: true, - compiled: true, - editor: true -}; -var I18N = { - CLICK_TO_VIEW_ACTIONS: 'Click to view actions', - COMPILED_ACTION: 'View Compiled Vega', - EDITOR_ACTION: 'Open in Vega Editor', - PNG_ACTION: 'Save as PNG', - SOURCE_ACTION: 'View Source', - SVG_ACTION: 'Save as SVG' -}; -var NAMES = { - vega: 'Vega', - 'vega-lite': 'Vega-Lite' -}; -var VERSION = { - vega: vega.version, - 'vega-lite': _vegaLite ? _vegaLite.version : 'not available' -}; -var PREPROCESSOR = { - vega: vgSpec => vgSpec, - 'vega-lite': (vlSpec, config) => _vegaLite.compile(vlSpec, { - config: config - }).spec -}; -var SVG_CIRCLES = "\n\n \n \n \n"; -var CHART_WRAPPER_CLASS = 'chart-wrapper'; - -function isTooltipHandler(h) { - return typeof h === 'function'; -} - -function viewSource(source, sourceHeader, sourceFooter, mode) { - var header = "".concat(sourceHeader, "
");
-  var footer = "
".concat(sourceFooter, ""); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - - var win = window.open(''); - win.document.write(header + source + footer); - win.document.title = "".concat(NAMES[mode], " JSON Source"); -} -/** - * Try to guess the type of spec. - * - * @param spec Vega or Vega-Lite spec. - */ +module.exports = content.locals || {}; -function guessMode(spec, providedMode) { - // Decide mode - if (spec.$schema) { - var parsed = (0,vega_schema_url_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(spec.$schema); +/***/ }), - if (providedMode && providedMode !== parsed.library) { - var _NAMES$providedMode; +/***/ "./src/index.scss": +/*!************************!*\ + !*** ./src/index.scss ***! + \************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - console.warn("The given visualization spec is written in ".concat(NAMES[parsed.library], ", but mode argument sets ").concat((_NAMES$providedMode = NAMES[providedMode]) !== null && _NAMES$providedMode !== void 0 ? _NAMES$providedMode : providedMode, ".")); - } +var api = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js!./index.scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/index.scss"); - var mode = parsed.library; + content = content.__esModule ? content.default : content; - if (!satisfies_1(VERSION[mode], "^".concat(parsed.version.slice(1)))) { - console.warn("The input spec uses ".concat(NAMES[mode], " ").concat(parsed.version, ", but the current version of ").concat(NAMES[mode], " is v").concat(VERSION[mode], ".")); - } + if (typeof content === 'string') { + content = [[module.id, content, '']]; + } - return mode; - } // try to guess from the provided spec +var options = {}; +options.insert = "head"; +options.singleton = false; - if ('mark' in spec || 'encoding' in spec || 'layer' in spec || 'hconcat' in spec || 'vconcat' in spec || 'facet' in spec || 'repeat' in spec) { - return 'vega-lite'; - } +var update = api(content, options); - if ('marks' in spec || 'signals' in spec || 'scales' in spec || 'axes' in spec) { - return 'vega'; - } - return providedMode !== null && providedMode !== void 0 ? providedMode : 'vega'; -} -function isLoader(o) { - return !!(o && 'load' in o); -} +module.exports = content.locals || {}; -function createLoader(opts) { - return isLoader(opts) ? opts : vega.loader(opts); -} +/***/ }), -function embedOptionsFromUsermeta(parsedSpec) { - var _embedOptions, _parsedSpec$usermeta; +/***/ "./src/plugins/Coral/CoralChanges/coral.scss": +/*!***************************************************!*\ + !*** ./src/plugins/Coral/CoralChanges/coral.scss ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - var opts = (_embedOptions = (_parsedSpec$usermeta = parsedSpec.usermeta) === null || _parsedSpec$usermeta === void 0 ? void 0 : _parsedSpec$usermeta.embedOptions) !== null && _embedOptions !== void 0 ? _embedOptions : {}; +var api = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./coral.scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/plugins/Coral/CoralChanges/coral.scss"); - if ((0,vega__WEBPACK_IMPORTED_MODULE_2__.isString)(opts.defaultStyle)) { - // we don't allow styles set via usermeta since it would allow injection of logic (we set the style via innerHTML) - opts.defaultStyle = false; - } + content = content.__esModule ? content.default : content; - return opts; -} -/** - * Embed a Vega visualization component in a web page. This function returns a promise. - * - * @param el DOM element in which to place component (DOM node or CSS selector). - * @param spec String : A URL string from which to load the Vega specification. - * Object : The Vega/Vega-Lite specification as a parsed JSON object. - * @param opts A JavaScript object containing options for embedding. - */ + if (typeof content === 'string') { + content = [[module.id, content, '']]; + } +var options = {}; -function embed(_x, _x2) { - return _embed2.apply(this, arguments); -} +options.insert = "head"; +options.singleton = false; -function _embed2() { - _embed2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(el, spec) { - var _parsedOpts$config, _usermetaOpts$config; +var update = api(content, options); - var opts, - parsedSpec, - loader, - loadedEmbedOptions, - usermetaLoader, - _opts$loader, - usermetaOpts, - parsedOpts, - mergedOpts, - _args = arguments; - return _regeneratorRuntime.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - opts = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}; - if (!(0,vega__WEBPACK_IMPORTED_MODULE_2__.isString)(spec)) { - _context.next = 10; - break; - } +module.exports = content.locals || {}; - loader = createLoader(opts.loader); - _context.t0 = JSON; - _context.next = 6; - return loader.load(spec); +/***/ }), - case 6: - _context.t1 = _context.sent; - parsedSpec = _context.t0.parse.call(_context.t0, _context.t1); - _context.next = 11; - break; +/***/ "./src/plugins/Coral/CoralDetail/coral.scss": +/*!**************************************************!*\ + !*** ./src/plugins/Coral/CoralDetail/coral.scss ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - case 10: - parsedSpec = spec; +var api = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./coral.scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/plugins/Coral/CoralDetail/coral.scss"); - case 11: - loadedEmbedOptions = embedOptionsFromUsermeta(parsedSpec); - usermetaLoader = loadedEmbedOptions.loader; // either create the loader for the first time or create a new loader if the spec has new loader options + content = content.__esModule ? content.default : content; - if (!loader || usermetaLoader) { - loader = createLoader((_opts$loader = opts.loader) !== null && _opts$loader !== void 0 ? _opts$loader : usermetaLoader); + if (typeof content === 'string') { + content = [[module.id, content, '']]; } - _context.next = 16; - return loadOpts(loadedEmbedOptions, loader); - - case 16: - usermetaOpts = _context.sent; - _context.next = 19; - return loadOpts(opts, loader); - - case 19: - parsedOpts = _context.sent; - mergedOpts = _objectSpread(_objectSpread({}, mergeDeep(parsedOpts, usermetaOpts)), {}, { - config: (0,vega__WEBPACK_IMPORTED_MODULE_2__.mergeConfig)((_parsedOpts$config = parsedOpts.config) !== null && _parsedOpts$config !== void 0 ? _parsedOpts$config : {}, (_usermetaOpts$config = usermetaOpts.config) !== null && _usermetaOpts$config !== void 0 ? _usermetaOpts$config : {}) - }); - _context.next = 23; - return _embed(el, parsedSpec, mergedOpts, loader); - - case 23: - return _context.abrupt("return", _context.sent); - - case 24: - case "end": - return _context.stop(); - } - } - }, _callee); - })); - return _embed2.apply(this, arguments); -} +var options = {}; -function loadOpts(_x3, _x4) { - return _loadOpts.apply(this, arguments); -} +options.insert = "head"; +options.singleton = false; -function _loadOpts() { - _loadOpts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(opt, loader) { - var _opt$config; +var update = api(content, options); - var config, patch; - return _regeneratorRuntime.wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - if (!(0,vega__WEBPACK_IMPORTED_MODULE_2__.isString)(opt.config)) { - _context2.next = 8; - break; - } - _context2.t1 = JSON; - _context2.next = 4; - return loader.load(opt.config); - case 4: - _context2.t2 = _context2.sent; - _context2.t0 = _context2.t1.parse.call(_context2.t1, _context2.t2); - _context2.next = 9; - break; +module.exports = content.locals || {}; - case 8: - _context2.t0 = (_opt$config = opt.config) !== null && _opt$config !== void 0 ? _opt$config : {}; +/***/ }), - case 9: - config = _context2.t0; +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - if (!(0,vega__WEBPACK_IMPORTED_MODULE_2__.isString)(opt.patch)) { - _context2.next = 18; - break; - } +"use strict"; - _context2.t4 = JSON; - _context2.next = 14; - return loader.load(opt.patch); - case 14: - _context2.t5 = _context2.sent; - _context2.t3 = _context2.t4.parse.call(_context2.t4, _context2.t5); - _context2.next = 19; - break; +var isOldIE = function isOldIE() { + var memo; + return function memorize() { + if (typeof memo === 'undefined') { + // Test for IE <= 9 as proposed by Browserhacks + // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 + // Tests for existence of standard globals is to allow style-loader + // to operate correctly into non-standard environments + // @see https://github.com/webpack-contrib/style-loader/issues/177 + memo = Boolean(window && document && document.all && !window.atob); + } - case 18: - _context2.t3 = opt.patch; + return memo; + }; +}(); - case 19: - patch = _context2.t3; - return _context2.abrupt("return", _objectSpread(_objectSpread(_objectSpread({}, opt), patch ? { - patch - } : {}), config ? { - config - } : {})); +var getTarget = function getTarget() { + var memo = {}; + return function memorize(target) { + if (typeof memo[target] === 'undefined') { + var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself - case 21: - case "end": - return _context2.stop(); + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; } } - }, _callee2); - })); - return _loadOpts.apply(this, arguments); -} -function getRoot(el) { - var _document$head; + memo[target] = styleTarget; + } - var possibleRoot = el.getRootNode ? el.getRootNode() : document; - return possibleRoot instanceof ShadowRoot ? { - root: possibleRoot, - rootContainer: possibleRoot - } : { - root: document, - rootContainer: (_document$head = document.head) !== null && _document$head !== void 0 ? _document$head : document.body + return memo[target]; }; -} - -function _embed(_x5, _x6) { - return _embed3.apply(this, arguments); -} - -function _embed3() { - _embed3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(el, spec) { - var _opts$config, _opts$actions, _opts$renderer, _opts$logLevel, _opts$downloadFileNam, _ref, _expressionInterprete; - - var opts, - loader, - config, - actions, - i18n, - renderer, - logLevel, - downloadFileName, - element, - ID, - _getRoot, - root, - rootContainer, - style, - mode, - vgSpec, - parsed, - container, - chartWrapper, - patch, - name, - expressionFunction, - ast, - runtime, - view, - handler, - hover, - _ref2, - hoverSet, - updateSet, - documentClickHandler, - wrapper, - details, - summary, - ctrl, - _iterator, - _step, - _loop, - viewSourceLink, - compileLink, - _opts$editorUrl, - editorUrl, - editorLink, - finalize, - _args4 = arguments; - - return _regeneratorRuntime.wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - finalize = function _finalize() { - if (documentClickHandler) { - document.removeEventListener('click', documentClickHandler); - } - - view.finalize(); - }; - - opts = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {}; - loader = _args4.length > 3 ? _args4[3] : undefined; - config = opts.theme ? (0,vega__WEBPACK_IMPORTED_MODULE_2__.mergeConfig)(vega_themes__WEBPACK_IMPORTED_MODULE_6__[opts.theme], (_opts$config = opts.config) !== null && _opts$config !== void 0 ? _opts$config : {}) : opts.config; - actions = (0,vega__WEBPACK_IMPORTED_MODULE_2__.isBoolean)(opts.actions) ? opts.actions : mergeDeep({}, DEFAULT_ACTIONS, (_opts$actions = opts.actions) !== null && _opts$actions !== void 0 ? _opts$actions : {}); - i18n = _objectSpread(_objectSpread({}, I18N), opts.i18n); - renderer = (_opts$renderer = opts.renderer) !== null && _opts$renderer !== void 0 ? _opts$renderer : 'canvas'; - logLevel = (_opts$logLevel = opts.logLevel) !== null && _opts$logLevel !== void 0 ? _opts$logLevel : vega.Warn; - downloadFileName = (_opts$downloadFileNam = opts.downloadFileName) !== null && _opts$downloadFileNam !== void 0 ? _opts$downloadFileNam : 'visualization'; - element = typeof el === 'string' ? document.querySelector(el) : el; - - if (element) { - _context4.next = 12; - break; - } - - throw new Error("".concat(el, " does not exist")); - - case 12: - if (opts.defaultStyle !== false) { - ID = 'vega-embed-style'; - _getRoot = getRoot(element), root = _getRoot.root, rootContainer = _getRoot.rootContainer; - - if (!root.getElementById(ID)) { - style = document.createElement('style'); - style.id = ID; - style.innerHTML = opts.defaultStyle === undefined || opts.defaultStyle === true ? (embedStyle ).toString() : opts.defaultStyle; - rootContainer.appendChild(style); - } - } - - mode = guessMode(spec, opts.mode); - vgSpec = PREPROCESSOR[mode](spec, config); +}(); - if (mode === 'vega-lite') { - if (vgSpec.$schema) { - parsed = (0,vega_schema_url_parser__WEBPACK_IMPORTED_MODULE_5__["default"])(vgSpec.$schema); +var stylesInDom = []; - if (!satisfies_1(VERSION.vega, "^".concat(parsed.version.slice(1)))) { - console.warn("The compiled spec uses Vega ".concat(parsed.version, ", but current version is v").concat(VERSION.vega, ".")); - } - } - } +function getIndexByIdentifier(identifier) { + var result = -1; - element.classList.add('vega-embed'); + for (var i = 0; i < stylesInDom.length; i++) { + if (stylesInDom[i].identifier === identifier) { + result = i; + break; + } + } - if (actions) { - element.classList.add('has-actions'); - } + return result; +} - element.innerHTML = ''; // clear container +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; - container = element; + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var index = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3] + }; - if (actions) { - chartWrapper = document.createElement('div'); - chartWrapper.classList.add(CHART_WRAPPER_CLASS); - element.appendChild(chartWrapper); - container = chartWrapper; - } + if (index !== -1) { + stylesInDom[index].references++; + stylesInDom[index].updater(obj); + } else { + stylesInDom.push({ + identifier: identifier, + updater: addStyle(obj, options), + references: 1 + }); + } - patch = opts.patch; + identifiers.push(identifier); + } - if (patch) { - vgSpec = patch instanceof Function ? patch(vgSpec) : (0,fast_json_patch__WEBPACK_IMPORTED_MODULE_0__.applyPatch)(vgSpec, patch, true, false).newDocument; - } // Set locale. Note that this is a global setting. + return identifiers; +} +function insertStyleElement(options) { + var style = document.createElement('style'); + var attributes = options.attributes || {}; - if (opts.formatLocale) { - vega.formatLocale(opts.formatLocale); - } + if (typeof attributes.nonce === 'undefined') { + var nonce = true ? __webpack_require__.nc : 0; - if (opts.timeFormatLocale) { - vega.timeFormatLocale(opts.timeFormatLocale); - } // Set custom expression functions + if (nonce) { + attributes.nonce = nonce; + } + } + Object.keys(attributes).forEach(function (key) { + style.setAttribute(key, attributes[key]); + }); - if (opts.expressionFunctions) { - for (name in opts.expressionFunctions) { - expressionFunction = opts.expressionFunctions[name]; + if (typeof options.insert === 'function') { + options.insert(style); + } else { + var target = getTarget(options.insert || 'head'); - if ('fn' in expressionFunction) { - vega.expressionFunction(name, expressionFunction.fn, expressionFunction['visitor']); - } else if (expressionFunction instanceof Function) { - vega.expressionFunction(name, expressionFunction); - } - } - } + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } - ast = opts.ast; // Do not apply the config to Vega when we have already applied it to Vega-Lite. - // This call may throw an Error if parsing fails. + target.appendChild(style); + } - runtime = vega.parse(vgSpec, mode === 'vega-lite' ? {} : config, { - ast - }); - view = new (opts.viewClass || vega.View)(runtime, _objectSpread({ - loader, - logLevel, - renderer - }, ast ? { - expr: (_ref = (_expressionInterprete = vega.expressionInterpreter) !== null && _expressionInterprete !== void 0 ? _expressionInterprete : opts.expr) !== null && _ref !== void 0 ? _ref : vega_interpreter__WEBPACK_IMPORTED_MODULE_3__.expressionInterpreter - } : {})); - view.addSignalListener('autosize', (_, autosize) => { - var type = autosize.type; + return style; +} - if (type == 'fit-x') { - container.classList.add('fit-x'); - container.classList.remove('fit-y'); - } else if (type == 'fit-y') { - container.classList.remove('fit-x'); - container.classList.add('fit-y'); - } else if (type == 'fit') { - container.classList.add('fit-x', 'fit-y'); - } else { - container.classList.remove('fit-x', 'fit-y'); - } - }); +function removeStyleElement(style) { + // istanbul ignore if + if (style.parentNode === null) { + return false; + } - if (opts.tooltip !== false) { - handler = isTooltipHandler(opts.tooltip) ? opts.tooltip : // user provided boolean true or tooltip options - new vega_tooltip__WEBPACK_IMPORTED_MODULE_7__.Handler(opts.tooltip === true ? {} : opts.tooltip).call; - view.tooltip(handler); - } + style.parentNode.removeChild(style); +} +/* istanbul ignore next */ - hover = opts.hover; - if (hover === undefined) { - hover = mode === 'vega'; - } +var replaceText = function replaceText() { + var textStore = []; + return function replace(index, replacement) { + textStore[index] = replacement; + return textStore.filter(Boolean).join('\n'); + }; +}(); - if (hover) { - _ref2 = typeof hover === 'boolean' ? {} : hover, hoverSet = _ref2.hoverSet, updateSet = _ref2.updateSet; - view.hover(hoverSet, updateSet); - } +function applyToSingletonTag(style, index, remove, obj) { + var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE - if (opts) { - if (opts.width != null) { - view.width(opts.width); - } + /* istanbul ignore if */ - if (opts.height != null) { - view.height(opts.height); - } + if (style.styleSheet) { + style.styleSheet.cssText = replaceText(index, css); + } else { + var cssNode = document.createTextNode(css); + var childNodes = style.childNodes; - if (opts.padding != null) { - view.padding(opts.padding); - } - } + if (childNodes[index]) { + style.removeChild(childNodes[index]); + } - _context4.next = 37; - return view.initialize(container, opts.bind).runAsync(); + if (childNodes.length) { + style.insertBefore(cssNode, childNodes[index]); + } else { + style.appendChild(cssNode); + } + } +} - case 37: - if (actions !== false) { - wrapper = element; +function applyToTag(style, options, obj) { + var css = obj.css; + var media = obj.media; + var sourceMap = obj.sourceMap; - if (opts.defaultStyle !== false) { - details = document.createElement('details'); - details.title = i18n.CLICK_TO_VIEW_ACTIONS; - element.append(details); - wrapper = details; - summary = document.createElement('summary'); - summary.innerHTML = SVG_CIRCLES; - details.append(summary); + if (media) { + style.setAttribute('media', media); + } else { + style.removeAttribute('media'); + } - documentClickHandler = ev => { - if (!details.contains(ev.target)) { - details.removeAttribute('open'); - } - }; + if (sourceMap && typeof btoa !== 'undefined') { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } // For old IE - document.addEventListener('click', documentClickHandler); - } + /* istanbul ignore if */ - ctrl = document.createElement('div'); - wrapper.append(ctrl); - ctrl.classList.add('vega-actions'); // add 'Export' action - if (actions === true || actions.export !== false) { - _iterator = _createForOfIteratorHelper(['svg', 'png']); + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + while (style.firstChild) { + style.removeChild(style.firstChild); + } - try { - _loop = function _loop() { - var ext = _step.value; + style.appendChild(document.createTextNode(css)); + } +} - if (actions === true || actions.export === true || actions.export[ext]) { - var i18nExportAction = i18n["".concat(ext.toUpperCase(), "_ACTION")]; - var exportLink = document.createElement('a'); - exportLink.text = i18nExportAction; - exportLink.href = '#'; - exportLink.target = '_blank'; - exportLink.download = "".concat(downloadFileName, ".").concat(ext); // add link on mousedown so that it's correct when the click happens +var singleton = null; +var singletonCounter = 0; - exportLink.addEventListener('mousedown', /*#__PURE__*/function () { - var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(e) { - var url; - return _regeneratorRuntime.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - e.preventDefault(); - _context3.next = 3; - return view.toImageURL(ext, opts.scaleFactor); +function addStyle(obj, options) { + var style; + var update; + var remove; - case 3: - url = _context3.sent; - this.href = url; + if (options.singleton) { + var styleIndex = singletonCounter++; + style = singleton || (singleton = insertStyleElement(options)); + update = applyToSingletonTag.bind(null, style, styleIndex, false); + remove = applyToSingletonTag.bind(null, style, styleIndex, true); + } else { + style = insertStyleElement(options); + update = applyToTag.bind(null, style, options); - case 5: - case "end": - return _context3.stop(); - } - } - }, _callee3, this); - })); + remove = function remove() { + removeStyleElement(style); + }; + } - return function (_x7) { - return _ref3.apply(this, arguments); - }; - }()); - ctrl.append(exportLink); - } - }; + update(obj); + return function updateStyle(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { + return; + } - for (_iterator.s(); !(_step = _iterator.n()).done;) { - _loop(); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - } // add 'View Source' action + update(obj = newObj); + } else { + remove(); + } + }; +} +module.exports = function (list, options) { + options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of