From 3a99dc5495980f52daf793d6a4bd9459a9126264 Mon Sep 17 00:00:00 2001 From: Henry Whitaker Date: Tue, 5 May 2020 09:34:02 +0100 Subject: [PATCH] Updated to v1.3.3 --- README.md | 2 +- conf/site/changelog.json | 6 + conf/site/config/speedtest.php | 2 +- .../node_modules/@popperjs/core/README.md | 2 + .../@popperjs/core/dist/cjs/popper-base.js | 39 +- .../core/dist/cjs/popper-base.js.flow | 2 +- .../core/dist/cjs/popper-base.js.map | 2 +- .../@popperjs/core/dist/cjs/popper-lite.js | 70 +- .../core/dist/cjs/popper-lite.js.flow | 2 +- .../core/dist/cjs/popper-lite.js.map | 2 +- .../@popperjs/core/dist/cjs/popper.js | 137 +- .../@popperjs/core/dist/cjs/popper.js.flow | 2 +- .../@popperjs/core/dist/cjs/popper.js.map | 2 +- .../core/dist/esm/dom-utils/getParentNode.js | 16 +- .../dist/esm/dom-utils/getViewportRect.js | 15 +- .../dist/esm/dom-utils/listScrollParents.js | 3 +- .../@popperjs/core/dist/esm/enums.js | 8 +- .../@popperjs/core/dist/esm/index.js | 4 +- .../core/dist/esm/modifiers/applyStyles.js | 5 +- .../core/dist/esm/modifiers/arrow.js | 12 +- .../core/dist/esm/modifiers/computeStyles.js | 20 +- .../core/dist/esm/modifiers/eventListeners.js | 3 +- .../@popperjs/core/dist/esm/modifiers/flip.js | 9 +- .../@popperjs/core/dist/esm/modifiers/hide.js | 3 +- .../core/dist/esm/modifiers/offset.js | 11 +- .../core/dist/esm/modifiers/popperOffsets.js | 3 +- .../dist/esm/modifiers/preventOverflow.js | 9 +- .../@popperjs/core/dist/esm/popper-lite.js | 4 +- .../@popperjs/core/dist/esm/popper.js | 4 +- .../dist/esm/utils/computeAutoPlacement.js | 16 +- .../@popperjs/core/dist/umd/popper-base.js | 39 +- .../core/dist/umd/popper-base.js.map | 2 +- .../core/dist/umd/popper-base.min.js | 4 +- .../core/dist/umd/popper-base.min.js.flow | 2 +- .../core/dist/umd/popper-base.min.js.map | 2 +- .../@popperjs/core/dist/umd/popper-lite.js | 70 +- .../core/dist/umd/popper-lite.js.map | 2 +- .../core/dist/umd/popper-lite.min.js | 4 +- .../core/dist/umd/popper-lite.min.js.flow | 2 +- .../core/dist/umd/popper-lite.min.js.map | 2 +- .../@popperjs/core/dist/umd/popper.js | 137 +- .../@popperjs/core/dist/umd/popper.js.map | 2 +- .../@popperjs/core/dist/umd/popper.min.js | 4 +- .../core/dist/umd/popper.min.js.flow | 2 +- .../@popperjs/core/dist/umd/popper.min.js.map | 2 +- .../core/lib/dom-utils/getParentNode.js | 16 +- .../core/lib/dom-utils/getParentNode.js.flow | 7 +- .../core/lib/dom-utils/getViewportRect.js | 15 +- .../lib/dom-utils/getViewportRect.js.flow | 19 +- .../core/lib/dom-utils/listScrollParents.d.ts | 4 +- .../core/lib/dom-utils/listScrollParents.js | 3 +- .../lib/dom-utils/listScrollParents.js.flow | 7 +- .../node_modules/@popperjs/core/lib/enums.js | 8 +- .../@popperjs/core/lib/index.d.ts | 10 +- .../node_modules/@popperjs/core/lib/index.js | 4 +- .../@popperjs/core/lib/index.js.flow | 21 +- .../core/lib/modifiers/applyStyles.d.ts | 3 +- .../core/lib/modifiers/applyStyles.js | 5 +- .../core/lib/modifiers/applyStyles.js.flow | 6 +- .../@popperjs/core/lib/modifiers/arrow.d.ts | 5 +- .../@popperjs/core/lib/modifiers/arrow.js | 12 +- .../core/lib/modifiers/arrow.js.flow | 14 +- .../core/lib/modifiers/computeStyles.d.ts | 11 +- .../core/lib/modifiers/computeStyles.js | 20 +- .../core/lib/modifiers/computeStyles.js.flow | 33 +- .../core/lib/modifiers/eventListeners.d.ts | 3 +- .../core/lib/modifiers/eventListeners.js | 3 +- .../core/lib/modifiers/eventListeners.js.flow | 4 +- .../@popperjs/core/lib/modifiers/flip.d.ts | 4 +- .../@popperjs/core/lib/modifiers/flip.js | 9 +- .../@popperjs/core/lib/modifiers/flip.js.flow | 7 +- .../@popperjs/core/lib/modifiers/hide.d.ts | 5 +- .../@popperjs/core/lib/modifiers/hide.js | 3 +- .../@popperjs/core/lib/modifiers/hide.js.flow | 7 +- .../@popperjs/core/lib/modifiers/offset.d.ts | 3 +- .../@popperjs/core/lib/modifiers/offset.js | 11 +- .../core/lib/modifiers/offset.js.flow | 10 +- .../core/lib/modifiers/popperOffsets.d.ts | 3 +- .../core/lib/modifiers/popperOffsets.js | 3 +- .../core/lib/modifiers/popperOffsets.js.flow | 4 +- .../core/lib/modifiers/preventOverflow.d.ts | 3 +- .../core/lib/modifiers/preventOverflow.js | 9 +- .../lib/modifiers/preventOverflow.js.flow | 10 +- .../@popperjs/core/lib/popper-lite.d.ts | 10 +- .../@popperjs/core/lib/popper-lite.js | 4 +- .../@popperjs/core/lib/popper.d.ts | 40 +- .../node_modules/@popperjs/core/lib/popper.js | 4 +- .../@popperjs/core/lib/types.d.ts | 59 +- .../@popperjs/core/lib/types.js.flow | 75 +- .../core/lib/utils/computeAutoPlacement.d.ts | 3 +- .../core/lib/utils/computeAutoPlacement.js | 16 +- .../lib/utils/computeAutoPlacement.js.flow | 22 +- .../@popperjs/core/lib/utils/mergeByName.d.ts | 2 +- .../core/lib/utils/mergeByName.js.flow | 4 +- .../core/lib/utils/orderModifiers.d.ts | 2 +- .../core/lib/utils/orderModifiers.js.flow | 6 +- .../node_modules/@popperjs/core/package.json | 36 +- .../core/src/__snapshots__/index.test.js.snap | 34 - .../getWindowScroll.test.js.snap | 8 - .../@popperjs/core/src/dom-utils/contains.js | 24 - .../core/src/dom-utils/contains.test.js | 40 - .../core/src/dom-utils/getBorders.js | 19 - .../src/dom-utils/getBoundingClientRect.js | 19 - .../core/src/dom-utils/getClippingRect.js | 87 - .../core/src/dom-utils/getCompositeRect.js | 43 - .../core/src/dom-utils/getComputedStyle.js | 8 - .../core/src/dom-utils/getDecorations.js | 43 - .../core/src/dom-utils/getDocumentElement.js | 11 - .../core/src/dom-utils/getDocumentRect.js | 19 - .../src/dom-utils/getHTMLElementScroll.js | 8 - .../core/src/dom-utils/getLayoutRect.js | 13 - .../core/src/dom-utils/getNodeName.js | 6 - .../core/src/dom-utils/getNodeScroll.js | 14 - .../core/src/dom-utils/getOffsetParent.js | 39 - .../core/src/dom-utils/getParentNode.js | 16 - .../core/src/dom-utils/getParentNode.test.js | 38 - .../core/src/dom-utils/getScrollParent.js | 23 - .../core/src/dom-utils/getViewportRect.js | 13 - .../@popperjs/core/src/dom-utils/getWindow.js | 12 - .../core/src/dom-utils/getWindowScroll.js | 14 - .../src/dom-utils/getWindowScroll.test.js | 11 - .../core/src/dom-utils/getWindowScrollBarX.js | 18 - .../core/src/dom-utils/instanceOf.js | 20 - .../core/src/dom-utils/isTableElement.js | 6 - .../core/src/dom-utils/listScrollParents.js | 21 - .../node_modules/@popperjs/core/src/enums.js | 94 - .../node_modules/@popperjs/core/src/index.js | 288 - .../@popperjs/core/src/index.test.js | 211 - .../__snapshots__/computeStyles.test.js.snap | 54 - .../__snapshots__/offset.test.js.snap | 29 - .../core/src/modifiers/applyStyles.js | 98 - .../core/src/modifiers/applyStyles.test.js | 15 - .../@popperjs/core/src/modifiers/arrow.js | 110 - .../core/src/modifiers/computeStyles.js | 191 - .../core/src/modifiers/computeStyles.test.js | 70 - .../core/src/modifiers/eventListeners.js | 51 - .../@popperjs/core/src/modifiers/flip.js | 160 - .../@popperjs/core/src/modifiers/hide.js | 75 - .../@popperjs/core/src/modifiers/offset.js | 65 - .../core/src/modifiers/offset.test.js | 25 - .../core/src/modifiers/popperOffsets.js | 24 - .../core/src/modifiers/preventOverflow.js | 179 - .../@popperjs/core/src/popper-base.js | 9 - .../@popperjs/core/src/popper-lite.js | 23 - .../node_modules/@popperjs/core/src/popper.js | 33 - .../node_modules/@popperjs/core/src/types.js | 139 - .../computeAutoPlacement.test.js.snap | 54 - .../__snapshots__/computeOffsets.test.js.snap | 29 - .../expandToHashMap.test.js.snap | 15 - .../__snapshots__/mergeByName.test.js.snap | 36 - .../__snapshots__/orderModifiers.test.js.snap | 81 - .../core/src/utils/computeAutoPlacement.js | 63 - .../src/utils/computeAutoPlacement.test.js | 67 - .../core/src/utils/computeOffsets.js | 84 - .../core/src/utils/computeOffsets.test.js | 51 - .../@popperjs/core/src/utils/debounce.js | 17 - .../@popperjs/core/src/utils/debounce.test.js | 34 - .../core/src/utils/detectOverflow.js | 109 - .../core/src/utils/expandToHashMap.js | 11 - .../core/src/utils/expandToHashMap.test.js | 8 - .../@popperjs/core/src/utils/format.js | 5 - .../@popperjs/core/src/utils/getAltAxis.js | 5 - .../core/src/utils/getAltAxis.test.js | 7 - .../@popperjs/core/src/utils/getAltLen.js | 5 - .../core/src/utils/getAltLen.test.js | 7 - .../core/src/utils/getBasePlacement.js | 8 - .../core/src/utils/getBasePlacement.test.js | 24 - .../core/src/utils/getFreshSideObject.js | 11 - .../src/utils/getMainAxisFromPlacement.js | 8 - .../core/src/utils/getOppositePlacement.js | 11 - .../utils/getOppositeVariationPlacement.js | 10 - .../@popperjs/core/src/utils/getVariation.js | 6 - .../core/src/utils/getVariation.test.js | 24 - .../@popperjs/core/src/utils/mergeByName.js | 22 - .../core/src/utils/mergeByName.test.js | 44 - .../core/src/utils/mergePaddingObject.js | 12 - .../core/src/utils/orderModifiers.js | 59 - .../core/src/utils/orderModifiers.test.js | 67 - .../core/src/utils/rectToClientRect.js | 12 - .../@popperjs/core/src/utils/uniqueBy.js | 14 - .../@popperjs/core/src/utils/uniqueBy.test.js | 13 - .../core/src/utils/validateModifiers.js | 141 - .../@popperjs/core/src/utils/within.js | 9 - conf/site/node_modules/@types/react/README.md | 4 +- .../site/node_modules/@types/react/index.d.ts | 5 + .../node_modules/@types/react/package.json | 34 +- .../node_modules/@types/warning/README.md | 18 + .../node_modules/@types/warning/index.d.ts | 8 + .../node_modules/@types/warning/package.json | 52 + .../@types/warning/types-metadata.json | 24 + conf/site/node_modules/jquery/AUTHORS.txt | 4 +- conf/site/node_modules/jquery/README.md | 16 +- conf/site/node_modules/jquery/dist/jquery.js | 8 +- .../node_modules/jquery/dist/jquery.min.js | 4 +- .../node_modules/jquery/dist/jquery.min.map | 2 +- .../node_modules/jquery/dist/jquery.slim.js | 8 +- .../jquery/dist/jquery.slim.min.js | 4 +- .../jquery/dist/jquery.slim.min.map | 2 +- conf/site/node_modules/jquery/package.json | 22 +- conf/site/node_modules/jquery/src/core.js | 2 +- .../site/node_modules/jquery/src/data/Data.js | 2 +- .../react-bootstrap/Accordion.d.ts | 13 +- .../react-bootstrap/AccordionCollapse.d.ts | 11 +- .../react-bootstrap/AccordionToggle.d.ts | 8 +- .../react-bootstrap/Dropdown.d.ts | 1 + .../react-bootstrap/DropdownButton.d.ts | 1 + .../react-bootstrap/DropdownItem.d.ts | 2 +- .../react-bootstrap/DropdownMenu.d.ts | 1 + .../node_modules/react-bootstrap/Form.d.ts | 23 +- .../react-bootstrap/FormCheck.d.ts | 14 +- .../react-bootstrap/FormCheckInput.d.ts | 12 +- .../react-bootstrap/FormCheckLabel.d.ts | 13 +- .../react-bootstrap/FormControl.d.ts | 14 +- .../react-bootstrap/FormFile.d.ts | 13 +- .../react-bootstrap/FormFileInput.d.ts | 11 +- .../react-bootstrap/FormFileLabel.d.ts | 12 +- .../react-bootstrap/FormGroup.d.ts | 9 +- .../react-bootstrap/FormLabel.d.ts | 12 +- .../react-bootstrap/FormText.d.ts | 12 +- .../node_modules/react-bootstrap/Modal.d.ts | 25 +- .../react-bootstrap/NavDropdown.d.ts | 1 + .../node_modules/react-bootstrap/Overlay.d.ts | 42 +- .../react-bootstrap/OverlayTrigger.d.ts | 7 +- .../node_modules/react-bootstrap/Popover.d.ts | 18 +- .../node_modules/react-bootstrap/README.md | 4 +- .../react-bootstrap/SplitButton.d.ts | 1 + .../node_modules/react-bootstrap/Tooltip.d.ts | 12 +- .../react-bootstrap/cjs/AbstractNav.js | 6 +- .../react-bootstrap/cjs/AbstractNavItem.js | 12 +- .../react-bootstrap/cjs/Accordion.js | 6 +- .../react-bootstrap/cjs/AccordionCollapse.js | 4 +- .../react-bootstrap/cjs/AccordionToggle.js | 9 +- .../node_modules/react-bootstrap/cjs/Alert.js | 6 +- .../node_modules/react-bootstrap/cjs/Badge.js | 2 +- .../react-bootstrap/cjs/Breadcrumb.js | 4 +- .../react-bootstrap/cjs/BreadcrumbItem.js | 4 +- .../react-bootstrap/cjs/Button.js | 4 +- .../react-bootstrap/cjs/ButtonGroup.js | 2 +- .../react-bootstrap/cjs/ButtonToolbar.js | 2 +- .../node_modules/react-bootstrap/cjs/Card.js | 6 +- .../react-bootstrap/cjs/CardImg.js | 2 +- .../react-bootstrap/cjs/Carousel.js | 22 +- .../react-bootstrap/cjs/CloseButton.js | 6 +- .../node_modules/react-bootstrap/cjs/Col.js | 2 +- .../react-bootstrap/cjs/Collapse.js | 2 +- .../react-bootstrap/cjs/Container.js | 2 +- .../react-bootstrap/cjs/Dropdown.js | 6 +- .../react-bootstrap/cjs/DropdownButton.js | 13 +- .../react-bootstrap/cjs/DropdownItem.js | 2 +- .../react-bootstrap/cjs/DropdownMenu.js | 24 +- .../react-bootstrap/cjs/DropdownToggle.js | 2 +- .../node_modules/react-bootstrap/cjs/Fade.js | 2 +- .../react-bootstrap/cjs/Feedback.js | 2 +- .../react-bootstrap/cjs/FigureImage.js | 2 +- .../node_modules/react-bootstrap/cjs/Form.js | 2 +- .../react-bootstrap/cjs/FormCheck.js | 17 +- .../react-bootstrap/cjs/FormCheckInput.js | 8 +- .../react-bootstrap/cjs/FormCheckLabel.js | 8 +- .../react-bootstrap/cjs/FormControl.js | 8 +- .../react-bootstrap/cjs/FormFile.js | 17 +- .../react-bootstrap/cjs/FormFileInput.js | 9 +- .../react-bootstrap/cjs/FormFileLabel.js | 8 +- .../react-bootstrap/cjs/FormGroup.js | 4 +- .../react-bootstrap/cjs/FormLabel.js | 6 +- .../react-bootstrap/cjs/FormText.js | 2 +- .../node_modules/react-bootstrap/cjs/Image.js | 2 +- .../react-bootstrap/cjs/InputGroup.js | 6 +- .../react-bootstrap/cjs/Jumbotron.js | 2 +- .../react-bootstrap/cjs/ListGroup.js | 2 +- .../react-bootstrap/cjs/ListGroupItem.js | 2 +- .../node_modules/react-bootstrap/cjs/Media.js | 2 +- .../node_modules/react-bootstrap/cjs/Modal.js | 18 +- .../react-bootstrap/cjs/ModalDialog.js | 4 +- .../react-bootstrap/cjs/ModalHeader.js | 4 +- .../node_modules/react-bootstrap/cjs/Nav.js | 2 +- .../react-bootstrap/cjs/NavDropdown.js | 13 +- .../react-bootstrap/cjs/NavItem.js | 2 +- .../react-bootstrap/cjs/NavLink.js | 2 +- .../react-bootstrap/cjs/Navbar.js | 6 +- .../react-bootstrap/cjs/NavbarBrand.js | 2 +- .../react-bootstrap/cjs/NavbarCollapse.js | 6 +- .../react-bootstrap/cjs/NavbarToggle.js | 4 +- .../react-bootstrap/cjs/Overlay.js | 25 +- .../react-bootstrap/cjs/OverlayTrigger.js | 17 +- .../react-bootstrap/cjs/PageItem.js | 10 +- .../react-bootstrap/cjs/Pagination.js | 2 +- .../react-bootstrap/cjs/Popover.js | 11 +- .../react-bootstrap/cjs/PopoverContent.js | 2 +- .../react-bootstrap/cjs/PopoverTitle.js | 2 +- .../react-bootstrap/cjs/ProgressBar.js | 8 +- .../react-bootstrap/cjs/ResponsiveEmbed.js | 2 +- .../node_modules/react-bootstrap/cjs/Row.js | 2 +- .../react-bootstrap/cjs/SafeAnchor.js | 2 +- .../react-bootstrap/cjs/Spinner.js | 2 +- .../react-bootstrap/cjs/SplitButton.js | 17 +- .../react-bootstrap/cjs/Switch.js | 2 +- .../react-bootstrap/cjs/TabContainer.js | 4 +- .../react-bootstrap/cjs/TabContent.js | 2 +- .../react-bootstrap/cjs/TabPane.js | 8 +- .../node_modules/react-bootstrap/cjs/Table.js | 4 +- .../node_modules/react-bootstrap/cjs/Tabs.js | 14 +- .../react-bootstrap/cjs/ThemeProvider.js | 4 +- .../node_modules/react-bootstrap/cjs/Toast.js | 13 +- .../react-bootstrap/cjs/ToastHeader.js | 10 +- .../react-bootstrap/cjs/ToggleButton.js | 4 +- .../react-bootstrap/cjs/ToggleButtonGroup.js | 2 +- .../react-bootstrap/cjs/Tooltip.js | 6 +- .../react-bootstrap/cjs/createWithBsPrefix.js | 2 +- .../react-bootstrap/cjs/divWithClassName.js | 2 +- .../cjs/usePopperMarginModifiers.js | 69 + .../react-bootstrap/dist/react-bootstrap.js | 4909 +++++++++-------- .../dist/react-bootstrap.min.js | 4 +- .../react-bootstrap/esm/AbstractNav.js | 6 +- .../react-bootstrap/esm/AbstractNavItem.js | 11 +- .../react-bootstrap/esm/Accordion.d.ts | 13 +- .../react-bootstrap/esm/Accordion.js | 6 +- .../esm/AccordionCollapse.d.ts | 11 +- .../react-bootstrap/esm/AccordionCollapse.js | 4 +- .../react-bootstrap/esm/AccordionToggle.d.ts | 8 +- .../react-bootstrap/esm/AccordionToggle.js | 9 +- .../node_modules/react-bootstrap/esm/Alert.js | 6 +- .../node_modules/react-bootstrap/esm/Badge.js | 2 +- .../react-bootstrap/esm/Breadcrumb.js | 4 +- .../react-bootstrap/esm/BreadcrumbItem.js | 4 +- .../react-bootstrap/esm/Button.js | 4 +- .../react-bootstrap/esm/ButtonGroup.js | 2 +- .../react-bootstrap/esm/ButtonToolbar.js | 2 +- .../node_modules/react-bootstrap/esm/Card.js | 6 +- .../react-bootstrap/esm/CardImg.js | 2 +- .../react-bootstrap/esm/Carousel.js | 22 +- .../react-bootstrap/esm/CloseButton.js | 6 +- .../node_modules/react-bootstrap/esm/Col.js | 2 +- .../react-bootstrap/esm/Collapse.js | 2 +- .../react-bootstrap/esm/Container.js | 2 +- .../react-bootstrap/esm/Dropdown.d.ts | 1 + .../react-bootstrap/esm/Dropdown.js | 6 +- .../react-bootstrap/esm/DropdownButton.d.ts | 1 + .../react-bootstrap/esm/DropdownButton.js | 13 +- .../react-bootstrap/esm/DropdownItem.d.ts | 2 +- .../react-bootstrap/esm/DropdownItem.js | 2 +- .../react-bootstrap/esm/DropdownMenu.d.ts | 1 + .../react-bootstrap/esm/DropdownMenu.js | 23 +- .../react-bootstrap/esm/DropdownToggle.js | 2 +- .../node_modules/react-bootstrap/esm/Fade.js | 2 +- .../react-bootstrap/esm/Feedback.js | 2 +- .../react-bootstrap/esm/FigureImage.js | 2 +- .../react-bootstrap/esm/Form.d.ts | 23 +- .../node_modules/react-bootstrap/esm/Form.js | 2 +- .../react-bootstrap/esm/FormCheck.d.ts | 14 +- .../react-bootstrap/esm/FormCheck.js | 17 +- .../react-bootstrap/esm/FormCheckInput.d.ts | 12 +- .../react-bootstrap/esm/FormCheckInput.js | 8 +- .../react-bootstrap/esm/FormCheckLabel.d.ts | 13 +- .../react-bootstrap/esm/FormCheckLabel.js | 8 +- .../react-bootstrap/esm/FormControl.d.ts | 14 +- .../react-bootstrap/esm/FormControl.js | 8 +- .../react-bootstrap/esm/FormFile.d.ts | 13 +- .../react-bootstrap/esm/FormFile.js | 16 +- .../react-bootstrap/esm/FormFileInput.d.ts | 11 +- .../react-bootstrap/esm/FormFileInput.js | 9 +- .../react-bootstrap/esm/FormFileLabel.d.ts | 12 +- .../react-bootstrap/esm/FormFileLabel.js | 8 +- .../react-bootstrap/esm/FormGroup.d.ts | 9 +- .../react-bootstrap/esm/FormGroup.js | 4 +- .../react-bootstrap/esm/FormLabel.d.ts | 12 +- .../react-bootstrap/esm/FormLabel.js | 6 +- .../react-bootstrap/esm/FormText.d.ts | 12 +- .../react-bootstrap/esm/FormText.js | 2 +- .../node_modules/react-bootstrap/esm/Image.js | 2 +- .../react-bootstrap/esm/InputGroup.js | 6 +- .../react-bootstrap/esm/Jumbotron.js | 2 +- .../react-bootstrap/esm/ListGroup.js | 2 +- .../react-bootstrap/esm/ListGroupItem.js | 2 +- .../node_modules/react-bootstrap/esm/Media.js | 2 +- .../react-bootstrap/esm/Modal.d.ts | 25 +- .../node_modules/react-bootstrap/esm/Modal.js | 18 +- .../react-bootstrap/esm/ModalDialog.js | 4 +- .../react-bootstrap/esm/ModalHeader.js | 4 +- .../node_modules/react-bootstrap/esm/Nav.js | 2 +- .../react-bootstrap/esm/NavDropdown.d.ts | 1 + .../react-bootstrap/esm/NavDropdown.js | 13 +- .../react-bootstrap/esm/NavItem.js | 2 +- .../react-bootstrap/esm/NavLink.js | 2 +- .../react-bootstrap/esm/Navbar.js | 6 +- .../react-bootstrap/esm/NavbarBrand.js | 2 +- .../react-bootstrap/esm/NavbarCollapse.js | 6 +- .../react-bootstrap/esm/NavbarToggle.js | 4 +- .../react-bootstrap/esm/Overlay.d.ts | 42 +- .../react-bootstrap/esm/Overlay.js | 22 +- .../react-bootstrap/esm/OverlayTrigger.d.ts | 7 +- .../react-bootstrap/esm/OverlayTrigger.js | 17 +- .../react-bootstrap/esm/PageItem.js | 10 +- .../react-bootstrap/esm/Pagination.js | 2 +- .../react-bootstrap/esm/Popover.d.ts | 18 +- .../react-bootstrap/esm/Popover.js | 11 +- .../react-bootstrap/esm/PopoverContent.js | 2 +- .../react-bootstrap/esm/PopoverTitle.js | 2 +- .../react-bootstrap/esm/ProgressBar.js | 8 +- .../react-bootstrap/esm/ResponsiveEmbed.js | 2 +- .../node_modules/react-bootstrap/esm/Row.js | 2 +- .../react-bootstrap/esm/SafeAnchor.js | 2 +- .../react-bootstrap/esm/Spinner.js | 2 +- .../react-bootstrap/esm/SplitButton.d.ts | 1 + .../react-bootstrap/esm/SplitButton.js | 17 +- .../react-bootstrap/esm/Switch.js | 2 +- .../react-bootstrap/esm/TabContainer.js | 4 +- .../react-bootstrap/esm/TabContent.js | 2 +- .../react-bootstrap/esm/TabPane.js | 8 +- .../node_modules/react-bootstrap/esm/Table.js | 4 +- .../node_modules/react-bootstrap/esm/Tabs.js | 14 +- .../react-bootstrap/esm/ThemeProvider.js | 4 +- .../node_modules/react-bootstrap/esm/Toast.js | 13 +- .../react-bootstrap/esm/ToastHeader.js | 10 +- .../react-bootstrap/esm/ToggleButton.js | 4 +- .../react-bootstrap/esm/ToggleButtonGroup.js | 2 +- .../react-bootstrap/esm/Tooltip.d.ts | 12 +- .../react-bootstrap/esm/Tooltip.js | 6 +- .../react-bootstrap/esm/createWithBsPrefix.js | 2 +- .../react-bootstrap/esm/divWithClassName.js | 2 +- .../react-bootstrap/esm/helpers.d.ts | 14 + .../esm/usePopperMarginModifiers.js | 59 + .../node_modules/react-bootstrap/helpers.d.ts | 14 + .../node_modules/react-bootstrap/package.json | 31 +- .../usePopperMarginModifiers/package.json | 6 + .../react-overlays/Dropdown/package.json | 3 +- .../DropdownContext/package.json | 3 +- .../react-overlays/DropdownMenu/package.json | 3 +- .../DropdownToggle/package.json | 3 +- .../react-overlays/Modal/package.json | 3 +- .../react-overlays/ModalManager/package.json | 3 +- .../react-overlays/Overlay/package.json | 3 +- .../react-overlays/Portal/package.json | 3 +- .../node_modules/react-overlays/README.md | 24 +- .../react-overlays/cjs/Dropdown.d.ts | 91 + .../react-overlays/cjs/Dropdown.js | 44 +- .../react-overlays/cjs/DropdownContext.d.ts | 14 + .../react-overlays/cjs/DropdownContext.js | 10 +- .../react-overlays/cjs/DropdownMenu.d.ts | 107 + .../react-overlays/cjs/DropdownMenu.js | 53 +- .../react-overlays/cjs/DropdownToggle.d.ts | 54 + .../react-overlays/cjs/DropdownToggle.js | 37 +- .../react-overlays/cjs/Modal.d.ts | 56 + .../node_modules/react-overlays/cjs/Modal.js | 582 +- .../react-overlays/cjs/ModalManager.d.ts | 34 + .../react-overlays/cjs/ModalManager.js | 15 +- .../react-overlays/cjs/Overlay.d.ts | 43 + .../react-overlays/cjs/Overlay.js | 27 +- .../react-overlays/cjs/Portal.d.ts | 24 + .../node_modules/react-overlays/cjs/Portal.js | 19 +- .../react-overlays/cjs/index.d.ts | 8 + .../react-overlays/cjs/isOverflowing.d.ts | 1 + .../cjs/{utils => }/isOverflowing.js | 4 +- .../react-overlays/cjs/manageAriaHidden.d.ts | 8 + .../cjs/{utils => }/manageAriaHidden.js | 1 - .../react-overlays/cjs/ownerDocument.d.ts | 3 + .../cjs/{utils => }/ownerDocument.js | 13 +- .../react-overlays/cjs/popper.d.ts | 3 + .../node_modules/react-overlays/cjs/popper.js | 387 +- .../react-overlays/cjs/safeFindDOMNode.d.ts | 2 + .../react-overlays/cjs/safeFindDOMNode.js | 18 + .../react-overlays/cjs/types.d.ts | 8 + .../react-overlays/cjs/usePopper.d.ts | 44 + .../react-overlays/cjs/usePopper.js | 73 +- .../react-overlays/cjs/useRootClose.d.ts | 22 + .../react-overlays/cjs/useRootClose.js | 23 +- .../react-overlays/cjs/useWaitForDOMRef.d.ts | 4 + .../cjs/{utils => }/useWaitForDOMRef.js | 23 +- .../react-overlays/esm/Dropdown.d.ts | 91 + .../react-overlays/esm/Dropdown.js | 46 +- .../react-overlays/esm/DropdownContext.d.ts | 14 + .../react-overlays/esm/DropdownContext.js | 10 +- .../react-overlays/esm/DropdownMenu.d.ts | 107 + .../react-overlays/esm/DropdownMenu.js | 54 +- .../react-overlays/esm/DropdownToggle.d.ts | 54 + .../react-overlays/esm/DropdownToggle.js | 35 +- .../react-overlays/esm/Modal.d.ts | 56 + .../node_modules/react-overlays/esm/Modal.js | 574 +- .../react-overlays/esm/ModalManager.d.ts | 34 + .../react-overlays/esm/ModalManager.js | 15 +- .../react-overlays/esm/Overlay.d.ts | 43 + .../react-overlays/esm/Overlay.js | 29 +- .../react-overlays/esm/Portal.d.ts | 24 + .../node_modules/react-overlays/esm/Portal.js | 18 +- .../react-overlays/esm/index.d.ts | 8 + .../react-overlays/esm/isOverflowing.d.ts | 1 + .../esm/{utils => }/isOverflowing.js | 4 +- .../react-overlays/esm/manageAriaHidden.d.ts | 8 + .../esm/{utils => }/manageAriaHidden.js | 1 - .../react-overlays/esm/ownerDocument.d.ts | 3 + .../react-overlays/esm/ownerDocument.js | 5 + .../react-overlays/esm/popper.d.ts | 3 + .../node_modules/react-overlays/esm/popper.js | 3 +- .../react-overlays/esm/safeFindDOMNode.d.ts | 2 + .../react-overlays/esm/safeFindDOMNode.js | 8 + .../react-overlays/esm/types.d.ts | 8 + .../react-overlays/esm/usePopper.d.ts | 44 + .../react-overlays/esm/usePopper.js | 71 +- .../react-overlays/esm/useRootClose.d.ts | 22 + .../react-overlays/esm/useRootClose.js | 23 +- .../react-overlays/esm/useWaitForDOMRef.d.ts | 4 + .../esm/{utils => }/useWaitForDOMRef.js | 16 +- .../react-overlays/esm/utils/ownerDocument.js | 5 - .../react-overlays/isOverflowing/package.json | 7 + .../manageAriaHidden/package.json | 7 + .../react-overlays/ownerDocument/package.json | 7 + .../node_modules/react-overlays/package.json | 27 +- .../react-overlays/popper/package.json | 3 +- .../safeFindDOMNode/package.json | 7 + .../react-overlays/usePopper/package.json | 3 +- .../react-overlays/useRootClose/package.json | 3 +- .../useWaitForDOMRef/package.json | 7 + conf/site/node_modules/sass/LICENSE | 33 +- conf/site/node_modules/sass/package.json | 24 +- conf/site/node_modules/sass/sass.dart.js | 1229 +++-- conf/site/package-lock.json | 44 +- 515 files changed, 7827 insertions(+), 8876 deletions(-) delete mode 100644 conf/site/node_modules/@popperjs/core/src/__snapshots__/index.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/__snapshots__/getWindowScroll.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/contains.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/contains.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getBorders.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getBoundingClientRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getClippingRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getCompositeRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getComputedStyle.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getDecorations.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentElement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getHTMLElementScroll.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getLayoutRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeName.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeScroll.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getOffsetParent.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getScrollParent.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getViewportRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getWindow.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScrollBarX.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/instanceOf.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/isTableElement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/dom-utils/listScrollParents.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/enums.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/index.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/index.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/computeStyles.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/offset.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/arrow.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/eventListeners.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/flip.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/hide.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/offset.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/offset.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/popperOffsets.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/modifiers/preventOverflow.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/popper-base.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/popper-lite.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/popper.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/types.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeAutoPlacement.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeOffsets.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/expandToHashMap.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/mergeByName.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/orderModifiers.test.js.snap delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/debounce.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/debounce.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/detectOverflow.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/format.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getAltLen.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getAltLen.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getFreshSideObject.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getMainAxisFromPlacement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getOppositePlacement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getOppositeVariationPlacement.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getVariation.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/getVariation.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/mergeByName.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/mergeByName.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/mergePaddingObject.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/rectToClientRect.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.test.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/validateModifiers.js delete mode 100644 conf/site/node_modules/@popperjs/core/src/utils/within.js create mode 100644 conf/site/node_modules/@types/warning/README.md create mode 100644 conf/site/node_modules/@types/warning/index.d.ts create mode 100644 conf/site/node_modules/@types/warning/package.json create mode 100644 conf/site/node_modules/@types/warning/types-metadata.json create mode 100644 conf/site/node_modules/react-bootstrap/cjs/usePopperMarginModifiers.js create mode 100644 conf/site/node_modules/react-bootstrap/esm/usePopperMarginModifiers.js create mode 100644 conf/site/node_modules/react-bootstrap/usePopperMarginModifiers/package.json create mode 100644 conf/site/node_modules/react-overlays/cjs/Dropdown.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/DropdownContext.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/DropdownMenu.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/DropdownToggle.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/Modal.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/ModalManager.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/Overlay.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/Portal.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/index.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/isOverflowing.d.ts rename conf/site/node_modules/react-overlays/cjs/{utils => }/isOverflowing.js (79%) create mode 100644 conf/site/node_modules/react-overlays/cjs/manageAriaHidden.d.ts rename conf/site/node_modules/react-overlays/cjs/{utils => }/manageAriaHidden.js (97%) create mode 100644 conf/site/node_modules/react-overlays/cjs/ownerDocument.d.ts rename conf/site/node_modules/react-overlays/cjs/{utils => }/ownerDocument.js (51%) create mode 100644 conf/site/node_modules/react-overlays/cjs/popper.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/safeFindDOMNode.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/safeFindDOMNode.js create mode 100644 conf/site/node_modules/react-overlays/cjs/types.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/usePopper.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/useRootClose.d.ts create mode 100644 conf/site/node_modules/react-overlays/cjs/useWaitForDOMRef.d.ts rename conf/site/node_modules/react-overlays/cjs/{utils => }/useWaitForDOMRef.js (66%) create mode 100644 conf/site/node_modules/react-overlays/esm/Dropdown.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/DropdownContext.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/DropdownMenu.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/DropdownToggle.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/Modal.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/ModalManager.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/Overlay.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/Portal.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/index.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/isOverflowing.d.ts rename conf/site/node_modules/react-overlays/esm/{utils => }/isOverflowing.js (80%) create mode 100644 conf/site/node_modules/react-overlays/esm/manageAriaHidden.d.ts rename conf/site/node_modules/react-overlays/esm/{utils => }/manageAriaHidden.js (97%) create mode 100644 conf/site/node_modules/react-overlays/esm/ownerDocument.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/ownerDocument.js create mode 100644 conf/site/node_modules/react-overlays/esm/popper.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/safeFindDOMNode.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/safeFindDOMNode.js create mode 100644 conf/site/node_modules/react-overlays/esm/types.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/usePopper.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/useRootClose.d.ts create mode 100644 conf/site/node_modules/react-overlays/esm/useWaitForDOMRef.d.ts rename conf/site/node_modules/react-overlays/esm/{utils => }/useWaitForDOMRef.js (65%) delete mode 100644 conf/site/node_modules/react-overlays/esm/utils/ownerDocument.js create mode 100644 conf/site/node_modules/react-overlays/isOverflowing/package.json create mode 100644 conf/site/node_modules/react-overlays/manageAriaHidden/package.json create mode 100644 conf/site/node_modules/react-overlays/ownerDocument/package.json create mode 100644 conf/site/node_modules/react-overlays/safeFindDOMNode/package.json create mode 100644 conf/site/node_modules/react-overlays/useWaitForDOMRef/package.json diff --git a/README.md b/README.md index 0eb65868..33a895fd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Speedtest Tracker -[![Docker pulls](https://img.shields.io/docker/pulls/henrywhitaker3/speedtest-tracker)](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker) [![last_commit](https://img.shields.io/github/last-commit/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) [![issues](https://img.shields.io/github/issues/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/issues) [![commit_freq](https://img.shields.io/github/commit-activity/m/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) ![version](https://img.shields.io/badge/version-v1.3.2-success) [![license](https://img.shields.io/github/license/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/blob/master/LICENSE) +[![Docker pulls](https://img.shields.io/docker/pulls/henrywhitaker3/speedtest-tracker)](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker) [![last_commit](https://img.shields.io/github/last-commit/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) [![issues](https://img.shields.io/github/issues/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/issues) [![commit_freq](https://img.shields.io/github/commit-activity/m/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) ![version](https://img.shields.io/badge/version-v1.3.3-success) [![license](https://img.shields.io/github/license/henrywhitaker3/Speedtest-Tracker)](https://github.com/henrywhitaker3/Speedtest-Tracker/blob/master/LICENSE) This program runs a speedtest check every hour and graphs the results. The back-end is written in [Laravel](https://laravel.com/) and the front-end uses [React](https://reactjs.org/). It uses the [speedtest-cli](https://github.com/sivel/speedtest-cli) package to get the data and uses [Chart.js](https://www.chartjs.org/) to plot the results. diff --git a/conf/site/changelog.json b/conf/site/changelog.json index 752df7f5..2fa4f4d4 100644 --- a/conf/site/changelog.json +++ b/conf/site/changelog.json @@ -1,4 +1,10 @@ { + "1.3.3": [ + { + "description": "Updated jQuery", + "link": "https://github.com/henrywhitaker3/Speedtest-Tracker/pull/32" + } + ], "1.3.2": [ { "description": "Updated laravel framework", diff --git a/conf/site/config/speedtest.php b/conf/site/config/speedtest.php index 65b557b9..b3eadd7f 100644 --- a/conf/site/config/speedtest.php +++ b/conf/site/config/speedtest.php @@ -7,7 +7,7 @@ return [ |-------------------------------------------------------------------------- */ - 'version' => '1.3.2', + 'version' => '1.3.3', /* |-------------------------------------------------------------------------- diff --git a/conf/site/node_modules/@popperjs/core/README.md b/conf/site/node_modules/@popperjs/core/README.md index bf604c97..83a302b4 100644 --- a/conf/site/node_modules/@popperjs/core/README.md +++ b/conf/site/node_modules/@popperjs/core/README.md @@ -42,6 +42,8 @@ We've created a [Migration Guide](https://popper.js.org/docs/v2/migration-guide/) to help you migrate from Popper 1 to Popper 2. +To contribute to the Popper website and documentation, please visit the [dedicated repository](https://github.com/popperjs/website). + ## Why not use pure CSS? CSS tooltips have accessibility and usability problems: diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js index bcecf338..bdf6e176 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js @@ -1,5 +1,5 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ 'use strict'; @@ -149,12 +149,15 @@ function getParentNode(element) { return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } function getComputedStyle(element) { @@ -189,7 +192,8 @@ function listScrollParents(element, list) { var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); @@ -665,15 +669,24 @@ function popperGenerator(generatorOptions) { return instance; }; } -var createPopper = -/*#__PURE__*/ -popperGenerator(); +var createPopper = /*#__PURE__*/popperGenerator(); function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.flow b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.flow index 3e709f04..22d88ebd 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.flow +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.flow @@ -1,3 +1,3 @@ // @flow -export * from '../../src/popper-base.js' +export * from '../../lib/popper-base.js' diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.map b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.map index 713c0c5f..336e9301 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-base.js.map @@ -1 +1 @@ -{"version":3,"file":"popper-base.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","updatedList","concat","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","getViewportRect","innerWidth","innerHeight","getDocumentRect","winScroll","documentRect","Math","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","clientWidth","clientHeight","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","floor","ceil","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","value","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","popperRect","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper-base.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","getViewportRect","innerWidth","innerHeight","navigator","platform","getDocumentRect","winScroll","documentRect","Math","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","clientWidth","clientHeight","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","floor","ceil","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","value","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","popperRect","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis"],"mappings":";;;;;;;;AAGe,SAASA,qBAAT,CACbC,OADa,EAEK;AAClB,MAAMC,IAAI,GAAGD,OAAO,CAACD,qBAAR,EAAb;AAEA,SAAO;AACLG,IAAAA,KAAK,EAAED,IAAI,CAACC,KADP;AAELC,IAAAA,MAAM,EAAEF,IAAI,CAACE,MAFR;AAGLC,IAAAA,GAAG,EAAEH,IAAI,CAACG,GAHL;AAILC,IAAAA,KAAK,EAAEJ,IAAI,CAACI,KAJP;AAKLC,IAAAA,MAAM,EAAEL,IAAI,CAACK,MALR;AAMLC,IAAAA,IAAI,EAAEN,IAAI,CAACM,IANN;AAOLC,IAAAA,CAAC,EAAEP,IAAI,CAACM,IAPH;AAQLE,IAAAA,CAAC,EAAER,IAAI,CAACG;AARH,GAAP;AAUD;;ACjBD;;AACA;AAEe,SAASM,SAAT,CAAmBC,IAAnB,EAAyB;AACtC,MAAIA,IAAI,CAACC,QAAL,OAAoB,iBAAxB,EAA2C;AACzC,QAAMC,aAAa,GAAGF,IAAI,CAACE,aAA3B;AACA,WAAOA,aAAa,GAAGA,aAAa,CAACC,WAAjB,GAA+BC,MAAnD;AACD;;AAED,SAAOJ,IAAP;AACD;;ACPc,SAASK,eAAT,CAAyBL,IAAzB,EAA8C;AAC3D,MAAMM,GAAG,GAAGP,SAAS,CAACC,IAAD,CAArB;AACA,MAAMO,UAAU,GAAGD,GAAG,CAACE,WAAvB;AACA,MAAMC,SAAS,GAAGH,GAAG,CAACI,WAAtB;AAEA,SAAO;AACLH,IAAAA,UAAU,EAAVA,UADK;AAELE,IAAAA,SAAS,EAATA;AAFK,GAAP;AAID;;;;;ACPD,SAASE,SAAT,CAAmBX,IAAnB,EAAyB;AACvB,MAAMY,UAAU,GAAGb,SAAS,CAACC,IAAD,CAAT,CAAgBa,OAAnC;AACA,SAAOb,IAAI,YAAYY,UAAhB,IAA8BZ,IAAI,YAAYa,OAArD;AACD;AAED;;;;AAGA,SAASC,aAAT,CAAuBd,IAAvB,EAA6B;AAC3B,MAAMY,UAAU,GAAGb,SAAS,CAACC,IAAD,CAAT,CAAgBe,WAAnC;AACA,SAAOf,IAAI,YAAYY,UAAhB,IAA8BZ,IAAI,YAAYe,WAArD;AACD;;ACfc,SAASC,oBAAT,CAA8B3B,OAA9B,EAAoD;AACjE,SAAO;AACLkB,IAAAA,UAAU,EAAElB,OAAO,CAACkB,UADf;AAELE,IAAAA,SAAS,EAAEpB,OAAO,CAACoB;AAFd,GAAP;AAID;;ACAc,SAASQ,aAAT,CAAuBjB,IAAvB,EAA4C;AACzD,MAAIA,IAAI,KAAKD,SAAS,CAACC,IAAD,CAAlB,IAA4B,CAACc,aAAa,CAACd,IAAD,CAA9C,EAAsD;AACpD,WAAOK,eAAe,CAACL,IAAD,CAAtB;AACD,GAFD,MAEO;AACL,WAAOgB,oBAAoB,CAAChB,IAAD,CAA3B;AACD;AACF;;ACVc,SAASkB,WAAT,CAAqB7B,OAArB,EAAuD;AACpE,SAAOA,OAAO,GAAG,CAACA,OAAO,CAAC8B,QAAR,IAAoB,EAArB,EAAyBC,WAAzB,EAAH,GAA4C,IAA1D;AACD;;ACDc,SAASC,kBAAT,CACbhC,OADa,EAEA;AACb;AACA,SAAO,CAACsB,SAAS,CAACtB,OAAD,CAAT,GAAqBA,OAAO,CAACa,aAA7B,GAA6Cb,OAAO,CAACiC,QAAtD,EACJC,eADH;AAED;;ACLc,SAASC,mBAAT,CAA6BnC,OAA7B,EAAuD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACED,qBAAqB,CAACiC,kBAAkB,CAAChC,OAAD,CAAnB,CAArB,CAAmDO,IAAnD,GACAS,eAAe,CAAChB,OAAD,CAAf,CAAyBkB,UAF3B;AAID;;;;ACND,SAAwBkB,gBAAT,CACbC,uBADa,EAEbC,YAFa,EAGbC,OAHa,EAIP;AAAA,MADNA,OACM;AADNA,IAAAA,OACM,GADa,KACb;AAAA;;AACN,MAAIL,eAAJ;AACA,MAAMjC,IAAI,GAAGF,qBAAqB,CAACsC,uBAAD,CAAlC;AAEA,MAAIG,MAAM,GAAG;AAAEtB,IAAAA,UAAU,EAAE,CAAd;AAAiBE,IAAAA,SAAS,EAAE;AAA5B,GAAb;AACA,MAAIqB,OAAO,GAAG;AAAEjC,IAAAA,CAAC,EAAE,CAAL;AAAQC,IAAAA,CAAC,EAAE;AAAX,GAAd;;AAEA,MAAI,CAAC8B,OAAL,EAAc;AACZ,QAAIV,WAAW,CAACS,YAAD,CAAX,KAA8B,MAAlC,EAA0C;AACxCE,MAAAA,MAAM,GAAGZ,aAAa,CAACU,YAAD,CAAtB;AACD;;AAED,QAAIb,aAAa,CAACa,YAAD,CAAjB,EAAiC;AAC/BG,MAAAA,OAAO,GAAG1C,qBAAqB,CAACuC,YAAD,CAA/B;AACAG,MAAAA,OAAO,CAACjC,CAAR,IAAa8B,YAAY,CAACI,UAA1B;AACAD,MAAAA,OAAO,CAAChC,CAAR,IAAa6B,YAAY,CAACK,SAA1B;AACD,KAJD,MAIO,IAAKT,eAAe,GAAGF,kBAAkB,CAACM,YAAD,CAAzC,EAA0D;AAC/DG,MAAAA,OAAO,CAACjC,CAAR,GAAY2B,mBAAmB,CAACD,eAAD,CAA/B;AACD;AACF;;AAED,SAAO;AACL1B,IAAAA,CAAC,EAAEP,IAAI,CAACM,IAAL,GAAYiC,MAAM,CAACtB,UAAnB,GAAgCuB,OAAO,CAACjC,CADtC;AAELC,IAAAA,CAAC,EAAER,IAAI,CAACG,GAAL,GAAWoC,MAAM,CAACpB,SAAlB,GAA8BqB,OAAO,CAAChC,CAFpC;AAGLP,IAAAA,KAAK,EAAED,IAAI,CAACC,KAHP;AAILC,IAAAA,MAAM,EAAEF,IAAI,CAACE;AAJR,GAAP;AAMD;;ACvCD;AACA;AACe,SAASyC,aAAT,CAAuB5C,OAAvB,EAAmD;AAChE,SAAO;AACLQ,IAAAA,CAAC,EAAER,OAAO,CAAC6C,UADN;AAELpC,IAAAA,CAAC,EAAET,OAAO,CAAC8C,SAFN;AAGL5C,IAAAA,KAAK,EAAEF,OAAO,CAAC+C,WAHV;AAIL5C,IAAAA,MAAM,EAAEH,OAAO,CAACgD;AAJX,GAAP;AAMD;;ACRc,SAASC,aAAT,CAAuBjD,OAAvB,EAAyD;AACtE,MAAI6B,WAAW,CAAC7B,OAAD,CAAX,KAAyB,MAA7B,EAAqC;AACnC,WAAOA,OAAP;AACD;;AAED;AAEEA,IAAAA,OAAO,CAACkD,YAAR;AACAlD,IAAAA,OAAO,CAACmD,UADR;AAEA;AACAnD,IAAAA,OAAO,CAACoD,IAHR;AAIA;AACApB,IAAAA,kBAAkB,CAAChC,OAAD,CAPpB;;AAAA;AASD;;ACfc,SAASqD,gBAAT,CACbrD,OADa,EAEQ;AACrB,SAAOU,SAAS,CAACV,OAAD,CAAT,CAAmBqD,gBAAnB,CAAoCrD,OAApC,CAAP;AACD;;ACDc,SAASsD,eAAT,CAAyB3C,IAAzB,EAAkD;AAC/D,MAAI,CAAC,MAAD,EAAS,MAAT,EAAiB,WAAjB,EAA8B4C,OAA9B,CAAsC1B,WAAW,CAAClB,IAAD,CAAjD,KAA4D,CAAhE,EAAmE;AACjE;AACA,WAAOA,IAAI,CAACE,aAAL,CAAmB2C,IAA1B;AACD;;AAED,MAAI/B,aAAa,CAACd,IAAD,CAAjB,EAAyB;AACvB;AADuB,4BAEoB0C,gBAAgB,CAAC1C,IAAD,CAFpC;AAAA,QAEf8C,QAFe,qBAEfA,QAFe;AAAA,QAELC,SAFK,qBAELA,SAFK;AAAA,QAEMC,SAFN,qBAEMA,SAFN;;AAIvB,QAAI,6BAA6BC,IAA7B,CAAkCH,QAAQ,GAAGE,SAAX,GAAuBD,SAAzD,CAAJ,EAAyE;AACvE,aAAO/C,IAAP;AACD;AACF;;AAED,SAAO2C,eAAe,CAACL,aAAa,CAACtC,IAAD,CAAd,CAAtB;AACD;;ACfc,SAASkD,iBAAT,CACb7D,OADa,EAEb8D,IAFa,EAG6B;AAAA,MAD1CA,IAC0C;AAD1CA,IAAAA,IAC0C,GADV,EACU;AAAA;;AAC1C,MAAMC,YAAY,GAAGT,eAAe,CAACtD,OAAD,CAApC;AACA,MAAMgE,MAAM,GAAGnC,WAAW,CAACkC,YAAD,CAAX,KAA8B,MAA7C;AACA,MAAM9C,GAAG,GAAGP,SAAS,CAACqD,YAAD,CAArB;AACA,MAAME,MAAM,GAAGD,MAAM,GAAG,CAAC/C,GAAD,EAAMiD,MAAN,CAAajD,GAAG,CAACkD,cAAJ,IAAsB,EAAnC,CAAH,GAA4CJ,YAAjE;AACA,MAAMK,WAAW,GAAGN,IAAI,CAACI,MAAL,CAAYD,MAAZ,CAApB;AAEA,SAAOD,MAAM,GACTI,WADS;AAGTA,EAAAA,WAAW,CAACF,MAAZ,CAAmBL,iBAAiB,CAACZ,aAAa,CAACgB,MAAD,CAAd,CAApC,CAHJ;AAID;;AClBc,SAASI,cAAT,CAAwBrE,OAAxB,EAAmD;AAChE,SAAO,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsBuD,OAAtB,CAA8B1B,WAAW,CAAC7B,OAAD,CAAzC,KAAuD,CAA9D;AACD;;ACED,SAASsE,mBAAT,CAA6BtE,OAA7B,EAAyD;AACvD,MACE,CAACyB,aAAa,CAACzB,OAAD,CAAd;AAEAqD,EAAAA,gBAAgB,CAACrD,OAAD,CAAhB,CAA0BuE,QAA1B,KAAuC,OAHzC,EAIE;AACA,WAAO,IAAP;AACD;;AAED,SAAOvE,OAAO,CAACsC,YAAf;AACD;;AAEc,SAASkC,eAAT,CAAyBxE,OAAzB,EAA2C;AACxD,MAAMe,MAAM,GAAGL,SAAS,CAACV,OAAD,CAAxB;AAEA,MAAIsC,YAAY,GAAGgC,mBAAmB,CAACtE,OAAD,CAAtC,CAHwD;;AAMxD,SAAOsC,YAAY,IAAI+B,cAAc,CAAC/B,YAAD,CAArC,EAAqD;AACnDA,IAAAA,YAAY,GAAGgC,mBAAmB,CAAChC,YAAD,CAAlC;AACD;;AAED,MACEA,YAAY,IACZT,WAAW,CAACS,YAAD,CAAX,KAA8B,MAD9B,IAEAe,gBAAgB,CAACf,YAAD,CAAhB,CAA+BiC,QAA/B,KAA4C,QAH9C,EAIE;AACA,WAAOxD,MAAP;AACD;;AAED,SAAOuB,YAAY,IAAIvB,MAAvB;AACD;;ACrCM,IAAMX,GAAU,GAAG,KAAnB;AACA,IAAME,MAAgB,GAAG,QAAzB;AACA,IAAMD,KAAc,GAAG,OAAvB;AACA,IAAME,IAAY,GAAG,MAArB;AACA,IAAMkE,IAAY,GAAG,MAArB;AAMA,IAAMC,cAAoC,GAAG,CAACtE,GAAD,EAAME,MAAN,EAAcD,KAAd,EAAqBE,IAArB,CAA7C;AAEA,IAAMoE,KAAc,GAAG,OAAvB;AACA,IAAMC,GAAU,GAAG,KAAnB;AAGA,IAAMC,eAAkC,GAAG,iBAA3C;AACA,IAAMC,QAAoB,GAAG,UAA7B;AAOA,IAAMC,MAAgB,GAAG,QAAzB;AACA,IAAMC,SAAsB,GAAG,WAA/B;AAgBP;AAmBO,IAAMC,UAAwB,GAAG,YAAjC;AACA,IAAMC,IAAY,GAAG,MAArB;AACA,IAAMC,SAAsB,GAAG,WAA/B;;AAEA,IAAMC,UAAwB,GAAG,YAAjC;AACA,IAAMC,IAAY,GAAG,MAArB;AACA,IAAMC,SAAsB,GAAG,WAA/B;;AAEA,IAAMC,WAA0B,GAAG,aAAnC;AACA,IAAMC,KAAc,GAAG,OAAvB;AACA,IAAMC,UAAwB,GAAG,YAAjC;AACP,IAAaC,cAAqC,GAAG,CACnDT,UADmD,EAEnDC,IAFmD,EAGnDC,SAHmD,EAInDC,UAJmD,EAKnDC,IALmD,EAMnDC,SANmD,EAOnDC,WAPmD,EAQnDC,KARmD,EASnDC,UATmD,CAA9C;;ACnEP,SAASE,KAAT,CAAeC,SAAf,EAA0B;AACxB,MAAMC,GAAG,GAAG,IAAIC,GAAJ,EAAZ;AACA,MAAMC,OAAO,GAAG,IAAIC,GAAJ,EAAhB;AACA,MAAMC,MAAM,GAAG,EAAf;AAEAL,EAAAA,SAAS,CAACM,OAAV,CAAkB,UAAAC,QAAQ,EAAI;AAC5BN,IAAAA,GAAG,CAACO,GAAJ,CAAQD,QAAQ,CAACE,IAAjB,EAAuBF,QAAvB;AACD,GAFD,EALwB;;AAUxB,WAASG,IAAT,CAAcH,QAAd,EAA4C;AAC1CJ,IAAAA,OAAO,CAACQ,GAAR,CAAYJ,QAAQ,CAACE,IAArB;AAEA,QAAMG,QAAQ,aACRL,QAAQ,CAACK,QAAT,IAAqB,EADb,EAERL,QAAQ,CAACM,gBAAT,IAA6B,EAFrB,CAAd;AAKAD,IAAAA,QAAQ,CAACN,OAAT,CAAiB,UAAAQ,GAAG,EAAI;AACtB,UAAI,CAACX,OAAO,CAACY,GAAR,CAAYD,GAAZ,CAAL,EAAuB;AACrB,YAAME,WAAW,GAAGf,GAAG,CAACgB,GAAJ,CAAQH,GAAR,CAApB;;AAEA,YAAIE,WAAJ,EAAiB;AACfN,UAAAA,IAAI,CAACM,WAAD,CAAJ;AACD;AACF;AACF,KARD;AAUAX,IAAAA,MAAM,CAACa,IAAP,CAAYX,QAAZ;AACD;;AAEDP,EAAAA,SAAS,CAACM,OAAV,CAAkB,UAAAC,QAAQ,EAAI;AAC5B,QAAI,CAACJ,OAAO,CAACY,GAAR,CAAYR,QAAQ,CAACE,IAArB,CAAL,EAAiC;AAC/B;AACAC,MAAAA,IAAI,CAACH,QAAD,CAAJ;AACD;AACF,GALD;AAOA,SAAOF,MAAP;AACD;;AAEc,SAASc,cAAT,CACbnB,SADa,EAEc;AAC3B;AACA,MAAMoB,gBAAgB,GAAGrB,KAAK,CAACC,SAAD,CAA9B,CAF2B;;AAK3B,SAAOF,cAAc,CAACuB,MAAf,CAAsB,UAACC,GAAD,EAAMC,KAAN,EAAgB;AAC3C,WAAOD,GAAG,CAAChD,MAAJ,CACL8C,gBAAgB,CAACI,MAAjB,CAAwB,UAAAjB,QAAQ;AAAA,aAAIA,QAAQ,CAACgB,KAAT,KAAmBA,KAAvB;AAAA,KAAhC,CADK,CAAP;AAGD,GAJM,EAIJ,EAJI,CAAP;AAKD;;ACxDc,SAASE,QAAT,CAAqBC,EAArB,EAAqD;AAClE,MAAIC,OAAJ;AACA,SAAO,YAAM;AACX,QAAI,CAACA,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAIC,OAAJ,CAAe,UAAAC,OAAO,EAAI;AAClCD,QAAAA,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAM;AAC3BH,UAAAA,OAAO,GAAGI,SAAV;AACAF,UAAAA,OAAO,CAACH,EAAE,EAAH,CAAP;AACD,SAHD;AAID,OALS,CAAV;AAMD;;AAED,WAAOC,OAAP;AACD,GAXD;AAYD;;ACdc,SAASK,MAAT,CAAgBC,GAAhB,EAAqD;AAAA,oCAArBC,IAAqB;AAArBA,IAAAA,IAAqB;AAAA;;AAClE,SAAO,UAAIA,IAAJ,EAAUb,MAAV,CAAiB,UAACc,CAAD,EAAIC,CAAJ;AAAA,WAAUD,CAAC,CAACE,OAAF,CAAU,IAAV,EAAgBD,CAAhB,CAAV;AAAA,GAAjB,EAA+CH,GAA/C,CAAP;AACD;;ACAD,IAAMK,sBAAsB,GAC1B,+EADF;AAEA,IAAMC,wBAAwB,GAC5B,yEADF;AAEA,IAAMC,gBAAgB,GAAG,CACvB,MADuB,EAEvB,SAFuB,EAGvB,OAHuB,EAIvB,IAJuB,EAKvB,QALuB,EAMvB,UANuB,EAOvB,SAPuB,CAAzB;AAUe,SAASC,iBAAT,CAA2BzC,SAA3B,EAAwD;AACrEA,EAAAA,SAAS,CAACM,OAAV,CAAkB,UAAAC,QAAQ,EAAI;AAC5BmC,IAAAA,MAAM,CAACC,IAAP,CAAYpC,QAAZ,EAAsBD,OAAtB,CAA8B,UAAAsC,GAAG,EAAI;AACnC,cAAQA,GAAR;AACE,aAAK,MAAL;AACE,cAAI,OAAOrC,QAAQ,CAACE,IAAhB,KAAyB,QAA7B,EAAuC;AACrCoC,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJS,MAAM,CAACxC,QAAQ,CAACE,IAAV,CAFF,EAGJ,QAHI,EAIJ,UAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACE,IAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,SAAL;AACE,cAAI,OAAOF,QAAQ,CAACyC,OAAhB,KAA4B,SAAhC,EAA2C;AACzCH,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,WAHI,EAIJ,WAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACyC,OAAV,CALN,QADR;AASD;;AACH,aAAK,OAAL;AACE,cAAIlD,cAAc,CAACnC,OAAf,CAAuB4C,QAAQ,CAACgB,KAAhC,IAAyC,CAA7C,EAAgD;AAC9CsB,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,SAHI,cAIMX,cAAc,CAACmD,IAAf,CAAoB,IAApB,CAJN,SAKAF,MAAM,CAACxC,QAAQ,CAACgB,KAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,IAAL;AACE,cAAI,OAAOhB,QAAQ,CAACmB,EAAhB,KAAuB,UAA3B,EAAuC;AACrCmB,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,MAHI,EAIJ,YAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACmB,EAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,QAAL;AACE,cAAI,OAAOnB,QAAQ,CAAC2C,MAAhB,KAA2B,UAA/B,EAA2C;AACzCL,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,UAHI,EAIJ,YAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACmB,EAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,UAAL;AACE,cAAI,CAACyB,KAAK,CAACC,OAAN,CAAc7C,QAAQ,CAACK,QAAvB,CAAL,EAAuC;AACrCiC,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,YAHI,EAIJ,SAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACK,QAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,kBAAL;AACE,cAAI,CAACuC,KAAK,CAACC,OAAN,CAAc7C,QAAQ,CAACM,gBAAvB,CAAL,EAA+C;AAC7CgC,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,oBAHI,EAIJ,SAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACM,gBAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,SAAL;AACA,aAAK,MAAL;AACE;;AACF;AACEgC,UAAAA,OAAO,CAACC,KAAR,+DAEIvC,QAAQ,CAACE,IAFb,0CAGsC+B,gBAAgB,CAACvC,GAAjB,CAClC,UAAAoD,CAAC;AAAA,0BAAQA,CAAR;AAAA,WADiC,EAElCJ,IAFkC,CAE7B,IAF6B,CAHtC,gBAKwBL,GALxB;AA/FJ;;AAwGArC,MAAAA,QAAQ,CAACK,QAAT,IACEL,QAAQ,CAACK,QAAT,CAAkBN,OAAlB,CAA0B,UAAAgD,WAAW,EAAI;AACvC,YAAItD,SAAS,CAACuD,IAAV,CAAe,UAAAC,GAAG;AAAA,iBAAIA,GAAG,CAAC/C,IAAJ,KAAa6C,WAAjB;AAAA,SAAlB,KAAmD,IAAvD,EAA6D;AAC3DT,UAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJO,wBADI,EAEJQ,MAAM,CAACxC,QAAQ,CAACE,IAAV,CAFF,EAGJ6C,WAHI,EAIJA,WAJI,CADR;AAQD;AACF,OAXD,CADF;AAaD,KAtHD;AAuHD,GAxHD;AAyHD;;AC1Ic,SAASG,QAAT,CAAqBC,GAArB,EAAoChC,EAApC,EAA4D;AACzE,MAAMiC,WAAW,GAAG,IAAIvD,GAAJ,EAApB;AAEA,SAAOsD,GAAG,CAAClC,MAAJ,CAAW,UAAAoC,IAAI,EAAI;AACxB,QAAMC,UAAU,GAAGnC,EAAE,CAACkC,IAAD,CAArB;;AAEA,QAAI,CAACD,WAAW,CAAC5C,GAAZ,CAAgB8C,UAAhB,CAAL,EAAkC;AAChCF,MAAAA,WAAW,CAAChD,GAAZ,CAAgBkD,UAAhB;AACA,aAAO,IAAP;AACD;AACF,GAPM,CAAP;AAQD;;ACVc,SAASC,gBAAT,CACbC,SADa,EAEE;AACf,SAAQA,SAAS,CAACC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAR;AACD;;ACJc,SAASC,WAAT,CACbjE,SADa,EAEsB;AACnC,MAAMkE,MAAM,GAAGlE,SAAS,CAACqB,MAAV,CAAiB,UAAC6C,MAAD,EAASC,OAAT,EAAqB;AACnD,QAAMC,QAAQ,GAAGF,MAAM,CAACC,OAAO,CAAC1D,IAAT,CAAvB;AACAyD,IAAAA,MAAM,CAACC,OAAO,CAAC1D,IAAT,CAAN,GAAuB2D,QAAQ,qBAEtBA,QAFsB,MAGtBD,OAHsB;AAIzBE,MAAAA,OAAO,oBAAOD,QAAQ,CAACC,OAAhB,MAA4BF,OAAO,CAACE,OAApC,CAJkB;AAKzBC,MAAAA,IAAI,oBAAOF,QAAQ,CAACE,IAAhB,MAAyBH,OAAO,CAACG,IAAjC;AALqB,SAO3BH,OAPJ;AAQA,WAAOD,MAAP;AACD,GAXc,EAWZ,EAXY,CAAf,CADmC;;AAenC,SAAOxB,MAAM,CAACC,IAAP,CAAYuB,MAAZ,EAAoBjE,GAApB,CAAwB,UAAA2C,GAAG;AAAA,WAAIsB,MAAM,CAACtB,GAAD,CAAV;AAAA,GAA3B,CAAP;AACD;;ACID,IAAM2B,qBAAqB,GACzB,8GADF;AAEA,IAAMC,mBAAmB,GACvB,+HADF;AAGA,IAAMC,eAAoC,GAAG;AAC3CV,EAAAA,SAAS,EAAE,QADgC;AAE3C/D,EAAAA,SAAS,EAAE,EAFgC;AAG3C0E,EAAAA,QAAQ,EAAE;AAHiC,CAA7C;;AAWA,SAASC,gBAAT,GAAwD;AAAA,oCAA3BzC,IAA2B;AAA3BA,IAAAA,IAA2B;AAAA;;AACtD,SAAO,CAACA,IAAI,CAAC0C,IAAL,CACN,UAAAxK,OAAO;AAAA,WAAI,EAAEA,OAAO,IAAI,OAAOA,OAAO,CAACD,qBAAf,KAAyC,UAAtD,CAAJ;AAAA,GADD,CAAR;AAGD;;AAEM,SAAS0K,eAAT,CAAyBC,gBAAzB,EAAqE;AAAA,MAA5CA,gBAA4C;AAA5CA,IAAAA,gBAA4C,GAAJ,EAAI;AAAA;;AAAA,0BAItEA,gBAJsE;AAAA,gDAExEC,gBAFwE;AAAA,MAExEA,gBAFwE,sCAErD,EAFqD;AAAA,iDAGxEC,cAHwE;AAAA,MAGxEA,cAHwE,uCAGvDP,eAHuD;AAM1E,SAAO,SAASQ,YAAT,CACL7F,SADK,EAELD,MAFK,EAGLkF,OAHK,EAIK;AAAA,QADVA,OACU;AADVA,MAAAA,OACU,GADmCW,cACnC;AAAA;;AACV,QAAIE,KAAoB,GAAG;AACzBnB,MAAAA,SAAS,EAAE,QADc;AAEzB3C,MAAAA,gBAAgB,EAAE,EAFO;AAGzBiD,MAAAA,OAAO,oBAAOI,eAAP,MAA2BO,cAA3B,CAHkB;AAIzBG,MAAAA,aAAa,EAAE,EAJU;AAKzBC,MAAAA,QAAQ,EAAE;AACRhG,QAAAA,SAAS,EAATA,SADQ;AAERD,QAAAA,MAAM,EAANA;AAFQ,OALe;AASzBkG,MAAAA,UAAU,EAAE,EATa;AAUzBC,MAAAA,MAAM,EAAE;AAViB,KAA3B;AAaA,QAAIC,gBAAmC,GAAG,EAA1C;AACA,QAAIC,WAAW,GAAG,KAAlB;AAEA,QAAMC,QAAQ,GAAG;AACfP,MAAAA,KAAK,EAALA,KADe;AAEfQ,MAAAA,UAFe,sBAEJrB,OAFI,EAEK;AAClBsB,QAAAA,sBAAsB;AAEtBT,QAAAA,KAAK,CAACb,OAAN,qBAEKW,cAFL,MAGKE,KAAK,CAACb,OAHX,MAIKA,OAJL;AAOAa,QAAAA,KAAK,CAACU,aAAN,GAAsB;AACpBxG,UAAAA,SAAS,EAAE1D,SAAS,CAAC0D,SAAD,CAAT,GACPnB,iBAAiB,CAACmB,SAAD,CADV,GAEPA,SAAS,CAACyG,cAAV,GACA5H,iBAAiB,CAACmB,SAAS,CAACyG,cAAX,CADjB,GAEA,EALgB;AAMpB1G,UAAAA,MAAM,EAAElB,iBAAiB,CAACkB,MAAD;AANL,SAAtB,CAVkB;AAoBlB;;AACA,YAAMiC,gBAAgB,GAAGD,cAAc,CACrC8C,WAAW,WAAKc,gBAAL,EAA0BG,KAAK,CAACb,OAAN,CAAcrE,SAAxC,EAD0B,CAAvC,CArBkB;;AA0BlBkF,QAAAA,KAAK,CAAC9D,gBAAN,GAAyBA,gBAAgB,CAACI,MAAjB,CAAwB,UAAAsE,CAAC;AAAA,iBAAIA,CAAC,CAAC9C,OAAN;AAAA,SAAzB,CAAzB,CA1BkB;AA6BlB;;AACA,mDAAa;AACX,cAAMhD,SAAS,GAAGyD,QAAQ,WACpBrC,gBADoB,EACC8D,KAAK,CAACb,OAAN,CAAcrE,SADf,GAExB;AAAA,gBAAGS,IAAH,QAAGA,IAAH;AAAA,mBAAcA,IAAd;AAAA,WAFwB,CAA1B;AAKAgC,UAAAA,iBAAiB,CAACzC,SAAD,CAAjB;;AAEA,cAAI8D,gBAAgB,CAACoB,KAAK,CAACb,OAAN,CAAcN,SAAf,CAAhB,KAA8ClF,IAAlD,EAAwD;AACtD,gBAAMkH,YAAY,GAAGb,KAAK,CAAC9D,gBAAN,CAAuBmC,IAAvB,CACnB;AAAA,kBAAG9C,IAAH,SAAGA,IAAH;AAAA,qBAAcA,IAAI,KAAK,MAAvB;AAAA,aADmB,CAArB;;AAIA,gBAAI,CAACsF,YAAL,EAAmB;AACjBlD,cAAAA,OAAO,CAACC,KAAR,CACE,CACE,0DADF,EAEE,8BAFF,EAGEG,IAHF,CAGO,GAHP,CADF;AAMD;AACF;;AArBU,kCA4BPxF,gBAAgB,CAAC0B,MAAD,CA5BT;AAAA,cAwBT6G,SAxBS,qBAwBTA,SAxBS;AAAA,cAyBTC,WAzBS,qBAyBTA,WAzBS;AAAA,cA0BTC,YA1BS,qBA0BTA,YA1BS;AAAA,cA2BTC,UA3BS,qBA2BTA,UA3BS;AA+BX;;;AACA,cACE,CAACH,SAAD,EAAYC,WAAZ,EAAyBC,YAAzB,EAAuCC,UAAvC,EAAmDvB,IAAnD,CAAwD,UAAAwB,MAAM;AAAA,mBAC5DC,UAAU,CAACD,MAAD,CADkD;AAAA,WAA9D,CADF,EAIE;AACAvD,YAAAA,OAAO,CAACyD,IAAR,CACE,CACE,6DADF,EAEE,2DAFF,EAGE,4DAHF,EAIE,0DAJF,EAKE,YALF,EAMErD,IANF,CAMO,GANP,CADF;AASD;AACF;;AAEDsD,QAAAA,kBAAkB;AAElB,eAAOd,QAAQ,CAACe,MAAT,EAAP;AACD,OApFc;AAsFf;AACA;AACA;AACA;AACA;AACAC,MAAAA,WA3Fe,yBA2FD;AACZ,YAAIjB,WAAJ,EAAiB;AACf;AACD;;AAHW,8BAKkBN,KAAK,CAACE,QALxB;AAAA,YAKJhG,SALI,mBAKJA,SALI;AAAA,YAKOD,MALP,mBAKOA,MALP;AAQZ;;AACA,YAAI,CAACwF,gBAAgB,CAACvF,SAAD,EAAYD,MAAZ,CAArB,EAA0C;AACxC,qDAAa;AACX0D,YAAAA,OAAO,CAACC,KAAR,CAAcyB,qBAAd;AACD;;AACD;AACD,SAdW;;;AAiBZW,QAAAA,KAAK,CAACwB,KAAN,GAAc;AACZtH,UAAAA,SAAS,EAAE5C,gBAAgB,CACzB4C,SADyB,EAEzBR,eAAe,CAACO,MAAD,CAFU,EAGzB+F,KAAK,CAACb,OAAN,CAAcK,QAAd,KAA2B,OAHF,CADf;AAMZvF,UAAAA,MAAM,EAAEnC,aAAa,CAACmC,MAAD;AANT,SAAd,CAjBY;AA2BZ;AACA;AACA;AACA;;AACA+F,QAAAA,KAAK,CAACyB,KAAN,GAAc,KAAd;AAEAzB,QAAAA,KAAK,CAACnB,SAAN,GAAkBmB,KAAK,CAACb,OAAN,CAAcN,SAAhC,CAjCY;AAoCZ;AACA;AACA;;AACAmB,QAAAA,KAAK,CAAC9D,gBAAN,CAAuBd,OAAvB,CACE,UAAAC,QAAQ;AAAA,iBACL2E,KAAK,CAACC,aAAN,CAAoB5E,QAAQ,CAACE,IAA7B,sBACIF,QAAQ,CAAC+D,IADb,CADK;AAAA,SADV;AAOA,YAAIsC,eAAe,GAAG,CAAtB;;AACA,aAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG3B,KAAK,CAAC9D,gBAAN,CAAuB0F,MAAnD,EAA2DD,KAAK,EAAhE,EAAoE;AAClE,qDAAa;AACXD,YAAAA,eAAe,IAAI,CAAnB;;AACA,gBAAIA,eAAe,GAAG,GAAtB,EAA2B;AACzB/D,cAAAA,OAAO,CAACC,KAAR,CAAc0B,mBAAd;AACA;AACD;AACF;;AAED,cAAIU,KAAK,CAACyB,KAAN,KAAgB,IAApB,EAA0B;AACxBzB,YAAAA,KAAK,CAACyB,KAAN,GAAc,KAAd;AACAE,YAAAA,KAAK,GAAG,CAAC,CAAT;AACA;AACD;;AAbiE,sCAe/B3B,KAAK,CAAC9D,gBAAN,CAAuByF,KAAvB,CAf+B;AAAA,cAe1DnF,EAf0D,yBAe1DA,EAf0D;AAAA,6DAetD2C,OAfsD;AAAA,cAetDA,QAfsD,uCAe5C,EAf4C;AAAA,cAexC5D,IAfwC,yBAexCA,IAfwC;;AAiBlE,cAAI,OAAOiB,EAAP,KAAc,UAAlB,EAA8B;AAC5BwD,YAAAA,KAAK,GAAGxD,EAAE,CAAC;AAAEwD,cAAAA,KAAK,EAALA,KAAF;AAASb,cAAAA,OAAO,EAAPA,QAAT;AAAkB5D,cAAAA,IAAI,EAAJA,IAAlB;AAAwBgF,cAAAA,QAAQ,EAARA;AAAxB,aAAD,CAAF,IAA0CP,KAAlD;AACD;AACF;AACF,OA/Jc;AAiKf;AACA;AACAsB,MAAAA,MAAM,EAAE/E,QAAQ,CACd;AAAA,eACE,IAAIG,OAAJ,CAA2B,UAAAC,OAAO,EAAI;AACpC4D,UAAAA,QAAQ,CAACgB,WAAT;AACA5E,UAAAA,OAAO,CAACqD,KAAD,CAAP;AACD,SAHD,CADF;AAAA,OADc,CAnKD;AA2Kf6B,MAAAA,OA3Ke,qBA2KL;AACRpB,QAAAA,sBAAsB;AACtBH,QAAAA,WAAW,GAAG,IAAd;AACD;AA9Kc,KAAjB;;AAiLA,QAAI,CAACb,gBAAgB,CAACvF,SAAD,EAAYD,MAAZ,CAArB,EAA0C;AACxC,iDAAa;AACX0D,QAAAA,OAAO,CAACC,KAAR,CAAcyB,qBAAd;AACD;;AACD,aAAOkB,QAAP;AACD;;AAEDA,IAAAA,QAAQ,CAACC,UAAT,CAAoBrB,OAApB,EAA6BvC,IAA7B,CAAkC,UAAAoD,KAAK,EAAI;AACzC,UAAI,CAACM,WAAD,IAAgBnB,OAAO,CAAC2C,aAA5B,EAA2C;AACzC3C,QAAAA,OAAO,CAAC2C,aAAR,CAAsB9B,KAAtB;AACD;AACF,KAJD,EAzMU;AAgNV;AACA;AACA;AACA;;AACA,aAASqB,kBAAT,GAA8B;AAC5BrB,MAAAA,KAAK,CAAC9D,gBAAN,CAAuBd,OAAvB,CAA+B,iBAAoC;AAAA,YAAjCG,IAAiC,SAAjCA,IAAiC;AAAA,kCAA3B4D,OAA2B;AAAA,YAA3BA,OAA2B,8BAAjB,EAAiB;AAAA,YAAbnB,MAAa,SAAbA,MAAa;;AACjE,YAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkC;AAChC,cAAM+D,SAAS,GAAG/D,MAAM,CAAC;AAAEgC,YAAAA,KAAK,EAALA,KAAF;AAASzE,YAAAA,IAAI,EAAJA,IAAT;AAAegF,YAAAA,QAAQ,EAARA,QAAf;AAAyBpB,YAAAA,OAAO,EAAPA;AAAzB,WAAD,CAAxB;;AACA,cAAM6C,MAAM,GAAG,SAATA,MAAS,GAAM,EAArB;;AACA3B,UAAAA,gBAAgB,CAACrE,IAAjB,CAAsB+F,SAAS,IAAIC,MAAnC;AACD;AACF,OAND;AAOD;;AAED,aAASvB,sBAAT,GAAkC;AAChCJ,MAAAA,gBAAgB,CAACjF,OAAjB,CAAyB,UAAAoB,EAAE;AAAA,eAAIA,EAAE,EAAN;AAAA,OAA3B;AACA6D,MAAAA,gBAAgB,GAAG,EAAnB;AACD;;AAED,WAAOE,QAAP;AACD,GAxOD;AAyOD;IAEYR,YAAY,gBAAGJ,eAAe,EAApC;;AC7RQ,SAASsC,eAAT,CAAyB/M,OAAzB,EAA2C;AACxD,MAAMiB,GAAG,GAAGP,SAAS,CAACV,OAAD,CAArB;AACA,MAAMmE,cAAc,GAAGlD,GAAG,CAACkD,cAA3B;AAEA,MAAIjE,KAAK,GAAGe,GAAG,CAAC+L,UAAhB;AACA,MAAI7M,MAAM,GAAGc,GAAG,CAACgM,WAAjB,CALwD;AAQxD;AACA;;AACA,MAAI9I,cAAc,IAAI,mBAAmBP,IAAnB,CAAwBsJ,SAAS,CAACC,QAAlC,CAAtB,EAAmE;AACjEjN,IAAAA,KAAK,GAAGiE,cAAc,CAACjE,KAAvB;AACAC,IAAAA,MAAM,GAAGgE,cAAc,CAAChE,MAAxB;AACD;;AAED,SAAO;AAAED,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,MAAM,EAANA,MAAT;AAAiBK,IAAAA,CAAC,EAAE,CAApB;AAAuBC,IAAAA,CAAC,EAAE;AAA1B,GAAP;AACD;;ACZc,SAAS2M,eAAT,CAAyBpN,OAAzB,EAAqD;AAClE,MAAMiB,GAAG,GAAGP,SAAS,CAACV,OAAD,CAArB;AACA,MAAMqN,SAAS,GAAGrM,eAAe,CAAChB,OAAD,CAAjC;AACA,MAAMsN,YAAY,GAAGlL,gBAAgB,CAACJ,kBAAkB,CAAChC,OAAD,CAAnB,EAA8BiB,GAA9B,CAArC;AAEAqM,EAAAA,YAAY,CAACnN,MAAb,GAAsBoN,IAAI,CAACC,GAAL,CAASF,YAAY,CAACnN,MAAtB,EAA8Bc,GAAG,CAACgM,WAAlC,CAAtB;AACAK,EAAAA,YAAY,CAACpN,KAAb,GAAqBqN,IAAI,CAACC,GAAL,CAASF,YAAY,CAACpN,KAAtB,EAA6Be,GAAG,CAAC+L,UAAjC,CAArB;AACAM,EAAAA,YAAY,CAAC9M,CAAb,GAAiB,CAAC6M,SAAS,CAACnM,UAA5B;AACAoM,EAAAA,YAAY,CAAC7M,CAAb,GAAiB,CAAC4M,SAAS,CAACjM,SAA5B;AAEA,SAAOkM,YAAP;AACD;;ACbD,SAASG,QAAT,CAAkBC,QAAlB,EAA4C;AAC1C,SAAOzB,UAAU,CAACyB,QAAD,CAAV,IAAwB,CAA/B;AACD;;AAEc,SAASC,UAAT,CAAoB3N,OAApB,EAAkD;AAC/D,MAAM4N,aAAa,GAAGnM,aAAa,CAACzB,OAAD,CAAb,GAAyBqD,gBAAgB,CAACrD,OAAD,CAAzC,GAAqD,EAA3E;AAEA,SAAO;AACLI,IAAAA,GAAG,EAAEqN,QAAQ,CAACG,aAAa,CAACC,cAAf,CADR;AAELxN,IAAAA,KAAK,EAAEoN,QAAQ,CAACG,aAAa,CAACE,gBAAf,CAFV;AAGLxN,IAAAA,MAAM,EAAEmN,QAAQ,CAACG,aAAa,CAACG,iBAAf,CAHX;AAILxN,IAAAA,IAAI,EAAEkN,QAAQ,CAACG,aAAa,CAACI,eAAf;AAJT,GAAP;AAMD;;ACVc,SAASC,cAAT,CAAwBjO,OAAxB,EAA0D;AACvE,MAAMiB,GAAG,GAAGP,SAAS,CAACV,OAAD,CAArB;AACA,MAAMkO,OAAO,GAAGP,UAAU,CAAC3N,OAAD,CAA1B;AACA,MAAMmO,MAAM,GAAGtM,WAAW,CAAC7B,OAAD,CAAX,KAAyB,MAAxC;AACA,MAAMoO,aAAa,GAAGjM,mBAAmB,CAACnC,OAAD,CAAzC;AAEA,MAAMQ,CAAC,GAAGR,OAAO,CAACqO,WAAR,GAAsBH,OAAO,CAAC7N,KAAxC;AACA,MAAII,CAAC,GAAGT,OAAO,CAACsO,YAAR,GAAuBJ,OAAO,CAAC5N,MAAvC,CAPuE;AAUvE;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAI6N,MAAM,IAAIlN,GAAG,CAACgM,WAAJ,GAAkBjN,OAAO,CAACsO,YAA1B,GAAyC,EAAvD,EAA2D;AACzD7N,IAAAA,CAAC,GAAGQ,GAAG,CAACgM,WAAJ,GAAkBiB,OAAO,CAAC5N,MAA9B;AACD;;AAED,SAAO;AACLF,IAAAA,GAAG,EAAE+N,MAAM,GAAG,CAAH,GAAOnO,OAAO,CAAC2C,SADrB;AAELtC,IAAAA,KAAK;AAEHL,IAAAA,OAAO,CAAC0C,UAAR,GAAqBwL,OAAO,CAAC3N,IAA7B,GACI2N,OAAO,CAAC7N,KADZ;AAGE8N,IAAAA,MAAM,GACJlN,GAAG,CAAC+L,UAAJ,GAAiBxM,CAAjB,GAAqB4N,aADjB,GAEJpO,OAAO,CAAC+C,WAAR,GAAsBvC,CATvB;AAULF,IAAAA,MAAM,EAAE6N,MAAM,GAAGlN,GAAG,CAACgM,WAAJ,GAAkBxM,CAArB,GAAyBT,OAAO,CAACgD,YAAR,GAAuBvC,CAVzD;AAWLF,IAAAA,IAAI,EAAE4N,MAAM,GAAGC,aAAH,GAAmBpO,OAAO,CAAC0C;AAXlC,GAAP;AAaD;;ACzCc,SAAS6L,QAAT,CAAkBC,MAAlB,EAAmCC,KAAnC,EAAmD;AAChE;AACA,MAAMC,QAAQ,GAAGC,OAAO,CAACF,KAAK,CAACG,WAAN,IAAqBH,KAAK,CAACG,WAAN,GAAoBxL,IAA1C,CAAxB,CAFgE;;AAKhE,MAAIoL,MAAM,CAACD,QAAP,CAAgBE,KAAhB,CAAJ,EAA4B;AAC1B,WAAO,IAAP;AACD,GAFD;AAAA,OAIK,IAAIC,QAAJ,EAAc;AACjB,UAAIG,IAAI,GAAGJ,KAAX;;AACA,SAAG;AACD,YAAII,IAAI,IAAIL,MAAM,CAACM,UAAP,CAAkBD,IAAlB,CAAZ,EAAqC;AACnC,iBAAO,IAAP;AACD,SAHA;;;AAKDA,QAAAA,IAAI,GAAGA,IAAI,CAAC1L,UAAL,IAAmB0L,IAAI,CAACzL,IAA/B;AACD,OAND,QAMSyL,IANT;AAOD,KAlB+D;;;AAqBhE,SAAO,KAAP;AACD;;ACpBc,SAASE,gBAAT,CAA0B9O,IAA1B,EAAwD;AACrE,2BACKA,IADL;AAEEM,IAAAA,IAAI,EAAEN,IAAI,CAACO,CAFb;AAGEJ,IAAAA,GAAG,EAAEH,IAAI,CAACQ,CAHZ;AAIEJ,IAAAA,KAAK,EAAEJ,IAAI,CAACO,CAAL,GAASP,IAAI,CAACC,KAJvB;AAKEI,IAAAA,MAAM,EAAEL,IAAI,CAACQ,CAAL,GAASR,IAAI,CAACE;AALxB;AAOD;;ACKD,SAAS6O,0BAAT,CACEhP,OADF,EAEEiP,cAFF,EAGoB;AAClB,SAAOA,cAAc,KAAKnK,QAAnB,GACHiK,gBAAgB,CAAChC,eAAe,CAAC/M,OAAD,CAAhB,CADb,GAEHyB,aAAa,CAACwN,cAAD,CAAb,GACAlP,qBAAqB,CAACkP,cAAD,CADrB,GAEAF,gBAAgB,CAAC3B,eAAe,CAACpL,kBAAkB,CAAChC,OAAD,CAAnB,CAAhB,CAJpB;AAKD;AAGD;AACA;;;AACA,SAASkP,kBAAT,CAA4BlP,OAA5B,EAA8D;AAC5D,MAAM6E,eAAe,GAAGhB,iBAAiB,CAAC7D,OAAD,CAAzC;AACA,MAAMmP,iBAAiB,GACrB,CAAC,UAAD,EAAa,OAAb,EAAsB5L,OAAtB,CAA8BF,gBAAgB,CAACrD,OAAD,CAAhB,CAA0BuE,QAAxD,KAAqE,CADvE;AAEA,MAAM6K,cAAc,GAClBD,iBAAiB,IAAI1N,aAAa,CAACzB,OAAD,CAAlC,GACIwE,eAAe,CAACxE,OAAD,CADnB,GAEIA,OAHN;;AAKA,MAAI,CAACsB,SAAS,CAAC8N,cAAD,CAAd,EAAgC;AAC9B,WAAO,EAAP;AACD,GAX2D;;;AAc5D,SAAOvK,eAAe,CAACuC,MAAhB,CACL,UAAA6H,cAAc;AAAA,WACZ3N,SAAS,CAAC2N,cAAD,CAAT,IAA6BV,QAAQ,CAACU,cAAD,EAAiBG,cAAjB,CADzB;AAAA,GADT,CAAP;AAID;AAGD;;;AACA,SAAwBC,eAAT,CACbrP,OADa,EAEbsP,QAFa,EAGbC,YAHa,EAIK;AAClB,MAAMC,mBAAmB,GACvBF,QAAQ,KAAK,iBAAb,GACIJ,kBAAkB,CAAClP,OAAD,CADtB,GAEI,GAAGkE,MAAH,CAAUoL,QAAV,CAHN;AAIA,MAAMzK,eAAe,aAAO2K,mBAAP,GAA4BD,YAA5B,EAArB;AACA,MAAME,mBAAmB,GAAG5K,eAAe,CAAC,CAAD,CAA3C;AAEA,MAAM6K,YAAY,GAAG7K,eAAe,CAACoC,MAAhB,CAAuB,UAAC0I,OAAD,EAAUV,cAAV,EAA6B;AACvE,QAAMhP,IAAI,GAAG+O,0BAA0B,CAAChP,OAAD,EAAUiP,cAAV,CAAvC;AACA,QAAMW,WAAW,GAAG3B,cAAc,CAChCxM,aAAa,CAACwN,cAAD,CAAb,GACIA,cADJ,GAEIjN,kBAAkB,CAAChC,OAAD,CAHU,CAAlC;AAMA2P,IAAAA,OAAO,CAACvP,GAAR,GAAcmN,IAAI,CAACC,GAAL,CAASvN,IAAI,CAACG,GAAL,GAAWwP,WAAW,CAACxP,GAAhC,EAAqCuP,OAAO,CAACvP,GAA7C,CAAd;AACAuP,IAAAA,OAAO,CAACtP,KAAR,GAAgBkN,IAAI,CAACsC,GAAL,CAAS5P,IAAI,CAACI,KAAL,GAAauP,WAAW,CAACvP,KAAlC,EAAyCsP,OAAO,CAACtP,KAAjD,CAAhB;AACAsP,IAAAA,OAAO,CAACrP,MAAR,GAAiBiN,IAAI,CAACsC,GAAL,CAAS5P,IAAI,CAACK,MAAL,GAAcsP,WAAW,CAACtP,MAAnC,EAA2CqP,OAAO,CAACrP,MAAnD,CAAjB;AACAqP,IAAAA,OAAO,CAACpP,IAAR,GAAegN,IAAI,CAACC,GAAL,CAASvN,IAAI,CAACM,IAAL,GAAYqP,WAAW,CAACrP,IAAjC,EAAuCoP,OAAO,CAACpP,IAA/C,CAAf;AAEA,WAAOoP,OAAP;AACD,GAdoB,EAclBX,0BAA0B,CAAChP,OAAD,EAAUyP,mBAAV,CAdR,CAArB;AAgBAC,EAAAA,YAAY,CAACxP,KAAb,GAAqBwP,YAAY,CAACrP,KAAb,GAAqBqP,YAAY,CAACnP,IAAvD;AACAmP,EAAAA,YAAY,CAACvP,MAAb,GAAsBuP,YAAY,CAACpP,MAAb,GAAsBoP,YAAY,CAACtP,GAAzD;AACAsP,EAAAA,YAAY,CAAClP,CAAb,GAAiBkP,YAAY,CAACnP,IAA9B;AACAmP,EAAAA,YAAY,CAACjP,CAAb,GAAiBiP,YAAY,CAACtP,GAA9B;AAEA,SAAOsP,YAAP;AACD;;ACnFc,SAASI,YAAT,CAAsBnG,SAAtB,EAAwD;AACrE,SAAQA,SAAS,CAACC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAR;AACD;;ACFc,SAASmG,wBAAT,CACbpG,SADa,EAEF;AACX,SAAO,CAAC,KAAD,EAAQ,QAAR,EAAkBpG,OAAlB,CAA0BoG,SAA1B,KAAwC,CAAxC,GAA4C,GAA5C,GAAkD,GAAzD;AACD;;ACKc,SAASqG,cAAT,OASH;AAAA,MARVhL,SAQU,QARVA,SAQU;AAAA,MAPVhF,OAOU,QAPVA,OAOU;AAAA,MANV2J,SAMU,QANVA,SAMU;AACV,MAAMsG,aAAa,GAAGtG,SAAS,GAAGD,gBAAgB,CAACC,SAAD,CAAnB,GAAiC,IAAhE;AACA,MAAMuG,SAAS,GAAGvG,SAAS,GAAGmG,YAAY,CAACnG,SAAD,CAAf,GAA6B,IAAxD;AACA,MAAMwG,OAAO,GAAGnL,SAAS,CAACxE,CAAV,GAAcwE,SAAS,CAAC9E,KAAV,GAAkB,CAAhC,GAAoCF,OAAO,CAACE,KAAR,GAAgB,CAApE;AACA,MAAMkQ,OAAO,GAAGpL,SAAS,CAACvE,CAAV,GAAcuE,SAAS,CAAC7E,MAAV,GAAmB,CAAjC,GAAqCH,OAAO,CAACG,MAAR,GAAiB,CAAtE;AAEA,MAAIsC,OAAJ;;AACA,UAAQwN,aAAR;AACE,SAAK7P,GAAL;AACEqC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAE2P,OADK;AAER1P,QAAAA,CAAC,EAAEuE,SAAS,CAACvE,CAAV,GAAcT,OAAO,CAACG;AAFjB,OAAV;AAIA;;AACF,SAAKG,MAAL;AACEmC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAE2P,OADK;AAER1P,QAAAA,CAAC,EAAEuE,SAAS,CAACvE,CAAV,GAAcuE,SAAS,CAAC7E;AAFnB,OAAV;AAIA;;AACF,SAAKE,KAAL;AACEoC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEwE,SAAS,CAACxE,CAAV,GAAcwE,SAAS,CAAC9E,KADnB;AAERO,QAAAA,CAAC,EAAE2P;AAFK,OAAV;AAIA;;AACF,SAAK7P,IAAL;AACEkC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEwE,SAAS,CAACxE,CAAV,GAAcR,OAAO,CAACE,KADjB;AAERO,QAAAA,CAAC,EAAE2P;AAFK,OAAV;AAIA;;AACF;AACE3N,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEwE,SAAS,CAACxE,CADL;AAERC,QAAAA,CAAC,EAAEuE,SAAS,CAACvE;AAFL,OAAV;AA1BJ;;AAgCA,MAAM4P,QAAQ,GAAGJ,aAAa,GAC1BF,wBAAwB,CAACE,aAAD,CADE,GAE1B,IAFJ;;AAIA,MAAII,QAAQ,IAAI,IAAhB,EAAsB;AACpB,QAAMC,GAAG,GAAGD,QAAQ,KAAK,GAAb,GAAmB,QAAnB,GAA8B,OAA1C;;AAEA,YAAQH,SAAR;AACE,WAAKvL,KAAL;AACElC,QAAAA,OAAO,CAAC4N,QAAD,CAAP,GACE9C,IAAI,CAACgD,KAAL,CAAW9N,OAAO,CAAC4N,QAAD,CAAlB,IACA9C,IAAI,CAACgD,KAAL,CAAWvL,SAAS,CAACsL,GAAD,CAAT,GAAiB,CAAjB,GAAqBtQ,OAAO,CAACsQ,GAAD,CAAP,GAAe,CAA/C,CAFF;AAGA;;AACF,WAAK1L,GAAL;AACEnC,QAAAA,OAAO,CAAC4N,QAAD,CAAP,GACE9C,IAAI,CAACgD,KAAL,CAAW9N,OAAO,CAAC4N,QAAD,CAAlB,IACA9C,IAAI,CAACiD,IAAL,CAAUxL,SAAS,CAACsL,GAAD,CAAT,GAAiB,CAAjB,GAAqBtQ,OAAO,CAACsQ,GAAD,CAAP,GAAe,CAA9C,CAFF;AAGA;AAVJ;AAaD;;AAED,SAAO7N,OAAP;AACD;;SChFuBgO,kBAAT,GAA0C;AACvD,SAAO;AACLrQ,IAAAA,GAAG,EAAE,CADA;AAELC,IAAAA,KAAK,EAAE,CAFF;AAGLC,IAAAA,MAAM,EAAE,CAHH;AAILC,IAAAA,IAAI,EAAE;AAJD,GAAP;AAMD;;ACNc,SAASmQ,kBAAT,CACbC,aADa,EAED;AACZ,2BACKF,kBAAkB,EADvB,MAEKE,aAFL;AAID;;ACTc,SAASC,eAAT,CAGbC,KAHa,EAGHtI,IAHG,EAGmC;AAChD,SAAOA,IAAI,CAACtB,MAAL,CAAY,UAAC6J,OAAD,EAAUtI,GAAV,EAAkB;AACnCsI,IAAAA,OAAO,CAACtI,GAAD,CAAP,GAAeqI,KAAf;AACA,WAAOC,OAAP;AACD,GAHM,EAGJ,EAHI,CAAP;AAID;;ACqBc,SAASC,cAAT,CACbjG,KADa,EAEbb,OAFa,EAGD;AAAA,MADZA,OACY;AADZA,IAAAA,OACY,GADe,EACf;AAAA;;AAAA,iBAQRA,OARQ;AAAA,oCAEVN,SAFU;AAAA,MAEVA,SAFU,mCAEEmB,KAAK,CAACnB,SAFR;AAAA,mCAGV2F,QAHU;AAAA,MAGVA,QAHU,kCAGCzK,eAHD;AAAA,uCAIV0K,YAJU;AAAA,MAIVA,YAJU,sCAIKzK,QAJL;AAAA,uCAKVkM,cALU;AAAA,MAKVA,cALU,sCAKOjM,MALP;AAAA,sCAMVkM,WANU;AAAA,MAMVA,WANU,qCAMI,KANJ;AAAA,kCAOVC,OAPU;AAAA,MAOVA,OAPU,iCAOA,CAPA;AAUZ,MAAMP,aAAa,GAAGD,kBAAkB,CACtC,OAAOQ,OAAP,KAAmB,QAAnB,GACIA,OADJ,GAEIN,eAAe,CAACM,OAAD,EAAUxM,cAAV,CAHmB,CAAxC;AAMA,MAAMyM,UAAU,GAAGH,cAAc,KAAKjM,MAAnB,GAA4BC,SAA5B,GAAwCD,MAA3D;AAEA,MAAMqM,gBAAgB,GAAGtG,KAAK,CAACE,QAAN,CAAehG,SAAxC;AACA,MAAMqM,UAAU,GAAGvG,KAAK,CAACwB,KAAN,CAAYvH,MAA/B;AACA,MAAM/E,OAAO,GAAG8K,KAAK,CAACE,QAAN,CAAeiG,WAAW,GAAGE,UAAH,GAAgBH,cAA1C,CAAhB;AAEA,MAAMM,kBAAkB,GAAGjC,eAAe,CACxC/N,SAAS,CAACtB,OAAD,CAAT,GACIA,OADJ,GAEIA,OAAO,CAACyL,cAAR,IAA0BzJ,kBAAkB,CAAC8I,KAAK,CAACE,QAAN,CAAejG,MAAhB,CAHR,EAIxCuK,QAJwC,EAKxCC,YALwC,CAA1C;AAQA,MAAMgC,mBAAmB,GAAGxR,qBAAqB,CAACqR,gBAAD,CAAjD;AAEA,MAAMI,aAAa,GAAGxB,cAAc,CAAC;AACnChL,IAAAA,SAAS,EAAEuM,mBADwB;AAEnCvR,IAAAA,OAAO,EAAEqR,UAF0B;AAGnC/G,IAAAA,QAAQ,EAAE,UAHyB;AAInCX,IAAAA,SAAS,EAATA;AAJmC,GAAD,CAApC;AAOA,MAAM8H,gBAAgB,GAAG1C,gBAAgB,mBACpCsC,UADoC,MAEpCG,aAFoC,EAAzC;AAKA,MAAME,iBAAiB,GACrBV,cAAc,KAAKjM,MAAnB,GAA4B0M,gBAA5B,GAA+CF,mBADjD,CA5CY;AAgDZ;;AACA,MAAMI,eAAe,GAAG;AACtBvR,IAAAA,GAAG,EAAEkR,kBAAkB,CAAClR,GAAnB,GAAyBsR,iBAAiB,CAACtR,GAA3C,GAAiDuQ,aAAa,CAACvQ,GAD9C;AAEtBE,IAAAA,MAAM,EACJoR,iBAAiB,CAACpR,MAAlB,GACAgR,kBAAkB,CAAChR,MADnB,GAEAqQ,aAAa,CAACrQ,MALM;AAMtBC,IAAAA,IAAI,EAAE+Q,kBAAkB,CAAC/Q,IAAnB,GAA0BmR,iBAAiB,CAACnR,IAA5C,GAAmDoQ,aAAa,CAACpQ,IANjD;AAOtBF,IAAAA,KAAK,EACHqR,iBAAiB,CAACrR,KAAlB,GAA0BiR,kBAAkB,CAACjR,KAA7C,GAAqDsQ,aAAa,CAACtQ;AAR/C,GAAxB;AAWA,MAAMuR,UAAU,GAAG9G,KAAK,CAACC,aAAN,CAAoB8G,MAAvC,CA5DY;;AA+DZ,MAAIb,cAAc,KAAKjM,MAAnB,IAA6B6M,UAAjC,EAA6C;AAC3C,QAAMC,MAAM,GAAGD,UAAU,CAACjI,SAAD,CAAzB;AAEArB,IAAAA,MAAM,CAACC,IAAP,CAAYoJ,eAAZ,EAA6BzL,OAA7B,CAAqC,UAAAsC,GAAG,EAAI;AAC1C,UAAMsJ,QAAQ,GAAG,CAACzR,KAAD,EAAQC,MAAR,EAAgBiD,OAAhB,CAAwBiF,GAAxB,KAAgC,CAAhC,GAAoC,CAApC,GAAwC,CAAC,CAA1D;AACA,UAAMuJ,IAAI,GAAG,CAAC3R,GAAD,EAAME,MAAN,EAAciD,OAAd,CAAsBiF,GAAtB,KAA8B,CAA9B,GAAkC,GAAlC,GAAwC,GAArD;AACAmJ,MAAAA,eAAe,CAACnJ,GAAD,CAAf,IAAwBqJ,MAAM,CAACE,IAAD,CAAN,GAAeD,QAAvC;AACD,KAJD;AAKD;;AAED,SAAOH,eAAP;AACD;;;;"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js index c110ccd7..72a4d70e 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js @@ -1,5 +1,5 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ 'use strict'; @@ -149,12 +149,15 @@ function getParentNode(element) { return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } function getComputedStyle(element) { @@ -189,7 +192,8 @@ function listScrollParents(element, list) { var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); @@ -702,7 +706,8 @@ function effect(_ref) { window.removeEventListener('resize', instance.update, passive); } }; -} +} // eslint-disable-next-line import/no-unused-modules + var eventListeners = { name: 'eventListeners', @@ -799,7 +804,8 @@ function popperOffsets(_ref) { strategy: 'absolute', placement: state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + var popperOffsets$1 = { name: 'popperOffsets', @@ -895,8 +901,7 @@ function computeStyles(_ref3) { adaptive = _options$adaptive === void 0 ? true : _options$adaptive; if (process.env.NODE_ENV !== "production") { - var _getComputedStyle = getComputedStyle(state.elements.popper), - transitionProperty = _getComputedStyle.transitionProperty; + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ''; if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { return transitionProperty.indexOf(property) >= 0; @@ -910,13 +915,15 @@ function computeStyles(_ref3) { popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration - }; // popper offsets are always available + }; - state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive - }))); // arrow offsets may not be available + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive + }))); + } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { @@ -929,7 +936,8 @@ function computeStyles(_ref3) { state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + var computeStyles$1 = { name: 'computeStyles', @@ -972,7 +980,7 @@ function effect$1(_ref2) { var state = _ref2.state; var initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0' @@ -1012,7 +1020,8 @@ function effect$1(_ref2) { }); }); }; -} +} // eslint-disable-next-line import/no-unused-modules + var applyStyles$1 = { name: 'applyStyles', @@ -1025,9 +1034,20 @@ var applyStyles$1 = { function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; @@ -1240,9 +1260,7 @@ function detectOverflow(state, options) { } var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; -var createPopper = -/*#__PURE__*/ -popperGenerator({ +var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.flow b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.flow index e29028d8..8658c44f 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.flow +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.flow @@ -1,3 +1,3 @@ // @flow -export * from '../../src/popper-lite.js' +export * from '../../lib/popper-lite.js' diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.map b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.map index 6c482dde..7d4ac328 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper-lite.js.map @@ -1 +1 @@ -{"version":3,"file":"popper-lite.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/popper-lite.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: Modifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: Modifier<{||}>);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: Offsets,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const { transitionProperty } = getComputedStyle(state.elements.popper);\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n // popper offsets are always available\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n\n // arrow offsets may not be available\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: Modifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: 'absolute',\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: Modifier<{||}>);\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","updatedList","concat","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","getViewportRect","innerWidth","innerHeight","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","eventListeners"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper-lite.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/popper-lite.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type EventListenersModifier = Modifier<'eventListeners', Options>;\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: EventListenersModifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: PopperOffsetsModifier);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: $Shape<{ x: number, y: number, centerOffset: number }>,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const transitionProperty =\n getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ComputeStylesModifier = Modifier<'computeStyles', Options>;\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: ComputeStylesModifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ApplyStylesModifier = Modifier<'applyStyles', {||}>;\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: ApplyStylesModifier);\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","getViewportRect","innerWidth","innerHeight","navigator","platform","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","eventListeners"],"mappings":";;;;;;;;AAGe,SAASA,qBAAT,CACbC,OADa,EAEK;AAClB,MAAMC,IAAI,GAAGD,OAAO,CAACD,qBAAR,EAAb;AAEA,SAAO;AACLG,IAAAA,KAAK,EAAED,IAAI,CAACC,KADP;AAELC,IAAAA,MAAM,EAAEF,IAAI,CAACE,MAFR;AAGLC,IAAAA,GAAG,EAAEH,IAAI,CAACG,GAHL;AAILC,IAAAA,KAAK,EAAEJ,IAAI,CAACI,KAJP;AAKLC,IAAAA,MAAM,EAAEL,IAAI,CAACK,MALR;AAMLC,IAAAA,IAAI,EAAEN,IAAI,CAACM,IANN;AAOLC,IAAAA,CAAC,EAAEP,IAAI,CAACM,IAPH;AAQLE,IAAAA,CAAC,EAAER,IAAI,CAACG;AARH,GAAP;AAUD;;ACjBD;;AACA;AAEe,SAASM,SAAT,CAAmBC,IAAnB,EAAyB;AACtC,MAAIA,IAAI,CAACC,QAAL,OAAoB,iBAAxB,EAA2C;AACzC,QAAMC,aAAa,GAAGF,IAAI,CAACE,aAA3B;AACA,WAAOA,aAAa,GAAGA,aAAa,CAACC,WAAjB,GAA+BC,MAAnD;AACD;;AAED,SAAOJ,IAAP;AACD;;ACPc,SAASK,eAAT,CAAyBL,IAAzB,EAA8C;AAC3D,MAAMM,GAAG,GAAGP,SAAS,CAACC,IAAD,CAArB;AACA,MAAMO,UAAU,GAAGD,GAAG,CAACE,WAAvB;AACA,MAAMC,SAAS,GAAGH,GAAG,CAACI,WAAtB;AAEA,SAAO;AACLH,IAAAA,UAAU,EAAVA,UADK;AAELE,IAAAA,SAAS,EAATA;AAFK,GAAP;AAID;;;;;ACPD,SAASE,SAAT,CAAmBX,IAAnB,EAAyB;AACvB,MAAMY,UAAU,GAAGb,SAAS,CAACC,IAAD,CAAT,CAAgBa,OAAnC;AACA,SAAOb,IAAI,YAAYY,UAAhB,IAA8BZ,IAAI,YAAYa,OAArD;AACD;AAED;;;;AAGA,SAASC,aAAT,CAAuBd,IAAvB,EAA6B;AAC3B,MAAMY,UAAU,GAAGb,SAAS,CAACC,IAAD,CAAT,CAAgBe,WAAnC;AACA,SAAOf,IAAI,YAAYY,UAAhB,IAA8BZ,IAAI,YAAYe,WAArD;AACD;;ACfc,SAASC,oBAAT,CAA8B3B,OAA9B,EAAoD;AACjE,SAAO;AACLkB,IAAAA,UAAU,EAAElB,OAAO,CAACkB,UADf;AAELE,IAAAA,SAAS,EAAEpB,OAAO,CAACoB;AAFd,GAAP;AAID;;ACAc,SAASQ,aAAT,CAAuBjB,IAAvB,EAA4C;AACzD,MAAIA,IAAI,KAAKD,SAAS,CAACC,IAAD,CAAlB,IAA4B,CAACc,aAAa,CAACd,IAAD,CAA9C,EAAsD;AACpD,WAAOK,eAAe,CAACL,IAAD,CAAtB;AACD,GAFD,MAEO;AACL,WAAOgB,oBAAoB,CAAChB,IAAD,CAA3B;AACD;AACF;;ACVc,SAASkB,WAAT,CAAqB7B,OAArB,EAAuD;AACpE,SAAOA,OAAO,GAAG,CAACA,OAAO,CAAC8B,QAAR,IAAoB,EAArB,EAAyBC,WAAzB,EAAH,GAA4C,IAA1D;AACD;;ACDc,SAASC,kBAAT,CACbhC,OADa,EAEA;AACb;AACA,SAAO,CAACsB,SAAS,CAACtB,OAAD,CAAT,GAAqBA,OAAO,CAACa,aAA7B,GAA6Cb,OAAO,CAACiC,QAAtD,EACJC,eADH;AAED;;ACLc,SAASC,mBAAT,CAA6BnC,OAA7B,EAAuD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACED,qBAAqB,CAACiC,kBAAkB,CAAChC,OAAD,CAAnB,CAArB,CAAmDO,IAAnD,GACAS,eAAe,CAAChB,OAAD,CAAf,CAAyBkB,UAF3B;AAID;;;;ACND,SAAwBkB,gBAAT,CACbC,uBADa,EAEbC,YAFa,EAGbC,OAHa,EAIP;AAAA,MADNA,OACM;AADNA,IAAAA,OACM,GADa,KACb;AAAA;;AACN,MAAIL,eAAJ;AACA,MAAMjC,IAAI,GAAGF,qBAAqB,CAACsC,uBAAD,CAAlC;AAEA,MAAIG,MAAM,GAAG;AAAEtB,IAAAA,UAAU,EAAE,CAAd;AAAiBE,IAAAA,SAAS,EAAE;AAA5B,GAAb;AACA,MAAIqB,OAAO,GAAG;AAAEjC,IAAAA,CAAC,EAAE,CAAL;AAAQC,IAAAA,CAAC,EAAE;AAAX,GAAd;;AAEA,MAAI,CAAC8B,OAAL,EAAc;AACZ,QAAIV,WAAW,CAACS,YAAD,CAAX,KAA8B,MAAlC,EAA0C;AACxCE,MAAAA,MAAM,GAAGZ,aAAa,CAACU,YAAD,CAAtB;AACD;;AAED,QAAIb,aAAa,CAACa,YAAD,CAAjB,EAAiC;AAC/BG,MAAAA,OAAO,GAAG1C,qBAAqB,CAACuC,YAAD,CAA/B;AACAG,MAAAA,OAAO,CAACjC,CAAR,IAAa8B,YAAY,CAACI,UAA1B;AACAD,MAAAA,OAAO,CAAChC,CAAR,IAAa6B,YAAY,CAACK,SAA1B;AACD,KAJD,MAIO,IAAKT,eAAe,GAAGF,kBAAkB,CAACM,YAAD,CAAzC,EAA0D;AAC/DG,MAAAA,OAAO,CAACjC,CAAR,GAAY2B,mBAAmB,CAACD,eAAD,CAA/B;AACD;AACF;;AAED,SAAO;AACL1B,IAAAA,CAAC,EAAEP,IAAI,CAACM,IAAL,GAAYiC,MAAM,CAACtB,UAAnB,GAAgCuB,OAAO,CAACjC,CADtC;AAELC,IAAAA,CAAC,EAAER,IAAI,CAACG,GAAL,GAAWoC,MAAM,CAACpB,SAAlB,GAA8BqB,OAAO,CAAChC,CAFpC;AAGLP,IAAAA,KAAK,EAAED,IAAI,CAACC,KAHP;AAILC,IAAAA,MAAM,EAAEF,IAAI,CAACE;AAJR,GAAP;AAMD;;ACvCD;AACA;AACe,SAASyC,aAAT,CAAuB5C,OAAvB,EAAmD;AAChE,SAAO;AACLQ,IAAAA,CAAC,EAAER,OAAO,CAAC6C,UADN;AAELpC,IAAAA,CAAC,EAAET,OAAO,CAAC8C,SAFN;AAGL5C,IAAAA,KAAK,EAAEF,OAAO,CAAC+C,WAHV;AAIL5C,IAAAA,MAAM,EAAEH,OAAO,CAACgD;AAJX,GAAP;AAMD;;ACRc,SAASC,aAAT,CAAuBjD,OAAvB,EAAyD;AACtE,MAAI6B,WAAW,CAAC7B,OAAD,CAAX,KAAyB,MAA7B,EAAqC;AACnC,WAAOA,OAAP;AACD;;AAED;AAEEA,IAAAA,OAAO,CAACkD,YAAR;AACAlD,IAAAA,OAAO,CAACmD,UADR;AAEA;AACAnD,IAAAA,OAAO,CAACoD,IAHR;AAIA;AACApB,IAAAA,kBAAkB,CAAChC,OAAD,CAPpB;;AAAA;AASD;;ACfc,SAASqD,gBAAT,CACbrD,OADa,EAEQ;AACrB,SAAOU,SAAS,CAACV,OAAD,CAAT,CAAmBqD,gBAAnB,CAAoCrD,OAApC,CAAP;AACD;;ACDc,SAASsD,eAAT,CAAyB3C,IAAzB,EAAkD;AAC/D,MAAI,CAAC,MAAD,EAAS,MAAT,EAAiB,WAAjB,EAA8B4C,OAA9B,CAAsC1B,WAAW,CAAClB,IAAD,CAAjD,KAA4D,CAAhE,EAAmE;AACjE;AACA,WAAOA,IAAI,CAACE,aAAL,CAAmB2C,IAA1B;AACD;;AAED,MAAI/B,aAAa,CAACd,IAAD,CAAjB,EAAyB;AACvB;AADuB,4BAEoB0C,gBAAgB,CAAC1C,IAAD,CAFpC;AAAA,QAEf8C,QAFe,qBAEfA,QAFe;AAAA,QAELC,SAFK,qBAELA,SAFK;AAAA,QAEMC,SAFN,qBAEMA,SAFN;;AAIvB,QAAI,6BAA6BC,IAA7B,CAAkCH,QAAQ,GAAGE,SAAX,GAAuBD,SAAzD,CAAJ,EAAyE;AACvE,aAAO/C,IAAP;AACD;AACF;;AAED,SAAO2C,eAAe,CAACL,aAAa,CAACtC,IAAD,CAAd,CAAtB;AACD;;ACfc,SAASkD,iBAAT,CACb7D,OADa,EAEb8D,IAFa,EAG6B;AAAA,MAD1CA,IAC0C;AAD1CA,IAAAA,IAC0C,GADV,EACU;AAAA;;AAC1C,MAAMC,YAAY,GAAGT,eAAe,CAACtD,OAAD,CAApC;AACA,MAAMgE,MAAM,GAAGnC,WAAW,CAACkC,YAAD,CAAX,KAA8B,MAA7C;AACA,MAAM9C,GAAG,GAAGP,SAAS,CAACqD,YAAD,CAArB;AACA,MAAME,MAAM,GAAGD,MAAM,GAAG,CAAC/C,GAAD,EAAMiD,MAAN,CAAajD,GAAG,CAACkD,cAAJ,IAAsB,EAAnC,CAAH,GAA4CJ,YAAjE;AACA,MAAMK,WAAW,GAAGN,IAAI,CAACI,MAAL,CAAYD,MAAZ,CAApB;AAEA,SAAOD,MAAM,GACTI,WADS;AAGTA,EAAAA,WAAW,CAACF,MAAZ,CAAmBL,iBAAiB,CAACZ,aAAa,CAACgB,MAAD,CAAd,CAApC,CAHJ;AAID;;AClBc,SAASI,cAAT,CAAwBrE,OAAxB,EAAmD;AAChE,SAAO,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsBuD,OAAtB,CAA8B1B,WAAW,CAAC7B,OAAD,CAAzC,KAAuD,CAA9D;AACD;;ACED,SAASsE,mBAAT,CAA6BtE,OAA7B,EAAyD;AACvD,MACE,CAACyB,aAAa,CAACzB,OAAD,CAAd;AAEAqD,EAAAA,gBAAgB,CAACrD,OAAD,CAAhB,CAA0BuE,QAA1B,KAAuC,OAHzC,EAIE;AACA,WAAO,IAAP;AACD;;AAED,SAAOvE,OAAO,CAACsC,YAAf;AACD;;AAEc,SAASkC,eAAT,CAAyBxE,OAAzB,EAA2C;AACxD,MAAMe,MAAM,GAAGL,SAAS,CAACV,OAAD,CAAxB;AAEA,MAAIsC,YAAY,GAAGgC,mBAAmB,CAACtE,OAAD,CAAtC,CAHwD;;AAMxD,SAAOsC,YAAY,IAAI+B,cAAc,CAAC/B,YAAD,CAArC,EAAqD;AACnDA,IAAAA,YAAY,GAAGgC,mBAAmB,CAAChC,YAAD,CAAlC;AACD;;AAED,MACEA,YAAY,IACZT,WAAW,CAACS,YAAD,CAAX,KAA8B,MAD9B,IAEAe,gBAAgB,CAACf,YAAD,CAAhB,CAA+BiC,QAA/B,KAA4C,QAH9C,EAIE;AACA,WAAOxD,MAAP;AACD;;AAED,SAAOuB,YAAY,IAAIvB,MAAvB;AACD;;ACrCM,IAAMX,GAAU,GAAG,KAAnB;AACA,IAAME,MAAgB,GAAG,QAAzB;AACA,IAAMD,KAAc,GAAG,OAAvB;AACA,IAAME,IAAY,GAAG,MAArB;AACA,IAAMkE,IAAY,GAAG,MAArB;AAMA,IAAMC,cAAoC,GAAG,CAACtE,GAAD,EAAME,MAAN,EAAcD,KAAd,EAAqBE,IAArB,CAA7C;AAEA,IAAMoE,KAAc,GAAG,OAAvB;AACA,IAAMC,GAAU,GAAG,KAAnB;AAGA,IAAMC,eAAkC,GAAG,iBAA3C;AACA,IAAMC,QAAoB,GAAG,UAA7B;AAOA,IAAMC,MAAgB,GAAG,QAAzB;AACA,IAAMC,SAAsB,GAAG,WAA/B;AAgBP;AAmBO,IAAMC,UAAwB,GAAG,YAAjC;AACA,IAAMC,IAAY,GAAG,MAArB;AACA,IAAMC,SAAsB,GAAG,WAA/B;;AAEA,IAAMC,UAAwB,GAAG,YAAjC;AACA,IAAMC,IAAY,GAAG,MAArB;AACA,IAAMC,SAAsB,GAAG,WAA/B;;AAEA,IAAMC,WAA0B,GAAG,aAAnC;AACA,IAAMC,KAAc,GAAG,OAAvB;AACA,IAAMC,UAAwB,GAAG,YAAjC;AACP,IAAaC,cAAqC,GAAG,CACnDT,UADmD,EAEnDC,IAFmD,EAGnDC,SAHmD,EAInDC,UAJmD,EAKnDC,IALmD,EAMnDC,SANmD,EAOnDC,WAPmD,EAQnDC,KARmD,EASnDC,UATmD,CAA9C;;ACnEP,SAASE,KAAT,CAAeC,SAAf,EAA0B;AACxB,MAAMC,GAAG,GAAG,IAAIC,GAAJ,EAAZ;AACA,MAAMC,OAAO,GAAG,IAAIC,GAAJ,EAAhB;AACA,MAAMC,MAAM,GAAG,EAAf;AAEAL,EAAAA,SAAS,CAACM,OAAV,CAAkB,UAAAC,QAAQ,EAAI;AAC5BN,IAAAA,GAAG,CAACO,GAAJ,CAAQD,QAAQ,CAACE,IAAjB,EAAuBF,QAAvB;AACD,GAFD,EALwB;;AAUxB,WAASG,IAAT,CAAcH,QAAd,EAA4C;AAC1CJ,IAAAA,OAAO,CAACQ,GAAR,CAAYJ,QAAQ,CAACE,IAArB;AAEA,QAAMG,QAAQ,aACRL,QAAQ,CAACK,QAAT,IAAqB,EADb,EAERL,QAAQ,CAACM,gBAAT,IAA6B,EAFrB,CAAd;AAKAD,IAAAA,QAAQ,CAACN,OAAT,CAAiB,UAAAQ,GAAG,EAAI;AACtB,UAAI,CAACX,OAAO,CAACY,GAAR,CAAYD,GAAZ,CAAL,EAAuB;AACrB,YAAME,WAAW,GAAGf,GAAG,CAACgB,GAAJ,CAAQH,GAAR,CAApB;;AAEA,YAAIE,WAAJ,EAAiB;AACfN,UAAAA,IAAI,CAACM,WAAD,CAAJ;AACD;AACF;AACF,KARD;AAUAX,IAAAA,MAAM,CAACa,IAAP,CAAYX,QAAZ;AACD;;AAEDP,EAAAA,SAAS,CAACM,OAAV,CAAkB,UAAAC,QAAQ,EAAI;AAC5B,QAAI,CAACJ,OAAO,CAACY,GAAR,CAAYR,QAAQ,CAACE,IAArB,CAAL,EAAiC;AAC/B;AACAC,MAAAA,IAAI,CAACH,QAAD,CAAJ;AACD;AACF,GALD;AAOA,SAAOF,MAAP;AACD;;AAEc,SAASc,cAAT,CACbnB,SADa,EAEc;AAC3B;AACA,MAAMoB,gBAAgB,GAAGrB,KAAK,CAACC,SAAD,CAA9B,CAF2B;;AAK3B,SAAOF,cAAc,CAACuB,MAAf,CAAsB,UAACC,GAAD,EAAMC,KAAN,EAAgB;AAC3C,WAAOD,GAAG,CAAChD,MAAJ,CACL8C,gBAAgB,CAACI,MAAjB,CAAwB,UAAAjB,QAAQ;AAAA,aAAIA,QAAQ,CAACgB,KAAT,KAAmBA,KAAvB;AAAA,KAAhC,CADK,CAAP;AAGD,GAJM,EAIJ,EAJI,CAAP;AAKD;;ACxDc,SAASE,QAAT,CAAqBC,EAArB,EAAqD;AAClE,MAAIC,OAAJ;AACA,SAAO,YAAM;AACX,QAAI,CAACA,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAIC,OAAJ,CAAe,UAAAC,OAAO,EAAI;AAClCD,QAAAA,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAM;AAC3BH,UAAAA,OAAO,GAAGI,SAAV;AACAF,UAAAA,OAAO,CAACH,EAAE,EAAH,CAAP;AACD,SAHD;AAID,OALS,CAAV;AAMD;;AAED,WAAOC,OAAP;AACD,GAXD;AAYD;;ACdc,SAASK,MAAT,CAAgBC,GAAhB,EAAqD;AAAA,oCAArBC,IAAqB;AAArBA,IAAAA,IAAqB;AAAA;;AAClE,SAAO,UAAIA,IAAJ,EAAUb,MAAV,CAAiB,UAACc,CAAD,EAAIC,CAAJ;AAAA,WAAUD,CAAC,CAACE,OAAF,CAAU,IAAV,EAAgBD,CAAhB,CAAV;AAAA,GAAjB,EAA+CH,GAA/C,CAAP;AACD;;ACAD,IAAMK,sBAAsB,GAC1B,+EADF;AAEA,IAAMC,wBAAwB,GAC5B,yEADF;AAEA,IAAMC,gBAAgB,GAAG,CACvB,MADuB,EAEvB,SAFuB,EAGvB,OAHuB,EAIvB,IAJuB,EAKvB,QALuB,EAMvB,UANuB,EAOvB,SAPuB,CAAzB;AAUe,SAASC,iBAAT,CAA2BzC,SAA3B,EAAwD;AACrEA,EAAAA,SAAS,CAACM,OAAV,CAAkB,UAAAC,QAAQ,EAAI;AAC5BmC,IAAAA,MAAM,CAACC,IAAP,CAAYpC,QAAZ,EAAsBD,OAAtB,CAA8B,UAAAsC,GAAG,EAAI;AACnC,cAAQA,GAAR;AACE,aAAK,MAAL;AACE,cAAI,OAAOrC,QAAQ,CAACE,IAAhB,KAAyB,QAA7B,EAAuC;AACrCoC,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJS,MAAM,CAACxC,QAAQ,CAACE,IAAV,CAFF,EAGJ,QAHI,EAIJ,UAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACE,IAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,SAAL;AACE,cAAI,OAAOF,QAAQ,CAACyC,OAAhB,KAA4B,SAAhC,EAA2C;AACzCH,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,WAHI,EAIJ,WAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACyC,OAAV,CALN,QADR;AASD;;AACH,aAAK,OAAL;AACE,cAAIlD,cAAc,CAACnC,OAAf,CAAuB4C,QAAQ,CAACgB,KAAhC,IAAyC,CAA7C,EAAgD;AAC9CsB,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,SAHI,cAIMX,cAAc,CAACmD,IAAf,CAAoB,IAApB,CAJN,SAKAF,MAAM,CAACxC,QAAQ,CAACgB,KAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,IAAL;AACE,cAAI,OAAOhB,QAAQ,CAACmB,EAAhB,KAAuB,UAA3B,EAAuC;AACrCmB,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,MAHI,EAIJ,YAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACmB,EAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,QAAL;AACE,cAAI,OAAOnB,QAAQ,CAAC2C,MAAhB,KAA2B,UAA/B,EAA2C;AACzCL,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,UAHI,EAIJ,YAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACmB,EAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,UAAL;AACE,cAAI,CAACyB,KAAK,CAACC,OAAN,CAAc7C,QAAQ,CAACK,QAAvB,CAAL,EAAuC;AACrCiC,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,YAHI,EAIJ,SAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACK,QAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,kBAAL;AACE,cAAI,CAACuC,KAAK,CAACC,OAAN,CAAc7C,QAAQ,CAACM,gBAAvB,CAAL,EAA+C;AAC7CgC,YAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJM,sBADI,EAEJ/B,QAAQ,CAACE,IAFL,EAGJ,oBAHI,EAIJ,SAJI,SAKAsC,MAAM,CAACxC,QAAQ,CAACM,gBAAV,CALN,QADR;AASD;;AACD;;AACF,aAAK,SAAL;AACA,aAAK,MAAL;AACE;;AACF;AACEgC,UAAAA,OAAO,CAACC,KAAR,+DAEIvC,QAAQ,CAACE,IAFb,0CAGsC+B,gBAAgB,CAACvC,GAAjB,CAClC,UAAAoD,CAAC;AAAA,0BAAQA,CAAR;AAAA,WADiC,EAElCJ,IAFkC,CAE7B,IAF6B,CAHtC,gBAKwBL,GALxB;AA/FJ;;AAwGArC,MAAAA,QAAQ,CAACK,QAAT,IACEL,QAAQ,CAACK,QAAT,CAAkBN,OAAlB,CAA0B,UAAAgD,WAAW,EAAI;AACvC,YAAItD,SAAS,CAACuD,IAAV,CAAe,UAAAC,GAAG;AAAA,iBAAIA,GAAG,CAAC/C,IAAJ,KAAa6C,WAAjB;AAAA,SAAlB,KAAmD,IAAvD,EAA6D;AAC3DT,UAAAA,OAAO,CAACC,KAAR,CACEd,MAAM,CACJO,wBADI,EAEJQ,MAAM,CAACxC,QAAQ,CAACE,IAAV,CAFF,EAGJ6C,WAHI,EAIJA,WAJI,CADR;AAQD;AACF,OAXD,CADF;AAaD,KAtHD;AAuHD,GAxHD;AAyHD;;AC1Ic,SAASG,QAAT,CAAqBC,GAArB,EAAoChC,EAApC,EAA4D;AACzE,MAAMiC,WAAW,GAAG,IAAIvD,GAAJ,EAApB;AAEA,SAAOsD,GAAG,CAAClC,MAAJ,CAAW,UAAAoC,IAAI,EAAI;AACxB,QAAMC,UAAU,GAAGnC,EAAE,CAACkC,IAAD,CAArB;;AAEA,QAAI,CAACD,WAAW,CAAC5C,GAAZ,CAAgB8C,UAAhB,CAAL,EAAkC;AAChCF,MAAAA,WAAW,CAAChD,GAAZ,CAAgBkD,UAAhB;AACA,aAAO,IAAP;AACD;AACF,GAPM,CAAP;AAQD;;ACVc,SAASC,gBAAT,CACbC,SADa,EAEE;AACf,SAAQA,SAAS,CAACC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAR;AACD;;ACJc,SAASC,WAAT,CACbjE,SADa,EAEsB;AACnC,MAAMkE,MAAM,GAAGlE,SAAS,CAACqB,MAAV,CAAiB,UAAC6C,MAAD,EAASC,OAAT,EAAqB;AACnD,QAAMC,QAAQ,GAAGF,MAAM,CAACC,OAAO,CAAC1D,IAAT,CAAvB;AACAyD,IAAAA,MAAM,CAACC,OAAO,CAAC1D,IAAT,CAAN,GAAuB2D,QAAQ,qBAEtBA,QAFsB,MAGtBD,OAHsB;AAIzBE,MAAAA,OAAO,oBAAOD,QAAQ,CAACC,OAAhB,MAA4BF,OAAO,CAACE,OAApC,CAJkB;AAKzBC,MAAAA,IAAI,oBAAOF,QAAQ,CAACE,IAAhB,MAAyBH,OAAO,CAACG,IAAjC;AALqB,SAO3BH,OAPJ;AAQA,WAAOD,MAAP;AACD,GAXc,EAWZ,EAXY,CAAf,CADmC;;AAenC,SAAOxB,MAAM,CAACC,IAAP,CAAYuB,MAAZ,EAAoBjE,GAApB,CAAwB,UAAA2C,GAAG;AAAA,WAAIsB,MAAM,CAACtB,GAAD,CAAV;AAAA,GAA3B,CAAP;AACD;;ACID,IAAM2B,qBAAqB,GACzB,8GADF;AAEA,IAAMC,mBAAmB,GACvB,+HADF;AAGA,IAAMC,eAAoC,GAAG;AAC3CV,EAAAA,SAAS,EAAE,QADgC;AAE3C/D,EAAAA,SAAS,EAAE,EAFgC;AAG3C0E,EAAAA,QAAQ,EAAE;AAHiC,CAA7C;;AAWA,SAASC,gBAAT,GAAwD;AAAA,oCAA3BzC,IAA2B;AAA3BA,IAAAA,IAA2B;AAAA;;AACtD,SAAO,CAACA,IAAI,CAAC0C,IAAL,CACN,UAAAxK,OAAO;AAAA,WAAI,EAAEA,OAAO,IAAI,OAAOA,OAAO,CAACD,qBAAf,KAAyC,UAAtD,CAAJ;AAAA,GADD,CAAR;AAGD;;AAEM,SAAS0K,eAAT,CAAyBC,gBAAzB,EAAqE;AAAA,MAA5CA,gBAA4C;AAA5CA,IAAAA,gBAA4C,GAAJ,EAAI;AAAA;;AAAA,0BAItEA,gBAJsE;AAAA,gDAExEC,gBAFwE;AAAA,MAExEA,gBAFwE,sCAErD,EAFqD;AAAA,iDAGxEC,cAHwE;AAAA,MAGxEA,cAHwE,uCAGvDP,eAHuD;AAM1E,SAAO,SAASQ,YAAT,CACL7F,SADK,EAELD,MAFK,EAGLkF,OAHK,EAIK;AAAA,QADVA,OACU;AADVA,MAAAA,OACU,GADmCW,cACnC;AAAA;;AACV,QAAIE,KAAoB,GAAG;AACzBnB,MAAAA,SAAS,EAAE,QADc;AAEzB3C,MAAAA,gBAAgB,EAAE,EAFO;AAGzBiD,MAAAA,OAAO,oBAAOI,eAAP,MAA2BO,cAA3B,CAHkB;AAIzBG,MAAAA,aAAa,EAAE,EAJU;AAKzBC,MAAAA,QAAQ,EAAE;AACRhG,QAAAA,SAAS,EAATA,SADQ;AAERD,QAAAA,MAAM,EAANA;AAFQ,OALe;AASzBkG,MAAAA,UAAU,EAAE,EATa;AAUzBC,MAAAA,MAAM,EAAE;AAViB,KAA3B;AAaA,QAAIC,gBAAmC,GAAG,EAA1C;AACA,QAAIC,WAAW,GAAG,KAAlB;AAEA,QAAMC,QAAQ,GAAG;AACfP,MAAAA,KAAK,EAALA,KADe;AAEfQ,MAAAA,UAFe,sBAEJrB,OAFI,EAEK;AAClBsB,QAAAA,sBAAsB;AAEtBT,QAAAA,KAAK,CAACb,OAAN,qBAEKW,cAFL,MAGKE,KAAK,CAACb,OAHX,MAIKA,OAJL;AAOAa,QAAAA,KAAK,CAACU,aAAN,GAAsB;AACpBxG,UAAAA,SAAS,EAAE1D,SAAS,CAAC0D,SAAD,CAAT,GACPnB,iBAAiB,CAACmB,SAAD,CADV,GAEPA,SAAS,CAACyG,cAAV,GACA5H,iBAAiB,CAACmB,SAAS,CAACyG,cAAX,CADjB,GAEA,EALgB;AAMpB1G,UAAAA,MAAM,EAAElB,iBAAiB,CAACkB,MAAD;AANL,SAAtB,CAVkB;AAoBlB;;AACA,YAAMiC,gBAAgB,GAAGD,cAAc,CACrC8C,WAAW,WAAKc,gBAAL,EAA0BG,KAAK,CAACb,OAAN,CAAcrE,SAAxC,EAD0B,CAAvC,CArBkB;;AA0BlBkF,QAAAA,KAAK,CAAC9D,gBAAN,GAAyBA,gBAAgB,CAACI,MAAjB,CAAwB,UAAAsE,CAAC;AAAA,iBAAIA,CAAC,CAAC9C,OAAN;AAAA,SAAzB,CAAzB,CA1BkB;AA6BlB;;AACA,mDAAa;AACX,cAAMhD,SAAS,GAAGyD,QAAQ,WACpBrC,gBADoB,EACC8D,KAAK,CAACb,OAAN,CAAcrE,SADf,GAExB;AAAA,gBAAGS,IAAH,QAAGA,IAAH;AAAA,mBAAcA,IAAd;AAAA,WAFwB,CAA1B;AAKAgC,UAAAA,iBAAiB,CAACzC,SAAD,CAAjB;;AAEA,cAAI8D,gBAAgB,CAACoB,KAAK,CAACb,OAAN,CAAcN,SAAf,CAAhB,KAA8ClF,IAAlD,EAAwD;AACtD,gBAAMkH,YAAY,GAAGb,KAAK,CAAC9D,gBAAN,CAAuBmC,IAAvB,CACnB;AAAA,kBAAG9C,IAAH,SAAGA,IAAH;AAAA,qBAAcA,IAAI,KAAK,MAAvB;AAAA,aADmB,CAArB;;AAIA,gBAAI,CAACsF,YAAL,EAAmB;AACjBlD,cAAAA,OAAO,CAACC,KAAR,CACE,CACE,0DADF,EAEE,8BAFF,EAGEG,IAHF,CAGO,GAHP,CADF;AAMD;AACF;;AArBU,kCA4BPxF,gBAAgB,CAAC0B,MAAD,CA5BT;AAAA,cAwBT6G,SAxBS,qBAwBTA,SAxBS;AAAA,cAyBTC,WAzBS,qBAyBTA,WAzBS;AAAA,cA0BTC,YA1BS,qBA0BTA,YA1BS;AAAA,cA2BTC,UA3BS,qBA2BTA,UA3BS;AA+BX;;;AACA,cACE,CAACH,SAAD,EAAYC,WAAZ,EAAyBC,YAAzB,EAAuCC,UAAvC,EAAmDvB,IAAnD,CAAwD,UAAAwB,MAAM;AAAA,mBAC5DC,UAAU,CAACD,MAAD,CADkD;AAAA,WAA9D,CADF,EAIE;AACAvD,YAAAA,OAAO,CAACyD,IAAR,CACE,CACE,6DADF,EAEE,2DAFF,EAGE,4DAHF,EAIE,0DAJF,EAKE,YALF,EAMErD,IANF,CAMO,GANP,CADF;AASD;AACF;;AAEDsD,QAAAA,kBAAkB;AAElB,eAAOd,QAAQ,CAACe,MAAT,EAAP;AACD,OApFc;AAsFf;AACA;AACA;AACA;AACA;AACAC,MAAAA,WA3Fe,yBA2FD;AACZ,YAAIjB,WAAJ,EAAiB;AACf;AACD;;AAHW,8BAKkBN,KAAK,CAACE,QALxB;AAAA,YAKJhG,SALI,mBAKJA,SALI;AAAA,YAKOD,MALP,mBAKOA,MALP;AAQZ;;AACA,YAAI,CAACwF,gBAAgB,CAACvF,SAAD,EAAYD,MAAZ,CAArB,EAA0C;AACxC,qDAAa;AACX0D,YAAAA,OAAO,CAACC,KAAR,CAAcyB,qBAAd;AACD;;AACD;AACD,SAdW;;;AAiBZW,QAAAA,KAAK,CAACwB,KAAN,GAAc;AACZtH,UAAAA,SAAS,EAAE5C,gBAAgB,CACzB4C,SADyB,EAEzBR,eAAe,CAACO,MAAD,CAFU,EAGzB+F,KAAK,CAACb,OAAN,CAAcK,QAAd,KAA2B,OAHF,CADf;AAMZvF,UAAAA,MAAM,EAAEnC,aAAa,CAACmC,MAAD;AANT,SAAd,CAjBY;AA2BZ;AACA;AACA;AACA;;AACA+F,QAAAA,KAAK,CAACyB,KAAN,GAAc,KAAd;AAEAzB,QAAAA,KAAK,CAACnB,SAAN,GAAkBmB,KAAK,CAACb,OAAN,CAAcN,SAAhC,CAjCY;AAoCZ;AACA;AACA;;AACAmB,QAAAA,KAAK,CAAC9D,gBAAN,CAAuBd,OAAvB,CACE,UAAAC,QAAQ;AAAA,iBACL2E,KAAK,CAACC,aAAN,CAAoB5E,QAAQ,CAACE,IAA7B,sBACIF,QAAQ,CAAC+D,IADb,CADK;AAAA,SADV;AAOA,YAAIsC,eAAe,GAAG,CAAtB;;AACA,aAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG3B,KAAK,CAAC9D,gBAAN,CAAuB0F,MAAnD,EAA2DD,KAAK,EAAhE,EAAoE;AAClE,qDAAa;AACXD,YAAAA,eAAe,IAAI,CAAnB;;AACA,gBAAIA,eAAe,GAAG,GAAtB,EAA2B;AACzB/D,cAAAA,OAAO,CAACC,KAAR,CAAc0B,mBAAd;AACA;AACD;AACF;;AAED,cAAIU,KAAK,CAACyB,KAAN,KAAgB,IAApB,EAA0B;AACxBzB,YAAAA,KAAK,CAACyB,KAAN,GAAc,KAAd;AACAE,YAAAA,KAAK,GAAG,CAAC,CAAT;AACA;AACD;;AAbiE,sCAe/B3B,KAAK,CAAC9D,gBAAN,CAAuByF,KAAvB,CAf+B;AAAA,cAe1DnF,EAf0D,yBAe1DA,EAf0D;AAAA,6DAetD2C,OAfsD;AAAA,cAetDA,QAfsD,uCAe5C,EAf4C;AAAA,cAexC5D,IAfwC,yBAexCA,IAfwC;;AAiBlE,cAAI,OAAOiB,EAAP,KAAc,UAAlB,EAA8B;AAC5BwD,YAAAA,KAAK,GAAGxD,EAAE,CAAC;AAAEwD,cAAAA,KAAK,EAALA,KAAF;AAASb,cAAAA,OAAO,EAAPA,QAAT;AAAkB5D,cAAAA,IAAI,EAAJA,IAAlB;AAAwBgF,cAAAA,QAAQ,EAARA;AAAxB,aAAD,CAAF,IAA0CP,KAAlD;AACD;AACF;AACF,OA/Jc;AAiKf;AACA;AACAsB,MAAAA,MAAM,EAAE/E,QAAQ,CACd;AAAA,eACE,IAAIG,OAAJ,CAA2B,UAAAC,OAAO,EAAI;AACpC4D,UAAAA,QAAQ,CAACgB,WAAT;AACA5E,UAAAA,OAAO,CAACqD,KAAD,CAAP;AACD,SAHD,CADF;AAAA,OADc,CAnKD;AA2Kf6B,MAAAA,OA3Ke,qBA2KL;AACRpB,QAAAA,sBAAsB;AACtBH,QAAAA,WAAW,GAAG,IAAd;AACD;AA9Kc,KAAjB;;AAiLA,QAAI,CAACb,gBAAgB,CAACvF,SAAD,EAAYD,MAAZ,CAArB,EAA0C;AACxC,iDAAa;AACX0D,QAAAA,OAAO,CAACC,KAAR,CAAcyB,qBAAd;AACD;;AACD,aAAOkB,QAAP;AACD;;AAEDA,IAAAA,QAAQ,CAACC,UAAT,CAAoBrB,OAApB,EAA6BvC,IAA7B,CAAkC,UAAAoD,KAAK,EAAI;AACzC,UAAI,CAACM,WAAD,IAAgBnB,OAAO,CAAC2C,aAA5B,EAA2C;AACzC3C,QAAAA,OAAO,CAAC2C,aAAR,CAAsB9B,KAAtB;AACD;AACF,KAJD,EAzMU;AAgNV;AACA;AACA;AACA;;AACA,aAASqB,kBAAT,GAA8B;AAC5BrB,MAAAA,KAAK,CAAC9D,gBAAN,CAAuBd,OAAvB,CAA+B,iBAAoC;AAAA,YAAjCG,IAAiC,SAAjCA,IAAiC;AAAA,kCAA3B4D,OAA2B;AAAA,YAA3BA,OAA2B,8BAAjB,EAAiB;AAAA,YAAbnB,MAAa,SAAbA,MAAa;;AACjE,YAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkC;AAChC,cAAM+D,SAAS,GAAG/D,MAAM,CAAC;AAAEgC,YAAAA,KAAK,EAALA,KAAF;AAASzE,YAAAA,IAAI,EAAJA,IAAT;AAAegF,YAAAA,QAAQ,EAARA,QAAf;AAAyBpB,YAAAA,OAAO,EAAPA;AAAzB,WAAD,CAAxB;;AACA,cAAM6C,MAAM,GAAG,SAATA,MAAS,GAAM,EAArB;;AACA3B,UAAAA,gBAAgB,CAACrE,IAAjB,CAAsB+F,SAAS,IAAIC,MAAnC;AACD;AACF,OAND;AAOD;;AAED,aAASvB,sBAAT,GAAkC;AAChCJ,MAAAA,gBAAgB,CAACjF,OAAjB,CAAyB,UAAAoB,EAAE;AAAA,eAAIA,EAAE,EAAN;AAAA,OAA3B;AACA6D,MAAAA,gBAAgB,GAAG,EAAnB;AACD;;AAED,WAAOE,QAAP;AACD,GAxOD;AAyOD;;ACrRD,IAAM0B,OAAO,GAAG;AAAEA,EAAAA,OAAO,EAAE;AAAX,CAAhB;;AAEA,SAASjE,MAAT,OAA0E;AAAA,MAAxDgC,KAAwD,QAAxDA,KAAwD;AAAA,MAAjDO,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCpB,OAAuC,QAAvCA,OAAuC;AAAA,wBAC/BA,OAD+B,CAChEzH,MADgE;AAAA,MAChEA,MADgE,gCACvD,IADuD;AAAA,wBAC/ByH,OAD+B,CACjD+C,MADiD;AAAA,MACjDA,MADiD,gCACxC,IADwC;AAGxE,MAAMjM,MAAM,GAAGL,SAAS,CAACoK,KAAK,CAACE,QAAN,CAAejG,MAAhB,CAAxB;AACA,MAAMyG,aAAa,aACdV,KAAK,CAACU,aAAN,CAAoBxG,SADN,EAEd8F,KAAK,CAACU,aAAN,CAAoBzG,MAFN,CAAnB;;AAKA,MAAIvC,MAAJ,EAAY;AACVgJ,IAAAA,aAAa,CAACtF,OAAd,CAAsB,UAAAnC,YAAY,EAAI;AACpCA,MAAAA,YAAY,CAACkJ,gBAAb,CAA8B,QAA9B,EAAwC5B,QAAQ,CAACe,MAAjD,EAAyDW,OAAzD;AACD,KAFD;AAGD;;AAED,MAAIC,MAAJ,EAAY;AACVjM,IAAAA,MAAM,CAACkM,gBAAP,CAAwB,QAAxB,EAAkC5B,QAAQ,CAACe,MAA3C,EAAmDW,OAAnD;AACD;;AAED,SAAO,YAAM;AACX,QAAIvK,MAAJ,EAAY;AACVgJ,MAAAA,aAAa,CAACtF,OAAd,CAAsB,UAAAnC,YAAY,EAAI;AACpCA,QAAAA,YAAY,CAACmJ,mBAAb,CAAiC,QAAjC,EAA2C7B,QAAQ,CAACe,MAApD,EAA4DW,OAA5D;AACD,OAFD;AAGD;;AAED,QAAIC,MAAJ,EAAY;AACVjM,MAAAA,MAAM,CAACmM,mBAAP,CAA2B,QAA3B,EAAqC7B,QAAQ,CAACe,MAA9C,EAAsDW,OAAtD;AACD;AACF,GAVD;AAWD;;;AAID,qBAAgB;AACd1G,EAAAA,IAAI,EAAE,gBADQ;AAEduC,EAAAA,OAAO,EAAE,IAFK;AAGdzB,EAAAA,KAAK,EAAE,OAHO;AAIdG,EAAAA,EAAE,EAAE,cAAM,EAJI;AAKdwB,EAAAA,MAAM,EAANA,MALc;AAMdoB,EAAAA,IAAI,EAAE;AANQ,CAAhB;;AC1Ce,SAASiD,YAAT,CAAsBxD,SAAtB,EAAwD;AACrE,SAAQA,SAAS,CAACC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAR;AACD;;ACFc,SAASwD,wBAAT,CACbzD,SADa,EAEF;AACX,SAAO,CAAC,KAAD,EAAQ,QAAR,EAAkBpG,OAAlB,CAA0BoG,SAA1B,KAAwC,CAAxC,GAA4C,GAA5C,GAAkD,GAAzD;AACD;;ACKc,SAAS0D,cAAT,OASH;AAAA,MARVrI,SAQU,QARVA,SAQU;AAAA,MAPVhF,OAOU,QAPVA,OAOU;AAAA,MANV2J,SAMU,QANVA,SAMU;AACV,MAAM2D,aAAa,GAAG3D,SAAS,GAAGD,gBAAgB,CAACC,SAAD,CAAnB,GAAiC,IAAhE;AACA,MAAM4D,SAAS,GAAG5D,SAAS,GAAGwD,YAAY,CAACxD,SAAD,CAAf,GAA6B,IAAxD;AACA,MAAM6D,OAAO,GAAGxI,SAAS,CAACxE,CAAV,GAAcwE,SAAS,CAAC9E,KAAV,GAAkB,CAAhC,GAAoCF,OAAO,CAACE,KAAR,GAAgB,CAApE;AACA,MAAMuN,OAAO,GAAGzI,SAAS,CAACvE,CAAV,GAAcuE,SAAS,CAAC7E,MAAV,GAAmB,CAAjC,GAAqCH,OAAO,CAACG,MAAR,GAAiB,CAAtE;AAEA,MAAIsC,OAAJ;;AACA,UAAQ6K,aAAR;AACE,SAAKlN,GAAL;AACEqC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEgN,OADK;AAER/M,QAAAA,CAAC,EAAEuE,SAAS,CAACvE,CAAV,GAAcT,OAAO,CAACG;AAFjB,OAAV;AAIA;;AACF,SAAKG,MAAL;AACEmC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEgN,OADK;AAER/M,QAAAA,CAAC,EAAEuE,SAAS,CAACvE,CAAV,GAAcuE,SAAS,CAAC7E;AAFnB,OAAV;AAIA;;AACF,SAAKE,KAAL;AACEoC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEwE,SAAS,CAACxE,CAAV,GAAcwE,SAAS,CAAC9E,KADnB;AAERO,QAAAA,CAAC,EAAEgN;AAFK,OAAV;AAIA;;AACF,SAAKlN,IAAL;AACEkC,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEwE,SAAS,CAACxE,CAAV,GAAcR,OAAO,CAACE,KADjB;AAERO,QAAAA,CAAC,EAAEgN;AAFK,OAAV;AAIA;;AACF;AACEhL,MAAAA,OAAO,GAAG;AACRjC,QAAAA,CAAC,EAAEwE,SAAS,CAACxE,CADL;AAERC,QAAAA,CAAC,EAAEuE,SAAS,CAACvE;AAFL,OAAV;AA1BJ;;AAgCA,MAAMiN,QAAQ,GAAGJ,aAAa,GAC1BF,wBAAwB,CAACE,aAAD,CADE,GAE1B,IAFJ;;AAIA,MAAII,QAAQ,IAAI,IAAhB,EAAsB;AACpB,QAAMC,GAAG,GAAGD,QAAQ,KAAK,GAAb,GAAmB,QAAnB,GAA8B,OAA1C;;AAEA,YAAQH,SAAR;AACE,WAAK5I,KAAL;AACElC,QAAAA,OAAO,CAACiL,QAAD,CAAP,GACEE,IAAI,CAACC,KAAL,CAAWpL,OAAO,CAACiL,QAAD,CAAlB,IACAE,IAAI,CAACC,KAAL,CAAW7I,SAAS,CAAC2I,GAAD,CAAT,GAAiB,CAAjB,GAAqB3N,OAAO,CAAC2N,GAAD,CAAP,GAAe,CAA/C,CAFF;AAGA;;AACF,WAAK/I,GAAL;AACEnC,QAAAA,OAAO,CAACiL,QAAD,CAAP,GACEE,IAAI,CAACC,KAAL,CAAWpL,OAAO,CAACiL,QAAD,CAAlB,IACAE,IAAI,CAACE,IAAL,CAAU9I,SAAS,CAAC2I,GAAD,CAAT,GAAiB,CAAjB,GAAqB3N,OAAO,CAAC2N,GAAD,CAAP,GAAe,CAA9C,CAFF;AAGA;AAVJ;AAaD;;AAED,SAAOlL,OAAP;AACD;;AC/ED,SAASsL,aAAT,OAAiE;AAAA,MAAxCjD,KAAwC,QAAxCA,KAAwC;AAAA,MAAjCzE,IAAiC,QAAjCA,IAAiC;AAC/D;AACA;AACA;AACA;AACAyE,EAAAA,KAAK,CAACC,aAAN,CAAoB1E,IAApB,IAA4BgH,cAAc,CAAC;AACzCrI,IAAAA,SAAS,EAAE8F,KAAK,CAACwB,KAAN,CAAYtH,SADkB;AAEzChF,IAAAA,OAAO,EAAE8K,KAAK,CAACwB,KAAN,CAAYvH,MAFoB;AAGzCuF,IAAAA,QAAQ,EAAE,UAH+B;AAIzCX,IAAAA,SAAS,EAAEmB,KAAK,CAACnB;AAJwB,GAAD,CAA1C;AAMD;;;AAID,sBAAgB;AACdtD,EAAAA,IAAI,EAAE,eADQ;AAEduC,EAAAA,OAAO,EAAE,IAFK;AAGdzB,EAAAA,KAAK,EAAE,MAHO;AAIdG,EAAAA,EAAE,EAAEyG,aAJU;AAKd7D,EAAAA,IAAI,EAAE;AALQ,CAAhB;;ICEM8D,UAAU,GAAG;AACjB5N,EAAAA,GAAG,EAAE,MADY;AAEjBC,EAAAA,KAAK,EAAE,MAFU;AAGjBC,EAAAA,MAAM,EAAE,MAHS;AAIjBC,EAAAA,IAAI,EAAE;AAJW,CAAnB;AAQA;AACA;;AACA,SAAS0N,YAAT,OAAyC;AAAA,MAAjBzN,CAAiB,QAAjBA,CAAiB;AAAA,MAAdC,CAAc,QAAdA,CAAc;AACvC,MAAMQ,GAAW,GAAGF,MAApB;AACA,MAAMmN,GAAG,GAAGjN,GAAG,CAACkN,gBAAJ,IAAwB,CAApC;AAEA,SAAO;AACL3N,IAAAA,CAAC,EAAEoN,IAAI,CAACQ,KAAL,CAAW5N,CAAC,GAAG0N,GAAf,IAAsBA,GAAtB,IAA6B,CAD3B;AAELzN,IAAAA,CAAC,EAAEmN,IAAI,CAACQ,KAAL,CAAW3N,CAAC,GAAGyN,GAAf,IAAsBA,GAAtB,IAA6B;AAF3B,GAAP;AAID;;AAEM,SAASG,WAAT,QAgBJ;AAAA;;AAAA,MAfDtJ,MAeC,SAfDA,MAeC;AAAA,MAdDuJ,UAcC,SAdDA,UAcC;AAAA,MAbD3E,SAaC,SAbDA,SAaC;AAAA,MAZDlH,OAYC,SAZDA,OAYC;AAAA,MAXD8B,QAWC,SAXDA,QAWC;AAAA,MAVDgK,eAUC,SAVDA,eAUC;AAAA,MATDC,QASC,SATDA,QASC;;AAAA,sBACcP,YAAY,CAACxL,OAAD,CAD1B;AAAA,MACKjC,CADL,iBACKA,CADL;AAAA,MACQC,CADR,iBACQA,CADR;;AAGD,MAAMgO,IAAI,GAAGhM,OAAO,CAACiM,cAAR,CAAuB,GAAvB,CAAb;AACA,MAAMC,IAAI,GAAGlM,OAAO,CAACiM,cAAR,CAAuB,GAAvB,CAAb;AAEA,MAAIE,KAAa,GAAGrO,IAApB;AACA,MAAIsO,KAAa,GAAGzO,GAApB;AAEA,MAAMa,GAAW,GAAGF,MAApB;;AAEA,MAAIyN,QAAJ,EAAc;AACZ,QAAIlM,YAAY,GAAGkC,eAAe,CAACO,MAAD,CAAlC;;AACA,QAAIzC,YAAY,KAAK5B,SAAS,CAACqE,MAAD,CAA9B,EAAwC;AACtCzC,MAAAA,YAAY,GAAGN,kBAAkB,CAAC+C,MAAD,CAAjC;AACD,KAJW;;AAOZ;;;AAEA,QAAI4E,SAAS,KAAKvJ,GAAlB,EAAuB;AACrByO,MAAAA,KAAK,GAAGvO,MAAR;AACAG,MAAAA,CAAC,IAAI6B,YAAY,CAACwM,YAAb,GAA4BR,UAAU,CAACnO,MAA5C;AACAM,MAAAA,CAAC,IAAI8N,eAAe,GAAG,CAAH,GAAO,CAAC,CAA5B;AACD;;AAED,QAAI5E,SAAS,KAAKpJ,IAAlB,EAAwB;AACtBqO,MAAAA,KAAK,GAAGvO,KAAR;AACAG,MAAAA,CAAC,IAAI8B,YAAY,CAACyM,WAAb,GAA2BT,UAAU,CAACpO,KAA3C;AACAM,MAAAA,CAAC,IAAI+N,eAAe,GAAG,CAAH,GAAO,CAAC,CAA5B;AACD;AACF;;AAED,MAAMS,YAAY;AAChBzK,IAAAA,QAAQ,EAARA;AADgB,KAEZiK,QAAQ,IAAIR,UAFA,CAAlB;;AAKA,MAAIO,eAAJ,EAAqB;AAAA;;AACnB,6BACKS,YADL,uCAEGH,KAFH,IAEWF,IAAI,GAAG,GAAH,GAAS,EAFxB,iBAGGC,KAHH,IAGWH,IAAI,GAAG,GAAH,GAAS,EAHxB,iBAOEQ,SAPF,GAQI,CAAChO,GAAG,CAACkN,gBAAJ,IAAwB,CAAzB,IAA8B,CAA9B,kBACiB3N,CADjB,YACyBC,CADzB,4BAEmBD,CAFnB,YAE2BC,CAF3B,WARJ;AAYD;;AAED,2BACKuO,YADL,yCAEGH,KAFH,IAEWF,IAAI,GAAMlO,CAAN,UAAc,EAF7B,kBAGGmO,KAHH,IAGWH,IAAI,GAAMjO,CAAN,UAAc,EAH7B,kBAIEyO,SAJF,GAIa,EAJb;AAMD;;AAED,SAASC,aAAT,QAAuE;AAAA,MAA9CpE,KAA8C,SAA9CA,KAA8C;AAAA,MAAvCb,OAAuC,SAAvCA,OAAuC;AAAA,8BACjBA,OADiB,CAC7DsE,eAD6D;AAAA,MAC7DA,eAD6D,sCAC3C,IAD2C;AAAA,0BACjBtE,OADiB,CACrCuE,QADqC;AAAA,MACrCA,QADqC,kCAC1B,IAD0B;;AAGrE,6CAAa;AACX,QAAMW,kBAAkB,GACtB9L,gBAAgB,CAACyH,KAAK,CAACE,QAAN,CAAejG,MAAhB,CAAhB,CAAwCoK,kBAAxC,IAA8D,EADhE;;AAGA,QACEX,QAAQ,IACR,CAAC,WAAD,EAAc,KAAd,EAAqB,OAArB,EAA8B,QAA9B,EAAwC,MAAxC,EAAgDhE,IAAhD,CACE,UAAA4E,QAAQ;AAAA,aAAID,kBAAkB,CAAC5L,OAAnB,CAA2B6L,QAA3B,KAAwC,CAA5C;AAAA,KADV,CAFF,EAKE;AACA3G,MAAAA,OAAO,CAACyD,IAAR,CACE,CACE,mEADF,EAEE,gEAFF,EAGE,MAHF,EAIE,oEAJF,EAKE,iEALF,EAME,oEANF,EAOE,0CAPF,EAQE,MARF,EASE,oEATF,EAUE,qEAVF,EAWErD,IAXF,CAWO,GAXP,CADF;AAcD;AACF;;AAED,MAAMmG,YAAY,GAAG;AACnBrF,IAAAA,SAAS,EAAED,gBAAgB,CAACoB,KAAK,CAACnB,SAAP,CADR;AAEnB5E,IAAAA,MAAM,EAAE+F,KAAK,CAACE,QAAN,CAAejG,MAFJ;AAGnBuJ,IAAAA,UAAU,EAAExD,KAAK,CAACwB,KAAN,CAAYvH,MAHL;AAInBwJ,IAAAA,eAAe,EAAfA;AAJmB,GAArB;;AAOA,MAAIzD,KAAK,CAACC,aAAN,CAAoBgD,aAApB,IAAqC,IAAzC,EAA+C;AAC7CjD,IAAAA,KAAK,CAACI,MAAN,CAAanG,MAAb,qBACK+F,KAAK,CAACI,MAAN,CAAanG,MADlB,MAEKsJ,WAAW,mBACTW,YADS;AAEZvM,MAAAA,OAAO,EAAEqI,KAAK,CAACC,aAAN,CAAoBgD,aAFjB;AAGZxJ,MAAAA,QAAQ,EAAEuG,KAAK,CAACb,OAAN,CAAcK,QAHZ;AAIZkE,MAAAA,QAAQ,EAARA;AAJY,OAFhB;AASD;;AAED,MAAI1D,KAAK,CAACC,aAAN,CAAoBsE,KAApB,IAA6B,IAAjC,EAAuC;AACrCvE,IAAAA,KAAK,CAACI,MAAN,CAAamE,KAAb,qBACKvE,KAAK,CAACI,MAAN,CAAamE,KADlB,MAEKhB,WAAW,mBACTW,YADS;AAEZvM,MAAAA,OAAO,EAAEqI,KAAK,CAACC,aAAN,CAAoBsE,KAFjB;AAGZ9K,MAAAA,QAAQ,EAAE,UAHE;AAIZiK,MAAAA,QAAQ,EAAE;AAJE,OAFhB;AASD;;AAED1D,EAAAA,KAAK,CAACG,UAAN,CAAiBlG,MAAjB,qBACK+F,KAAK,CAACG,UAAN,CAAiBlG,MADtB;AAEE,6BAAyB+F,KAAK,CAACnB;AAFjC;AAID;;;AAID,sBAAgB;AACdtD,EAAAA,IAAI,EAAE,eADQ;AAEduC,EAAAA,OAAO,EAAE,IAFK;AAGdzB,EAAAA,KAAK,EAAE,aAHO;AAIdG,EAAAA,EAAE,EAAE4H,aAJU;AAKdhF,EAAAA,IAAI,EAAE;AALQ,CAAhB;;;;ACnLA,SAASoF,WAAT,OAAyD;AAAA,MAAlCxE,KAAkC,QAAlCA,KAAkC;AACvDxC,EAAAA,MAAM,CAACC,IAAP,CAAYuC,KAAK,CAACE,QAAlB,EAA4B9E,OAA5B,CAAoC,UAAAG,IAAI,EAAI;AAC1C,QAAMkJ,KAAK,GAAGzE,KAAK,CAACI,MAAN,CAAa7E,IAAb,KAAsB,EAApC;AAEA,QAAM4E,UAAU,GAAGH,KAAK,CAACG,UAAN,CAAiB5E,IAAjB,KAA0B,EAA7C;AACA,QAAMrG,OAAO,GAAG8K,KAAK,CAACE,QAAN,CAAe3E,IAAf,CAAhB,CAJ0C;;AAO1C,QAAI,CAAC5E,aAAa,CAACzB,OAAD,CAAd,IAA2B,CAAC6B,WAAW,CAAC7B,OAAD,CAA3C,EAAsD;AACpD;AACD,KATyC;AAY1C;AACA;;;AACAsI,IAAAA,MAAM,CAACkH,MAAP,CAAcxP,OAAO,CAACuP,KAAtB,EAA6BA,KAA7B;AAEAjH,IAAAA,MAAM,CAACC,IAAP,CAAY0C,UAAZ,EAAwB/E,OAAxB,CAAgC,UAAAG,IAAI,EAAI;AACtC,UAAMoJ,KAAK,GAAGxE,UAAU,CAAC5E,IAAD,CAAxB;;AACA,UAAIoJ,KAAK,KAAK,KAAd,EAAqB;AACnBzP,QAAAA,OAAO,CAAC0P,eAAR,CAAwBrJ,IAAxB;AACD,OAFD,MAEO;AACLrG,QAAAA,OAAO,CAAC2P,YAAR,CAAqBtJ,IAArB,EAA2BoJ,KAAK,KAAK,IAAV,GAAiB,EAAjB,GAAsBA,KAAjD;AACD;AACF,KAPD;AAQD,GAxBD;AAyBD;;AAED,SAAS3G,QAAT,QAAoD;AAAA,MAAlCgC,KAAkC,SAAlCA,KAAkC;AAClD,MAAM8E,aAAa,GAAG;AACpB7K,IAAAA,MAAM,EAAE;AACNR,MAAAA,QAAQ,EAAEuG,KAAK,CAACb,OAAN,CAAcK,QADlB;AAEN/J,MAAAA,IAAI,EAAE,GAFA;AAGNH,MAAAA,GAAG,EAAE,GAHC;AAIN4L,MAAAA,MAAM,EAAE;AAJF,KADY;AAOpBqD,IAAAA,KAAK,EAAE;AACL9K,MAAAA,QAAQ,EAAE;AADL,KAPa;AAUpBS,IAAAA,SAAS,EAAE;AAVS,GAAtB;AAaAsD,EAAAA,MAAM,CAACkH,MAAP,CAAc1E,KAAK,CAACE,QAAN,CAAejG,MAAf,CAAsBwK,KAApC,EAA2CK,aAAa,CAAC7K,MAAzD;;AAEA,MAAI+F,KAAK,CAACE,QAAN,CAAeqE,KAAnB,EAA0B;AACxB/G,IAAAA,MAAM,CAACkH,MAAP,CAAc1E,KAAK,CAACE,QAAN,CAAeqE,KAAf,CAAqBE,KAAnC,EAA0CK,aAAa,CAACP,KAAxD;AACD;;AAED,SAAO,YAAM;AACX/G,IAAAA,MAAM,CAACC,IAAP,CAAYuC,KAAK,CAACE,QAAlB,EAA4B9E,OAA5B,CAAoC,UAAAG,IAAI,EAAI;AAC1C,UAAMrG,OAAO,GAAG8K,KAAK,CAACE,QAAN,CAAe3E,IAAf,CAAhB;AACA,UAAM4E,UAAU,GAAGH,KAAK,CAACG,UAAN,CAAiB5E,IAAjB,KAA0B,EAA7C;AAEA,UAAMwJ,eAAe,GAAGvH,MAAM,CAACC,IAAP,CACtBuC,KAAK,CAACI,MAAN,CAAawD,cAAb,CAA4BrI,IAA5B,IACIyE,KAAK,CAACI,MAAN,CAAa7E,IAAb,CADJ,GAEIuJ,aAAa,CAACvJ,IAAD,CAHK,CAAxB,CAJ0C;;AAW1C,UAAMkJ,KAAK,GAAGM,eAAe,CAAC5I,MAAhB,CAAuB,UAACsI,KAAD,EAAQH,QAAR,EAAqB;AACxDG,QAAAA,KAAK,CAACH,QAAD,CAAL,GAAkB,EAAlB;AACA,eAAOG,KAAP;AACD,OAHa,EAGX,EAHW,CAAd,CAX0C;;AAiB1C,UAAI,CAAC9N,aAAa,CAACzB,OAAD,CAAd,IAA2B,CAAC6B,WAAW,CAAC7B,OAAD,CAA3C,EAAsD;AACpD;AACD,OAnByC;AAsB1C;AACA;;;AACAsI,MAAAA,MAAM,CAACkH,MAAP,CAAcxP,OAAO,CAACuP,KAAtB,EAA6BA,KAA7B;AAEAjH,MAAAA,MAAM,CAACC,IAAP,CAAY0C,UAAZ,EAAwB/E,OAAxB,CAAgC,UAAA4J,SAAS,EAAI;AAC3C9P,QAAAA,OAAO,CAAC0P,eAAR,CAAwBI,SAAxB;AACD,OAFD;AAGD,KA7BD;AA8BD,GA/BD;AAgCD;;;AAID,oBAAgB;AACdzJ,EAAAA,IAAI,EAAE,aADQ;AAEduC,EAAAA,OAAO,EAAE,IAFK;AAGdzB,EAAAA,KAAK,EAAE,OAHO;AAIdG,EAAAA,EAAE,EAAEgI,WAJU;AAKdxG,EAAAA,MAAM,EAANA,QALc;AAMdtC,EAAAA,QAAQ,EAAE,CAAC,eAAD;AANI,CAAhB;;ACzFe,SAASuJ,eAAT,CAAyB/P,OAAzB,EAA2C;AACxD,MAAMiB,GAAG,GAAGP,SAAS,CAACV,OAAD,CAArB;AACA,MAAMmE,cAAc,GAAGlD,GAAG,CAACkD,cAA3B;AAEA,MAAIjE,KAAK,GAAGe,GAAG,CAAC+O,UAAhB;AACA,MAAI7P,MAAM,GAAGc,GAAG,CAACgP,WAAjB,CALwD;AAQxD;AACA;;AACA,MAAI9L,cAAc,IAAI,mBAAmBP,IAAnB,CAAwBsM,SAAS,CAACC,QAAlC,CAAtB,EAAmE;AACjEjQ,IAAAA,KAAK,GAAGiE,cAAc,CAACjE,KAAvB;AACAC,IAAAA,MAAM,GAAGgE,cAAc,CAAChE,MAAxB;AACD;;AAED,SAAO;AAAED,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,MAAM,EAANA,MAAT;AAAiBK,IAAAA,CAAC,EAAE,CAApB;AAAuBC,IAAAA,CAAC,EAAE;AAA1B,GAAP;AACD;;ACZc,SAAS2P,eAAT,CAAyBpQ,OAAzB,EAAqD;AAClE,MAAMiB,GAAG,GAAGP,SAAS,CAACV,OAAD,CAArB;AACA,MAAMqQ,SAAS,GAAGrP,eAAe,CAAChB,OAAD,CAAjC;AACA,MAAMsQ,YAAY,GAAGlO,gBAAgB,CAACJ,kBAAkB,CAAChC,OAAD,CAAnB,EAA8BiB,GAA9B,CAArC;AAEAqP,EAAAA,YAAY,CAACnQ,MAAb,GAAsByN,IAAI,CAAC2C,GAAL,CAASD,YAAY,CAACnQ,MAAtB,EAA8Bc,GAAG,CAACgP,WAAlC,CAAtB;AACAK,EAAAA,YAAY,CAACpQ,KAAb,GAAqB0N,IAAI,CAAC2C,GAAL,CAASD,YAAY,CAACpQ,KAAtB,EAA6Be,GAAG,CAAC+O,UAAjC,CAArB;AACAM,EAAAA,YAAY,CAAC9P,CAAb,GAAiB,CAAC6P,SAAS,CAACnP,UAA5B;AACAoP,EAAAA,YAAY,CAAC7P,CAAb,GAAiB,CAAC4P,SAAS,CAACjP,SAA5B;AAEA,SAAOkP,YAAP;AACD;;ACbD,SAASE,QAAT,CAAkBC,QAAlB,EAA4C;AAC1C,SAAOxE,UAAU,CAACwE,QAAD,CAAV,IAAwB,CAA/B;AACD;;AAEc,SAASC,UAAT,CAAoB1Q,OAApB,EAAkD;AAC/D,MAAM2Q,aAAa,GAAGlP,aAAa,CAACzB,OAAD,CAAb,GAAyBqD,gBAAgB,CAACrD,OAAD,CAAzC,GAAqD,EAA3E;AAEA,SAAO;AACLI,IAAAA,GAAG,EAAEoQ,QAAQ,CAACG,aAAa,CAACC,cAAf,CADR;AAELvQ,IAAAA,KAAK,EAAEmQ,QAAQ,CAACG,aAAa,CAACE,gBAAf,CAFV;AAGLvQ,IAAAA,MAAM,EAAEkQ,QAAQ,CAACG,aAAa,CAACG,iBAAf,CAHX;AAILvQ,IAAAA,IAAI,EAAEiQ,QAAQ,CAACG,aAAa,CAACI,eAAf;AAJT,GAAP;AAMD;;ACVc,SAASC,cAAT,CAAwBhR,OAAxB,EAA0D;AACvE,MAAMiB,GAAG,GAAGP,SAAS,CAACV,OAAD,CAArB;AACA,MAAMiR,OAAO,GAAGP,UAAU,CAAC1Q,OAAD,CAA1B;AACA,MAAMkR,MAAM,GAAGrP,WAAW,CAAC7B,OAAD,CAAX,KAAyB,MAAxC;AACA,MAAMmR,aAAa,GAAGhP,mBAAmB,CAACnC,OAAD,CAAzC;AAEA,MAAMQ,CAAC,GAAGR,OAAO,CAAC+O,WAAR,GAAsBkC,OAAO,CAAC5Q,KAAxC;AACA,MAAII,CAAC,GAAGT,OAAO,CAAC8O,YAAR,GAAuBmC,OAAO,CAAC3Q,MAAvC,CAPuE;AAUvE;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAI4Q,MAAM,IAAIjQ,GAAG,CAACgP,WAAJ,GAAkBjQ,OAAO,CAAC8O,YAA1B,GAAyC,EAAvD,EAA2D;AACzDrO,IAAAA,CAAC,GAAGQ,GAAG,CAACgP,WAAJ,GAAkBgB,OAAO,CAAC3Q,MAA9B;AACD;;AAED,SAAO;AACLF,IAAAA,GAAG,EAAE8Q,MAAM,GAAG,CAAH,GAAOlR,OAAO,CAAC2C,SADrB;AAELtC,IAAAA,KAAK;AAEHL,IAAAA,OAAO,CAAC0C,UAAR,GAAqBuO,OAAO,CAAC1Q,IAA7B,GACI0Q,OAAO,CAAC5Q,KADZ;AAGE6Q,IAAAA,MAAM,GACJjQ,GAAG,CAAC+O,UAAJ,GAAiBxP,CAAjB,GAAqB2Q,aADjB,GAEJnR,OAAO,CAAC+C,WAAR,GAAsBvC,CATvB;AAULF,IAAAA,MAAM,EAAE4Q,MAAM,GAAGjQ,GAAG,CAACgP,WAAJ,GAAkBxP,CAArB,GAAyBT,OAAO,CAACgD,YAAR,GAAuBvC,CAVzD;AAWLF,IAAAA,IAAI,EAAE2Q,MAAM,GAAGC,aAAH,GAAmBnR,OAAO,CAAC0C;AAXlC,GAAP;AAaD;;ACzCc,SAAS0O,QAAT,CAAkBC,MAAlB,EAAmCC,KAAnC,EAAmD;AAChE;AACA,MAAMC,QAAQ,GAAGC,OAAO,CAACF,KAAK,CAACG,WAAN,IAAqBH,KAAK,CAACG,WAAN,GAAoBrO,IAA1C,CAAxB,CAFgE;;AAKhE,MAAIiO,MAAM,CAACD,QAAP,CAAgBE,KAAhB,CAAJ,EAA4B;AAC1B,WAAO,IAAP;AACD,GAFD;AAAA,OAIK,IAAIC,QAAJ,EAAc;AACjB,UAAIG,IAAI,GAAGJ,KAAX;;AACA,SAAG;AACD,YAAII,IAAI,IAAIL,MAAM,CAACM,UAAP,CAAkBD,IAAlB,CAAZ,EAAqC;AACnC,iBAAO,IAAP;AACD,SAHA;;;AAKDA,QAAAA,IAAI,GAAGA,IAAI,CAACvO,UAAL,IAAmBuO,IAAI,CAACtO,IAA/B;AACD,OAND,QAMSsO,IANT;AAOD,KAlB+D;;;AAqBhE,SAAO,KAAP;AACD;;ACpBc,SAASE,gBAAT,CAA0B3R,IAA1B,EAAwD;AACrE,2BACKA,IADL;AAEEM,IAAAA,IAAI,EAAEN,IAAI,CAACO,CAFb;AAGEJ,IAAAA,GAAG,EAAEH,IAAI,CAACQ,CAHZ;AAIEJ,IAAAA,KAAK,EAAEJ,IAAI,CAACO,CAAL,GAASP,IAAI,CAACC,KAJvB;AAKEI,IAAAA,MAAM,EAAEL,IAAI,CAACQ,CAAL,GAASR,IAAI,CAACE;AALxB;AAOD;;ACKD,SAAS0R,0BAAT,CACE7R,OADF,EAEE8R,cAFF,EAGoB;AAClB,SAAOA,cAAc,KAAKhN,QAAnB,GACH8M,gBAAgB,CAAC7B,eAAe,CAAC/P,OAAD,CAAhB,CADb,GAEHyB,aAAa,CAACqQ,cAAD,CAAb,GACA/R,qBAAqB,CAAC+R,cAAD,CADrB,GAEAF,gBAAgB,CAACxB,eAAe,CAACpO,kBAAkB,CAAChC,OAAD,CAAnB,CAAhB,CAJpB;AAKD;AAGD;AACA;;;AACA,SAAS+R,kBAAT,CAA4B/R,OAA5B,EAA8D;AAC5D,MAAM6E,eAAe,GAAGhB,iBAAiB,CAAC7D,OAAD,CAAzC;AACA,MAAMgS,iBAAiB,GACrB,CAAC,UAAD,EAAa,OAAb,EAAsBzO,OAAtB,CAA8BF,gBAAgB,CAACrD,OAAD,CAAhB,CAA0BuE,QAAxD,KAAqE,CADvE;AAEA,MAAM0N,cAAc,GAClBD,iBAAiB,IAAIvQ,aAAa,CAACzB,OAAD,CAAlC,GACIwE,eAAe,CAACxE,OAAD,CADnB,GAEIA,OAHN;;AAKA,MAAI,CAACsB,SAAS,CAAC2Q,cAAD,CAAd,EAAgC;AAC9B,WAAO,EAAP;AACD,GAX2D;;;AAc5D,SAAOpN,eAAe,CAACuC,MAAhB,CACL,UAAA0K,cAAc;AAAA,WACZxQ,SAAS,CAACwQ,cAAD,CAAT,IAA6BV,QAAQ,CAACU,cAAD,EAAiBG,cAAjB,CADzB;AAAA,GADT,CAAP;AAID;AAGD;;;AACA,SAAwBC,eAAT,CACblS,OADa,EAEbmS,QAFa,EAGbC,YAHa,EAIK;AAClB,MAAMC,mBAAmB,GACvBF,QAAQ,KAAK,iBAAb,GACIJ,kBAAkB,CAAC/R,OAAD,CADtB,GAEI,GAAGkE,MAAH,CAAUiO,QAAV,CAHN;AAIA,MAAMtN,eAAe,aAAOwN,mBAAP,GAA4BD,YAA5B,EAArB;AACA,MAAME,mBAAmB,GAAGzN,eAAe,CAAC,CAAD,CAA3C;AAEA,MAAM0N,YAAY,GAAG1N,eAAe,CAACoC,MAAhB,CAAuB,UAACuL,OAAD,EAAUV,cAAV,EAA6B;AACvE,QAAM7R,IAAI,GAAG4R,0BAA0B,CAAC7R,OAAD,EAAU8R,cAAV,CAAvC;AACA,QAAMW,WAAW,GAAGzB,cAAc,CAChCvP,aAAa,CAACqQ,cAAD,CAAb,GACIA,cADJ,GAEI9P,kBAAkB,CAAChC,OAAD,CAHU,CAAlC;AAMAwS,IAAAA,OAAO,CAACpS,GAAR,GAAcwN,IAAI,CAAC2C,GAAL,CAAStQ,IAAI,CAACG,GAAL,GAAWqS,WAAW,CAACrS,GAAhC,EAAqCoS,OAAO,CAACpS,GAA7C,CAAd;AACAoS,IAAAA,OAAO,CAACnS,KAAR,GAAgBuN,IAAI,CAAC8E,GAAL,CAASzS,IAAI,CAACI,KAAL,GAAaoS,WAAW,CAACpS,KAAlC,EAAyCmS,OAAO,CAACnS,KAAjD,CAAhB;AACAmS,IAAAA,OAAO,CAAClS,MAAR,GAAiBsN,IAAI,CAAC8E,GAAL,CAASzS,IAAI,CAACK,MAAL,GAAcmS,WAAW,CAACnS,MAAnC,EAA2CkS,OAAO,CAAClS,MAAnD,CAAjB;AACAkS,IAAAA,OAAO,CAACjS,IAAR,GAAeqN,IAAI,CAAC2C,GAAL,CAAStQ,IAAI,CAACM,IAAL,GAAYkS,WAAW,CAAClS,IAAjC,EAAuCiS,OAAO,CAACjS,IAA/C,CAAf;AAEA,WAAOiS,OAAP;AACD,GAdoB,EAclBX,0BAA0B,CAAC7R,OAAD,EAAUsS,mBAAV,CAdR,CAArB;AAgBAC,EAAAA,YAAY,CAACrS,KAAb,GAAqBqS,YAAY,CAAClS,KAAb,GAAqBkS,YAAY,CAAChS,IAAvD;AACAgS,EAAAA,YAAY,CAACpS,MAAb,GAAsBoS,YAAY,CAACjS,MAAb,GAAsBiS,YAAY,CAACnS,GAAzD;AACAmS,EAAAA,YAAY,CAAC/R,CAAb,GAAiB+R,YAAY,CAAChS,IAA9B;AACAgS,EAAAA,YAAY,CAAC9R,CAAb,GAAiB8R,YAAY,CAACnS,GAA9B;AAEA,SAAOmS,YAAP;AACD;;SCnFuBI,kBAAT,GAA0C;AACvD,SAAO;AACLvS,IAAAA,GAAG,EAAE,CADA;AAELC,IAAAA,KAAK,EAAE,CAFF;AAGLC,IAAAA,MAAM,EAAE,CAHH;AAILC,IAAAA,IAAI,EAAE;AAJD,GAAP;AAMD;;ACNc,SAASqS,kBAAT,CACbC,aADa,EAED;AACZ,2BACKF,kBAAkB,EADvB,MAEKE,aAFL;AAID;;ACTc,SAASC,eAAT,CAGbrD,KAHa,EAGHlH,IAHG,EAGmC;AAChD,SAAOA,IAAI,CAACtB,MAAL,CAAY,UAAC8L,OAAD,EAAUvK,GAAV,EAAkB;AACnCuK,IAAAA,OAAO,CAACvK,GAAD,CAAP,GAAeiH,KAAf;AACA,WAAOsD,OAAP;AACD,GAHM,EAGJ,EAHI,CAAP;AAID;;ACqBc,SAASC,cAAT,CACblI,KADa,EAEbb,OAFa,EAGD;AAAA,MADZA,OACY;AADZA,IAAAA,OACY,GADe,EACf;AAAA;;AAAA,iBAQRA,OARQ;AAAA,oCAEVN,SAFU;AAAA,MAEVA,SAFU,mCAEEmB,KAAK,CAACnB,SAFR;AAAA,mCAGVwI,QAHU;AAAA,MAGVA,QAHU,kCAGCtN,eAHD;AAAA,uCAIVuN,YAJU;AAAA,MAIVA,YAJU,sCAIKtN,QAJL;AAAA,uCAKVmO,cALU;AAAA,MAKVA,cALU,sCAKOlO,MALP;AAAA,sCAMVmO,WANU;AAAA,MAMVA,WANU,qCAMI,KANJ;AAAA,kCAOVC,OAPU;AAAA,MAOVA,OAPU,iCAOA,CAPA;AAUZ,MAAMN,aAAa,GAAGD,kBAAkB,CACtC,OAAOO,OAAP,KAAmB,QAAnB,GACIA,OADJ,GAEIL,eAAe,CAACK,OAAD,EAAUzO,cAAV,CAHmB,CAAxC;AAMA,MAAM0O,UAAU,GAAGH,cAAc,KAAKlO,MAAnB,GAA4BC,SAA5B,GAAwCD,MAA3D;AAEA,MAAMsO,gBAAgB,GAAGvI,KAAK,CAACE,QAAN,CAAehG,SAAxC;AACA,MAAMsJ,UAAU,GAAGxD,KAAK,CAACwB,KAAN,CAAYvH,MAA/B;AACA,MAAM/E,OAAO,GAAG8K,KAAK,CAACE,QAAN,CAAekI,WAAW,GAAGE,UAAH,GAAgBH,cAA1C,CAAhB;AAEA,MAAMK,kBAAkB,GAAGpB,eAAe,CACxC5Q,SAAS,CAACtB,OAAD,CAAT,GACIA,OADJ,GAEIA,OAAO,CAACyL,cAAR,IAA0BzJ,kBAAkB,CAAC8I,KAAK,CAACE,QAAN,CAAejG,MAAhB,CAHR,EAIxCoN,QAJwC,EAKxCC,YALwC,CAA1C;AAQA,MAAMmB,mBAAmB,GAAGxT,qBAAqB,CAACsT,gBAAD,CAAjD;AAEA,MAAMtF,aAAa,GAAGV,cAAc,CAAC;AACnCrI,IAAAA,SAAS,EAAEuO,mBADwB;AAEnCvT,IAAAA,OAAO,EAAEsO,UAF0B;AAGnChE,IAAAA,QAAQ,EAAE,UAHyB;AAInCX,IAAAA,SAAS,EAATA;AAJmC,GAAD,CAApC;AAOA,MAAM6J,gBAAgB,GAAG5B,gBAAgB,mBACpCtD,UADoC,MAEpCP,aAFoC,EAAzC;AAKA,MAAM0F,iBAAiB,GACrBR,cAAc,KAAKlO,MAAnB,GAA4ByO,gBAA5B,GAA+CD,mBADjD,CA5CY;AAgDZ;;AACA,MAAMG,eAAe,GAAG;AACtBtT,IAAAA,GAAG,EAAEkT,kBAAkB,CAAClT,GAAnB,GAAyBqT,iBAAiB,CAACrT,GAA3C,GAAiDyS,aAAa,CAACzS,GAD9C;AAEtBE,IAAAA,MAAM,EACJmT,iBAAiB,CAACnT,MAAlB,GACAgT,kBAAkB,CAAChT,MADnB,GAEAuS,aAAa,CAACvS,MALM;AAMtBC,IAAAA,IAAI,EAAE+S,kBAAkB,CAAC/S,IAAnB,GAA0BkT,iBAAiB,CAAClT,IAA5C,GAAmDsS,aAAa,CAACtS,IANjD;AAOtBF,IAAAA,KAAK,EACHoT,iBAAiB,CAACpT,KAAlB,GAA0BiT,kBAAkB,CAACjT,KAA7C,GAAqDwS,aAAa,CAACxS;AAR/C,GAAxB;AAWA,MAAMsT,UAAU,GAAG7I,KAAK,CAACC,aAAN,CAAoB6I,MAAvC,CA5DY;;AA+DZ,MAAIX,cAAc,KAAKlO,MAAnB,IAA6B4O,UAAjC,EAA6C;AAC3C,QAAMC,MAAM,GAAGD,UAAU,CAAChK,SAAD,CAAzB;AAEArB,IAAAA,MAAM,CAACC,IAAP,CAAYmL,eAAZ,EAA6BxN,OAA7B,CAAqC,UAAAsC,GAAG,EAAI;AAC1C,UAAMqL,QAAQ,GAAG,CAACxT,KAAD,EAAQC,MAAR,EAAgBiD,OAAhB,CAAwBiF,GAAxB,KAAgC,CAAhC,GAAoC,CAApC,GAAwC,CAAC,CAA1D;AACA,UAAMsL,IAAI,GAAG,CAAC1T,GAAD,EAAME,MAAN,EAAciD,OAAd,CAAsBiF,GAAtB,KAA8B,CAA9B,GAAkC,GAAlC,GAAwC,GAArD;AACAkL,MAAAA,eAAe,CAAClL,GAAD,CAAf,IAAwBoL,MAAM,CAACE,IAAD,CAAN,GAAeD,QAAvC;AACD,KAJD;AAKD;;AAED,SAAOH,eAAP;AACD;;IChGK/I,gBAAgB,GAAG,CACvBoJ,cADuB,EAEvBhG,eAFuB,EAGvBmB,eAHuB,EAIvBI,aAJuB,CAAzB;IAOMzE,YAAY,gBAAGJ,eAAe,CAAC;AAAEE,EAAAA,gBAAgB,EAAhBA;AAAF,CAAD,CAApC;;;;;"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js b/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js index 6c1dc717..a562bba5 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js @@ -1,5 +1,5 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ 'use strict'; @@ -149,12 +149,15 @@ function getParentNode(element) { return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } function getComputedStyle(element) { @@ -189,7 +192,8 @@ function listScrollParents(element, list) { var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); @@ -235,14 +239,10 @@ var clippingParents = 'clippingParents'; var viewport = 'viewport'; var popper = 'popper'; var reference = 'reference'; -var variationPlacements = -/*#__PURE__*/ -basePlacements.reduce(function (acc, placement) { +var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { return acc.concat([placement + "-" + start, placement + "-" + end]); }, []); -var placements = -/*#__PURE__*/ -[].concat(basePlacements, [auto]).reduce(function (acc, placement) { +var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { return acc.concat([placement, placement + "-" + start, placement + "-" + end]); }, []); // modifiers that need to read the DOM @@ -712,7 +712,8 @@ function effect(_ref) { window.removeEventListener('resize', instance.update, passive); } }; -} +} // eslint-disable-next-line import/no-unused-modules + var eventListeners = { name: 'eventListeners', @@ -809,7 +810,8 @@ function popperOffsets(_ref) { strategy: 'absolute', placement: state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + var popperOffsets$1 = { name: 'popperOffsets', @@ -905,8 +907,7 @@ function computeStyles(_ref3) { adaptive = _options$adaptive === void 0 ? true : _options$adaptive; if (process.env.NODE_ENV !== "production") { - var _getComputedStyle = getComputedStyle(state.elements.popper), - transitionProperty = _getComputedStyle.transitionProperty; + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ''; if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { return transitionProperty.indexOf(property) >= 0; @@ -920,13 +921,15 @@ function computeStyles(_ref3) { popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration - }; // popper offsets are always available + }; - state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive - }))); // arrow offsets may not be available + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive + }))); + } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { @@ -939,7 +942,8 @@ function computeStyles(_ref3) { state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + var computeStyles$1 = { name: 'computeStyles', @@ -982,7 +986,7 @@ function effect$1(_ref2) { var state = _ref2.state; var initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0' @@ -1022,7 +1026,8 @@ function effect$1(_ref2) { }); }); }; -} +} // eslint-disable-next-line import/no-unused-modules + var applyStyles$1 = { name: 'applyStyles', @@ -1067,10 +1072,15 @@ function offset(_ref2) { var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; -} +} // eslint-disable-next-line import/no-unused-modules + var offset$1 = { name: 'offset', @@ -1104,9 +1114,20 @@ function getOppositeVariationPlacement(placement) { function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; @@ -1318,6 +1339,9 @@ function detectOverflow(state, options) { return overflowOffsets; } +/*:: type OverflowsMap = { [ComputedPlacement]: number }; */ + +/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */ function computeAutoPlacement(state, options) { if (options === void 0) { options = {}; @@ -1328,13 +1352,17 @@ function computeAutoPlacement(state, options) { boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, - flipVariations = _options.flipVariations; + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; var variation = getVariation(placement); - var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + var placements$1 = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { return getVariation(placement) === variation; - }) : basePlacements; // $FlowFixMe: Flow seems to have problems with two array unions... + }) : basePlacements).filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); // $FlowFixMe: Flow seems to have problems with two array unions... - var overflows = placements.reduce(function (acc, placement) { + var overflows = placements$1.reduce(function (acc, placement) { acc[placement] = detectOverflow(state, { placement: placement, boundary: boundary, @@ -1372,7 +1400,8 @@ function flip(_ref) { rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio; + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; var preferredPlacement = state.options.placement; var basePlacement = getBasePlacement(preferredPlacement); var isBasePlacement = basePlacement === preferredPlacement; @@ -1383,7 +1412,8 @@ function flip(_ref) { boundary: boundary, rootBoundary: rootBoundary, padding: padding, - flipVariations: flipVariations + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements }) : placement); }, []); var referenceRect = state.rects.reference; @@ -1460,7 +1490,8 @@ function flip(_ref) { state.placement = firstFittingPlacement; state.reset = true; } -} +} // eslint-disable-next-line import/no-unused-modules + var flip$1 = { name: 'flip', @@ -1519,6 +1550,10 @@ function preventOverflow(_ref) { y: 0 }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { var mainSide = mainAxis === 'y' ? top : left; var altSide = mainAxis === 'y' ? bottom : right; @@ -1570,12 +1605,13 @@ function preventOverflow(_ref) { var _preventedOffset = within(_min, _offset, _max); - state.modifiersData.popperOffsets[altAxis] = _preventedOffset; + popperOffsets[altAxis] = _preventedOffset; data[altAxis] = _preventedOffset - _offset; } state.modifiersData[name] = data; -} +} // eslint-disable-next-line import/no-unused-modules + var preventOverflow$1 = { name: 'preventOverflow', @@ -1597,7 +1633,7 @@ function arrow(_ref) { var isVertical = [left, right].indexOf(basePlacement) >= 0; var len = isVertical ? 'height' : 'width'; - if (!arrowElement) { + if (!arrowElement || !popperOffsets) { return; } @@ -1628,7 +1664,12 @@ function effect$2(_ref2) { var _options$element = options.element, arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element, _options$padding = options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; // CSS selector + padding = _options$padding === void 0 ? 0 : _options$padding; + + if (arrowElement == null) { + return; + } // CSS selector + if (typeof arrowElement === 'string') { arrowElement = state.elements.popper.querySelector(arrowElement); @@ -1650,7 +1691,8 @@ function effect$2(_ref2) { state.modifiersData[name + "#persistent"] = { padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)) }; -} +} // eslint-disable-next-line import/no-unused-modules + var arrow$1 = { name: 'arrow', @@ -1710,7 +1752,8 @@ function hide(_ref) { 'data-popper-reference-hidden': isReferenceHidden, 'data-popper-escaped': hasPopperEscaped }); -} +} // eslint-disable-next-line import/no-unused-modules + var hide$1 = { name: 'hide', @@ -1721,9 +1764,7 @@ var hide$1 = { }; var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; -var createPopper = -/*#__PURE__*/ -popperGenerator({ +var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.flow b/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.flow index d64ddf9a..e745d927 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.flow +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.flow @@ -1,3 +1,3 @@ // @flow -export * from '../../src/popper.js' +export * from '../../lib/popper.js' diff --git a/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.map b/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.map index 23428bd3..e546f005 100644 --- a/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/cjs/popper.js.map @@ -1 +1 @@ -{"version":3,"file":"popper.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/modifiers/offset.js","../../src/utils/getOppositePlacement.js","../../src/utils/getOppositeVariationPlacement.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/utils/computeAutoPlacement.js","../../src/modifiers/flip.js","../../src/utils/getAltAxis.js","../../src/utils/within.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/arrow.js","../../src/modifiers/hide.js","../../src/popper.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: Modifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: Modifier<{||}>);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: Offsets,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const { transitionProperty } = getComputedStyle(state.elements.popper);\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n // popper offsets are always available\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n\n // arrow offsets may not be available\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: Modifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: 'absolute',\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: Modifier<{||}>);\n","// @flow\nimport type { Placement } from '../enums';\nimport type { ModifierArguments, Modifier, Rect, Offsets } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport { top, left, right, placements } from '../enums';\n\ntype OffsetsFunction = ({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n}) => [?number, ?number];\n\ntype Offset = OffsetsFunction | [?number, ?number];\n\ntype Options = {\n offset: Offset,\n};\n\nexport function distanceAndSkiddingToXY(\n placement: Placement,\n rects: { popper: Rect, reference: Rect },\n offset: Offset\n): Offsets {\n const basePlacement = getBasePlacement(placement);\n const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n let [skidding, distance] =\n typeof offset === 'function'\n ? offset({\n ...rects,\n placement,\n })\n : offset;\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n\n return [left, right].indexOf(basePlacement) >= 0\n ? { x: distance, y: skidding }\n : { x: skidding, y: distance };\n}\n\nfunction offset({ state, options, name }: ModifierArguments) {\n const { offset = [0, 0] } = options;\n\n const data = placements.reduce((acc, placement) => {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n\n const { x, y } = data[state.placement];\n\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n\n state.modifiersData[name] = data;\n}\n\nexport default ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset,\n}: Modifier);\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\nexport default function getOppositePlacement(placement: Placement): Placement {\n return (placement.replace(\n /left|right|bottom|top/g,\n matched => hash[matched]\n ): any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { start: 'end', end: 'start' };\n\nexport default function getOppositeVariationPlacement(\n placement: Placement\n): Placement {\n return (placement.replace(/start|end/g, matched => hash[matched]): any);\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { State, Padding } from '../types';\nimport type {\n Placement,\n BasePlacement,\n VariationPlacement,\n Boundary,\n RootBoundary,\n ComputedPlacement,\n} from '../enums';\nimport getVariation from './getVariation';\nimport { variationPlacements, basePlacements } from '../enums';\nimport detectOverflow from './detectOverflow';\nimport getBasePlacement from './getBasePlacement';\n\ntype Options = {\n placement: Placement,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n flipVariations: boolean,\n};\n\ntype OverflowsMap = {\n [BasePlacement | VariationPlacement]: number,\n};\n\nexport default function computeAutoPlacement(\n state: $Shape,\n options: Options = {}\n): Array {\n const {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n } = options;\n\n const variation = getVariation(placement);\n\n const placements = variation\n ? flipVariations\n ? variationPlacements\n : variationPlacements.filter(\n placement => getVariation(placement) === variation\n )\n : basePlacements;\n\n // $FlowFixMe: Flow seems to have problems with two array unions...\n const overflows: OverflowsMap = placements.reduce((acc, placement) => {\n acc[placement] = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n })[getBasePlacement(placement)];\n\n return acc;\n }, {});\n\n return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]);\n}\n","// @flow\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { ModifierArguments, Modifier, Padding } from '../types';\nimport getOppositePlacement from '../utils/getOppositePlacement';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement';\nimport detectOverflow from '../utils/detectOverflow';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\nimport { bottom, top, start, right, left, auto } from '../enums';\nimport getVariation from '../utils/getVariation';\n\ntype Options = {\n fallbackPlacements: Array,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n altBoundary: boolean,\n flipVariations: boolean,\n};\n\nfunction getExpandedFallbackPlacements(placement: Placement): Array {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeVariationPlacement(placement),\n oppositePlacement,\n getOppositeVariationPlacement(oppositePlacement),\n ];\n}\n\nfunction flip({ state, options, name }: ModifierArguments) {\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n const {\n fallbackPlacements: specifiedFallbackPlacements,\n padding,\n boundary,\n rootBoundary,\n altBoundary,\n flipVariations = true,\n } = options;\n\n const preferredPlacement = state.options.placement;\n const basePlacement = getBasePlacement(preferredPlacement);\n const isBasePlacement = basePlacement === preferredPlacement;\n\n const fallbackPlacements =\n specifiedFallbackPlacements ||\n (isBasePlacement || !flipVariations\n ? [getOppositePlacement(preferredPlacement)]\n : getExpandedFallbackPlacements(preferredPlacement));\n\n const placements = [preferredPlacement, ...fallbackPlacements].reduce(\n (acc, placement) => {\n return acc.concat(\n getBasePlacement(placement) === auto\n ? computeAutoPlacement(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n })\n : placement\n );\n },\n []\n );\n\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n\n const checksMap = new Map();\n let makeFallbackChecks = true;\n let firstFittingPlacement = placements[0];\n\n for (let i = 0; i < placements.length; i++) {\n const placement = placements[i];\n const basePlacement = getBasePlacement(placement);\n const isStartVariation = getVariation(placement) === start;\n const isVertical = [top, bottom].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'width' : 'height';\n\n const overflow = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n });\n\n let mainVariationSide: any = isVertical\n ? isStartVariation\n ? right\n : left\n : isStartVariation\n ? bottom\n : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n const altVariationSide: any = getOppositePlacement(mainVariationSide);\n\n const checks = [\n overflow[basePlacement] <= 0,\n overflow[mainVariationSide] <= 0,\n overflow[altVariationSide] <= 0,\n ];\n\n if (checks.every(check => check)) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n const numberOfChecks = flipVariations ? 3 : 1;\n\n for (let i = numberOfChecks; i > 0; i--) {\n const fittingPlacement = placements.find(placement => {\n const checks = checksMap.get(placement);\n if (checks) {\n return checks.slice(0, i).every(check => check);\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n break;\n }\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n}\n\nexport default ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: { _skip: false },\n}: Modifier);\n","// @flow\n\nexport default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {\n return axis === 'x' ? 'y' : 'x';\n}\n","// @flow\n\nexport default function within(\n min: number,\n value: number,\n max: number\n): number {\n return Math.max(min, Math.min(value, max));\n}\n","// @flow\nimport { top, left, right, bottom, start } from '../enums';\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { Rect, ModifierArguments, Modifier, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport getAltAxis from '../utils/getAltAxis';\nimport within from '../utils/within';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport detectOverflow from '../utils/detectOverflow';\nimport getVariation from '../utils/getVariation';\nimport getFreshSideObject from '../utils/getFreshSideObject';\n\ntype TetherOffset =\n | (({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n }) => number)\n | number;\n\ntype Options = {\n /* Prevents boundaries overflow on the main axis */\n mainAxis: boolean,\n /* Prevents boundaries overflow on the alternate axis */\n altAxis: boolean,\n /* The area to check the popper is overflowing in */\n boundary: Boundary,\n /* If the popper is not overflowing the main area, fallback to this one */\n rootBoundary: RootBoundary,\n /* Use the reference's \"clippingParents\" boundary context */\n altBoundary: boolean,\n /**\n * Allows the popper to overflow from its boundaries to keep it near its\n * reference element\n */\n tether: boolean,\n /* Offsets when the `tether` option should activate */\n tetherOffset: TetherOffset,\n /* Sets a padding to the provided boundary */\n padding: Padding,\n};\n\nfunction preventOverflow({ state, options, name }: ModifierArguments) {\n const {\n mainAxis: checkMainAxis = true,\n altAxis: checkAltAxis = false,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n tether = true,\n tetherOffset = 0,\n } = options;\n\n const overflow = detectOverflow(state, {\n boundary,\n rootBoundary,\n padding,\n altBoundary,\n });\n const basePlacement = getBasePlacement(state.placement);\n const variation = getVariation(state.placement);\n const isBasePlacement = !variation;\n const mainAxis = getMainAxisFromPlacement(basePlacement);\n const altAxis = getAltAxis(mainAxis);\n const popperOffsets = state.modifiersData.popperOffsets;\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const tetherOffsetValue =\n typeof tetherOffset === 'function'\n ? tetherOffset({\n ...state.rects,\n placement: state.placement,\n })\n : tetherOffset;\n\n const data = { x: 0, y: 0 };\n\n if (checkMainAxis) {\n const mainSide = mainAxis === 'y' ? top : left;\n const altSide = mainAxis === 'y' ? bottom : right;\n const len = mainAxis === 'y' ? 'height' : 'width';\n const offset = popperOffsets[mainAxis];\n\n const min = popperOffsets[mainAxis] + overflow[mainSide];\n const max = popperOffsets[mainAxis] - overflow[altSide];\n\n const additive = tether ? -popperRect[len] / 2 : 0;\n\n const minLen = variation === start ? referenceRect[len] : popperRect[len];\n const maxLen = variation === start ? -popperRect[len] : -referenceRect[len];\n\n // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n const arrowElement = state.elements.arrow;\n const arrowRect =\n tether && arrowElement\n ? getLayoutRect(arrowElement)\n : { width: 0, height: 0 };\n const arrowPaddingObject = state.modifiersData['arrow#persistent']\n ? state.modifiersData['arrow#persistent'].padding\n : getFreshSideObject();\n const arrowPaddingMin = arrowPaddingObject[mainSide];\n const arrowPaddingMax = arrowPaddingObject[altSide];\n\n // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n const arrowLen = within(0, referenceRect[len], arrowRect[len]);\n\n const minOffset = isBasePlacement\n ? referenceRect[len] / 2 -\n additive -\n arrowLen -\n arrowPaddingMin -\n tetherOffsetValue\n : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n const maxOffset = isBasePlacement\n ? -referenceRect[len] / 2 +\n additive +\n arrowLen +\n arrowPaddingMax +\n tetherOffsetValue\n : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientOffset = arrowOffsetParent\n ? mainAxis === 'y'\n ? arrowOffsetParent.clientTop || 0\n : arrowOffsetParent.clientLeft || 0\n : 0;\n\n const offsetModifierValue = state.modifiersData.offset\n ? state.modifiersData.offset[state.placement][mainAxis]\n : 0;\n\n const tetherMin =\n popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n const preventedOffset = within(\n tether ? Math.min(min, tetherMin) : min,\n offset,\n tether ? Math.max(max, tetherMax) : max\n );\n\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n const mainSide = mainAxis === 'x' ? top : left;\n const altSide = mainAxis === 'x' ? bottom : right;\n const offset = popperOffsets[altAxis];\n\n const min = offset + overflow[mainSide];\n const max = offset - overflow[altSide];\n\n const preventedOffset = within(min, offset, max);\n\n state.modifiersData.popperOffsets[altAxis] = preventedOffset;\n data[altAxis] = preventedOffset - offset;\n }\n\n state.modifiersData[name] = data;\n}\n\nexport default ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset'],\n}: Modifier);\n","// @flow\nimport type { Modifier, ModifierArguments, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport contains from '../dom-utils/contains';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport within from '../utils/within';\nimport mergePaddingObject from '../utils/mergePaddingObject';\nimport expandToHashMap from '../utils/expandToHashMap';\nimport { left, right, basePlacements, top, bottom } from '../enums';\n\ntype Options = {\n element: HTMLElement | string,\n padding: Padding,\n};\n\nfunction arrow({ state, name }: ModifierArguments) {\n const arrowElement = state.elements.arrow;\n const popperOffsets = state.modifiersData.popperOffsets;\n const basePlacement = getBasePlacement(state.placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const isVertical = [left, right].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'height' : 'width';\n\n if (!arrowElement) {\n return;\n }\n\n const paddingObject = state.modifiersData[`${name}#persistent`].padding;\n const arrowRect = getLayoutRect(arrowElement);\n const minProp = axis === 'y' ? top : left;\n const maxProp = axis === 'y' ? bottom : right;\n\n const endDiff =\n state.rects.reference[len] +\n state.rects.reference[axis] -\n popperOffsets[axis] -\n state.rects.popper[len];\n const startDiff = popperOffsets[axis] - state.rects.reference[axis];\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientSize = arrowOffsetParent\n ? axis === 'y'\n ? arrowOffsetParent.clientHeight || 0\n : arrowOffsetParent.clientWidth || 0\n : 0;\n\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n const min = paddingObject[minProp];\n const max = clientSize - arrowRect[len] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n const offset = within(min, center, max);\n\n // Prevents breaking syntax highlighting...\n const axisProp: string = axis;\n state.modifiersData[name] = {\n [axisProp]: offset,\n centerOffset: offset - center,\n };\n}\n\nfunction effect({ state, options, name }: ModifierArguments) {\n let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options;\n\n // CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (__DEV__) {\n console.error(\n [\n 'Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\n 'element.',\n ].join(' ')\n );\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[`${name}#persistent`] = {\n padding: mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n ),\n };\n}\n\nexport default ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow'],\n}: Modifier);\n","// @flow\nimport type {\n ModifierArguments,\n Modifier,\n Rect,\n Options,\n SideObject,\n Offsets,\n} from '../types';\nimport { top, bottom, left, right } from '../enums';\nimport detectOverflow from '../utils/detectOverflow';\n\nfunction getSideOffsets(\n overflow: SideObject,\n rect: Rect,\n preventedOffsets: Offsets = { x: 0, y: 0 }\n): SideObject {\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x,\n };\n}\n\nfunction isAnySideFullyClipped(overflow: SideObject): boolean {\n return [top, right, bottom, left].some(side => overflow[side] >= 0);\n}\n\nfunction hide({ state, name }: ModifierArguments) {\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const preventedOffsets = state.modifiersData.preventOverflow;\n\n const referenceOverflow = detectOverflow(state, {\n elementContext: 'reference',\n });\n const popperAltOverflow = detectOverflow(state, {\n altBoundary: true,\n });\n\n const referenceClippingOffsets = getSideOffsets(\n referenceOverflow,\n referenceRect\n );\n const popperEscapeOffsets = getSideOffsets(\n popperAltOverflow,\n popperRect,\n preventedOffsets\n );\n\n const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n\n state.modifiersData[name] = {\n referenceClippingOffsets,\n popperEscapeOffsets,\n isReferenceHidden,\n hasPopperEscaped,\n };\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped,\n };\n}\n\nexport default ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide,\n}: Modifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\nimport offset from './modifiers/offset';\nimport flip from './modifiers/flip';\nimport preventOverflow from './modifiers/preventOverflow';\nimport arrow from './modifiers/arrow';\nimport hide from './modifiers/hide';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n offset,\n flip,\n preventOverflow,\n arrow,\n hide,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","updatedList","concat","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","distanceAndSkiddingToXY","offset","invertDistance","skidding","distance","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getViewportRect","innerWidth","innerHeight","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","computeAutoPlacement","flipVariations","overflows","a","b","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","specifiedFallbackPlacements","fallbackPlacements","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","numberOfChecks","fittingPlacement","slice","getAltAxis","within","preventOverflow","checkMainAxis","altAxis","checkAltAxis","tether","tetherOffset","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/modifiers/offset.js","../../src/utils/getOppositePlacement.js","../../src/utils/getOppositeVariationPlacement.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/utils/computeAutoPlacement.js","../../src/modifiers/flip.js","../../src/utils/getAltAxis.js","../../src/utils/within.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/arrow.js","../../src/modifiers/hide.js","../../src/popper.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type EventListenersModifier = Modifier<'eventListeners', Options>;\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: EventListenersModifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: PopperOffsetsModifier);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: $Shape<{ x: number, y: number, centerOffset: number }>,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const transitionProperty =\n getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ComputeStylesModifier = Modifier<'computeStyles', Options>;\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: ComputeStylesModifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ApplyStylesModifier = Modifier<'applyStyles', {||}>;\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: ApplyStylesModifier);\n","// @flow\nimport type { Placement } from '../enums';\nimport type { ModifierArguments, Modifier, Rect, Offsets } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport { top, left, right, placements } from '../enums';\n\ntype OffsetsFunction = ({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n}) => [?number, ?number];\n\ntype Offset = OffsetsFunction | [?number, ?number];\n\ntype Options = {\n offset: Offset,\n};\n\nexport function distanceAndSkiddingToXY(\n placement: Placement,\n rects: { popper: Rect, reference: Rect },\n offset: Offset\n): Offsets {\n const basePlacement = getBasePlacement(placement);\n const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n let [skidding, distance] =\n typeof offset === 'function'\n ? offset({\n ...rects,\n placement,\n })\n : offset;\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n\n return [left, right].indexOf(basePlacement) >= 0\n ? { x: distance, y: skidding }\n : { x: skidding, y: distance };\n}\n\nfunction offset({ state, options, name }: ModifierArguments) {\n const { offset = [0, 0] } = options;\n\n const data = placements.reduce((acc, placement) => {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n\n const { x, y } = data[state.placement];\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type OffsetModifier = Modifier<'offset', Options>;\nexport default ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset,\n}: OffsetModifier);\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\nexport default function getOppositePlacement(placement: Placement): Placement {\n return (placement.replace(\n /left|right|bottom|top/g,\n matched => hash[matched]\n ): any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { start: 'end', end: 'start' };\n\nexport default function getOppositeVariationPlacement(\n placement: Placement\n): Placement {\n return (placement.replace(/start|end/g, matched => hash[matched]): any);\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { State, Padding } from '../types';\nimport type {\n Placement,\n ComputedPlacement,\n Boundary,\n RootBoundary,\n} from '../enums';\nimport getVariation from './getVariation';\nimport {\n variationPlacements,\n basePlacements,\n placements as allPlacements,\n} from '../enums';\nimport detectOverflow from './detectOverflow';\nimport getBasePlacement from './getBasePlacement';\n\ntype Options = {\n placement: Placement,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n flipVariations: boolean,\n allowedAutoPlacements?: Array,\n};\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\n\nexport default function computeAutoPlacement(\n state: $Shape,\n options: Options = {}\n): Array {\n const {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n allowedAutoPlacements = allPlacements,\n } = options;\n\n const variation = getVariation(placement);\n\n const placements = (variation\n ? flipVariations\n ? variationPlacements\n : variationPlacements.filter(\n placement => getVariation(placement) === variation\n )\n : basePlacements\n ).filter(placement => allowedAutoPlacements.indexOf(placement) >= 0);\n\n // $FlowFixMe: Flow seems to have problems with two array unions...\n const overflows: OverflowsMap = placements.reduce((acc, placement) => {\n acc[placement] = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n })[getBasePlacement(placement)];\n\n return acc;\n }, {});\n\n return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]);\n}\n","// @flow\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { ModifierArguments, Modifier, Padding } from '../types';\nimport getOppositePlacement from '../utils/getOppositePlacement';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement';\nimport detectOverflow from '../utils/detectOverflow';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\nimport { bottom, top, start, right, left, auto } from '../enums';\nimport getVariation from '../utils/getVariation';\n\ntype Options = {\n fallbackPlacements: Array,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n altBoundary: boolean,\n flipVariations: boolean,\n allowedAutoPlacements: Array,\n};\n\nfunction getExpandedFallbackPlacements(placement: Placement): Array {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeVariationPlacement(placement),\n oppositePlacement,\n getOppositeVariationPlacement(oppositePlacement),\n ];\n}\n\nfunction flip({ state, options, name }: ModifierArguments) {\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n const {\n fallbackPlacements: specifiedFallbackPlacements,\n padding,\n boundary,\n rootBoundary,\n altBoundary,\n flipVariations = true,\n allowedAutoPlacements,\n } = options;\n\n const preferredPlacement = state.options.placement;\n const basePlacement = getBasePlacement(preferredPlacement);\n const isBasePlacement = basePlacement === preferredPlacement;\n\n const fallbackPlacements =\n specifiedFallbackPlacements ||\n (isBasePlacement || !flipVariations\n ? [getOppositePlacement(preferredPlacement)]\n : getExpandedFallbackPlacements(preferredPlacement));\n\n const placements = [preferredPlacement, ...fallbackPlacements].reduce(\n (acc, placement) => {\n return acc.concat(\n getBasePlacement(placement) === auto\n ? computeAutoPlacement(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n allowedAutoPlacements,\n })\n : placement\n );\n },\n []\n );\n\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n\n const checksMap = new Map();\n let makeFallbackChecks = true;\n let firstFittingPlacement = placements[0];\n\n for (let i = 0; i < placements.length; i++) {\n const placement = placements[i];\n const basePlacement = getBasePlacement(placement);\n const isStartVariation = getVariation(placement) === start;\n const isVertical = [top, bottom].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'width' : 'height';\n\n const overflow = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n });\n\n let mainVariationSide: any = isVertical\n ? isStartVariation\n ? right\n : left\n : isStartVariation\n ? bottom\n : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n const altVariationSide: any = getOppositePlacement(mainVariationSide);\n\n const checks = [\n overflow[basePlacement] <= 0,\n overflow[mainVariationSide] <= 0,\n overflow[altVariationSide] <= 0,\n ];\n\n if (checks.every(check => check)) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n const numberOfChecks = flipVariations ? 3 : 1;\n\n for (let i = numberOfChecks; i > 0; i--) {\n const fittingPlacement = placements.find(placement => {\n const checks = checksMap.get(placement);\n if (checks) {\n return checks.slice(0, i).every(check => check);\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n break;\n }\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type FlipModifier = Modifier<'flip', Options>;\nexport default ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: { _skip: false },\n}: FlipModifier);\n","// @flow\n\nexport default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {\n return axis === 'x' ? 'y' : 'x';\n}\n","// @flow\n\nexport default function within(\n min: number,\n value: number,\n max: number\n): number {\n return Math.max(min, Math.min(value, max));\n}\n","// @flow\nimport { top, left, right, bottom, start } from '../enums';\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { Rect, ModifierArguments, Modifier, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport getAltAxis from '../utils/getAltAxis';\nimport within from '../utils/within';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport detectOverflow from '../utils/detectOverflow';\nimport getVariation from '../utils/getVariation';\nimport getFreshSideObject from '../utils/getFreshSideObject';\n\ntype TetherOffset =\n | (({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n }) => number)\n | number;\n\ntype Options = {\n /* Prevents boundaries overflow on the main axis */\n mainAxis: boolean,\n /* Prevents boundaries overflow on the alternate axis */\n altAxis: boolean,\n /* The area to check the popper is overflowing in */\n boundary: Boundary,\n /* If the popper is not overflowing the main area, fallback to this one */\n rootBoundary: RootBoundary,\n /* Use the reference's \"clippingParents\" boundary context */\n altBoundary: boolean,\n /**\n * Allows the popper to overflow from its boundaries to keep it near its\n * reference element\n */\n tether: boolean,\n /* Offsets when the `tether` option should activate */\n tetherOffset: TetherOffset,\n /* Sets a padding to the provided boundary */\n padding: Padding,\n};\n\nfunction preventOverflow({ state, options, name }: ModifierArguments) {\n const {\n mainAxis: checkMainAxis = true,\n altAxis: checkAltAxis = false,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n tether = true,\n tetherOffset = 0,\n } = options;\n\n const overflow = detectOverflow(state, {\n boundary,\n rootBoundary,\n padding,\n altBoundary,\n });\n const basePlacement = getBasePlacement(state.placement);\n const variation = getVariation(state.placement);\n const isBasePlacement = !variation;\n const mainAxis = getMainAxisFromPlacement(basePlacement);\n const altAxis = getAltAxis(mainAxis);\n const popperOffsets = state.modifiersData.popperOffsets;\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const tetherOffsetValue =\n typeof tetherOffset === 'function'\n ? tetherOffset({\n ...state.rects,\n placement: state.placement,\n })\n : tetherOffset;\n\n const data = { x: 0, y: 0 };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n const mainSide = mainAxis === 'y' ? top : left;\n const altSide = mainAxis === 'y' ? bottom : right;\n const len = mainAxis === 'y' ? 'height' : 'width';\n const offset = popperOffsets[mainAxis];\n\n const min = popperOffsets[mainAxis] + overflow[mainSide];\n const max = popperOffsets[mainAxis] - overflow[altSide];\n\n const additive = tether ? -popperRect[len] / 2 : 0;\n\n const minLen = variation === start ? referenceRect[len] : popperRect[len];\n const maxLen = variation === start ? -popperRect[len] : -referenceRect[len];\n\n // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n const arrowElement = state.elements.arrow;\n const arrowRect =\n tether && arrowElement\n ? getLayoutRect(arrowElement)\n : { width: 0, height: 0 };\n const arrowPaddingObject = state.modifiersData['arrow#persistent']\n ? state.modifiersData['arrow#persistent'].padding\n : getFreshSideObject();\n const arrowPaddingMin = arrowPaddingObject[mainSide];\n const arrowPaddingMax = arrowPaddingObject[altSide];\n\n // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n const arrowLen = within(0, referenceRect[len], arrowRect[len]);\n\n const minOffset = isBasePlacement\n ? referenceRect[len] / 2 -\n additive -\n arrowLen -\n arrowPaddingMin -\n tetherOffsetValue\n : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n const maxOffset = isBasePlacement\n ? -referenceRect[len] / 2 +\n additive +\n arrowLen +\n arrowPaddingMax +\n tetherOffsetValue\n : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientOffset = arrowOffsetParent\n ? mainAxis === 'y'\n ? arrowOffsetParent.clientTop || 0\n : arrowOffsetParent.clientLeft || 0\n : 0;\n\n const offsetModifierValue = state.modifiersData.offset\n ? state.modifiersData.offset[state.placement][mainAxis]\n : 0;\n\n const tetherMin =\n popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n const preventedOffset = within(\n tether ? Math.min(min, tetherMin) : min,\n offset,\n tether ? Math.max(max, tetherMax) : max\n );\n\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n const mainSide = mainAxis === 'x' ? top : left;\n const altSide = mainAxis === 'x' ? bottom : right;\n const offset = popperOffsets[altAxis];\n\n const min = offset + overflow[mainSide];\n const max = offset - overflow[altSide];\n\n const preventedOffset = within(min, offset, max);\n\n popperOffsets[altAxis] = preventedOffset;\n data[altAxis] = preventedOffset - offset;\n }\n\n state.modifiersData[name] = data;\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PreventOverflowModifier = Modifier<'preventOverflow', Options>;\nexport default ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset'],\n}: PreventOverflowModifier);\n","// @flow\nimport type { Modifier, ModifierArguments, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport contains from '../dom-utils/contains';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport within from '../utils/within';\nimport mergePaddingObject from '../utils/mergePaddingObject';\nimport expandToHashMap from '../utils/expandToHashMap';\nimport { left, right, basePlacements, top, bottom } from '../enums';\n\ntype Options = {\n element: HTMLElement | string | null,\n padding: Padding,\n};\n\nfunction arrow({ state, name }: ModifierArguments) {\n const arrowElement = state.elements.arrow;\n const popperOffsets = state.modifiersData.popperOffsets;\n const basePlacement = getBasePlacement(state.placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const isVertical = [left, right].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n const paddingObject = state.modifiersData[`${name}#persistent`].padding;\n const arrowRect = getLayoutRect(arrowElement);\n const minProp = axis === 'y' ? top : left;\n const maxProp = axis === 'y' ? bottom : right;\n\n const endDiff =\n state.rects.reference[len] +\n state.rects.reference[axis] -\n popperOffsets[axis] -\n state.rects.popper[len];\n const startDiff = popperOffsets[axis] - state.rects.reference[axis];\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientSize = arrowOffsetParent\n ? axis === 'y'\n ? arrowOffsetParent.clientHeight || 0\n : arrowOffsetParent.clientWidth || 0\n : 0;\n\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n const min = paddingObject[minProp];\n const max = clientSize - arrowRect[len] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n const offset = within(min, center, max);\n\n // Prevents breaking syntax highlighting...\n const axisProp: string = axis;\n state.modifiersData[name] = {\n [axisProp]: offset,\n centerOffset: offset - center,\n };\n}\n\nfunction effect({ state, options, name }: ModifierArguments) {\n let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options;\n\n if (arrowElement == null) {\n return;\n }\n\n // CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (__DEV__) {\n console.error(\n [\n 'Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\n 'element.',\n ].join(' ')\n );\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[`${name}#persistent`] = {\n padding: mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n ),\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ArrowModifier = Modifier<'arrow', Options>;\nexport default ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow'],\n}: ArrowModifier);\n","// @flow\nimport type {\n ModifierArguments,\n Modifier,\n Rect,\n SideObject,\n Offsets,\n} from '../types';\nimport { top, bottom, left, right } from '../enums';\nimport detectOverflow from '../utils/detectOverflow';\n\nfunction getSideOffsets(\n overflow: SideObject,\n rect: Rect,\n preventedOffsets: Offsets = { x: 0, y: 0 }\n): SideObject {\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x,\n };\n}\n\nfunction isAnySideFullyClipped(overflow: SideObject): boolean {\n return [top, right, bottom, left].some(side => overflow[side] >= 0);\n}\n\nfunction hide({ state, name }: ModifierArguments<{||}>) {\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const preventedOffsets = state.modifiersData.preventOverflow;\n\n const referenceOverflow = detectOverflow(state, {\n elementContext: 'reference',\n });\n const popperAltOverflow = detectOverflow(state, {\n altBoundary: true,\n });\n\n const referenceClippingOffsets = getSideOffsets(\n referenceOverflow,\n referenceRect\n );\n const popperEscapeOffsets = getSideOffsets(\n popperAltOverflow,\n popperRect,\n preventedOffsets\n );\n\n const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n\n state.modifiersData[name] = {\n referenceClippingOffsets,\n popperEscapeOffsets,\n isReferenceHidden,\n hasPopperEscaped,\n };\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type HideModifier = Modifier<'hide', {||}>;\nexport default ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide,\n}: HideModifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\nimport offset from './modifiers/offset';\nimport flip from './modifiers/flip';\nimport preventOverflow from './modifiers/preventOverflow';\nimport arrow from './modifiers/arrow';\nimport hide from './modifiers/hide';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n offset,\n flip,\n preventOverflow,\n arrow,\n hide,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","distanceAndSkiddingToXY","offset","invertDistance","skidding","distance","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getViewportRect","innerWidth","innerHeight","navigator","platform","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","computeAutoPlacement","flipVariations","allowedAutoPlacements","allPlacements","overflows","a","b","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","specifiedFallbackPlacements","fallbackPlacements","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","numberOfChecks","fittingPlacement","slice","getAltAxis","within","preventOverflow","checkMainAxis","altAxis","checkAltAxis","tether","tetherOffset","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getParentNode.js b/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getParentNode.js index 432b3c7d..f924027b 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getParentNode.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getParentNode.js @@ -1,13 +1,17 @@ import getNodeName from "./getNodeName.js"; +import getDocumentElement from "./getDocumentElement.js"; export default function getParentNode(element) { if (getNodeName(element) === 'html') { return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js b/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js index 7939fdde..c7e9772e 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js @@ -1,9 +1,20 @@ import getWindow from "./getWindow.js"; export default function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/listScrollParents.js b/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/listScrollParents.js index b0d256b5..20efea8f 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/listScrollParents.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/dom-utils/listScrollParents.js @@ -9,7 +9,8 @@ export default function listScrollParents(element, list) { var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/enums.js b/conf/site/node_modules/@popperjs/core/dist/esm/enums.js index b976bc3c..e3714f51 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/enums.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/enums.js @@ -10,14 +10,10 @@ export var clippingParents = 'clippingParents'; export var viewport = 'viewport'; export var popper = 'popper'; export var reference = 'reference'; -export var variationPlacements = -/*#__PURE__*/ -basePlacements.reduce(function (acc, placement) { +export var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { return acc.concat([placement + "-" + start, placement + "-" + end]); }, []); -export var placements = -/*#__PURE__*/ -[].concat(basePlacements, [auto]).reduce(function (acc, placement) { +export var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { return acc.concat([placement, placement + "-" + start, placement + "-" + end]); }, []); // modifiers that need to read the DOM diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/index.js b/conf/site/node_modules/@popperjs/core/dist/esm/index.js index 965d908b..f5c08187 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/index.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/index.js @@ -253,6 +253,4 @@ export function popperGenerator(generatorOptions) { return instance; }; } -export var createPopper = -/*#__PURE__*/ -popperGenerator(); \ No newline at end of file +export var createPopper = /*#__PURE__*/popperGenerator(); \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/applyStyles.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/applyStyles.js index 69328b31..123573a7 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/applyStyles.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/applyStyles.js @@ -33,7 +33,7 @@ function effect(_ref2) { var state = _ref2.state; var initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0' @@ -73,7 +73,8 @@ function effect(_ref2) { }); }); }; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'applyStyles', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/arrow.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/arrow.js index 457dadc6..483aba8e 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/arrow.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/arrow.js @@ -20,7 +20,7 @@ function arrow(_ref) { var isVertical = [left, right].indexOf(basePlacement) >= 0; var len = isVertical ? 'height' : 'width'; - if (!arrowElement) { + if (!arrowElement || !popperOffsets) { return; } @@ -51,7 +51,12 @@ function effect(_ref2) { var _options$element = options.element, arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element, _options$padding = options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; // CSS selector + padding = _options$padding === void 0 ? 0 : _options$padding; + + if (arrowElement == null) { + return; + } // CSS selector + if (typeof arrowElement === 'string') { arrowElement = state.elements.popper.querySelector(arrowElement); @@ -73,7 +78,8 @@ function effect(_ref2) { state.modifiersData[name + "#persistent"] = { padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)) }; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'arrow', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/computeStyles.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/computeStyles.js index 794e8334..b6c91c53 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/computeStyles.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/computeStyles.js @@ -90,8 +90,7 @@ function computeStyles(_ref3) { adaptive = _options$adaptive === void 0 ? true : _options$adaptive; if (false) { - var _getComputedStyle = getComputedStyle(state.elements.popper), - transitionProperty = _getComputedStyle.transitionProperty; + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ''; if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { return transitionProperty.indexOf(property) >= 0; @@ -105,13 +104,15 @@ function computeStyles(_ref3) { popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration - }; // popper offsets are always available + }; - state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive - }))); // arrow offsets may not be available + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive + }))); + } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { @@ -124,7 +125,8 @@ function computeStyles(_ref3) { state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'computeStyles', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/eventListeners.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/eventListeners.js index 00425a1e..124b20f8 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/eventListeners.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/eventListeners.js @@ -35,7 +35,8 @@ function effect(_ref) { window.removeEventListener('resize', instance.update, passive); } }; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'eventListeners', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/flip.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/flip.js index ce199603..1c0df755 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/flip.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/flip.js @@ -30,7 +30,8 @@ function flip(_ref) { rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio; + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; var preferredPlacement = state.options.placement; var basePlacement = getBasePlacement(preferredPlacement); var isBasePlacement = basePlacement === preferredPlacement; @@ -41,7 +42,8 @@ function flip(_ref) { boundary: boundary, rootBoundary: rootBoundary, padding: padding, - flipVariations: flipVariations + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements }) : placement); }, []); var referenceRect = state.rects.reference; @@ -118,7 +120,8 @@ function flip(_ref) { state.placement = firstFittingPlacement; state.reset = true; } -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'flip', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/hide.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/hide.js index 9685bfaa..799c4a78 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/hide.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/hide.js @@ -49,7 +49,8 @@ function hide(_ref) { 'data-popper-reference-hidden': isReferenceHidden, 'data-popper-escaped': hasPopperEscaped }); -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'hide', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/offset.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/offset.js index 3c9e6d72..4dc7f9c1 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/offset.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/offset.js @@ -34,10 +34,15 @@ function offset(_ref2) { var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'offset', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/popperOffsets.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/popperOffsets.js index b3b8a9b0..5440ab78 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/popperOffsets.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/popperOffsets.js @@ -13,7 +13,8 @@ function popperOffsets(_ref) { strategy: 'absolute', placement: state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'popperOffsets', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/preventOverflow.js b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/preventOverflow.js index a671b3f7..d05fa298 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/preventOverflow.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/modifiers/preventOverflow.js @@ -47,6 +47,10 @@ function preventOverflow(_ref) { y: 0 }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { var mainSide = mainAxis === 'y' ? top : left; var altSide = mainAxis === 'y' ? bottom : right; @@ -98,12 +102,13 @@ function preventOverflow(_ref) { var _preventedOffset = within(_min, _offset, _max); - state.modifiersData.popperOffsets[altAxis] = _preventedOffset; + popperOffsets[altAxis] = _preventedOffset; data[altAxis] = _preventedOffset - _offset; } state.modifiersData[name] = data; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'preventOverflow', diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/popper-lite.js b/conf/site/node_modules/@popperjs/core/dist/esm/popper-lite.js index 6938e8ce..1072c711 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/popper-lite.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/popper-lite.js @@ -5,9 +5,7 @@ import computeStyles from "./modifiers/computeStyles.js"; import applyStyles from "./modifiers/applyStyles.js"; import detectOverflow from "./utils/detectOverflow.js"; var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles]; -var createPopper = -/*#__PURE__*/ -popperGenerator({ +var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/popper.js b/conf/site/node_modules/@popperjs/core/dist/esm/popper.js index 7ac1d29f..1bc31873 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/popper.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/popper.js @@ -10,9 +10,7 @@ import arrow from "./modifiers/arrow.js"; import hide from "./modifiers/hide.js"; import detectOverflow from "./utils/detectOverflow.js"; var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide]; -var createPopper = -/*#__PURE__*/ -popperGenerator({ +var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js b/conf/site/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js index 421fe764..4cea04d4 100644 --- a/conf/site/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js +++ b/conf/site/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js @@ -1,7 +1,11 @@ import getVariation from "./getVariation.js"; -import { variationPlacements, basePlacements } from "../enums.js"; +import { variationPlacements, basePlacements, placements as allPlacements } from "../enums.js"; import detectOverflow from "./detectOverflow.js"; import getBasePlacement from "./getBasePlacement.js"; + +/*:: type OverflowsMap = { [ComputedPlacement]: number }; */ + +/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */ export default function computeAutoPlacement(state, options) { if (options === void 0) { options = {}; @@ -12,11 +16,15 @@ export default function computeAutoPlacement(state, options) { boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, - flipVariations = _options.flipVariations; + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP; var variation = getVariation(placement); - var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + var placements = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { return getVariation(placement) === variation; - }) : basePlacements; // $FlowFixMe: Flow seems to have problems with two array unions... + }) : basePlacements).filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); // $FlowFixMe: Flow seems to have problems with two array unions... var overflows = placements.reduce(function (acc, placement) { acc[placement] = detectOverflow(state, { diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js index e547f45e..ecd957bc 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js @@ -1,5 +1,5 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ (function (global, factory) { @@ -151,12 +151,15 @@ return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } function getComputedStyle(element) { @@ -191,7 +194,8 @@ var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); @@ -667,15 +671,24 @@ return instance; }; } - var createPopper = - /*#__PURE__*/ - popperGenerator(); + var createPopper = /*#__PURE__*/popperGenerator(); function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js.map b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js.map index 40b4041e..6fa7eb16 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.js.map @@ -1 +1 @@ -{"version":3,"file":"popper-base.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","updatedList","concat","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","getViewportRect","innerWidth","innerHeight","getDocumentRect","winScroll","documentRect","Math","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","clientWidth","clientHeight","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","floor","ceil","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","value","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","popperRect","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper-base.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","getViewportRect","innerWidth","innerHeight","navigator","platform","getDocumentRect","winScroll","documentRect","Math","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","clientWidth","clientHeight","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","floor","ceil","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","value","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","popperRect","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js index a8980780..74c38fdf 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js @@ -1,6 +1,6 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ -"use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).Popper={})}(this,(function(t){function e(t){return{width:(t=t.getBoundingClientRect()).width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function o(t){return"[object Window]"!==t.toString()?(t=t.ownerDocument)?t.defaultView:window:t}function n(t){return{scrollLeft:(t=o(t)).pageXOffset,scrollTop:t.pageYOffset}}function r(t){return t instanceof o(t).Element||t instanceof Element}function i(t){return t instanceof o(t).HTMLElement||t instanceof HTMLElement}function f(t){return t?(t.nodeName||"").toLowerCase():null}function a(t){return(r(t)?t.ownerDocument:t.document).documentElement}function c(t){return e(a(t)).left+n(t).scrollLeft}function s(t,r,s){void 0===s&&(s=!1),t=e(t);var u={scrollLeft:0,scrollTop:0},d={x:0,y:0};return s||("body"!==f(r)&&(u=r!==o(r)&&i(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:n(r)),i(r)?((d=e(r)).x+=r.clientLeft,d.y+=r.clientTop):(r=a(r))&&(d.x=c(r))),{x:t.left+u.scrollLeft-d.x,y:t.top+u.scrollTop-d.y,width:t.width,height:t.height}}function u(t){return"html"===f(t)?t:t.parentNode||t.host||document.ownerDocument||document.documentElement}function d(t){return o(t).getComputedStyle(t)}function l(t,e){void 0===e&&(e=[]);var n=function t(e){if(0<=["html","body","#document"].indexOf(f(e)))return e.ownerDocument.body;if(i(e)){var o=d(e);if(/auto|scroll|overlay|hidden/.test(o.overflow+o.overflowY+o.overflowX))return e}return t(u(e))}(t);return n=(t="body"===f(n))?o(n):n,e=e.concat(n),t?e:e.concat(l(u(n)))}function p(t){return i(t)&&"fixed"!==d(t).position?t.offsetParent:null}function h(t){var e=o(t);for(t=p(t);t&&0<=["table","td","th"].indexOf(f(t));)t=p(t);return t&&"body"===f(t)&&"static"===d(t).position?e:t||e}function m(t){var e=new Map,o=new Set,n=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){o.has(t.name)||function t(r){o.add(r.name),[].concat(r.requires||[],r.requiresIfExists||[]).forEach((function(n){o.has(n)||(n=e.get(n))&&t(n)})),n.push(r)}(t)})),n}function g(t){var e;return function(){return e||(e=new Promise((function(o){Promise.resolve().then((function(){e=void 0,o(t())}))}))),e}}function b(){for(var t=arguments.length,e=Array(t),o=0;oh?l:u?s.innerWidth-g-m:n.offsetWidth-g,s=u?s.innerHeight-b:n.offsetHeight-b,n=u?m:n.clientLeft,e.top=Math.max(r.top+p,e.top),e.right=Math.min(r.right-l,e.right),e.bottom=Math.min(r.bottom-s,e.bottom),e.left=Math.max(r.left+n,e.left),e}),x(t,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}var O=["top","bottom","right","left"],M="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),E={placement:"bottom",modifiers:[],strategy:"absolute"},L=v();t.createPopper=L,t.detectOverflow=function(t,o){void 0===o&&(o={});var n=o;o=void 0===(o=n.placement)?t.placement:o;var i=n.boundary,f=void 0===i?"clippingParents":i,c=void 0===(i=n.rootBoundary)?"viewport":i;i=void 0===(i=n.elementContext)?"popper":i;var s=n.altBoundary,u=void 0!==s&&s;n=void 0===(n=n.padding)?0:n,n=Object.assign({},{top:0,right:0,bottom:0,left:0},{},"number"!=typeof n?n:function(t,e){return e.reduce((function(e,o){return e[o]=t,e}),{})}(n,O));var d=t.elements.reference;s=t.rects.popper,f=w(r(u=t.elements[u?"popper"===i?"reference":"popper":i])?u:u.contextElement||a(t.elements.popper),f,c),u=function(t){var e=t.reference,o=t.element,n=(t=t.placement)?t.split("-")[0]:null;t=t?t.split("-")[1]:null;var r=e.x+e.width/2-o.width/2,i=e.y+e.height/2-o.height/2;switch(n){case"top":r={x:r,y:e.y-o.height};break;case"bottom":r={x:r,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:i};break;case"left":r={x:e.x-o.width,y:i};break;default:r={x:e.x,y:e.y}}if(null!=(n=n?0<=["top","bottom"].indexOf(n)?"x":"y":null))switch(i="y"===n?"height":"width",t){case"start":r[n]=Math.floor(r[n])-Math.floor(e[i]/2-o[i]/2);break;case"end":r[n]=Math.floor(r[n])+Math.ceil(e[i]/2-o[i]/2)}return r}({reference:c=e(d),element:s,strategy:"absolute",placement:o}),s=y(Object.assign({},s,{},u)),c="popper"===i?s:c;var l={top:f.top-c.top+n.top,bottom:c.bottom-f.bottom+n.bottom,left:f.left-c.left+n.left,right:c.right-f.right+n.right};if(t=t.modifiersData.offset,"popper"===i&&t){var p=t[o];Object.keys(l).forEach((function(t){var e=0<=["right","bottom"].indexOf(t)?1:-1,o=0<=["top","bottom"].indexOf(t)?"y":"x";l[t]+=p[o]*e}))}return l},t.popperGenerator=v,Object.defineProperty(t,"__esModule",{value:!0})})); +"use strict";!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).Popper={})}(this,(function(t){function e(t){return{width:(t=t.getBoundingClientRect()).width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function o(t){return"[object Window]"!==t.toString()?(t=t.ownerDocument)?t.defaultView:window:t}function n(t){return{scrollLeft:(t=o(t)).pageXOffset,scrollTop:t.pageYOffset}}function r(t){return t instanceof o(t).Element||t instanceof Element}function i(t){return t instanceof o(t).HTMLElement||t instanceof HTMLElement}function f(t){return t?(t.nodeName||"").toLowerCase():null}function a(t){return(r(t)?t.ownerDocument:t.document).documentElement}function c(t){return e(a(t)).left+n(t).scrollLeft}function s(t,r,s){void 0===s&&(s=!1),t=e(t);var u={scrollLeft:0,scrollTop:0},d={x:0,y:0};return s||("body"!==f(r)&&(u=r!==o(r)&&i(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:n(r)),i(r)?((d=e(r)).x+=r.clientLeft,d.y+=r.clientTop):(r=a(r))&&(d.x=c(r))),{x:t.left+u.scrollLeft-d.x,y:t.top+u.scrollTop-d.y,width:t.width,height:t.height}}function u(t){return"html"===f(t)?t:t.assignedSlot||t.parentNode||t.host||a(t)}function d(t){return o(t).getComputedStyle(t)}function l(t,e){void 0===e&&(e=[]);var n=function t(e){if(0<=["html","body","#document"].indexOf(f(e)))return e.ownerDocument.body;if(i(e)){var o=d(e);if(/auto|scroll|overlay|hidden/.test(o.overflow+o.overflowY+o.overflowX))return e}return t(u(e))}(t);t="body"===f(n);var r=o(n);return n=t?[r].concat(r.visualViewport||[]):n,e=e.concat(n),t?e:e.concat(l(u(n)))}function p(t){return i(t)&&"fixed"!==d(t).position?t.offsetParent:null}function h(t){var e=o(t);for(t=p(t);t&&0<=["table","td","th"].indexOf(f(t));)t=p(t);return t&&"body"===f(t)&&"static"===d(t).position?e:t||e}function m(t){var e=new Map,o=new Set,n=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){o.has(t.name)||function t(r){o.add(r.name),[].concat(r.requires||[],r.requiresIfExists||[]).forEach((function(n){o.has(n)||(n=e.get(n))&&t(n)})),n.push(r)}(t)})),n}function g(t){var e;return function(){return e||(e=new Promise((function(o){Promise.resolve().then((function(){e=void 0,o(t())}))}))),e}}function v(){for(var t=arguments.length,e=Array(t),o=0;oh?l:u?s.innerWidth-g-m:n.offsetWidth-g,s=u?s.innerHeight-v:n.offsetHeight-v,n=u?m:n.clientLeft,e.top=Math.max(r.top+p,e.top),e.right=Math.min(r.right-l,e.right),e.bottom=Math.min(r.bottom-s,e.bottom),e.left=Math.max(r.left+n,e.left),e}),x(t,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}var O=["top","bottom","right","left"],M="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),E={placement:"bottom",modifiers:[],strategy:"absolute"},L=b();t.createPopper=L,t.detectOverflow=function(t,o){void 0===o&&(o={});var n=o;o=void 0===(o=n.placement)?t.placement:o;var i=n.boundary,f=void 0===i?"clippingParents":i,c=void 0===(i=n.rootBoundary)?"viewport":i;i=void 0===(i=n.elementContext)?"popper":i;var s=n.altBoundary,u=void 0!==s&&s;n=void 0===(n=n.padding)?0:n,n=Object.assign({},{top:0,right:0,bottom:0,left:0},{},"number"!=typeof n?n:function(t,e){return e.reduce((function(e,o){return e[o]=t,e}),{})}(n,O));var d=t.elements.reference;s=t.rects.popper,f=w(r(u=t.elements[u?"popper"===i?"reference":"popper":i])?u:u.contextElement||a(t.elements.popper),f,c),u=function(t){var e=t.reference,o=t.element,n=(t=t.placement)?t.split("-")[0]:null;t=t?t.split("-")[1]:null;var r=e.x+e.width/2-o.width/2,i=e.y+e.height/2-o.height/2;switch(n){case"top":r={x:r,y:e.y-o.height};break;case"bottom":r={x:r,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:i};break;case"left":r={x:e.x-o.width,y:i};break;default:r={x:e.x,y:e.y}}if(null!=(n=n?0<=["top","bottom"].indexOf(n)?"x":"y":null))switch(i="y"===n?"height":"width",t){case"start":r[n]=Math.floor(r[n])-Math.floor(e[i]/2-o[i]/2);break;case"end":r[n]=Math.floor(r[n])+Math.ceil(e[i]/2-o[i]/2)}return r}({reference:c=e(d),element:s,strategy:"absolute",placement:o}),s=y(Object.assign({},s,{},u)),c="popper"===i?s:c;var l={top:f.top-c.top+n.top,bottom:c.bottom-f.bottom+n.bottom,left:f.left-c.left+n.left,right:c.right-f.right+n.right};if(t=t.modifiersData.offset,"popper"===i&&t){var p=t[o];Object.keys(l).forEach((function(t){var e=0<=["right","bottom"].indexOf(t)?1:-1,o=0<=["top","bottom"].indexOf(t)?"y":"x";l[t]+=p[o]*e}))}return l},t.popperGenerator=b,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=popper-base.min.js.map diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.flow b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.flow index 3e709f04..22d88ebd 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.flow +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.flow @@ -1,3 +1,3 @@ // @flow -export * from '../../src/popper-base.js' +export * from '../../lib/popper-base.js' diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.map b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.map index 6a8a6ff2..13a4dbb3 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-base.min.js.map @@ -1 +1 @@ -{"version":3,"file":"popper-base.min.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/getOffsetParent.js","../../src/dom-utils/isTableElement.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/index.js","../../src/utils/mergeByName.js","../../src/dom-utils/getLayoutRect.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/enums.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/contains.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/getBorders.js","../../src/utils/detectOverflow.js","../../src/utils/getFreshSideObject.js","../../src/utils/expandToHashMap.js","../../src/utils/computeOffsets.js","../../src/utils/getBasePlacement.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n"],"names":["getBoundingClientRect","element","width","rect","height","top","right","bottom","left","x","y","getWindow","node","ownerDocument","window","getWindowScroll","scrollLeft","win","scrollTop","isElement","isHTMLElement","getNodeName","getDocumentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","documentElement","getParentNode","document","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","isBody","target","updatedList","getTrueOffsetParent","getOffsetParent","order","modifiers","map","Map","visited","Set","result","modifier","dep","depModifier","sort","debounce","fn","pending","Promise","resolve","undefined","areValidElements","args","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","DEFAULT_OPTIONS","reference","popper","options","effectCleanupFns","state","placement","orderedModifiers","modifiersData","elements","attributes","styles","isDestroyed","instance","setOptions","cleanupModifierEffects","orderModifiers","acc","phase","mergeByName","merged","current","existing","data","key","m","name","cleanupFn","effect","noopFn","forceUpdate","index","update","destroy","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","Math","documentRect","winScroll","getClippingRect","boundary","rootBoundary","mainClippingParents","getClippingParents","clippingParents","clipperElement","a","isShadow","contains","next","accRect","computedStyle","parseFloat","winScrollBarX","borders","isHTML","decorations","clippingRect","basePlacements","modifierPhases","strategy","createPopper","detectOverflow","altBoundary","padding","expandToHashMap","value","keys","hashMap","referenceElement","elementContext","computeOffsets","basePlacement","commonX","commonY","mainAxis","len","variation","start","end","popperRect","popperOffsets","popperClientRect","referenceClientRect","overflowOffsets","clippingClientRect","elementClientRect","paddingObject","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper-base.min.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/getOffsetParent.js","../../src/dom-utils/isTableElement.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/index.js","../../src/utils/mergeByName.js","../../src/dom-utils/getLayoutRect.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/enums.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/contains.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/getBorders.js","../../src/utils/detectOverflow.js","../../src/utils/getFreshSideObject.js","../../src/utils/expandToHashMap.js","../../src/utils/computeOffsets.js","../../src/utils/getBasePlacement.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n"],"names":["getBoundingClientRect","element","width","rect","height","top","right","bottom","left","x","y","getWindow","node","ownerDocument","window","getWindowScroll","scrollLeft","win","scrollTop","isElement","isHTMLElement","getNodeName","getDocumentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","documentElement","getParentNode","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","isBody","target","updatedList","getTrueOffsetParent","getOffsetParent","order","modifiers","map","Map","visited","Set","result","modifier","dep","depModifier","sort","debounce","fn","pending","Promise","resolve","undefined","areValidElements","args","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","DEFAULT_OPTIONS","reference","popper","options","effectCleanupFns","state","placement","orderedModifiers","modifiersData","elements","attributes","styles","isDestroyed","instance","setOptions","cleanupModifierEffects","orderModifiers","acc","phase","mergeByName","merged","current","existing","data","key","m","name","cleanupFn","effect","noopFn","forceUpdate","index","update","destroy","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","navigator","visualViewport","winScroll","documentRect","Math","getClippingRect","boundary","rootBoundary","mainClippingParents","getClippingParents","clippingParents","clipperElement","a","isShadow","contains","next","accRect","computedStyle","parseFloat","winScrollBarX","borders","isHTML","decorations","clippingRect","basePlacements","modifierPhases","strategy","createPopper","detectOverflow","altBoundary","padding","expandToHashMap","value","keys","hashMap","referenceElement","elementContext","computeOffsets","basePlacement","commonX","commonY","mainAxis","len","variation","start","end","popperRect","popperOffsets","popperClientRect","referenceClientRect","overflowOffsets","clippingClientRect","elementClientRect","paddingObject","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js index 648ac1c8..0f4e17e9 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js @@ -1,5 +1,5 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ (function (global, factory) { @@ -151,12 +151,15 @@ return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } function getComputedStyle(element) { @@ -191,7 +194,8 @@ var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); @@ -704,7 +708,8 @@ window.removeEventListener('resize', instance.update, passive); } }; - } + } // eslint-disable-next-line import/no-unused-modules + var eventListeners = { name: 'eventListeners', @@ -801,7 +806,8 @@ strategy: 'absolute', placement: state.placement }); - } + } // eslint-disable-next-line import/no-unused-modules + var popperOffsets$1 = { name: 'popperOffsets', @@ -897,8 +903,7 @@ adaptive = _options$adaptive === void 0 ? true : _options$adaptive; { - var _getComputedStyle = getComputedStyle(state.elements.popper), - transitionProperty = _getComputedStyle.transitionProperty; + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ''; if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { return transitionProperty.indexOf(property) >= 0; @@ -912,13 +917,15 @@ popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration - }; // popper offsets are always available + }; - state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive - }))); // arrow offsets may not be available + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive + }))); + } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { @@ -931,7 +938,8 @@ state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); - } + } // eslint-disable-next-line import/no-unused-modules + var computeStyles$1 = { name: 'computeStyles', @@ -974,7 +982,7 @@ var state = _ref2.state; var initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0' @@ -1014,7 +1022,8 @@ }); }); }; - } + } // eslint-disable-next-line import/no-unused-modules + var applyStyles$1 = { name: 'applyStyles', @@ -1027,9 +1036,20 @@ function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; @@ -1242,9 +1262,7 @@ } var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; - var createPopper = - /*#__PURE__*/ - popperGenerator({ + var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js.map b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js.map index 6b9ce964..6b3edab8 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.js.map @@ -1 +1 @@ -{"version":3,"file":"popper-lite.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/popper-lite.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: Modifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: Modifier<{||}>);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: Offsets,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const { transitionProperty } = getComputedStyle(state.elements.popper);\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n // popper offsets are always available\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n\n // arrow offsets may not be available\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: Modifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: 'absolute',\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: Modifier<{||}>);\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","updatedList","concat","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","getViewportRect","innerWidth","innerHeight","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","eventListeners"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper-lite.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/popper-lite.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type EventListenersModifier = Modifier<'eventListeners', Options>;\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: EventListenersModifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: PopperOffsetsModifier);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: $Shape<{ x: number, y: number, centerOffset: number }>,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const transitionProperty =\n getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ComputeStylesModifier = Modifier<'computeStyles', Options>;\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: ComputeStylesModifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ApplyStylesModifier = Modifier<'applyStyles', {||}>;\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: ApplyStylesModifier);\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","reduce","acc","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","placement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","getViewportRect","innerWidth","innerHeight","navigator","platform","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","eventListeners"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js index 0262ba35..3421366f 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js @@ -1,6 +1,6 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ -"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function n(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)?e.defaultView:window:e}function o(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function r(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return(r(e)?e.ownerDocument:e.document).documentElement}function f(e){return t(s(e)).left+o(e).scrollLeft}function c(e,r,c){void 0===c&&(c=!1),e=t(e);var p={scrollLeft:0,scrollTop:0},l={x:0,y:0};return c||("body"!==a(r)&&(p=r!==n(r)&&i(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:o(r)),i(r)?((l=t(r)).x+=r.clientLeft,l.y+=r.clientTop):(r=s(r))&&(l.x=f(r))),{x:e.left+p.scrollLeft-l.x,y:e.top+p.scrollTop-l.y,width:e.width,height:e.height}}function p(e){return"html"===a(e)?e:e.parentNode||e.host||document.ownerDocument||document.documentElement}function l(e){return n(e).getComputedStyle(e)}function u(e,t){void 0===t&&(t=[]);var o=function e(t){if(0<=["html","body","#document"].indexOf(a(t)))return t.ownerDocument.body;if(i(t)){var n=l(t);if(/auto|scroll|overlay|hidden/.test(n.overflow+n.overflowY+n.overflowX))return t}return e(p(t))}(e);return o=(e="body"===a(o))?n(o):o,t=t.concat(o),e?t:t.concat(u(p(o)))}function d(e){return i(e)&&"fixed"!==l(e).position?e.offsetParent:null}function h(e){var t=n(e);for(e=d(e);e&&0<=["table","td","th"].indexOf(a(e));)e=d(e);return e&&"body"===a(e)&&"static"===l(e).position?t:e||t}function m(e){var t=new Map,n=new Set,o=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(r){n.add(r.name),[].concat(r.requires||[],r.requiresIfExists||[]).forEach((function(o){n.has(o)||(o=t.get(o))&&e(o)})),o.push(r)}(e)})),o}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function g(){for(var e=arguments.length,t=Array(e),n=0;n(g.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign({},o,((t={})[b]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function x(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function O(e,r){if("viewport"===r)e=x({width:(e=n(e)).innerWidth,height:e.innerHeight,x:0,y:0});else if(i(r))e=t(r);else{var a=s(e);e=n(a),r=o(a),(a=c(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-r.scrollLeft,a.y=-r.scrollTop,e=x(a)}return e}function j(e,t,o){return t="clippingParents"===t?function(e){var t=u(e),n=0<=["absolute","fixed"].indexOf(l(e).position)&&i(e)?h(e):e;return r(n)?t.filter((function(e){var t;if(t=r(e))e:if(t=!(!n.getRootNode||!n.getRootNode().host),e.contains(n))t=!0;else{if(t){t=n;do{if(t&&e.isSameNode(t)){t=!0;break e}t=t.parentNode||t.host}while(t)}t=!1}return t})):[]}(e):[].concat(t),(o=(o=[].concat(t,[o])).reduce((function(t,o){var r=O(e,o),c=n(o=i(o)?o:s(e)),p=i(o)?l(o):{};parseFloat(p.borderTopWidth);var u=parseFloat(p.borderRightWidth)||0,d=parseFloat(p.borderBottomWidth)||0,h=parseFloat(p.borderLeftWidth)||0;p="html"===a(o);var m=f(o),b=o.clientWidth+u,g=o.clientHeight+d;return p&&50h?u:p?c.innerWidth-b-m:o.offsetWidth-b,c=p?c.innerHeight-g:o.offsetHeight-g,o=p?m:o.clientLeft,t.top=Math.max(r.top+d,t.top),t.right=Math.min(r.right-u,t.right),t.bottom=Math.min(r.bottom-c,t.bottom),t.left=Math.max(r.left+o,t.left),t}),O(e,o[0]))).width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}var E=["top","bottom","right","left"],M="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),L={placement:"bottom",modifiers:[],strategy:"absolute"},P={passive:!0},W={top:"auto",right:"auto",bottom:"auto",left:"auto"},k=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,o=e.instance,r=(e=e.options).scroll,i=void 0===r||r,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",o.update,P)})),a&&s.addEventListener("resize",o.update,P),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",o.update,P)})),a&&s.removeEventListener("resize",o.update,P)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=y({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e,n=void 0===(n=n.adaptive)||n,e={placement:t.placement.split("-")[0],popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},t.styles.popper=Object.assign({},t.styles.popper,{},w(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n}))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},w(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},r=t.elements[e];i(r)&&a(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:"absolute",left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],r=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(o)&&a(o)&&(Object.assign(o.style,e),Object.keys(r).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]}],H=v({defaultModifiers:k});e.createPopper=H,e.defaultModifiers=k,e.detectOverflow=function(e,n){void 0===n&&(n={});var o=n;n=void 0===(n=o.placement)?e.placement:n;var i=o.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=o.rootBoundary)?"viewport":i;i=void 0===(i=o.elementContext)?"popper":i;var c=o.altBoundary,p=void 0!==c&&c;o=void 0===(o=o.padding)?0:o,o=Object.assign({},{top:0,right:0,bottom:0,left:0},{},"number"!=typeof o?o:function(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}(o,E));var l=e.elements.reference;c=e.rects.popper,a=j(r(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=y({reference:f=t(l),element:c,strategy:"absolute",placement:n}),c=x(Object.assign({},c,{},p)),f="popper"===i?c:f;var u={top:a.top-f.top+o.top,bottom:f.bottom-a.bottom+o.bottom,left:a.left-f.left+o.left,right:f.right-a.right+o.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[n];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[n]*t}))}return u},e.popperGenerator=v,Object.defineProperty(e,"__esModule",{value:!0})})); +"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function o(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)?e.defaultView:window:e}function n(e){return{scrollLeft:(e=o(e)).pageXOffset,scrollTop:e.pageYOffset}}function r(e){return e instanceof o(e).Element||e instanceof Element}function i(e){return e instanceof o(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return(r(e)?e.ownerDocument:e.document).documentElement}function f(e){return t(s(e)).left+n(e).scrollLeft}function c(e,r,c){void 0===c&&(c=!1),e=t(e);var p={scrollLeft:0,scrollTop:0},l={x:0,y:0};return c||("body"!==a(r)&&(p=r!==o(r)&&i(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:n(r)),i(r)?((l=t(r)).x+=r.clientLeft,l.y+=r.clientTop):(r=s(r))&&(l.x=f(r))),{x:e.left+p.scrollLeft-l.x,y:e.top+p.scrollTop-l.y,width:e.width,height:e.height}}function p(e){return"html"===a(e)?e:e.assignedSlot||e.parentNode||e.host||s(e)}function l(e){return o(e).getComputedStyle(e)}function u(e,t){void 0===t&&(t=[]);var n=function e(t){if(0<=["html","body","#document"].indexOf(a(t)))return t.ownerDocument.body;if(i(t)){var o=l(t);if(/auto|scroll|overlay|hidden/.test(o.overflow+o.overflowY+o.overflowX))return t}return e(p(t))}(e);e="body"===a(n);var r=o(n);return n=e?[r].concat(r.visualViewport||[]):n,t=t.concat(n),e?t:t.concat(u(p(n)))}function d(e){return i(e)&&"fixed"!==l(e).position?e.offsetParent:null}function h(e){var t=o(e);for(e=d(e);e&&0<=["table","td","th"].indexOf(a(e));)e=d(e);return e&&"body"===a(e)&&"static"===l(e).position?t:e||t}function m(e){var t=new Map,o=new Set,n=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){o.has(e.name)||function e(r){o.add(r.name),[].concat(r.requires||[],r.requiresIfExists||[]).forEach((function(n){o.has(n)||(n=t.get(n))&&e(n)})),n.push(r)}(e)})),n}function g(e){var t;return function(){return t||(t=new Promise((function(o){Promise.resolve().then((function(){t=void 0,o(e())}))}))),t}}function b(){for(var e=arguments.length,t=Array(e),o=0;o(b.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign({},n,((t={})[g]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function x(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function O(e,r){if("viewport"===r){var a=o(e);e=a.visualViewport,r=a.innerWidth,a=a.innerHeight,e&&/iPhone|iPod|iPad/.test(navigator.platform)&&(r=e.width,a=e.height),e=x({width:r,height:a,x:0,y:0})}else i(r)?e=t(r):(e=o(a=s(e)),r=n(a),(a=c(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-r.scrollLeft,a.y=-r.scrollTop,e=x(a));return e}function j(e,t,n){return t="clippingParents"===t?function(e){var t=u(e),o=0<=["absolute","fixed"].indexOf(l(e).position)&&i(e)?h(e):e;return r(o)?t.filter((function(e){var t;if(t=r(e))e:if(t=!(!o.getRootNode||!o.getRootNode().host),e.contains(o))t=!0;else{if(t){t=o;do{if(t&&e.isSameNode(t)){t=!0;break e}t=t.parentNode||t.host}while(t)}t=!1}return t})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){var r=O(e,n),c=o(n=i(n)?n:s(e)),p=i(n)?l(n):{};parseFloat(p.borderTopWidth);var u=parseFloat(p.borderRightWidth)||0,d=parseFloat(p.borderBottomWidth)||0,h=parseFloat(p.borderLeftWidth)||0;p="html"===a(n);var m=f(n),g=n.clientWidth+u,b=n.clientHeight+d;return p&&50h?u:p?c.innerWidth-g-m:n.offsetWidth-g,c=p?c.innerHeight-b:n.offsetHeight-b,n=p?m:n.clientLeft,t.top=Math.max(r.top+d,t.top),t.right=Math.min(r.right-u,t.right),t.bottom=Math.min(r.bottom-c,t.bottom),t.left=Math.max(r.left+n,t.left),t}),O(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}var M=["top","bottom","right","left"],E="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),L={placement:"bottom",modifiers:[],strategy:"absolute"},P={passive:!0},W={top:"auto",right:"auto",bottom:"auto",left:"auto"},k=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=(e=e.options).scroll,i=void 0===r||r,a=void 0===(e=e.resize)||e,s=o(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",n.update,P)})),a&&s.addEventListener("resize",n.update,P),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",n.update,P)})),a&&s.removeEventListener("resize",n.update,P)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=y({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,o=e.options;e=void 0===(e=o.gpuAcceleration)||e,o=void 0===(o=o.adaptive)||o,e={placement:t.placement.split("-")[0],popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,{},w(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},w(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var o=t.styles[e]||{},n=t.attributes[e]||{},r=t.elements[e];i(r)&&a(r)&&(Object.assign(r.style,o),Object.keys(n).forEach((function(e){var t=n[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,o={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,o.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,o.arrow),function(){Object.keys(t.elements).forEach((function(e){var n=t.elements[e],r=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:o[e]).reduce((function(e,t){return e[t]="",e}),{}),i(n)&&a(n)&&(Object.assign(n.style,e),Object.keys(r).forEach((function(e){n.removeAttribute(e)})))}))}},requires:["computeStyles"]}],H=v({defaultModifiers:k});e.createPopper=H,e.defaultModifiers=k,e.detectOverflow=function(e,o){void 0===o&&(o={});var n=o;o=void 0===(o=n.placement)?e.placement:o;var i=n.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=n.rootBoundary)?"viewport":i;i=void 0===(i=n.elementContext)?"popper":i;var c=n.altBoundary,p=void 0!==c&&c;n=void 0===(n=n.padding)?0:n,n=Object.assign({},{top:0,right:0,bottom:0,left:0},{},"number"!=typeof n?n:function(e,t){return t.reduce((function(t,o){return t[o]=e,t}),{})}(n,M));var l=e.elements.reference;c=e.rects.popper,a=j(r(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=y({reference:f=t(l),element:c,strategy:"absolute",placement:o}),c=x(Object.assign({},c,{},p)),f="popper"===i?c:f;var u={top:a.top-f.top+n.top,bottom:f.bottom-a.bottom+n.bottom,left:a.left-f.left+n.left,right:f.right-a.right+n.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[o];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,o=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[o]*t}))}return u},e.popperGenerator=v,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=popper-lite.min.js.map diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.flow b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.flow index e29028d8..8658c44f 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.flow +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.flow @@ -1,3 +1,3 @@ // @flow -export * from '../../src/popper-lite.js' +export * from '../../lib/popper-lite.js' diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.map b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.map index 5383c409..b2d7fc6c 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.map @@ -1 +1 @@ -{"version":3,"file":"popper-lite.min.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/getOffsetParent.js","../../src/dom-utils/isTableElement.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/index.js","../../src/utils/mergeByName.js","../../src/dom-utils/getLayoutRect.js","../../src/utils/computeOffsets.js","../../src/utils/getBasePlacement.js","../../src/utils/getVariation.js","../../src/enums.js","../../src/utils/getMainAxisFromPlacement.js","../../src/modifiers/computeStyles.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/contains.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/getBorders.js","../../src/modifiers/eventListeners.js","../../src/popper-lite.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/applyStyles.js","../../src/utils/detectOverflow.js","../../src/utils/getFreshSideObject.js","../../src/utils/expandToHashMap.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: Offsets,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const { transitionProperty } = getComputedStyle(state.elements.popper);\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n // popper offsets are always available\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n\n // arrow offsets may not be available\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: Modifier);\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: Modifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: Modifier<{||}>);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: 'absolute',\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: Modifier<{||}>);\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n"],"names":["getBoundingClientRect","element","width","rect","height","top","right","bottom","left","x","y","getWindow","node","ownerDocument","window","getWindowScroll","scrollLeft","win","scrollTop","isElement","isHTMLElement","getNodeName","getDocumentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","documentElement","getParentNode","document","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","isBody","target","updatedList","getTrueOffsetParent","getOffsetParent","order","modifiers","map","Map","visited","Set","result","modifier","dep","depModifier","sort","debounce","fn","pending","Promise","resolve","undefined","areValidElements","args","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","DEFAULT_OPTIONS","reference","popper","options","effectCleanupFns","state","placement","orderedModifiers","modifiersData","elements","attributes","styles","isDestroyed","instance","setOptions","cleanupModifierEffects","orderModifiers","acc","phase","mergeByName","merged","current","existing","data","key","m","name","cleanupFn","effect","noopFn","forceUpdate","index","update","destroy","computeOffsets","basePlacement","commonX","commonY","mainAxis","len","variation","start","Math","end","mapToStyles","popperRect","position","gpuAcceleration","adaptive","dpr","hasX","sideX","sideY","commonStyles","unsetSides","hasY","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","documentRect","winScroll","getClippingRect","boundary","rootBoundary","mainClippingParents","getClippingParents","clippingParents","clipperElement","a","isShadow","contains","next","accRect","computedStyle","parseFloat","winScrollBarX","borders","isHTML","decorations","clippingRect","basePlacements","modifierPhases","strategy","passive","eventListeners","enabled","resize","scrollParents","popperOffsets$1","popperOffsets","computeStyles$1","computeStyles","applyStyles$1","applyStyles","style","Object","value","effect$1","initialStyles","margin","arrow","property","attribute","requires","createPopper","detectOverflow","altBoundary","padding","expandToHashMap","keys","hashMap","referenceElement","elementContext","popperClientRect","referenceClientRect","overflowOffsets","clippingClientRect","elementClientRect","paddingObject","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper-lite.min.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/getOffsetParent.js","../../src/dom-utils/isTableElement.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/index.js","../../src/utils/mergeByName.js","../../src/dom-utils/getLayoutRect.js","../../src/utils/computeOffsets.js","../../src/utils/getBasePlacement.js","../../src/utils/getVariation.js","../../src/enums.js","../../src/utils/getMainAxisFromPlacement.js","../../src/modifiers/computeStyles.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/contains.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/getBorders.js","../../src/modifiers/eventListeners.js","../../src/popper-lite.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/applyStyles.js","../../src/utils/detectOverflow.js","../../src/utils/getFreshSideObject.js","../../src/utils/expandToHashMap.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: $Shape<{ x: number, y: number, centerOffset: number }>,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const transitionProperty =\n getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ComputeStylesModifier = Modifier<'computeStyles', Options>;\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: ComputeStylesModifier);\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type EventListenersModifier = Modifier<'eventListeners', Options>;\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: EventListenersModifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: PopperOffsetsModifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ApplyStylesModifier = Modifier<'applyStyles', {||}>;\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: ApplyStylesModifier);\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n"],"names":["getBoundingClientRect","element","width","rect","height","top","right","bottom","left","x","y","getWindow","node","ownerDocument","window","getWindowScroll","scrollLeft","win","scrollTop","isElement","isHTMLElement","getNodeName","getDocumentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","documentElement","getParentNode","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","isBody","target","updatedList","getTrueOffsetParent","getOffsetParent","order","modifiers","map","Map","visited","Set","result","modifier","dep","depModifier","sort","debounce","fn","pending","Promise","resolve","undefined","areValidElements","args","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","DEFAULT_OPTIONS","reference","popper","options","effectCleanupFns","state","placement","orderedModifiers","modifiersData","elements","attributes","styles","isDestroyed","instance","setOptions","cleanupModifierEffects","orderModifiers","acc","phase","mergeByName","merged","current","existing","data","key","m","name","cleanupFn","effect","noopFn","forceUpdate","index","update","destroy","computeOffsets","basePlacement","commonX","commonY","mainAxis","len","variation","start","Math","end","mapToStyles","popperRect","position","gpuAcceleration","adaptive","dpr","hasX","sideX","sideY","commonStyles","unsetSides","hasY","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","navigator","visualViewport","winScroll","documentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","getClippingParents","clippingParents","clipperElement","a","isShadow","contains","next","accRect","computedStyle","parseFloat","winScrollBarX","borders","isHTML","decorations","clippingRect","basePlacements","modifierPhases","strategy","passive","eventListeners","enabled","resize","scrollParents","popperOffsets$1","popperOffsets","computeStyles$1","computeStyles","applyStyles$1","applyStyles","style","Object","value","effect$1","initialStyles","margin","arrow","property","attribute","requires","createPopper","detectOverflow","altBoundary","padding","expandToHashMap","keys","hashMap","referenceElement","elementContext","popperClientRect","referenceClientRect","overflowOffsets","clippingClientRect","elementClientRect","paddingObject","offsetData","offset","multiply","axis"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper.js b/conf/site/node_modules/@popperjs/core/dist/umd/popper.js index 4dd40213..652f8b8c 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper.js +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper.js @@ -1,5 +1,5 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ (function (global, factory) { @@ -151,12 +151,15 @@ return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } function getComputedStyle(element) { @@ -191,7 +194,8 @@ var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); @@ -237,14 +241,10 @@ var viewport = 'viewport'; var popper = 'popper'; var reference = 'reference'; - var variationPlacements = - /*#__PURE__*/ - basePlacements.reduce(function (acc, placement) { + var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { return acc.concat([placement + "-" + start, placement + "-" + end]); }, []); - var placements = - /*#__PURE__*/ - [].concat(basePlacements, [auto]).reduce(function (acc, placement) { + var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { return acc.concat([placement, placement + "-" + start, placement + "-" + end]); }, []); // modifiers that need to read the DOM @@ -714,7 +714,8 @@ window.removeEventListener('resize', instance.update, passive); } }; - } + } // eslint-disable-next-line import/no-unused-modules + var eventListeners = { name: 'eventListeners', @@ -811,7 +812,8 @@ strategy: 'absolute', placement: state.placement }); - } + } // eslint-disable-next-line import/no-unused-modules + var popperOffsets$1 = { name: 'popperOffsets', @@ -907,8 +909,7 @@ adaptive = _options$adaptive === void 0 ? true : _options$adaptive; { - var _getComputedStyle = getComputedStyle(state.elements.popper), - transitionProperty = _getComputedStyle.transitionProperty; + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ''; if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { return transitionProperty.indexOf(property) >= 0; @@ -922,13 +923,15 @@ popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration - }; // popper offsets are always available + }; - state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive - }))); // arrow offsets may not be available + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive + }))); + } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { @@ -941,7 +944,8 @@ state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); - } + } // eslint-disable-next-line import/no-unused-modules + var computeStyles$1 = { name: 'computeStyles', @@ -984,7 +988,7 @@ var state = _ref2.state; var initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0' @@ -1024,7 +1028,8 @@ }); }); }; - } + } // eslint-disable-next-line import/no-unused-modules + var applyStyles$1 = { name: 'applyStyles', @@ -1069,10 +1074,15 @@ var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; - } + } // eslint-disable-next-line import/no-unused-modules + var offset$1 = { name: 'offset', @@ -1106,9 +1116,20 @@ function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; @@ -1320,6 +1341,9 @@ return overflowOffsets; } + /*:: type OverflowsMap = { [ComputedPlacement]: number }; */ + + /*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */ function computeAutoPlacement(state, options) { if (options === void 0) { options = {}; @@ -1330,13 +1354,17 @@ boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, - flipVariations = _options.flipVariations; + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; var variation = getVariation(placement); - var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + var placements$1 = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { return getVariation(placement) === variation; - }) : basePlacements; // $FlowFixMe: Flow seems to have problems with two array unions... + }) : basePlacements).filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); // $FlowFixMe: Flow seems to have problems with two array unions... - var overflows = placements.reduce(function (acc, placement) { + var overflows = placements$1.reduce(function (acc, placement) { acc[placement] = detectOverflow(state, { placement: placement, boundary: boundary, @@ -1374,7 +1402,8 @@ rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio; + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; var preferredPlacement = state.options.placement; var basePlacement = getBasePlacement(preferredPlacement); var isBasePlacement = basePlacement === preferredPlacement; @@ -1385,7 +1414,8 @@ boundary: boundary, rootBoundary: rootBoundary, padding: padding, - flipVariations: flipVariations + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements }) : placement); }, []); var referenceRect = state.rects.reference; @@ -1462,7 +1492,8 @@ state.placement = firstFittingPlacement; state.reset = true; } - } + } // eslint-disable-next-line import/no-unused-modules + var flip$1 = { name: 'flip', @@ -1521,6 +1552,10 @@ y: 0 }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { var mainSide = mainAxis === 'y' ? top : left; var altSide = mainAxis === 'y' ? bottom : right; @@ -1572,12 +1607,13 @@ var _preventedOffset = within(_min, _offset, _max); - state.modifiersData.popperOffsets[altAxis] = _preventedOffset; + popperOffsets[altAxis] = _preventedOffset; data[altAxis] = _preventedOffset - _offset; } state.modifiersData[name] = data; - } + } // eslint-disable-next-line import/no-unused-modules + var preventOverflow$1 = { name: 'preventOverflow', @@ -1599,7 +1635,7 @@ var isVertical = [left, right].indexOf(basePlacement) >= 0; var len = isVertical ? 'height' : 'width'; - if (!arrowElement) { + if (!arrowElement || !popperOffsets) { return; } @@ -1630,7 +1666,12 @@ var _options$element = options.element, arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element, _options$padding = options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; // CSS selector + padding = _options$padding === void 0 ? 0 : _options$padding; + + if (arrowElement == null) { + return; + } // CSS selector + if (typeof arrowElement === 'string') { arrowElement = state.elements.popper.querySelector(arrowElement); @@ -1652,7 +1693,8 @@ state.modifiersData[name + "#persistent"] = { padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)) }; - } + } // eslint-disable-next-line import/no-unused-modules + var arrow$1 = { name: 'arrow', @@ -1712,7 +1754,8 @@ 'data-popper-reference-hidden': isReferenceHidden, 'data-popper-escaped': hasPopperEscaped }); - } + } // eslint-disable-next-line import/no-unused-modules + var hide$1 = { name: 'hide', @@ -1723,9 +1766,7 @@ }; var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; - var createPopper = - /*#__PURE__*/ - popperGenerator({ + var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper.js.map b/conf/site/node_modules/@popperjs/core/dist/umd/popper.js.map index 3751a9c2..8dc19ef3 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper.js.map +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper.js.map @@ -1 +1 @@ -{"version":3,"file":"popper.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/modifiers/offset.js","../../src/utils/getOppositePlacement.js","../../src/utils/getOppositeVariationPlacement.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/utils/computeAutoPlacement.js","../../src/modifiers/flip.js","../../src/utils/getAltAxis.js","../../src/utils/within.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/arrow.js","../../src/modifiers/hide.js","../../src/popper.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: Modifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: Modifier<{||}>);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: Offsets,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const { transitionProperty } = getComputedStyle(state.elements.popper);\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n // popper offsets are always available\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n\n // arrow offsets may not be available\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: Modifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: 'absolute',\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: Modifier<{||}>);\n","// @flow\nimport type { Placement } from '../enums';\nimport type { ModifierArguments, Modifier, Rect, Offsets } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport { top, left, right, placements } from '../enums';\n\ntype OffsetsFunction = ({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n}) => [?number, ?number];\n\ntype Offset = OffsetsFunction | [?number, ?number];\n\ntype Options = {\n offset: Offset,\n};\n\nexport function distanceAndSkiddingToXY(\n placement: Placement,\n rects: { popper: Rect, reference: Rect },\n offset: Offset\n): Offsets {\n const basePlacement = getBasePlacement(placement);\n const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n let [skidding, distance] =\n typeof offset === 'function'\n ? offset({\n ...rects,\n placement,\n })\n : offset;\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n\n return [left, right].indexOf(basePlacement) >= 0\n ? { x: distance, y: skidding }\n : { x: skidding, y: distance };\n}\n\nfunction offset({ state, options, name }: ModifierArguments) {\n const { offset = [0, 0] } = options;\n\n const data = placements.reduce((acc, placement) => {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n\n const { x, y } = data[state.placement];\n\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n\n state.modifiersData[name] = data;\n}\n\nexport default ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset,\n}: Modifier);\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\nexport default function getOppositePlacement(placement: Placement): Placement {\n return (placement.replace(\n /left|right|bottom|top/g,\n matched => hash[matched]\n ): any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { start: 'end', end: 'start' };\n\nexport default function getOppositeVariationPlacement(\n placement: Placement\n): Placement {\n return (placement.replace(/start|end/g, matched => hash[matched]): any);\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { State, Padding } from '../types';\nimport type {\n Placement,\n BasePlacement,\n VariationPlacement,\n Boundary,\n RootBoundary,\n ComputedPlacement,\n} from '../enums';\nimport getVariation from './getVariation';\nimport { variationPlacements, basePlacements } from '../enums';\nimport detectOverflow from './detectOverflow';\nimport getBasePlacement from './getBasePlacement';\n\ntype Options = {\n placement: Placement,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n flipVariations: boolean,\n};\n\ntype OverflowsMap = {\n [BasePlacement | VariationPlacement]: number,\n};\n\nexport default function computeAutoPlacement(\n state: $Shape,\n options: Options = {}\n): Array {\n const {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n } = options;\n\n const variation = getVariation(placement);\n\n const placements = variation\n ? flipVariations\n ? variationPlacements\n : variationPlacements.filter(\n placement => getVariation(placement) === variation\n )\n : basePlacements;\n\n // $FlowFixMe: Flow seems to have problems with two array unions...\n const overflows: OverflowsMap = placements.reduce((acc, placement) => {\n acc[placement] = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n })[getBasePlacement(placement)];\n\n return acc;\n }, {});\n\n return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]);\n}\n","// @flow\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { ModifierArguments, Modifier, Padding } from '../types';\nimport getOppositePlacement from '../utils/getOppositePlacement';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement';\nimport detectOverflow from '../utils/detectOverflow';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\nimport { bottom, top, start, right, left, auto } from '../enums';\nimport getVariation from '../utils/getVariation';\n\ntype Options = {\n fallbackPlacements: Array,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n altBoundary: boolean,\n flipVariations: boolean,\n};\n\nfunction getExpandedFallbackPlacements(placement: Placement): Array {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeVariationPlacement(placement),\n oppositePlacement,\n getOppositeVariationPlacement(oppositePlacement),\n ];\n}\n\nfunction flip({ state, options, name }: ModifierArguments) {\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n const {\n fallbackPlacements: specifiedFallbackPlacements,\n padding,\n boundary,\n rootBoundary,\n altBoundary,\n flipVariations = true,\n } = options;\n\n const preferredPlacement = state.options.placement;\n const basePlacement = getBasePlacement(preferredPlacement);\n const isBasePlacement = basePlacement === preferredPlacement;\n\n const fallbackPlacements =\n specifiedFallbackPlacements ||\n (isBasePlacement || !flipVariations\n ? [getOppositePlacement(preferredPlacement)]\n : getExpandedFallbackPlacements(preferredPlacement));\n\n const placements = [preferredPlacement, ...fallbackPlacements].reduce(\n (acc, placement) => {\n return acc.concat(\n getBasePlacement(placement) === auto\n ? computeAutoPlacement(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n })\n : placement\n );\n },\n []\n );\n\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n\n const checksMap = new Map();\n let makeFallbackChecks = true;\n let firstFittingPlacement = placements[0];\n\n for (let i = 0; i < placements.length; i++) {\n const placement = placements[i];\n const basePlacement = getBasePlacement(placement);\n const isStartVariation = getVariation(placement) === start;\n const isVertical = [top, bottom].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'width' : 'height';\n\n const overflow = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n });\n\n let mainVariationSide: any = isVertical\n ? isStartVariation\n ? right\n : left\n : isStartVariation\n ? bottom\n : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n const altVariationSide: any = getOppositePlacement(mainVariationSide);\n\n const checks = [\n overflow[basePlacement] <= 0,\n overflow[mainVariationSide] <= 0,\n overflow[altVariationSide] <= 0,\n ];\n\n if (checks.every(check => check)) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n const numberOfChecks = flipVariations ? 3 : 1;\n\n for (let i = numberOfChecks; i > 0; i--) {\n const fittingPlacement = placements.find(placement => {\n const checks = checksMap.get(placement);\n if (checks) {\n return checks.slice(0, i).every(check => check);\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n break;\n }\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n}\n\nexport default ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: { _skip: false },\n}: Modifier);\n","// @flow\n\nexport default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {\n return axis === 'x' ? 'y' : 'x';\n}\n","// @flow\n\nexport default function within(\n min: number,\n value: number,\n max: number\n): number {\n return Math.max(min, Math.min(value, max));\n}\n","// @flow\nimport { top, left, right, bottom, start } from '../enums';\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { Rect, ModifierArguments, Modifier, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport getAltAxis from '../utils/getAltAxis';\nimport within from '../utils/within';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport detectOverflow from '../utils/detectOverflow';\nimport getVariation from '../utils/getVariation';\nimport getFreshSideObject from '../utils/getFreshSideObject';\n\ntype TetherOffset =\n | (({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n }) => number)\n | number;\n\ntype Options = {\n /* Prevents boundaries overflow on the main axis */\n mainAxis: boolean,\n /* Prevents boundaries overflow on the alternate axis */\n altAxis: boolean,\n /* The area to check the popper is overflowing in */\n boundary: Boundary,\n /* If the popper is not overflowing the main area, fallback to this one */\n rootBoundary: RootBoundary,\n /* Use the reference's \"clippingParents\" boundary context */\n altBoundary: boolean,\n /**\n * Allows the popper to overflow from its boundaries to keep it near its\n * reference element\n */\n tether: boolean,\n /* Offsets when the `tether` option should activate */\n tetherOffset: TetherOffset,\n /* Sets a padding to the provided boundary */\n padding: Padding,\n};\n\nfunction preventOverflow({ state, options, name }: ModifierArguments) {\n const {\n mainAxis: checkMainAxis = true,\n altAxis: checkAltAxis = false,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n tether = true,\n tetherOffset = 0,\n } = options;\n\n const overflow = detectOverflow(state, {\n boundary,\n rootBoundary,\n padding,\n altBoundary,\n });\n const basePlacement = getBasePlacement(state.placement);\n const variation = getVariation(state.placement);\n const isBasePlacement = !variation;\n const mainAxis = getMainAxisFromPlacement(basePlacement);\n const altAxis = getAltAxis(mainAxis);\n const popperOffsets = state.modifiersData.popperOffsets;\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const tetherOffsetValue =\n typeof tetherOffset === 'function'\n ? tetherOffset({\n ...state.rects,\n placement: state.placement,\n })\n : tetherOffset;\n\n const data = { x: 0, y: 0 };\n\n if (checkMainAxis) {\n const mainSide = mainAxis === 'y' ? top : left;\n const altSide = mainAxis === 'y' ? bottom : right;\n const len = mainAxis === 'y' ? 'height' : 'width';\n const offset = popperOffsets[mainAxis];\n\n const min = popperOffsets[mainAxis] + overflow[mainSide];\n const max = popperOffsets[mainAxis] - overflow[altSide];\n\n const additive = tether ? -popperRect[len] / 2 : 0;\n\n const minLen = variation === start ? referenceRect[len] : popperRect[len];\n const maxLen = variation === start ? -popperRect[len] : -referenceRect[len];\n\n // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n const arrowElement = state.elements.arrow;\n const arrowRect =\n tether && arrowElement\n ? getLayoutRect(arrowElement)\n : { width: 0, height: 0 };\n const arrowPaddingObject = state.modifiersData['arrow#persistent']\n ? state.modifiersData['arrow#persistent'].padding\n : getFreshSideObject();\n const arrowPaddingMin = arrowPaddingObject[mainSide];\n const arrowPaddingMax = arrowPaddingObject[altSide];\n\n // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n const arrowLen = within(0, referenceRect[len], arrowRect[len]);\n\n const minOffset = isBasePlacement\n ? referenceRect[len] / 2 -\n additive -\n arrowLen -\n arrowPaddingMin -\n tetherOffsetValue\n : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n const maxOffset = isBasePlacement\n ? -referenceRect[len] / 2 +\n additive +\n arrowLen +\n arrowPaddingMax +\n tetherOffsetValue\n : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientOffset = arrowOffsetParent\n ? mainAxis === 'y'\n ? arrowOffsetParent.clientTop || 0\n : arrowOffsetParent.clientLeft || 0\n : 0;\n\n const offsetModifierValue = state.modifiersData.offset\n ? state.modifiersData.offset[state.placement][mainAxis]\n : 0;\n\n const tetherMin =\n popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n const preventedOffset = within(\n tether ? Math.min(min, tetherMin) : min,\n offset,\n tether ? Math.max(max, tetherMax) : max\n );\n\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n const mainSide = mainAxis === 'x' ? top : left;\n const altSide = mainAxis === 'x' ? bottom : right;\n const offset = popperOffsets[altAxis];\n\n const min = offset + overflow[mainSide];\n const max = offset - overflow[altSide];\n\n const preventedOffset = within(min, offset, max);\n\n state.modifiersData.popperOffsets[altAxis] = preventedOffset;\n data[altAxis] = preventedOffset - offset;\n }\n\n state.modifiersData[name] = data;\n}\n\nexport default ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset'],\n}: Modifier);\n","// @flow\nimport type { Modifier, ModifierArguments, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport contains from '../dom-utils/contains';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport within from '../utils/within';\nimport mergePaddingObject from '../utils/mergePaddingObject';\nimport expandToHashMap from '../utils/expandToHashMap';\nimport { left, right, basePlacements, top, bottom } from '../enums';\n\ntype Options = {\n element: HTMLElement | string,\n padding: Padding,\n};\n\nfunction arrow({ state, name }: ModifierArguments) {\n const arrowElement = state.elements.arrow;\n const popperOffsets = state.modifiersData.popperOffsets;\n const basePlacement = getBasePlacement(state.placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const isVertical = [left, right].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'height' : 'width';\n\n if (!arrowElement) {\n return;\n }\n\n const paddingObject = state.modifiersData[`${name}#persistent`].padding;\n const arrowRect = getLayoutRect(arrowElement);\n const minProp = axis === 'y' ? top : left;\n const maxProp = axis === 'y' ? bottom : right;\n\n const endDiff =\n state.rects.reference[len] +\n state.rects.reference[axis] -\n popperOffsets[axis] -\n state.rects.popper[len];\n const startDiff = popperOffsets[axis] - state.rects.reference[axis];\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientSize = arrowOffsetParent\n ? axis === 'y'\n ? arrowOffsetParent.clientHeight || 0\n : arrowOffsetParent.clientWidth || 0\n : 0;\n\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n const min = paddingObject[minProp];\n const max = clientSize - arrowRect[len] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n const offset = within(min, center, max);\n\n // Prevents breaking syntax highlighting...\n const axisProp: string = axis;\n state.modifiersData[name] = {\n [axisProp]: offset,\n centerOffset: offset - center,\n };\n}\n\nfunction effect({ state, options, name }: ModifierArguments) {\n let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options;\n\n // CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (__DEV__) {\n console.error(\n [\n 'Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\n 'element.',\n ].join(' ')\n );\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[`${name}#persistent`] = {\n padding: mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n ),\n };\n}\n\nexport default ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow'],\n}: Modifier);\n","// @flow\nimport type {\n ModifierArguments,\n Modifier,\n Rect,\n Options,\n SideObject,\n Offsets,\n} from '../types';\nimport { top, bottom, left, right } from '../enums';\nimport detectOverflow from '../utils/detectOverflow';\n\nfunction getSideOffsets(\n overflow: SideObject,\n rect: Rect,\n preventedOffsets: Offsets = { x: 0, y: 0 }\n): SideObject {\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x,\n };\n}\n\nfunction isAnySideFullyClipped(overflow: SideObject): boolean {\n return [top, right, bottom, left].some(side => overflow[side] >= 0);\n}\n\nfunction hide({ state, name }: ModifierArguments) {\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const preventedOffsets = state.modifiersData.preventOverflow;\n\n const referenceOverflow = detectOverflow(state, {\n elementContext: 'reference',\n });\n const popperAltOverflow = detectOverflow(state, {\n altBoundary: true,\n });\n\n const referenceClippingOffsets = getSideOffsets(\n referenceOverflow,\n referenceRect\n );\n const popperEscapeOffsets = getSideOffsets(\n popperAltOverflow,\n popperRect,\n preventedOffsets\n );\n\n const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n\n state.modifiersData[name] = {\n referenceClippingOffsets,\n popperEscapeOffsets,\n isReferenceHidden,\n hasPopperEscaped,\n };\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped,\n };\n}\n\nexport default ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide,\n}: Modifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\nimport offset from './modifiers/offset';\nimport flip from './modifiers/flip';\nimport preventOverflow from './modifiers/preventOverflow';\nimport arrow from './modifiers/arrow';\nimport hide from './modifiers/hide';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n offset,\n flip,\n preventOverflow,\n arrow,\n hide,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","updatedList","concat","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","distanceAndSkiddingToXY","offset","invertDistance","skidding","distance","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getViewportRect","innerWidth","innerHeight","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","computeAutoPlacement","flipVariations","overflows","a","b","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","specifiedFallbackPlacements","fallbackPlacements","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","numberOfChecks","fittingPlacement","slice","getAltAxis","within","preventOverflow","checkMainAxis","altAxis","checkAltAxis","tether","tetherOffset","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/isTableElement.js","../../src/dom-utils/getOffsetParent.js","../../src/enums.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/format.js","../../src/utils/validateModifiers.js","../../src/utils/uniqueBy.js","../../src/utils/getBasePlacement.js","../../src/utils/mergeByName.js","../../src/index.js","../../src/modifiers/eventListeners.js","../../src/utils/getVariation.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/computeStyles.js","../../src/modifiers/applyStyles.js","../../src/modifiers/offset.js","../../src/utils/getOppositePlacement.js","../../src/utils/getOppositeVariationPlacement.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getBorders.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/utils/getFreshSideObject.js","../../src/utils/mergePaddingObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/utils/computeAutoPlacement.js","../../src/modifiers/flip.js","../../src/utils/getAltAxis.js","../../src/utils/within.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/arrow.js","../../src/modifiers/hide.js","../../src/popper.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\n\nexport default function format(str: string, ...args: Array) {\n return [...args].reduce((p, c) => p.replace(/%s/, c), str);\n}\n","// @flow\nimport format from './format';\nimport { modifierPhases } from '../enums';\n\nconst INVALID_MODIFIER_ERROR =\n 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nconst MISSING_DEPENDENCY_ERROR =\n 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nconst VALID_PROPERTIES = [\n 'name',\n 'enabled',\n 'phase',\n 'fn',\n 'effect',\n 'requires',\n 'options',\n];\n\nexport default function validateModifiers(modifiers: Array): void {\n modifiers.forEach(modifier => {\n Object.keys(modifier).forEach(key => {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n String(modifier.name),\n '\"name\"',\n '\"string\"',\n `\"${String(modifier.name)}\"`\n )\n );\n }\n break;\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"enabled\"',\n '\"boolean\"',\n `\"${String(modifier.enabled)}\"`\n )\n );\n }\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"phase\"',\n `either ${modifierPhases.join(', ')}`,\n `\"${String(modifier.phase)}\"`\n )\n );\n }\n break;\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"fn\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"effect\"',\n '\"function\"',\n `\"${String(modifier.fn)}\"`\n )\n );\n }\n break;\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requires\"',\n '\"array\"',\n `\"${String(modifier.requires)}\"`\n )\n );\n }\n break;\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(\n format(\n INVALID_MODIFIER_ERROR,\n modifier.name,\n '\"requiresIfExists\"',\n '\"array\"',\n `\"${String(modifier.requiresIfExists)}\"`\n )\n );\n }\n break;\n case 'options':\n case 'data':\n break;\n default:\n console.error(\n `PopperJS: an invalid property has been provided to the \"${\n modifier.name\n }\" modifier, valid properties are ${VALID_PROPERTIES.map(\n s => `\"${s}\"`\n ).join(', ')}; but \"${key}\" was provided.`\n );\n }\n\n modifier.requires &&\n modifier.requires.forEach(requirement => {\n if (modifiers.find(mod => mod.name === requirement) == null) {\n console.error(\n format(\n MISSING_DEPENDENCY_ERROR,\n String(modifier.name),\n requirement,\n requirement\n )\n );\n }\n });\n });\n });\n}\n","// @flow\n\nexport default function uniqueBy(arr: Array, fn: T => any): Array {\n const identifiers = new Set();\n\n return arr.filter(item => {\n const identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type EventListenersModifier = Modifier<'eventListeners', Options>;\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: EventListenersModifier);\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: PopperOffsetsModifier);\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: $Shape<{ x: number, y: number, centerOffset: number }>,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const transitionProperty =\n getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ComputeStylesModifier = Modifier<'computeStyles', Options>;\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: ComputeStylesModifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ApplyStylesModifier = Modifier<'applyStyles', {||}>;\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: ApplyStylesModifier);\n","// @flow\nimport type { Placement } from '../enums';\nimport type { ModifierArguments, Modifier, Rect, Offsets } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport { top, left, right, placements } from '../enums';\n\ntype OffsetsFunction = ({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n}) => [?number, ?number];\n\ntype Offset = OffsetsFunction | [?number, ?number];\n\ntype Options = {\n offset: Offset,\n};\n\nexport function distanceAndSkiddingToXY(\n placement: Placement,\n rects: { popper: Rect, reference: Rect },\n offset: Offset\n): Offsets {\n const basePlacement = getBasePlacement(placement);\n const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n let [skidding, distance] =\n typeof offset === 'function'\n ? offset({\n ...rects,\n placement,\n })\n : offset;\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n\n return [left, right].indexOf(basePlacement) >= 0\n ? { x: distance, y: skidding }\n : { x: skidding, y: distance };\n}\n\nfunction offset({ state, options, name }: ModifierArguments) {\n const { offset = [0, 0] } = options;\n\n const data = placements.reduce((acc, placement) => {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n\n const { x, y } = data[state.placement];\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type OffsetModifier = Modifier<'offset', Options>;\nexport default ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset,\n}: OffsetModifier);\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\nexport default function getOppositePlacement(placement: Placement): Placement {\n return (placement.replace(\n /left|right|bottom|top/g,\n matched => hash[matched]\n ): any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { start: 'end', end: 'start' };\n\nexport default function getOppositeVariationPlacement(\n placement: Placement\n): Placement {\n return (placement.replace(/start|end/g, matched => hash[matched]): any);\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type { State, Padding } from '../types';\nimport type {\n Placement,\n ComputedPlacement,\n Boundary,\n RootBoundary,\n} from '../enums';\nimport getVariation from './getVariation';\nimport {\n variationPlacements,\n basePlacements,\n placements as allPlacements,\n} from '../enums';\nimport detectOverflow from './detectOverflow';\nimport getBasePlacement from './getBasePlacement';\n\ntype Options = {\n placement: Placement,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n flipVariations: boolean,\n allowedAutoPlacements?: Array,\n};\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\n\nexport default function computeAutoPlacement(\n state: $Shape,\n options: Options = {}\n): Array {\n const {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n allowedAutoPlacements = allPlacements,\n } = options;\n\n const variation = getVariation(placement);\n\n const placements = (variation\n ? flipVariations\n ? variationPlacements\n : variationPlacements.filter(\n placement => getVariation(placement) === variation\n )\n : basePlacements\n ).filter(placement => allowedAutoPlacements.indexOf(placement) >= 0);\n\n // $FlowFixMe: Flow seems to have problems with two array unions...\n const overflows: OverflowsMap = placements.reduce((acc, placement) => {\n acc[placement] = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n })[getBasePlacement(placement)];\n\n return acc;\n }, {});\n\n return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]);\n}\n","// @flow\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { ModifierArguments, Modifier, Padding } from '../types';\nimport getOppositePlacement from '../utils/getOppositePlacement';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement';\nimport detectOverflow from '../utils/detectOverflow';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\nimport { bottom, top, start, right, left, auto } from '../enums';\nimport getVariation from '../utils/getVariation';\n\ntype Options = {\n fallbackPlacements: Array,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n altBoundary: boolean,\n flipVariations: boolean,\n allowedAutoPlacements: Array,\n};\n\nfunction getExpandedFallbackPlacements(placement: Placement): Array {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeVariationPlacement(placement),\n oppositePlacement,\n getOppositeVariationPlacement(oppositePlacement),\n ];\n}\n\nfunction flip({ state, options, name }: ModifierArguments) {\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n const {\n fallbackPlacements: specifiedFallbackPlacements,\n padding,\n boundary,\n rootBoundary,\n altBoundary,\n flipVariations = true,\n allowedAutoPlacements,\n } = options;\n\n const preferredPlacement = state.options.placement;\n const basePlacement = getBasePlacement(preferredPlacement);\n const isBasePlacement = basePlacement === preferredPlacement;\n\n const fallbackPlacements =\n specifiedFallbackPlacements ||\n (isBasePlacement || !flipVariations\n ? [getOppositePlacement(preferredPlacement)]\n : getExpandedFallbackPlacements(preferredPlacement));\n\n const placements = [preferredPlacement, ...fallbackPlacements].reduce(\n (acc, placement) => {\n return acc.concat(\n getBasePlacement(placement) === auto\n ? computeAutoPlacement(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n allowedAutoPlacements,\n })\n : placement\n );\n },\n []\n );\n\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n\n const checksMap = new Map();\n let makeFallbackChecks = true;\n let firstFittingPlacement = placements[0];\n\n for (let i = 0; i < placements.length; i++) {\n const placement = placements[i];\n const basePlacement = getBasePlacement(placement);\n const isStartVariation = getVariation(placement) === start;\n const isVertical = [top, bottom].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'width' : 'height';\n\n const overflow = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n });\n\n let mainVariationSide: any = isVertical\n ? isStartVariation\n ? right\n : left\n : isStartVariation\n ? bottom\n : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n const altVariationSide: any = getOppositePlacement(mainVariationSide);\n\n const checks = [\n overflow[basePlacement] <= 0,\n overflow[mainVariationSide] <= 0,\n overflow[altVariationSide] <= 0,\n ];\n\n if (checks.every(check => check)) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n const numberOfChecks = flipVariations ? 3 : 1;\n\n for (let i = numberOfChecks; i > 0; i--) {\n const fittingPlacement = placements.find(placement => {\n const checks = checksMap.get(placement);\n if (checks) {\n return checks.slice(0, i).every(check => check);\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n break;\n }\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type FlipModifier = Modifier<'flip', Options>;\nexport default ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: { _skip: false },\n}: FlipModifier);\n","// @flow\n\nexport default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {\n return axis === 'x' ? 'y' : 'x';\n}\n","// @flow\n\nexport default function within(\n min: number,\n value: number,\n max: number\n): number {\n return Math.max(min, Math.min(value, max));\n}\n","// @flow\nimport { top, left, right, bottom, start } from '../enums';\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { Rect, ModifierArguments, Modifier, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport getAltAxis from '../utils/getAltAxis';\nimport within from '../utils/within';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport detectOverflow from '../utils/detectOverflow';\nimport getVariation from '../utils/getVariation';\nimport getFreshSideObject from '../utils/getFreshSideObject';\n\ntype TetherOffset =\n | (({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n }) => number)\n | number;\n\ntype Options = {\n /* Prevents boundaries overflow on the main axis */\n mainAxis: boolean,\n /* Prevents boundaries overflow on the alternate axis */\n altAxis: boolean,\n /* The area to check the popper is overflowing in */\n boundary: Boundary,\n /* If the popper is not overflowing the main area, fallback to this one */\n rootBoundary: RootBoundary,\n /* Use the reference's \"clippingParents\" boundary context */\n altBoundary: boolean,\n /**\n * Allows the popper to overflow from its boundaries to keep it near its\n * reference element\n */\n tether: boolean,\n /* Offsets when the `tether` option should activate */\n tetherOffset: TetherOffset,\n /* Sets a padding to the provided boundary */\n padding: Padding,\n};\n\nfunction preventOverflow({ state, options, name }: ModifierArguments) {\n const {\n mainAxis: checkMainAxis = true,\n altAxis: checkAltAxis = false,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n tether = true,\n tetherOffset = 0,\n } = options;\n\n const overflow = detectOverflow(state, {\n boundary,\n rootBoundary,\n padding,\n altBoundary,\n });\n const basePlacement = getBasePlacement(state.placement);\n const variation = getVariation(state.placement);\n const isBasePlacement = !variation;\n const mainAxis = getMainAxisFromPlacement(basePlacement);\n const altAxis = getAltAxis(mainAxis);\n const popperOffsets = state.modifiersData.popperOffsets;\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const tetherOffsetValue =\n typeof tetherOffset === 'function'\n ? tetherOffset({\n ...state.rects,\n placement: state.placement,\n })\n : tetherOffset;\n\n const data = { x: 0, y: 0 };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n const mainSide = mainAxis === 'y' ? top : left;\n const altSide = mainAxis === 'y' ? bottom : right;\n const len = mainAxis === 'y' ? 'height' : 'width';\n const offset = popperOffsets[mainAxis];\n\n const min = popperOffsets[mainAxis] + overflow[mainSide];\n const max = popperOffsets[mainAxis] - overflow[altSide];\n\n const additive = tether ? -popperRect[len] / 2 : 0;\n\n const minLen = variation === start ? referenceRect[len] : popperRect[len];\n const maxLen = variation === start ? -popperRect[len] : -referenceRect[len];\n\n // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n const arrowElement = state.elements.arrow;\n const arrowRect =\n tether && arrowElement\n ? getLayoutRect(arrowElement)\n : { width: 0, height: 0 };\n const arrowPaddingObject = state.modifiersData['arrow#persistent']\n ? state.modifiersData['arrow#persistent'].padding\n : getFreshSideObject();\n const arrowPaddingMin = arrowPaddingObject[mainSide];\n const arrowPaddingMax = arrowPaddingObject[altSide];\n\n // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n const arrowLen = within(0, referenceRect[len], arrowRect[len]);\n\n const minOffset = isBasePlacement\n ? referenceRect[len] / 2 -\n additive -\n arrowLen -\n arrowPaddingMin -\n tetherOffsetValue\n : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n const maxOffset = isBasePlacement\n ? -referenceRect[len] / 2 +\n additive +\n arrowLen +\n arrowPaddingMax +\n tetherOffsetValue\n : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientOffset = arrowOffsetParent\n ? mainAxis === 'y'\n ? arrowOffsetParent.clientTop || 0\n : arrowOffsetParent.clientLeft || 0\n : 0;\n\n const offsetModifierValue = state.modifiersData.offset\n ? state.modifiersData.offset[state.placement][mainAxis]\n : 0;\n\n const tetherMin =\n popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n const preventedOffset = within(\n tether ? Math.min(min, tetherMin) : min,\n offset,\n tether ? Math.max(max, tetherMax) : max\n );\n\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n const mainSide = mainAxis === 'x' ? top : left;\n const altSide = mainAxis === 'x' ? bottom : right;\n const offset = popperOffsets[altAxis];\n\n const min = offset + overflow[mainSide];\n const max = offset - overflow[altSide];\n\n const preventedOffset = within(min, offset, max);\n\n popperOffsets[altAxis] = preventedOffset;\n data[altAxis] = preventedOffset - offset;\n }\n\n state.modifiersData[name] = data;\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PreventOverflowModifier = Modifier<'preventOverflow', Options>;\nexport default ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset'],\n}: PreventOverflowModifier);\n","// @flow\nimport type { Modifier, ModifierArguments, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport contains from '../dom-utils/contains';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport within from '../utils/within';\nimport mergePaddingObject from '../utils/mergePaddingObject';\nimport expandToHashMap from '../utils/expandToHashMap';\nimport { left, right, basePlacements, top, bottom } from '../enums';\n\ntype Options = {\n element: HTMLElement | string | null,\n padding: Padding,\n};\n\nfunction arrow({ state, name }: ModifierArguments) {\n const arrowElement = state.elements.arrow;\n const popperOffsets = state.modifiersData.popperOffsets;\n const basePlacement = getBasePlacement(state.placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const isVertical = [left, right].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n const paddingObject = state.modifiersData[`${name}#persistent`].padding;\n const arrowRect = getLayoutRect(arrowElement);\n const minProp = axis === 'y' ? top : left;\n const maxProp = axis === 'y' ? bottom : right;\n\n const endDiff =\n state.rects.reference[len] +\n state.rects.reference[axis] -\n popperOffsets[axis] -\n state.rects.popper[len];\n const startDiff = popperOffsets[axis] - state.rects.reference[axis];\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientSize = arrowOffsetParent\n ? axis === 'y'\n ? arrowOffsetParent.clientHeight || 0\n : arrowOffsetParent.clientWidth || 0\n : 0;\n\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n const min = paddingObject[minProp];\n const max = clientSize - arrowRect[len] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n const offset = within(min, center, max);\n\n // Prevents breaking syntax highlighting...\n const axisProp: string = axis;\n state.modifiersData[name] = {\n [axisProp]: offset,\n centerOffset: offset - center,\n };\n}\n\nfunction effect({ state, options, name }: ModifierArguments) {\n let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options;\n\n if (arrowElement == null) {\n return;\n }\n\n // CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (__DEV__) {\n console.error(\n [\n 'Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\n 'element.',\n ].join(' ')\n );\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[`${name}#persistent`] = {\n padding: mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n ),\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ArrowModifier = Modifier<'arrow', Options>;\nexport default ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow'],\n}: ArrowModifier);\n","// @flow\nimport type {\n ModifierArguments,\n Modifier,\n Rect,\n SideObject,\n Offsets,\n} from '../types';\nimport { top, bottom, left, right } from '../enums';\nimport detectOverflow from '../utils/detectOverflow';\n\nfunction getSideOffsets(\n overflow: SideObject,\n rect: Rect,\n preventedOffsets: Offsets = { x: 0, y: 0 }\n): SideObject {\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x,\n };\n}\n\nfunction isAnySideFullyClipped(overflow: SideObject): boolean {\n return [top, right, bottom, left].some(side => overflow[side] >= 0);\n}\n\nfunction hide({ state, name }: ModifierArguments<{||}>) {\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const preventedOffsets = state.modifiersData.preventOverflow;\n\n const referenceOverflow = detectOverflow(state, {\n elementContext: 'reference',\n });\n const popperAltOverflow = detectOverflow(state, {\n altBoundary: true,\n });\n\n const referenceClippingOffsets = getSideOffsets(\n referenceOverflow,\n referenceRect\n );\n const popperEscapeOffsets = getSideOffsets(\n popperAltOverflow,\n popperRect,\n preventedOffsets\n );\n\n const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n\n state.modifiersData[name] = {\n referenceClippingOffsets,\n popperEscapeOffsets,\n isReferenceHidden,\n hasPopperEscaped,\n };\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type HideModifier = Modifier<'hide', {||}>;\nexport default ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide,\n}: HideModifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\nimport offset from './modifiers/offset';\nimport flip from './modifiers/flip';\nimport preventOverflow from './modifiers/preventOverflow';\nimport arrow from './modifiers/arrow';\nimport hide from './modifiers/hide';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n offset,\n flip,\n preventOverflow,\n arrow,\n hide,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n"],"names":["getBoundingClientRect","element","rect","width","height","top","right","bottom","left","x","y","getWindow","node","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","OwnElement","Element","isHTMLElement","HTMLElement","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","parentNode","host","getComputedStyle","getScrollParent","indexOf","body","overflow","overflowX","overflowY","test","listScrollParents","list","scrollParent","isBody","target","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","map","Map","visited","Set","result","forEach","modifier","set","name","sort","add","requires","requiresIfExists","dep","has","depModifier","get","push","orderModifiers","orderedModifiers","phase","filter","debounce","fn","pending","Promise","resolve","then","undefined","format","str","args","p","c","replace","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","Object","keys","key","console","error","String","enabled","join","effect","Array","isArray","s","requirement","find","mod","uniqueBy","arr","identifiers","item","identifier","getBasePlacement","split","mergeByName","merged","current","existing","options","data","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","createPopper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","rects","reset","__debug_loops__","index","length","destroy","onFirstUpdate","cleanupFn","noopFn","passive","resize","addEventListener","removeEventListener","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","popperOffsets","unsetSides","roundOffsets","dpr","devicePixelRatio","round","mapToStyles","popperRect","gpuAcceleration","adaptive","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","commonStyles","transform","computeStyles","transitionProperty","property","arrow","applyStyles","style","assign","value","removeAttribute","setAttribute","initialStyles","styleProperties","attribute","distanceAndSkiddingToXY","offset","invertDistance","skidding","distance","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getViewportRect","innerWidth","innerHeight","navigator","platform","getDocumentRect","winScroll","documentRect","max","toNumber","cssValue","getBorders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getDecorations","borders","isHTML","winScrollBarX","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","elementContext","altBoundary","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","computeAutoPlacement","flipVariations","allowedAutoPlacements","allPlacements","overflows","a","b","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","specifiedFallbackPlacements","fallbackPlacements","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","numberOfChecks","fittingPlacement","slice","getAltAxis","within","preventOverflow","checkMainAxis","altAxis","checkAltAxis","tether","tetherOffset","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","querySelector","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/dist/umd/popper.min.js b/conf/site/node_modules/@popperjs/core/dist/umd/popper.min.js index ac88468f..16c0ba90 100644 --- a/conf/site/node_modules/@popperjs/core/dist/umd/popper.min.js +++ b/conf/site/node_modules/@popperjs/core/dist/umd/popper.min.js @@ -1,6 +1,6 @@ /** - * @popperjs/core v2.2.1 - MIT License + * @popperjs/core v2.3.3 - MIT License */ -"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function n(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)?e.defaultView:window:e}function r(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function o(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return(o(e)?e.ownerDocument:e.document).documentElement}function f(e){return t(s(e)).left+r(e).scrollLeft}function p(e,o,p){void 0===p&&(p=!1),e=t(e);var c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return p||("body"!==a(o)&&(c=o!==n(o)&&i(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:r(o)),i(o)?((u=t(o)).x+=o.clientLeft,u.y+=o.clientTop):(o=s(o))&&(u.x=f(o))),{x:e.left+c.scrollLeft-u.x,y:e.top+c.scrollTop-u.y,width:e.width,height:e.height}}function c(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function u(e){return"html"===a(e)?e:e.parentNode||e.host||document.ownerDocument||document.documentElement}function d(e){return n(e).getComputedStyle(e)}function l(e,t){void 0===t&&(t=[]);var r=function e(t){if(0<=["html","body","#document"].indexOf(a(t)))return t.ownerDocument.body;if(i(t)){var n=d(t);if(/auto|scroll|overlay|hidden/.test(n.overflow+n.overflowY+n.overflowX))return t}return e(u(t))}(e);return r=(e="body"===a(r))?n(r):r,t=t.concat(r),e?t:t.concat(l(u(r)))}function m(e){return i(e)&&"fixed"!==d(e).position?e.offsetParent:null}function h(e){var t=n(e);for(e=m(e);e&&0<=["table","td","th"].indexOf(a(e));)e=m(e);return e&&"body"===a(e)&&"static"===d(e).position?t:e||t}function v(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function g(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function b(e){return e.split("-")[0]}function y(){for(var e=arguments.length,t=Array(e),n=0;n(g.devicePixelRatio||1)?"translate("+e+"px, "+u+"px)":"translate3d("+e+"px, "+u+"px, 0)",l)):Object.assign({},r,((t={})[v]=a?u+"px":"",t[m]=d?e+"px":"",t.transform="",t))}function j(e){return e.replace(/left|right|bottom|top/g,(function(e){return _[e]}))}function E(e){return e.replace(/start|end/g,(function(e){return U[e]}))}function D(e,t){var n=!(!t.getRootNode||!t.getRootNode().host);if(e.contains(t))return!0;if(n)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function L(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function k(e,o){if("viewport"===o)e=L({width:(e=n(e)).innerWidth,height:e.innerHeight,x:0,y:0});else if(i(o))e=t(o);else{var a=s(e);e=n(a),o=r(a),(a=p(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-o.scrollLeft,a.y=-o.scrollTop,e=L(a)}return e}function P(e,t,r){return t="clippingParents"===t?function(e){var t=l(e),n=0<=["absolute","fixed"].indexOf(d(e).position)&&i(e)?h(e):e;return o(n)?t.filter((function(e){return o(e)&&D(e,n)})):[]}(e):[].concat(t),(r=(r=[].concat(t,[r])).reduce((function(t,r){var o=k(e,r),p=n(r=i(r)?r:s(e)),c=i(r)?d(r):{};parseFloat(c.borderTopWidth);var u=parseFloat(c.borderRightWidth)||0,l=parseFloat(c.borderBottomWidth)||0,m=parseFloat(c.borderLeftWidth)||0;c="html"===a(r);var h=f(r),v=r.clientWidth+u,g=r.clientHeight+l;return c&&50m?u:c?p.innerWidth-v-h:r.offsetWidth-v,p=c?p.innerHeight-g:r.offsetHeight-g,r=c?h:r.clientLeft,t.top=Math.max(o.top+l,t.top),t.right=Math.min(o.right-u,t.right),t.bottom=Math.min(o.bottom-p,t.bottom),t.left=Math.max(o.left+r,t.left),t}),k(e,r[0]))).width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function B(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},{},e)}function W(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function H(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var p=r.altBoundary,c=void 0!==p&&p;r=B("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:W(r,q));var u=e.elements.reference;p=e.rects.popper,a=P(o(c=e.elements[c?"popper"===i?"reference":"popper":i])?c:c.contextElement||s(e.elements.popper),a,f),c=O({reference:f=t(u),element:p,strategy:"absolute",placement:n}),p=L(Object.assign({},p,{},c)),f="popper"===i?p:f;var d={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var l=e[n];Object.keys(d).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";d[e]+=l[n]*t}))}return d}function T(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function R(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var q=["top","bottom","right","left"],A=q.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),S=[].concat(q,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),C="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),F={placement:"bottom",modifiers:[],strategy:"absolute"},N={passive:!0},I={top:"auto",right:"auto",bottom:"auto",left:"auto"},_={left:"right",right:"left",bottom:"top",top:"bottom"},U={start:"end",end:"start"},V=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,N)})),a&&s.addEventListener("resize",r.update,N),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,N)})),a&&s.removeEventListener("resize",r.update,N)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=O({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e,n=void 0===(n=n.adaptive)||n,e={placement:b(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},t.styles.popper=Object.assign({},t.styles.popper,{},M(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n}))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},M(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:"absolute",left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=S.reduce((function(e,n){var o=t.rects,i=b(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign({},o,{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.y;t.modifiersData.popperOffsets.x+=o.x,t.modifiersData.popperOffsets.y+=i,t.modifiersData[n]=e}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.fallbackPlacements,o=n.padding,i=n.boundary,a=n.rootBoundary,s=n.altBoundary,f=void 0===(n=n.flipVariations)||n,p=b(n=t.options.placement);r=r||(p!==n&&f?function(e){if("auto"===b(e))return[];var t=j(e);return[E(e),t,E(t)]}(n):[j(n)]);var c=[n].concat(r).reduce((function(e,n){return e.concat("auto"===b(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.placement.split("-")[1],s=(a?i?A:A.filter((function(e){return e.split("-")[1]===a})):q).reduce((function(t,i){return t[i]=H(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[b(i)],t}),{});return Object.keys(s).sort((function(e,t){return s[e]-s[t]}))}(t,{placement:n,boundary:i,rootBoundary:a,padding:o,flipVariations:f}):n)}),[]);r=t.rects.reference,n=t.rects.popper;var u=new Map;p=!0;for(var d=c[0],l=0;ln[y]&&(v=j(v)),y=j(v),(h=[0>=x[h],0>=x[v],0>=x[y]]).every((function(e){return e}))){d=m,p=!1;break}u.set(m,h)}if(p)for(s=function(e){var t=c.find((function(t){if(t=u.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return d=t,"break"},r=f?3:1;0(g.devicePixelRatio||1)?"translate("+e+"px, "+u+"px)":"translate3d("+e+"px, "+u+"px, 0)",d)):Object.assign({},n,((t={})[v]=a?u+"px":"",t[m]=l?e+"px":"",t.transform="",t))}function j(e){return e.replace(/left|right|bottom|top/g,(function(e){return I[e]}))}function E(e){return e.replace(/start|end/g,(function(e){return _[e]}))}function D(e,t){var r=!(!t.getRootNode||!t.getRootNode().host);if(e.contains(t))return!0;if(r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function P(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function L(e,o){if("viewport"===o){var a=r(e);e=a.visualViewport,o=a.innerWidth,a=a.innerHeight,e&&/iPhone|iPod|iPad/.test(navigator.platform)&&(o=e.width,a=e.height),e=P({width:o,height:a,x:0,y:0})}else i(o)?e=t(o):(e=r(a=s(e)),o=n(a),(a=p(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-o.scrollLeft,a.y=-o.scrollTop,e=P(a));return e}function k(e,t,n){return t="clippingParents"===t?function(e){var t=d(e),r=0<=["absolute","fixed"].indexOf(l(e).position)&&i(e)?h(e):e;return o(r)?t.filter((function(e){return o(e)&&D(e,r)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){var o=L(e,n),p=r(n=i(n)?n:s(e)),c=i(n)?l(n):{};parseFloat(c.borderTopWidth);var u=parseFloat(c.borderRightWidth)||0,d=parseFloat(c.borderBottomWidth)||0,m=parseFloat(c.borderLeftWidth)||0;c="html"===a(n);var h=f(n),v=n.clientWidth+u,g=n.clientHeight+d;return c&&50m?u:c?p.innerWidth-v-h:n.offsetWidth-v,p=c?p.innerHeight-g:n.offsetHeight-g,n=c?h:n.clientLeft,t.top=Math.max(o.top+d,t.top),t.right=Math.min(o.right-u,t.right),t.bottom=Math.min(o.bottom-p,t.bottom),t.left=Math.max(o.left+n,t.left),t}),L(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function B(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},{},e)}function W(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}function H(e,r){void 0===r&&(r={});var n=r;r=void 0===(r=n.placement)?e.placement:r;var i=n.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=n.rootBoundary)?"viewport":i;i=void 0===(i=n.elementContext)?"popper":i;var p=n.altBoundary,c=void 0!==p&&p;n=B("number"!=typeof(n=void 0===(n=n.padding)?0:n)?n:W(n,R));var u=e.elements.reference;p=e.rects.popper,a=k(o(c=e.elements[c?"popper"===i?"reference":"popper":i])?c:c.contextElement||s(e.elements.popper),a,f),c=O({reference:f=t(u),element:p,strategy:"absolute",placement:r}),p=P(Object.assign({},p,{},c)),f="popper"===i?p:f;var l={top:a.top-f.top+n.top,bottom:f.bottom-a.bottom+n.bottom,left:a.left-f.left+n.left,right:f.right-a.right+n.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[r];Object.keys(l).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,r=0<=["top","bottom"].indexOf(e)?"y":"x";l[e]+=d[r]*t}))}return l}function T(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function A(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var R=["top","bottom","right","left"],q=R.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),S=[].concat(R,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),C="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),F={placement:"bottom",modifiers:[],strategy:"absolute"},N={passive:!0},V={top:"auto",right:"auto",bottom:"auto",left:"auto"},I={left:"right",right:"left",bottom:"top",top:"bottom"},_={start:"end",end:"start"},U=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=r(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",n.update,N)})),a&&s.addEventListener("resize",n.update,N),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",n.update,N)})),a&&s.removeEventListener("resize",n.update,N)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=O({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,r=e.options;e=void 0===(e=r.gpuAcceleration)||e,r=void 0===(r=r.adaptive)||r,e={placement:b(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,{},M(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},M(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},n=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,r),Object.keys(n).forEach((function(e){var t=n[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var n=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{}),i(n)&&a(n)&&(Object.assign(n.style,e),Object.keys(o).forEach((function(e){n.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.name,n=void 0===(e=e.options.offset)?[0,0]:e,o=(e=S.reduce((function(e,r){var o=t.rects,i=b(r),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof n?n(Object.assign({},o,{placement:r})):n;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[r]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[r]=e}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options;if(e=e.name,!t.modifiersData[e]._skip){var n=r.fallbackPlacements,o=r.padding,i=r.boundary,a=r.rootBoundary,s=r.altBoundary,f=r.flipVariations,p=void 0===f||f,c=r.allowedAutoPlacements;f=b(r=t.options.placement),n=n||(f!==r&&p?function(e){if("auto"===b(e))return[];var t=j(e);return[E(e),t,E(t)]}(r):[j(r)]);var u=[r].concat(n).reduce((function(e,r){return e.concat("auto"===b(r)?function(e,t){void 0===t&&(t={});var r=t.boundary,n=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?S:a,f=t.placement.split("-")[1],p=(f?i?q:q.filter((function(e){return e.split("-")[1]===f})):R).filter((function(e){return 0<=s.indexOf(e)})).reduce((function(t,i){return t[i]=H(e,{placement:i,boundary:r,rootBoundary:n,padding:o})[b(i)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:r,boundary:i,rootBoundary:a,padding:o,flipVariations:p,allowedAutoPlacements:c}):r)}),[]);n=t.rects.reference,r=t.rects.popper;var l=new Map;f=!0;for(var d=u[0],m=0;mr[w]&&(g=j(g)),w=j(g),(v=[0>=x[v],0>=x[g],0>=x[w]]).every((function(e){return e}))){d=h,f=!1;break}l.set(h,v)}if(f)for(s=function(e){var t=u.find((function(t){if(t=l.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return d=t,"break"},n=p?3:1;0 has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n document.ownerDocument || // Fallback to ownerDocument if available\n document.documentElement // Or to documentElement if everything else fails\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const target = isBody ? getWindow(scrollParent) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type {\n State,\n Options,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: Options = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: Offsets,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const { transitionProperty } = getComputedStyle(state.elements.popper);\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n // popper offsets are always available\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n\n // arrow offsets may not be available\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: Modifier);\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\nexport default function getOppositePlacement(placement: Placement): Placement {\n return (placement.replace(\n /left|right|bottom|top/g,\n matched => hash[matched]\n ): any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { start: 'end', end: 'start' };\n\nexport default function getOppositeVariationPlacement(\n placement: Placement\n): Placement {\n return (placement.replace(/start|end/g, matched => hash[matched]): any);\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n\n return {\n width: win.innerWidth,\n height: win.innerHeight,\n x: 0,\n y: 0,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type {\n ModifierArguments,\n Modifier,\n Rect,\n Options,\n SideObject,\n Offsets,\n} from '../types';\nimport { top, bottom, left, right } from '../enums';\nimport detectOverflow from '../utils/detectOverflow';\n\nfunction getSideOffsets(\n overflow: SideObject,\n rect: Rect,\n preventedOffsets: Offsets = { x: 0, y: 0 }\n): SideObject {\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x,\n };\n}\n\nfunction isAnySideFullyClipped(overflow: SideObject): boolean {\n return [top, right, bottom, left].some(side => overflow[side] >= 0);\n}\n\nfunction hide({ state, name }: ModifierArguments) {\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const preventedOffsets = state.modifiersData.preventOverflow;\n\n const referenceOverflow = detectOverflow(state, {\n elementContext: 'reference',\n });\n const popperAltOverflow = detectOverflow(state, {\n altBoundary: true,\n });\n\n const referenceClippingOffsets = getSideOffsets(\n referenceOverflow,\n referenceRect\n );\n const popperEscapeOffsets = getSideOffsets(\n popperAltOverflow,\n popperRect,\n preventedOffsets\n );\n\n const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n\n state.modifiersData[name] = {\n referenceClippingOffsets,\n popperEscapeOffsets,\n isReferenceHidden,\n hasPopperEscaped,\n };\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped,\n };\n}\n\nexport default ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide,\n}: Modifier);\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: Modifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\nimport offset from './modifiers/offset';\nimport flip from './modifiers/flip';\nimport preventOverflow from './modifiers/preventOverflow';\nimport arrow from './modifiers/arrow';\nimport hide from './modifiers/hide';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n offset,\n flip,\n preventOverflow,\n arrow,\n hide,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: Modifier<{||}>);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: 'absolute',\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: Modifier<{||}>);\n","// @flow\nimport type { Placement } from '../enums';\nimport type { ModifierArguments, Modifier, Rect, Offsets } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport { top, left, right, placements } from '../enums';\n\ntype OffsetsFunction = ({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n}) => [?number, ?number];\n\ntype Offset = OffsetsFunction | [?number, ?number];\n\ntype Options = {\n offset: Offset,\n};\n\nexport function distanceAndSkiddingToXY(\n placement: Placement,\n rects: { popper: Rect, reference: Rect },\n offset: Offset\n): Offsets {\n const basePlacement = getBasePlacement(placement);\n const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n let [skidding, distance] =\n typeof offset === 'function'\n ? offset({\n ...rects,\n placement,\n })\n : offset;\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n\n return [left, right].indexOf(basePlacement) >= 0\n ? { x: distance, y: skidding }\n : { x: skidding, y: distance };\n}\n\nfunction offset({ state, options, name }: ModifierArguments) {\n const { offset = [0, 0] } = options;\n\n const data = placements.reduce((acc, placement) => {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n\n const { x, y } = data[state.placement];\n\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n\n state.modifiersData[name] = data;\n}\n\nexport default ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset,\n}: Modifier);\n","// @flow\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { ModifierArguments, Modifier, Padding } from '../types';\nimport getOppositePlacement from '../utils/getOppositePlacement';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement';\nimport detectOverflow from '../utils/detectOverflow';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\nimport { bottom, top, start, right, left, auto } from '../enums';\nimport getVariation from '../utils/getVariation';\n\ntype Options = {\n fallbackPlacements: Array,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n altBoundary: boolean,\n flipVariations: boolean,\n};\n\nfunction getExpandedFallbackPlacements(placement: Placement): Array {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeVariationPlacement(placement),\n oppositePlacement,\n getOppositeVariationPlacement(oppositePlacement),\n ];\n}\n\nfunction flip({ state, options, name }: ModifierArguments) {\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n const {\n fallbackPlacements: specifiedFallbackPlacements,\n padding,\n boundary,\n rootBoundary,\n altBoundary,\n flipVariations = true,\n } = options;\n\n const preferredPlacement = state.options.placement;\n const basePlacement = getBasePlacement(preferredPlacement);\n const isBasePlacement = basePlacement === preferredPlacement;\n\n const fallbackPlacements =\n specifiedFallbackPlacements ||\n (isBasePlacement || !flipVariations\n ? [getOppositePlacement(preferredPlacement)]\n : getExpandedFallbackPlacements(preferredPlacement));\n\n const placements = [preferredPlacement, ...fallbackPlacements].reduce(\n (acc, placement) => {\n return acc.concat(\n getBasePlacement(placement) === auto\n ? computeAutoPlacement(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n })\n : placement\n );\n },\n []\n );\n\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n\n const checksMap = new Map();\n let makeFallbackChecks = true;\n let firstFittingPlacement = placements[0];\n\n for (let i = 0; i < placements.length; i++) {\n const placement = placements[i];\n const basePlacement = getBasePlacement(placement);\n const isStartVariation = getVariation(placement) === start;\n const isVertical = [top, bottom].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'width' : 'height';\n\n const overflow = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n });\n\n let mainVariationSide: any = isVertical\n ? isStartVariation\n ? right\n : left\n : isStartVariation\n ? bottom\n : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n const altVariationSide: any = getOppositePlacement(mainVariationSide);\n\n const checks = [\n overflow[basePlacement] <= 0,\n overflow[mainVariationSide] <= 0,\n overflow[altVariationSide] <= 0,\n ];\n\n if (checks.every(check => check)) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n const numberOfChecks = flipVariations ? 3 : 1;\n\n for (let i = numberOfChecks; i > 0; i--) {\n const fittingPlacement = placements.find(placement => {\n const checks = checksMap.get(placement);\n if (checks) {\n return checks.slice(0, i).every(check => check);\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n break;\n }\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n}\n\nexport default ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: { _skip: false },\n}: Modifier);\n","// @flow\nimport type { State, Padding } from '../types';\nimport type {\n Placement,\n BasePlacement,\n VariationPlacement,\n Boundary,\n RootBoundary,\n ComputedPlacement,\n} from '../enums';\nimport getVariation from './getVariation';\nimport { variationPlacements, basePlacements } from '../enums';\nimport detectOverflow from './detectOverflow';\nimport getBasePlacement from './getBasePlacement';\n\ntype Options = {\n placement: Placement,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n flipVariations: boolean,\n};\n\ntype OverflowsMap = {\n [BasePlacement | VariationPlacement]: number,\n};\n\nexport default function computeAutoPlacement(\n state: $Shape,\n options: Options = {}\n): Array {\n const {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n } = options;\n\n const variation = getVariation(placement);\n\n const placements = variation\n ? flipVariations\n ? variationPlacements\n : variationPlacements.filter(\n placement => getVariation(placement) === variation\n )\n : basePlacements;\n\n // $FlowFixMe: Flow seems to have problems with two array unions...\n const overflows: OverflowsMap = placements.reduce((acc, placement) => {\n acc[placement] = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n })[getBasePlacement(placement)];\n\n return acc;\n }, {});\n\n return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]);\n}\n","// @flow\nimport { top, left, right, bottom, start } from '../enums';\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { Rect, ModifierArguments, Modifier, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport getAltAxis from '../utils/getAltAxis';\nimport within from '../utils/within';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport detectOverflow from '../utils/detectOverflow';\nimport getVariation from '../utils/getVariation';\nimport getFreshSideObject from '../utils/getFreshSideObject';\n\ntype TetherOffset =\n | (({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n }) => number)\n | number;\n\ntype Options = {\n /* Prevents boundaries overflow on the main axis */\n mainAxis: boolean,\n /* Prevents boundaries overflow on the alternate axis */\n altAxis: boolean,\n /* The area to check the popper is overflowing in */\n boundary: Boundary,\n /* If the popper is not overflowing the main area, fallback to this one */\n rootBoundary: RootBoundary,\n /* Use the reference's \"clippingParents\" boundary context */\n altBoundary: boolean,\n /**\n * Allows the popper to overflow from its boundaries to keep it near its\n * reference element\n */\n tether: boolean,\n /* Offsets when the `tether` option should activate */\n tetherOffset: TetherOffset,\n /* Sets a padding to the provided boundary */\n padding: Padding,\n};\n\nfunction preventOverflow({ state, options, name }: ModifierArguments) {\n const {\n mainAxis: checkMainAxis = true,\n altAxis: checkAltAxis = false,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n tether = true,\n tetherOffset = 0,\n } = options;\n\n const overflow = detectOverflow(state, {\n boundary,\n rootBoundary,\n padding,\n altBoundary,\n });\n const basePlacement = getBasePlacement(state.placement);\n const variation = getVariation(state.placement);\n const isBasePlacement = !variation;\n const mainAxis = getMainAxisFromPlacement(basePlacement);\n const altAxis = getAltAxis(mainAxis);\n const popperOffsets = state.modifiersData.popperOffsets;\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const tetherOffsetValue =\n typeof tetherOffset === 'function'\n ? tetherOffset({\n ...state.rects,\n placement: state.placement,\n })\n : tetherOffset;\n\n const data = { x: 0, y: 0 };\n\n if (checkMainAxis) {\n const mainSide = mainAxis === 'y' ? top : left;\n const altSide = mainAxis === 'y' ? bottom : right;\n const len = mainAxis === 'y' ? 'height' : 'width';\n const offset = popperOffsets[mainAxis];\n\n const min = popperOffsets[mainAxis] + overflow[mainSide];\n const max = popperOffsets[mainAxis] - overflow[altSide];\n\n const additive = tether ? -popperRect[len] / 2 : 0;\n\n const minLen = variation === start ? referenceRect[len] : popperRect[len];\n const maxLen = variation === start ? -popperRect[len] : -referenceRect[len];\n\n // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n const arrowElement = state.elements.arrow;\n const arrowRect =\n tether && arrowElement\n ? getLayoutRect(arrowElement)\n : { width: 0, height: 0 };\n const arrowPaddingObject = state.modifiersData['arrow#persistent']\n ? state.modifiersData['arrow#persistent'].padding\n : getFreshSideObject();\n const arrowPaddingMin = arrowPaddingObject[mainSide];\n const arrowPaddingMax = arrowPaddingObject[altSide];\n\n // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n const arrowLen = within(0, referenceRect[len], arrowRect[len]);\n\n const minOffset = isBasePlacement\n ? referenceRect[len] / 2 -\n additive -\n arrowLen -\n arrowPaddingMin -\n tetherOffsetValue\n : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n const maxOffset = isBasePlacement\n ? -referenceRect[len] / 2 +\n additive +\n arrowLen +\n arrowPaddingMax +\n tetherOffsetValue\n : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientOffset = arrowOffsetParent\n ? mainAxis === 'y'\n ? arrowOffsetParent.clientTop || 0\n : arrowOffsetParent.clientLeft || 0\n : 0;\n\n const offsetModifierValue = state.modifiersData.offset\n ? state.modifiersData.offset[state.placement][mainAxis]\n : 0;\n\n const tetherMin =\n popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n const preventedOffset = within(\n tether ? Math.min(min, tetherMin) : min,\n offset,\n tether ? Math.max(max, tetherMax) : max\n );\n\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n const mainSide = mainAxis === 'x' ? top : left;\n const altSide = mainAxis === 'x' ? bottom : right;\n const offset = popperOffsets[altAxis];\n\n const min = offset + overflow[mainSide];\n const max = offset - overflow[altSide];\n\n const preventedOffset = within(min, offset, max);\n\n state.modifiersData.popperOffsets[altAxis] = preventedOffset;\n data[altAxis] = preventedOffset - offset;\n }\n\n state.modifiersData[name] = data;\n}\n\nexport default ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset'],\n}: Modifier);\n","// @flow\n\nexport default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {\n return axis === 'x' ? 'y' : 'x';\n}\n","// @flow\n\nexport default function within(\n min: number,\n value: number,\n max: number\n): number {\n return Math.max(min, Math.min(value, max));\n}\n","// @flow\nimport type { Modifier, ModifierArguments, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport contains from '../dom-utils/contains';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport within from '../utils/within';\nimport mergePaddingObject from '../utils/mergePaddingObject';\nimport expandToHashMap from '../utils/expandToHashMap';\nimport { left, right, basePlacements, top, bottom } from '../enums';\n\ntype Options = {\n element: HTMLElement | string,\n padding: Padding,\n};\n\nfunction arrow({ state, name }: ModifierArguments) {\n const arrowElement = state.elements.arrow;\n const popperOffsets = state.modifiersData.popperOffsets;\n const basePlacement = getBasePlacement(state.placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const isVertical = [left, right].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'height' : 'width';\n\n if (!arrowElement) {\n return;\n }\n\n const paddingObject = state.modifiersData[`${name}#persistent`].padding;\n const arrowRect = getLayoutRect(arrowElement);\n const minProp = axis === 'y' ? top : left;\n const maxProp = axis === 'y' ? bottom : right;\n\n const endDiff =\n state.rects.reference[len] +\n state.rects.reference[axis] -\n popperOffsets[axis] -\n state.rects.popper[len];\n const startDiff = popperOffsets[axis] - state.rects.reference[axis];\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientSize = arrowOffsetParent\n ? axis === 'y'\n ? arrowOffsetParent.clientHeight || 0\n : arrowOffsetParent.clientWidth || 0\n : 0;\n\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n const min = paddingObject[minProp];\n const max = clientSize - arrowRect[len] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n const offset = within(min, center, max);\n\n // Prevents breaking syntax highlighting...\n const axisProp: string = axis;\n state.modifiersData[name] = {\n [axisProp]: offset,\n centerOffset: offset - center,\n };\n}\n\nfunction effect({ state, options, name }: ModifierArguments) {\n let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options;\n\n // CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (__DEV__) {\n console.error(\n [\n 'Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\n 'element.',\n ].join(' ')\n );\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[`${name}#persistent`] = {\n padding: mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n ),\n };\n}\n\nexport default ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow'],\n}: Modifier);\n"],"names":["getBoundingClientRect","element","width","rect","height","top","right","bottom","left","x","y","getWindow","node","ownerDocument","window","getWindowScroll","scrollLeft","win","scrollTop","isElement","isHTMLElement","getNodeName","getDocumentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","documentElement","getLayoutRect","getParentNode","document","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","isBody","target","updatedList","getTrueOffsetParent","getOffsetParent","order","modifiers","map","Map","visited","Set","result","modifier","dep","depModifier","sort","debounce","fn","pending","Promise","resolve","undefined","getBasePlacement","placement","areValidElements","args","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","DEFAULT_OPTIONS","reference","popper","options","effectCleanupFns","state","orderedModifiers","modifiersData","elements","attributes","styles","isDestroyed","instance","setOptions","cleanupModifierEffects","orderModifiers","acc","phase","mergeByName","merged","current","existing","data","key","m","name","cleanupFn","effect","noopFn","forceUpdate","index","update","destroy","getMainAxisFromPlacement","computeOffsets","basePlacement","commonX","commonY","mainAxis","len","variation","start","Math","end","mapToStyles","popperRect","position","gpuAcceleration","adaptive","dpr","hasX","sideX","sideY","commonStyles","unsetSides","hasY","getOppositePlacement","matched","getOppositeVariationPlacement","contains","parent","child","isShadow","next","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","documentRect","winScroll","getClippingRect","boundary","rootBoundary","mainClippingParents","getClippingParents","clippingParents","clipperElement","accRect","computedStyle","parseFloat","winScrollBarX","borders","isHTML","decorations","clippingRect","mergePaddingObject","paddingObject","expandToHashMap","value","keys","hashMap","detectOverflow","altBoundary","padding","basePlacements","referenceElement","elementContext","strategy","popperOffsets","popperClientRect","referenceClientRect","overflowOffsets","clippingClientRect","elementClientRect","offsetData","offset","multiply","axis","overflow","preventedOffsets","isAnySideFullyClipped","side","variationPlacements","placements","auto","modifierPhases","passive","hash","eventListeners","enabled","resize","scrollParents","popperOffsets$1","computeStyles$1","computeStyles","applyStyles$1","applyStyles","style","Object","effect$1","initialStyles","margin","arrow","property","attribute","requires","offset$1","distanceAndSkiddingToXY","invertDistance","rects","distance","skidding","flip$1","flip","specifiedFallbackPlacements","flipVariations","preferredPlacement","getExpandedFallbackPlacements","oppositePlacement","fallbackPlacements","computeAutoPlacement","overflows","a","b","checksMap","firstFittingPlacement","i","isStartVariation","isVertical","mainVariationSide","altVariationSide","check","checks","makeFallbackChecks","fittingPlacement","requiresIfExists","_skip","preventOverflow$1","preventOverflow","checkMainAxis","tetherOffset","isBasePlacement","referenceRect","tetherOffsetValue","mainSide","altSide","min","max","additive","tether","minLen","arrowElement","arrowPaddingObject","arrowRect","arrowLen","arrowPaddingMin","arrowPaddingMax","maxLen","minOffset","offsetModifierValue","arrowOffsetParent","maxOffset","tetherMin","tetherMax","preventedOffset","checkAltAxis","altAxis","arrow$1","minProp","maxProp","endDiff","startDiff","center","clientSize","effect$2","hide$1","hide","referenceOverflow","popperAltOverflow","getSideOffsets","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","createPopper"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"popper.min.js","sources":["../../src/dom-utils/getBoundingClientRect.js","../../src/dom-utils/getWindow.js","../../src/dom-utils/getWindowScroll.js","../../src/dom-utils/instanceOf.js","../../src/dom-utils/getNodeName.js","../../src/dom-utils/getDocumentElement.js","../../src/dom-utils/getWindowScrollBarX.js","../../src/dom-utils/getCompositeRect.js","../../src/dom-utils/getNodeScroll.js","../../src/dom-utils/getHTMLElementScroll.js","../../src/dom-utils/getLayoutRect.js","../../src/dom-utils/getParentNode.js","../../src/dom-utils/getComputedStyle.js","../../src/dom-utils/listScrollParents.js","../../src/dom-utils/getScrollParent.js","../../src/dom-utils/getOffsetParent.js","../../src/dom-utils/isTableElement.js","../../src/utils/orderModifiers.js","../../src/utils/debounce.js","../../src/utils/getBasePlacement.js","../../src/index.js","../../src/utils/mergeByName.js","../../src/utils/getMainAxisFromPlacement.js","../../src/utils/computeOffsets.js","../../src/utils/getVariation.js","../../src/enums.js","../../src/modifiers/computeStyles.js","../../src/utils/getOppositePlacement.js","../../src/utils/getOppositeVariationPlacement.js","../../src/dom-utils/contains.js","../../src/utils/rectToClientRect.js","../../src/dom-utils/getClippingRect.js","../../src/dom-utils/getViewportRect.js","../../src/dom-utils/getDocumentRect.js","../../src/dom-utils/getDecorations.js","../../src/dom-utils/getBorders.js","../../src/utils/mergePaddingObject.js","../../src/utils/getFreshSideObject.js","../../src/utils/expandToHashMap.js","../../src/utils/detectOverflow.js","../../src/modifiers/hide.js","../../src/modifiers/eventListeners.js","../../src/popper.js","../../src/modifiers/popperOffsets.js","../../src/modifiers/applyStyles.js","../../src/modifiers/offset.js","../../src/modifiers/flip.js","../../src/utils/computeAutoPlacement.js","../../src/modifiers/preventOverflow.js","../../src/utils/getAltAxis.js","../../src/utils/within.js","../../src/modifiers/arrow.js"],"sourcesContent":["// @flow\nimport type { ClientRectObject, VirtualElement } from '../types';\n\nexport default function getBoundingClientRect(\n element: Element | VirtualElement\n): ClientRectObject {\n const rect = element.getBoundingClientRect();\n\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top,\n };\n}\n","// @flow\n/*:: import type { Window } from '../types'; */\n/*:: declare function getWindow(node: Node | Window): Window; */\n\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}\n","// @flow\nimport getWindow from './getWindow';\nimport type { Window } from '../types';\n\nexport default function getWindowScroll(node: Node | Window) {\n const win = getWindow(node);\n const scrollLeft = win.pageXOffset;\n const scrollTop = win.pageYOffset;\n\n return {\n scrollLeft,\n scrollTop,\n };\n}\n","// @flow\nimport getWindow from './getWindow';\n\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n const OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\nfunction isHTMLElement(node) {\n const OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };\n","// @flow\nimport type { Window } from '../types';\n\nexport default function getNodeName(element: ?Node | Window): ?string {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n","// @flow\nimport { isElement } from './instanceOf';\nimport type { Window } from '../types';\n\nexport default function getDocumentElement(\n element: Element | Window\n): HTMLElement {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document)\n .documentElement;\n}\n","// @flow\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getWindowScrollBarX(element: Element): number {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (\n getBoundingClientRect(getDocumentElement(element)).left +\n getWindowScroll(element).scrollLeft\n );\n}\n","// @flow\nimport type { Rect, VirtualElement, Window } from '../types';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getNodeScroll from './getNodeScroll';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\nimport getWindowScrollBarX from './getWindowScrollBarX';\nimport getDocumentElement from './getDocumentElement';\n\n// Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\nexport default function getCompositeRect(\n elementOrVirtualElement: Element | VirtualElement,\n offsetParent: Element | Window,\n isFixed: boolean = false\n): Rect {\n let documentElement;\n const rect = getBoundingClientRect(elementOrVirtualElement);\n\n let scroll = { scrollLeft: 0, scrollTop: 0 };\n let offsets = { x: 0, y: 0 };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if ((documentElement = getDocumentElement(offsetParent))) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height,\n };\n}\n","// @flow\nimport getWindowScroll from './getWindowScroll';\nimport getWindow from './getWindow';\nimport { isHTMLElement } from './instanceOf';\nimport getHTMLElementScroll from './getHTMLElementScroll';\nimport type { Window } from '../types';\n\nexport default function getNodeScroll(node: Node | Window) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n","// @flow\n\nexport default function getHTMLElementScroll(element: HTMLElement) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop,\n };\n}\n","// @flow\nimport type { Rect } from '../types';\n\n// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element: HTMLElement): Rect {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight,\n };\n}\n","// @flow\nimport getNodeName from './getNodeName';\nimport getDocumentElement from './getDocumentElement';\n\nexport default function getParentNode(element: Node | ShadowRoot): Node {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (\n // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n );\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getComputedStyle(\n element: Element\n): CSSStyleDeclaration {\n return getWindow(element).getComputedStyle(element);\n}\n","// @flow\nimport getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport type { Window, VisualViewport } from '../types';\n\nexport default function listScrollParents(\n element: Node,\n list: Array = []\n): Array {\n const scrollParent = getScrollParent(element);\n const isBody = getNodeName(scrollParent) === 'body';\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n const updatedList = list.concat(target);\n\n return isBody\n ? updatedList\n : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n","// @flow\nimport getParentNode from './getParentNode';\nimport getComputedStyle from './getComputedStyle';\nimport getNodeName from './getNodeName';\nimport { isHTMLElement } from './instanceOf';\n\nexport default function getScrollParent(node: Node): HTMLElement {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(node);\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}\n","// @flow\nimport getWindow from './getWindow';\nimport getNodeName from './getNodeName';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\nimport isTableElement from './isTableElement';\n\nfunction getTrueOffsetParent(element: Element): ?Element {\n if (\n !isHTMLElement(element) ||\n // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed'\n ) {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element: Element) {\n const window = getWindow(element);\n\n let offsetParent = getTrueOffsetParent(element);\n\n // Find the nearest non-table offsetParent\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (\n offsetParent &&\n getNodeName(offsetParent) === 'body' &&\n getComputedStyle(offsetParent).position === 'static'\n ) {\n return window;\n }\n\n return offsetParent || window;\n}\n","// @flow\nimport getNodeName from './getNodeName';\n\nexport default function isTableElement(element: Element): boolean {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n","// @flow\nimport type { Modifier } from '../types';\nimport { modifierPhases } from '../enums';\n\n// source: https://stackoverflow.com/questions/49875255\nfunction order(modifiers) {\n const map = new Map();\n const visited = new Set();\n const result = [];\n\n modifiers.forEach(modifier => {\n map.set(modifier.name, modifier);\n });\n\n // On visiting object, check for its dependencies and visit them recursively\n function sort(modifier: Modifier) {\n visited.add(modifier.name);\n\n const requires = [\n ...(modifier.requires || []),\n ...(modifier.requiresIfExists || []),\n ];\n\n requires.forEach(dep => {\n if (!visited.has(dep)) {\n const depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n\n result.push(modifier);\n }\n\n modifiers.forEach(modifier => {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n\n return result;\n}\n\nexport default function orderModifiers(\n modifiers: Array>\n): Array> {\n // order based on dependencies\n const orderedModifiers = order(modifiers);\n\n // order based on phase\n return modifierPhases.reduce((acc, phase) => {\n return acc.concat(\n orderedModifiers.filter(modifier => modifier.phase === phase)\n );\n }, []);\n}\n","// @flow\n\nexport default function debounce(fn: Function): () => Promise {\n let pending;\n return () => {\n if (!pending) {\n pending = new Promise(resolve => {\n Promise.resolve().then(() => {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n","// @flow\nimport { type BasePlacement, type Placement, auto } from '../enums';\n\nexport default function getBasePlacement(\n placement: Placement | typeof auto\n): BasePlacement {\n return (placement.split('-')[0]: any);\n}\n","// @flow\nimport type {\n State,\n OptionsGeneric,\n Modifier,\n Instance,\n VirtualElement,\n} from './types';\nimport getCompositeRect from './dom-utils/getCompositeRect';\nimport getLayoutRect from './dom-utils/getLayoutRect';\nimport listScrollParents from './dom-utils/listScrollParents';\nimport getOffsetParent from './dom-utils/getOffsetParent';\nimport getComputedStyle from './dom-utils/getComputedStyle';\nimport orderModifiers from './utils/orderModifiers';\nimport debounce from './utils/debounce';\nimport validateModifiers from './utils/validateModifiers';\nimport uniqueBy from './utils/uniqueBy';\nimport getBasePlacement from './utils/getBasePlacement';\nimport mergeByName from './utils/mergeByName';\nimport { isElement } from './dom-utils/instanceOf';\nimport { auto } from './enums';\n\nexport type * from './types';\nexport * from './enums';\n\nconst INVALID_ELEMENT_ERROR =\n 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nconst INFINITE_LOOP_ERROR =\n 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\n\nconst DEFAULT_OPTIONS: OptionsGeneric = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute',\n};\n\ntype PopperGeneratorArgs = {\n defaultModifiers?: Array>,\n defaultOptions?: $Shape>,\n};\n\nfunction areValidElements(...args: Array): boolean {\n return !args.some(\n element => !(element && typeof element.getBoundingClientRect === 'function')\n );\n}\n\nexport function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) {\n const {\n defaultModifiers = [],\n defaultOptions = DEFAULT_OPTIONS,\n } = generatorOptions;\n\n return function createPopper>>(\n reference: Element | VirtualElement,\n popper: HTMLElement,\n options: $Shape> = defaultOptions\n ): Instance {\n let state: $Shape = {\n placement: 'bottom',\n orderedModifiers: [],\n options: { ...DEFAULT_OPTIONS, ...defaultOptions },\n modifiersData: {},\n elements: {\n reference,\n popper,\n },\n attributes: {},\n styles: {},\n };\n\n let effectCleanupFns: Array<() => void> = [];\n let isDestroyed = false;\n\n const instance = {\n state,\n setOptions(options) {\n cleanupModifierEffects();\n\n state.options = {\n // $FlowFixMe\n ...defaultOptions,\n ...state.options,\n ...options,\n };\n\n state.scrollParents = {\n reference: isElement(reference)\n ? listScrollParents(reference)\n : reference.contextElement\n ? listScrollParents(reference.contextElement)\n : [],\n popper: listScrollParents(popper),\n };\n\n // Orders the modifiers based on their dependencies and `phase`\n // properties\n const orderedModifiers = orderModifiers(\n mergeByName([...defaultModifiers, ...state.options.modifiers])\n );\n\n // Strip out disabled modifiers\n state.orderedModifiers = orderedModifiers.filter(m => m.enabled);\n\n // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n if (__DEV__) {\n const modifiers = uniqueBy(\n [...orderedModifiers, ...state.options.modifiers],\n ({ name }) => name\n );\n\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n const flipModifier = state.orderedModifiers.find(\n ({ name }) => name === 'flip'\n );\n\n if (!flipModifier) {\n console.error(\n [\n 'Popper: \"auto\" placements require the \"flip\" modifier be',\n 'present and enabled to work.',\n ].join(' ')\n );\n }\n }\n\n const {\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n } = getComputedStyle(popper);\n\n // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n if (\n [marginTop, marginRight, marginBottom, marginLeft].some(margin =>\n parseFloat(margin)\n )\n ) {\n console.warn(\n [\n 'Popper: CSS \"margin\" styles cannot be used to apply padding',\n 'between the popper and its reference element or boundary.',\n 'To replicate margin, use the `offset` modifier, as well as',\n 'the `padding` option in the `preventOverflow` and `flip`',\n 'modifiers.',\n ].join(' ')\n );\n }\n }\n\n runModifierEffects();\n\n return instance.update();\n },\n\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n const { reference, popper } = state.elements;\n\n // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n\n // Store the reference and popper rects to be read by modifiers\n state.rects = {\n reference: getCompositeRect(\n reference,\n getOffsetParent(popper),\n state.options.strategy === 'fixed'\n ),\n popper: getLayoutRect(popper),\n };\n\n // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n state.reset = false;\n\n state.placement = state.options.placement;\n\n // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n state.orderedModifiers.forEach(\n modifier =>\n (state.modifiersData[modifier.name] = {\n ...modifier.data,\n })\n );\n\n let __debug_loops__ = 0;\n for (let index = 0; index < state.orderedModifiers.length; index++) {\n if (__DEV__) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n const { fn, options = {}, name } = state.orderedModifiers[index];\n\n if (typeof fn === 'function') {\n state = fn({ state, options, name, instance }) || state;\n }\n }\n },\n\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce<$Shape>(\n () =>\n new Promise<$Shape>(resolve => {\n instance.forceUpdate();\n resolve(state);\n })\n ),\n\n destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n },\n };\n\n if (!areValidElements(reference, popper)) {\n if (__DEV__) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n\n instance.setOptions(options).then(state => {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n });\n\n // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n function runModifierEffects() {\n state.orderedModifiers.forEach(({ name, options = {}, effect }) => {\n if (typeof effect === 'function') {\n const cleanupFn = effect({ state, name, instance, options });\n const noopFn = () => {};\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(fn => fn());\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nexport const createPopper = popperGenerator();\n","// @flow\nimport type { Modifier } from '../types';\n\nexport default function mergeByName(\n modifiers: Array<$Shape>>\n): Array<$Shape>> {\n const merged = modifiers.reduce((merged, current) => {\n const existing = merged[current.name];\n merged[current.name] = existing\n ? {\n ...existing,\n ...current,\n options: { ...existing.options, ...current.options },\n data: { ...existing.data, ...current.data },\n }\n : current;\n return merged;\n }, {});\n\n // IE11 does not support Object.values\n return Object.keys(merged).map(key => merged[key]);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nexport default function getMainAxisFromPlacement(\n placement: Placement\n): 'x' | 'y' {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n","// @flow\nimport getBasePlacement from './getBasePlacement';\nimport getVariation from './getVariation';\nimport getMainAxisFromPlacement from './getMainAxisFromPlacement';\nimport type {\n Rect,\n PositioningStrategy,\n Offsets,\n ClientRectObject,\n} from '../types';\nimport { top, right, bottom, left, start, end, type Placement } from '../enums';\n\nexport default function computeOffsets({\n reference,\n element,\n placement,\n}: {\n reference: Rect | ClientRectObject,\n element: Rect | ClientRectObject,\n strategy: PositioningStrategy,\n placement?: Placement,\n}): Offsets {\n const basePlacement = placement ? getBasePlacement(placement) : null;\n const variation = placement ? getVariation(placement) : null;\n const commonX = reference.x + reference.width / 2 - element.width / 2;\n const commonY = reference.y + reference.height / 2 - element.height / 2;\n\n let offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height,\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height,\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY,\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY,\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y,\n };\n }\n\n const mainAxis = basePlacement\n ? getMainAxisFromPlacement(basePlacement)\n : null;\n\n if (mainAxis != null) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) -\n Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] =\n Math.floor(offsets[mainAxis]) +\n Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n\n return offsets;\n}\n","// @flow\nimport { type Variation, type Placement } from '../enums';\n\nexport default function getVariation(placement: Placement): ?Variation {\n return (placement.split('-')[1]: any);\n}\n","// @flow\nexport const top: 'top' = 'top';\nexport const bottom: 'bottom' = 'bottom';\nexport const right: 'right' = 'right';\nexport const left: 'left' = 'left';\nexport const auto: 'auto' = 'auto';\nexport type BasePlacement =\n | typeof top\n | typeof bottom\n | typeof right\n | typeof left;\nexport const basePlacements: Array = [top, bottom, right, left];\n\nexport const start: 'start' = 'start';\nexport const end: 'end' = 'end';\nexport type Variation = typeof start | typeof end;\n\nexport const clippingParents: 'clippingParents' = 'clippingParents';\nexport const viewport: 'viewport' = 'viewport';\nexport type Boundary =\n | HTMLElement\n | Array\n | typeof clippingParents;\nexport type RootBoundary = typeof viewport | 'document';\n\nexport const popper: 'popper' = 'popper';\nexport const reference: 'reference' = 'reference';\nexport type Context = typeof popper | typeof reference;\n\nexport type VariationPlacement =\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end';\nexport type AutoPlacement = 'auto' | 'auto-start' | 'auto-end';\nexport type ComputedPlacement = VariationPlacement | BasePlacement;\nexport type Placement = AutoPlacement | BasePlacement | VariationPlacement;\n\nexport const variationPlacements: Array = basePlacements.reduce(\n (acc: Array, placement: BasePlacement) =>\n acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]),\n []\n);\nexport const placements: Array = [...basePlacements, auto].reduce(\n (\n acc: Array,\n placement: BasePlacement | typeof auto\n ): Array =>\n acc.concat([\n placement,\n (`${placement}-${start}`: any),\n (`${placement}-${end}`: any),\n ]),\n []\n);\n\n// modifiers that need to read the DOM\nexport const beforeRead: 'beforeRead' = 'beforeRead';\nexport const read: 'read' = 'read';\nexport const afterRead: 'afterRead' = 'afterRead';\n// pure-logic modifiers\nexport const beforeMain: 'beforeMain' = 'beforeMain';\nexport const main: 'main' = 'main';\nexport const afterMain: 'afterMain' = 'afterMain';\n// modifier with the purpose to write to the DOM (or write into a framework state)\nexport const beforeWrite: 'beforeWrite' = 'beforeWrite';\nexport const write: 'write' = 'write';\nexport const afterWrite: 'afterWrite' = 'afterWrite';\nexport const modifierPhases: Array = [\n beforeRead,\n read,\n afterRead,\n beforeMain,\n main,\n afterMain,\n beforeWrite,\n write,\n afterWrite,\n];\n\nexport type ModifierPhases =\n | typeof beforeRead\n | typeof read\n | typeof afterRead\n | typeof beforeMain\n | typeof main\n | typeof afterMain\n | typeof beforeWrite\n | typeof write\n | typeof afterWrite;\n","// @flow\nimport type {\n PositioningStrategy,\n Offsets,\n Modifier,\n ModifierArguments,\n Rect,\n Window,\n} from '../types';\nimport { type BasePlacement, top, left, right, bottom } from '../enums';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getWindow from '../dom-utils/getWindow';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport getComputedStyle from '../dom-utils/getComputedStyle';\nimport getBasePlacement from '../utils/getBasePlacement';\n\ntype Options = {\n gpuAcceleration: boolean,\n adaptive: boolean,\n};\n\nconst unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n\n// Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\nfunction roundOffsets({ x, y }): Offsets {\n const win: Window = window;\n const dpr = win.devicePixelRatio || 1;\n\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0,\n };\n}\n\nexport function mapToStyles({\n popper,\n popperRect,\n placement,\n offsets,\n position,\n gpuAcceleration,\n adaptive,\n}: {\n popper: HTMLElement,\n popperRect: Rect,\n placement: BasePlacement,\n offsets: $Shape<{ x: number, y: number, centerOffset: number }>,\n position: PositioningStrategy,\n gpuAcceleration: boolean,\n adaptive: boolean,\n}) {\n let { x, y } = roundOffsets(offsets);\n\n const hasX = offsets.hasOwnProperty('x');\n const hasY = offsets.hasOwnProperty('y');\n\n let sideX: string = left;\n let sideY: string = top;\n\n const win: Window = window;\n\n if (adaptive) {\n let offsetParent = getOffsetParent(popper);\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n }\n\n // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n /*:: offsetParent = (offsetParent: Element); */\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n const commonStyles = {\n position,\n ...(adaptive && unsetSides),\n };\n\n if (gpuAcceleration) {\n return {\n ...commonStyles,\n [sideY]: hasY ? '0' : '',\n [sideX]: hasX ? '0' : '',\n // Layer acceleration can disable subpixel rendering which causes slightly\n // blurry text on low PPI displays, so we want to use 2D transforms\n // instead\n transform:\n (win.devicePixelRatio || 1) < 2\n ? `translate(${x}px, ${y}px)`\n : `translate3d(${x}px, ${y}px, 0)`,\n };\n }\n\n return {\n ...commonStyles,\n [sideY]: hasY ? `${y}px` : '',\n [sideX]: hasX ? `${x}px` : '',\n transform: '',\n };\n}\n\nfunction computeStyles({ state, options }: ModifierArguments) {\n const { gpuAcceleration = true, adaptive = true } = options;\n\n if (__DEV__) {\n const transitionProperty =\n getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (\n adaptive &&\n ['transform', 'top', 'right', 'bottom', 'left'].some(\n property => transitionProperty.indexOf(property) >= 0\n )\n ) {\n console.warn(\n [\n 'Popper: Detected CSS transitions on at least one of the following',\n 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".',\n '\\n\\n',\n 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow',\n 'for smooth transitions, or remove these properties from the CSS',\n 'transition declaration on the popper element if only transitioning',\n 'opacity or background-color for example.',\n '\\n\\n',\n 'We recommend using the popper element as a wrapper around an inner',\n 'element that can have any CSS property transitioned for animations.',\n ].join(' ')\n );\n }\n }\n\n const commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = {\n ...state.styles.popper,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n }),\n };\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = {\n ...state.styles.arrow,\n ...mapToStyles({\n ...commonStyles,\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n }),\n };\n }\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-placement': state.placement,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ComputeStylesModifier = Modifier<'computeStyles', Options>;\nexport default ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {},\n}: ComputeStylesModifier);\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n\nexport default function getOppositePlacement(placement: Placement): Placement {\n return (placement.replace(\n /left|right|bottom|top/g,\n matched => hash[matched]\n ): any);\n}\n","// @flow\nimport type { Placement } from '../enums';\n\nconst hash = { start: 'end', end: 'start' };\n\nexport default function getOppositeVariationPlacement(\n placement: Placement\n): Placement {\n return (placement.replace(/start|end/g, matched => hash[matched]): any);\n}\n","// @flow\nexport default function contains(parent: Element, child: Element) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n const isShadow = Boolean(child.getRootNode && child.getRootNode().host);\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n let next = child;\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n }\n // $FlowFixMe: need a better way to handle this...\n next = next.parentNode || next.host;\n } while (next);\n }\n\n // Give up, the result is false\n return false;\n}\n","// @flow\nimport type { Rect, ClientRectObject } from '../types';\n\nexport default function rectToClientRect(rect: Rect): ClientRectObject {\n return {\n ...rect,\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height,\n };\n}\n","// @flow\nimport type { ClientRectObject } from '../types';\nimport type { Boundary, RootBoundary } from '../enums';\nimport { viewport } from '../enums';\nimport getViewportRect from './getViewportRect';\nimport getDocumentRect from './getDocumentRect';\nimport listScrollParents from './listScrollParents';\nimport getOffsetParent from './getOffsetParent';\nimport getDocumentElement from './getDocumentElement';\nimport getComputedStyle from './getComputedStyle';\nimport { isElement, isHTMLElement } from './instanceOf';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getDecorations from './getDecorations';\nimport contains from './contains';\nimport rectToClientRect from '../utils/rectToClientRect';\n\nfunction getClientRectFromMixedType(\n element: Element,\n clippingParent: Element | RootBoundary\n): ClientRectObject {\n return clippingParent === viewport\n ? rectToClientRect(getViewportRect(element))\n : isHTMLElement(clippingParent)\n ? getBoundingClientRect(clippingParent)\n : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\n\n// A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\nfunction getClippingParents(element: Element): Array {\n const clippingParents = listScrollParents(element);\n const canEscapeClipping =\n ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n const clipperElement =\n canEscapeClipping && isHTMLElement(element)\n ? getOffsetParent(element)\n : element;\n\n if (!isElement(clipperElement)) {\n return [];\n }\n\n // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n return clippingParents.filter(\n clippingParent =>\n isElement(clippingParent) && contains(clippingParent, clipperElement)\n );\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping parents\nexport default function getClippingRect(\n element: Element,\n boundary: Boundary,\n rootBoundary: RootBoundary\n): ClientRectObject {\n const mainClippingParents =\n boundary === 'clippingParents'\n ? getClippingParents(element)\n : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromMixedType(element, clippingParent);\n const decorations = getDecorations(\n isHTMLElement(clippingParent)\n ? clippingParent\n : getDocumentElement(element)\n );\n\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n\n return clippingRect;\n}\n","// @flow\nimport getWindow from './getWindow';\n\nexport default function getViewportRect(element: Element) {\n const win = getWindow(element);\n const visualViewport = win.visualViewport;\n\n let width = win.innerWidth;\n let height = win.innerHeight;\n\n // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return { width, height, x: 0, y: 0 };\n}\n","// @flow\nimport type { Rect } from '../types';\nimport getCompositeRect from './getCompositeRect';\nimport getWindow from './getWindow';\nimport getDocumentElement from './getDocumentElement';\nimport getWindowScroll from './getWindowScroll';\n\nexport default function getDocumentRect(element: HTMLElement): Rect {\n const win = getWindow(element);\n const winScroll = getWindowScroll(element);\n const documentRect = getCompositeRect(getDocumentElement(element), win);\n\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n\n return documentRect;\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getBorders from './getBorders';\nimport getNodeName from './getNodeName';\nimport getWindow from './getWindow';\nimport getWindowScrollBarX from './getWindowScrollBarX';\n\n// Borders + scrollbars\nexport default function getDecorations(element: HTMLElement): SideObject {\n const win = getWindow(element);\n const borders = getBorders(element);\n const isHTML = getNodeName(element) === 'html';\n const winScrollBarX = getWindowScrollBarX(element);\n\n const x = element.clientWidth + borders.right;\n let y = element.clientHeight + borders.bottom;\n\n // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right:\n // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left\n ? borders.right\n : // LTR scrollbar\n isHTML\n ? win.innerWidth - x - winScrollBarX\n : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getComputedStyle from './getComputedStyle';\nimport { isHTMLElement } from './instanceOf';\n\nfunction toNumber(cssValue: string): number {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element: Element): SideObject {\n const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth),\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\nimport getFreshSideObject from './getFreshSideObject';\n\nexport default function mergePaddingObject(\n paddingObject: $Shape\n): SideObject {\n return {\n ...getFreshSideObject(),\n ...paddingObject,\n };\n}\n","// @flow\nimport type { SideObject } from '../types';\n\nexport default function getFreshSideObject(): SideObject {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n}\n","// @flow\n\nexport default function expandToHashMap<\n T: number | string | boolean,\n K: string\n>(value: T, keys: Array): { [key: string]: T } {\n return keys.reduce((hashMap, key) => {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n","// @flow\nimport type { State, SideObject, Padding } from '../types';\nimport type { Placement, Boundary, RootBoundary, Context } from '../enums';\nimport getBoundingClientRect from '../dom-utils/getBoundingClientRect';\nimport getClippingRect from '../dom-utils/getClippingRect';\nimport getDocumentElement from '../dom-utils/getDocumentElement';\nimport computeOffsets from './computeOffsets';\nimport rectToClientRect from './rectToClientRect';\nimport {\n clippingParents,\n reference,\n popper,\n bottom,\n top,\n right,\n basePlacements,\n viewport,\n} from '../enums';\nimport { isElement } from '../dom-utils/instanceOf';\nimport mergePaddingObject from './mergePaddingObject';\nimport expandToHashMap from './expandToHashMap';\n\ntype Options = {\n placement: Placement,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n elementContext: Context,\n altBoundary: boolean,\n padding: Padding,\n};\n\nexport default function detectOverflow(\n state: State,\n options: $Shape = {}\n): SideObject {\n const {\n placement = state.placement,\n boundary = clippingParents,\n rootBoundary = viewport,\n elementContext = popper,\n altBoundary = false,\n padding = 0,\n } = options;\n\n const paddingObject = mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n );\n\n const altContext = elementContext === popper ? reference : popper;\n\n const referenceElement = state.elements.reference;\n const popperRect = state.rects.popper;\n const element = state.elements[altBoundary ? altContext : elementContext];\n\n const clippingClientRect = getClippingRect(\n isElement(element)\n ? element\n : element.contextElement || getDocumentElement(state.elements.popper),\n boundary,\n rootBoundary\n );\n\n const referenceClientRect = getBoundingClientRect(referenceElement);\n\n const popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement,\n });\n\n const popperClientRect = rectToClientRect({\n ...popperRect,\n ...popperOffsets,\n });\n\n const elementClientRect =\n elementContext === popper ? popperClientRect : referenceClientRect;\n\n // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n const overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom:\n elementClientRect.bottom -\n clippingClientRect.bottom +\n paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right:\n elementClientRect.right - clippingClientRect.right + paddingObject.right,\n };\n\n const offsetData = state.modifiersData.offset;\n\n // Offsets can be applied only to the popper element\n if (elementContext === popper && offsetData) {\n const offset = offsetData[placement];\n\n Object.keys(overflowOffsets).forEach(key => {\n const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n","// @flow\nimport type {\n ModifierArguments,\n Modifier,\n Rect,\n SideObject,\n Offsets,\n} from '../types';\nimport { top, bottom, left, right } from '../enums';\nimport detectOverflow from '../utils/detectOverflow';\n\nfunction getSideOffsets(\n overflow: SideObject,\n rect: Rect,\n preventedOffsets: Offsets = { x: 0, y: 0 }\n): SideObject {\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x,\n };\n}\n\nfunction isAnySideFullyClipped(overflow: SideObject): boolean {\n return [top, right, bottom, left].some(side => overflow[side] >= 0);\n}\n\nfunction hide({ state, name }: ModifierArguments<{||}>) {\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const preventedOffsets = state.modifiersData.preventOverflow;\n\n const referenceOverflow = detectOverflow(state, {\n elementContext: 'reference',\n });\n const popperAltOverflow = detectOverflow(state, {\n altBoundary: true,\n });\n\n const referenceClippingOffsets = getSideOffsets(\n referenceOverflow,\n referenceRect\n );\n const popperEscapeOffsets = getSideOffsets(\n popperAltOverflow,\n popperRect,\n preventedOffsets\n );\n\n const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n\n state.modifiersData[name] = {\n referenceClippingOffsets,\n popperEscapeOffsets,\n isReferenceHidden,\n hasPopperEscaped,\n };\n\n state.attributes.popper = {\n ...state.attributes.popper,\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped,\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type HideModifier = Modifier<'hide', {||}>;\nexport default ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide,\n}: HideModifier);\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport getWindow from '../dom-utils/getWindow';\n\ntype Options = {\n scroll: boolean,\n resize: boolean,\n};\n\nconst passive = { passive: true };\n\nfunction effect({ state, instance, options }: ModifierArguments) {\n const { scroll = true, resize = true } = options;\n\n const window = getWindow(state.elements.popper);\n const scrollParents = [\n ...state.scrollParents.reference,\n ...state.scrollParents.popper,\n ];\n\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return () => {\n if (scroll) {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type EventListenersModifier = Modifier<'eventListeners', Options>;\nexport default ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: () => {},\n effect,\n data: {},\n}: EventListenersModifier);\n","// @flow\nimport { popperGenerator } from './index';\n\nimport eventListeners from './modifiers/eventListeners';\nimport popperOffsets from './modifiers/popperOffsets';\nimport computeStyles from './modifiers/computeStyles';\nimport applyStyles from './modifiers/applyStyles';\nimport offset from './modifiers/offset';\nimport flip from './modifiers/flip';\nimport preventOverflow from './modifiers/preventOverflow';\nimport arrow from './modifiers/arrow';\nimport hide from './modifiers/hide';\n\nimport detectOverflow from './utils/detectOverflow';\n\nexport type * from './types';\n\nconst defaultModifiers = [\n eventListeners,\n popperOffsets,\n computeStyles,\n applyStyles,\n offset,\n flip,\n preventOverflow,\n arrow,\n hide,\n];\n\nconst createPopper = popperGenerator({ defaultModifiers });\n\n// eslint-disable-next-line import/no-unused-modules\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };\n","// @flow\nimport type { ModifierArguments, Modifier } from '../types';\nimport computeOffsets from '../utils/computeOffsets';\n\nfunction popperOffsets({ state, name }: ModifierArguments<{||}>) {\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement,\n });\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;\nexport default ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {},\n}: PopperOffsetsModifier);\n","// @flow\nimport type { Modifier, ModifierArguments } from '../types';\nimport getNodeName from '../dom-utils/getNodeName';\nimport { isHTMLElement } from '../dom-utils/instanceOf';\n\n// This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles({ state }: ModifierArguments<{||}>) {\n Object.keys(state.elements).forEach(name => {\n const style = state.styles[name] || {};\n\n const attributes = state.attributes[name] || {};\n const element = state.elements[name];\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(name => {\n const value = attributes[name];\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect({ state }: ModifierArguments<{||}>) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return () => {\n Object.keys(state.elements).forEach(name => {\n const element = state.elements[name];\n const attributes = state.attributes[name] || {};\n\n const styleProperties = Object.keys(\n state.styles.hasOwnProperty(name)\n ? state.styles[name]\n : initialStyles[name]\n );\n\n // Set all values to an empty string to unset them\n const style = styleProperties.reduce((style, property) => {\n style[property] = '';\n return style;\n }, {});\n\n // arrow is optional + virtual elements\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n Object.assign(element.style, style);\n\n Object.keys(attributes).forEach(attribute => {\n element.removeAttribute(attribute);\n });\n });\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ApplyStylesModifier = Modifier<'applyStyles', {||}>;\nexport default ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect,\n requires: ['computeStyles'],\n}: ApplyStylesModifier);\n","// @flow\nimport type { Placement } from '../enums';\nimport type { ModifierArguments, Modifier, Rect, Offsets } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport { top, left, right, placements } from '../enums';\n\ntype OffsetsFunction = ({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n}) => [?number, ?number];\n\ntype Offset = OffsetsFunction | [?number, ?number];\n\ntype Options = {\n offset: Offset,\n};\n\nexport function distanceAndSkiddingToXY(\n placement: Placement,\n rects: { popper: Rect, reference: Rect },\n offset: Offset\n): Offsets {\n const basePlacement = getBasePlacement(placement);\n const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n let [skidding, distance] =\n typeof offset === 'function'\n ? offset({\n ...rects,\n placement,\n })\n : offset;\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n\n return [left, right].indexOf(basePlacement) >= 0\n ? { x: distance, y: skidding }\n : { x: skidding, y: distance };\n}\n\nfunction offset({ state, options, name }: ModifierArguments) {\n const { offset = [0, 0] } = options;\n\n const data = placements.reduce((acc, placement) => {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n\n const { x, y } = data[state.placement];\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type OffsetModifier = Modifier<'offset', Options>;\nexport default ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset,\n}: OffsetModifier);\n","// @flow\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { ModifierArguments, Modifier, Padding } from '../types';\nimport getOppositePlacement from '../utils/getOppositePlacement';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement';\nimport detectOverflow from '../utils/detectOverflow';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\nimport { bottom, top, start, right, left, auto } from '../enums';\nimport getVariation from '../utils/getVariation';\n\ntype Options = {\n fallbackPlacements: Array,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n altBoundary: boolean,\n flipVariations: boolean,\n allowedAutoPlacements: Array,\n};\n\nfunction getExpandedFallbackPlacements(placement: Placement): Array {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeVariationPlacement(placement),\n oppositePlacement,\n getOppositeVariationPlacement(oppositePlacement),\n ];\n}\n\nfunction flip({ state, options, name }: ModifierArguments) {\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n const {\n fallbackPlacements: specifiedFallbackPlacements,\n padding,\n boundary,\n rootBoundary,\n altBoundary,\n flipVariations = true,\n allowedAutoPlacements,\n } = options;\n\n const preferredPlacement = state.options.placement;\n const basePlacement = getBasePlacement(preferredPlacement);\n const isBasePlacement = basePlacement === preferredPlacement;\n\n const fallbackPlacements =\n specifiedFallbackPlacements ||\n (isBasePlacement || !flipVariations\n ? [getOppositePlacement(preferredPlacement)]\n : getExpandedFallbackPlacements(preferredPlacement));\n\n const placements = [preferredPlacement, ...fallbackPlacements].reduce(\n (acc, placement) => {\n return acc.concat(\n getBasePlacement(placement) === auto\n ? computeAutoPlacement(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n allowedAutoPlacements,\n })\n : placement\n );\n },\n []\n );\n\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n\n const checksMap = new Map();\n let makeFallbackChecks = true;\n let firstFittingPlacement = placements[0];\n\n for (let i = 0; i < placements.length; i++) {\n const placement = placements[i];\n const basePlacement = getBasePlacement(placement);\n const isStartVariation = getVariation(placement) === start;\n const isVertical = [top, bottom].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'width' : 'height';\n\n const overflow = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n });\n\n let mainVariationSide: any = isVertical\n ? isStartVariation\n ? right\n : left\n : isStartVariation\n ? bottom\n : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n const altVariationSide: any = getOppositePlacement(mainVariationSide);\n\n const checks = [\n overflow[basePlacement] <= 0,\n overflow[mainVariationSide] <= 0,\n overflow[altVariationSide] <= 0,\n ];\n\n if (checks.every(check => check)) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n const numberOfChecks = flipVariations ? 3 : 1;\n\n for (let i = numberOfChecks; i > 0; i--) {\n const fittingPlacement = placements.find(placement => {\n const checks = checksMap.get(placement);\n if (checks) {\n return checks.slice(0, i).every(check => check);\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n break;\n }\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type FlipModifier = Modifier<'flip', Options>;\nexport default ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: { _skip: false },\n}: FlipModifier);\n","// @flow\nimport type { State, Padding } from '../types';\nimport type {\n Placement,\n ComputedPlacement,\n Boundary,\n RootBoundary,\n} from '../enums';\nimport getVariation from './getVariation';\nimport {\n variationPlacements,\n basePlacements,\n placements as allPlacements,\n} from '../enums';\nimport detectOverflow from './detectOverflow';\nimport getBasePlacement from './getBasePlacement';\n\ntype Options = {\n placement: Placement,\n padding: Padding,\n boundary: Boundary,\n rootBoundary: RootBoundary,\n flipVariations: boolean,\n allowedAutoPlacements?: Array,\n};\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\n\nexport default function computeAutoPlacement(\n state: $Shape,\n options: Options = {}\n): Array {\n const {\n placement,\n boundary,\n rootBoundary,\n padding,\n flipVariations,\n allowedAutoPlacements = allPlacements,\n } = options;\n\n const variation = getVariation(placement);\n\n const placements = (variation\n ? flipVariations\n ? variationPlacements\n : variationPlacements.filter(\n placement => getVariation(placement) === variation\n )\n : basePlacements\n ).filter(placement => allowedAutoPlacements.indexOf(placement) >= 0);\n\n // $FlowFixMe: Flow seems to have problems with two array unions...\n const overflows: OverflowsMap = placements.reduce((acc, placement) => {\n acc[placement] = detectOverflow(state, {\n placement,\n boundary,\n rootBoundary,\n padding,\n })[getBasePlacement(placement)];\n\n return acc;\n }, {});\n\n return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]);\n}\n","// @flow\nimport { top, left, right, bottom, start } from '../enums';\nimport type { Placement, Boundary, RootBoundary } from '../enums';\nimport type { Rect, ModifierArguments, Modifier, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport getAltAxis from '../utils/getAltAxis';\nimport within from '../utils/within';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport detectOverflow from '../utils/detectOverflow';\nimport getVariation from '../utils/getVariation';\nimport getFreshSideObject from '../utils/getFreshSideObject';\n\ntype TetherOffset =\n | (({\n popper: Rect,\n reference: Rect,\n placement: Placement,\n }) => number)\n | number;\n\ntype Options = {\n /* Prevents boundaries overflow on the main axis */\n mainAxis: boolean,\n /* Prevents boundaries overflow on the alternate axis */\n altAxis: boolean,\n /* The area to check the popper is overflowing in */\n boundary: Boundary,\n /* If the popper is not overflowing the main area, fallback to this one */\n rootBoundary: RootBoundary,\n /* Use the reference's \"clippingParents\" boundary context */\n altBoundary: boolean,\n /**\n * Allows the popper to overflow from its boundaries to keep it near its\n * reference element\n */\n tether: boolean,\n /* Offsets when the `tether` option should activate */\n tetherOffset: TetherOffset,\n /* Sets a padding to the provided boundary */\n padding: Padding,\n};\n\nfunction preventOverflow({ state, options, name }: ModifierArguments) {\n const {\n mainAxis: checkMainAxis = true,\n altAxis: checkAltAxis = false,\n boundary,\n rootBoundary,\n altBoundary,\n padding,\n tether = true,\n tetherOffset = 0,\n } = options;\n\n const overflow = detectOverflow(state, {\n boundary,\n rootBoundary,\n padding,\n altBoundary,\n });\n const basePlacement = getBasePlacement(state.placement);\n const variation = getVariation(state.placement);\n const isBasePlacement = !variation;\n const mainAxis = getMainAxisFromPlacement(basePlacement);\n const altAxis = getAltAxis(mainAxis);\n const popperOffsets = state.modifiersData.popperOffsets;\n const referenceRect = state.rects.reference;\n const popperRect = state.rects.popper;\n const tetherOffsetValue =\n typeof tetherOffset === 'function'\n ? tetherOffset({\n ...state.rects,\n placement: state.placement,\n })\n : tetherOffset;\n\n const data = { x: 0, y: 0 };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n const mainSide = mainAxis === 'y' ? top : left;\n const altSide = mainAxis === 'y' ? bottom : right;\n const len = mainAxis === 'y' ? 'height' : 'width';\n const offset = popperOffsets[mainAxis];\n\n const min = popperOffsets[mainAxis] + overflow[mainSide];\n const max = popperOffsets[mainAxis] - overflow[altSide];\n\n const additive = tether ? -popperRect[len] / 2 : 0;\n\n const minLen = variation === start ? referenceRect[len] : popperRect[len];\n const maxLen = variation === start ? -popperRect[len] : -referenceRect[len];\n\n // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n const arrowElement = state.elements.arrow;\n const arrowRect =\n tether && arrowElement\n ? getLayoutRect(arrowElement)\n : { width: 0, height: 0 };\n const arrowPaddingObject = state.modifiersData['arrow#persistent']\n ? state.modifiersData['arrow#persistent'].padding\n : getFreshSideObject();\n const arrowPaddingMin = arrowPaddingObject[mainSide];\n const arrowPaddingMax = arrowPaddingObject[altSide];\n\n // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n const arrowLen = within(0, referenceRect[len], arrowRect[len]);\n\n const minOffset = isBasePlacement\n ? referenceRect[len] / 2 -\n additive -\n arrowLen -\n arrowPaddingMin -\n tetherOffsetValue\n : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n const maxOffset = isBasePlacement\n ? -referenceRect[len] / 2 +\n additive +\n arrowLen +\n arrowPaddingMax +\n tetherOffsetValue\n : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientOffset = arrowOffsetParent\n ? mainAxis === 'y'\n ? arrowOffsetParent.clientTop || 0\n : arrowOffsetParent.clientLeft || 0\n : 0;\n\n const offsetModifierValue = state.modifiersData.offset\n ? state.modifiersData.offset[state.placement][mainAxis]\n : 0;\n\n const tetherMin =\n popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n const preventedOffset = within(\n tether ? Math.min(min, tetherMin) : min,\n offset,\n tether ? Math.max(max, tetherMax) : max\n );\n\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n const mainSide = mainAxis === 'x' ? top : left;\n const altSide = mainAxis === 'x' ? bottom : right;\n const offset = popperOffsets[altAxis];\n\n const min = offset + overflow[mainSide];\n const max = offset - overflow[altSide];\n\n const preventedOffset = within(min, offset, max);\n\n popperOffsets[altAxis] = preventedOffset;\n data[altAxis] = preventedOffset - offset;\n }\n\n state.modifiersData[name] = data;\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type PreventOverflowModifier = Modifier<'preventOverflow', Options>;\nexport default ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset'],\n}: PreventOverflowModifier);\n","// @flow\n\nexport default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {\n return axis === 'x' ? 'y' : 'x';\n}\n","// @flow\n\nexport default function within(\n min: number,\n value: number,\n max: number\n): number {\n return Math.max(min, Math.min(value, max));\n}\n","// @flow\nimport type { Modifier, ModifierArguments, Padding } from '../types';\nimport getBasePlacement from '../utils/getBasePlacement';\nimport getLayoutRect from '../dom-utils/getLayoutRect';\nimport contains from '../dom-utils/contains';\nimport getOffsetParent from '../dom-utils/getOffsetParent';\nimport getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement';\nimport within from '../utils/within';\nimport mergePaddingObject from '../utils/mergePaddingObject';\nimport expandToHashMap from '../utils/expandToHashMap';\nimport { left, right, basePlacements, top, bottom } from '../enums';\n\ntype Options = {\n element: HTMLElement | string | null,\n padding: Padding,\n};\n\nfunction arrow({ state, name }: ModifierArguments) {\n const arrowElement = state.elements.arrow;\n const popperOffsets = state.modifiersData.popperOffsets;\n const basePlacement = getBasePlacement(state.placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const isVertical = [left, right].indexOf(basePlacement) >= 0;\n const len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n const paddingObject = state.modifiersData[`${name}#persistent`].padding;\n const arrowRect = getLayoutRect(arrowElement);\n const minProp = axis === 'y' ? top : left;\n const maxProp = axis === 'y' ? bottom : right;\n\n const endDiff =\n state.rects.reference[len] +\n state.rects.reference[axis] -\n popperOffsets[axis] -\n state.rects.popper[len];\n const startDiff = popperOffsets[axis] - state.rects.reference[axis];\n\n const arrowOffsetParent =\n state.elements.arrow && getOffsetParent(state.elements.arrow);\n const clientSize = arrowOffsetParent\n ? axis === 'y'\n ? arrowOffsetParent.clientHeight || 0\n : arrowOffsetParent.clientWidth || 0\n : 0;\n\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n const min = paddingObject[minProp];\n const max = clientSize - arrowRect[len] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n const offset = within(min, center, max);\n\n // Prevents breaking syntax highlighting...\n const axisProp: string = axis;\n state.modifiersData[name] = {\n [axisProp]: offset,\n centerOffset: offset - center,\n };\n}\n\nfunction effect({ state, options, name }: ModifierArguments) {\n let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options;\n\n if (arrowElement == null) {\n return;\n }\n\n // CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (__DEV__) {\n console.error(\n [\n 'Popper: \"arrow\" modifier\\'s `element` must be a child of the popper',\n 'element.',\n ].join(' ')\n );\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[`${name}#persistent`] = {\n padding: mergePaddingObject(\n typeof padding !== 'number'\n ? padding\n : expandToHashMap(padding, basePlacements)\n ),\n };\n}\n\n// eslint-disable-next-line import/no-unused-modules\nexport type ArrowModifier = Modifier<'arrow', Options>;\nexport default ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow'],\n}: ArrowModifier);\n"],"names":["getBoundingClientRect","element","width","rect","height","top","right","bottom","left","x","y","getWindow","node","ownerDocument","window","getWindowScroll","scrollLeft","win","scrollTop","isElement","isHTMLElement","getNodeName","getDocumentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","documentElement","getLayoutRect","getParentNode","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","isBody","target","updatedList","getTrueOffsetParent","getOffsetParent","order","modifiers","map","Map","visited","Set","result","modifier","dep","depModifier","sort","debounce","fn","pending","Promise","resolve","undefined","getBasePlacement","placement","areValidElements","args","popperGenerator","generatorOptions","defaultModifiers","defaultOptions","DEFAULT_OPTIONS","reference","popper","options","effectCleanupFns","state","orderedModifiers","modifiersData","elements","attributes","styles","isDestroyed","instance","setOptions","cleanupModifierEffects","orderModifiers","acc","phase","mergeByName","merged","current","existing","data","key","m","name","cleanupFn","effect","noopFn","forceUpdate","index","update","destroy","getMainAxisFromPlacement","computeOffsets","basePlacement","commonX","commonY","mainAxis","len","variation","start","Math","end","mapToStyles","popperRect","position","gpuAcceleration","adaptive","dpr","hasX","sideX","sideY","commonStyles","unsetSides","hasY","getOppositePlacement","matched","getOppositeVariationPlacement","contains","parent","child","isShadow","next","rectToClientRect","getClientRectFromMixedType","clippingParent","viewport","navigator","visualViewport","winScroll","documentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","getClippingParents","clippingParents","clipperElement","accRect","computedStyle","parseFloat","winScrollBarX","borders","isHTML","decorations","clippingRect","mergePaddingObject","paddingObject","expandToHashMap","value","keys","hashMap","detectOverflow","altBoundary","padding","basePlacements","referenceElement","elementContext","strategy","popperOffsets","popperClientRect","referenceClientRect","overflowOffsets","clippingClientRect","elementClientRect","offsetData","offset","multiply","axis","overflow","preventedOffsets","isAnySideFullyClipped","side","variationPlacements","placements","auto","modifierPhases","passive","hash","eventListeners","enabled","resize","scrollParents","popperOffsets$1","computeStyles$1","computeStyles","applyStyles$1","applyStyles","style","Object","effect$1","initialStyles","margin","arrow","property","attribute","requires","offset$1","distanceAndSkiddingToXY","invertDistance","rects","distance","skidding","flip$1","flip","specifiedFallbackPlacements","flipVariations","allowedAutoPlacements","preferredPlacement","getExpandedFallbackPlacements","oppositePlacement","fallbackPlacements","computeAutoPlacement","allPlacements","overflows","a","b","checksMap","firstFittingPlacement","i","isStartVariation","isVertical","mainVariationSide","altVariationSide","check","checks","makeFallbackChecks","fittingPlacement","requiresIfExists","_skip","preventOverflow$1","preventOverflow","checkMainAxis","tetherOffset","isBasePlacement","referenceRect","tetherOffsetValue","mainSide","altSide","min","max","additive","tether","minLen","arrowElement","arrowPaddingObject","arrowRect","arrowLen","arrowPaddingMin","arrowPaddingMax","maxLen","minOffset","offsetModifierValue","arrowOffsetParent","maxOffset","tetherMin","tetherMax","preventedOffset","checkAltAxis","altAxis","arrow$1","minProp","maxProp","endDiff","startDiff","center","clientSize","effect$2","hide$1","hide","referenceOverflow","popperAltOverflow","getSideOffsets","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","createPopper"],"mappings":"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"} \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js index 432b3c7d..f924027b 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js @@ -1,13 +1,17 @@ import getNodeName from "./getNodeName.js"; +import getDocumentElement from "./getDocumentElement.js"; export default function getParentNode(element) { if (getNodeName(element) === 'html') { return element; } - return element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ; + return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + // $FlowFixMe: need a better way to handle this... + element.host || // ShadowRoot detected + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); } \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.flow b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.flow index c8862dd8..d78827ac 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.flow @@ -1,5 +1,6 @@ // @flow import getNodeName from './getNodeName'; +import getDocumentElement from './getDocumentElement'; export default function getParentNode(element: Node | ShadowRoot): Node { if (getNodeName(element) === 'html') { @@ -7,10 +8,12 @@ export default function getParentNode(element: Node | ShadowRoot): Node { } return ( + // $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node element.parentNode || // DOM Element detected // $FlowFixMe: need a better way to handle this... element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails + // $FlowFixMe: HTMLElement is a Node + getDocumentElement(element) // fallback ); } diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js index 7939fdde..c7e9772e 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js @@ -1,9 +1,20 @@ import getWindow from "./getWindow.js"; export default function getViewportRect(element) { var win = getWindow(element); + var visualViewport = win.visualViewport; + var width = win.innerWidth; + var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + return { - width: win.innerWidth, - height: win.innerHeight, + width: width, + height: height, x: 0, y: 0 }; diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.flow b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.flow index 0cc89cfc..32edfda9 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.flow @@ -3,11 +3,18 @@ import getWindow from './getWindow'; export default function getViewportRect(element: Element) { const win = getWindow(element); + const visualViewport = win.visualViewport; - return { - width: win.innerWidth, - height: win.innerHeight, - x: 0, - y: 0, - }; + let width = win.innerWidth; + let height = win.innerHeight; + + // We don't know which browsers have buggy or odd implementations of this, so + // for now we're only applying it to iOS to fix the keyboard issue. + // Investigation required + if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { + width = visualViewport.width; + height = visualViewport.height; + } + + return { width, height, x: 0, y: 0 }; } diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.d.ts b/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.d.ts index ab04eeaa..a4d2ac39 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.d.ts @@ -1,2 +1,2 @@ -import { Window } from "../types"; -export default function listScrollParents(element: Node, list?: Array): Array; +import { Window, VisualViewport } from "../types"; +export default function listScrollParents(element: Node, list?: Array): Array; diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js b/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js index b0d256b5..20efea8f 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js @@ -9,7 +9,8 @@ export default function listScrollParents(element, list) { var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; - var target = isBody ? getWindow(scrollParent) : scrollParent; + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); diff --git a/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.flow b/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.flow index 22f86b88..5ad7a192 100644 --- a/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.flow @@ -3,15 +3,16 @@ import getScrollParent from './getScrollParent'; import getParentNode from './getParentNode'; import getNodeName from './getNodeName'; import getWindow from './getWindow'; -import type { Window } from '../types'; +import type { Window, VisualViewport } from '../types'; export default function listScrollParents( element: Node, list: Array = [] -): Array { +): Array { const scrollParent = getScrollParent(element); const isBody = getNodeName(scrollParent) === 'body'; - const target = isBody ? getWindow(scrollParent) : scrollParent; + const win = getWindow(scrollParent); + const target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; const updatedList = list.concat(target); return isBody diff --git a/conf/site/node_modules/@popperjs/core/lib/enums.js b/conf/site/node_modules/@popperjs/core/lib/enums.js index b976bc3c..e3714f51 100644 --- a/conf/site/node_modules/@popperjs/core/lib/enums.js +++ b/conf/site/node_modules/@popperjs/core/lib/enums.js @@ -10,14 +10,10 @@ export var clippingParents = 'clippingParents'; export var viewport = 'viewport'; export var popper = 'popper'; export var reference = 'reference'; -export var variationPlacements = -/*#__PURE__*/ -basePlacements.reduce(function (acc, placement) { +export var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { return acc.concat([placement + "-" + start, placement + "-" + end]); }, []); -export var placements = -/*#__PURE__*/ -[].concat(basePlacements, [auto]).reduce(function (acc, placement) { +export var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { return acc.concat([placement, placement + "-" + start, placement + "-" + end]); }, []); // modifiers that need to read the DOM diff --git a/conf/site/node_modules/@popperjs/core/lib/index.d.ts b/conf/site/node_modules/@popperjs/core/lib/index.d.ts index 869ee7a9..81095c68 100644 --- a/conf/site/node_modules/@popperjs/core/lib/index.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/index.d.ts @@ -1,9 +1,9 @@ -import { Options, Modifier, Instance, VirtualElement } from "./types"; +import { OptionsGeneric, Modifier, Instance, VirtualElement } from "./types"; export * from "./types"; export * from "./enums"; declare type PopperGeneratorArgs = { - defaultModifiers?: Array>; - defaultOptions?: Partial; + defaultModifiers?: Array>; + defaultOptions?: Partial>; }; -export declare function popperGenerator(generatorOptions?: PopperGeneratorArgs): (reference: Element | VirtualElement, popper: HTMLElement, options?: Partial) => Instance; -export declare const createPopper: (reference: Element | VirtualElement, popper: HTMLElement, options?: Partial) => Instance; +export declare function popperGenerator(generatorOptions?: PopperGeneratorArgs): >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance; +export declare const createPopper: >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance; diff --git a/conf/site/node_modules/@popperjs/core/lib/index.js b/conf/site/node_modules/@popperjs/core/lib/index.js index 2256bb39..d0ee4871 100644 --- a/conf/site/node_modules/@popperjs/core/lib/index.js +++ b/conf/site/node_modules/@popperjs/core/lib/index.js @@ -253,6 +253,4 @@ export function popperGenerator(generatorOptions) { return instance; }; } -export var createPopper = -/*#__PURE__*/ -popperGenerator(); \ No newline at end of file +export var createPopper = /*#__PURE__*/popperGenerator(); \ No newline at end of file diff --git a/conf/site/node_modules/@popperjs/core/lib/index.js.flow b/conf/site/node_modules/@popperjs/core/lib/index.js.flow index 5f3146c8..7812011b 100644 --- a/conf/site/node_modules/@popperjs/core/lib/index.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/index.js.flow @@ -1,7 +1,7 @@ // @flow import type { State, - Options, + OptionsGeneric, Modifier, Instance, VirtualElement, @@ -28,15 +28,15 @@ const INVALID_ELEMENT_ERROR = const INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; -const DEFAULT_OPTIONS: Options = { +const DEFAULT_OPTIONS: OptionsGeneric = { placement: 'bottom', modifiers: [], strategy: 'absolute', }; type PopperGeneratorArgs = { - defaultModifiers?: Array>, - defaultOptions?: $Shape, + defaultModifiers?: Array>, + defaultOptions?: $Shape>, }; function areValidElements(...args: Array): boolean { @@ -51,10 +51,10 @@ export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { defaultOptions = DEFAULT_OPTIONS, } = generatorOptions; - return function createPopper( + return function createPopper>>( reference: Element | VirtualElement, popper: HTMLElement, - options: $Shape = defaultOptions + options: $Shape> = defaultOptions ): Instance { let state: $Shape = { placement: 'bottom', @@ -78,6 +78,7 @@ export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { cleanupModifierEffects(); state.options = { + // $FlowFixMe ...defaultOptions, ...state.options, ...options, @@ -103,7 +104,7 @@ export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { // Validate the provided modifiers so that the consumer will get warned // if one of the modifiers is invalid for any reason - if (__DEV__) { + if (false) { const modifiers = uniqueBy( [...orderedModifiers, ...state.options.modifiers], ({ name }) => name @@ -172,7 +173,7 @@ export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { // Don't proceed if `reference` or `popper` are not valid elements // anymore if (!areValidElements(reference, popper)) { - if (__DEV__) { + if (false) { console.error(INVALID_ELEMENT_ERROR); } return; @@ -210,7 +211,7 @@ export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { let __debug_loops__ = 0; for (let index = 0; index < state.orderedModifiers.length; index++) { - if (__DEV__) { + if (false) { __debug_loops__ += 1; if (__debug_loops__ > 100) { console.error(INFINITE_LOOP_ERROR); @@ -249,7 +250,7 @@ export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { }; if (!areValidElements(reference, popper)) { - if (__DEV__) { + if (false) { console.error(INVALID_ELEMENT_ERROR); } return instance; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts index 174e2cc0..6ddc2ca6 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts @@ -1,3 +1,4 @@ import { Modifier } from "../types"; -declare const _default: Modifier<{}>; +export declare type ApplyStylesModifier = Modifier<"applyStyles", {}>; +declare const _default: Modifier<"applyStyles", {}>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js index 69328b31..123573a7 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js @@ -33,7 +33,7 @@ function effect(_ref2) { var state = _ref2.state; var initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0' @@ -73,7 +73,8 @@ function effect(_ref2) { }); }); }; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'applyStyles', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.flow index b744f295..44fc1739 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.flow @@ -37,7 +37,7 @@ function applyStyles({ state }: ModifierArguments<{||}>) { function effect({ state }: ModifierArguments<{||}>) { const initialStyles = { popper: { - position: 'absolute', + position: state.options.strategy, left: '0', top: '0', margin: '0', @@ -88,6 +88,8 @@ function effect({ state }: ModifierArguments<{||}>) { }; } +// eslint-disable-next-line import/no-unused-modules +export type ApplyStylesModifier = Modifier<'applyStyles', {||}>; export default ({ name: 'applyStyles', enabled: true, @@ -95,4 +97,4 @@ export default ({ fn: applyStyles, effect, requires: ['computeStyles'], -}: Modifier<{||}>); +}: ApplyStylesModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.d.ts index 746e8515..977de622 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.d.ts @@ -1,7 +1,8 @@ import { Modifier, Padding } from "../types"; declare type Options = { - element: HTMLElement | string; + element: HTMLElement | string | null; padding: Padding; }; -declare const _default: Modifier; +export declare type ArrowModifier = Modifier<"arrow", Options>; +declare const _default: Modifier<"arrow", Options>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js index 5df0e75b..e8711781 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js @@ -20,7 +20,7 @@ function arrow(_ref) { var isVertical = [left, right].indexOf(basePlacement) >= 0; var len = isVertical ? 'height' : 'width'; - if (!arrowElement) { + if (!arrowElement || !popperOffsets) { return; } @@ -51,7 +51,12 @@ function effect(_ref2) { var _options$element = options.element, arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element, _options$padding = options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; // CSS selector + padding = _options$padding === void 0 ? 0 : _options$padding; + + if (arrowElement == null) { + return; + } // CSS selector + if (typeof arrowElement === 'string') { arrowElement = state.elements.popper.querySelector(arrowElement); @@ -73,7 +78,8 @@ function effect(_ref2) { state.modifiersData[name + "#persistent"] = { padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)) }; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'arrow', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js.flow index 2ca70379..8ab2176b 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/arrow.js.flow @@ -11,7 +11,7 @@ import expandToHashMap from '../utils/expandToHashMap'; import { left, right, basePlacements, top, bottom } from '../enums'; type Options = { - element: HTMLElement | string, + element: HTMLElement | string | null, padding: Padding, }; @@ -23,7 +23,7 @@ function arrow({ state, name }: ModifierArguments) { const isVertical = [left, right].indexOf(basePlacement) >= 0; const len = isVertical ? 'height' : 'width'; - if (!arrowElement) { + if (!arrowElement || !popperOffsets) { return; } @@ -67,6 +67,10 @@ function arrow({ state, name }: ModifierArguments) { function effect({ state, options, name }: ModifierArguments) { let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options; + if (arrowElement == null) { + return; + } + // CSS selector if (typeof arrowElement === 'string') { arrowElement = state.elements.popper.querySelector(arrowElement); @@ -77,7 +81,7 @@ function effect({ state, options, name }: ModifierArguments) { } if (!contains(state.elements.popper, arrowElement)) { - if (__DEV__) { + if (false) { console.error( [ 'Popper: "arrow" modifier\'s `element` must be a child of the popper', @@ -99,6 +103,8 @@ function effect({ state, options, name }: ModifierArguments) { }; } +// eslint-disable-next-line import/no-unused-modules +export type ArrowModifier = Modifier<'arrow', Options>; export default ({ name: 'arrow', enabled: true, @@ -107,4 +113,4 @@ export default ({ effect, requires: ['popperOffsets'], requiresIfExists: ['preventOverflow'], -}: Modifier); +}: ArrowModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts index a9cde0bc..f3bd9d43 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts @@ -1,4 +1,4 @@ -import { PositioningStrategy, Offsets, Modifier, Rect } from "../types"; +import { PositioningStrategy, Modifier, Rect } from "../types"; import { BasePlacement } from "../enums"; declare type Options = { gpuAcceleration: boolean; @@ -8,7 +8,11 @@ export declare function mapToStyles({ popper, popperRect, placement, offsets, po popper: HTMLElement; popperRect: Rect; placement: BasePlacement; - offsets: Offsets; + offsets: Partial<{ + x: number; + y: number; + centerOffset: number; + }>; position: PositioningStrategy; gpuAcceleration: boolean; adaptive: boolean; @@ -20,5 +24,6 @@ export declare function mapToStyles({ popper, popperRect, placement, offsets, po left: string; position: PositioningStrategy; }; -declare const _default: Modifier; +export declare type ComputeStylesModifier = Modifier<"computeStyles", Options>; +declare const _default: Modifier<"computeStyles", Options>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js index 1019dd1d..34465173 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js @@ -90,8 +90,7 @@ function computeStyles(_ref3) { adaptive = _options$adaptive === void 0 ? true : _options$adaptive; if (process.env.NODE_ENV !== "production") { - var _getComputedStyle = getComputedStyle(state.elements.popper), - transitionProperty = _getComputedStyle.transitionProperty; + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ''; if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { return transitionProperty.indexOf(property) >= 0; @@ -105,13 +104,15 @@ function computeStyles(_ref3) { popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration - }; // popper offsets are always available + }; - state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive - }))); // arrow offsets may not be available + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive + }))); + } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { @@ -124,7 +125,8 @@ function computeStyles(_ref3) { state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'computeStyles', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.flow index 1f28228c..a0b6e529 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.flow @@ -51,7 +51,7 @@ export function mapToStyles({ popper: HTMLElement, popperRect: Rect, placement: BasePlacement, - offsets: Offsets, + offsets: $Shape<{ x: number, y: number, centerOffset: number }>, position: PositioningStrategy, gpuAcceleration: boolean, adaptive: boolean, @@ -119,8 +119,9 @@ export function mapToStyles({ function computeStyles({ state, options }: ModifierArguments) { const { gpuAcceleration = true, adaptive = true } = options; - if (__DEV__) { - const { transitionProperty } = getComputedStyle(state.elements.popper); + if (false) { + const transitionProperty = + getComputedStyle(state.elements.popper).transitionProperty || ''; if ( adaptive && @@ -152,18 +153,18 @@ function computeStyles({ state, options }: ModifierArguments) { gpuAcceleration, }; - // popper offsets are always available - state.styles.popper = { - ...state.styles.popper, - ...mapToStyles({ - ...commonStyles, - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive, - }), - }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = { + ...state.styles.popper, + ...mapToStyles({ + ...commonStyles, + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive, + }), + }; + } - // arrow offsets may not be available if (state.modifiersData.arrow != null) { state.styles.arrow = { ...state.styles.arrow, @@ -182,10 +183,12 @@ function computeStyles({ state, options }: ModifierArguments) { }; } +// eslint-disable-next-line import/no-unused-modules +export type ComputeStylesModifier = Modifier<'computeStyles', Options>; export default ({ name: 'computeStyles', enabled: true, phase: 'beforeWrite', fn: computeStyles, data: {}, -}: Modifier); +}: ComputeStylesModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts index 534e37d7..a9f9d133 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts @@ -3,5 +3,6 @@ declare type Options = { scroll: boolean; resize: boolean; }; -declare const _default: Modifier; +export declare type EventListenersModifier = Modifier<"eventListeners", Options>; +declare const _default: Modifier<"eventListeners", Options>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js index 00425a1e..124b20f8 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js @@ -35,7 +35,8 @@ function effect(_ref) { window.removeEventListener('resize', instance.update, passive); } }; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'eventListeners', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.flow index 8e16ec48..f7c18c03 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.flow @@ -41,6 +41,8 @@ function effect({ state, instance, options }: ModifierArguments) { }; } +// eslint-disable-next-line import/no-unused-modules +export type EventListenersModifier = Modifier<'eventListeners', Options>; export default ({ name: 'eventListeners', enabled: true, @@ -48,4 +50,4 @@ export default ({ fn: () => {}, effect, data: {}, -}: Modifier); +}: EventListenersModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.d.ts index d49c1d8e..9e8befad 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.d.ts @@ -7,6 +7,8 @@ declare type Options = { rootBoundary: RootBoundary; altBoundary: boolean; flipVariations: boolean; + allowedAutoPlacements: Array; }; -declare const _default: Modifier; +export declare type FlipModifier = Modifier<"flip", Options>; +declare const _default: Modifier<"flip", Options>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js index ce199603..1c0df755 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js @@ -30,7 +30,8 @@ function flip(_ref) { rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio; + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; var preferredPlacement = state.options.placement; var basePlacement = getBasePlacement(preferredPlacement); var isBasePlacement = basePlacement === preferredPlacement; @@ -41,7 +42,8 @@ function flip(_ref) { boundary: boundary, rootBoundary: rootBoundary, padding: padding, - flipVariations: flipVariations + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements }) : placement); }, []); var referenceRect = state.rects.reference; @@ -118,7 +120,8 @@ function flip(_ref) { state.placement = firstFittingPlacement; state.reset = true; } -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'flip', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js.flow index a3a8d2a7..cf0b0716 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/flip.js.flow @@ -16,6 +16,7 @@ type Options = { rootBoundary: RootBoundary, altBoundary: boolean, flipVariations: boolean, + allowedAutoPlacements: Array, }; function getExpandedFallbackPlacements(placement: Placement): Array { @@ -44,6 +45,7 @@ function flip({ state, options, name }: ModifierArguments) { rootBoundary, altBoundary, flipVariations = true, + allowedAutoPlacements, } = options; const preferredPlacement = state.options.placement; @@ -66,6 +68,7 @@ function flip({ state, options, name }: ModifierArguments) { rootBoundary, padding, flipVariations, + allowedAutoPlacements, }) : placement ); @@ -150,6 +153,8 @@ function flip({ state, options, name }: ModifierArguments) { } } +// eslint-disable-next-line import/no-unused-modules +export type FlipModifier = Modifier<'flip', Options>; export default ({ name: 'flip', enabled: true, @@ -157,4 +162,4 @@ export default ({ fn: flip, requiresIfExists: ['offset'], data: { _skip: false }, -}: Modifier); +}: FlipModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.d.ts index 17f795ae..ae09a1c7 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.d.ts @@ -1,3 +1,4 @@ -import { Modifier, Options } from "../types"; -declare const _default: Modifier; +import { Modifier } from "../types"; +export declare type HideModifier = Modifier<"hide", {}>; +declare const _default: Modifier<"hide", {}>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js index 9685bfaa..799c4a78 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js @@ -49,7 +49,8 @@ function hide(_ref) { 'data-popper-reference-hidden': isReferenceHidden, 'data-popper-escaped': hasPopperEscaped }); -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'hide', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js.flow index 19076f9f..75737e4c 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/hide.js.flow @@ -3,7 +3,6 @@ import type { ModifierArguments, Modifier, Rect, - Options, SideObject, Offsets, } from '../types'; @@ -27,7 +26,7 @@ function isAnySideFullyClipped(overflow: SideObject): boolean { return [top, right, bottom, left].some(side => overflow[side] >= 0); } -function hide({ state, name }: ModifierArguments) { +function hide({ state, name }: ModifierArguments<{||}>) { const referenceRect = state.rects.reference; const popperRect = state.rects.popper; const preventedOffsets = state.modifiersData.preventOverflow; @@ -66,10 +65,12 @@ function hide({ state, name }: ModifierArguments) { }; } +// eslint-disable-next-line import/no-unused-modules +export type HideModifier = Modifier<'hide', {||}>; export default ({ name: 'hide', enabled: true, phase: 'main', requiresIfExists: ['preventOverflow'], fn: hide, -}: Modifier); +}: HideModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.d.ts index f9da4a4c..dc787b85 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.d.ts @@ -13,5 +13,6 @@ export declare function distanceAndSkiddingToXY(placement: Placement, rects: { popper: Rect; reference: Rect; }, offset: Offset): Offsets; -declare const _default: Modifier; +export declare type OffsetModifier = Modifier<"offset", Options>; +declare const _default: Modifier<"offset", Options>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js index 3c9e6d72..4dc7f9c1 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js @@ -34,10 +34,15 @@ function offset(_ref2) { var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'offset', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js.flow index fae0548b..b3de9e74 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/offset.js.flow @@ -50,16 +50,20 @@ function offset({ state, options, name }: ModifierArguments) { const { x, y } = data[state.placement]; - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } state.modifiersData[name] = data; } +// eslint-disable-next-line import/no-unused-modules +export type OffsetModifier = Modifier<'offset', Options>; export default ({ name: 'offset', enabled: true, phase: 'main', requires: ['popperOffsets'], fn: offset, -}: Modifier); +}: OffsetModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts index 174e2cc0..36b4db4d 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts @@ -1,3 +1,4 @@ import { Modifier } from "../types"; -declare const _default: Modifier<{}>; +export declare type PopperOffsetsModifier = Modifier<"popperOffsets", {}>; +declare const _default: Modifier<"popperOffsets", {}>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js index b3b8a9b0..5440ab78 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js @@ -13,7 +13,8 @@ function popperOffsets(_ref) { strategy: 'absolute', placement: state.placement }); -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'popperOffsets', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.flow index 4cf9f4ea..30b58945 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.flow @@ -15,10 +15,12 @@ function popperOffsets({ state, name }: ModifierArguments<{||}>) { }); } +// eslint-disable-next-line import/no-unused-modules +export type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>; export default ({ name: 'popperOffsets', enabled: true, phase: 'read', fn: popperOffsets, data: {}, -}: Modifier<{||}>); +}: PopperOffsetsModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts b/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts index 5e1d7e1e..d0e6c173 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts @@ -19,5 +19,6 @@ declare type Options = { tetherOffset: TetherOffset; padding: Padding; }; -declare const _default: Modifier; +export declare type PreventOverflowModifier = Modifier<"preventOverflow", Options>; +declare const _default: Modifier<"preventOverflow", Options>; export default _default; diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js b/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js index a671b3f7..d05fa298 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js @@ -47,6 +47,10 @@ function preventOverflow(_ref) { y: 0 }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { var mainSide = mainAxis === 'y' ? top : left; var altSide = mainAxis === 'y' ? bottom : right; @@ -98,12 +102,13 @@ function preventOverflow(_ref) { var _preventedOffset = within(_min, _offset, _max); - state.modifiersData.popperOffsets[altAxis] = _preventedOffset; + popperOffsets[altAxis] = _preventedOffset; data[altAxis] = _preventedOffset - _offset; } state.modifiersData[name] = data; -} +} // eslint-disable-next-line import/no-unused-modules + export default { name: 'preventOverflow', diff --git a/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.flow b/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.flow index 3c59f702..2a80b07d 100644 --- a/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.flow @@ -78,6 +78,10 @@ function preventOverflow({ state, options, name }: ModifierArguments) { const data = { x: 0, y: 0 }; + if (!popperOffsets) { + return; + } + if (checkMainAxis) { const mainSide = mainAxis === 'y' ? top : left; const altSide = mainAxis === 'y' ? bottom : right; @@ -163,17 +167,19 @@ function preventOverflow({ state, options, name }: ModifierArguments) { const preventedOffset = within(min, offset, max); - state.modifiersData.popperOffsets[altAxis] = preventedOffset; + popperOffsets[altAxis] = preventedOffset; data[altAxis] = preventedOffset - offset; } state.modifiersData[name] = data; } +// eslint-disable-next-line import/no-unused-modules +export type PreventOverflowModifier = Modifier<'preventOverflow', Options>; export default ({ name: 'preventOverflow', enabled: true, phase: 'main', fn: preventOverflow, requiresIfExists: ['offset'], -}: Modifier); +}: PreventOverflowModifier); diff --git a/conf/site/node_modules/@popperjs/core/lib/popper-lite.d.ts b/conf/site/node_modules/@popperjs/core/lib/popper-lite.d.ts index 6fbc0132..36c4c1f9 100644 --- a/conf/site/node_modules/@popperjs/core/lib/popper-lite.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/popper-lite.d.ts @@ -1,6 +1,12 @@ import { popperGenerator } from "./index"; import detectOverflow from "./utils/detectOverflow"; export * from "./types"; -declare const defaultModifiers: import("./types").Modifier<{}>[]; -declare const createPopper: (reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial) => import("./types").Instance; +declare const defaultModifiers: (import("./types").Modifier<"popperOffsets", {}> | import("./types").Modifier<"eventListeners", { + scroll: boolean; + resize: boolean; +}> | import("./types").Modifier<"computeStyles", { + gpuAcceleration: boolean; + adaptive: boolean; +}> | import("./types").Modifier<"applyStyles", {}>)[]; +declare const createPopper: >>(reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial>) => import("./types").Instance; export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; diff --git a/conf/site/node_modules/@popperjs/core/lib/popper-lite.js b/conf/site/node_modules/@popperjs/core/lib/popper-lite.js index 6938e8ce..1072c711 100644 --- a/conf/site/node_modules/@popperjs/core/lib/popper-lite.js +++ b/conf/site/node_modules/@popperjs/core/lib/popper-lite.js @@ -5,9 +5,7 @@ import computeStyles from "./modifiers/computeStyles.js"; import applyStyles from "./modifiers/applyStyles.js"; import detectOverflow from "./utils/detectOverflow.js"; var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles]; -var createPopper = -/*#__PURE__*/ -popperGenerator({ +var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/lib/popper.d.ts b/conf/site/node_modules/@popperjs/core/lib/popper.d.ts index 6fbc0132..b6f5465e 100644 --- a/conf/site/node_modules/@popperjs/core/lib/popper.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/popper.d.ts @@ -1,6 +1,42 @@ import { popperGenerator } from "./index"; import detectOverflow from "./utils/detectOverflow"; export * from "./types"; -declare const defaultModifiers: import("./types").Modifier<{}>[]; -declare const createPopper: (reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial) => import("./types").Instance; +declare const defaultModifiers: (import("./types").Modifier<"popperOffsets", {}> | import("./types").Modifier<"flip", { + fallbackPlacements: import("./enums").Placement[]; + padding: import("./types").Padding; + boundary: import("./enums").Boundary; + rootBoundary: import("./enums").RootBoundary; + altBoundary: boolean; + flipVariations: boolean; + allowedAutoPlacements: import("./enums").Placement[]; +}> | import("./types").Modifier<"hide", {}> | import("./types").Modifier<"offset", { + offset: ((arg0: { + popper: import("./types").Rect; + reference: import("./types").Rect; + placement: import("./enums").Placement; + }) => [number, number]) | [number, number]; +}> | import("./types").Modifier<"eventListeners", { + scroll: boolean; + resize: boolean; +}> | import("./types").Modifier<"computeStyles", { + gpuAcceleration: boolean; + adaptive: boolean; +}> | import("./types").Modifier<"arrow", { + element: string | HTMLElement; + padding: import("./types").Padding; +}> | import("./types").Modifier<"preventOverflow", { + mainAxis: boolean; + altAxis: boolean; + boundary: import("./enums").Boundary; + rootBoundary: import("./enums").RootBoundary; + altBoundary: boolean; + tether: boolean; + tetherOffset: (arg0: { + popper: import("./types").Rect; + reference: import("./types").Rect; + placement: import("./enums").Placement; + }) => number; + padding: import("./types").Padding; +}> | import("./types").Modifier<"applyStyles", {}>)[]; +declare const createPopper: >>(reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial>) => import("./types").Instance; export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; diff --git a/conf/site/node_modules/@popperjs/core/lib/popper.js b/conf/site/node_modules/@popperjs/core/lib/popper.js index 7ac1d29f..1bc31873 100644 --- a/conf/site/node_modules/@popperjs/core/lib/popper.js +++ b/conf/site/node_modules/@popperjs/core/lib/popper.js @@ -10,9 +10,7 @@ import arrow from "./modifiers/arrow.js"; import hide from "./modifiers/hide.js"; import detectOverflow from "./utils/detectOverflow.js"; var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide]; -var createPopper = -/*#__PURE__*/ -popperGenerator({ +var createPopper = /*#__PURE__*/popperGenerator({ defaultModifiers: defaultModifiers }); // eslint-disable-next-line import/no-unused-modules diff --git a/conf/site/node_modules/@popperjs/core/lib/types.d.ts b/conf/site/node_modules/@popperjs/core/lib/types.d.ts index 453845b4..c315d23c 100644 --- a/conf/site/node_modules/@popperjs/core/lib/types.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/types.d.ts @@ -1,7 +1,22 @@ import { Placement, ModifierPhases } from "./enums"; +import { PopperOffsetsModifier } from "./modifiers/popperOffsets"; +import { FlipModifier } from "./modifiers/flip"; +import { HideModifier } from "./modifiers/hide"; +import { OffsetModifier } from "./modifiers/offset"; +import { EventListenersModifier } from "./modifiers/eventListeners"; +import { ComputeStylesModifier } from "./modifiers/computeStyles"; +import { ArrowModifier } from "./modifiers/arrow"; +import { PreventOverflowModifier } from "./modifiers/preventOverflow"; +import { ApplyStylesModifier } from "./modifiers/applyStyles"; export declare type Obj = { [key: string]: any; }; +export declare type VisualViewport = EventTarget & { + width: number; + height: number; + offsetLeft: number; + offsetTop: number; +}; export declare type Window = { innerHeight: number; offsetHeight: number; @@ -17,6 +32,7 @@ export declare type Window = { Node: Node; toString(): "[object Window]"; devicePixelRatio: number; + visualViewport?: VisualViewport; }; export declare type Rect = { width: number; @@ -37,20 +53,23 @@ export declare type StateOffsets = { popper: Offsets; arrow?: Offsets; }; +declare type OffsetData = { + [key in Placement]?: Offsets; +}; export declare type State = { elements: { reference: Element | VirtualElement; popper: HTMLElement; arrow?: HTMLElement; }; - options: Options; + options: OptionsGeneric; placement: Placement; strategy: PositioningStrategy; - orderedModifiers: Array>; + orderedModifiers: Array>; rects: StateRects; scrollParents: { - reference: Array; - popper: Array; + reference: Array; + popper: Array; }; styles: { [key: string]: Partial; @@ -61,6 +80,20 @@ export declare type State = { }; }; modifiersData: { + arrow?: { + x?: number; + y?: number; + centerOffset: number; + }; + hide?: { + isReferenceHidden: boolean; + hasPopperEscaped: boolean; + referenceClippingOffsets: SideObject; + popperEscapeOffsets: SideObject; + }; + offset?: OffsetData; + preventOverflow?: Offsets; + popperOffsets?: Offsets; [key: string]: any; }; reset: boolean; @@ -70,7 +103,7 @@ export declare type Instance = { destroy: () => void; forceUpdate: () => void; update: () => Promise>; - setOptions: (options: Partial) => Promise>; + setOptions: (options: Partial>) => Promise>; }; export declare type ModifierArguments = { state: State; @@ -78,24 +111,31 @@ export declare type ModifierArguments = { options: Partial; name: string; }; -export declare type Modifier = { - name: string; +export declare type Modifier = { + name: Name; enabled: boolean; phase: ModifierPhases; requires?: Array; requiresIfExists?: Array; fn: (arg0: ModifierArguments) => State | void; effect?: (arg0: ModifierArguments) => () => void | void; - options?: Obj; + options?: Partial; data?: Obj; }; +export declare type StrictModifiers = Partial | Partial | Partial | Partial | Partial | Partial | Partial | Partial | Partial; export declare type EventListeners = { scroll: boolean; resize: boolean; }; export declare type Options = { placement: Placement; - modifiers: Array>>; + modifiers: Array>>; + strategy: PositioningStrategy; + onFirstUpdate?: (arg0: Partial) => void; +}; +export declare type OptionsGeneric = { + placement: Placement; + modifiers: Array; strategy: PositioningStrategy; onFirstUpdate?: (arg0: Partial) => void; }; @@ -121,3 +161,4 @@ export declare type VirtualElement = { getBoundingClientRect: () => ClientRect | DOMRect; contextElement?: Element; }; +export {}; diff --git a/conf/site/node_modules/@popperjs/core/lib/types.js.flow b/conf/site/node_modules/@popperjs/core/lib/types.js.flow index 35c3ed5d..9999064f 100644 --- a/conf/site/node_modules/@popperjs/core/lib/types.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/types.js.flow @@ -2,8 +2,25 @@ /* eslint-disable import/no-unused-modules */ import type { Placement, ModifierPhases } from './enums'; +import type { PopperOffsetsModifier } from './modifiers/popperOffsets'; +import type { FlipModifier } from './modifiers/flip'; +import type { HideModifier } from './modifiers/hide'; +import type { OffsetModifier } from './modifiers/offset'; +import type { EventListenersModifier } from './modifiers/eventListeners'; +import type { ComputeStylesModifier } from './modifiers/computeStyles'; +import type { ArrowModifier } from './modifiers/arrow'; +import type { PreventOverflowModifier } from './modifiers/preventOverflow'; +import type { ApplyStylesModifier } from './modifiers/applyStyles'; + export type Obj = { [key: string]: any }; +export type VisualViewport = EventTarget & { + width: number, + height: number, + offsetLeft: number, + offsetTop: number, +}; + // This is a limited subset of the Window object, Flow doesn't provide one // so we define our own, with just the properties we need export type Window = {| @@ -25,6 +42,7 @@ export type Window = {| Node: Node, toString(): '[object Window]', devicePixelRatio: number, + visualViewport?: VisualViewport, |}; export type Rect = {| @@ -51,20 +69,23 @@ export type StateOffsets = {| arrow?: Offsets, |}; +/*:: type OffsetData = { [Placement]: Offsets }; */ +/*;; type OffsetData = { [key in Placement]?: Offsets } */ + export type State = {| elements: {| reference: Element | VirtualElement, popper: HTMLElement, arrow?: HTMLElement, |}, - options: Options, + options: OptionsGeneric, placement: Placement, strategy: PositioningStrategy, - orderedModifiers: Array>, + orderedModifiers: Array>, rects: StateRects, scrollParents: {| - reference: Array, - popper: Array, + reference: Array, + popper: Array, |}, styles: {| [key: string]: $Shape, @@ -72,7 +93,23 @@ export type State = {| attributes: {| [key: string]: { [key: string]: string | boolean }, |}, - modifiersData: { [key: string]: any }, + modifiersData: { + arrow?: { + x?: number, + y?: number, + centerOffset: number, + }, + hide?: { + isReferenceHidden: boolean, + hasPopperEscaped: boolean, + referenceClippingOffsets: SideObject, + popperEscapeOffsets: SideObject, + }, + offset?: OffsetData, + preventOverflow?: Offsets, + popperOffsets?: Offsets, + [key: string]: any, + }, reset: boolean, |}; @@ -81,7 +118,7 @@ export type Instance = {| destroy: () => void, forceUpdate: () => void, update: () => Promise<$Shape>, - setOptions: (options: $Shape) => Promise<$Shape>, + setOptions: (options: $Shape>) => Promise<$Shape>, |}; export type ModifierArguments = { @@ -90,23 +127,41 @@ export type ModifierArguments = { options: $Shape, name: string, }; -export type Modifier = {| - name: string, +export type Modifier = {| + name: Name, enabled: boolean, phase: ModifierPhases, requires?: Array, requiresIfExists?: Array, fn: (ModifierArguments) => State | void, effect?: (ModifierArguments) => (() => void) | void, - options?: Obj, + options?: $Shape, data?: Obj, |}; +export type StrictModifiers = + | $Shape + | $Shape + | $Shape + | $Shape + | $Shape + | $Shape + | $Shape + | $Shape + | $Shape; + export type EventListeners = {| scroll: boolean, resize: boolean |}; export type Options = {| placement: Placement, - modifiers: Array<$Shape>>, + modifiers: Array<$Shape>>, + strategy: PositioningStrategy, + onFirstUpdate?: ($Shape) => void, +|}; + +export type OptionsGeneric = {| + placement: Placement, + modifiers: Array, strategy: PositioningStrategy, onFirstUpdate?: ($Shape) => void, |}; diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.d.ts b/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.d.ts index 28297f3c..f75bd83a 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.d.ts @@ -1,11 +1,12 @@ import { State, Padding } from "../types"; -import { Placement, Boundary, RootBoundary, ComputedPlacement } from "../enums"; +import { Placement, ComputedPlacement, Boundary, RootBoundary } from "../enums"; declare type Options = { placement: Placement; padding: Padding; boundary: Boundary; rootBoundary: RootBoundary; flipVariations: boolean; + allowedAutoPlacements?: Array; }; export default function computeAutoPlacement(state: Partial, options?: Options): Array; export {}; diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js b/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js index 421fe764..4cea04d4 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +++ b/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js @@ -1,7 +1,11 @@ import getVariation from "./getVariation.js"; -import { variationPlacements, basePlacements } from "../enums.js"; +import { variationPlacements, basePlacements, placements as allPlacements } from "../enums.js"; import detectOverflow from "./detectOverflow.js"; import getBasePlacement from "./getBasePlacement.js"; + +/*:: type OverflowsMap = { [ComputedPlacement]: number }; */ + +/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */ export default function computeAutoPlacement(state, options) { if (options === void 0) { options = {}; @@ -12,11 +16,15 @@ export default function computeAutoPlacement(state, options) { boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, - flipVariations = _options.flipVariations; + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP; var variation = getVariation(placement); - var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + var placements = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { return getVariation(placement) === variation; - }) : basePlacements; // $FlowFixMe: Flow seems to have problems with two array unions... + }) : basePlacements).filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); // $FlowFixMe: Flow seems to have problems with two array unions... var overflows = placements.reduce(function (acc, placement) { acc[placement] = detectOverflow(state, { diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.flow b/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.flow index 377ba0db..1bf086e0 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.flow @@ -2,14 +2,16 @@ import type { State, Padding } from '../types'; import type { Placement, - BasePlacement, - VariationPlacement, + ComputedPlacement, Boundary, RootBoundary, - ComputedPlacement, } from '../enums'; import getVariation from './getVariation'; -import { variationPlacements, basePlacements } from '../enums'; +import { + variationPlacements, + basePlacements, + placements as allPlacements, +} from '../enums'; import detectOverflow from './detectOverflow'; import getBasePlacement from './getBasePlacement'; @@ -19,11 +21,11 @@ type Options = { boundary: Boundary, rootBoundary: RootBoundary, flipVariations: boolean, + allowedAutoPlacements?: Array, }; -type OverflowsMap = { - [BasePlacement | VariationPlacement]: number, -}; +/*:: type OverflowsMap = { [ComputedPlacement]: number }; */ +/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */ export default function computeAutoPlacement( state: $Shape, @@ -35,17 +37,19 @@ export default function computeAutoPlacement( rootBoundary, padding, flipVariations, + allowedAutoPlacements = allPlacements, } = options; const variation = getVariation(placement); - const placements = variation + const placements = (variation ? flipVariations ? variationPlacements : variationPlacements.filter( placement => getVariation(placement) === variation ) - : basePlacements; + : basePlacements + ).filter(placement => allowedAutoPlacements.indexOf(placement) >= 0); // $FlowFixMe: Flow seems to have problems with two array unions... const overflows: OverflowsMap = placements.reduce((acc, placement) => { diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.d.ts b/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.d.ts index a47e9ecf..a4117a43 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.d.ts @@ -1,2 +1,2 @@ import { Modifier } from "../types"; -export default function mergeByName(modifiers: Array>>): Array>>; +export default function mergeByName(modifiers: Array>>): Array>>; diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.js.flow b/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.js.flow index ea1409af..2d0377f2 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/utils/mergeByName.js.flow @@ -2,8 +2,8 @@ import type { Modifier } from '../types'; export default function mergeByName( - modifiers: Array<$Shape>> -): Array<$Shape>> { + modifiers: Array<$Shape>> +): Array<$Shape>> { const merged = modifiers.reduce((merged, current) => { const existing = merged[current.name]; merged[current.name] = existing diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.d.ts b/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.d.ts index 312f37db..a925e8ff 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.d.ts +++ b/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.d.ts @@ -1,2 +1,2 @@ import { Modifier } from "../types"; -export default function orderModifiers(modifiers: Array>): Array>; +export default function orderModifiers(modifiers: Array>): Array>; diff --git a/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.js.flow b/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.js.flow index e5ba2b8d..8094d6ed 100644 --- a/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.js.flow +++ b/conf/site/node_modules/@popperjs/core/lib/utils/orderModifiers.js.flow @@ -13,7 +13,7 @@ function order(modifiers) { }); // On visiting object, check for its dependencies and visit them recursively - function sort(modifier: Modifier) { + function sort(modifier: Modifier) { visited.add(modifier.name); const requires = [ @@ -45,8 +45,8 @@ function order(modifiers) { } export default function orderModifiers( - modifiers: Array> -): Array> { + modifiers: Array> +): Array> { // order based on dependencies const orderedModifiers = order(modifiers); diff --git a/conf/site/node_modules/@popperjs/core/package.json b/conf/site/node_modules/@popperjs/core/package.json index a9b116d8..03933f2b 100644 --- a/conf/site/node_modules/@popperjs/core/package.json +++ b/conf/site/node_modules/@popperjs/core/package.json @@ -1,33 +1,33 @@ { "_args": [ [ - "@popperjs/core@2.2.1", - "/home/henry/Documents/git/Speedtest-checker" + "@popperjs/core@2.3.3", + "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site" ] ], - "_from": "@popperjs/core@2.2.1", - "_id": "@popperjs/core@2.2.1", + "_from": "@popperjs/core@2.3.3", + "_id": "@popperjs/core@2.3.3", "_inBundle": false, - "_integrity": "sha512-BChdj3idQiLi+7vPhE6gEDiPzpozvSrUqbSMoSTlRbOQkU0p6u4si0UBydegTyphsYSZC2AUHGYYICP0gqmEVg==", + "_integrity": "sha512-yEvVC8RfhRPkD9TUn7cFcLcgoJePgZRAOR7T21rcRY5I8tpuhzeWfGa7We7tB14fe9R7wENdqUABcMdwD4SQLw==", "_location": "/@popperjs/core", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "@popperjs/core@2.2.1", + "raw": "@popperjs/core@2.3.3", "name": "@popperjs/core", "escapedName": "@popperjs%2fcore", "scope": "@popperjs", - "rawSpec": "2.2.1", + "rawSpec": "2.3.3", "saveSpec": null, - "fetchSpec": "2.2.1" + "fetchSpec": "2.3.3" }, "_requiredBy": [ "/react-overlays" ], - "_resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.2.1.tgz", - "_spec": "2.2.1", - "_where": "/home/henry/Documents/git/Speedtest-checker", + "_resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.3.3.tgz", + "_spec": "2.3.3", + "_where": "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site", "author": { "name": "Federico Zivolo", "email": "federico.zivolo@gmail.com" @@ -48,7 +48,8 @@ "@babel/plugin-transform-runtime": "^7.7.6", "@babel/preset-env": "^7.7.6", "@babel/runtime": "^7.7.6", - "@khanacademy/flow-to-ts": "^0.1.4", + "@khanacademy/flow-to-ts": "^0.1.6", + "@rollup/plugin-replace": "^2.3.1", "@typescript-eslint/parser": "^2.17.0", "arg": "^4.1.2", "babel-core": "7.0.0-bridge.0", @@ -66,7 +67,7 @@ "eslint-plugin-flowtype": "^4.6.0", "eslint-plugin-import": "^2.20.0", "eslint-plugin-unused-imports": "^0.1.2", - "flow-bin": "0.116.1", + "flow-bin": "^0.122.0", "flow-copy-source": "^2.0.9", "get-port-cli": "^2.0.0", "glob": "^7.1.6", @@ -80,11 +81,11 @@ "prettier": "^1.19.1", "pretty-quick": "^2.0.1", "puppeteer": "^2.1.0", + "replace-in-files-cli": "^0.3.1", "rollup": "^1.30.0", "rollup-plugin-babel": "^4.3.3", "rollup-plugin-flow-entry": "^0.3.3", "rollup-plugin-license": "^0.13.0", - "rollup-plugin-replace": "^2.1.0", "rollup-plugin-terser": "^5.2.0", "rollup-plugin-visualizer": "^4.0.3", "serve": "^11.3.0", @@ -95,7 +96,6 @@ }, "files": [ "index.d.ts", - "/src", "/dist", "/lib" ], @@ -141,8 +141,8 @@ "build:dev": "NODE_ENV=dev babel src -d tests/visual/dist", "build:es": "babel src -d lib --ignore '**/*.test.js','**/__mocks__'", "build:esbrowser": "BROWSER_COMPAT=true yarn build:es -d dist/esm", - "build:flow": "flow-copy-source --ignore \"**/*.test.js\" src lib", - "build:typescript": "rimraf dist/typescript; flow-to-ts \"src/**/*.js\" --write --inline-utility-types; node typescript/ts.js --project .config/tsconfig.json --outDir lib; rimraf \"src/**/*.ts\"", + "build:flow": "flow-copy-source --ignore \"**/*.test.js\" src lib && replace-in-files --string=__DEV__ --replacement=false 'lib/**/*.flow'", + "build:typescript": "rimraf dist/typescript; yarn build:es; flow-to-ts \"src/**/*.js\" --write --inline-utility-types; node typescript/ts.js --project .config/tsconfig.json --outDir lib; rimraf \"src/**/*.ts\"", "clean": "rimraf lib && rimraf dist && rimraf test/visual/dist", "dev": "NODE_ENV=dev concurrently 'yarn serve' 'yarn build:dev --watch'", "prepublishOnly": "yarn build", @@ -156,5 +156,5 @@ }, "sideEffects": false, "unpkg": "dist/umd/popper.min.js", - "version": "2.2.1" + "version": "2.3.3" } diff --git a/conf/site/node_modules/@popperjs/core/src/__snapshots__/index.test.js.snap b/conf/site/node_modules/@popperjs/core/src/__snapshots__/index.test.js.snap deleted file mode 100644 index d0f229dc..00000000 --- a/conf/site/node_modules/@popperjs/core/src/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,34 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`returns expected instance object 1`] = ` -Object { - "destroy": [Function], - "forceUpdate": [Function], - "setOptions": [Function], - "state": Object { - "attributes": Object {}, - "elements": Object { - "popper":
, - "reference":
, - }, - "modifiersData": Object {}, - "options": Object { - "modifiers": Array [], - "placement": "bottom", - "strategy": "absolute", - }, - "orderedModifiers": Array [], - "placement": "bottom", - "scrollParents": Object { - "popper": Array [ - [Window], - ], - "reference": Array [ - [Window], - ], - }, - "styles": Object {}, - }, - "update": [Function], -} -`; diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/__snapshots__/getWindowScroll.test.js.snap b/conf/site/node_modules/@popperjs/core/src/dom-utils/__snapshots__/getWindowScroll.test.js.snap deleted file mode 100644 index a554999b..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/__snapshots__/getWindowScroll.test.js.snap +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`returns the scrollTop and scrollLeft of the window 1`] = ` -Object { - "scrollLeft": 100, - "scrollTop": 200, -} -`; diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/contains.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/contains.js deleted file mode 100644 index 0076404a..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/contains.js +++ /dev/null @@ -1,24 +0,0 @@ -// @flow -export default function contains(parent: Element, child: Element) { - // $FlowFixMe: hasOwnProperty doesn't seem to work in tests - const isShadow = Boolean(child.getRootNode && child.getRootNode().host); - - // First, attempt with faster native method - if (parent.contains(child)) { - return true; - } - // then fallback to custom implementation with Shadow DOM support - else if (isShadow) { - let next = child; - do { - if (next && parent.isSameNode(next)) { - return true; - } - // $FlowFixMe: need a better way to handle this... - next = next.parentNode || next.host; - } while (next); - } - - // Give up, the result is false - return false; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/contains.test.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/contains.test.js deleted file mode 100644 index ce785b5e..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/contains.test.js +++ /dev/null @@ -1,40 +0,0 @@ -// @flow -import contains from './contains'; - -it('returns correct results for simple parent/child relationships', () => { - const child = document.createElement('div'); - const parent = document.createElement('div'); - const sibling = document.createElement('div'); - const grandChild = document.createElement('div'); - parent.appendChild(child); - child.appendChild(grandChild); - parent.appendChild(sibling); - - expect(contains(parent, child)).toBeTruthy(); - expect(contains(parent, sibling)).toBeTruthy(); - expect(contains(child, sibling)).toBeFalsy(); - expect(contains(parent, grandChild)).toBeTruthy(); - expect(contains(child, grandChild)).toBeTruthy(); - expect(contains(sibling, grandChild)).toBeFalsy(); -}); - -it('returns correct results for shadow dom relationships', () => { - const element = document.createElement('div'); - const shadowRoot = element.attachShadow({ mode: 'open' }); - const child = document.createElement('div'); - const sibling = document.createElement('div'); - const childShadowRoot = child.attachShadow({ mode: 'open' }); - const grandChild = document.createElement('div'); - shadowRoot.appendChild(child); - shadowRoot.appendChild(sibling); - childShadowRoot.appendChild(grandChild); - - expect(contains(element, child)).toBeTruthy(); - expect(contains(element, grandChild)).toBeTruthy(); - expect(contains(sibling, grandChild)).toBeFalsy(); -}); - -it('returns true that a node contains itself', () => { - const element = document.createElement('div'); - expect(contains(element, element)).toBeTruthy(); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getBorders.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getBorders.js deleted file mode 100644 index ad4a0488..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getBorders.js +++ /dev/null @@ -1,19 +0,0 @@ -// @flow -import type { SideObject } from '../types'; -import getComputedStyle from './getComputedStyle'; -import { isHTMLElement } from './instanceOf'; - -function toNumber(cssValue: string): number { - return parseFloat(cssValue) || 0; -} - -export default function getBorders(element: Element): SideObject { - const computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {}; - - return { - top: toNumber(computedStyle.borderTopWidth), - right: toNumber(computedStyle.borderRightWidth), - bottom: toNumber(computedStyle.borderBottomWidth), - left: toNumber(computedStyle.borderLeftWidth), - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getBoundingClientRect.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getBoundingClientRect.js deleted file mode 100644 index 3a9b38de..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getBoundingClientRect.js +++ /dev/null @@ -1,19 +0,0 @@ -// @flow -import type { ClientRectObject, VirtualElement } from '../types'; - -export default function getBoundingClientRect( - element: Element | VirtualElement -): ClientRectObject { - const rect = element.getBoundingClientRect(); - - return { - width: rect.width, - height: rect.height, - top: rect.top, - right: rect.right, - bottom: rect.bottom, - left: rect.left, - x: rect.left, - y: rect.top, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getClippingRect.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getClippingRect.js deleted file mode 100644 index 797c8b76..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getClippingRect.js +++ /dev/null @@ -1,87 +0,0 @@ -// @flow -import type { ClientRectObject } from '../types'; -import type { Boundary, RootBoundary } from '../enums'; -import { viewport } from '../enums'; -import getViewportRect from './getViewportRect'; -import getDocumentRect from './getDocumentRect'; -import listScrollParents from './listScrollParents'; -import getOffsetParent from './getOffsetParent'; -import getDocumentElement from './getDocumentElement'; -import getComputedStyle from './getComputedStyle'; -import { isElement, isHTMLElement } from './instanceOf'; -import getBoundingClientRect from './getBoundingClientRect'; -import getDecorations from './getDecorations'; -import contains from './contains'; -import rectToClientRect from '../utils/rectToClientRect'; - -function getClientRectFromMixedType( - element: Element, - clippingParent: Element | RootBoundary -): ClientRectObject { - return clippingParent === viewport - ? rectToClientRect(getViewportRect(element)) - : isHTMLElement(clippingParent) - ? getBoundingClientRect(clippingParent) - : rectToClientRect(getDocumentRect(getDocumentElement(element))); -} - -// A "clipping parent" is an overflowable container with the characteristic of -// clipping (or hiding) overflowing elements with a position different from -// `initial` -function getClippingParents(element: Element): Array { - const clippingParents = listScrollParents(element); - const canEscapeClipping = - ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0; - const clipperElement = - canEscapeClipping && isHTMLElement(element) - ? getOffsetParent(element) - : element; - - if (!isElement(clipperElement)) { - return []; - } - - // $FlowFixMe: https://github.com/facebook/flow/issues/1414 - return clippingParents.filter( - clippingParent => - isElement(clippingParent) && contains(clippingParent, clipperElement) - ); -} - -// Gets the maximum area that the element is visible in due to any number of -// clipping parents -export default function getClippingRect( - element: Element, - boundary: Boundary, - rootBoundary: RootBoundary -): ClientRectObject { - const mainClippingParents = - boundary === 'clippingParents' - ? getClippingParents(element) - : [].concat(boundary); - const clippingParents = [...mainClippingParents, rootBoundary]; - const firstClippingParent = clippingParents[0]; - - const clippingRect = clippingParents.reduce((accRect, clippingParent) => { - const rect = getClientRectFromMixedType(element, clippingParent); - const decorations = getDecorations( - isHTMLElement(clippingParent) - ? clippingParent - : getDocumentElement(element) - ); - - accRect.top = Math.max(rect.top + decorations.top, accRect.top); - accRect.right = Math.min(rect.right - decorations.right, accRect.right); - accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom); - accRect.left = Math.max(rect.left + decorations.left, accRect.left); - - return accRect; - }, getClientRectFromMixedType(element, firstClippingParent)); - - clippingRect.width = clippingRect.right - clippingRect.left; - clippingRect.height = clippingRect.bottom - clippingRect.top; - clippingRect.x = clippingRect.left; - clippingRect.y = clippingRect.top; - - return clippingRect; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getCompositeRect.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getCompositeRect.js deleted file mode 100644 index 779af3b3..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getCompositeRect.js +++ /dev/null @@ -1,43 +0,0 @@ -// @flow -import type { Rect, VirtualElement, Window } from '../types'; -import getBoundingClientRect from './getBoundingClientRect'; -import getNodeScroll from './getNodeScroll'; -import getNodeName from './getNodeName'; -import { isHTMLElement } from './instanceOf'; -import getWindowScrollBarX from './getWindowScrollBarX'; -import getDocumentElement from './getDocumentElement'; - -// Returns the composite rect of an element relative to its offsetParent. -// Composite means it takes into account transforms as well as layout. -export default function getCompositeRect( - elementOrVirtualElement: Element | VirtualElement, - offsetParent: Element | Window, - isFixed: boolean = false -): Rect { - let documentElement; - const rect = getBoundingClientRect(elementOrVirtualElement); - - let scroll = { scrollLeft: 0, scrollTop: 0 }; - let offsets = { x: 0, y: 0 }; - - if (!isFixed) { - if (getNodeName(offsetParent) !== 'body') { - scroll = getNodeScroll(offsetParent); - } - - if (isHTMLElement(offsetParent)) { - offsets = getBoundingClientRect(offsetParent); - offsets.x += offsetParent.clientLeft; - offsets.y += offsetParent.clientTop; - } else if ((documentElement = getDocumentElement(offsetParent))) { - offsets.x = getWindowScrollBarX(documentElement); - } - } - - return { - x: rect.left + scroll.scrollLeft - offsets.x, - y: rect.top + scroll.scrollTop - offsets.y, - width: rect.width, - height: rect.height, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getComputedStyle.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getComputedStyle.js deleted file mode 100644 index dcd733bb..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getComputedStyle.js +++ /dev/null @@ -1,8 +0,0 @@ -// @flow -import getWindow from './getWindow'; - -export default function getComputedStyle( - element: Element -): CSSStyleDeclaration { - return getWindow(element).getComputedStyle(element); -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getDecorations.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getDecorations.js deleted file mode 100644 index 8af4e3df..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getDecorations.js +++ /dev/null @@ -1,43 +0,0 @@ -// @flow -import type { SideObject } from '../types'; -import getBorders from './getBorders'; -import getNodeName from './getNodeName'; -import getWindow from './getWindow'; -import getWindowScrollBarX from './getWindowScrollBarX'; - -// Borders + scrollbars -export default function getDecorations(element: HTMLElement): SideObject { - const win = getWindow(element); - const borders = getBorders(element); - const isHTML = getNodeName(element) === 'html'; - const winScrollBarX = getWindowScrollBarX(element); - - const x = element.clientWidth + borders.right; - let y = element.clientHeight + borders.bottom; - - // HACK: - // document.documentElement.clientHeight on iOS reports the height of the - // viewport including the bottom bar, even if the bottom bar isn't visible. - // If the difference between window innerHeight and html clientHeight is more - // than 50, we assume it's a mobile bottom bar and ignore scrollbars. - // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows - // is about 17px) - // * The mobile bar is 114px tall - if (isHTML && win.innerHeight - element.clientHeight > 50) { - y = win.innerHeight - borders.bottom; - } - - return { - top: isHTML ? 0 : element.clientTop, - right: - // RTL scrollbar (scrolling containers only) - element.clientLeft > borders.left - ? borders.right - : // LTR scrollbar - isHTML - ? win.innerWidth - x - winScrollBarX - : element.offsetWidth - x, - bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y, - left: isHTML ? winScrollBarX : element.clientLeft, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentElement.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentElement.js deleted file mode 100644 index 85ac411e..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentElement.js +++ /dev/null @@ -1,11 +0,0 @@ -// @flow -import { isElement } from './instanceOf'; -import type { Window } from '../types'; - -export default function getDocumentElement( - element: Element | Window -): HTMLElement { - // $FlowFixMe: assume body is always available - return (isElement(element) ? element.ownerDocument : element.document) - .documentElement; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentRect.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentRect.js deleted file mode 100644 index ee9a80fb..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getDocumentRect.js +++ /dev/null @@ -1,19 +0,0 @@ -// @flow -import type { Rect } from '../types'; -import getCompositeRect from './getCompositeRect'; -import getWindow from './getWindow'; -import getDocumentElement from './getDocumentElement'; -import getWindowScroll from './getWindowScroll'; - -export default function getDocumentRect(element: HTMLElement): Rect { - const win = getWindow(element); - const winScroll = getWindowScroll(element); - const documentRect = getCompositeRect(getDocumentElement(element), win); - - documentRect.height = Math.max(documentRect.height, win.innerHeight); - documentRect.width = Math.max(documentRect.width, win.innerWidth); - documentRect.x = -winScroll.scrollLeft; - documentRect.y = -winScroll.scrollTop; - - return documentRect; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getHTMLElementScroll.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getHTMLElementScroll.js deleted file mode 100644 index ac27aa16..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getHTMLElementScroll.js +++ /dev/null @@ -1,8 +0,0 @@ -// @flow - -export default function getHTMLElementScroll(element: HTMLElement) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getLayoutRect.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getLayoutRect.js deleted file mode 100644 index fff8ed84..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getLayoutRect.js +++ /dev/null @@ -1,13 +0,0 @@ -// @flow -import type { Rect } from '../types'; - -// Returns the layout rect of an element relative to its offsetParent. Layout -// means it doesn't take into account transforms. -export default function getLayoutRect(element: HTMLElement): Rect { - return { - x: element.offsetLeft, - y: element.offsetTop, - width: element.offsetWidth, - height: element.offsetHeight, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeName.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeName.js deleted file mode 100644 index 72e5b817..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeName.js +++ /dev/null @@ -1,6 +0,0 @@ -// @flow -import type { Window } from '../types'; - -export default function getNodeName(element: ?Node | Window): ?string { - return element ? (element.nodeName || '').toLowerCase() : null; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeScroll.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeScroll.js deleted file mode 100644 index 314574ef..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getNodeScroll.js +++ /dev/null @@ -1,14 +0,0 @@ -// @flow -import getWindowScroll from './getWindowScroll'; -import getWindow from './getWindow'; -import { isHTMLElement } from './instanceOf'; -import getHTMLElementScroll from './getHTMLElementScroll'; -import type { Window } from '../types'; - -export default function getNodeScroll(node: Node | Window) { - if (node === getWindow(node) || !isHTMLElement(node)) { - return getWindowScroll(node); - } else { - return getHTMLElementScroll(node); - } -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getOffsetParent.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getOffsetParent.js deleted file mode 100644 index bd2ed502..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getOffsetParent.js +++ /dev/null @@ -1,39 +0,0 @@ -// @flow -import getWindow from './getWindow'; -import getNodeName from './getNodeName'; -import getComputedStyle from './getComputedStyle'; -import { isHTMLElement } from './instanceOf'; -import isTableElement from './isTableElement'; - -function getTrueOffsetParent(element: Element): ?Element { - if ( - !isHTMLElement(element) || - // https://github.com/popperjs/popper-core/issues/837 - getComputedStyle(element).position === 'fixed' - ) { - return null; - } - - return element.offsetParent; -} - -export default function getOffsetParent(element: Element) { - const window = getWindow(element); - - let offsetParent = getTrueOffsetParent(element); - - // Find the nearest non-table offsetParent - while (offsetParent && isTableElement(offsetParent)) { - offsetParent = getTrueOffsetParent(offsetParent); - } - - if ( - offsetParent && - getNodeName(offsetParent) === 'body' && - getComputedStyle(offsetParent).position === 'static' - ) { - return window; - } - - return offsetParent || window; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.js deleted file mode 100644 index c8862dd8..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.js +++ /dev/null @@ -1,16 +0,0 @@ -// @flow -import getNodeName from './getNodeName'; - -export default function getParentNode(element: Node | ShadowRoot): Node { - if (getNodeName(element) === 'html') { - return element; - } - - return ( - element.parentNode || // DOM Element detected - // $FlowFixMe: need a better way to handle this... - element.host || // ShadowRoot detected - document.ownerDocument || // Fallback to ownerDocument if available - document.documentElement // Or to documentElement if everything else fails - ); -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.test.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.test.js deleted file mode 100644 index 49d7c933..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getParentNode.test.js +++ /dev/null @@ -1,38 +0,0 @@ -// @flow -import getParentNode from './getParentNode'; - -it('returns a parent element', () => { - const child = document.createElement('div'); - const parent = document.createElement('div'); - parent.appendChild(child); - - expect(getParentNode(child)).toBe(parent); -}); - -it('returns a parent body', () => { - const child = document.createElement('div'); - document.body && document.body.appendChild(child); - expect(getParentNode(child)).toBe(document.body); -}); - -it("returns itself if it's documentElement", () => { - document.documentElement && - expect(getParentNode(document.documentElement)).toBe( - document.documentElement - ); -}); - -it('fallbacks to documentElement if no parentNode can be extracted', () => { - const element = document.createElement('div'); - expect(getParentNode(element)).toBe(document.documentElement); -}); - -// JSDOM doesn't support Shadow DOM unfortunately, polyfills didn't help -it('returns the shadow dom host', () => { - const element = document.createElement('div'); - const shadowRoot = element.attachShadow({ mode: 'open' }); - const child = document.createElement('div'); - shadowRoot.appendChild(child); - expect(getParentNode(child)).toBe(shadowRoot); - expect(getParentNode(shadowRoot)).toBe(element); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getScrollParent.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getScrollParent.js deleted file mode 100644 index 85f02694..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getScrollParent.js +++ /dev/null @@ -1,23 +0,0 @@ -// @flow -import getParentNode from './getParentNode'; -import getComputedStyle from './getComputedStyle'; -import getNodeName from './getNodeName'; -import { isHTMLElement } from './instanceOf'; - -export default function getScrollParent(node: Node): HTMLElement { - if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { - // $FlowFixMe: assume body is always available - return node.ownerDocument.body; - } - - if (isHTMLElement(node)) { - // Firefox wants us to check `-x` and `-y` variations as well - const { overflow, overflowX, overflowY } = getComputedStyle(node); - - if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) { - return node; - } - } - - return getScrollParent(getParentNode(node)); -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getViewportRect.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getViewportRect.js deleted file mode 100644 index 0cc89cfc..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getViewportRect.js +++ /dev/null @@ -1,13 +0,0 @@ -// @flow -import getWindow from './getWindow'; - -export default function getViewportRect(element: Element) { - const win = getWindow(element); - - return { - width: win.innerWidth, - height: win.innerHeight, - x: 0, - y: 0, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindow.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindow.js deleted file mode 100644 index d9a0e219..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindow.js +++ /dev/null @@ -1,12 +0,0 @@ -// @flow -/*:: import type { Window } from '../types'; */ -/*:: declare function getWindow(node: Node | Window): Window; */ - -export default function getWindow(node) { - if (node.toString() !== '[object Window]') { - const ownerDocument = node.ownerDocument; - return ownerDocument ? ownerDocument.defaultView : window; - } - - return node; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.js deleted file mode 100644 index 2b4c2671..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.js +++ /dev/null @@ -1,14 +0,0 @@ -// @flow -import getWindow from './getWindow'; -import type { Window } from '../types'; - -export default function getWindowScroll(node: Node | Window) { - const win = getWindow(node); - const scrollLeft = win.pageXOffset; - const scrollTop = win.pageYOffset; - - return { - scrollLeft, - scrollTop, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.test.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.test.js deleted file mode 100644 index c1cd4a87..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScroll.test.js +++ /dev/null @@ -1,11 +0,0 @@ -// @flow -import getWindowScroll from './getWindowScroll'; - -it('returns the scrollTop and scrollLeft of the window', () => { - window.pageXOffset = 100; - window.pageYOffset = 200; - const element = document.createElement('div'); - window.document.documentElement.appendChild(element); - - expect(getWindowScroll(element)).toMatchSnapshot(); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScrollBarX.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScrollBarX.js deleted file mode 100644 index 9d0d86de..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/getWindowScrollBarX.js +++ /dev/null @@ -1,18 +0,0 @@ -// @flow -import getBoundingClientRect from './getBoundingClientRect'; -import getDocumentElement from './getDocumentElement'; -import getWindowScroll from './getWindowScroll'; - -export default function getWindowScrollBarX(element: Element): number { - // If has a CSS width greater than the viewport, then this will be - // incorrect for RTL. - // Popper 1 is broken in this case and never had a bug report so let's assume - // it's not an issue. I don't think anyone ever specifies width on - // anyway. - // Browsers where the left scrollbar doesn't cause an issue report `0` for - // this (e.g. Edge 2019, IE11, Safari) - return ( - getBoundingClientRect(getDocumentElement(element)).left + - getWindowScroll(element).scrollLeft - ); -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/instanceOf.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/instanceOf.js deleted file mode 100644 index f03e511f..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/instanceOf.js +++ /dev/null @@ -1,20 +0,0 @@ -// @flow -import getWindow from './getWindow'; - -/*:: declare function isElement(node: mixed): boolean %checks(node instanceof - Element); */ - -function isElement(node) { - const OwnElement = getWindow(node).Element; - return node instanceof OwnElement || node instanceof Element; -} - -/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof - HTMLElement); */ - -function isHTMLElement(node) { - const OwnElement = getWindow(node).HTMLElement; - return node instanceof OwnElement || node instanceof HTMLElement; -} - -export { isElement, isHTMLElement }; diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/isTableElement.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/isTableElement.js deleted file mode 100644 index adb7f8d0..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/isTableElement.js +++ /dev/null @@ -1,6 +0,0 @@ -// @flow -import getNodeName from './getNodeName'; - -export default function isTableElement(element: Element): boolean { - return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; -} diff --git a/conf/site/node_modules/@popperjs/core/src/dom-utils/listScrollParents.js b/conf/site/node_modules/@popperjs/core/src/dom-utils/listScrollParents.js deleted file mode 100644 index 22f86b88..00000000 --- a/conf/site/node_modules/@popperjs/core/src/dom-utils/listScrollParents.js +++ /dev/null @@ -1,21 +0,0 @@ -// @flow -import getScrollParent from './getScrollParent'; -import getParentNode from './getParentNode'; -import getNodeName from './getNodeName'; -import getWindow from './getWindow'; -import type { Window } from '../types'; - -export default function listScrollParents( - element: Node, - list: Array = [] -): Array { - const scrollParent = getScrollParent(element); - const isBody = getNodeName(scrollParent) === 'body'; - const target = isBody ? getWindow(scrollParent) : scrollParent; - const updatedList = list.concat(target); - - return isBody - ? updatedList - : // $FlowFixMe: isBody tells us target will be an HTMLElement here - updatedList.concat(listScrollParents(getParentNode(target))); -} diff --git a/conf/site/node_modules/@popperjs/core/src/enums.js b/conf/site/node_modules/@popperjs/core/src/enums.js deleted file mode 100644 index 266f542e..00000000 --- a/conf/site/node_modules/@popperjs/core/src/enums.js +++ /dev/null @@ -1,94 +0,0 @@ -// @flow -export const top: 'top' = 'top'; -export const bottom: 'bottom' = 'bottom'; -export const right: 'right' = 'right'; -export const left: 'left' = 'left'; -export const auto: 'auto' = 'auto'; -export type BasePlacement = - | typeof top - | typeof bottom - | typeof right - | typeof left; -export const basePlacements: Array = [top, bottom, right, left]; - -export const start: 'start' = 'start'; -export const end: 'end' = 'end'; -export type Variation = typeof start | typeof end; - -export const clippingParents: 'clippingParents' = 'clippingParents'; -export const viewport: 'viewport' = 'viewport'; -export type Boundary = - | HTMLElement - | Array - | typeof clippingParents; -export type RootBoundary = typeof viewport | 'document'; - -export const popper: 'popper' = 'popper'; -export const reference: 'reference' = 'reference'; -export type Context = typeof popper | typeof reference; - -export type VariationPlacement = - | 'top-start' - | 'top-end' - | 'bottom-start' - | 'bottom-end' - | 'right-start' - | 'right-end' - | 'left-start' - | 'left-end'; -export type AutoPlacement = 'auto' | 'auto-start' | 'auto-end'; -export type ComputedPlacement = VariationPlacement | BasePlacement; -export type Placement = AutoPlacement | BasePlacement | VariationPlacement; - -export const variationPlacements: Array = basePlacements.reduce( - (acc: Array, placement: BasePlacement) => - acc.concat([(`${placement}-${start}`: any), (`${placement}-${end}`: any)]), - [] -); -export const placements: Array = [...basePlacements, auto].reduce( - ( - acc: Array, - placement: BasePlacement | typeof auto - ): Array => - acc.concat([ - placement, - (`${placement}-${start}`: any), - (`${placement}-${end}`: any), - ]), - [] -); - -// modifiers that need to read the DOM -export const beforeRead: 'beforeRead' = 'beforeRead'; -export const read: 'read' = 'read'; -export const afterRead: 'afterRead' = 'afterRead'; -// pure-logic modifiers -export const beforeMain: 'beforeMain' = 'beforeMain'; -export const main: 'main' = 'main'; -export const afterMain: 'afterMain' = 'afterMain'; -// modifier with the purpose to write to the DOM (or write into a framework state) -export const beforeWrite: 'beforeWrite' = 'beforeWrite'; -export const write: 'write' = 'write'; -export const afterWrite: 'afterWrite' = 'afterWrite'; -export const modifierPhases: Array = [ - beforeRead, - read, - afterRead, - beforeMain, - main, - afterMain, - beforeWrite, - write, - afterWrite, -]; - -export type ModifierPhases = - | typeof beforeRead - | typeof read - | typeof afterRead - | typeof beforeMain - | typeof main - | typeof afterMain - | typeof beforeWrite - | typeof write - | typeof afterWrite; diff --git a/conf/site/node_modules/@popperjs/core/src/index.js b/conf/site/node_modules/@popperjs/core/src/index.js deleted file mode 100644 index 5f3146c8..00000000 --- a/conf/site/node_modules/@popperjs/core/src/index.js +++ /dev/null @@ -1,288 +0,0 @@ -// @flow -import type { - State, - Options, - Modifier, - Instance, - VirtualElement, -} from './types'; -import getCompositeRect from './dom-utils/getCompositeRect'; -import getLayoutRect from './dom-utils/getLayoutRect'; -import listScrollParents from './dom-utils/listScrollParents'; -import getOffsetParent from './dom-utils/getOffsetParent'; -import getComputedStyle from './dom-utils/getComputedStyle'; -import orderModifiers from './utils/orderModifiers'; -import debounce from './utils/debounce'; -import validateModifiers from './utils/validateModifiers'; -import uniqueBy from './utils/uniqueBy'; -import getBasePlacement from './utils/getBasePlacement'; -import mergeByName from './utils/mergeByName'; -import { isElement } from './dom-utils/instanceOf'; -import { auto } from './enums'; - -export type * from './types'; -export * from './enums'; - -const INVALID_ELEMENT_ERROR = - 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'; -const INFINITE_LOOP_ERROR = - 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; - -const DEFAULT_OPTIONS: Options = { - placement: 'bottom', - modifiers: [], - strategy: 'absolute', -}; - -type PopperGeneratorArgs = { - defaultModifiers?: Array>, - defaultOptions?: $Shape, -}; - -function areValidElements(...args: Array): boolean { - return !args.some( - element => !(element && typeof element.getBoundingClientRect === 'function') - ); -} - -export function popperGenerator(generatorOptions: PopperGeneratorArgs = {}) { - const { - defaultModifiers = [], - defaultOptions = DEFAULT_OPTIONS, - } = generatorOptions; - - return function createPopper( - reference: Element | VirtualElement, - popper: HTMLElement, - options: $Shape = defaultOptions - ): Instance { - let state: $Shape = { - placement: 'bottom', - orderedModifiers: [], - options: { ...DEFAULT_OPTIONS, ...defaultOptions }, - modifiersData: {}, - elements: { - reference, - popper, - }, - attributes: {}, - styles: {}, - }; - - let effectCleanupFns: Array<() => void> = []; - let isDestroyed = false; - - const instance = { - state, - setOptions(options) { - cleanupModifierEffects(); - - state.options = { - ...defaultOptions, - ...state.options, - ...options, - }; - - state.scrollParents = { - reference: isElement(reference) - ? listScrollParents(reference) - : reference.contextElement - ? listScrollParents(reference.contextElement) - : [], - popper: listScrollParents(popper), - }; - - // Orders the modifiers based on their dependencies and `phase` - // properties - const orderedModifiers = orderModifiers( - mergeByName([...defaultModifiers, ...state.options.modifiers]) - ); - - // Strip out disabled modifiers - state.orderedModifiers = orderedModifiers.filter(m => m.enabled); - - // Validate the provided modifiers so that the consumer will get warned - // if one of the modifiers is invalid for any reason - if (__DEV__) { - const modifiers = uniqueBy( - [...orderedModifiers, ...state.options.modifiers], - ({ name }) => name - ); - - validateModifiers(modifiers); - - if (getBasePlacement(state.options.placement) === auto) { - const flipModifier = state.orderedModifiers.find( - ({ name }) => name === 'flip' - ); - - if (!flipModifier) { - console.error( - [ - 'Popper: "auto" placements require the "flip" modifier be', - 'present and enabled to work.', - ].join(' ') - ); - } - } - - const { - marginTop, - marginRight, - marginBottom, - marginLeft, - } = getComputedStyle(popper); - - // We no longer take into account `margins` on the popper, and it can - // cause bugs with positioning, so we'll warn the consumer - if ( - [marginTop, marginRight, marginBottom, marginLeft].some(margin => - parseFloat(margin) - ) - ) { - console.warn( - [ - 'Popper: CSS "margin" styles cannot be used to apply padding', - 'between the popper and its reference element or boundary.', - 'To replicate margin, use the `offset` modifier, as well as', - 'the `padding` option in the `preventOverflow` and `flip`', - 'modifiers.', - ].join(' ') - ); - } - } - - runModifierEffects(); - - return instance.update(); - }, - - // Sync update – it will always be executed, even if not necessary. This - // is useful for low frequency updates where sync behavior simplifies the - // logic. - // For high frequency updates (e.g. `resize` and `scroll` events), always - // prefer the async Popper#update method - forceUpdate() { - if (isDestroyed) { - return; - } - - const { reference, popper } = state.elements; - - // Don't proceed if `reference` or `popper` are not valid elements - // anymore - if (!areValidElements(reference, popper)) { - if (__DEV__) { - console.error(INVALID_ELEMENT_ERROR); - } - return; - } - - // Store the reference and popper rects to be read by modifiers - state.rects = { - reference: getCompositeRect( - reference, - getOffsetParent(popper), - state.options.strategy === 'fixed' - ), - popper: getLayoutRect(popper), - }; - - // Modifiers have the ability to reset the current update cycle. The - // most common use case for this is the `flip` modifier changing the - // placement, which then needs to re-run all the modifiers, because the - // logic was previously ran for the previous placement and is therefore - // stale/incorrect - state.reset = false; - - state.placement = state.options.placement; - - // On each update cycle, the `modifiersData` property for each modifier - // is filled with the initial data specified by the modifier. This means - // it doesn't persist and is fresh on each update. - // To ensure persistent data, use `${name}#persistent` - state.orderedModifiers.forEach( - modifier => - (state.modifiersData[modifier.name] = { - ...modifier.data, - }) - ); - - let __debug_loops__ = 0; - for (let index = 0; index < state.orderedModifiers.length; index++) { - if (__DEV__) { - __debug_loops__ += 1; - if (__debug_loops__ > 100) { - console.error(INFINITE_LOOP_ERROR); - break; - } - } - - if (state.reset === true) { - state.reset = false; - index = -1; - continue; - } - - const { fn, options = {}, name } = state.orderedModifiers[index]; - - if (typeof fn === 'function') { - state = fn({ state, options, name, instance }) || state; - } - } - }, - - // Async and optimistically optimized update – it will not be executed if - // not necessary (debounced to run at most once-per-tick) - update: debounce<$Shape>( - () => - new Promise<$Shape>(resolve => { - instance.forceUpdate(); - resolve(state); - }) - ), - - destroy() { - cleanupModifierEffects(); - isDestroyed = true; - }, - }; - - if (!areValidElements(reference, popper)) { - if (__DEV__) { - console.error(INVALID_ELEMENT_ERROR); - } - return instance; - } - - instance.setOptions(options).then(state => { - if (!isDestroyed && options.onFirstUpdate) { - options.onFirstUpdate(state); - } - }); - - // Modifiers have the ability to execute arbitrary code before the first - // update cycle runs. They will be executed in the same order as the update - // cycle. This is useful when a modifier adds some persistent data that - // other modifiers need to use, but the modifier is run after the dependent - // one. - function runModifierEffects() { - state.orderedModifiers.forEach(({ name, options = {}, effect }) => { - if (typeof effect === 'function') { - const cleanupFn = effect({ state, name, instance, options }); - const noopFn = () => {}; - effectCleanupFns.push(cleanupFn || noopFn); - } - }); - } - - function cleanupModifierEffects() { - effectCleanupFns.forEach(fn => fn()); - effectCleanupFns = []; - } - - return instance; - }; -} - -export const createPopper = popperGenerator(); diff --git a/conf/site/node_modules/@popperjs/core/src/index.test.js b/conf/site/node_modules/@popperjs/core/src/index.test.js deleted file mode 100644 index 8a0033bb..00000000 --- a/conf/site/node_modules/@popperjs/core/src/index.test.js +++ /dev/null @@ -1,211 +0,0 @@ -// @flow -import { createPopper } from './'; - -const reference = document.createElement('div'); -const getPopper = () => document.createElement('div'); - -const testModifier = { - name: 'test', - phase: 'main', - enabled: true, -}; - -it('returns expected instance object', () => { - expect(createPopper(reference, getPopper())).toMatchSnapshot(); -}); - -it('runs modifier effects on create', () => { - const spy = jest.fn(); - - createPopper(reference, getPopper(), { - modifiers: [ - { - ...testModifier, - effect: spy, - }, - ], - }); - - expect(spy).toHaveBeenCalledTimes(1); -}); - -it('does not run modifier effect cleanup functions on create', () => { - const spy = jest.fn(); - - createPopper(reference, getPopper(), { - modifiers: [ - { - ...testModifier, - effect: () => spy, - }, - ], - }); - - expect(spy).not.toHaveBeenCalled(); -}); - -it('errors if placement: "auto" and "flip" modifier is not present/enabled', () => { - const spy = jest.spyOn(console, 'error'); - - createPopper(reference, getPopper(), { - placement: 'auto', - modifiers: [ - { - name: 'flip', - enabled: false, - }, - ], - }); - - expect(spy).toHaveBeenCalledWith( - [ - 'Popper: "auto" placements require the "flip" modifier be', - 'present and enabled to work.', - ].join(' ') - ); -}); - -describe('margin warning', () => { - it('warns for margin: value', () => { - const spy = jest.spyOn(console, 'warn'); - const popper = getPopper(); - popper.style.margin = '5px'; - - createPopper(reference, popper); - - expect(spy).toHaveBeenCalledWith( - [ - 'Popper: CSS "margin" styles cannot be used to apply padding', - 'between the popper and its reference element or boundary.', - 'To replicate margin, use the `offset` modifier, as well as', - 'the `padding` option in the `preventOverflow` and `flip`', - 'modifiers.', - ].join(' ') - ); - }); - - it('warns for two sides', () => { - const spy = jest.spyOn(console, 'warn'); - const popper = getPopper(); - popper.style.margin = '0 0.5em'; - - createPopper(reference, popper); - - expect(spy).toHaveBeenCalledWith( - [ - 'Popper: CSS "margin" styles cannot be used to apply padding', - 'between the popper and its reference element or boundary.', - 'To replicate margin, use the `offset` modifier, as well as', - 'the `padding` option in the `preventOverflow` and `flip`', - 'modifiers.', - ].join(' ') - ); - }); - - it('does not warn with no margin', () => { - const spy = jest.spyOn(console, 'warn'); - const popper = getPopper(); - popper.style.margin = '0px'; - - createPopper(reference, popper); - - expect(spy).not.toHaveBeenCalled(); - }); -}); - -it('does not error for missing phase for disabled modifiers', () => { - const spy = jest.spyOn(console, 'error'); - - createPopper(reference, getPopper(), { - modifiers: [ - { - name: 'flip', - enabled: true, - phase: 'main', - fn: () => {}, - }, - { - name: 'flip', - enabled: false, - }, - ], - }); - - expect(spy).not.toHaveBeenCalled(); -}); - -it('errors for custom modifier missing phase property', () => { - const spy = jest.spyOn(console, 'error'); - - createPopper(reference, getPopper(), { - modifiers: [ - { - name: 'custom', - enabled: false, - }, - ], - }); - - expect(spy).toHaveBeenCalled(); -}); - -describe('.setOptions() method', () => { - it('correctly updates `placement`', () => { - const popper = createPopper(reference, getPopper(), { - placement: 'right', - }); - - popper.setOptions({ placement: 'left' }); - - expect(popper.state.options.placement).toBe('left'); - }); - - it('correctly updates `modifiers`', () => { - const popper = createPopper(reference, getPopper(), { modifiers: [] }); - - popper.setOptions({ modifiers: [testModifier] }); - - expect(popper.state.orderedModifiers.includes(testModifier)).toBe(true); - }); - - it('works with a partial', () => { - const popper = createPopper(reference, getPopper(), { - modifiers: [testModifier], - }); - - popper.setOptions({ placement: 'right' }); - - expect(popper.state.orderedModifiers).toEqual([testModifier]); - }); -}); - -describe('.destroy() method', () => { - it('runs effect cleanup functions', () => { - const spy = jest.fn(); - - createPopper(reference, getPopper(), { - placement: 'right', - modifiers: [ - { - ...testModifier, - effect: () => spy, - }, - ], - }).destroy(); - - expect(spy).toHaveBeenCalledTimes(1); - }); - - it('forceUpdate() is not ran when destroy is called sync', done => { - const spy = jest.fn(); - - createPopper(reference, getPopper(), { - modifiers: [{ ...testModifier, fn: spy }], - }).destroy(); - - setTimeout(() => { - expect(spy).not.toHaveBeenCalled(); - done(); - }); - }); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/computeStyles.test.js.snap b/conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/computeStyles.test.js.snap deleted file mode 100644 index 79581860..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/computeStyles.test.js.snap +++ /dev/null @@ -1,54 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`computes the arrow styles 1`] = ` -Object { - "left": "0", - "position": "absolute", - "top": "0", - "transform": "translate(10px, 5px)", -} -`; - -exports[`computes the popper styles 1`] = ` -Object { - "bottom": "auto", - "left": "0", - "position": "absolute", - "right": "auto", - "top": "0", - "transform": "translate3d(10px, 5px, 0)", -} -`; - -exports[`computes the popper styles 2`] = ` -Object { - "bottom": "auto", - "left": "10px", - "position": "absolute", - "right": "auto", - "top": "5px", - "transform": "", -} -`; - -exports[`computes the popper styles 3`] = ` -Object { - "bottom": "-105px", - "left": "10px", - "position": "absolute", - "right": "auto", - "top": "auto", - "transform": "", -} -`; - -exports[`computes the popper styles 4`] = ` -Object { - "bottom": "auto", - "left": "auto", - "position": "absolute", - "right": "-110px", - "top": "5px", - "transform": "", -} -`; diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/offset.test.js.snap b/conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/offset.test.js.snap deleted file mode 100644 index 5e481f0c..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/__snapshots__/offset.test.js.snap +++ /dev/null @@ -1,29 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`bottom 1`] = ` -Object { - "x": 10, - "y": 20, -} -`; - -exports[`left 1`] = ` -Object { - "x": -20, - "y": 10, -} -`; - -exports[`right 1`] = ` -Object { - "x": 20, - "y": 10, -} -`; - -exports[`top 1`] = ` -Object { - "x": 10, - "y": -20, -} -`; diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.js b/conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.js deleted file mode 100644 index b744f295..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.js +++ /dev/null @@ -1,98 +0,0 @@ -// @flow -import type { Modifier, ModifierArguments } from '../types'; -import getNodeName from '../dom-utils/getNodeName'; -import { isHTMLElement } from '../dom-utils/instanceOf'; - -// This modifier takes the styles prepared by the `computeStyles` modifier -// and applies them to the HTMLElements such as popper and arrow - -function applyStyles({ state }: ModifierArguments<{||}>) { - Object.keys(state.elements).forEach(name => { - const style = state.styles[name] || {}; - - const attributes = state.attributes[name] || {}; - const element = state.elements[name]; - - // arrow is optional + virtual elements - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - - // Flow doesn't support to extend this property, but it's the most - // effective way to apply styles to an HTMLElement - // $FlowFixMe - Object.assign(element.style, style); - - Object.keys(attributes).forEach(name => { - const value = attributes[name]; - if (value === false) { - element.removeAttribute(name); - } else { - element.setAttribute(name, value === true ? '' : value); - } - }); - }); -} - -function effect({ state }: ModifierArguments<{||}>) { - const initialStyles = { - popper: { - position: 'absolute', - left: '0', - top: '0', - margin: '0', - }, - arrow: { - position: 'absolute', - }, - reference: {}, - }; - - Object.assign(state.elements.popper.style, initialStyles.popper); - - if (state.elements.arrow) { - Object.assign(state.elements.arrow.style, initialStyles.arrow); - } - - return () => { - Object.keys(state.elements).forEach(name => { - const element = state.elements[name]; - const attributes = state.attributes[name] || {}; - - const styleProperties = Object.keys( - state.styles.hasOwnProperty(name) - ? state.styles[name] - : initialStyles[name] - ); - - // Set all values to an empty string to unset them - const style = styleProperties.reduce((style, property) => { - style[property] = ''; - return style; - }, {}); - - // arrow is optional + virtual elements - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - - // Flow doesn't support to extend this property, but it's the most - // effective way to apply styles to an HTMLElement - // $FlowFixMe - Object.assign(element.style, style); - - Object.keys(attributes).forEach(attribute => { - element.removeAttribute(attribute); - }); - }); - }; -} - -export default ({ - name: 'applyStyles', - enabled: true, - phase: 'write', - fn: applyStyles, - effect, - requires: ['computeStyles'], -}: Modifier<{||}>); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.test.js b/conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.test.js deleted file mode 100644 index 37399c91..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/applyStyles.test.js +++ /dev/null @@ -1,15 +0,0 @@ -// @flow -import { createPopper } from '../../src/popper'; - -it('does not remove inline style properties from the reference', () => { - const reference = document.createElement('div'); - const popper = document.createElement('div'); - - reference.style.position = 'absolute'; - reference.style.margin = '10px'; - - createPopper(reference, popper).destroy(); - - expect(reference.style.position).toBe('absolute'); - expect(reference.style.margin).toBe('10px'); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/arrow.js b/conf/site/node_modules/@popperjs/core/src/modifiers/arrow.js deleted file mode 100644 index 2ca70379..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/arrow.js +++ /dev/null @@ -1,110 +0,0 @@ -// @flow -import type { Modifier, ModifierArguments, Padding } from '../types'; -import getBasePlacement from '../utils/getBasePlacement'; -import getLayoutRect from '../dom-utils/getLayoutRect'; -import contains from '../dom-utils/contains'; -import getOffsetParent from '../dom-utils/getOffsetParent'; -import getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement'; -import within from '../utils/within'; -import mergePaddingObject from '../utils/mergePaddingObject'; -import expandToHashMap from '../utils/expandToHashMap'; -import { left, right, basePlacements, top, bottom } from '../enums'; - -type Options = { - element: HTMLElement | string, - padding: Padding, -}; - -function arrow({ state, name }: ModifierArguments) { - const arrowElement = state.elements.arrow; - const popperOffsets = state.modifiersData.popperOffsets; - const basePlacement = getBasePlacement(state.placement); - const axis = getMainAxisFromPlacement(basePlacement); - const isVertical = [left, right].indexOf(basePlacement) >= 0; - const len = isVertical ? 'height' : 'width'; - - if (!arrowElement) { - return; - } - - const paddingObject = state.modifiersData[`${name}#persistent`].padding; - const arrowRect = getLayoutRect(arrowElement); - const minProp = axis === 'y' ? top : left; - const maxProp = axis === 'y' ? bottom : right; - - const endDiff = - state.rects.reference[len] + - state.rects.reference[axis] - - popperOffsets[axis] - - state.rects.popper[len]; - const startDiff = popperOffsets[axis] - state.rects.reference[axis]; - - const arrowOffsetParent = - state.elements.arrow && getOffsetParent(state.elements.arrow); - const clientSize = arrowOffsetParent - ? axis === 'y' - ? arrowOffsetParent.clientHeight || 0 - : arrowOffsetParent.clientWidth || 0 - : 0; - - const centerToReference = endDiff / 2 - startDiff / 2; - - // Make sure the arrow doesn't overflow the popper if the center point is - // outside of the popper bounds - const min = paddingObject[minProp]; - const max = clientSize - arrowRect[len] - paddingObject[maxProp]; - const center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; - const offset = within(min, center, max); - - // Prevents breaking syntax highlighting... - const axisProp: string = axis; - state.modifiersData[name] = { - [axisProp]: offset, - centerOffset: offset - center, - }; -} - -function effect({ state, options, name }: ModifierArguments) { - let { element: arrowElement = '[data-popper-arrow]', padding = 0 } = options; - - // CSS selector - if (typeof arrowElement === 'string') { - arrowElement = state.elements.popper.querySelector(arrowElement); - - if (!arrowElement) { - return; - } - } - - if (!contains(state.elements.popper, arrowElement)) { - if (__DEV__) { - console.error( - [ - 'Popper: "arrow" modifier\'s `element` must be a child of the popper', - 'element.', - ].join(' ') - ); - } - - return; - } - - state.elements.arrow = arrowElement; - state.modifiersData[`${name}#persistent`] = { - padding: mergePaddingObject( - typeof padding !== 'number' - ? padding - : expandToHashMap(padding, basePlacements) - ), - }; -} - -export default ({ - name: 'arrow', - enabled: true, - phase: 'main', - fn: arrow, - effect, - requires: ['popperOffsets'], - requiresIfExists: ['preventOverflow'], -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.js b/conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.js deleted file mode 100644 index 1f28228c..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.js +++ /dev/null @@ -1,191 +0,0 @@ -// @flow -import type { - PositioningStrategy, - Offsets, - Modifier, - ModifierArguments, - Rect, - Window, -} from '../types'; -import { type BasePlacement, top, left, right, bottom } from '../enums'; -import getOffsetParent from '../dom-utils/getOffsetParent'; -import getWindow from '../dom-utils/getWindow'; -import getDocumentElement from '../dom-utils/getDocumentElement'; -import getComputedStyle from '../dom-utils/getComputedStyle'; -import getBasePlacement from '../utils/getBasePlacement'; - -type Options = { - gpuAcceleration: boolean, - adaptive: boolean, -}; - -const unsetSides = { - top: 'auto', - right: 'auto', - bottom: 'auto', - left: 'auto', -}; - -// Round the offsets to the nearest suitable subpixel based on the DPR. -// Zooming can change the DPR, but it seems to report a value that will -// cleanly divide the values into the appropriate subpixels. -function roundOffsets({ x, y }): Offsets { - const win: Window = window; - const dpr = win.devicePixelRatio || 1; - - return { - x: Math.round(x * dpr) / dpr || 0, - y: Math.round(y * dpr) / dpr || 0, - }; -} - -export function mapToStyles({ - popper, - popperRect, - placement, - offsets, - position, - gpuAcceleration, - adaptive, -}: { - popper: HTMLElement, - popperRect: Rect, - placement: BasePlacement, - offsets: Offsets, - position: PositioningStrategy, - gpuAcceleration: boolean, - adaptive: boolean, -}) { - let { x, y } = roundOffsets(offsets); - - const hasX = offsets.hasOwnProperty('x'); - const hasY = offsets.hasOwnProperty('y'); - - let sideX: string = left; - let sideY: string = top; - - const win: Window = window; - - if (adaptive) { - let offsetParent = getOffsetParent(popper); - if (offsetParent === getWindow(popper)) { - offsetParent = getDocumentElement(popper); - } - - // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it - /*:: offsetParent = (offsetParent: Element); */ - - if (placement === top) { - sideY = bottom; - y -= offsetParent.clientHeight - popperRect.height; - y *= gpuAcceleration ? 1 : -1; - } - - if (placement === left) { - sideX = right; - x -= offsetParent.clientWidth - popperRect.width; - x *= gpuAcceleration ? 1 : -1; - } - } - - const commonStyles = { - position, - ...(adaptive && unsetSides), - }; - - if (gpuAcceleration) { - return { - ...commonStyles, - [sideY]: hasY ? '0' : '', - [sideX]: hasX ? '0' : '', - // Layer acceleration can disable subpixel rendering which causes slightly - // blurry text on low PPI displays, so we want to use 2D transforms - // instead - transform: - (win.devicePixelRatio || 1) < 2 - ? `translate(${x}px, ${y}px)` - : `translate3d(${x}px, ${y}px, 0)`, - }; - } - - return { - ...commonStyles, - [sideY]: hasY ? `${y}px` : '', - [sideX]: hasX ? `${x}px` : '', - transform: '', - }; -} - -function computeStyles({ state, options }: ModifierArguments) { - const { gpuAcceleration = true, adaptive = true } = options; - - if (__DEV__) { - const { transitionProperty } = getComputedStyle(state.elements.popper); - - if ( - adaptive && - ['transform', 'top', 'right', 'bottom', 'left'].some( - property => transitionProperty.indexOf(property) >= 0 - ) - ) { - console.warn( - [ - 'Popper: Detected CSS transitions on at least one of the following', - 'CSS properties: "transform", "top", "right", "bottom", "left".', - '\n\n', - 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', - 'for smooth transitions, or remove these properties from the CSS', - 'transition declaration on the popper element if only transitioning', - 'opacity or background-color for example.', - '\n\n', - 'We recommend using the popper element as a wrapper around an inner', - 'element that can have any CSS property transitioned for animations.', - ].join(' ') - ); - } - } - - const commonStyles = { - placement: getBasePlacement(state.placement), - popper: state.elements.popper, - popperRect: state.rects.popper, - gpuAcceleration, - }; - - // popper offsets are always available - state.styles.popper = { - ...state.styles.popper, - ...mapToStyles({ - ...commonStyles, - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive, - }), - }; - - // arrow offsets may not be available - if (state.modifiersData.arrow != null) { - state.styles.arrow = { - ...state.styles.arrow, - ...mapToStyles({ - ...commonStyles, - offsets: state.modifiersData.arrow, - position: 'absolute', - adaptive: false, - }), - }; - } - - state.attributes.popper = { - ...state.attributes.popper, - 'data-popper-placement': state.placement, - }; -} - -export default ({ - name: 'computeStyles', - enabled: true, - phase: 'beforeWrite', - fn: computeStyles, - data: {}, -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.test.js b/conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.test.js deleted file mode 100644 index 296670b3..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/computeStyles.test.js +++ /dev/null @@ -1,70 +0,0 @@ -// @flow -import { mapToStyles } from './computeStyles'; - -it('computes the popper styles', () => { - window.devicePixelRatio = 2; - - expect( - mapToStyles({ - popper: document.createElement('div'), - placement: 'bottom', - popperRect: { x: 10, y: 10, width: 100, height: 100 }, - offsets: { x: 10, y: 5 }, - position: 'absolute', - gpuAcceleration: true, - adaptive: true, - }) - ).toMatchSnapshot(); - - expect( - mapToStyles({ - popper: document.createElement('div'), - placement: 'bottom', - popperRect: { x: 10, y: 10, width: 100, height: 100 }, - offsets: { x: 10, y: 5 }, - position: 'absolute', - gpuAcceleration: false, - adaptive: true, - }) - ).toMatchSnapshot(); - - expect( - mapToStyles({ - popper: document.createElement('div'), - placement: 'top', - popperRect: { x: 10, y: 10, width: 100, height: 100 }, - offsets: { x: 10, y: 5 }, - position: 'absolute', - gpuAcceleration: false, - adaptive: true, - }) - ).toMatchSnapshot(); - - expect( - mapToStyles({ - popper: document.createElement('div'), - placement: 'left', - popperRect: { x: 10, y: 10, width: 100, height: 100 }, - offsets: { x: 10, y: 5 }, - position: 'absolute', - gpuAcceleration: false, - adaptive: true, - }) - ).toMatchSnapshot(); - - window.devicePixelRatio = 1; -}); - -it('computes the arrow styles', () => { - expect( - mapToStyles({ - popper: document.createElement('div'), - placement: 'bottom', - popperRect: { x: 10, y: 10, width: 100, height: 100 }, - offsets: { x: 10, y: 5 }, - position: 'absolute', - gpuAcceleration: true, - adaptive: false, - }) - ).toMatchSnapshot(); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/eventListeners.js b/conf/site/node_modules/@popperjs/core/src/modifiers/eventListeners.js deleted file mode 100644 index 8e16ec48..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/eventListeners.js +++ /dev/null @@ -1,51 +0,0 @@ -// @flow -import type { ModifierArguments, Modifier } from '../types'; -import getWindow from '../dom-utils/getWindow'; - -type Options = { - scroll: boolean, - resize: boolean, -}; - -const passive = { passive: true }; - -function effect({ state, instance, options }: ModifierArguments) { - const { scroll = true, resize = true } = options; - - const window = getWindow(state.elements.popper); - const scrollParents = [ - ...state.scrollParents.reference, - ...state.scrollParents.popper, - ]; - - if (scroll) { - scrollParents.forEach(scrollParent => { - scrollParent.addEventListener('scroll', instance.update, passive); - }); - } - - if (resize) { - window.addEventListener('resize', instance.update, passive); - } - - return () => { - if (scroll) { - scrollParents.forEach(scrollParent => { - scrollParent.removeEventListener('scroll', instance.update, passive); - }); - } - - if (resize) { - window.removeEventListener('resize', instance.update, passive); - } - }; -} - -export default ({ - name: 'eventListeners', - enabled: true, - phase: 'write', - fn: () => {}, - effect, - data: {}, -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/flip.js b/conf/site/node_modules/@popperjs/core/src/modifiers/flip.js deleted file mode 100644 index a3a8d2a7..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/flip.js +++ /dev/null @@ -1,160 +0,0 @@ -// @flow -import type { Placement, Boundary, RootBoundary } from '../enums'; -import type { ModifierArguments, Modifier, Padding } from '../types'; -import getOppositePlacement from '../utils/getOppositePlacement'; -import getBasePlacement from '../utils/getBasePlacement'; -import getOppositeVariationPlacement from '../utils/getOppositeVariationPlacement'; -import detectOverflow from '../utils/detectOverflow'; -import computeAutoPlacement from '../utils/computeAutoPlacement'; -import { bottom, top, start, right, left, auto } from '../enums'; -import getVariation from '../utils/getVariation'; - -type Options = { - fallbackPlacements: Array, - padding: Padding, - boundary: Boundary, - rootBoundary: RootBoundary, - altBoundary: boolean, - flipVariations: boolean, -}; - -function getExpandedFallbackPlacements(placement: Placement): Array { - if (getBasePlacement(placement) === auto) { - return []; - } - - const oppositePlacement = getOppositePlacement(placement); - - return [ - getOppositeVariationPlacement(placement), - oppositePlacement, - getOppositeVariationPlacement(oppositePlacement), - ]; -} - -function flip({ state, options, name }: ModifierArguments) { - if (state.modifiersData[name]._skip) { - return; - } - - const { - fallbackPlacements: specifiedFallbackPlacements, - padding, - boundary, - rootBoundary, - altBoundary, - flipVariations = true, - } = options; - - const preferredPlacement = state.options.placement; - const basePlacement = getBasePlacement(preferredPlacement); - const isBasePlacement = basePlacement === preferredPlacement; - - const fallbackPlacements = - specifiedFallbackPlacements || - (isBasePlacement || !flipVariations - ? [getOppositePlacement(preferredPlacement)] - : getExpandedFallbackPlacements(preferredPlacement)); - - const placements = [preferredPlacement, ...fallbackPlacements].reduce( - (acc, placement) => { - return acc.concat( - getBasePlacement(placement) === auto - ? computeAutoPlacement(state, { - placement, - boundary, - rootBoundary, - padding, - flipVariations, - }) - : placement - ); - }, - [] - ); - - const referenceRect = state.rects.reference; - const popperRect = state.rects.popper; - - const checksMap = new Map(); - let makeFallbackChecks = true; - let firstFittingPlacement = placements[0]; - - for (let i = 0; i < placements.length; i++) { - const placement = placements[i]; - const basePlacement = getBasePlacement(placement); - const isStartVariation = getVariation(placement) === start; - const isVertical = [top, bottom].indexOf(basePlacement) >= 0; - const len = isVertical ? 'width' : 'height'; - - const overflow = detectOverflow(state, { - placement, - boundary, - rootBoundary, - altBoundary, - padding, - }); - - let mainVariationSide: any = isVertical - ? isStartVariation - ? right - : left - : isStartVariation - ? bottom - : top; - - if (referenceRect[len] > popperRect[len]) { - mainVariationSide = getOppositePlacement(mainVariationSide); - } - - const altVariationSide: any = getOppositePlacement(mainVariationSide); - - const checks = [ - overflow[basePlacement] <= 0, - overflow[mainVariationSide] <= 0, - overflow[altVariationSide] <= 0, - ]; - - if (checks.every(check => check)) { - firstFittingPlacement = placement; - makeFallbackChecks = false; - break; - } - - checksMap.set(placement, checks); - } - - if (makeFallbackChecks) { - // `2` may be desired in some cases – research later - const numberOfChecks = flipVariations ? 3 : 1; - - for (let i = numberOfChecks; i > 0; i--) { - const fittingPlacement = placements.find(placement => { - const checks = checksMap.get(placement); - if (checks) { - return checks.slice(0, i).every(check => check); - } - }); - - if (fittingPlacement) { - firstFittingPlacement = fittingPlacement; - break; - } - } - } - - if (state.placement !== firstFittingPlacement) { - state.modifiersData[name]._skip = true; - state.placement = firstFittingPlacement; - state.reset = true; - } -} - -export default ({ - name: 'flip', - enabled: true, - phase: 'main', - fn: flip, - requiresIfExists: ['offset'], - data: { _skip: false }, -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/hide.js b/conf/site/node_modules/@popperjs/core/src/modifiers/hide.js deleted file mode 100644 index 19076f9f..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/hide.js +++ /dev/null @@ -1,75 +0,0 @@ -// @flow -import type { - ModifierArguments, - Modifier, - Rect, - Options, - SideObject, - Offsets, -} from '../types'; -import { top, bottom, left, right } from '../enums'; -import detectOverflow from '../utils/detectOverflow'; - -function getSideOffsets( - overflow: SideObject, - rect: Rect, - preventedOffsets: Offsets = { x: 0, y: 0 } -): SideObject { - return { - top: overflow.top - rect.height - preventedOffsets.y, - right: overflow.right - rect.width + preventedOffsets.x, - bottom: overflow.bottom - rect.height + preventedOffsets.y, - left: overflow.left - rect.width - preventedOffsets.x, - }; -} - -function isAnySideFullyClipped(overflow: SideObject): boolean { - return [top, right, bottom, left].some(side => overflow[side] >= 0); -} - -function hide({ state, name }: ModifierArguments) { - const referenceRect = state.rects.reference; - const popperRect = state.rects.popper; - const preventedOffsets = state.modifiersData.preventOverflow; - - const referenceOverflow = detectOverflow(state, { - elementContext: 'reference', - }); - const popperAltOverflow = detectOverflow(state, { - altBoundary: true, - }); - - const referenceClippingOffsets = getSideOffsets( - referenceOverflow, - referenceRect - ); - const popperEscapeOffsets = getSideOffsets( - popperAltOverflow, - popperRect, - preventedOffsets - ); - - const isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); - const hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); - - state.modifiersData[name] = { - referenceClippingOffsets, - popperEscapeOffsets, - isReferenceHidden, - hasPopperEscaped, - }; - - state.attributes.popper = { - ...state.attributes.popper, - 'data-popper-reference-hidden': isReferenceHidden, - 'data-popper-escaped': hasPopperEscaped, - }; -} - -export default ({ - name: 'hide', - enabled: true, - phase: 'main', - requiresIfExists: ['preventOverflow'], - fn: hide, -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/offset.js b/conf/site/node_modules/@popperjs/core/src/modifiers/offset.js deleted file mode 100644 index fae0548b..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/offset.js +++ /dev/null @@ -1,65 +0,0 @@ -// @flow -import type { Placement } from '../enums'; -import type { ModifierArguments, Modifier, Rect, Offsets } from '../types'; -import getBasePlacement from '../utils/getBasePlacement'; -import { top, left, right, placements } from '../enums'; - -type OffsetsFunction = ({ - popper: Rect, - reference: Rect, - placement: Placement, -}) => [?number, ?number]; - -type Offset = OffsetsFunction | [?number, ?number]; - -type Options = { - offset: Offset, -}; - -export function distanceAndSkiddingToXY( - placement: Placement, - rects: { popper: Rect, reference: Rect }, - offset: Offset -): Offsets { - const basePlacement = getBasePlacement(placement); - const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; - - let [skidding, distance] = - typeof offset === 'function' - ? offset({ - ...rects, - placement, - }) - : offset; - - skidding = skidding || 0; - distance = (distance || 0) * invertDistance; - - return [left, right].indexOf(basePlacement) >= 0 - ? { x: distance, y: skidding } - : { x: skidding, y: distance }; -} - -function offset({ state, options, name }: ModifierArguments) { - const { offset = [0, 0] } = options; - - const data = placements.reduce((acc, placement) => { - acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); - return acc; - }, {}); - - const { x, y } = data[state.placement]; - - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; - - state.modifiersData[name] = data; -} - -export default ({ - name: 'offset', - enabled: true, - phase: 'main', - requires: ['popperOffsets'], - fn: offset, -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/offset.test.js b/conf/site/node_modules/@popperjs/core/src/modifiers/offset.test.js deleted file mode 100644 index d737d6ca..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/offset.test.js +++ /dev/null @@ -1,25 +0,0 @@ -// @flow -import createRectMock from '../../tests/utils/createRectMock'; -import { distanceAndSkiddingToXY } from './offset'; - -const reference = createRectMock({ - width: 0, - height: 0, - x: 0, - y: 0, -}); - -const popper = createRectMock({ - width: 0, - height: 0, - x: 0, - y: 0, -}); - -['top', 'right', 'bottom', 'left'].forEach(placement => { - it(placement, () => { - expect( - distanceAndSkiddingToXY(placement, { reference, popper }, () => [10, 20]) - ).toMatchSnapshot(); - }); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/popperOffsets.js b/conf/site/node_modules/@popperjs/core/src/modifiers/popperOffsets.js deleted file mode 100644 index 4cf9f4ea..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/popperOffsets.js +++ /dev/null @@ -1,24 +0,0 @@ -// @flow -import type { ModifierArguments, Modifier } from '../types'; -import computeOffsets from '../utils/computeOffsets'; - -function popperOffsets({ state, name }: ModifierArguments<{||}>) { - // Offsets are the actual position the popper needs to have to be - // properly positioned near its reference element - // This is the most basic placement, and will be adjusted by - // the modifiers in the next step - state.modifiersData[name] = computeOffsets({ - reference: state.rects.reference, - element: state.rects.popper, - strategy: 'absolute', - placement: state.placement, - }); -} - -export default ({ - name: 'popperOffsets', - enabled: true, - phase: 'read', - fn: popperOffsets, - data: {}, -}: Modifier<{||}>); diff --git a/conf/site/node_modules/@popperjs/core/src/modifiers/preventOverflow.js b/conf/site/node_modules/@popperjs/core/src/modifiers/preventOverflow.js deleted file mode 100644 index 3c59f702..00000000 --- a/conf/site/node_modules/@popperjs/core/src/modifiers/preventOverflow.js +++ /dev/null @@ -1,179 +0,0 @@ -// @flow -import { top, left, right, bottom, start } from '../enums'; -import type { Placement, Boundary, RootBoundary } from '../enums'; -import type { Rect, ModifierArguments, Modifier, Padding } from '../types'; -import getBasePlacement from '../utils/getBasePlacement'; -import getMainAxisFromPlacement from '../utils/getMainAxisFromPlacement'; -import getAltAxis from '../utils/getAltAxis'; -import within from '../utils/within'; -import getLayoutRect from '../dom-utils/getLayoutRect'; -import getOffsetParent from '../dom-utils/getOffsetParent'; -import detectOverflow from '../utils/detectOverflow'; -import getVariation from '../utils/getVariation'; -import getFreshSideObject from '../utils/getFreshSideObject'; - -type TetherOffset = - | (({ - popper: Rect, - reference: Rect, - placement: Placement, - }) => number) - | number; - -type Options = { - /* Prevents boundaries overflow on the main axis */ - mainAxis: boolean, - /* Prevents boundaries overflow on the alternate axis */ - altAxis: boolean, - /* The area to check the popper is overflowing in */ - boundary: Boundary, - /* If the popper is not overflowing the main area, fallback to this one */ - rootBoundary: RootBoundary, - /* Use the reference's "clippingParents" boundary context */ - altBoundary: boolean, - /** - * Allows the popper to overflow from its boundaries to keep it near its - * reference element - */ - tether: boolean, - /* Offsets when the `tether` option should activate */ - tetherOffset: TetherOffset, - /* Sets a padding to the provided boundary */ - padding: Padding, -}; - -function preventOverflow({ state, options, name }: ModifierArguments) { - const { - mainAxis: checkMainAxis = true, - altAxis: checkAltAxis = false, - boundary, - rootBoundary, - altBoundary, - padding, - tether = true, - tetherOffset = 0, - } = options; - - const overflow = detectOverflow(state, { - boundary, - rootBoundary, - padding, - altBoundary, - }); - const basePlacement = getBasePlacement(state.placement); - const variation = getVariation(state.placement); - const isBasePlacement = !variation; - const mainAxis = getMainAxisFromPlacement(basePlacement); - const altAxis = getAltAxis(mainAxis); - const popperOffsets = state.modifiersData.popperOffsets; - const referenceRect = state.rects.reference; - const popperRect = state.rects.popper; - const tetherOffsetValue = - typeof tetherOffset === 'function' - ? tetherOffset({ - ...state.rects, - placement: state.placement, - }) - : tetherOffset; - - const data = { x: 0, y: 0 }; - - if (checkMainAxis) { - const mainSide = mainAxis === 'y' ? top : left; - const altSide = mainAxis === 'y' ? bottom : right; - const len = mainAxis === 'y' ? 'height' : 'width'; - const offset = popperOffsets[mainAxis]; - - const min = popperOffsets[mainAxis] + overflow[mainSide]; - const max = popperOffsets[mainAxis] - overflow[altSide]; - - const additive = tether ? -popperRect[len] / 2 : 0; - - const minLen = variation === start ? referenceRect[len] : popperRect[len]; - const maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; - - // We need to include the arrow in the calculation so the arrow doesn't go - // outside the reference bounds - const arrowElement = state.elements.arrow; - const arrowRect = - tether && arrowElement - ? getLayoutRect(arrowElement) - : { width: 0, height: 0 }; - const arrowPaddingObject = state.modifiersData['arrow#persistent'] - ? state.modifiersData['arrow#persistent'].padding - : getFreshSideObject(); - const arrowPaddingMin = arrowPaddingObject[mainSide]; - const arrowPaddingMax = arrowPaddingObject[altSide]; - - // If the reference length is smaller than the arrow length, we don't want - // to include its full size in the calculation. If the reference is small - // and near the edge of a boundary, the popper can overflow even if the - // reference is not overflowing as well (e.g. virtual elements with no - // width or height) - const arrowLen = within(0, referenceRect[len], arrowRect[len]); - - const minOffset = isBasePlacement - ? referenceRect[len] / 2 - - additive - - arrowLen - - arrowPaddingMin - - tetherOffsetValue - : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue; - const maxOffset = isBasePlacement - ? -referenceRect[len] / 2 + - additive + - arrowLen + - arrowPaddingMax + - tetherOffsetValue - : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue; - - const arrowOffsetParent = - state.elements.arrow && getOffsetParent(state.elements.arrow); - const clientOffset = arrowOffsetParent - ? mainAxis === 'y' - ? arrowOffsetParent.clientTop || 0 - : arrowOffsetParent.clientLeft || 0 - : 0; - - const offsetModifierValue = state.modifiersData.offset - ? state.modifiersData.offset[state.placement][mainAxis] - : 0; - - const tetherMin = - popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset; - const tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue; - - const preventedOffset = within( - tether ? Math.min(min, tetherMin) : min, - offset, - tether ? Math.max(max, tetherMax) : max - ); - - popperOffsets[mainAxis] = preventedOffset; - data[mainAxis] = preventedOffset - offset; - } - - if (checkAltAxis) { - const mainSide = mainAxis === 'x' ? top : left; - const altSide = mainAxis === 'x' ? bottom : right; - const offset = popperOffsets[altAxis]; - - const min = offset + overflow[mainSide]; - const max = offset - overflow[altSide]; - - const preventedOffset = within(min, offset, max); - - state.modifiersData.popperOffsets[altAxis] = preventedOffset; - data[altAxis] = preventedOffset - offset; - } - - state.modifiersData[name] = data; -} - -export default ({ - name: 'preventOverflow', - enabled: true, - phase: 'main', - fn: preventOverflow, - requiresIfExists: ['offset'], -}: Modifier); diff --git a/conf/site/node_modules/@popperjs/core/src/popper-base.js b/conf/site/node_modules/@popperjs/core/src/popper-base.js deleted file mode 100644 index 6129dd85..00000000 --- a/conf/site/node_modules/@popperjs/core/src/popper-base.js +++ /dev/null @@ -1,9 +0,0 @@ -// @flow -import { createPopper, popperGenerator } from './index'; - -import detectOverflow from './utils/detectOverflow'; - -export type * from './types'; - -// eslint-disable-next-line import/no-unused-modules -export { createPopper, popperGenerator, detectOverflow }; diff --git a/conf/site/node_modules/@popperjs/core/src/popper-lite.js b/conf/site/node_modules/@popperjs/core/src/popper-lite.js deleted file mode 100644 index 5149d72d..00000000 --- a/conf/site/node_modules/@popperjs/core/src/popper-lite.js +++ /dev/null @@ -1,23 +0,0 @@ -// @flow -import { popperGenerator } from './index'; - -import eventListeners from './modifiers/eventListeners'; -import popperOffsets from './modifiers/popperOffsets'; -import computeStyles from './modifiers/computeStyles'; -import applyStyles from './modifiers/applyStyles'; - -import detectOverflow from './utils/detectOverflow'; - -export type * from './types'; - -const defaultModifiers = [ - eventListeners, - popperOffsets, - computeStyles, - applyStyles, -]; - -const createPopper = popperGenerator({ defaultModifiers }); - -// eslint-disable-next-line import/no-unused-modules -export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; diff --git a/conf/site/node_modules/@popperjs/core/src/popper.js b/conf/site/node_modules/@popperjs/core/src/popper.js deleted file mode 100644 index 4770a037..00000000 --- a/conf/site/node_modules/@popperjs/core/src/popper.js +++ /dev/null @@ -1,33 +0,0 @@ -// @flow -import { popperGenerator } from './index'; - -import eventListeners from './modifiers/eventListeners'; -import popperOffsets from './modifiers/popperOffsets'; -import computeStyles from './modifiers/computeStyles'; -import applyStyles from './modifiers/applyStyles'; -import offset from './modifiers/offset'; -import flip from './modifiers/flip'; -import preventOverflow from './modifiers/preventOverflow'; -import arrow from './modifiers/arrow'; -import hide from './modifiers/hide'; - -import detectOverflow from './utils/detectOverflow'; - -export type * from './types'; - -const defaultModifiers = [ - eventListeners, - popperOffsets, - computeStyles, - applyStyles, - offset, - flip, - preventOverflow, - arrow, - hide, -]; - -const createPopper = popperGenerator({ defaultModifiers }); - -// eslint-disable-next-line import/no-unused-modules -export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; diff --git a/conf/site/node_modules/@popperjs/core/src/types.js b/conf/site/node_modules/@popperjs/core/src/types.js deleted file mode 100644 index 35c3ed5d..00000000 --- a/conf/site/node_modules/@popperjs/core/src/types.js +++ /dev/null @@ -1,139 +0,0 @@ -// @flow -/* eslint-disable import/no-unused-modules */ -import type { Placement, ModifierPhases } from './enums'; - -export type Obj = { [key: string]: any }; - -// This is a limited subset of the Window object, Flow doesn't provide one -// so we define our own, with just the properties we need -export type Window = {| - innerHeight: number, - offsetHeight: number, - innerWidth: number, - offsetWidth: number, - pageXOffset: number, - pageYOffset: number, - getComputedStyle: typeof getComputedStyle, - addEventListener(type: any, listener: any, optionsOrUseCapture?: any): void, - removeEventListener( - type: any, - listener: any, - optionsOrUseCapture?: any - ): void, - Element: Element, - HTMLElement: HTMLElement, - Node: Node, - toString(): '[object Window]', - devicePixelRatio: number, -|}; - -export type Rect = {| - width: number, - height: number, - x: number, - y: number, -|}; - -export type Offsets = {| - y: number, - x: number, -|}; - -export type PositioningStrategy = 'absolute' | 'fixed'; - -export type StateRects = {| - reference: Rect, - popper: Rect, -|}; - -export type StateOffsets = {| - popper: Offsets, - arrow?: Offsets, -|}; - -export type State = {| - elements: {| - reference: Element | VirtualElement, - popper: HTMLElement, - arrow?: HTMLElement, - |}, - options: Options, - placement: Placement, - strategy: PositioningStrategy, - orderedModifiers: Array>, - rects: StateRects, - scrollParents: {| - reference: Array, - popper: Array, - |}, - styles: {| - [key: string]: $Shape, - |}, - attributes: {| - [key: string]: { [key: string]: string | boolean }, - |}, - modifiersData: { [key: string]: any }, - reset: boolean, -|}; - -export type Instance = {| - state: State, - destroy: () => void, - forceUpdate: () => void, - update: () => Promise<$Shape>, - setOptions: (options: $Shape) => Promise<$Shape>, -|}; - -export type ModifierArguments = { - state: State, - instance: Instance, - options: $Shape, - name: string, -}; -export type Modifier = {| - name: string, - enabled: boolean, - phase: ModifierPhases, - requires?: Array, - requiresIfExists?: Array, - fn: (ModifierArguments) => State | void, - effect?: (ModifierArguments) => (() => void) | void, - options?: Obj, - data?: Obj, -|}; - -export type EventListeners = {| scroll: boolean, resize: boolean |}; - -export type Options = {| - placement: Placement, - modifiers: Array<$Shape>>, - strategy: PositioningStrategy, - onFirstUpdate?: ($Shape) => void, -|}; - -export type UpdateCallback = State => void; - -export type ClientRectObject = {| - x: number, - y: number, - top: number, - left: number, - right: number, - bottom: number, - width: number, - height: number, -|}; - -export type SideObject = {| - top: number, - left: number, - right: number, - bottom: number, -|}; - -export type Padding = number | $Shape; - -export type VirtualElement = {| - getBoundingClientRect: () => ClientRect | DOMRect, - contextElement?: Element, -|}; diff --git a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeAutoPlacement.test.js.snap b/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeAutoPlacement.test.js.snap deleted file mode 100644 index f4901b43..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeAutoPlacement.test.js.snap +++ /dev/null @@ -1,54 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`auto produces correct array of computed placements 1`] = ` -Array [ - "bottom", - "top", - "right", - "left", -] -`; - -exports[`auto-end produces correct array of computed placements 1`] = ` -Array [ - "bottom-start", - "bottom-end", - "top-start", - "top-end", - "right-start", - "right-end", - "left-start", - "left-end", -] -`; - -exports[`auto-end produces correct array of computed placements when flipVariations: false 1`] = ` -Array [ - "bottom-end", - "top-end", - "right-end", - "left-end", -] -`; - -exports[`auto-start produces correct array of computed placements 1`] = ` -Array [ - "bottom-start", - "bottom-end", - "top-start", - "top-end", - "right-start", - "right-end", - "left-start", - "left-end", -] -`; - -exports[`auto-start produces correct array of computed placements when flipVariations: false 1`] = ` -Array [ - "bottom-start", - "top-start", - "right-start", - "left-start", -] -`; diff --git a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeOffsets.test.js.snap b/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeOffsets.test.js.snap deleted file mode 100644 index a354dc28..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/computeOffsets.test.js.snap +++ /dev/null @@ -1,29 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`[strategy: absolute] [placement: \${placement}] computes offsets: x and y 1`] = ` -Object { - "x": 150, - "y": 0, -} -`; - -exports[`[strategy: absolute] [placement: \${placement}] computes offsets: x and y 2`] = ` -Object { - "x": 150, - "y": 300, -} -`; - -exports[`[strategy: absolute] [placement: \${placement}] computes offsets: x and y 3`] = ` -Object { - "x": 300, - "y": 150, -} -`; - -exports[`[strategy: absolute] [placement: \${placement}] computes offsets: x and y 4`] = ` -Object { - "x": 0, - "y": 150, -} -`; diff --git a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/expandToHashMap.test.js.snap b/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/expandToHashMap.test.js.snap deleted file mode 100644 index c89bc9b4..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/expandToHashMap.test.js.snap +++ /dev/null @@ -1,15 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`expands all the possible cases: false 1`] = ` -Object { - "resize": false, - "scroll": false, -} -`; - -exports[`expands all the possible cases: true 1`] = ` -Object { - "resize": true, - "scroll": true, -} -`; diff --git a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/mergeByName.test.js.snap b/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/mergeByName.test.js.snap deleted file mode 100644 index bd953bbb..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/mergeByName.test.js.snap +++ /dev/null @@ -1,36 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`deep merges an array of modifiers by their name 1`] = ` -Array [ - Object { - "data": Object {}, - "enabled": false, - "name": "preventOverflow", - "options": Object { - "altAxis": true, - "mainAxis": false, - "tether": true, - }, - }, - Object { - "data": Object { - "x": true, - }, - "name": "flip", - "options": Object { - "fallbackPlacements": Array [ - "right", - ], - }, - }, - Object { - "data": Object {}, - "enabled": false, - "name": "custom", - "options": Object { - "x": true, - }, - "phase": "main", - }, -] -`; diff --git a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/orderModifiers.test.js.snap b/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/orderModifiers.test.js.snap deleted file mode 100644 index 52a94a13..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/__snapshots__/orderModifiers.test.js.snap +++ /dev/null @@ -1,81 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should order modifiers based on \`phase\` and \`requires\` 1`] = ` -Array [ - Object { - "enabled": true, - "name": "popperOffsets", - "phase": "read", - }, - Object { - "enabled": true, - "name": "detectOverflow", - "phase": "read", - "requires": Array [ - "popperOffsets", - ], - }, - Object { - "enabled": true, - "name": "offset", - "phase": "main", - "requires": Array [ - "popperOffsets", - "detectOverflow", - ], - }, - Object { - "enabled": true, - "name": "preventOverflow", - "phase": "main", - "requires": Array [ - "detectOverflow", - ], - "requiresIfExists": Array [ - "offset", - ], - }, - Object { - "enabled": true, - "name": "arrow", - "phase": "main", - "requiresIfExists": Array [ - "preventOverflow", - ], - }, - Object { - "enabled": true, - "name": "flip", - "phase": "main", - "requires": Array [ - "detectOverflow", - ], - "requiresIfExists": Array [ - "offset", - ], - }, - Object { - "enabled": true, - "name": "hide", - "phase": "main", - "requires": Array [ - "detectOverflow", - ], - }, - Object { - "enabled": true, - "name": "computeStyles", - "phase": "afterMain", - }, - Object { - "enabled": true, - "name": "applyStyles", - "phase": "write", - }, - Object { - "enabled": true, - "name": "eventListeners", - "phase": "write", - }, -] -`; diff --git a/conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.js b/conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.js deleted file mode 100644 index 377ba0db..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.js +++ /dev/null @@ -1,63 +0,0 @@ -// @flow -import type { State, Padding } from '../types'; -import type { - Placement, - BasePlacement, - VariationPlacement, - Boundary, - RootBoundary, - ComputedPlacement, -} from '../enums'; -import getVariation from './getVariation'; -import { variationPlacements, basePlacements } from '../enums'; -import detectOverflow from './detectOverflow'; -import getBasePlacement from './getBasePlacement'; - -type Options = { - placement: Placement, - padding: Padding, - boundary: Boundary, - rootBoundary: RootBoundary, - flipVariations: boolean, -}; - -type OverflowsMap = { - [BasePlacement | VariationPlacement]: number, -}; - -export default function computeAutoPlacement( - state: $Shape, - options: Options = {} -): Array { - const { - placement, - boundary, - rootBoundary, - padding, - flipVariations, - } = options; - - const variation = getVariation(placement); - - const placements = variation - ? flipVariations - ? variationPlacements - : variationPlacements.filter( - placement => getVariation(placement) === variation - ) - : basePlacements; - - // $FlowFixMe: Flow seems to have problems with two array unions... - const overflows: OverflowsMap = placements.reduce((acc, placement) => { - acc[placement] = detectOverflow(state, { - placement, - boundary, - rootBoundary, - padding, - })[getBasePlacement(placement)]; - - return acc; - }, {}); - - return Object.keys(overflows).sort((a, b) => overflows[a] - overflows[b]); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.test.js b/conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.test.js deleted file mode 100644 index dcc73ff4..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/computeAutoPlacement.test.js +++ /dev/null @@ -1,67 +0,0 @@ -// @flow -import { createPopper } from '../'; -import computeAutoPlacement from './computeAutoPlacement'; - -const div = () => document.createElement('div'); - -const sharedOptions = { - boundary: 'clippingParents', - rootBoundary: 'viewport', - padding: 0, - flipVariations: true, -}; - -const { state } = createPopper(div(), div()); - -describe('auto', () => { - it('produces correct array of computed placements', () => { - expect( - computeAutoPlacement(state, { - ...sharedOptions, - placement: 'auto', - }) - ).toMatchSnapshot(); - }); -}); - -describe('auto-start', () => { - it('produces correct array of computed placements', () => { - expect( - computeAutoPlacement(state, { - ...sharedOptions, - placement: 'auto-start', - }) - ).toMatchSnapshot(); - }); - - it('produces correct array of computed placements when flipVariations: false', () => { - expect( - computeAutoPlacement(state, { - ...sharedOptions, - placement: 'auto-start', - flipVariations: false, - }) - ).toMatchSnapshot(); - }); -}); - -describe('auto-end', () => { - it('produces correct array of computed placements', () => { - expect( - computeAutoPlacement(state, { - ...sharedOptions, - placement: 'auto-end', - }) - ).toMatchSnapshot(); - }); - - it('produces correct array of computed placements when flipVariations: false', () => { - expect( - computeAutoPlacement(state, { - ...sharedOptions, - placement: 'auto-end', - flipVariations: false, - }) - ).toMatchSnapshot(); - }); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.js b/conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.js deleted file mode 100644 index ed286ee6..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.js +++ /dev/null @@ -1,84 +0,0 @@ -// @flow -import getBasePlacement from './getBasePlacement'; -import getVariation from './getVariation'; -import getMainAxisFromPlacement from './getMainAxisFromPlacement'; -import type { - Rect, - PositioningStrategy, - Offsets, - ClientRectObject, -} from '../types'; -import { top, right, bottom, left, start, end, type Placement } from '../enums'; - -export default function computeOffsets({ - reference, - element, - placement, -}: { - reference: Rect | ClientRectObject, - element: Rect | ClientRectObject, - strategy: PositioningStrategy, - placement?: Placement, -}): Offsets { - const basePlacement = placement ? getBasePlacement(placement) : null; - const variation = placement ? getVariation(placement) : null; - const commonX = reference.x + reference.width / 2 - element.width / 2; - const commonY = reference.y + reference.height / 2 - element.height / 2; - - let offsets; - switch (basePlacement) { - case top: - offsets = { - x: commonX, - y: reference.y - element.height, - }; - break; - case bottom: - offsets = { - x: commonX, - y: reference.y + reference.height, - }; - break; - case right: - offsets = { - x: reference.x + reference.width, - y: commonY, - }; - break; - case left: - offsets = { - x: reference.x - element.width, - y: commonY, - }; - break; - default: - offsets = { - x: reference.x, - y: reference.y, - }; - } - - const mainAxis = basePlacement - ? getMainAxisFromPlacement(basePlacement) - : null; - - if (mainAxis != null) { - const len = mainAxis === 'y' ? 'height' : 'width'; - - switch (variation) { - case start: - offsets[mainAxis] = - Math.floor(offsets[mainAxis]) - - Math.floor(reference[len] / 2 - element[len] / 2); - break; - case end: - offsets[mainAxis] = - Math.floor(offsets[mainAxis]) + - Math.ceil(reference[len] / 2 - element[len] / 2); - break; - default: - } - } - - return offsets; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.test.js b/conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.test.js deleted file mode 100644 index 3073b762..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/computeOffsets.test.js +++ /dev/null @@ -1,51 +0,0 @@ -// @flow -import createRectMock from '../../tests/utils/createRectMock'; -import computeOffsets from './computeOffsets'; -import { basePlacements } from '../enums'; -import type { Placement } from '../enums'; -import getMainAxisFromPlacement from './getMainAxisFromPlacement'; -import getOppositePlacement from './getOppositePlacement'; - -const reference = createRectMock({ - width: 200, - height: 200, - x: 100, - y: 100, -}); -const element = createRectMock({ width: 100, height: 100, x: 0, y: 0 }); -const scroll = { scrollTop: 10, scrollLeft: 20 }; - -describe('[strategy: absolute]', () => - basePlacements.forEach((placement: Placement) => - describe('[placement: ${placement}]', () => { - it('computes offsets', () => { - expect( - computeOffsets({ - reference, - element, - strategy: 'absolute', - placement, - scroll, - }) - ).toMatchSnapshot('x and y'); - - expect( - computeOffsets({ - reference, - element, - strategy: 'absolute', - placement, - scroll, - })[getMainAxisFromPlacement(placement)] - ).toEqual( - computeOffsets({ - reference, - element, - strategy: 'absolute', - placement: getOppositePlacement(placement), - scroll, - })[getMainAxisFromPlacement(placement)] - ); - }); - }) - )); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/debounce.js b/conf/site/node_modules/@popperjs/core/src/utils/debounce.js deleted file mode 100644 index ff0a5d9d..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/debounce.js +++ /dev/null @@ -1,17 +0,0 @@ -// @flow - -export default function debounce(fn: Function): () => Promise { - let pending; - return () => { - if (!pending) { - pending = new Promise(resolve => { - Promise.resolve().then(() => { - pending = undefined; - resolve(fn()); - }); - }); - } - - return pending; - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/debounce.test.js b/conf/site/node_modules/@popperjs/core/src/utils/debounce.test.js deleted file mode 100644 index 195c1d61..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/debounce.test.js +++ /dev/null @@ -1,34 +0,0 @@ -// @flow -import debounce from './debounce'; - -it('should debounce all the calls in the same tick', done => { - expect.assertions(2); - let called = 0; - const debounced = debounce(() => { - called += 1; - return called; - }); - debounced(); - debounced(); - return debounced().then(one => { - expect(called).toEqual(1); - expect(called).toEqual(one); - done(); - }); -}); - -it('should allow next tick calls to run', done => { - expect.assertions(3); - let called = 0; - const debounced = debounce(() => (called += 1)); - debounced(); - return debounced().then(one => { - debounced(); - expect(one).toEqual(1); - return debounced().then(two => { - expect(called).toEqual(2); - expect(called).toEqual(two); - done(); - }); - }); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/detectOverflow.js b/conf/site/node_modules/@popperjs/core/src/utils/detectOverflow.js deleted file mode 100644 index 5dd3360c..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/detectOverflow.js +++ /dev/null @@ -1,109 +0,0 @@ -// @flow -import type { State, SideObject, Padding } from '../types'; -import type { Placement, Boundary, RootBoundary, Context } from '../enums'; -import getBoundingClientRect from '../dom-utils/getBoundingClientRect'; -import getClippingRect from '../dom-utils/getClippingRect'; -import getDocumentElement from '../dom-utils/getDocumentElement'; -import computeOffsets from './computeOffsets'; -import rectToClientRect from './rectToClientRect'; -import { - clippingParents, - reference, - popper, - bottom, - top, - right, - basePlacements, - viewport, -} from '../enums'; -import { isElement } from '../dom-utils/instanceOf'; -import mergePaddingObject from './mergePaddingObject'; -import expandToHashMap from './expandToHashMap'; - -type Options = { - placement: Placement, - boundary: Boundary, - rootBoundary: RootBoundary, - elementContext: Context, - altBoundary: boolean, - padding: Padding, -}; - -export default function detectOverflow( - state: State, - options: $Shape = {} -): SideObject { - const { - placement = state.placement, - boundary = clippingParents, - rootBoundary = viewport, - elementContext = popper, - altBoundary = false, - padding = 0, - } = options; - - const paddingObject = mergePaddingObject( - typeof padding !== 'number' - ? padding - : expandToHashMap(padding, basePlacements) - ); - - const altContext = elementContext === popper ? reference : popper; - - const referenceElement = state.elements.reference; - const popperRect = state.rects.popper; - const element = state.elements[altBoundary ? altContext : elementContext]; - - const clippingClientRect = getClippingRect( - isElement(element) - ? element - : element.contextElement || getDocumentElement(state.elements.popper), - boundary, - rootBoundary - ); - - const referenceClientRect = getBoundingClientRect(referenceElement); - - const popperOffsets = computeOffsets({ - reference: referenceClientRect, - element: popperRect, - strategy: 'absolute', - placement, - }); - - const popperClientRect = rectToClientRect({ - ...popperRect, - ...popperOffsets, - }); - - const elementClientRect = - elementContext === popper ? popperClientRect : referenceClientRect; - - // positive = overflowing the clipping rect - // 0 or negative = within the clipping rect - const overflowOffsets = { - top: clippingClientRect.top - elementClientRect.top + paddingObject.top, - bottom: - elementClientRect.bottom - - clippingClientRect.bottom + - paddingObject.bottom, - left: clippingClientRect.left - elementClientRect.left + paddingObject.left, - right: - elementClientRect.right - clippingClientRect.right + paddingObject.right, - }; - - const offsetData = state.modifiersData.offset; - - // Offsets can be applied only to the popper element - if (elementContext === popper && offsetData) { - const offset = offsetData[placement]; - - Object.keys(overflowOffsets).forEach(key => { - const multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; - const axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; - overflowOffsets[key] += offset[axis] * multiply; - }); - } - - return overflowOffsets; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.js b/conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.js deleted file mode 100644 index bfcc9680..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.js +++ /dev/null @@ -1,11 +0,0 @@ -// @flow - -export default function expandToHashMap< - T: number | string | boolean, - K: string ->(value: T, keys: Array): { [key: string]: T } { - return keys.reduce((hashMap, key) => { - hashMap[key] = value; - return hashMap; - }, {}); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.test.js b/conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.test.js deleted file mode 100644 index bfb4dc7a..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/expandToHashMap.test.js +++ /dev/null @@ -1,8 +0,0 @@ -// @flow -import expandToHashMap from './expandToHashMap'; - -it('expands all the possible cases', () => { - const listeners = ['scroll', 'resize']; - expect(expandToHashMap(true, listeners)).toMatchSnapshot('true'); - expect(expandToHashMap(false, listeners)).toMatchSnapshot('false'); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/format.js b/conf/site/node_modules/@popperjs/core/src/utils/format.js deleted file mode 100644 index 45479ac5..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/format.js +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export default function format(str: string, ...args: Array) { - return [...args].reduce((p, c) => p.replace(/%s/, c), str); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.js b/conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.js deleted file mode 100644 index 7835e037..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.js +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' { - return axis === 'x' ? 'y' : 'x'; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.test.js b/conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.test.js deleted file mode 100644 index 1bf7c164..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getAltAxis.test.js +++ /dev/null @@ -1,7 +0,0 @@ -// @flow -import getAltAxis from './getAltAxis'; - -it('gets alternative axis', () => { - expect(getAltAxis('x')).toBe('y'); - expect(getAltAxis('y')).toBe('x'); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getAltLen.js b/conf/site/node_modules/@popperjs/core/src/utils/getAltLen.js deleted file mode 100644 index ad484daa..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getAltLen.js +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export default function getAltLen(len: 'width' | 'height'): 'width' | 'height' { - return len === 'width' ? 'height' : 'width'; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getAltLen.test.js b/conf/site/node_modules/@popperjs/core/src/utils/getAltLen.test.js deleted file mode 100644 index fc6be4a9..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getAltLen.test.js +++ /dev/null @@ -1,7 +0,0 @@ -// @flow -import getAltLen from './getAltLen'; - -it('gets the alternative len', () => { - expect(getAltLen('width')).toBe('height'); - expect(getAltLen('height')).toBe('width'); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.js b/conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.js deleted file mode 100644 index 56916a15..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.js +++ /dev/null @@ -1,8 +0,0 @@ -// @flow -import { type BasePlacement, type Placement, auto } from '../enums'; - -export default function getBasePlacement( - placement: Placement | typeof auto -): BasePlacement { - return (placement.split('-')[0]: any); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.test.js b/conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.test.js deleted file mode 100644 index dcd6c9b2..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getBasePlacement.test.js +++ /dev/null @@ -1,24 +0,0 @@ -// @flow -import getBasePlacement from './getBasePlacement'; - -it('gets the base placement, given a shifted placement', () => { - expect(getBasePlacement('bottom-start')).toBe('bottom'); - expect(getBasePlacement('bottom')).toBe('bottom'); - expect(getBasePlacement('bottom-end')).toBe('bottom'); - - expect(getBasePlacement('right-start')).toBe('right'); - expect(getBasePlacement('right')).toBe('right'); - expect(getBasePlacement('right-end')).toBe('right'); - - expect(getBasePlacement('top-start')).toBe('top'); - expect(getBasePlacement('top')).toBe('top'); - expect(getBasePlacement('top-end')).toBe('top'); - - expect(getBasePlacement('left-start')).toBe('left'); - expect(getBasePlacement('left')).toBe('left'); - expect(getBasePlacement('left-end')).toBe('left'); - - expect(getBasePlacement('auto-start')).toBe('auto'); - expect(getBasePlacement('auto')).toBe('auto'); - expect(getBasePlacement('auto-end')).toBe('auto'); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getFreshSideObject.js b/conf/site/node_modules/@popperjs/core/src/utils/getFreshSideObject.js deleted file mode 100644 index 1b57a5bf..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getFreshSideObject.js +++ /dev/null @@ -1,11 +0,0 @@ -// @flow -import type { SideObject } from '../types'; - -export default function getFreshSideObject(): SideObject { - return { - top: 0, - right: 0, - bottom: 0, - left: 0, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getMainAxisFromPlacement.js b/conf/site/node_modules/@popperjs/core/src/utils/getMainAxisFromPlacement.js deleted file mode 100644 index 93fa806c..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getMainAxisFromPlacement.js +++ /dev/null @@ -1,8 +0,0 @@ -// @flow -import type { Placement } from '../enums'; - -export default function getMainAxisFromPlacement( - placement: Placement -): 'x' | 'y' { - return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getOppositePlacement.js b/conf/site/node_modules/@popperjs/core/src/utils/getOppositePlacement.js deleted file mode 100644 index 8decc576..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getOppositePlacement.js +++ /dev/null @@ -1,11 +0,0 @@ -// @flow -import type { Placement } from '../enums'; - -const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; - -export default function getOppositePlacement(placement: Placement): Placement { - return (placement.replace( - /left|right|bottom|top/g, - matched => hash[matched] - ): any); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getOppositeVariationPlacement.js b/conf/site/node_modules/@popperjs/core/src/utils/getOppositeVariationPlacement.js deleted file mode 100644 index 2887948d..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getOppositeVariationPlacement.js +++ /dev/null @@ -1,10 +0,0 @@ -// @flow -import type { Placement } from '../enums'; - -const hash = { start: 'end', end: 'start' }; - -export default function getOppositeVariationPlacement( - placement: Placement -): Placement { - return (placement.replace(/start|end/g, matched => hash[matched]): any); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getVariation.js b/conf/site/node_modules/@popperjs/core/src/utils/getVariation.js deleted file mode 100644 index d0ead8a2..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getVariation.js +++ /dev/null @@ -1,6 +0,0 @@ -// @flow -import { type Variation, type Placement } from '../enums'; - -export default function getVariation(placement: Placement): ?Variation { - return (placement.split('-')[1]: any); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/getVariation.test.js b/conf/site/node_modules/@popperjs/core/src/utils/getVariation.test.js deleted file mode 100644 index 35fc4fa1..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/getVariation.test.js +++ /dev/null @@ -1,24 +0,0 @@ -// @flow -import getVariation from './getVariation'; - -it('gets the variation placement, given a shifted placement', () => { - expect(getVariation('bottom-start')).toBe('start'); - expect(getVariation('bottom')).toBe(undefined); - expect(getVariation('bottom-end')).toBe('end'); - - expect(getVariation('right-start')).toBe('start'); - expect(getVariation('right')).toBe(undefined); - expect(getVariation('right-end')).toBe('end'); - - expect(getVariation('top-start')).toBe('start'); - expect(getVariation('top')).toBe(undefined); - expect(getVariation('top-end')).toBe('end'); - - expect(getVariation('left-start')).toBe('start'); - expect(getVariation('left')).toBe(undefined); - expect(getVariation('left-end')).toBe('end'); - - expect(getVariation('auto-start')).toBe('start'); - expect(getVariation('auto')).toBe(undefined); - expect(getVariation('auto-end')).toBe('end'); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/mergeByName.js b/conf/site/node_modules/@popperjs/core/src/utils/mergeByName.js deleted file mode 100644 index ea1409af..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/mergeByName.js +++ /dev/null @@ -1,22 +0,0 @@ -// @flow -import type { Modifier } from '../types'; - -export default function mergeByName( - modifiers: Array<$Shape>> -): Array<$Shape>> { - const merged = modifiers.reduce((merged, current) => { - const existing = merged[current.name]; - merged[current.name] = existing - ? { - ...existing, - ...current, - options: { ...existing.options, ...current.options }, - data: { ...existing.data, ...current.data }, - } - : current; - return merged; - }, {}); - - // IE11 does not support Object.values - return Object.keys(merged).map(key => merged[key]); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/mergeByName.test.js b/conf/site/node_modules/@popperjs/core/src/utils/mergeByName.test.js deleted file mode 100644 index cb2b3780..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/mergeByName.test.js +++ /dev/null @@ -1,44 +0,0 @@ -// @flow -import mergeByName from './mergeByName'; - -it('deep merges an array of modifiers by their name', () => { - const modifiers = [ - { - name: 'preventOverflow', - enabled: true, - options: { tether: false }, - }, - { - name: 'preventOverflow', - enabled: false, - options: { altAxis: true, mainAxis: false, tether: true }, - }, - { - name: 'flip', - data: { - x: true, - }, - }, - { - name: 'custom', - enabled: true, - phase: 'main', - }, - { - name: 'flip', - options: { - fallbackPlacements: ['right'], - }, - }, - { - name: 'custom', - options: { x: true }, - }, - { - name: 'custom', - enabled: false, - }, - ]; - - expect(mergeByName(modifiers)).toMatchSnapshot(); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/mergePaddingObject.js b/conf/site/node_modules/@popperjs/core/src/utils/mergePaddingObject.js deleted file mode 100644 index a2db6619..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/mergePaddingObject.js +++ /dev/null @@ -1,12 +0,0 @@ -// @flow -import type { SideObject } from '../types'; -import getFreshSideObject from './getFreshSideObject'; - -export default function mergePaddingObject( - paddingObject: $Shape -): SideObject { - return { - ...getFreshSideObject(), - ...paddingObject, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.js b/conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.js deleted file mode 100644 index e5ba2b8d..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.js +++ /dev/null @@ -1,59 +0,0 @@ -// @flow -import type { Modifier } from '../types'; -import { modifierPhases } from '../enums'; - -// source: https://stackoverflow.com/questions/49875255 -function order(modifiers) { - const map = new Map(); - const visited = new Set(); - const result = []; - - modifiers.forEach(modifier => { - map.set(modifier.name, modifier); - }); - - // On visiting object, check for its dependencies and visit them recursively - function sort(modifier: Modifier) { - visited.add(modifier.name); - - const requires = [ - ...(modifier.requires || []), - ...(modifier.requiresIfExists || []), - ]; - - requires.forEach(dep => { - if (!visited.has(dep)) { - const depModifier = map.get(dep); - - if (depModifier) { - sort(depModifier); - } - } - }); - - result.push(modifier); - } - - modifiers.forEach(modifier => { - if (!visited.has(modifier.name)) { - // check for visited object - sort(modifier); - } - }); - - return result; -} - -export default function orderModifiers( - modifiers: Array> -): Array> { - // order based on dependencies - const orderedModifiers = order(modifiers); - - // order based on phase - return modifierPhases.reduce((acc, phase) => { - return acc.concat( - orderedModifiers.filter(modifier => modifier.phase === phase) - ); - }, []); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.test.js b/conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.test.js deleted file mode 100644 index 44a12515..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/orderModifiers.test.js +++ /dev/null @@ -1,67 +0,0 @@ -// @flow -import orderModifiers from './orderModifiers'; - -const a = { - name: 'applyStyles', - phase: 'write', - enabled: true, -}; -const b = { - name: 'arrow', - phase: 'main', - requiresIfExists: ['preventOverflow'], - enabled: true, -}; -const c = { - name: 'computeStyles', - phase: 'afterMain', - enabled: true, -}; -const d = { - name: 'detectOverflow', - phase: 'read', - requires: ['popperOffsets'], - enabled: true, -}; -const e = { - name: 'eventListeners', - phase: 'write', - enabled: true, -}; -const f = { - name: 'flip', - phase: 'main', - requires: ['detectOverflow'], - requiresIfExists: ['offset'], - enabled: true, -}; -const g = { - name: 'hide', - phase: 'main', - requires: ['detectOverflow'], - enabled: true, -}; -const h = { - name: 'offset', - phase: 'main', - requires: ['popperOffsets', 'detectOverflow'], - enabled: true, -}; -const i = { - name: 'popperOffsets', - phase: 'read', - enabled: true, -}; -const j = { - name: 'preventOverflow', - phase: 'main', - requires: ['detectOverflow'], - requiresIfExists: ['offset'], - enabled: true, -}; - -const modifiers: any = [a, b, c, d, e, f, g, h, i, j]; - -it('should order modifiers based on `phase` and `requires`', () => { - expect(orderModifiers(modifiers)).toMatchSnapshot(); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/rectToClientRect.js b/conf/site/node_modules/@popperjs/core/src/utils/rectToClientRect.js deleted file mode 100644 index 4e05a51e..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/rectToClientRect.js +++ /dev/null @@ -1,12 +0,0 @@ -// @flow -import type { Rect, ClientRectObject } from '../types'; - -export default function rectToClientRect(rect: Rect): ClientRectObject { - return { - ...rect, - left: rect.x, - top: rect.y, - right: rect.x + rect.width, - bottom: rect.y + rect.height, - }; -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.js b/conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.js deleted file mode 100644 index 0f79ae9c..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.js +++ /dev/null @@ -1,14 +0,0 @@ -// @flow - -export default function uniqueBy(arr: Array, fn: T => any): Array { - const identifiers = new Set(); - - return arr.filter(item => { - const identifier = fn(item); - - if (!identifiers.has(identifier)) { - identifiers.add(identifier); - return true; - } - }); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.test.js b/conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.test.js deleted file mode 100644 index e129ac08..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/uniqueBy.test.js +++ /dev/null @@ -1,13 +0,0 @@ -// @flow -import uniqueBy from './uniqueBy'; - -it('filters out duplicate items based by an identifier', () => { - const a = { name: 'a' }; - const b = { name: 'b' }; - const c = { name: 'c' }; - const d = { name: 'd' }; - - const items = [a, b, c, a, a, d, c, c, d, b]; - - expect(uniqueBy(items, ({ name }) => name)).toEqual([a, b, c, d]); -}); diff --git a/conf/site/node_modules/@popperjs/core/src/utils/validateModifiers.js b/conf/site/node_modules/@popperjs/core/src/utils/validateModifiers.js deleted file mode 100644 index 9574c3d1..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/validateModifiers.js +++ /dev/null @@ -1,141 +0,0 @@ -// @flow -import format from './format'; -import { modifierPhases } from '../enums'; - -const INVALID_MODIFIER_ERROR = - 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'; -const MISSING_DEPENDENCY_ERROR = - 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'; -const VALID_PROPERTIES = [ - 'name', - 'enabled', - 'phase', - 'fn', - 'effect', - 'requires', - 'options', -]; - -export default function validateModifiers(modifiers: Array): void { - modifiers.forEach(modifier => { - Object.keys(modifier).forEach(key => { - switch (key) { - case 'name': - if (typeof modifier.name !== 'string') { - console.error( - format( - INVALID_MODIFIER_ERROR, - String(modifier.name), - '"name"', - '"string"', - `"${String(modifier.name)}"` - ) - ); - } - break; - case 'enabled': - if (typeof modifier.enabled !== 'boolean') { - console.error( - format( - INVALID_MODIFIER_ERROR, - modifier.name, - '"enabled"', - '"boolean"', - `"${String(modifier.enabled)}"` - ) - ); - } - case 'phase': - if (modifierPhases.indexOf(modifier.phase) < 0) { - console.error( - format( - INVALID_MODIFIER_ERROR, - modifier.name, - '"phase"', - `either ${modifierPhases.join(', ')}`, - `"${String(modifier.phase)}"` - ) - ); - } - break; - case 'fn': - if (typeof modifier.fn !== 'function') { - console.error( - format( - INVALID_MODIFIER_ERROR, - modifier.name, - '"fn"', - '"function"', - `"${String(modifier.fn)}"` - ) - ); - } - break; - case 'effect': - if (typeof modifier.effect !== 'function') { - console.error( - format( - INVALID_MODIFIER_ERROR, - modifier.name, - '"effect"', - '"function"', - `"${String(modifier.fn)}"` - ) - ); - } - break; - case 'requires': - if (!Array.isArray(modifier.requires)) { - console.error( - format( - INVALID_MODIFIER_ERROR, - modifier.name, - '"requires"', - '"array"', - `"${String(modifier.requires)}"` - ) - ); - } - break; - case 'requiresIfExists': - if (!Array.isArray(modifier.requiresIfExists)) { - console.error( - format( - INVALID_MODIFIER_ERROR, - modifier.name, - '"requiresIfExists"', - '"array"', - `"${String(modifier.requiresIfExists)}"` - ) - ); - } - break; - case 'options': - case 'data': - break; - default: - console.error( - `PopperJS: an invalid property has been provided to the "${ - modifier.name - }" modifier, valid properties are ${VALID_PROPERTIES.map( - s => `"${s}"` - ).join(', ')}; but "${key}" was provided.` - ); - } - - modifier.requires && - modifier.requires.forEach(requirement => { - if (modifiers.find(mod => mod.name === requirement) == null) { - console.error( - format( - MISSING_DEPENDENCY_ERROR, - String(modifier.name), - requirement, - requirement - ) - ); - } - }); - }); - }); -} diff --git a/conf/site/node_modules/@popperjs/core/src/utils/within.js b/conf/site/node_modules/@popperjs/core/src/utils/within.js deleted file mode 100644 index ab0e1f2d..00000000 --- a/conf/site/node_modules/@popperjs/core/src/utils/within.js +++ /dev/null @@ -1,9 +0,0 @@ -// @flow - -export default function within( - min: number, - value: number, - max: number -): number { - return Math.max(min, Math.min(value, max)); -} diff --git a/conf/site/node_modules/@types/react/README.md b/conf/site/node_modules/@types/react/README.md index 43f0898b..57358c38 100644 --- a/conf/site/node_modules/@types/react/README.md +++ b/conf/site/node_modules/@types/react/README.md @@ -8,9 +8,9 @@ This package contains type definitions for React (http://facebook.github.io/reac Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react. ### Additional Details - * Last updated: Thu, 02 Apr 2020 18:09:15 GMT + * Last updated: Thu, 09 Apr 2020 20:16:23 GMT * Dependencies: [@types/csstype](https://npmjs.com/package/@types/csstype), [@types/prop-types](https://npmjs.com/package/@types/prop-types) * Global values: `React` # Credits -These definitions were written by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com), [John Reilly](https://github.com/johnnyreilly), [Benoit Benezech](https://github.com/bbenezech), [Patricio Zavolinsky](https://github.com/pzavolinsky), [Digiguru](https://github.com/digiguru), [Eric Anderson](https://github.com/ericanderson), [Dovydas Navickas](https://github.com/DovydasNavickas), [Josh Rutherford](https://github.com/theruther4d), [Guilherme Hübner](https://github.com/guilhermehubner), [Ferdy Budhidharma](https://github.com/ferdaber), [Johann Rakotoharisoa](https://github.com/jrakotoharisoa), [Olivier Pascal](https://github.com/pascaloliv), [Martin Hochel](https://github.com/hotell), [Frank Li](https://github.com/franklixuefei), [Jessica Franco](https://github.com/Jessidhia), [Saransh Kataria](https://github.com/saranshkataria), [Kanitkorn Sujautra](https://github.com/lukyth), [Sebastian Silbermann](https://github.com/eps1lon), [Kyle Scully](https://github.com/zieka), [Cong Zhang](https://github.com/dancerphil), and [Dimitri Mitropoulos](https://github.com/dimitropoulos). +These definitions were written by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com), [John Reilly](https://github.com/johnnyreilly), [Benoit Benezech](https://github.com/bbenezech), [Patricio Zavolinsky](https://github.com/pzavolinsky), [Digiguru](https://github.com/digiguru), [Eric Anderson](https://github.com/ericanderson), [Dovydas Navickas](https://github.com/DovydasNavickas), [Josh Rutherford](https://github.com/theruther4d), [Guilherme Hübner](https://github.com/guilhermehubner), [Ferdy Budhidharma](https://github.com/ferdaber), [Johann Rakotoharisoa](https://github.com/jrakotoharisoa), [Olivier Pascal](https://github.com/pascaloliv), [Martin Hochel](https://github.com/hotell), [Frank Li](https://github.com/franklixuefei), [Jessica Franco](https://github.com/Jessidhia), [Saransh Kataria](https://github.com/saranshkataria), [Kanitkorn Sujautra](https://github.com/lukyth), [Sebastian Silbermann](https://github.com/eps1lon), [Kyle Scully](https://github.com/zieka), [Cong Zhang](https://github.com/dancerphil), [Dimitri Mitropoulos](https://github.com/dimitropoulos), [JongChan Choi](https://github.com/disjukr), and [Victor Magalhães](https://github.com/vhfmag). diff --git a/conf/site/node_modules/@types/react/index.d.ts b/conf/site/node_modules/@types/react/index.d.ts index b7f759ff..72c43eac 100644 --- a/conf/site/node_modules/@types/react/index.d.ts +++ b/conf/site/node_modules/@types/react/index.d.ts @@ -23,6 +23,8 @@ // Kyle Scully // Cong Zhang // Dimitri Mitropoulos +// JongChan Choi +// Victor Magalhães // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 @@ -1179,8 +1181,10 @@ declare namespace React { interface PointerEvent extends MouseEvent { pointerId: number; pressure: number; + tangentialPressure: number; tiltX: number; tiltY: number; + twist: number; width: number; height: number; pointerType: 'mouse' | 'pen' | 'touch'; @@ -2126,6 +2130,7 @@ declare namespace React { rel?: string; sizes?: string; type?: string; + charSet?: string; } interface MapHTMLAttributes extends HTMLAttributes { diff --git a/conf/site/node_modules/@types/react/package.json b/conf/site/node_modules/@types/react/package.json index 5f7d8912..c647826f 100644 --- a/conf/site/node_modules/@types/react/package.json +++ b/conf/site/node_modules/@types/react/package.json @@ -1,34 +1,34 @@ { "_args": [ [ - "@types/react@16.9.32", - "/home/henry/Documents/git/Speedtest-checker" + "@types/react@16.9.34", + "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site" ] ], - "_from": "@types/react@16.9.32", - "_id": "@types/react@16.9.32", + "_from": "@types/react@16.9.34", + "_id": "@types/react@16.9.34", "_inBundle": false, - "_integrity": "sha512-fmejdp0CTH00mOJmxUPPbWCEBWPvRIL4m8r0qD+BSDUqmutPyGQCHifzMpMzdvZwROdEdL78IuZItntFWgPXHQ==", + "_integrity": "sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow==", "_location": "/@types/react", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "@types/react@16.9.32", + "raw": "@types/react@16.9.34", "name": "@types/react", "escapedName": "@types%2freact", "scope": "@types", - "rawSpec": "16.9.32", + "rawSpec": "16.9.34", "saveSpec": null, - "fetchSpec": "16.9.32" + "fetchSpec": "16.9.34" }, "_requiredBy": [ "/react-bootstrap", "/uncontrollable" ], - "_resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.32.tgz", - "_spec": "16.9.32", - "_where": "/home/henry/Documents/git/Speedtest-checker", + "_resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.34.tgz", + "_spec": "16.9.34", + "_where": "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site", "bugs": { "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" }, @@ -124,6 +124,14 @@ { "name": "Dimitri Mitropoulos", "url": "https://github.com/dimitropoulos" + }, + { + "name": "JongChan Choi", + "url": "https://github.com/disjukr" + }, + { + "name": "Victor Magalhães", + "url": "https://github.com/vhfmag" } ], "dependencies": { @@ -143,6 +151,6 @@ "scripts": {}, "typeScriptVersion": "2.8", "types": "index.d.ts", - "typesPublisherContentHash": "b6c843ee5b74173e76c5b371d90c54423a90d03b8636460d25d754782efefbe3", - "version": "16.9.32" + "typesPublisherContentHash": "654e5d9e60861e319651ceb31b89ec3d5fceb31132e9d18ea5c857026eb4cf2b", + "version": "16.9.34" } diff --git a/conf/site/node_modules/@types/warning/README.md b/conf/site/node_modules/@types/warning/README.md new file mode 100644 index 00000000..77f1167f --- /dev/null +++ b/conf/site/node_modules/@types/warning/README.md @@ -0,0 +1,18 @@ +# Installation +> `npm install --save @types/warning` + +# Summary +This package contains type definitions for warning (https://github.com/BerkeleyTrue/warning). + +# Details +Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/types-2.0/warning + +Additional Details + * Last updated: Thu, 01 Dec 2016 00:24:42 GMT + * File structure: ProperModule + * Library Dependencies: none + * Module Dependencies: none + * Global values: warning + +# Credits +These definitions were written by Chi Vinh Le . diff --git a/conf/site/node_modules/@types/warning/index.d.ts b/conf/site/node_modules/@types/warning/index.d.ts new file mode 100644 index 00000000..a99a2cf6 --- /dev/null +++ b/conf/site/node_modules/@types/warning/index.d.ts @@ -0,0 +1,8 @@ +// Type definitions for warning 3.0.0 +// Project: https://github.com/BerkeleyTrue/warning +// Definitions by: Chi Vinh Le +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare const warning: (condition: any, format?: string, ...extra: any[]) => void; +export = warning; + diff --git a/conf/site/node_modules/@types/warning/package.json b/conf/site/node_modules/@types/warning/package.json new file mode 100644 index 00000000..d7b68d91 --- /dev/null +++ b/conf/site/node_modules/@types/warning/package.json @@ -0,0 +1,52 @@ +{ + "_args": [ + [ + "@types/warning@3.0.0", + "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site" + ] + ], + "_from": "@types/warning@3.0.0", + "_id": "@types/warning@3.0.0", + "_inBundle": false, + "_integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI=", + "_location": "/@types/warning", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@types/warning@3.0.0", + "name": "@types/warning", + "escapedName": "@types%2fwarning", + "scope": "@types", + "rawSpec": "3.0.0", + "saveSpec": null, + "fetchSpec": "3.0.0" + }, + "_requiredBy": [ + "/react-overlays" + ], + "_resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz", + "_spec": "3.0.0", + "_where": "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site", + "author": { + "name": "Chi Vinh Le", + "email": "https://github.com/cvle" + }, + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "dependencies": {}, + "description": "TypeScript definitions for warning", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/warning", + "peerDependencies": {}, + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "typesPublisherContentHash": "f4abd393ae060f65b1fa76c5dea60adc3206914a2cd9e10c3d128e84a3ccf4b6", + "version": "3.0.0" +} diff --git a/conf/site/node_modules/@types/warning/types-metadata.json b/conf/site/node_modules/@types/warning/types-metadata.json new file mode 100644 index 00000000..751dc807 --- /dev/null +++ b/conf/site/node_modules/@types/warning/types-metadata.json @@ -0,0 +1,24 @@ +{ + "authors": "Chi Vinh Le ", + "libraryDependencies": [], + "moduleDependencies": [], + "libraryMajorVersion": 3, + "libraryMinorVersion": 0, + "libraryName": "warning", + "typingsPackageName": "warning", + "projectName": "https://github.com/BerkeleyTrue/warning", + "sourceRepoURL": "https://www.github.com/DefinitelyTyped/DefinitelyTyped", + "sourceBranch": "types-2.0", + "kind": "ProperModule", + "globals": [ + "warning" + ], + "declaredModules": [ + "warning" + ], + "files": [ + "index.d.ts" + ], + "hasPackageJson": false, + "contentHash": "f4abd393ae060f65b1fa76c5dea60adc3206914a2cd9e10c3d128e84a3ccf4b6" +} \ No newline at end of file diff --git a/conf/site/node_modules/jquery/AUTHORS.txt b/conf/site/node_modules/jquery/AUTHORS.txt index 2fce2984..fc0456e3 100644 --- a/conf/site/node_modules/jquery/AUTHORS.txt +++ b/conf/site/node_modules/jquery/AUTHORS.txt @@ -1,5 +1,3 @@ -Authors ordered by first contribution. - John Resig Gilles van den Hoven Michael Geary @@ -325,3 +323,5 @@ Wonseop Kim Christian Oliff Christian Wenz Sean Robinson +Jonathan +Pierre Grimaud diff --git a/conf/site/node_modules/jquery/README.md b/conf/site/node_modules/jquery/README.md index df6888c0..71f2dad2 100644 --- a/conf/site/node_modules/jquery/README.md +++ b/conf/site/node_modules/jquery/README.md @@ -2,10 +2,10 @@ > jQuery is a fast, small, and feature-rich JavaScript library. -For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/). +For information on how to get started and how to use jQuery, please see [jQuery's documentation](https://api.jquery.com/). For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery). -If upgrading, please see the [blog post for 3.5.0](https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/). This includes notable differences from the previous version and a more readable changelog. +If upgrading, please see the [blog post for 3.5.1](https://blog.jquery.com/2020/05/04/jquery-3-5-1-released-fixing-a-regression/). This includes notable differences from the previous version and a more readable changelog. ## Including jQuery @@ -16,12 +16,12 @@ Below are some of the most common ways to include jQuery. #### Script tag ```html - + ``` #### Babel -[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. +[Babel](https://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. ```js import $ from "jquery"; @@ -29,7 +29,7 @@ import $ from "jquery"; #### Browserify/Webpack -There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this... +There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documentation. In the script, including jQuery will usually look like this... ```js var $ = require( "jquery" ); @@ -37,7 +37,7 @@ var $ = require( "jquery" ); #### AMD (Asynchronous Module Definition) -AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html). +AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](https://requirejs.org/docs/whyamd.html). ```js define( [ "jquery" ], function( $ ) { @@ -47,13 +47,13 @@ define( [ "jquery" ], function( $ ) { ### Node -To include jQuery in [Node](nodejs.org), first install with npm. +To include jQuery in [Node](https://nodejs.org/), first install with npm. ```sh npm install jquery ``` -For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes. +For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/jsdom/jsdom). This can be useful for testing purposes. ```js const { JSDOM } = require( "jsdom" ); diff --git a/conf/site/node_modules/jquery/dist/jquery.js b/conf/site/node_modules/jquery/dist/jquery.js index 21707563..50937333 100644 --- a/conf/site/node_modules/jquery/dist/jquery.js +++ b/conf/site/node_modules/jquery/dist/jquery.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v3.5.0 + * jQuery JavaScript Library v3.5.1 * https://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * https://jquery.org/license * - * Date: 2020-04-10T15:07Z + * Date: 2020-05-04T22:49Z */ ( function( global, factory ) { @@ -147,7 +147,7 @@ function toType( obj ) { var - version = "3.5.0", + version = "3.5.1", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -4244,7 +4244,7 @@ Data.prototype = { // If not, create one if ( !value ) { - value = Object.create( null ); + value = {}; // We can accept data for non-element nodes in modern browsers, // but we should not, see #8335. diff --git a/conf/site/node_modules/jquery/dist/jquery.min.js b/conf/site/node_modules/jquery/dist/jquery.min.js index 47b63970..b0614034 100644 --- a/conf/site/node_modules/jquery/dist/jquery.min.js +++ b/conf/site/node_modules/jquery/dist/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.5.0 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","create","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":";CAaA,SAAYA,EAAQC,GAEnB,aAEuB,iBAAXC,QAAiD,iBAAnBA,OAAOC,QAShDD,OAAOC,QAAUH,EAAOI,SACvBH,EAASD,GAAQ,GACjB,SAAUK,GACT,IAAMA,EAAED,SACP,MAAM,IAAIE,MAAO,4CAElB,OAAOL,EAASI,IAGlBJ,EAASD,GAtBX,CA0BuB,oBAAXO,OAAyBA,OAASC,KAAM,SAAUD,EAAQE,GAMtE,aAEA,IAAIC,EAAM,GAENC,EAAWC,OAAOC,eAElBC,EAAQJ,EAAII,MAEZC,EAAOL,EAAIK,KAAO,SAAUC,GAC/B,OAAON,EAAIK,KAAKE,KAAMD,IACnB,SAAUA,GACb,OAAON,EAAIQ,OAAOC,MAAO,GAAIH,IAI1BI,EAAOV,EAAIU,KAEXC,EAAUX,EAAIW,QAEdC,EAAa,GAEbC,EAAWD,EAAWC,SAEtBC,EAASF,EAAWG,eAEpBC,EAAaF,EAAOD,SAEpBI,EAAuBD,EAAWT,KAAML,QAExCgB,EAAU,GAEVC,EAAa,SAAqBC,GAMhC,MAAsB,mBAARA,GAA8C,iBAAjBA,EAAIC,UAIjDC,EAAW,SAAmBF,GAChC,OAAc,MAAPA,GAAeA,IAAQA,EAAIvB,QAIhCH,EAAWG,EAAOH,SAIjB6B,EAA4B,CAC/BC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,UAAU,GAGX,SAASC,EAASC,EAAMC,EAAMC,GAG7B,IAAIC,EAAGC,EACNC,GAHDH,EAAMA,GAAOrC,GAGCyC,cAAe,UAG7B,GADAD,EAAOE,KAAOP,EACTC,EACJ,IAAME,KAAKT,GAYVU,EAAMH,EAAME,IAAOF,EAAKO,cAAgBP,EAAKO,aAAcL,KAE1DE,EAAOI,aAAcN,EAAGC,GAI3BF,EAAIQ,KAAKC,YAAaN,GAASO,WAAWC,YAAaR,GAIzD,SAASS,EAAQvB,GAChB,OAAY,MAAPA,EACGA,EAAM,GAIQ,iBAARA,GAAmC,mBAARA,EACxCR,EAAYC,EAASN,KAAMa,KAAW,gBAC/BA,EAQT,IACCwB,EAAU,QAGVC,EAAS,SAAUC,EAAUC,GAI5B,OAAO,IAAIF,EAAOG,GAAGC,KAAMH,EAAUC,IA0VvC,SAASG,EAAa9B,GAMrB,IAAI+B,IAAW/B,GAAO,WAAYA,GAAOA,EAAI+B,OAC5C3B,EAAOmB,EAAQvB,GAEhB,OAAKD,EAAYC,KAASE,EAAUF,KAIpB,UAATI,GAA+B,IAAX2B,GACR,iBAAXA,GAAgC,EAATA,GAAgBA,EAAS,KAAO/B,GArWhEyB,EAAOG,GAAKH,EAAOO,UAAY,CAG9BC,OAAQT,EAERU,YAAaT,EAGbM,OAAQ,EAERI,QAAS,WACR,OAAOnD,EAAMG,KAAMT,OAKpB0D,IAAK,SAAUC,GAGd,OAAY,MAAPA,EACGrD,EAAMG,KAAMT,MAIb2D,EAAM,EAAI3D,KAAM2D,EAAM3D,KAAKqD,QAAWrD,KAAM2D,IAKpDC,UAAW,SAAUC,GAGpB,IAAIC,EAAMf,EAAOgB,MAAO/D,KAAKwD,cAAeK,GAM5C,OAHAC,EAAIE,WAAahE,KAGV8D,GAIRG,KAAM,SAAUC,GACf,OAAOnB,EAAOkB,KAAMjE,KAAMkE,IAG3BC,IAAK,SAAUD,GACd,OAAOlE,KAAK4D,UAAWb,EAAOoB,IAAKnE,KAAM,SAAUoE,EAAMlC,GACxD,OAAOgC,EAASzD,KAAM2D,EAAMlC,EAAGkC,OAIjC9D,MAAO,WACN,OAAON,KAAK4D,UAAWtD,EAAMK,MAAOX,KAAMqE,aAG3CC,MAAO,WACN,OAAOtE,KAAKuE,GAAI,IAGjBC,KAAM,WACL,OAAOxE,KAAKuE,IAAK,IAGlBE,KAAM,WACL,OAAOzE,KAAK4D,UAAWb,EAAO2B,KAAM1E,KAAM,SAAU2E,EAAOzC,GAC1D,OAASA,EAAI,GAAM,MAIrB0C,IAAK,WACJ,OAAO5E,KAAK4D,UAAWb,EAAO2B,KAAM1E,KAAM,SAAU2E,EAAOzC,GAC1D,OAAOA,EAAI,MAIbqC,GAAI,SAAUrC,GACb,IAAI2C,EAAM7E,KAAKqD,OACdyB,GAAK5C,GAAMA,EAAI,EAAI2C,EAAM,GAC1B,OAAO7E,KAAK4D,UAAgB,GAALkB,GAAUA,EAAID,EAAM,CAAE7E,KAAM8E,IAAQ,KAG5DC,IAAK,WACJ,OAAO/E,KAAKgE,YAAchE,KAAKwD,eAKhC5C,KAAMA,EACNoE,KAAM9E,EAAI8E,KACVC,OAAQ/E,EAAI+E,QAGblC,EAAOmC,OAASnC,EAAOG,GAAGgC,OAAS,WAClC,IAAIC,EAASC,EAAMzD,EAAK0D,EAAMC,EAAaC,EAC1CC,EAASnB,UAAW,IAAO,GAC3BnC,EAAI,EACJmB,EAASgB,UAAUhB,OACnBoC,GAAO,EAsBR,IAnBuB,kBAAXD,IACXC,EAAOD,EAGPA,EAASnB,UAAWnC,IAAO,GAC3BA,KAIsB,iBAAXsD,GAAwBnE,EAAYmE,KAC/CA,EAAS,IAILtD,IAAMmB,IACVmC,EAASxF,KACTkC,KAGOA,EAAImB,EAAQnB,IAGnB,GAAqC,OAA9BiD,EAAUd,UAAWnC,IAG3B,IAAMkD,KAAQD,EACbE,EAAOF,EAASC,GAIF,cAATA,GAAwBI,IAAWH,IAKnCI,GAAQJ,IAAUtC,EAAO2C,cAAeL,KAC1CC,EAAcK,MAAMC,QAASP,MAC/B1D,EAAM6D,EAAQJ,GAIbG,EADID,IAAgBK,MAAMC,QAASjE,GAC3B,GACI2D,GAAgBvC,EAAO2C,cAAe/D,GAG1CA,EAFA,GAIT2D,GAAc,EAGdE,EAAQJ,GAASrC,EAAOmC,OAAQO,EAAMF,EAAOF,SAGzBQ,IAATR,IACXG,EAAQJ,GAASC,IAOrB,OAAOG,GAGRzC,EAAOmC,OAAQ,CAGdY,QAAS,UAAahD,EAAUiD,KAAKC,UAAWC,QAAS,MAAO,IAGhEC,SAAS,EAETC,MAAO,SAAUC,GAChB,MAAM,IAAItG,MAAOsG,IAGlBC,KAAM,aAENX,cAAe,SAAUpE,GACxB,IAAIgF,EAAOC,EAIX,SAAMjF,GAAgC,oBAAzBP,EAASN,KAAMa,QAI5BgF,EAAQnG,EAAUmB,KASK,mBADvBiF,EAAOvF,EAAOP,KAAM6F,EAAO,gBAAmBA,EAAM9C,cACftC,EAAWT,KAAM8F,KAAWpF,IAGlEqF,cAAe,SAAUlF,GACxB,IAAI8D,EAEJ,IAAMA,KAAQ9D,EACb,OAAO,EAER,OAAO,GAKRmF,WAAY,SAAU1E,EAAMoD,EAASlD,GACpCH,EAASC,EAAM,CAAEH,MAAOuD,GAAWA,EAAQvD,OAASK,IAGrDgC,KAAM,SAAU3C,EAAK4C,GACpB,IAAIb,EAAQnB,EAAI,EAEhB,GAAKkB,EAAa9B,IAEjB,IADA+B,EAAS/B,EAAI+B,OACLnB,EAAImB,EAAQnB,IACnB,IAAgD,IAA3CgC,EAASzD,KAAMa,EAAKY,GAAKA,EAAGZ,EAAKY,IACrC,WAIF,IAAMA,KAAKZ,EACV,IAAgD,IAA3C4C,EAASzD,KAAMa,EAAKY,GAAKA,EAAGZ,EAAKY,IACrC,MAKH,OAAOZ,GAIRoF,UAAW,SAAUxG,EAAKyG,GACzB,IAAI7C,EAAM6C,GAAW,GAarB,OAXY,MAAPzG,IACCkD,EAAahD,OAAQF,IACzB6C,EAAOgB,MAAOD,EACE,iBAAR5D,EACP,CAAEA,GAAQA,GAGXU,EAAKH,KAAMqD,EAAK5D,IAIX4D,GAGR8C,QAAS,SAAUxC,EAAMlE,EAAKgC,GAC7B,OAAc,MAAPhC,GAAe,EAAIW,EAAQJ,KAAMP,EAAKkE,EAAMlC,IAKpD6B,MAAO,SAAUO,EAAOuC,GAKvB,IAJA,IAAIhC,GAAOgC,EAAOxD,OACjByB,EAAI,EACJ5C,EAAIoC,EAAMjB,OAEHyB,EAAID,EAAKC,IAChBR,EAAOpC,KAAQ2E,EAAQ/B,GAKxB,OAFAR,EAAMjB,OAASnB,EAERoC,GAGRI,KAAM,SAAUb,EAAOK,EAAU4C,GAShC,IARA,IACCC,EAAU,GACV7E,EAAI,EACJmB,EAASQ,EAAMR,OACf2D,GAAkBF,EAIX5E,EAAImB,EAAQnB,KACAgC,EAAUL,EAAO3B,GAAKA,KAChB8E,GACxBD,EAAQnG,KAAMiD,EAAO3B,IAIvB,OAAO6E,GAIR5C,IAAK,SAAUN,EAAOK,EAAU+C,GAC/B,IAAI5D,EAAQ6D,EACXhF,EAAI,EACJ4B,EAAM,GAGP,GAAKV,EAAaS,GAEjB,IADAR,EAASQ,EAAMR,OACPnB,EAAImB,EAAQnB,IAGL,OAFdgF,EAAQhD,EAAUL,EAAO3B,GAAKA,EAAG+E,KAGhCnD,EAAIlD,KAAMsG,QAMZ,IAAMhF,KAAK2B,EAGI,OAFdqD,EAAQhD,EAAUL,EAAO3B,GAAKA,EAAG+E,KAGhCnD,EAAIlD,KAAMsG,GAMb,OAAO3G,EAAMuD,IAIdqD,KAAM,EAIN/F,QAASA,IAGa,mBAAXgG,SACXrE,EAAOG,GAAIkE,OAAOC,UAAanH,EAAKkH,OAAOC,WAI5CtE,EAAOkB,KAAM,uEAAuEqD,MAAO,KAC3F,SAAUC,EAAInC,GACbtE,EAAY,WAAasE,EAAO,KAAQA,EAAKoC,gBAmB9C,IAAIC,EAWJ,SAAY1H,GACZ,IAAImC,EACHd,EACAsG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAvI,EACAwI,EACAC,EACAC,EACAC,EACAxB,EACAyB,EAGA1C,EAAU,SAAW,EAAI,IAAI2C,KAC7BC,EAAe3I,EAAOH,SACtB+I,EAAU,EACVC,EAAO,EACPC,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBI,EAAY,SAAUC,EAAGC,GAIxB,OAHKD,IAAMC,IACVlB,GAAe,GAET,GAIRlH,EAAS,GAAOC,eAChBf,EAAM,GACNmJ,EAAMnJ,EAAImJ,IACVC,EAAapJ,EAAIU,KACjBA,EAAOV,EAAIU,KACXN,EAAQJ,EAAII,MAIZO,EAAU,SAAU0I,EAAMnF,GAGzB,IAFA,IAAIlC,EAAI,EACP2C,EAAM0E,EAAKlG,OACJnB,EAAI2C,EAAK3C,IAChB,GAAKqH,EAAMrH,KAAQkC,EAClB,OAAOlC,EAGT,OAAQ,GAGTsH,EAAW,6HAMXC,EAAa,sBAGbC,EAAa,0BAA4BD,EACxC,0CAGDE,EAAa,MAAQF,EAAa,KAAOC,EAAa,OAASD,EAG9D,gBAAkBA,EAIlB,2DAA6DC,EAAa,OAC1ED,EAAa,OAEdG,EAAU,KAAOF,EAAa,wFAOAC,EAAa,eAO3CE,EAAc,IAAIC,OAAQL,EAAa,IAAK,KAC5CM,EAAQ,IAAID,OAAQ,IAAML,EAAa,8BACtCA,EAAa,KAAM,KAEpBO,EAAS,IAAIF,OAAQ,IAAML,EAAa,KAAOA,EAAa,KAC5DQ,EAAe,IAAIH,OAAQ,IAAML,EAAa,WAAaA,EAAa,IAAMA,EAC7E,KACDS,EAAW,IAAIJ,OAAQL,EAAa,MAEpCU,EAAU,IAAIL,OAAQF,GACtBQ,EAAc,IAAIN,OAAQ,IAAMJ,EAAa,KAE7CW,EAAY,CACXC,GAAM,IAAIR,OAAQ,MAAQJ,EAAa,KACvCa,MAAS,IAAIT,OAAQ,QAAUJ,EAAa,KAC5Cc,IAAO,IAAIV,OAAQ,KAAOJ,EAAa,SACvCe,KAAQ,IAAIX,OAAQ,IAAMH,GAC1Be,OAAU,IAAIZ,OAAQ,IAAMF,GAC5Be,MAAS,IAAIb,OAAQ,yDACpBL,EAAa,+BAAiCA,EAAa,cAC3DA,EAAa,aAAeA,EAAa,SAAU,KACpDmB,KAAQ,IAAId,OAAQ,OAASN,EAAW,KAAM,KAI9CqB,aAAgB,IAAIf,OAAQ,IAAML,EACjC,mDAAqDA,EACrD,mBAAqBA,EAAa,mBAAoB,MAGxDqB,EAAQ,SACRC,EAAU,sCACVC,EAAU,SAEVC,EAAU,yBAGVC,EAAa,mCAEbC,GAAW,OAIXC,GAAY,IAAItB,OAAQ,uBAAyBL,EAAa,uBAAwB,KACtF4B,GAAY,SAAUC,EAAQC,GAC7B,IAAIC,EAAO,KAAOF,EAAOhL,MAAO,GAAM,MAEtC,OAAOiL,IASNC,EAAO,EACNC,OAAOC,aAAcF,EAAO,OAC5BC,OAAOC,aAAcF,GAAQ,GAAK,MAAe,KAAPA,EAAe,SAK5DG,GAAa,sDACbC,GAAa,SAAUC,EAAIC,GAC1B,OAAKA,EAGQ,OAAPD,EACG,SAIDA,EAAGvL,MAAO,GAAI,GAAM,KAC1BuL,EAAGE,WAAYF,EAAGxI,OAAS,GAAItC,SAAU,IAAO,IAI3C,KAAO8K,GAOfG,GAAgB,WACf7D,KAGD8D,GAAqBC,GACpB,SAAU9H,GACT,OAAyB,IAAlBA,EAAK+H,UAAqD,aAAhC/H,EAAKgI,SAAS5E,eAEhD,CAAE6E,IAAK,aAAcC,KAAM,WAI7B,IACC1L,EAAKD,MACFT,EAAMI,EAAMG,KAAMiI,EAAa6D,YACjC7D,EAAa6D,YAMdrM,EAAKwI,EAAa6D,WAAWlJ,QAAS9B,SACrC,MAAQiL,GACT5L,EAAO,CAAED,MAAOT,EAAImD,OAGnB,SAAUmC,EAAQiH,GACjBnD,EAAW3I,MAAO6E,EAAQlF,EAAMG,KAAMgM,KAKvC,SAAUjH,EAAQiH,GACjB,IAAI3H,EAAIU,EAAOnC,OACdnB,EAAI,EAGL,MAAUsD,EAAQV,KAAQ2H,EAAKvK,MAC/BsD,EAAOnC,OAASyB,EAAI,IAKvB,SAAS2C,GAAQzE,EAAUC,EAAS0D,EAAS+F,GAC5C,IAAIC,EAAGzK,EAAGkC,EAAMwI,EAAKC,EAAOC,EAAQC,EACnCC,EAAa/J,GAAWA,EAAQgK,cAGhC1L,EAAW0B,EAAUA,EAAQ1B,SAAW,EAKzC,GAHAoF,EAAUA,GAAW,GAGI,iBAAb3D,IAA0BA,GACxB,IAAbzB,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,OAAOoF,EAIR,IAAM+F,IACLvE,EAAalF,GACbA,EAAUA,GAAWrD,EAEhByI,GAAiB,CAIrB,GAAkB,KAAb9G,IAAqBsL,EAAQ3B,EAAWgC,KAAMlK,IAGlD,GAAO2J,EAAIE,EAAO,IAGjB,GAAkB,IAAbtL,EAAiB,CACrB,KAAO6C,EAAOnB,EAAQkK,eAAgBR,IAUrC,OAAOhG,EALP,GAAKvC,EAAKgJ,KAAOT,EAEhB,OADAhG,EAAQ/F,KAAMwD,GACPuC,OAYT,GAAKqG,IAAgB5I,EAAO4I,EAAWG,eAAgBR,KACtDnE,EAAUvF,EAASmB,IACnBA,EAAKgJ,KAAOT,EAGZ,OADAhG,EAAQ/F,KAAMwD,GACPuC,MAKH,CAAA,GAAKkG,EAAO,GAElB,OADAjM,EAAKD,MAAOgG,EAAS1D,EAAQoK,qBAAsBrK,IAC5C2D,EAGD,IAAOgG,EAAIE,EAAO,KAASzL,EAAQkM,wBACzCrK,EAAQqK,uBAGR,OADA1M,EAAKD,MAAOgG,EAAS1D,EAAQqK,uBAAwBX,IAC9ChG,EAKT,GAAKvF,EAAQmM,MACXtE,EAAwBjG,EAAW,QACjCsF,IAAcA,EAAUkF,KAAMxK,MAIlB,IAAbzB,GAAqD,WAAnC0B,EAAQmJ,SAAS5E,eAA+B,CAYpE,GAVAuF,EAAc/J,EACdgK,EAAa/J,EASK,IAAb1B,IACF2I,EAASsD,KAAMxK,IAAciH,EAAauD,KAAMxK,IAAe,EAGjEgK,EAAa7B,GAASqC,KAAMxK,IAAcyK,GAAaxK,EAAQN,aAC9DM,KAImBA,GAAY7B,EAAQsM,SAGhCd,EAAM3J,EAAQV,aAAc,OAClCqK,EAAMA,EAAI3G,QAAS0F,GAAYC,IAE/B3I,EAAQT,aAAc,KAAQoK,EAAM9G,IAMtC5D,GADA4K,EAASjF,EAAU7E,IACRK,OACX,MAAQnB,IACP4K,EAAQ5K,IAAQ0K,EAAM,IAAMA,EAAM,UAAa,IAC9Ce,GAAYb,EAAQ5K,IAEtB6K,EAAcD,EAAOc,KAAM,KAG5B,IAIC,OAHAhN,EAAKD,MAAOgG,EACXqG,EAAWa,iBAAkBd,IAEvBpG,EACN,MAAQmH,GACT7E,EAAwBjG,GAAU,GACjC,QACI4J,IAAQ9G,GACZ7C,EAAQ8K,gBAAiB,QAQ9B,OAAOhG,EAAQ/E,EAASiD,QAAS8D,EAAO,MAAQ9G,EAAS0D,EAAS+F,GASnE,SAAS5D,KACR,IAAIkF,EAAO,GAYX,OAVA,SAASC,EAAOC,EAAKhH,GAQpB,OALK8G,EAAKpN,KAAMsN,EAAM,KAAQxG,EAAKyG,oBAG3BF,EAAOD,EAAKI,SAEXH,EAAOC,EAAM,KAAQhH,GAShC,SAASmH,GAAcnL,GAEtB,OADAA,EAAI4C,IAAY,EACT5C,EAOR,SAASoL,GAAQpL,GAChB,IAAIqL,EAAK3O,EAASyC,cAAe,YAEjC,IACC,QAASa,EAAIqL,GACZ,MAAQ/B,GACT,OAAO,EACN,QAGI+B,EAAG5L,YACP4L,EAAG5L,WAAWC,YAAa2L,GAI5BA,EAAK,MASP,SAASC,GAAWC,EAAOC,GAC1B,IAAIxO,EAAMuO,EAAMnH,MAAO,KACtBpF,EAAIhC,EAAImD,OAET,MAAQnB,IACPwF,EAAKiH,WAAYzO,EAAKgC,IAAQwM,EAUhC,SAASE,GAAczF,EAAGC,GACzB,IAAIyF,EAAMzF,GAAKD,EACd2F,EAAOD,GAAsB,IAAf1F,EAAE5H,UAAiC,IAAf6H,EAAE7H,UACnC4H,EAAE4F,YAAc3F,EAAE2F,YAGpB,GAAKD,EACJ,OAAOA,EAIR,GAAKD,EACJ,MAAUA,EAAMA,EAAIG,YACnB,GAAKH,IAAQzF,EACZ,OAAQ,EAKX,OAAOD,EAAI,GAAK,EAOjB,SAAS8F,GAAmBvN,GAC3B,OAAO,SAAU0C,GAEhB,MAAgB,UADLA,EAAKgI,SAAS5E,eACEpD,EAAK1C,OAASA,GAQ3C,SAASwN,GAAoBxN,GAC5B,OAAO,SAAU0C,GAChB,IAAIgB,EAAOhB,EAAKgI,SAAS5E,cACzB,OAAkB,UAATpC,GAA6B,WAATA,IAAuBhB,EAAK1C,OAASA,GAQpE,SAASyN,GAAsBhD,GAG9B,OAAO,SAAU/H,GAKhB,MAAK,SAAUA,EASTA,EAAKzB,aAAgC,IAAlByB,EAAK+H,SAGvB,UAAW/H,EACV,UAAWA,EAAKzB,WACbyB,EAAKzB,WAAWwJ,WAAaA,EAE7B/H,EAAK+H,WAAaA,EAMpB/H,EAAKgL,aAAejD,GAI1B/H,EAAKgL,cAAgBjD,GACrBF,GAAoB7H,KAAW+H,EAG1B/H,EAAK+H,WAAaA,EAKd,UAAW/H,GACfA,EAAK+H,WAAaA,GAY5B,SAASkD,GAAwBnM,GAChC,OAAOmL,GAAc,SAAUiB,GAE9B,OADAA,GAAYA,EACLjB,GAAc,SAAU3B,EAAM3F,GACpC,IAAIjC,EACHyK,EAAerM,EAAI,GAAIwJ,EAAKrJ,OAAQiM,GACpCpN,EAAIqN,EAAalM,OAGlB,MAAQnB,IACFwK,EAAQ5H,EAAIyK,EAAcrN,MAC9BwK,EAAM5H,KAASiC,EAASjC,GAAM4H,EAAM5H,SAYzC,SAAS2I,GAAaxK,GACrB,OAAOA,GAAmD,oBAAjCA,EAAQoK,sBAAwCpK,EAkrC1E,IAAMf,KA9qCNd,EAAUqG,GAAOrG,QAAU,GAO3BwG,EAAQH,GAAOG,MAAQ,SAAUxD,GAChC,IAAIoL,EAAYpL,EAAKqL,aACpBrH,GAAYhE,EAAK6I,eAAiB7I,GAAOsL,gBAK1C,OAAQ5E,EAAM0C,KAAMgC,GAAapH,GAAWA,EAAQgE,UAAY,SAQjEjE,EAAcV,GAAOU,YAAc,SAAUnG,GAC5C,IAAI2N,EAAYC,EACf3N,EAAMD,EAAOA,EAAKiL,eAAiBjL,EAAO0G,EAO3C,OAAKzG,GAAOrC,GAA6B,IAAjBqC,EAAIV,UAAmBU,EAAIyN,kBAMnDtH,GADAxI,EAAWqC,GACQyN,gBACnBrH,GAAkBT,EAAOhI,GAQpB8I,GAAgB9I,IAClBgQ,EAAYhQ,EAASiQ,cAAiBD,EAAUE,MAAQF,IAGrDA,EAAUG,iBACdH,EAAUG,iBAAkB,SAAU/D,IAAe,GAG1C4D,EAAUI,aACrBJ,EAAUI,YAAa,WAAYhE,KASrC5K,EAAQsM,MAAQY,GAAQ,SAAUC,GAEjC,OADAnG,EAAQ1F,YAAa6L,GAAK7L,YAAa9C,EAASyC,cAAe,QACzB,oBAAxBkM,EAAGV,mBACfU,EAAGV,iBAAkB,uBAAwBxK,SAShDjC,EAAQuI,WAAa2E,GAAQ,SAAUC,GAEtC,OADAA,EAAG0B,UAAY,KACP1B,EAAGhM,aAAc,eAO1BnB,EAAQiM,qBAAuBiB,GAAQ,SAAUC,GAEhD,OADAA,EAAG7L,YAAa9C,EAASsQ,cAAe,MAChC3B,EAAGlB,qBAAsB,KAAMhK,SAIxCjC,EAAQkM,uBAAyBrC,EAAQuC,KAAM5N,EAAS0N,wBAMxDlM,EAAQ+O,QAAU7B,GAAQ,SAAUC,GAEnC,OADAnG,EAAQ1F,YAAa6L,GAAKnB,GAAKtH,GACvBlG,EAASwQ,oBAAsBxQ,EAASwQ,kBAAmBtK,GAAUzC,SAIzEjC,EAAQ+O,SACZzI,EAAK2I,OAAa,GAAI,SAAUjD,GAC/B,IAAIkD,EAASlD,EAAGnH,QAASmF,GAAWC,IACpC,OAAO,SAAUjH,GAChB,OAAOA,EAAK7B,aAAc,QAAW+N,IAGvC5I,EAAK6I,KAAW,GAAI,SAAUnD,EAAInK,GACjC,GAAuC,oBAA3BA,EAAQkK,gBAAkC9E,EAAiB,CACtE,IAAIjE,EAAOnB,EAAQkK,eAAgBC,GACnC,OAAOhJ,EAAO,CAAEA,GAAS,OAI3BsD,EAAK2I,OAAa,GAAK,SAAUjD,GAChC,IAAIkD,EAASlD,EAAGnH,QAASmF,GAAWC,IACpC,OAAO,SAAUjH,GAChB,IAAIpC,EAAwC,oBAA1BoC,EAAKoM,kBACtBpM,EAAKoM,iBAAkB,MACxB,OAAOxO,GAAQA,EAAKkF,QAAUoJ,IAMhC5I,EAAK6I,KAAW,GAAI,SAAUnD,EAAInK,GACjC,GAAuC,oBAA3BA,EAAQkK,gBAAkC9E,EAAiB,CACtE,IAAIrG,EAAME,EAAG2B,EACZO,EAAOnB,EAAQkK,eAAgBC,GAEhC,GAAKhJ,EAAO,CAIX,IADApC,EAAOoC,EAAKoM,iBAAkB,QACjBxO,EAAKkF,QAAUkG,EAC3B,MAAO,CAAEhJ,GAIVP,EAAQZ,EAAQmN,kBAAmBhD,GACnClL,EAAI,EACJ,MAAUkC,EAAOP,EAAO3B,KAEvB,IADAF,EAAOoC,EAAKoM,iBAAkB,QACjBxO,EAAKkF,QAAUkG,EAC3B,MAAO,CAAEhJ,GAKZ,MAAO,MAMVsD,EAAK6I,KAAY,IAAInP,EAAQiM,qBAC5B,SAAUoD,EAAKxN,GACd,MAA6C,oBAAjCA,EAAQoK,qBACZpK,EAAQoK,qBAAsBoD,GAG1BrP,EAAQmM,IACZtK,EAAQ4K,iBAAkB4C,QAD3B,GAKR,SAAUA,EAAKxN,GACd,IAAImB,EACHsM,EAAM,GACNxO,EAAI,EAGJyE,EAAU1D,EAAQoK,qBAAsBoD,GAGzC,GAAa,MAARA,EAAc,CAClB,MAAUrM,EAAOuC,EAASzE,KACF,IAAlBkC,EAAK7C,UACTmP,EAAI9P,KAAMwD,GAIZ,OAAOsM,EAER,OAAO/J,GAITe,EAAK6I,KAAc,MAAInP,EAAQkM,wBAA0B,SAAU2C,EAAWhN,GAC7E,GAA+C,oBAAnCA,EAAQqK,wBAA0CjF,EAC7D,OAAOpF,EAAQqK,uBAAwB2C,IAUzC1H,EAAgB,GAOhBD,EAAY,IAELlH,EAAQmM,IAAMtC,EAAQuC,KAAM5N,EAASiO,qBAI3CS,GAAQ,SAAUC,GAEjB,IAAIoC,EAOJvI,EAAQ1F,YAAa6L,GAAKqC,UAAY,UAAY9K,EAAU,qBAC1CA,EAAU,kEAOvByI,EAAGV,iBAAkB,wBAAyBxK,QAClDiF,EAAU1H,KAAM,SAAW6I,EAAa,gBAKnC8E,EAAGV,iBAAkB,cAAexK,QACzCiF,EAAU1H,KAAM,MAAQ6I,EAAa,aAAeD,EAAW,KAI1D+E,EAAGV,iBAAkB,QAAU/H,EAAU,MAAOzC,QACrDiF,EAAU1H,KAAM,OAQjB+P,EAAQ/Q,EAASyC,cAAe,UAC1BG,aAAc,OAAQ,IAC5B+L,EAAG7L,YAAaiO,GACVpC,EAAGV,iBAAkB,aAAcxK,QACxCiF,EAAU1H,KAAM,MAAQ6I,EAAa,QAAUA,EAAa,KAC3DA,EAAa,gBAMT8E,EAAGV,iBAAkB,YAAaxK,QACvCiF,EAAU1H,KAAM,YAMX2N,EAAGV,iBAAkB,KAAO/H,EAAU,MAAOzC,QAClDiF,EAAU1H,KAAM,YAKjB2N,EAAGV,iBAAkB,QACrBvF,EAAU1H,KAAM,iBAGjB0N,GAAQ,SAAUC,GACjBA,EAAGqC,UAAY,oFAKf,IAAID,EAAQ/Q,EAASyC,cAAe,SACpCsO,EAAMnO,aAAc,OAAQ,UAC5B+L,EAAG7L,YAAaiO,GAAQnO,aAAc,OAAQ,KAIzC+L,EAAGV,iBAAkB,YAAaxK,QACtCiF,EAAU1H,KAAM,OAAS6I,EAAa,eAKW,IAA7C8E,EAAGV,iBAAkB,YAAaxK,QACtCiF,EAAU1H,KAAM,WAAY,aAK7BwH,EAAQ1F,YAAa6L,GAAKpC,UAAW,EACc,IAA9CoC,EAAGV,iBAAkB,aAAcxK,QACvCiF,EAAU1H,KAAM,WAAY,aAK7B2N,EAAGV,iBAAkB,QACrBvF,EAAU1H,KAAM,YAIXQ,EAAQyP,gBAAkB5F,EAAQuC,KAAQzG,EAAUqB,EAAQrB,SAClEqB,EAAQ0I,uBACR1I,EAAQ2I,oBACR3I,EAAQ4I,kBACR5I,EAAQ6I,qBAER3C,GAAQ,SAAUC,GAIjBnN,EAAQ8P,kBAAoBnK,EAAQtG,KAAM8N,EAAI,KAI9CxH,EAAQtG,KAAM8N,EAAI,aAClBhG,EAAc3H,KAAM,KAAMgJ,KAI5BtB,EAAYA,EAAUjF,QAAU,IAAIyG,OAAQxB,EAAUsF,KAAM,MAC5DrF,EAAgBA,EAAclF,QAAU,IAAIyG,OAAQvB,EAAcqF,KAAM,MAIxE+B,EAAa1E,EAAQuC,KAAMpF,EAAQ+I,yBAKnC3I,EAAWmH,GAAc1E,EAAQuC,KAAMpF,EAAQI,UAC9C,SAAUW,EAAGC,GACZ,IAAIgI,EAAuB,IAAfjI,EAAE5H,SAAiB4H,EAAEuG,gBAAkBvG,EAClDkI,EAAMjI,GAAKA,EAAEzG,WACd,OAAOwG,IAAMkI,MAAWA,GAAwB,IAAjBA,EAAI9P,YAClC6P,EAAM5I,SACL4I,EAAM5I,SAAU6I,GAChBlI,EAAEgI,yBAA8D,GAAnChI,EAAEgI,wBAAyBE,MAG3D,SAAUlI,EAAGC,GACZ,GAAKA,EACJ,MAAUA,EAAIA,EAAEzG,WACf,GAAKyG,IAAMD,EACV,OAAO,EAIV,OAAO,GAOTD,EAAYyG,EACZ,SAAUxG,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,OADAlB,GAAe,EACR,EAIR,IAAIoJ,GAAWnI,EAAEgI,yBAA2B/H,EAAE+H,wBAC9C,OAAKG,IAgBU,GAPfA,GAAYnI,EAAE8D,eAAiB9D,KAASC,EAAE6D,eAAiB7D,GAC1DD,EAAEgI,wBAAyB/H,GAG3B,KAIGhI,EAAQmQ,cAAgBnI,EAAE+H,wBAAyBhI,KAAQmI,EAOzDnI,GAAKvJ,GAAYuJ,EAAE8D,eAAiBvE,GACxCF,EAAUE,EAAcS,IAChB,EAOJC,GAAKxJ,GAAYwJ,EAAE6D,eAAiBvE,GACxCF,EAAUE,EAAcU,GACjB,EAIDnB,EACJpH,EAASoH,EAAWkB,GAAMtI,EAASoH,EAAWmB,GAChD,EAGe,EAAVkI,GAAe,EAAI,IAE3B,SAAUnI,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,OADAlB,GAAe,EACR,EAGR,IAAI2G,EACH3M,EAAI,EACJsP,EAAMrI,EAAExG,WACR0O,EAAMjI,EAAEzG,WACR8O,EAAK,CAAEtI,GACPuI,EAAK,CAAEtI,GAGR,IAAMoI,IAAQH,EAMb,OAAOlI,GAAKvJ,GAAY,EACvBwJ,GAAKxJ,EAAW,EAEhB4R,GAAO,EACPH,EAAM,EACNpJ,EACEpH,EAASoH,EAAWkB,GAAMtI,EAASoH,EAAWmB,GAChD,EAGK,GAAKoI,IAAQH,EACnB,OAAOzC,GAAczF,EAAGC,GAIzByF,EAAM1F,EACN,MAAU0F,EAAMA,EAAIlM,WACnB8O,EAAGE,QAAS9C,GAEbA,EAAMzF,EACN,MAAUyF,EAAMA,EAAIlM,WACnB+O,EAAGC,QAAS9C,GAIb,MAAQ4C,EAAIvP,KAAQwP,EAAIxP,GACvBA,IAGD,OAAOA,EAGN0M,GAAc6C,EAAIvP,GAAKwP,EAAIxP,IAO3BuP,EAAIvP,IAAOwG,GAAgB,EAC3BgJ,EAAIxP,IAAOwG,EAAe,EAE1B,IAGK9I,GAGR6H,GAAOV,QAAU,SAAU6K,EAAMC,GAChC,OAAOpK,GAAQmK,EAAM,KAAM,KAAMC,IAGlCpK,GAAOoJ,gBAAkB,SAAUzM,EAAMwN,GAGxC,GAFAzJ,EAAa/D,GAERhD,EAAQyP,iBAAmBxI,IAC9BY,EAAwB2I,EAAO,QAC7BrJ,IAAkBA,EAAciF,KAAMoE,OACtCtJ,IAAkBA,EAAUkF,KAAMoE,IAErC,IACC,IAAI9N,EAAMiD,EAAQtG,KAAM2D,EAAMwN,GAG9B,GAAK9N,GAAO1C,EAAQ8P,mBAInB9M,EAAKxE,UAAuC,KAA3BwE,EAAKxE,SAAS2B,SAC/B,OAAOuC,EAEP,MAAQ0I,GACTvD,EAAwB2I,GAAM,GAIhC,OAAyD,EAAlDnK,GAAQmK,EAAMhS,EAAU,KAAM,CAAEwE,IAASf,QAGjDoE,GAAOe,SAAW,SAAUvF,EAASmB,GAUpC,OAHOnB,EAAQgK,eAAiBhK,IAAarD,GAC5CuI,EAAalF,GAEPuF,EAAUvF,EAASmB,IAG3BqD,GAAOqK,KAAO,SAAU1N,EAAMgB,IAOtBhB,EAAK6I,eAAiB7I,IAAUxE,GACtCuI,EAAa/D,GAGd,IAAIlB,EAAKwE,EAAKiH,WAAYvJ,EAAKoC,eAG9BrF,EAAMe,GAAMlC,EAAOP,KAAMiH,EAAKiH,WAAYvJ,EAAKoC,eAC9CtE,EAAIkB,EAAMgB,GAAOiD,QACjBxC,EAEF,YAAeA,IAAR1D,EACNA,EACAf,EAAQuI,aAAetB,EACtBjE,EAAK7B,aAAc6C,IACjBjD,EAAMiC,EAAKoM,iBAAkBpL,KAAYjD,EAAI4P,UAC9C5P,EAAI+E,MACJ,MAGJO,GAAO6D,OAAS,SAAU0G,GACzB,OAASA,EAAM,IAAK/L,QAAS0F,GAAYC,KAG1CnE,GAAOtB,MAAQ,SAAUC,GACxB,MAAM,IAAItG,MAAO,0CAA4CsG,IAO9DqB,GAAOwK,WAAa,SAAUtL,GAC7B,IAAIvC,EACH8N,EAAa,GACbpN,EAAI,EACJ5C,EAAI,EAOL,GAJAgG,GAAgB9G,EAAQ+Q,iBACxBlK,GAAa7G,EAAQgR,YAAczL,EAAQrG,MAAO,GAClDqG,EAAQ3B,KAAMkE,GAEThB,EAAe,CACnB,MAAU9D,EAAOuC,EAASzE,KACpBkC,IAASuC,EAASzE,KACtB4C,EAAIoN,EAAWtR,KAAMsB,IAGvB,MAAQ4C,IACP6B,EAAQ1B,OAAQiN,EAAYpN,GAAK,GAQnC,OAFAmD,EAAY,KAELtB,GAORgB,EAAUF,GAAOE,QAAU,SAAUvD,GACpC,IAAIpC,EACH8B,EAAM,GACN5B,EAAI,EACJX,EAAW6C,EAAK7C,SAEjB,GAAMA,GAQC,GAAkB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAkB,CAIjE,GAAiC,iBAArB6C,EAAKiO,YAChB,OAAOjO,EAAKiO,YAIZ,IAAMjO,EAAOA,EAAKkO,WAAYlO,EAAMA,EAAOA,EAAK4K,YAC/ClL,GAAO6D,EAASvD,QAGZ,GAAkB,IAAb7C,GAA+B,IAAbA,EAC7B,OAAO6C,EAAKmO,eAnBZ,MAAUvQ,EAAOoC,EAAMlC,KAGtB4B,GAAO6D,EAAS3F,GAqBlB,OAAO8B,IAGR4D,EAAOD,GAAO+K,UAAY,CAGzBrE,YAAa,GAEbsE,aAAcpE,GAEdxB,MAAOxC,EAEPsE,WAAY,GAEZ4B,KAAM,GAENmC,SAAU,CACTC,IAAK,CAAEtG,IAAK,aAAc/H,OAAO,GACjCsO,IAAK,CAAEvG,IAAK,cACZwG,IAAK,CAAExG,IAAK,kBAAmB/H,OAAO,GACtCwO,IAAK,CAAEzG,IAAK,oBAGb0G,UAAW,CACVtI,KAAQ,SAAUoC,GAWjB,OAVAA,EAAO,GAAMA,EAAO,GAAI5G,QAASmF,GAAWC,IAG5CwB,EAAO,IAAQA,EAAO,IAAOA,EAAO,IACnCA,EAAO,IAAO,IAAK5G,QAASmF,GAAWC,IAEpB,OAAfwB,EAAO,KACXA,EAAO,GAAM,IAAMA,EAAO,GAAM,KAG1BA,EAAMvM,MAAO,EAAG,IAGxBqK,MAAS,SAAUkC,GAiClB,OArBAA,EAAO,GAAMA,EAAO,GAAIrF,cAEU,QAA7BqF,EAAO,GAAIvM,MAAO,EAAG,IAGnBuM,EAAO,IACZpF,GAAOtB,MAAO0G,EAAO,IAKtBA,EAAO,KAASA,EAAO,GACtBA,EAAO,IAAQA,EAAO,IAAO,GAC7B,GAAqB,SAAfA,EAAO,IAAiC,QAAfA,EAAO,KACvCA,EAAO,KAAWA,EAAO,GAAMA,EAAO,IAAwB,QAAfA,EAAO,KAG3CA,EAAO,IAClBpF,GAAOtB,MAAO0G,EAAO,IAGfA,GAGRnC,OAAU,SAAUmC,GACnB,IAAImG,EACHC,GAAYpG,EAAO,IAAOA,EAAO,GAElC,OAAKxC,EAAmB,MAAEmD,KAAMX,EAAO,IAC/B,MAIHA,EAAO,GACXA,EAAO,GAAMA,EAAO,IAAOA,EAAO,IAAO,GAG9BoG,GAAY9I,EAAQqD,KAAMyF,KAGnCD,EAASnL,EAAUoL,GAAU,MAG7BD,EAASC,EAASpS,QAAS,IAAKoS,EAAS5P,OAAS2P,GAAWC,EAAS5P,UAGxEwJ,EAAO,GAAMA,EAAO,GAAIvM,MAAO,EAAG0S,GAClCnG,EAAO,GAAMoG,EAAS3S,MAAO,EAAG0S,IAI1BnG,EAAMvM,MAAO,EAAG,MAIzB+P,OAAQ,CAEP7F,IAAO,SAAU0I,GAChB,IAAI9G,EAAW8G,EAAiBjN,QAASmF,GAAWC,IAAY7D,cAChE,MAA4B,MAArB0L,EACN,WACC,OAAO,GAER,SAAU9O,GACT,OAAOA,EAAKgI,UAAYhI,EAAKgI,SAAS5E,gBAAkB4E,IAI3D7B,MAAS,SAAU0F,GAClB,IAAIkD,EAAUtK,EAAYoH,EAAY,KAEtC,OAAOkD,IACJA,EAAU,IAAIrJ,OAAQ,MAAQL,EAC/B,IAAMwG,EAAY,IAAMxG,EAAa,SAAaZ,EACjDoH,EAAW,SAAU7L,GACpB,OAAO+O,EAAQ3F,KACY,iBAAnBpJ,EAAK6L,WAA0B7L,EAAK6L,WACd,oBAAtB7L,EAAK7B,cACX6B,EAAK7B,aAAc,UACpB,OAKNkI,KAAQ,SAAUrF,EAAMgO,EAAUC,GACjC,OAAO,SAAUjP,GAChB,IAAIkP,EAAS7L,GAAOqK,KAAM1N,EAAMgB,GAEhC,OAAe,MAAVkO,EACgB,OAAbF,GAEFA,IAINE,GAAU,GAIU,MAAbF,EAAmBE,IAAWD,EACvB,OAAbD,EAAoBE,IAAWD,EAClB,OAAbD,EAAoBC,GAAqC,IAA5BC,EAAOzS,QAASwS,GAChC,OAAbD,EAAoBC,IAAoC,EAA3BC,EAAOzS,QAASwS,GAChC,OAAbD,EAAoBC,GAASC,EAAOhT,OAAQ+S,EAAMhQ,UAAagQ,EAClD,OAAbD,GAA2F,GAArE,IAAME,EAAOrN,QAAS4D,EAAa,KAAQ,KAAMhJ,QAASwS,GACnE,OAAbD,IAAoBE,IAAWD,GAASC,EAAOhT,MAAO,EAAG+S,EAAMhQ,OAAS,KAAQgQ,EAAQ,QAO3F1I,MAAS,SAAUjJ,EAAM6R,EAAMC,EAAWlP,EAAOE,GAChD,IAAIiP,EAAgC,QAAvB/R,EAAKpB,MAAO,EAAG,GAC3BoT,EAA+B,SAArBhS,EAAKpB,OAAQ,GACvBqT,EAAkB,YAATJ,EAEV,OAAiB,IAAVjP,GAAwB,IAATE,EAGrB,SAAUJ,GACT,QAASA,EAAKzB,YAGf,SAAUyB,EAAMwP,EAAUC,GACzB,IAAI5F,EAAO6F,EAAaC,EAAY/R,EAAMgS,EAAWC,EACpD5H,EAAMoH,IAAWC,EAAU,cAAgB,kBAC3CQ,EAAS9P,EAAKzB,WACdyC,EAAOuO,GAAUvP,EAAKgI,SAAS5E,cAC/B2M,GAAYN,IAAQF,EACpB7E,GAAO,EAER,GAAKoF,EAAS,CAGb,GAAKT,EAAS,CACb,MAAQpH,EAAM,CACbrK,EAAOoC,EACP,MAAUpC,EAAOA,EAAMqK,GACtB,GAAKsH,EACJ3R,EAAKoK,SAAS5E,gBAAkBpC,EACd,IAAlBpD,EAAKT,SAEL,OAAO,EAKT0S,EAAQ5H,EAAe,SAAT3K,IAAoBuS,GAAS,cAE5C,OAAO,EAMR,GAHAA,EAAQ,CAAEP,EAAUQ,EAAO5B,WAAa4B,EAAOE,WAG1CV,GAAWS,EAAW,CAe1BrF,GADAkF,GADA/F,GAHA6F,GAJAC,GADA/R,EAAOkS,GACYpO,KAAe9D,EAAM8D,GAAY,KAI1B9D,EAAKqS,YAC5BN,EAAY/R,EAAKqS,UAAa,KAEZ3S,IAAU,IACZ,KAAQiH,GAAWsF,EAAO,KACzBA,EAAO,GAC3BjM,EAAOgS,GAAaE,EAAO3H,WAAYyH,GAEvC,MAAUhS,IAASgS,GAAahS,GAAQA,EAAMqK,KAG3CyC,EAAOkF,EAAY,IAAOC,EAAM5K,MAGlC,GAAuB,IAAlBrH,EAAKT,YAAoBuN,GAAQ9M,IAASoC,EAAO,CACrD0P,EAAapS,GAAS,CAAEiH,EAASqL,EAAWlF,GAC5C,YAyBF,GAlBKqF,IAaJrF,EADAkF,GADA/F,GAHA6F,GAJAC,GADA/R,EAAOoC,GACY0B,KAAe9D,EAAM8D,GAAY,KAI1B9D,EAAKqS,YAC5BN,EAAY/R,EAAKqS,UAAa,KAEZ3S,IAAU,IACZ,KAAQiH,GAAWsF,EAAO,KAMhC,IAATa,EAGJ,MAAU9M,IAASgS,GAAahS,GAAQA,EAAMqK,KAC3CyC,EAAOkF,EAAY,IAAOC,EAAM5K,MAElC,IAAOsK,EACN3R,EAAKoK,SAAS5E,gBAAkBpC,EACd,IAAlBpD,EAAKT,aACHuN,IAGGqF,KAMJL,GALAC,EAAa/R,EAAM8D,KAChB9D,EAAM8D,GAAY,KAIK9D,EAAKqS,YAC5BN,EAAY/R,EAAKqS,UAAa,KAEpB3S,GAAS,CAAEiH,EAASmG,IAG7B9M,IAASoC,GACb,MASL,OADA0K,GAAQtK,KACQF,GAAWwK,EAAOxK,GAAU,GAAqB,GAAhBwK,EAAOxK,KAK5DoG,OAAU,SAAU4J,EAAQhF,GAM3B,IAAIiF,EACHrR,EAAKwE,EAAKkC,QAAS0K,IAAY5M,EAAK8M,WAAYF,EAAO9M,gBACtDC,GAAOtB,MAAO,uBAAyBmO,GAKzC,OAAKpR,EAAI4C,GACD5C,EAAIoM,GAIK,EAAZpM,EAAGG,QACPkR,EAAO,CAAED,EAAQA,EAAQ,GAAIhF,GACtB5H,EAAK8M,WAAWvT,eAAgBqT,EAAO9M,eAC7C6G,GAAc,SAAU3B,EAAM3F,GAC7B,IAAI0N,EACHC,EAAUxR,EAAIwJ,EAAM4C,GACpBpN,EAAIwS,EAAQrR,OACb,MAAQnB,IAEPwK,EADA+H,EAAM5T,EAAS6L,EAAMgI,EAASxS,OACb6E,EAAS0N,GAAQC,EAASxS,MAG7C,SAAUkC,GACT,OAAOlB,EAAIkB,EAAM,EAAGmQ,KAIhBrR,IAIT0G,QAAS,CAGR+K,IAAOtG,GAAc,SAAUrL,GAK9B,IAAI2N,EAAQ,GACXhK,EAAU,GACViO,EAAU9M,EAAS9E,EAASiD,QAAS8D,EAAO,OAE7C,OAAO6K,EAAS9O,GACfuI,GAAc,SAAU3B,EAAM3F,EAAS6M,EAAUC,GAChD,IAAIzP,EACHyQ,EAAYD,EAASlI,EAAM,KAAMmH,EAAK,IACtC3R,EAAIwK,EAAKrJ,OAGV,MAAQnB,KACAkC,EAAOyQ,EAAW3S,MACxBwK,EAAMxK,KAAS6E,EAAS7E,GAAMkC,MAIjC,SAAUA,EAAMwP,EAAUC,GAMzB,OALAlD,EAAO,GAAMvM,EACbwQ,EAASjE,EAAO,KAAMkD,EAAKlN,GAG3BgK,EAAO,GAAM,MACLhK,EAAQ0C,SAInByL,IAAOzG,GAAc,SAAUrL,GAC9B,OAAO,SAAUoB,GAChB,OAAyC,EAAlCqD,GAAQzE,EAAUoB,GAAOf,UAIlCmF,SAAY6F,GAAc,SAAU/L,GAEnC,OADAA,EAAOA,EAAK2D,QAASmF,GAAWC,IACzB,SAAUjH,GAChB,OAAkE,GAAzDA,EAAKiO,aAAe1K,EAASvD,IAASvD,QAASyB,MAW1DyS,KAAQ1G,GAAc,SAAU0G,GAO/B,OAJM3K,EAAYoD,KAAMuH,GAAQ,KAC/BtN,GAAOtB,MAAO,qBAAuB4O,GAEtCA,EAAOA,EAAK9O,QAASmF,GAAWC,IAAY7D,cACrC,SAAUpD,GAChB,IAAI4Q,EACJ,GACC,GAAOA,EAAW3M,EACjBjE,EAAK2Q,KACL3Q,EAAK7B,aAAc,aAAgB6B,EAAK7B,aAAc,QAGtD,OADAyS,EAAWA,EAASxN,iBACAuN,GAA2C,IAAnCC,EAASnU,QAASkU,EAAO,YAE3C3Q,EAAOA,EAAKzB,aAAkC,IAAlByB,EAAK7C,UAC7C,OAAO,KAKTiE,OAAU,SAAUpB,GACnB,IAAI6Q,EAAOlV,EAAOmV,UAAYnV,EAAOmV,SAASD,KAC9C,OAAOA,GAAQA,EAAK3U,MAAO,KAAQ8D,EAAKgJ,IAGzC+H,KAAQ,SAAU/Q,GACjB,OAAOA,IAASgE,GAGjBgN,MAAS,SAAUhR,GAClB,OAAOA,IAASxE,EAASyV,iBACrBzV,EAAS0V,UAAY1V,EAAS0V,gBAC7BlR,EAAK1C,MAAQ0C,EAAKmR,OAASnR,EAAKoR,WAItCC,QAAWtG,IAAsB,GACjChD,SAAYgD,IAAsB,GAElCuG,QAAW,SAAUtR,GAIpB,IAAIgI,EAAWhI,EAAKgI,SAAS5E,cAC7B,MAAsB,UAAb4E,KAA0BhI,EAAKsR,SACxB,WAAbtJ,KAA2BhI,EAAKuR,UAGpCA,SAAY,SAAUvR,GASrB,OALKA,EAAKzB,YAETyB,EAAKzB,WAAWiT,eAGQ,IAAlBxR,EAAKuR,UAIbE,MAAS,SAAUzR,GAMlB,IAAMA,EAAOA,EAAKkO,WAAYlO,EAAMA,EAAOA,EAAK4K,YAC/C,GAAK5K,EAAK7C,SAAW,EACpB,OAAO,EAGT,OAAO,GAGR2S,OAAU,SAAU9P,GACnB,OAAQsD,EAAKkC,QAAiB,MAAGxF,IAIlC0R,OAAU,SAAU1R,GACnB,OAAO4G,EAAQwC,KAAMpJ,EAAKgI,WAG3BuE,MAAS,SAAUvM,GAClB,OAAO2G,EAAQyC,KAAMpJ,EAAKgI,WAG3B2J,OAAU,SAAU3R,GACnB,IAAIgB,EAAOhB,EAAKgI,SAAS5E,cACzB,MAAgB,UAATpC,GAAkC,WAAdhB,EAAK1C,MAA8B,WAAT0D,GAGtD9C,KAAQ,SAAU8B,GACjB,IAAI0N,EACJ,MAAuC,UAAhC1N,EAAKgI,SAAS5E,eACN,SAAdpD,EAAK1C,OAIuC,OAAxCoQ,EAAO1N,EAAK7B,aAAc,UACN,SAAvBuP,EAAKtK,gBAIRlD,MAAS+K,GAAwB,WAChC,MAAO,CAAE,KAGV7K,KAAQ6K,GAAwB,SAAU2G,EAAe3S,GACxD,MAAO,CAAEA,EAAS,KAGnBkB,GAAM8K,GAAwB,SAAU2G,EAAe3S,EAAQiM,GAC9D,MAAO,CAAEA,EAAW,EAAIA,EAAWjM,EAASiM,KAG7C7K,KAAQ4K,GAAwB,SAAUE,EAAclM,GAEvD,IADA,IAAInB,EAAI,EACAA,EAAImB,EAAQnB,GAAK,EACxBqN,EAAa3O,KAAMsB,GAEpB,OAAOqN,IAGR3K,IAAOyK,GAAwB,SAAUE,EAAclM,GAEtD,IADA,IAAInB,EAAI,EACAA,EAAImB,EAAQnB,GAAK,EACxBqN,EAAa3O,KAAMsB,GAEpB,OAAOqN,IAGR0G,GAAM5G,GAAwB,SAAUE,EAAclM,EAAQiM,GAM7D,IALA,IAAIpN,EAAIoN,EAAW,EAClBA,EAAWjM,EACAA,EAAXiM,EACCjM,EACAiM,EACa,KAALpN,GACTqN,EAAa3O,KAAMsB,GAEpB,OAAOqN,IAGR2G,GAAM7G,GAAwB,SAAUE,EAAclM,EAAQiM,GAE7D,IADA,IAAIpN,EAAIoN,EAAW,EAAIA,EAAWjM,EAASiM,IACjCpN,EAAImB,GACbkM,EAAa3O,KAAMsB,GAEpB,OAAOqN,OAKL3F,QAAe,IAAIlC,EAAKkC,QAAc,GAGhC,CAAEuM,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5E7O,EAAKkC,QAAS1H,GAAM+M,GAAmB/M,GAExC,IAAMA,IAAK,CAAEsU,QAAQ,EAAMC,OAAO,GACjC/O,EAAKkC,QAAS1H,GAAMgN,GAAoBhN,GAIzC,SAASsS,MA0ET,SAAS7G,GAAY+I,GAIpB,IAHA,IAAIxU,EAAI,EACP2C,EAAM6R,EAAOrT,OACbL,EAAW,GACJd,EAAI2C,EAAK3C,IAChBc,GAAY0T,EAAQxU,GAAIgF,MAEzB,OAAOlE,EAGR,SAASkJ,GAAe0I,EAAS+B,EAAYC,GAC5C,IAAIvK,EAAMsK,EAAWtK,IACpBwK,EAAOF,EAAWrK,KAClB4B,EAAM2I,GAAQxK,EACdyK,EAAmBF,GAAgB,eAAR1I,EAC3B6I,EAAWnO,IAEZ,OAAO+N,EAAWrS,MAGjB,SAAUF,EAAMnB,EAAS4Q,GACxB,MAAUzP,EAAOA,EAAMiI,GACtB,GAAuB,IAAlBjI,EAAK7C,UAAkBuV,EAC3B,OAAOlC,EAASxQ,EAAMnB,EAAS4Q,GAGjC,OAAO,GAIR,SAAUzP,EAAMnB,EAAS4Q,GACxB,IAAImD,EAAUlD,EAAaC,EAC1BkD,EAAW,CAAEtO,EAASoO,GAGvB,GAAKlD,GACJ,MAAUzP,EAAOA,EAAMiI,GACtB,IAAuB,IAAlBjI,EAAK7C,UAAkBuV,IACtBlC,EAASxQ,EAAMnB,EAAS4Q,GAC5B,OAAO,OAKV,MAAUzP,EAAOA,EAAMiI,GACtB,GAAuB,IAAlBjI,EAAK7C,UAAkBuV,EAQ3B,GAHAhD,GAJAC,EAAa3P,EAAM0B,KAAe1B,EAAM0B,GAAY,KAI1B1B,EAAKiQ,YAC5BN,EAAY3P,EAAKiQ,UAAa,IAE5BwC,GAAQA,IAASzS,EAAKgI,SAAS5E,cACnCpD,EAAOA,EAAMiI,IAASjI,MAChB,CAAA,IAAO4S,EAAWlD,EAAa5F,KACrC8I,EAAU,KAAQrO,GAAWqO,EAAU,KAAQD,EAG/C,OAASE,EAAU,GAAMD,EAAU,GAOnC,IAHAlD,EAAa5F,GAAQ+I,GAGJ,GAAMrC,EAASxQ,EAAMnB,EAAS4Q,GAC9C,OAAO,EAMZ,OAAO,GAIV,SAASqD,GAAgBC,GACxB,OAAyB,EAAlBA,EAAS9T,OACf,SAAUe,EAAMnB,EAAS4Q,GACxB,IAAI3R,EAAIiV,EAAS9T,OACjB,MAAQnB,IACP,IAAMiV,EAAUjV,GAAKkC,EAAMnB,EAAS4Q,GACnC,OAAO,EAGT,OAAO,GAERsD,EAAU,GAYZ,SAASC,GAAUvC,EAAW1Q,EAAKkM,EAAQpN,EAAS4Q,GAOnD,IANA,IAAIzP,EACHiT,EAAe,GACfnV,EAAI,EACJ2C,EAAMgQ,EAAUxR,OAChBiU,EAAgB,MAAPnT,EAEFjC,EAAI2C,EAAK3C,KACTkC,EAAOyQ,EAAW3S,MAClBmO,IAAUA,EAAQjM,EAAMnB,EAAS4Q,KACtCwD,EAAazW,KAAMwD,GACdkT,GACJnT,EAAIvD,KAAMsB,KAMd,OAAOmV,EAGR,SAASE,GAAYxE,EAAW/P,EAAU4R,EAAS4C,EAAYC,EAAYC,GAO1E,OANKF,IAAeA,EAAY1R,KAC/B0R,EAAaD,GAAYC,IAErBC,IAAeA,EAAY3R,KAC/B2R,EAAaF,GAAYE,EAAYC,IAE/BrJ,GAAc,SAAU3B,EAAM/F,EAAS1D,EAAS4Q,GACtD,IAAI8D,EAAMzV,EAAGkC,EACZwT,EAAS,GACTC,EAAU,GACVC,EAAcnR,EAAQtD,OAGtBQ,EAAQ6I,GA5CX,SAA2B1J,EAAU+U,EAAUpR,GAG9C,IAFA,IAAIzE,EAAI,EACP2C,EAAMkT,EAAS1U,OACRnB,EAAI2C,EAAK3C,IAChBuF,GAAQzE,EAAU+U,EAAU7V,GAAKyE,GAElC,OAAOA,EAsCWqR,CACfhV,GAAY,IACZC,EAAQ1B,SAAW,CAAE0B,GAAYA,EACjC,IAIDgV,GAAYlF,IAAerG,GAAS1J,EAEnCa,EADAuT,GAAUvT,EAAO+T,EAAQ7E,EAAW9P,EAAS4Q,GAG9CqE,EAAatD,EAGZ6C,IAAgB/K,EAAOqG,EAAY+E,GAAeN,GAGjD,GAGA7Q,EACDsR,EAQF,GALKrD,GACJA,EAASqD,EAAWC,EAAYjV,EAAS4Q,GAIrC2D,EAAa,CACjBG,EAAOP,GAAUc,EAAYL,GAC7BL,EAAYG,EAAM,GAAI1U,EAAS4Q,GAG/B3R,EAAIyV,EAAKtU,OACT,MAAQnB,KACAkC,EAAOuT,EAAMzV,MACnBgW,EAAYL,EAAS3V,MAAW+V,EAAWJ,EAAS3V,IAAQkC,IAK/D,GAAKsI,GACJ,GAAK+K,GAAc1E,EAAY,CAC9B,GAAK0E,EAAa,CAGjBE,EAAO,GACPzV,EAAIgW,EAAW7U,OACf,MAAQnB,KACAkC,EAAO8T,EAAYhW,KAGzByV,EAAK/W,KAAQqX,EAAW/V,GAAMkC,GAGhCqT,EAAY,KAAQS,EAAa,GAAMP,EAAM9D,GAI9C3R,EAAIgW,EAAW7U,OACf,MAAQnB,KACAkC,EAAO8T,EAAYhW,MACsC,GAA7DyV,EAAOF,EAAa5W,EAAS6L,EAAMtI,GAASwT,EAAQ1V,MAEtDwK,EAAMiL,KAAYhR,EAASgR,GAASvT,UAOvC8T,EAAad,GACZc,IAAevR,EACduR,EAAWjT,OAAQ6S,EAAaI,EAAW7U,QAC3C6U,GAEGT,EACJA,EAAY,KAAM9Q,EAASuR,EAAYrE,GAEvCjT,EAAKD,MAAOgG,EAASuR,KAMzB,SAASC,GAAmBzB,GAyB3B,IAxBA,IAAI0B,EAAcxD,EAAS9P,EAC1BD,EAAM6R,EAAOrT,OACbgV,EAAkB3Q,EAAKgL,SAAUgE,EAAQ,GAAIhV,MAC7C4W,EAAmBD,GAAmB3Q,EAAKgL,SAAU,KACrDxQ,EAAImW,EAAkB,EAAI,EAG1BE,EAAerM,GAAe,SAAU9H,GACvC,OAAOA,IAASgU,GACdE,GAAkB,GACrBE,EAAkBtM,GAAe,SAAU9H,GAC1C,OAAwC,EAAjCvD,EAASuX,EAAchU,IAC5BkU,GAAkB,GACrBnB,EAAW,CAAE,SAAU/S,EAAMnB,EAAS4Q,GACrC,IAAI/P,GAASuU,IAAqBxE,GAAO5Q,IAAY+E,MAClDoQ,EAAenV,GAAU1B,SAC1BgX,EAAcnU,EAAMnB,EAAS4Q,GAC7B2E,EAAiBpU,EAAMnB,EAAS4Q,IAIlC,OADAuE,EAAe,KACRtU,IAGD5B,EAAI2C,EAAK3C,IAChB,GAAO0S,EAAUlN,EAAKgL,SAAUgE,EAAQxU,GAAIR,MAC3CyV,EAAW,CAAEjL,GAAegL,GAAgBC,GAAYvC,QAClD,CAIN,IAHAA,EAAUlN,EAAK2I,OAAQqG,EAAQxU,GAAIR,MAAOf,MAAO,KAAM+V,EAAQxU,GAAI6E,UAGrDjB,GAAY,CAIzB,IADAhB,IAAM5C,EACE4C,EAAID,EAAKC,IAChB,GAAK4C,EAAKgL,SAAUgE,EAAQ5R,GAAIpD,MAC/B,MAGF,OAAO6V,GACF,EAAJrV,GAASgV,GAAgBC,GACrB,EAAJjV,GAASyL,GAGT+I,EACEpW,MAAO,EAAG4B,EAAI,GACdxB,OAAQ,CAAEwG,MAAgC,MAAzBwP,EAAQxU,EAAI,GAAIR,KAAe,IAAM,MACtDuE,QAAS8D,EAAO,MAClB6K,EACA1S,EAAI4C,GAAKqT,GAAmBzB,EAAOpW,MAAO4B,EAAG4C,IAC7CA,EAAID,GAAOsT,GAAqBzB,EAASA,EAAOpW,MAAOwE,IACvDA,EAAID,GAAO8I,GAAY+I,IAGzBS,EAASvW,KAAMgU,GAIjB,OAAOsC,GAAgBC,GAoTxB,OAtpBA3C,GAAWlR,UAAYoE,EAAK+Q,QAAU/Q,EAAKkC,QAC3ClC,EAAK8M,WAAa,IAAIA,GAEtB3M,EAAWJ,GAAOI,SAAW,SAAU7E,EAAU0V,GAChD,IAAIhE,EAAS7H,EAAO6J,EAAQhV,EAC3BiX,EAAO7L,EAAQ8L,EACfC,EAAS9P,EAAY/F,EAAW,KAEjC,GAAK6V,EACJ,OAAOH,EAAY,EAAIG,EAAOvY,MAAO,GAGtCqY,EAAQ3V,EACR8J,EAAS,GACT8L,EAAalR,EAAKqL,UAElB,MAAQ4F,EAAQ,CA2Bf,IAAMjX,KAxBAgT,KAAa7H,EAAQ7C,EAAOkD,KAAMyL,MAClC9L,IAGJ8L,EAAQA,EAAMrY,MAAOuM,EAAO,GAAIxJ,SAAYsV,GAE7C7L,EAAOlM,KAAQ8V,EAAS,KAGzBhC,GAAU,GAGH7H,EAAQ5C,EAAaiD,KAAMyL,MACjCjE,EAAU7H,EAAMuB,QAChBsI,EAAO9V,KAAM,CACZsG,MAAOwN,EAGPhT,KAAMmL,EAAO,GAAI5G,QAAS8D,EAAO,OAElC4O,EAAQA,EAAMrY,MAAOoU,EAAQrR,SAIhBqE,EAAK2I,SACXxD,EAAQxC,EAAW3I,GAAOwL,KAAMyL,KAAgBC,EAAYlX,MAChEmL,EAAQ+L,EAAYlX,GAAQmL,MAC9B6H,EAAU7H,EAAMuB,QAChBsI,EAAO9V,KAAM,CACZsG,MAAOwN,EACPhT,KAAMA,EACNqF,QAAS8F,IAEV8L,EAAQA,EAAMrY,MAAOoU,EAAQrR,SAI/B,IAAMqR,EACL,MAOF,OAAOgE,EACNC,EAAMtV,OACNsV,EACClR,GAAOtB,MAAOnD,GAGd+F,EAAY/F,EAAU8J,GAASxM,MAAO,IA4ZzCwH,EAAUL,GAAOK,QAAU,SAAU9E,EAAU6J,GAC9C,IAAI3K,EA9H8B4W,EAAiBC,EAC/CC,EACHC,EACAC,EA4HAH,EAAc,GACdD,EAAkB,GAClBD,EAAS7P,EAAehG,EAAW,KAEpC,IAAM6V,EAAS,CAGRhM,IACLA,EAAQhF,EAAU7E,IAEnBd,EAAI2K,EAAMxJ,OACV,MAAQnB,KACP2W,EAASV,GAAmBtL,EAAO3K,KACtB4D,GACZiT,EAAYnY,KAAMiY,GAElBC,EAAgBlY,KAAMiY,IAKxBA,EAAS7P,EACRhG,GArJgC8V,EAsJNA,EArJxBE,EAA6B,GADkBD,EAsJNA,GArJrB1V,OACvB4V,EAAqC,EAAzBH,EAAgBzV,OAC5B6V,EAAe,SAAUxM,EAAMzJ,EAAS4Q,EAAKlN,EAASwS,GACrD,IAAI/U,EAAMU,EAAG8P,EACZwE,EAAe,EACflX,EAAI,IACJ2S,EAAYnI,GAAQ,GACpB2M,EAAa,GACbC,EAAgBtR,EAGhBnE,EAAQ6I,GAAQuM,GAAavR,EAAK6I,KAAY,IAAG,IAAK4I,GAGtDI,EAAkB5Q,GAA4B,MAAjB2Q,EAAwB,EAAIvT,KAAKC,UAAY,GAC1EnB,EAAMhB,EAAMR,OAcb,IAZK8V,IAMJnR,EAAmB/E,GAAWrD,GAAYqD,GAAWkW,GAM9CjX,IAAM2C,GAAgC,OAAvBT,EAAOP,EAAO3B,IAAeA,IAAM,CACzD,GAAK+W,GAAa7U,EAAO,CACxBU,EAAI,EAME7B,GAAWmB,EAAK6I,eAAiBrN,IACtCuI,EAAa/D,GACbyP,GAAOxL,GAER,MAAUuM,EAAUkE,EAAiBhU,KACpC,GAAK8P,EAASxQ,EAAMnB,GAAWrD,EAAUiU,GAAQ,CAChDlN,EAAQ/F,KAAMwD,GACd,MAGG+U,IACJxQ,EAAU4Q,GAKPP,KAGG5U,GAAQwQ,GAAWxQ,IACzBgV,IAII1M,GACJmI,EAAUjU,KAAMwD,IAgBnB,GATAgV,GAAgBlX,EASX8W,GAAS9W,IAAMkX,EAAe,CAClCtU,EAAI,EACJ,MAAU8P,EAAUmE,EAAajU,KAChC8P,EAASC,EAAWwE,EAAYpW,EAAS4Q,GAG1C,GAAKnH,EAAO,CAGX,GAAoB,EAAf0M,EACJ,MAAQlX,IACC2S,EAAW3S,IAAOmX,EAAYnX,KACrCmX,EAAYnX,GAAMmH,EAAI5I,KAAMkG,IAM/B0S,EAAajC,GAAUiC,GAIxBzY,EAAKD,MAAOgG,EAAS0S,GAGhBF,IAAczM,GAA4B,EAApB2M,EAAWhW,QACG,EAAtC+V,EAAeL,EAAY1V,QAE7BoE,GAAOwK,WAAYtL,GAUrB,OALKwS,IACJxQ,EAAU4Q,EACVvR,EAAmBsR,GAGbzE,GAGFmE,EACN3K,GAAc6K,GACdA,KAgCOlW,SAAWA,EAEnB,OAAO6V,GAYR9Q,EAASN,GAAOM,OAAS,SAAU/E,EAAUC,EAAS0D,EAAS+F,GAC9D,IAAIxK,EAAGwU,EAAQ8C,EAAO9X,EAAM6O,EAC3BkJ,EAA+B,mBAAbzW,GAA2BA,EAC7C6J,GAASH,GAAQ7E,EAAY7E,EAAWyW,EAASzW,UAAYA,GAM9D,GAJA2D,EAAUA,GAAW,GAIC,IAAjBkG,EAAMxJ,OAAe,CAIzB,GAAqB,GADrBqT,EAAS7J,EAAO,GAAMA,EAAO,GAAIvM,MAAO,IAC5B+C,QAA+C,QAA/BmW,EAAQ9C,EAAQ,IAAMhV,MAC5B,IAArBuB,EAAQ1B,UAAkB8G,GAAkBX,EAAKgL,SAAUgE,EAAQ,GAAIhV,MAAS,CAIhF,KAFAuB,GAAYyE,EAAK6I,KAAW,GAAGiJ,EAAMzS,QAAS,GAC5Cd,QAASmF,GAAWC,IAAapI,IAAa,IAAM,IAErD,OAAO0D,EAGI8S,IACXxW,EAAUA,EAAQN,YAGnBK,EAAWA,EAAS1C,MAAOoW,EAAOtI,QAAQlH,MAAM7D,QAIjDnB,EAAImI,EAA0B,aAAEmD,KAAMxK,GAAa,EAAI0T,EAAOrT,OAC9D,MAAQnB,IAAM,CAIb,GAHAsX,EAAQ9C,EAAQxU,GAGXwF,EAAKgL,SAAYhR,EAAO8X,EAAM9X,MAClC,MAED,IAAO6O,EAAO7I,EAAK6I,KAAM7O,MAGjBgL,EAAO6D,EACbiJ,EAAMzS,QAAS,GAAId,QAASmF,GAAWC,IACvCF,GAASqC,KAAMkJ,EAAQ,GAAIhV,OAAU+L,GAAaxK,EAAQN,aACzDM,IACI,CAKL,GAFAyT,EAAOzR,OAAQ/C,EAAG,KAClBc,EAAW0J,EAAKrJ,QAAUsK,GAAY+I,IAGrC,OADA9V,EAAKD,MAAOgG,EAAS+F,GACd/F,EAGR,QAeJ,OAPE8S,GAAY3R,EAAS9E,EAAU6J,IAChCH,EACAzJ,GACCoF,EACD1B,GACC1D,GAAWkI,GAASqC,KAAMxK,IAAcyK,GAAaxK,EAAQN,aAAgBM,GAExE0D,GAMRvF,EAAQgR,WAAatM,EAAQwB,MAAO,IAAKtC,KAAMkE,GAAY0E,KAAM,MAAS9H,EAI1E1E,EAAQ+Q,mBAAqBjK,EAG7BC,IAIA/G,EAAQmQ,aAAejD,GAAQ,SAAUC,GAGxC,OAA4E,EAArEA,EAAG4C,wBAAyBvR,EAASyC,cAAe,eAMtDiM,GAAQ,SAAUC,GAEvB,OADAA,EAAGqC,UAAY,mBACiC,MAAzCrC,EAAG+D,WAAW/P,aAAc,WAEnCiM,GAAW,yBAA0B,SAAUpK,EAAMgB,EAAMwC,GAC1D,IAAMA,EACL,OAAOxD,EAAK7B,aAAc6C,EAA6B,SAAvBA,EAAKoC,cAA2B,EAAI,KAOjEpG,EAAQuI,YAAe2E,GAAQ,SAAUC,GAG9C,OAFAA,EAAGqC,UAAY,WACfrC,EAAG+D,WAAW9P,aAAc,QAAS,IACY,KAA1C+L,EAAG+D,WAAW/P,aAAc,YAEnCiM,GAAW,QAAS,SAAUpK,EAAMsV,EAAO9R,GAC1C,IAAMA,GAAyC,UAAhCxD,EAAKgI,SAAS5E,cAC5B,OAAOpD,EAAKuV,eAOTrL,GAAQ,SAAUC,GACvB,OAAwC,MAAjCA,EAAGhM,aAAc,eAExBiM,GAAWhF,EAAU,SAAUpF,EAAMgB,EAAMwC,GAC1C,IAAIzF,EACJ,IAAMyF,EACL,OAAwB,IAAjBxD,EAAMgB,GAAkBA,EAAKoC,eACjCrF,EAAMiC,EAAKoM,iBAAkBpL,KAAYjD,EAAI4P,UAC9C5P,EAAI+E,MACJ,OAKEO,GA14EP,CA44EK1H,GAILgD,EAAOwN,KAAO9I,EACd1E,EAAO6O,KAAOnK,EAAO+K,UAGrBzP,EAAO6O,KAAM,KAAQ7O,EAAO6O,KAAKhI,QACjC7G,EAAOkP,WAAalP,EAAO6W,OAASnS,EAAOwK,WAC3ClP,EAAOT,KAAOmF,EAAOE,QACrB5E,EAAO8W,SAAWpS,EAAOG,MACzB7E,EAAOyF,SAAWf,EAAOe,SACzBzF,EAAO+W,eAAiBrS,EAAO6D,OAK/B,IAAIe,EAAM,SAAUjI,EAAMiI,EAAK0N,GAC9B,IAAIrF,EAAU,GACbsF,OAAqBnU,IAAVkU,EAEZ,OAAU3V,EAAOA,EAAMiI,KAA6B,IAAlBjI,EAAK7C,SACtC,GAAuB,IAAlB6C,EAAK7C,SAAiB,CAC1B,GAAKyY,GAAYjX,EAAQqB,GAAO6V,GAAIF,GACnC,MAEDrF,EAAQ9T,KAAMwD,GAGhB,OAAOsQ,GAIJwF,EAAW,SAAUC,EAAG/V,GAG3B,IAFA,IAAIsQ,EAAU,GAENyF,EAAGA,EAAIA,EAAEnL,YACI,IAAfmL,EAAE5Y,UAAkB4Y,IAAM/V,GAC9BsQ,EAAQ9T,KAAMuZ,GAIhB,OAAOzF,GAIJ0F,EAAgBrX,EAAO6O,KAAK/E,MAAMhC,aAItC,SAASuB,EAAUhI,EAAMgB,GAEvB,OAAOhB,EAAKgI,UAAYhI,EAAKgI,SAAS5E,gBAAkBpC,EAAKoC,cAG/D,IAAI6S,EAAa,kEAKjB,SAASC,EAAQzI,EAAU0I,EAAW5F,GACrC,OAAKtT,EAAYkZ,GACTxX,EAAO2B,KAAMmN,EAAU,SAAUzN,EAAMlC,GAC7C,QAASqY,EAAU9Z,KAAM2D,EAAMlC,EAAGkC,KAAWuQ,IAK1C4F,EAAUhZ,SACPwB,EAAO2B,KAAMmN,EAAU,SAAUzN,GACvC,OAASA,IAASmW,IAAgB5F,IAKV,iBAAd4F,EACJxX,EAAO2B,KAAMmN,EAAU,SAAUzN,GACvC,OAA4C,EAAnCvD,EAAQJ,KAAM8Z,EAAWnW,KAAkBuQ,IAK/C5R,EAAOsN,OAAQkK,EAAW1I,EAAU8C,GAG5C5R,EAAOsN,OAAS,SAAUuB,EAAM/N,EAAO8Q,GACtC,IAAIvQ,EAAOP,EAAO,GAMlB,OAJK8Q,IACJ/C,EAAO,QAAUA,EAAO,KAGH,IAAjB/N,EAAMR,QAAkC,IAAlBe,EAAK7C,SACxBwB,EAAOwN,KAAKM,gBAAiBzM,EAAMwN,GAAS,CAAExN,GAAS,GAGxDrB,EAAOwN,KAAKxJ,QAAS6K,EAAM7O,EAAO2B,KAAMb,EAAO,SAAUO,GAC/D,OAAyB,IAAlBA,EAAK7C,aAIdwB,EAAOG,GAAGgC,OAAQ,CACjBqL,KAAM,SAAUvN,GACf,IAAId,EAAG4B,EACNe,EAAM7E,KAAKqD,OACXmX,EAAOxa,KAER,GAAyB,iBAAbgD,EACX,OAAOhD,KAAK4D,UAAWb,EAAQC,GAAWqN,OAAQ,WACjD,IAAMnO,EAAI,EAAGA,EAAI2C,EAAK3C,IACrB,GAAKa,EAAOyF,SAAUgS,EAAMtY,GAAKlC,MAChC,OAAO,KAQX,IAFA8D,EAAM9D,KAAK4D,UAAW,IAEhB1B,EAAI,EAAGA,EAAI2C,EAAK3C,IACrBa,EAAOwN,KAAMvN,EAAUwX,EAAMtY,GAAK4B,GAGnC,OAAa,EAANe,EAAU9B,EAAOkP,WAAYnO,GAAQA,GAE7CuM,OAAQ,SAAUrN,GACjB,OAAOhD,KAAK4D,UAAW0W,EAAQta,KAAMgD,GAAY,IAAI,KAEtD2R,IAAK,SAAU3R,GACd,OAAOhD,KAAK4D,UAAW0W,EAAQta,KAAMgD,GAAY,IAAI,KAEtDiX,GAAI,SAAUjX,GACb,QAASsX,EACRta,KAIoB,iBAAbgD,GAAyBoX,EAAc5M,KAAMxK,GACnDD,EAAQC,GACRA,GAAY,IACb,GACCK,UASJ,IAAIoX,EAMHvP,EAAa,uCAENnI,EAAOG,GAAGC,KAAO,SAAUH,EAAUC,EAASkS,GACpD,IAAItI,EAAOzI,EAGX,IAAMpB,EACL,OAAOhD,KAQR,GAHAmV,EAAOA,GAAQsF,EAGU,iBAAbzX,EAAwB,CAanC,KAPC6J,EALsB,MAAlB7J,EAAU,IACsB,MAApCA,EAAUA,EAASK,OAAS,IACT,GAAnBL,EAASK,OAGD,CAAE,KAAML,EAAU,MAGlBkI,EAAWgC,KAAMlK,MAIV6J,EAAO,IAAQ5J,EA6CxB,OAAMA,GAAWA,EAAQM,QACtBN,GAAWkS,GAAO5E,KAAMvN,GAK1BhD,KAAKwD,YAAaP,GAAUsN,KAAMvN,GAhDzC,GAAK6J,EAAO,GAAM,CAYjB,GAXA5J,EAAUA,aAAmBF,EAASE,EAAS,GAAMA,EAIrDF,EAAOgB,MAAO/D,KAAM+C,EAAO2X,UAC1B7N,EAAO,GACP5J,GAAWA,EAAQ1B,SAAW0B,EAAQgK,eAAiBhK,EAAUrD,GACjE,IAIIya,EAAW7M,KAAMX,EAAO,KAAS9J,EAAO2C,cAAezC,GAC3D,IAAM4J,KAAS5J,EAGT5B,EAAYrB,KAAM6M,IACtB7M,KAAM6M,GAAS5J,EAAS4J,IAIxB7M,KAAK8R,KAAMjF,EAAO5J,EAAS4J,IAK9B,OAAO7M,KAYP,OARAoE,EAAOxE,EAASuN,eAAgBN,EAAO,OAKtC7M,KAAM,GAAMoE,EACZpE,KAAKqD,OAAS,GAERrD,KAcH,OAAKgD,EAASzB,UACpBvB,KAAM,GAAMgD,EACZhD,KAAKqD,OAAS,EACPrD,MAIIqB,EAAY2B,QACD6C,IAAfsP,EAAKwF,MACXxF,EAAKwF,MAAO3X,GAGZA,EAAUD,GAGLA,EAAO2D,UAAW1D,EAAUhD,QAIhCsD,UAAYP,EAAOG,GAGxBuX,EAAa1X,EAAQnD,GAGrB,IAAIgb,EAAe,iCAGlBC,EAAmB,CAClBC,UAAU,EACVC,UAAU,EACVzO,MAAM,EACN0O,MAAM,GAoFR,SAASC,EAASpM,EAAKxC,GACtB,OAAUwC,EAAMA,EAAKxC,KAA4B,IAAjBwC,EAAItN,UACpC,OAAOsN,EAnFR9L,EAAOG,GAAGgC,OAAQ,CACjB4P,IAAK,SAAUtP,GACd,IAAI0V,EAAUnY,EAAQyC,EAAQxF,MAC7Bmb,EAAID,EAAQ7X,OAEb,OAAOrD,KAAKqQ,OAAQ,WAEnB,IADA,IAAInO,EAAI,EACAA,EAAIiZ,EAAGjZ,IACd,GAAKa,EAAOyF,SAAUxI,KAAMkb,EAAShZ,IACpC,OAAO,KAMXkZ,QAAS,SAAU5I,EAAWvP,GAC7B,IAAI4L,EACH3M,EAAI,EACJiZ,EAAInb,KAAKqD,OACTqR,EAAU,GACVwG,EAA+B,iBAAd1I,GAA0BzP,EAAQyP,GAGpD,IAAM4H,EAAc5M,KAAMgF,GACzB,KAAQtQ,EAAIiZ,EAAGjZ,IACd,IAAM2M,EAAM7O,KAAMkC,GAAK2M,GAAOA,IAAQ5L,EAAS4L,EAAMA,EAAIlM,WAGxD,GAAKkM,EAAItN,SAAW,KAAQ2Z,GACH,EAAxBA,EAAQG,MAAOxM,GAGE,IAAjBA,EAAItN,UACHwB,EAAOwN,KAAKM,gBAAiBhC,EAAK2D,IAAgB,CAEnDkC,EAAQ9T,KAAMiO,GACd,MAMJ,OAAO7O,KAAK4D,UAA4B,EAAjB8Q,EAAQrR,OAAaN,EAAOkP,WAAYyC,GAAYA,IAI5E2G,MAAO,SAAUjX,GAGhB,OAAMA,EAKe,iBAATA,EACJvD,EAAQJ,KAAMsC,EAAQqB,GAAQpE,KAAM,IAIrCa,EAAQJ,KAAMT,KAGpBoE,EAAKb,OAASa,EAAM,GAAMA,GAZjBpE,KAAM,IAAOA,KAAM,GAAI2C,WAAe3C,KAAKsE,QAAQgX,UAAUjY,QAAU,GAgBlFkY,IAAK,SAAUvY,EAAUC,GACxB,OAAOjD,KAAK4D,UACXb,EAAOkP,WACNlP,EAAOgB,MAAO/D,KAAK0D,MAAOX,EAAQC,EAAUC,OAK/CuY,QAAS,SAAUxY,GAClB,OAAOhD,KAAKub,IAAiB,MAAZvY,EAChBhD,KAAKgE,WAAahE,KAAKgE,WAAWqM,OAAQrN,OAU7CD,EAAOkB,KAAM,CACZiQ,OAAQ,SAAU9P,GACjB,IAAI8P,EAAS9P,EAAKzB,WAClB,OAAOuR,GAA8B,KAApBA,EAAO3S,SAAkB2S,EAAS,MAEpDuH,QAAS,SAAUrX,GAClB,OAAOiI,EAAKjI,EAAM,eAEnBsX,aAAc,SAAUtX,EAAMmD,EAAIwS,GACjC,OAAO1N,EAAKjI,EAAM,aAAc2V,IAEjCzN,KAAM,SAAUlI,GACf,OAAO6W,EAAS7W,EAAM,gBAEvB4W,KAAM,SAAU5W,GACf,OAAO6W,EAAS7W,EAAM,oBAEvBuX,QAAS,SAAUvX,GAClB,OAAOiI,EAAKjI,EAAM,gBAEnBkX,QAAS,SAAUlX,GAClB,OAAOiI,EAAKjI,EAAM,oBAEnBwX,UAAW,SAAUxX,EAAMmD,EAAIwS,GAC9B,OAAO1N,EAAKjI,EAAM,cAAe2V,IAElC8B,UAAW,SAAUzX,EAAMmD,EAAIwS,GAC9B,OAAO1N,EAAKjI,EAAM,kBAAmB2V,IAEtCG,SAAU,SAAU9V,GACnB,OAAO8V,GAAY9V,EAAKzB,YAAc,IAAK2P,WAAYlO,IAExD0W,SAAU,SAAU1W,GACnB,OAAO8V,EAAU9V,EAAKkO,aAEvByI,SAAU,SAAU3W,GACnB,OAA6B,MAAxBA,EAAK0X,iBAKT3b,EAAUiE,EAAK0X,iBAER1X,EAAK0X,iBAMR1P,EAAUhI,EAAM,cACpBA,EAAOA,EAAK2X,SAAW3X,GAGjBrB,EAAOgB,MAAO,GAAIK,EAAKmI,eAE7B,SAAUnH,EAAMlC,GAClBH,EAAOG,GAAIkC,GAAS,SAAU2U,EAAO/W,GACpC,IAAI0R,EAAU3R,EAAOoB,IAAKnE,KAAMkD,EAAI6W,GAuBpC,MArB0B,UAArB3U,EAAK9E,OAAQ,KACjB0C,EAAW+W,GAGP/W,GAAgC,iBAAbA,IACvB0R,EAAU3R,EAAOsN,OAAQrN,EAAU0R,IAGjB,EAAd1U,KAAKqD,SAGHwX,EAAkBzV,IACvBrC,EAAOkP,WAAYyC,GAIfkG,EAAapN,KAAMpI,IACvBsP,EAAQsH,WAIHhc,KAAK4D,UAAW8Q,MAGzB,IAAIuH,EAAgB,oBAsOpB,SAASC,EAAUC,GAClB,OAAOA,EAER,SAASC,EAASC,GACjB,MAAMA,EAGP,SAASC,EAAYpV,EAAOqV,EAASC,EAAQC,GAC5C,IAAIC,EAEJ,IAGMxV,GAAS7F,EAAcqb,EAASxV,EAAMyV,SAC1CD,EAAOjc,KAAMyG,GAAQ0B,KAAM2T,GAAUK,KAAMJ,GAGhCtV,GAAS7F,EAAcqb,EAASxV,EAAM2V,MACjDH,EAAOjc,KAAMyG,EAAOqV,EAASC,GAQ7BD,EAAQ5b,WAAOkF,EAAW,CAAEqB,GAAQ5G,MAAOmc,IAM3C,MAAQvV,GAITsV,EAAO7b,WAAOkF,EAAW,CAAEqB,KAvO7BnE,EAAO+Z,UAAY,SAAU3X,GA9B7B,IAAwBA,EACnB4X,EAiCJ5X,EAA6B,iBAAZA,GAlCMA,EAmCPA,EAlCZ4X,EAAS,GACbha,EAAOkB,KAAMkB,EAAQ0H,MAAOoP,IAAmB,GAAI,SAAUe,EAAGC,GAC/DF,EAAQE,IAAS,IAEXF,GA+BNha,EAAOmC,OAAQ,GAAIC,GAEpB,IACC+X,EAGAC,EAGAC,EAGAC,EAGA9T,EAAO,GAGP+T,EAAQ,GAGRC,GAAe,EAGfC,EAAO,WAQN,IALAH,EAASA,GAAUlY,EAAQsY,KAI3BL,EAAQF,GAAS,EACTI,EAAMja,OAAQka,GAAe,EAAI,CACxCJ,EAASG,EAAMlP,QACf,QAAUmP,EAAchU,EAAKlG,QAGmC,IAA1DkG,EAAMgU,GAAc5c,MAAOwc,EAAQ,GAAKA,EAAQ,KACpDhY,EAAQuY,cAGRH,EAAchU,EAAKlG,OACnB8Z,GAAS,GAMNhY,EAAQgY,SACbA,GAAS,GAGVD,GAAS,EAGJG,IAIH9T,EADI4T,EACG,GAIA,KAMV3C,EAAO,CAGNe,IAAK,WA2BJ,OA1BKhS,IAGC4T,IAAWD,IACfK,EAAchU,EAAKlG,OAAS,EAC5Bia,EAAM1c,KAAMuc,IAGb,SAAW5B,EAAKhH,GACfxR,EAAOkB,KAAMsQ,EAAM,SAAUyI,EAAG/V,GAC1B5F,EAAY4F,GACV9B,EAAQyU,QAAWY,EAAK1F,IAAK7N,IAClCsC,EAAK3I,KAAMqG,GAEDA,GAAOA,EAAI5D,QAA4B,WAAlBR,EAAQoE,IAGxCsU,EAAKtU,KATR,CAYK5C,WAEA8Y,IAAWD,GACfM,KAGKxd,MAIR2d,OAAQ,WAYP,OAXA5a,EAAOkB,KAAMI,UAAW,SAAU2Y,EAAG/V,GACpC,IAAIoU,EACJ,OAA0D,GAAhDA,EAAQtY,EAAO6D,QAASK,EAAKsC,EAAM8R,IAC5C9R,EAAKtE,OAAQoW,EAAO,GAGfA,GAASkC,GACbA,MAIIvd,MAKR8U,IAAK,SAAU5R,GACd,OAAOA,GACwB,EAA9BH,EAAO6D,QAAS1D,EAAIqG,GACN,EAAdA,EAAKlG,QAIPwS,MAAO,WAIN,OAHKtM,IACJA,EAAO,IAEDvJ,MAMR4d,QAAS,WAGR,OAFAP,EAASC,EAAQ,GACjB/T,EAAO4T,EAAS,GACTnd,MAERmM,SAAU,WACT,OAAQ5C,GAMTsU,KAAM,WAKL,OAJAR,EAASC,EAAQ,GACXH,GAAWD,IAChB3T,EAAO4T,EAAS,IAEVnd,MAERqd,OAAQ,WACP,QAASA,GAIVS,SAAU,SAAU7a,EAASsR,GAS5B,OARM8I,IAEL9I,EAAO,CAAEtR,GADTsR,EAAOA,GAAQ,IACQjU,MAAQiU,EAAKjU,QAAUiU,GAC9C+I,EAAM1c,KAAM2T,GACN2I,GACLM,KAGKxd,MAIRwd,KAAM,WAEL,OADAhD,EAAKsD,SAAU9d,KAAMqE,WACdrE,MAIRod,MAAO,WACN,QAASA,IAIZ,OAAO5C,GA4CRzX,EAAOmC,OAAQ,CAEd6Y,SAAU,SAAUC,GACnB,IAAIC,EAAS,CAIX,CAAE,SAAU,WAAYlb,EAAO+Z,UAAW,UACzC/Z,EAAO+Z,UAAW,UAAY,GAC/B,CAAE,UAAW,OAAQ/Z,EAAO+Z,UAAW,eACtC/Z,EAAO+Z,UAAW,eAAiB,EAAG,YACvC,CAAE,SAAU,OAAQ/Z,EAAO+Z,UAAW,eACrC/Z,EAAO+Z,UAAW,eAAiB,EAAG,aAExCoB,EAAQ,UACRvB,EAAU,CACTuB,MAAO,WACN,OAAOA,GAERC,OAAQ,WAEP,OADAC,EAASxV,KAAMvE,WAAYuY,KAAMvY,WAC1BrE,MAERqe,QAAS,SAAUnb,GAClB,OAAOyZ,EAAQE,KAAM,KAAM3Z,IAI5Bob,KAAM,WACL,IAAIC,EAAMla,UAEV,OAAOtB,EAAOgb,SAAU,SAAUS,GACjCzb,EAAOkB,KAAMga,EAAQ,SAAU1W,EAAIkX,GAGlC,IAAIvb,EAAK7B,EAAYkd,EAAKE,EAAO,MAAWF,EAAKE,EAAO,IAKxDL,EAAUK,EAAO,IAAO,WACvB,IAAIC,EAAWxb,GAAMA,EAAGvC,MAAOX,KAAMqE,WAChCqa,GAAYrd,EAAYqd,EAAS/B,SACrC+B,EAAS/B,UACPgC,SAAUH,EAASI,QACnBhW,KAAM4V,EAASjC,SACfK,KAAM4B,EAAShC,QAEjBgC,EAAUC,EAAO,GAAM,QACtBze,KACAkD,EAAK,CAAEwb,GAAara,eAKxBka,EAAM,OACH5B,WAELE,KAAM,SAAUgC,EAAaC,EAAYC,GACxC,IAAIC,EAAW,EACf,SAASzC,EAAS0C,EAAOb,EAAU1P,EAASwQ,GAC3C,OAAO,WACN,IAAIC,EAAOnf,KACVuU,EAAOlQ,UACP+a,EAAa,WACZ,IAAIV,EAAU7B,EAKd,KAAKoC,EAAQD,GAAb,CAQA,IAJAN,EAAWhQ,EAAQ/N,MAAOwe,EAAM5K,MAId6J,EAASzB,UAC1B,MAAM,IAAI0C,UAAW,4BAOtBxC,EAAO6B,IAKgB,iBAAbA,GACY,mBAAbA,IACRA,EAAS7B,KAGLxb,EAAYwb,GAGXqC,EACJrC,EAAKpc,KACJie,EACAnC,EAASyC,EAAUZ,EAAUlC,EAAUgD,GACvC3C,EAASyC,EAAUZ,EAAUhC,EAAS8C,KAOvCF,IAEAnC,EAAKpc,KACJie,EACAnC,EAASyC,EAAUZ,EAAUlC,EAAUgD,GACvC3C,EAASyC,EAAUZ,EAAUhC,EAAS8C,GACtC3C,EAASyC,EAAUZ,EAAUlC,EAC5BkC,EAASkB,eASP5Q,IAAYwN,IAChBiD,OAAOtZ,EACP0O,EAAO,CAAEmK,KAKRQ,GAAWd,EAASmB,aAAeJ,EAAM5K,MAK7CiL,EAAUN,EACTE,EACA,WACC,IACCA,IACC,MAAQ5S,GAEJzJ,EAAOgb,SAAS0B,eACpB1c,EAAOgb,SAAS0B,cAAejT,EAC9BgT,EAAQE,YAMQV,GAAbC,EAAQ,IAIPvQ,IAAY0N,IAChB+C,OAAOtZ,EACP0O,EAAO,CAAE/H,IAGV4R,EAASuB,WAAYR,EAAM5K,MAS3B0K,EACJO,KAKKzc,EAAOgb,SAAS6B,eACpBJ,EAAQE,WAAa3c,EAAOgb,SAAS6B,gBAEtC7f,EAAO8f,WAAYL,KAKtB,OAAOzc,EAAOgb,SAAU,SAAUS,GAGjCP,EAAQ,GAAK,GAAI1C,IAChBgB,EACC,EACAiC,EACAnd,EAAY0d,GACXA,EACA7C,EACDsC,EAASc,aAKXrB,EAAQ,GAAK,GAAI1C,IAChBgB,EACC,EACAiC,EACAnd,EAAYwd,GACXA,EACA3C,IAKH+B,EAAQ,GAAK,GAAI1C,IAChBgB,EACC,EACAiC,EACAnd,EAAYyd,GACXA,EACA1C,MAGAO,WAKLA,QAAS,SAAUrb,GAClB,OAAc,MAAPA,EAAcyB,EAAOmC,OAAQ5D,EAAKqb,GAAYA,IAGvDyB,EAAW,GAkEZ,OA/DArb,EAAOkB,KAAMga,EAAQ,SAAU/b,EAAGuc,GACjC,IAAIlV,EAAOkV,EAAO,GACjBqB,EAAcrB,EAAO,GAKtB9B,EAAS8B,EAAO,IAAQlV,EAAKgS,IAGxBuE,GACJvW,EAAKgS,IACJ,WAIC2C,EAAQ4B,GAKT7B,EAAQ,EAAI/b,GAAK,GAAI0b,QAIrBK,EAAQ,EAAI/b,GAAK,GAAI0b,QAGrBK,EAAQ,GAAK,GAAIJ,KAGjBI,EAAQ,GAAK,GAAIJ,MAOnBtU,EAAKgS,IAAKkD,EAAO,GAAIjB,MAKrBY,EAAUK,EAAO,IAAQ,WAExB,OADAL,EAAUK,EAAO,GAAM,QAAUze,OAASoe,OAAWvY,EAAY7F,KAAMqE,WAChErE,MAMRoe,EAAUK,EAAO,GAAM,QAAWlV,EAAKuU,WAIxCnB,EAAQA,QAASyB,GAGZJ,GACJA,EAAKvd,KAAM2d,EAAUA,GAIfA,GAIR2B,KAAM,SAAUC,GACf,IAGCC,EAAY5b,UAAUhB,OAGtBnB,EAAI+d,EAGJC,EAAkBva,MAAOzD,GACzBie,EAAgB7f,EAAMG,KAAM4D,WAG5B+b,EAASrd,EAAOgb,WAGhBsC,EAAa,SAAUne,GACtB,OAAO,SAAUgF,GAChBgZ,EAAiBhe,GAAMlC,KACvBmgB,EAAeje,GAAyB,EAAnBmC,UAAUhB,OAAa/C,EAAMG,KAAM4D,WAAc6C,IAC5D+Y,GACTG,EAAOb,YAAaW,EAAiBC,KAMzC,GAAKF,GAAa,IACjB3D,EAAY0D,EAAaI,EAAOxX,KAAMyX,EAAYne,IAAMqa,QAAS6D,EAAO5D,QACtEyD,GAGsB,YAAnBG,EAAOlC,SACX7c,EAAY8e,EAAeje,IAAOie,EAAeje,GAAI2a,OAErD,OAAOuD,EAAOvD,OAKhB,MAAQ3a,IACPoa,EAAY6D,EAAeje,GAAKme,EAAYne,GAAKke,EAAO5D,QAGzD,OAAO4D,EAAOzD,aAOhB,IAAI2D,EAAc,yDAElBvd,EAAOgb,SAAS0B,cAAgB,SAAUtZ,EAAOoa,GAI3CxgB,EAAOygB,SAAWzgB,EAAOygB,QAAQC,MAAQta,GAASma,EAAY9S,KAAMrH,EAAMf,OAC9ErF,EAAOygB,QAAQC,KAAM,8BAAgCta,EAAMua,QAASva,EAAMoa,MAAOA,IAOnFxd,EAAO4d,eAAiB,SAAUxa,GACjCpG,EAAO8f,WAAY,WAClB,MAAM1Z,KAQR,IAAIya,EAAY7d,EAAOgb,WAkDvB,SAAS8C,IACRjhB,EAASkhB,oBAAqB,mBAAoBD,GAClD9gB,EAAO+gB,oBAAqB,OAAQD,GACpC9d,EAAO4X,QAnDR5X,EAAOG,GAAGyX,MAAQ,SAAUzX,GAY3B,OAVA0d,EACE/D,KAAM3Z,GAKNmb,SAAO,SAAUlY,GACjBpD,EAAO4d,eAAgBxa,KAGlBnG,MAGR+C,EAAOmC,OAAQ,CAGdgB,SAAS,EAIT6a,UAAW,EAGXpG,MAAO,SAAUqG,KAGF,IAATA,IAAkBje,EAAOge,UAAYhe,EAAOmD,WAKjDnD,EAAOmD,SAAU,KAGZ8a,GAAsC,IAAnBje,EAAOge,WAK/BH,EAAUrB,YAAa3f,EAAU,CAAEmD,OAIrCA,EAAO4X,MAAMkC,KAAO+D,EAAU/D,KAaD,aAAxBjd,EAASqhB,YACa,YAAxBrhB,EAASqhB,aAA6BrhB,EAAS8P,gBAAgBwR,SAGjEnhB,EAAO8f,WAAY9c,EAAO4X,QAK1B/a,EAASmQ,iBAAkB,mBAAoB8Q,GAG/C9gB,EAAOgQ,iBAAkB,OAAQ8Q,IAQlC,IAAIM,EAAS,SAAUtd,EAAOX,EAAIgL,EAAKhH,EAAOka,EAAWC,EAAUC,GAClE,IAAIpf,EAAI,EACP2C,EAAMhB,EAAMR,OACZke,EAAc,MAAPrT,EAGR,GAAuB,WAAlBrL,EAAQqL,GAEZ,IAAMhM,KADNkf,GAAY,EACDlT,EACViT,EAAQtd,EAAOX,EAAIhB,EAAGgM,EAAKhM,IAAK,EAAMmf,EAAUC,QAI3C,QAAezb,IAAVqB,IACXka,GAAY,EAEN/f,EAAY6F,KACjBoa,GAAM,GAGFC,IAGCD,GACJpe,EAAGzC,KAAMoD,EAAOqD,GAChBhE,EAAK,OAILqe,EAAOre,EACPA,EAAK,SAAUkB,EAAMod,EAAMta,GAC1B,OAAOqa,EAAK9gB,KAAMsC,EAAQqB,GAAQ8C,MAKhChE,GACJ,KAAQhB,EAAI2C,EAAK3C,IAChBgB,EACCW,EAAO3B,GAAKgM,EAAKoT,EACjBpa,EACAA,EAAMzG,KAAMoD,EAAO3B,GAAKA,EAAGgB,EAAIW,EAAO3B,GAAKgM,KAM/C,OAAKkT,EACGvd,EAIH0d,EACGre,EAAGzC,KAAMoD,GAGVgB,EAAM3B,EAAIW,EAAO,GAAKqK,GAAQmT,GAKlCI,EAAY,QACfC,EAAa,YAGd,SAASC,EAAYC,EAAMC,GAC1B,OAAOA,EAAOC,cAMf,SAASC,EAAWC,GACnB,OAAOA,EAAO/b,QAASwb,EAAW,OAAQxb,QAASyb,EAAYC,GAEhE,IAAIM,EAAa,SAAUC,GAQ1B,OAA0B,IAAnBA,EAAM3gB,UAAqC,IAAnB2gB,EAAM3gB,YAAsB2gB,EAAM3gB,UAMlE,SAAS4gB,IACRniB,KAAK8F,QAAU/C,EAAO+C,QAAUqc,EAAKC,MAGtCD,EAAKC,IAAM,EAEXD,EAAK7e,UAAY,CAEhB2K,MAAO,SAAUiU,GAGhB,IAAIhb,EAAQgb,EAAOliB,KAAK8F,SA4BxB,OAzBMoB,IACLA,EAAQ9G,OAAOiiB,OAAQ,MAKlBJ,EAAYC,KAIXA,EAAM3gB,SACV2gB,EAAOliB,KAAK8F,SAAYoB,EAMxB9G,OAAOkiB,eAAgBJ,EAAOliB,KAAK8F,QAAS,CAC3CoB,MAAOA,EACPqb,cAAc,MAMXrb,GAERsb,IAAK,SAAUN,EAAOO,EAAMvb,GAC3B,IAAIwb,EACHzU,EAAQjO,KAAKiO,MAAOiU,GAIrB,GAAqB,iBAATO,EACXxU,EAAO8T,EAAWU,IAAWvb,OAM7B,IAAMwb,KAAQD,EACbxU,EAAO8T,EAAWW,IAAWD,EAAMC,GAGrC,OAAOzU,GAERvK,IAAK,SAAUwe,EAAOhU,GACrB,YAAerI,IAARqI,EACNlO,KAAKiO,MAAOiU,GAGZA,EAAOliB,KAAK8F,UAAaoc,EAAOliB,KAAK8F,SAAWic,EAAW7T,KAE7DiT,OAAQ,SAAUe,EAAOhU,EAAKhH,GAa7B,YAAarB,IAARqI,GACCA,GAAsB,iBAARA,QAAgCrI,IAAVqB,EAElClH,KAAK0D,IAAKwe,EAAOhU,IASzBlO,KAAKwiB,IAAKN,EAAOhU,EAAKhH,QAILrB,IAAVqB,EAAsBA,EAAQgH,IAEtCyP,OAAQ,SAAUuE,EAAOhU,GACxB,IAAIhM,EACH+L,EAAQiU,EAAOliB,KAAK8F,SAErB,QAAeD,IAAVoI,EAAL,CAIA,QAAapI,IAARqI,EAAoB,CAkBxBhM,GAXCgM,EAJIvI,MAAMC,QAASsI,GAIbA,EAAI/J,IAAK4d,IAEf7T,EAAM6T,EAAW7T,MAIJD,EACZ,CAAEC,GACAA,EAAIrB,MAAOoP,IAAmB,IAG1B5Y,OAER,MAAQnB,WACA+L,EAAOC,EAAKhM,UAKR2D,IAARqI,GAAqBnL,EAAOyD,cAAeyH,MAM1CiU,EAAM3gB,SACV2gB,EAAOliB,KAAK8F,cAAYD,SAEjBqc,EAAOliB,KAAK8F,YAItB6c,QAAS,SAAUT,GAClB,IAAIjU,EAAQiU,EAAOliB,KAAK8F,SACxB,YAAiBD,IAAVoI,IAAwBlL,EAAOyD,cAAeyH,KAGvD,IAAI2U,EAAW,IAAIT,EAEfU,EAAW,IAAIV,EAcfW,EAAS,gCACZC,EAAa,SA2Bd,SAASC,EAAU5e,EAAM8J,EAAKuU,GAC7B,IAAIrd,EA1Baqd,EA8BjB,QAAc5c,IAAT4c,GAAwC,IAAlBre,EAAK7C,SAI/B,GAHA6D,EAAO,QAAU8I,EAAIjI,QAAS8c,EAAY,OAAQvb,cAG7B,iBAFrBib,EAAOre,EAAK7B,aAAc6C,IAEM,CAC/B,IACCqd,EAnCW,UADGA,EAoCEA,IA/BL,UAATA,IAIS,SAATA,EACG,KAIHA,KAAUA,EAAO,IACbA,EAGJK,EAAOtV,KAAMiV,GACVQ,KAAKC,MAAOT,GAGbA,GAeH,MAAQjW,IAGVqW,EAASL,IAAKpe,EAAM8J,EAAKuU,QAEzBA,OAAO5c,EAGT,OAAO4c,EAGR1f,EAAOmC,OAAQ,CACdyd,QAAS,SAAUve,GAClB,OAAOye,EAASF,QAASve,IAAUwe,EAASD,QAASve,IAGtDqe,KAAM,SAAUre,EAAMgB,EAAMqd,GAC3B,OAAOI,EAAS1B,OAAQ/c,EAAMgB,EAAMqd,IAGrCU,WAAY,SAAU/e,EAAMgB,GAC3Byd,EAASlF,OAAQvZ,EAAMgB,IAKxBge,MAAO,SAAUhf,EAAMgB,EAAMqd,GAC5B,OAAOG,EAASzB,OAAQ/c,EAAMgB,EAAMqd,IAGrCY,YAAa,SAAUjf,EAAMgB,GAC5Bwd,EAASjF,OAAQvZ,EAAMgB,MAIzBrC,EAAOG,GAAGgC,OAAQ,CACjBud,KAAM,SAAUvU,EAAKhH,GACpB,IAAIhF,EAAGkD,EAAMqd,EACZre,EAAOpE,KAAM,GACbyO,EAAQrK,GAAQA,EAAKuF,WAGtB,QAAa9D,IAARqI,EAAoB,CACxB,GAAKlO,KAAKqD,SACTof,EAAOI,EAASnf,IAAKU,GAEE,IAAlBA,EAAK7C,WAAmBqhB,EAASlf,IAAKU,EAAM,iBAAmB,CACnElC,EAAIuM,EAAMpL,OACV,MAAQnB,IAIFuM,EAAOvM,IAEsB,KADjCkD,EAAOqJ,EAAOvM,GAAIkD,MACRvE,QAAS,WAClBuE,EAAO2c,EAAW3c,EAAK9E,MAAO,IAC9B0iB,EAAU5e,EAAMgB,EAAMqd,EAAMrd,KAI/Bwd,EAASJ,IAAKpe,EAAM,gBAAgB,GAItC,OAAOqe,EAIR,MAAoB,iBAARvU,EACJlO,KAAKiE,KAAM,WACjB4e,EAASL,IAAKxiB,KAAMkO,KAIfiT,EAAQnhB,KAAM,SAAUkH,GAC9B,IAAIub,EAOJ,GAAKre,QAAkByB,IAAVqB,EAKZ,YAAcrB,KADd4c,EAAOI,EAASnf,IAAKU,EAAM8J,IAEnBuU,OAMM5c,KADd4c,EAAOO,EAAU5e,EAAM8J,IAEfuU,OAIR,EAIDziB,KAAKiE,KAAM,WAGV4e,EAASL,IAAKxiB,KAAMkO,EAAKhH,MAExB,KAAMA,EAA0B,EAAnB7C,UAAUhB,OAAY,MAAM,IAG7C8f,WAAY,SAAUjV,GACrB,OAAOlO,KAAKiE,KAAM,WACjB4e,EAASlF,OAAQ3d,KAAMkO,QAM1BnL,EAAOmC,OAAQ,CACdoY,MAAO,SAAUlZ,EAAM1C,EAAM+gB,GAC5B,IAAInF,EAEJ,GAAKlZ,EAYJ,OAXA1C,GAASA,GAAQ,MAAS,QAC1B4b,EAAQsF,EAASlf,IAAKU,EAAM1C,GAGvB+gB,KACEnF,GAAS3X,MAAMC,QAAS6c,GAC7BnF,EAAQsF,EAASzB,OAAQ/c,EAAM1C,EAAMqB,EAAO2D,UAAW+b,IAEvDnF,EAAM1c,KAAM6hB,IAGPnF,GAAS,IAIlBgG,QAAS,SAAUlf,EAAM1C,GACxBA,EAAOA,GAAQ,KAEf,IAAI4b,EAAQva,EAAOua,MAAOlZ,EAAM1C,GAC/B6hB,EAAcjG,EAAMja,OACpBH,EAAKoa,EAAMlP,QACXoV,EAAQzgB,EAAO0gB,YAAarf,EAAM1C,GAMvB,eAAPwB,IACJA,EAAKoa,EAAMlP,QACXmV,KAGIrgB,IAIU,OAATxB,GACJ4b,EAAM3L,QAAS,qBAIT6R,EAAME,KACbxgB,EAAGzC,KAAM2D,EApBF,WACNrB,EAAOugB,QAASlf,EAAM1C,IAmBF8hB,KAGhBD,GAAeC,GACpBA,EAAM3N,MAAM2H,QAKdiG,YAAa,SAAUrf,EAAM1C,GAC5B,IAAIwM,EAAMxM,EAAO,aACjB,OAAOkhB,EAASlf,IAAKU,EAAM8J,IAAS0U,EAASzB,OAAQ/c,EAAM8J,EAAK,CAC/D2H,MAAO9S,EAAO+Z,UAAW,eAAgBvB,IAAK,WAC7CqH,EAASjF,OAAQvZ,EAAM,CAAE1C,EAAO,QAASwM,WAM7CnL,EAAOG,GAAGgC,OAAQ,CACjBoY,MAAO,SAAU5b,EAAM+gB,GACtB,IAAIkB,EAAS,EAQb,MANqB,iBAATjiB,IACX+gB,EAAO/gB,EACPA,EAAO,KACPiiB,KAGItf,UAAUhB,OAASsgB,EAChB5gB,EAAOua,MAAOtd,KAAM,GAAK0B,QAGjBmE,IAAT4c,EACNziB,KACAA,KAAKiE,KAAM,WACV,IAAIqZ,EAAQva,EAAOua,MAAOtd,KAAM0B,EAAM+gB,GAGtC1f,EAAO0gB,YAAazjB,KAAM0B,GAEZ,OAATA,GAAgC,eAAf4b,EAAO,IAC5Bva,EAAOugB,QAAStjB,KAAM0B,MAI1B4hB,QAAS,SAAU5hB,GAClB,OAAO1B,KAAKiE,KAAM,WACjBlB,EAAOugB,QAAStjB,KAAM0B,MAGxBkiB,WAAY,SAAUliB,GACrB,OAAO1B,KAAKsd,MAAO5b,GAAQ,KAAM,KAKlCib,QAAS,SAAUjb,EAAMJ,GACxB,IAAIoP,EACHmT,EAAQ,EACRC,EAAQ/gB,EAAOgb,WACflM,EAAW7R,KACXkC,EAAIlC,KAAKqD,OACTkZ,EAAU,aACCsH,GACTC,EAAMvE,YAAa1N,EAAU,CAAEA,KAIb,iBAATnQ,IACXJ,EAAMI,EACNA,OAAOmE,GAERnE,EAAOA,GAAQ,KAEf,MAAQQ,KACPwO,EAAMkS,EAASlf,IAAKmO,EAAU3P,GAAKR,EAAO,gBAC9BgP,EAAImF,QACfgO,IACAnT,EAAImF,MAAM0F,IAAKgB,IAIjB,OADAA,IACOuH,EAAMnH,QAASrb,MAGxB,IAAIyiB,GAAO,sCAA0CC,OAEjDC,GAAU,IAAIna,OAAQ,iBAAmBia,GAAO,cAAe,KAG/DG,GAAY,CAAE,MAAO,QAAS,SAAU,QAExCxU,GAAkB9P,EAAS8P,gBAI1ByU,GAAa,SAAU/f,GACzB,OAAOrB,EAAOyF,SAAUpE,EAAK6I,cAAe7I,IAE7CggB,GAAW,CAAEA,UAAU,GAOnB1U,GAAgB2U,cACpBF,GAAa,SAAU/f,GACtB,OAAOrB,EAAOyF,SAAUpE,EAAK6I,cAAe7I,IAC3CA,EAAKigB,YAAaD,MAAehgB,EAAK6I,gBAG1C,IAAIqX,GAAqB,SAAUlgB,EAAMmK,GAOvC,MAA8B,UAH9BnK,EAAOmK,GAAMnK,GAGDmgB,MAAMC,SACM,KAAvBpgB,EAAKmgB,MAAMC,SAMXL,GAAY/f,IAEsB,SAAlCrB,EAAO0hB,IAAKrgB,EAAM,YAKrB,SAASsgB,GAAWtgB,EAAMse,EAAMiC,EAAYC,GAC3C,IAAIC,EAAUC,EACbC,EAAgB,GAChBC,EAAeJ,EACd,WACC,OAAOA,EAAM/V,OAEd,WACC,OAAO9L,EAAO0hB,IAAKrgB,EAAMse,EAAM,KAEjCuC,EAAUD,IACVE,EAAOP,GAAcA,EAAY,KAAS5hB,EAAOoiB,UAAWzC,GAAS,GAAK,MAG1E0C,EAAgBhhB,EAAK7C,WAClBwB,EAAOoiB,UAAWzC,IAAmB,OAATwC,IAAkBD,IAChDhB,GAAQ/W,KAAMnK,EAAO0hB,IAAKrgB,EAAMse,IAElC,GAAK0C,GAAiBA,EAAe,KAAQF,EAAO,CAInDD,GAAoB,EAGpBC,EAAOA,GAAQE,EAAe,GAG9BA,GAAiBH,GAAW,EAE5B,MAAQF,IAIPhiB,EAAOwhB,MAAOngB,EAAMse,EAAM0C,EAAgBF,IACnC,EAAIJ,IAAY,GAAMA,EAAQE,IAAiBC,GAAW,MAAW,IAC3EF,EAAgB,GAEjBK,GAAgCN,EAIjCM,GAAgC,EAChCriB,EAAOwhB,MAAOngB,EAAMse,EAAM0C,EAAgBF,GAG1CP,EAAaA,GAAc,GAgB5B,OAbKA,IACJS,GAAiBA,IAAkBH,GAAW,EAG9CJ,EAAWF,EAAY,GACtBS,GAAkBT,EAAY,GAAM,GAAMA,EAAY,IACrDA,EAAY,GACTC,IACJA,EAAMM,KAAOA,EACbN,EAAM3Q,MAAQmR,EACdR,EAAM7f,IAAM8f,IAGPA,EAIR,IAAIQ,GAAoB,GAyBxB,SAASC,GAAUzT,EAAU0T,GAO5B,IANA,IAAIf,EAASpgB,EAxBcA,EACvBuT,EACH1V,EACAmK,EACAoY,EAqBAgB,EAAS,GACTnK,EAAQ,EACRhY,EAASwO,EAASxO,OAGXgY,EAAQhY,EAAQgY,KACvBjX,EAAOyN,EAAUwJ,IACNkJ,QAIXC,EAAUpgB,EAAKmgB,MAAMC,QAChBe,GAKa,SAAZf,IACJgB,EAAQnK,GAAUuH,EAASlf,IAAKU,EAAM,YAAe,KAC/CohB,EAAQnK,KACbjX,EAAKmgB,MAAMC,QAAU,KAGK,KAAvBpgB,EAAKmgB,MAAMC,SAAkBF,GAAoBlgB,KACrDohB,EAAQnK,IA7CVmJ,EAFAviB,EADG0V,OAAAA,EACH1V,GAF0BmC,EAiDaA,GA/C5B6I,cACXb,EAAWhI,EAAKgI,UAChBoY,EAAUa,GAAmBjZ,MAM9BuL,EAAO1V,EAAIwjB,KAAK/iB,YAAaT,EAAII,cAAe+J,IAChDoY,EAAUzhB,EAAO0hB,IAAK9M,EAAM,WAE5BA,EAAKhV,WAAWC,YAAa+U,GAEZ,SAAZ6M,IACJA,EAAU,SAEXa,GAAmBjZ,GAAaoY,MAkCb,SAAZA,IACJgB,EAAQnK,GAAU,OAGlBuH,EAASJ,IAAKpe,EAAM,UAAWogB,KAMlC,IAAMnJ,EAAQ,EAAGA,EAAQhY,EAAQgY,IACR,MAAnBmK,EAAQnK,KACZxJ,EAAUwJ,GAAQkJ,MAAMC,QAAUgB,EAAQnK,IAI5C,OAAOxJ,EAGR9O,EAAOG,GAAGgC,OAAQ,CACjBqgB,KAAM,WACL,OAAOD,GAAUtlB,MAAM,IAExB0lB,KAAM,WACL,OAAOJ,GAAUtlB,OAElB2lB,OAAQ,SAAUzH,GACjB,MAAsB,kBAAVA,EACJA,EAAQle,KAAKulB,OAASvlB,KAAK0lB,OAG5B1lB,KAAKiE,KAAM,WACZqgB,GAAoBtkB,MACxB+C,EAAQ/C,MAAOulB,OAEfxiB,EAAQ/C,MAAO0lB,YAKnB,IAUEE,GACAjV,GAXEkV,GAAiB,wBAEjBC,GAAW,iCAEXC,GAAc,qCAMhBH,GADchmB,EAASomB,yBACRtjB,YAAa9C,EAASyC,cAAe,SACpDsO,GAAQ/Q,EAASyC,cAAe,UAM3BG,aAAc,OAAQ,SAC5BmO,GAAMnO,aAAc,UAAW,WAC/BmO,GAAMnO,aAAc,OAAQ,KAE5BojB,GAAIljB,YAAaiO,IAIjBvP,EAAQ6kB,WAAaL,GAAIM,WAAW,GAAOA,WAAW,GAAO9R,UAAUsB,QAIvEkQ,GAAIhV,UAAY,yBAChBxP,EAAQ+kB,iBAAmBP,GAAIM,WAAW,GAAO9R,UAAUuF,aAK3DiM,GAAIhV,UAAY,oBAChBxP,EAAQglB,SAAWR,GAAIxR,UAKxB,IAAIiS,GAAU,CAKbC,MAAO,CAAE,EAAG,UAAW,YACvBC,IAAK,CAAE,EAAG,oBAAqB,uBAC/BC,GAAI,CAAE,EAAG,iBAAkB,oBAC3BC,GAAI,CAAE,EAAG,qBAAsB,yBAE/BC,SAAU,CAAE,EAAG,GAAI,KAYpB,SAASC,GAAQ1jB,EAASwN,GAIzB,IAAI3M,EAYJ,OATCA,EAD4C,oBAAjCb,EAAQoK,qBACbpK,EAAQoK,qBAAsBoD,GAAO,KAEI,oBAA7BxN,EAAQ4K,iBACpB5K,EAAQ4K,iBAAkB4C,GAAO,KAGjC,QAGM5K,IAAR4K,GAAqBA,GAAOrE,EAAUnJ,EAASwN,GAC5C1N,EAAOgB,MAAO,CAAEd,GAAWa,GAG5BA,EAKR,SAAS8iB,GAAe/iB,EAAOgjB,GAI9B,IAHA,IAAI3kB,EAAI,EACPiZ,EAAItX,EAAMR,OAEHnB,EAAIiZ,EAAGjZ,IACd0gB,EAASJ,IACR3e,EAAO3B,GACP,cACC2kB,GAAejE,EAASlf,IAAKmjB,EAAa3kB,GAAK,eA1CnDmkB,GAAQS,MAAQT,GAAQU,MAAQV,GAAQW,SAAWX,GAAQY,QAAUZ,GAAQC,MAC7ED,GAAQa,GAAKb,GAAQI,GAGfrlB,EAAQglB,SACbC,GAAQc,SAAWd,GAAQD,OAAS,CAAE,EAAG,+BAAgC,cA2C1E,IAAItb,GAAQ,YAEZ,SAASsc,GAAevjB,EAAOZ,EAASokB,EAASC,EAAWC,GAO3D,IANA,IAAInjB,EAAMsM,EAAKD,EAAK+W,EAAMC,EAAU3iB,EACnC4iB,EAAWzkB,EAAQ+iB,yBACnB2B,EAAQ,GACRzlB,EAAI,EACJiZ,EAAItX,EAAMR,OAEHnB,EAAIiZ,EAAGjZ,IAGd,IAFAkC,EAAOP,EAAO3B,KAEQ,IAATkC,EAGZ,GAAwB,WAAnBvB,EAAQuB,GAIZrB,EAAOgB,MAAO4jB,EAAOvjB,EAAK7C,SAAW,CAAE6C,GAASA,QAG1C,GAAM0G,GAAM0C,KAAMpJ,GAIlB,CACNsM,EAAMA,GAAOgX,EAAShlB,YAAaO,EAAQZ,cAAe,QAG1DoO,GAAQqV,GAAS5Y,KAAM9I,IAAU,CAAE,GAAI,KAAQ,GAAIoD,cACnDggB,EAAOnB,GAAS5V,IAAS4V,GAAQK,SACjChW,EAAIE,UAAY4W,EAAM,GAAMzkB,EAAO6kB,cAAexjB,GAASojB,EAAM,GAGjE1iB,EAAI0iB,EAAM,GACV,MAAQ1iB,IACP4L,EAAMA,EAAI0D,UAKXrR,EAAOgB,MAAO4jB,EAAOjX,EAAInE,aAGzBmE,EAAMgX,EAASpV,YAGXD,YAAc,QAzBlBsV,EAAM/mB,KAAMqC,EAAQ4kB,eAAgBzjB,IA+BvCsjB,EAASrV,YAAc,GAEvBnQ,EAAI,EACJ,MAAUkC,EAAOujB,EAAOzlB,KAGvB,GAAKolB,IAAkD,EAArCvkB,EAAO6D,QAASxC,EAAMkjB,GAClCC,GACJA,EAAQ3mB,KAAMwD,QAgBhB,GAXAqjB,EAAWtD,GAAY/f,GAGvBsM,EAAMiW,GAAQe,EAAShlB,YAAa0B,GAAQ,UAGvCqjB,GACJb,GAAelW,GAIX2W,EAAU,CACdviB,EAAI,EACJ,MAAUV,EAAOsM,EAAK5L,KAChBihB,GAAYvY,KAAMpJ,EAAK1C,MAAQ,KACnC2lB,EAAQzmB,KAAMwD,GAMlB,OAAOsjB,EAIR,IACCI,GAAY,OACZC,GAAc,iDACdC,GAAiB,sBAElB,SAASC,KACR,OAAO,EAGR,SAASC,KACR,OAAO,EASR,SAASC,GAAY/jB,EAAM1C,GAC1B,OAAS0C,IAMV,WACC,IACC,OAAOxE,EAASyV,cACf,MAAQ+S,KATQC,KAAqC,UAAT3mB,GAY/C,SAAS4mB,GAAIlkB,EAAMmkB,EAAOvlB,EAAUyf,EAAMvf,EAAIslB,GAC7C,IAAIC,EAAQ/mB,EAGZ,GAAsB,iBAAV6mB,EAAqB,CAShC,IAAM7mB,IANmB,iBAAbsB,IAGXyf,EAAOA,GAAQzf,EACfA,OAAW6C,GAEE0iB,EACbD,GAAIlkB,EAAM1C,EAAMsB,EAAUyf,EAAM8F,EAAO7mB,GAAQ8mB,GAEhD,OAAOpkB,EAsBR,GAnBa,MAARqe,GAAsB,MAANvf,GAGpBA,EAAKF,EACLyf,EAAOzf,OAAW6C,GACD,MAAN3C,IACc,iBAAbF,GAGXE,EAAKuf,EACLA,OAAO5c,IAIP3C,EAAKuf,EACLA,EAAOzf,EACPA,OAAW6C,KAGD,IAAP3C,EACJA,EAAKglB,QACC,IAAMhlB,EACZ,OAAOkB,EAeR,OAZa,IAARokB,IACJC,EAASvlB,GACTA,EAAK,SAAUwlB,GAId,OADA3lB,IAAS4lB,IAAKD,GACPD,EAAO9nB,MAAOX,KAAMqE,aAIzB8C,KAAOshB,EAAOthB,OAAUshB,EAAOthB,KAAOpE,EAAOoE,SAE1C/C,EAAKH,KAAM,WACjBlB,EAAO2lB,MAAMnN,IAAKvb,KAAMuoB,EAAOrlB,EAAIuf,EAAMzf,KA+a3C,SAAS4lB,GAAgBra,EAAI7M,EAAMymB,GAG5BA,GAQNvF,EAASJ,IAAKjU,EAAI7M,GAAM,GACxBqB,EAAO2lB,MAAMnN,IAAKhN,EAAI7M,EAAM,CAC3B8N,WAAW,EACXd,QAAS,SAAUga,GAClB,IAAIG,EAAUvV,EACbwV,EAAQlG,EAASlf,IAAK1D,KAAM0B,GAE7B,GAAyB,EAAlBgnB,EAAMK,WAAmB/oB,KAAM0B,IAKrC,GAAMonB,EAAMzlB,QAiCEN,EAAO2lB,MAAMxJ,QAASxd,IAAU,IAAKsnB,cAClDN,EAAMO,uBAfN,GAdAH,EAAQxoB,EAAMG,KAAM4D,WACpBue,EAASJ,IAAKxiB,KAAM0B,EAAMonB,GAK1BD,EAAWV,EAAYnoB,KAAM0B,GAC7B1B,KAAM0B,KAEDonB,KADLxV,EAASsP,EAASlf,IAAK1D,KAAM0B,KACJmnB,EACxBjG,EAASJ,IAAKxiB,KAAM0B,GAAM,GAE1B4R,EAAS,GAELwV,IAAUxV,EAKd,OAFAoV,EAAMQ,2BACNR,EAAMS,iBACC7V,EAAOpM,WAeL4hB,EAAMzlB,SAGjBuf,EAASJ,IAAKxiB,KAAM0B,EAAM,CACzBwF,MAAOnE,EAAO2lB,MAAMU,QAInBrmB,EAAOmC,OAAQ4jB,EAAO,GAAK/lB,EAAOsmB,MAAM/lB,WACxCwlB,EAAMxoB,MAAO,GACbN,QAKF0oB,EAAMQ,qCAzE0BrjB,IAA7B+c,EAASlf,IAAK6K,EAAI7M,IACtBqB,EAAO2lB,MAAMnN,IAAKhN,EAAI7M,EAAMumB,IA5a/BllB,EAAO2lB,MAAQ,CAEdlpB,OAAQ,GAER+b,IAAK,SAAUnX,EAAMmkB,EAAO7Z,EAAS+T,EAAMzf,GAE1C,IAAIsmB,EAAaC,EAAa7Y,EAC7B8Y,EAAQC,EAAGC,EACXxK,EAASyK,EAAUjoB,EAAMkoB,EAAYC,EACrCC,EAAWlH,EAASlf,IAAKU,GAG1B,GAAM6d,EAAY7d,GAAlB,CAKKsK,EAAQA,UAEZA,GADA4a,EAAc5a,GACQA,QACtB1L,EAAWsmB,EAAYtmB,UAKnBA,GACJD,EAAOwN,KAAKM,gBAAiBnB,GAAiB1M,GAIzC0L,EAAQvH,OACbuH,EAAQvH,KAAOpE,EAAOoE,SAIfqiB,EAASM,EAASN,UACzBA,EAASM,EAASN,OAASppB,OAAOiiB,OAAQ,QAEnCkH,EAAcO,EAASC,UAC9BR,EAAcO,EAASC,OAAS,SAAUvd,GAIzC,MAAyB,oBAAXzJ,GAA0BA,EAAO2lB,MAAMsB,YAAcxd,EAAE9K,KACpEqB,EAAO2lB,MAAMuB,SAAStpB,MAAOyD,EAAMC,gBAAcwB,IAMpD4jB,GADAlB,GAAUA,GAAS,IAAK1b,MAAOoP,IAAmB,CAAE,KAC1C5Y,OACV,MAAQomB,IAEP/nB,EAAOmoB,GADPnZ,EAAMsX,GAAe9a,KAAMqb,EAAOkB,KAAS,IACpB,GACvBG,GAAelZ,EAAK,IAAO,IAAKpJ,MAAO,KAAMtC,OAGvCtD,IAKNwd,EAAUnc,EAAO2lB,MAAMxJ,QAASxd,IAAU,GAG1CA,GAASsB,EAAWkc,EAAQ8J,aAAe9J,EAAQgL,WAAcxoB,EAGjEwd,EAAUnc,EAAO2lB,MAAMxJ,QAASxd,IAAU,GAG1CgoB,EAAY3mB,EAAOmC,OAAQ,CAC1BxD,KAAMA,EACNmoB,SAAUA,EACVpH,KAAMA,EACN/T,QAASA,EACTvH,KAAMuH,EAAQvH,KACdnE,SAAUA,EACV6H,aAAc7H,GAAYD,EAAO6O,KAAK/E,MAAMhC,aAAa2C,KAAMxK,GAC/DwM,UAAWoa,EAAWhc,KAAM,MAC1B0b,IAGKK,EAAWH,EAAQ9nB,OAC1BioB,EAAWH,EAAQ9nB,GAAS,IACnByoB,cAAgB,EAGnBjL,EAAQkL,QACiD,IAA9DlL,EAAQkL,MAAM3pB,KAAM2D,EAAMqe,EAAMmH,EAAYL,IAEvCnlB,EAAK2L,kBACT3L,EAAK2L,iBAAkBrO,EAAM6nB,IAK3BrK,EAAQ3D,MACZ2D,EAAQ3D,IAAI9a,KAAM2D,EAAMslB,GAElBA,EAAUhb,QAAQvH,OACvBuiB,EAAUhb,QAAQvH,KAAOuH,EAAQvH,OAK9BnE,EACJ2mB,EAAS1kB,OAAQ0kB,EAASQ,gBAAiB,EAAGT,GAE9CC,EAAS/oB,KAAM8oB,GAIhB3mB,EAAO2lB,MAAMlpB,OAAQkC,IAAS,KAMhCic,OAAQ,SAAUvZ,EAAMmkB,EAAO7Z,EAAS1L,EAAUqnB,GAEjD,IAAIvlB,EAAGwlB,EAAW5Z,EACjB8Y,EAAQC,EAAGC,EACXxK,EAASyK,EAAUjoB,EAAMkoB,EAAYC,EACrCC,EAAWlH,EAASD,QAASve,IAAUwe,EAASlf,IAAKU,GAEtD,GAAM0lB,IAAeN,EAASM,EAASN,QAAvC,CAMAC,GADAlB,GAAUA,GAAS,IAAK1b,MAAOoP,IAAmB,CAAE,KAC1C5Y,OACV,MAAQomB,IAMP,GAJA/nB,EAAOmoB,GADPnZ,EAAMsX,GAAe9a,KAAMqb,EAAOkB,KAAS,IACpB,GACvBG,GAAelZ,EAAK,IAAO,IAAKpJ,MAAO,KAAMtC,OAGvCtD,EAAN,CAOAwd,EAAUnc,EAAO2lB,MAAMxJ,QAASxd,IAAU,GAE1CioB,EAAWH,EADX9nB,GAASsB,EAAWkc,EAAQ8J,aAAe9J,EAAQgL,WAAcxoB,IACpC,GAC7BgP,EAAMA,EAAK,IACV,IAAI5G,OAAQ,UAAY8f,EAAWhc,KAAM,iBAAoB,WAG9D0c,EAAYxlB,EAAI6kB,EAAStmB,OACzB,MAAQyB,IACP4kB,EAAYC,EAAU7kB,IAEfulB,GAAeR,IAAaH,EAAUG,UACzCnb,GAAWA,EAAQvH,OAASuiB,EAAUviB,MACtCuJ,IAAOA,EAAIlD,KAAMkc,EAAUla,YAC3BxM,GAAYA,IAAa0mB,EAAU1mB,WACxB,OAAbA,IAAqB0mB,EAAU1mB,YAChC2mB,EAAS1kB,OAAQH,EAAG,GAEf4kB,EAAU1mB,UACd2mB,EAASQ,gBAELjL,EAAQvB,QACZuB,EAAQvB,OAAOld,KAAM2D,EAAMslB,IAOzBY,IAAcX,EAAStmB,SACrB6b,EAAQqL,WACkD,IAA/DrL,EAAQqL,SAAS9pB,KAAM2D,EAAMwlB,EAAYE,EAASC,SAElDhnB,EAAOynB,YAAapmB,EAAM1C,EAAMooB,EAASC,eAGnCP,EAAQ9nB,SA1Cf,IAAMA,KAAQ8nB,EACbzmB,EAAO2lB,MAAM/K,OAAQvZ,EAAM1C,EAAO6mB,EAAOkB,GAAK/a,EAAS1L,GAAU,GA8C/DD,EAAOyD,cAAegjB,IAC1B5G,EAASjF,OAAQvZ,EAAM,mBAIzB6lB,SAAU,SAAUQ,GAEnB,IAAIvoB,EAAG4C,EAAGhB,EAAK4Q,EAASgV,EAAWgB,EAClCnW,EAAO,IAAI5O,MAAOtB,UAAUhB,QAG5BqlB,EAAQ3lB,EAAO2lB,MAAMiC,IAAKF,GAE1Bd,GACE/G,EAASlf,IAAK1D,KAAM,WAAcI,OAAOiiB,OAAQ,OAC/CqG,EAAMhnB,OAAU,GACpBwd,EAAUnc,EAAO2lB,MAAMxJ,QAASwJ,EAAMhnB,OAAU,GAKjD,IAFA6S,EAAM,GAAMmU,EAENxmB,EAAI,EAAGA,EAAImC,UAAUhB,OAAQnB,IAClCqS,EAAMrS,GAAMmC,UAAWnC,GAMxB,GAHAwmB,EAAMkC,eAAiB5qB,MAGlBkf,EAAQ2L,cAA2D,IAA5C3L,EAAQ2L,YAAYpqB,KAAMT,KAAM0oB,GAA5D,CAKAgC,EAAe3nB,EAAO2lB,MAAMiB,SAASlpB,KAAMT,KAAM0oB,EAAOiB,GAGxDznB,EAAI,EACJ,OAAUwS,EAAUgW,EAAcxoB,QAAYwmB,EAAMoC,uBAAyB,CAC5EpC,EAAMqC,cAAgBrW,EAAQtQ,KAE9BU,EAAI,EACJ,OAAU4kB,EAAYhV,EAAQiV,SAAU7kB,QACtC4jB,EAAMsC,gCAIDtC,EAAMuC,aAAsC,IAAxBvB,EAAUla,YACnCkZ,EAAMuC,WAAWzd,KAAMkc,EAAUla,aAEjCkZ,EAAMgB,UAAYA,EAClBhB,EAAMjG,KAAOiH,EAAUjH,UAKV5c,KAHb/B,IAAUf,EAAO2lB,MAAMxJ,QAASwK,EAAUG,WAAc,IAAKE,QAC5DL,EAAUhb,SAAU/N,MAAO+T,EAAQtQ,KAAMmQ,MAGT,KAAzBmU,EAAMpV,OAASxP,KACrB4kB,EAAMS,iBACNT,EAAMO,oBAYX,OAJK/J,EAAQgM,cACZhM,EAAQgM,aAAazqB,KAAMT,KAAM0oB,GAG3BA,EAAMpV,SAGdqW,SAAU,SAAUjB,EAAOiB,GAC1B,IAAIznB,EAAGwnB,EAAW1X,EAAKmZ,EAAiBC,EACvCV,EAAe,GACfP,EAAgBR,EAASQ,cACzBtb,EAAM6Z,EAAMljB,OAGb,GAAK2kB,GAIJtb,EAAItN,YAOc,UAAfmnB,EAAMhnB,MAAoC,GAAhBgnB,EAAM3S,QAEnC,KAAQlH,IAAQ7O,KAAM6O,EAAMA,EAAIlM,YAAc3C,KAI7C,GAAsB,IAAjB6O,EAAItN,WAAoC,UAAfmnB,EAAMhnB,OAAqC,IAAjBmN,EAAI1C,UAAsB,CAGjF,IAFAgf,EAAkB,GAClBC,EAAmB,GACblpB,EAAI,EAAGA,EAAIioB,EAAejoB,SAME2D,IAA5BulB,EAFLpZ,GAHA0X,EAAYC,EAAUznB,IAGNc,SAAW,OAG1BooB,EAAkBpZ,GAAQ0X,EAAU7e,cACC,EAApC9H,EAAQiP,EAAKhS,MAAOqb,MAAOxM,GAC3B9L,EAAOwN,KAAMyB,EAAKhS,KAAM,KAAM,CAAE6O,IAAQxL,QAErC+nB,EAAkBpZ,IACtBmZ,EAAgBvqB,KAAM8oB,GAGnByB,EAAgB9nB,QACpBqnB,EAAa9pB,KAAM,CAAEwD,KAAMyK,EAAK8a,SAAUwB,IAY9C,OALAtc,EAAM7O,KACDmqB,EAAgBR,EAAStmB,QAC7BqnB,EAAa9pB,KAAM,CAAEwD,KAAMyK,EAAK8a,SAAUA,EAASrpB,MAAO6pB,KAGpDO,GAGRW,QAAS,SAAUjmB,EAAMkmB,GACxBlrB,OAAOkiB,eAAgBvf,EAAOsmB,MAAM/lB,UAAW8B,EAAM,CACpDmmB,YAAY,EACZhJ,cAAc,EAEd7e,IAAKrC,EAAYiqB,GAChB,WACC,GAAKtrB,KAAKwrB,cACR,OAAOF,EAAMtrB,KAAKwrB,gBAGrB,WACC,GAAKxrB,KAAKwrB,cACR,OAAOxrB,KAAKwrB,cAAepmB,IAI/Bod,IAAK,SAAUtb,GACd9G,OAAOkiB,eAAgBtiB,KAAMoF,EAAM,CAClCmmB,YAAY,EACZhJ,cAAc,EACdkJ,UAAU,EACVvkB,MAAOA,QAMXyjB,IAAK,SAAUa,GACd,OAAOA,EAAezoB,EAAO+C,SAC5B0lB,EACA,IAAIzoB,EAAOsmB,MAAOmC,IAGpBtM,QAAS,CACRwM,KAAM,CAGLC,UAAU,GAEXC,MAAO,CAGNxB,MAAO,SAAU3H,GAIhB,IAAIlU,EAAKvO,MAAQyiB,EAWjB,OARKoD,GAAerY,KAAMe,EAAG7M,OAC5B6M,EAAGqd,OAASxf,EAAUmC,EAAI,UAG1Bqa,GAAgBra,EAAI,QAAS0Z,KAIvB,GAERmB,QAAS,SAAU3G,GAIlB,IAAIlU,EAAKvO,MAAQyiB,EAUjB,OAPKoD,GAAerY,KAAMe,EAAG7M,OAC5B6M,EAAGqd,OAASxf,EAAUmC,EAAI,UAE1Bqa,GAAgBra,EAAI,UAId,GAKRmY,SAAU,SAAUgC,GACnB,IAAIljB,EAASkjB,EAAMljB,OACnB,OAAOqgB,GAAerY,KAAMhI,EAAO9D,OAClC8D,EAAOomB,OAASxf,EAAU5G,EAAQ,UAClCod,EAASlf,IAAK8B,EAAQ,UACtB4G,EAAU5G,EAAQ,OAIrBqmB,aAAc,CACbX,aAAc,SAAUxC,QAID7iB,IAAjB6iB,EAAMpV,QAAwBoV,EAAM8C,gBACxC9C,EAAM8C,cAAcM,YAAcpD,EAAMpV,YA8F7CvQ,EAAOynB,YAAc,SAAUpmB,EAAM1C,EAAMqoB,GAGrC3lB,EAAK0c,qBACT1c,EAAK0c,oBAAqBpf,EAAMqoB,IAIlChnB,EAAOsmB,MAAQ,SAAU1nB,EAAKoqB,GAG7B,KAAQ/rB,gBAAgB+C,EAAOsmB,OAC9B,OAAO,IAAItmB,EAAOsmB,MAAO1nB,EAAKoqB,GAI1BpqB,GAAOA,EAAID,MACf1B,KAAKwrB,cAAgB7pB,EACrB3B,KAAK0B,KAAOC,EAAID,KAIhB1B,KAAKgsB,mBAAqBrqB,EAAIsqB,uBACHpmB,IAAzBlE,EAAIsqB,mBAGgB,IAApBtqB,EAAImqB,YACL7D,GACAC,GAKDloB,KAAKwF,OAAW7D,EAAI6D,QAAkC,IAAxB7D,EAAI6D,OAAOjE,SACxCI,EAAI6D,OAAO7C,WACXhB,EAAI6D,OAELxF,KAAK+qB,cAAgBppB,EAAIopB,cACzB/qB,KAAKksB,cAAgBvqB,EAAIuqB,eAIzBlsB,KAAK0B,KAAOC,EAIRoqB,GACJhpB,EAAOmC,OAAQlF,KAAM+rB,GAItB/rB,KAAKmsB,UAAYxqB,GAAOA,EAAIwqB,WAAa1jB,KAAK2jB,MAG9CpsB,KAAM+C,EAAO+C,UAAY,GAK1B/C,EAAOsmB,MAAM/lB,UAAY,CACxBE,YAAaT,EAAOsmB,MACpB2C,mBAAoB9D,GACpB4C,qBAAsB5C,GACtB8C,8BAA+B9C,GAC/BmE,aAAa,EAEblD,eAAgB,WACf,IAAI3c,EAAIxM,KAAKwrB,cAEbxrB,KAAKgsB,mBAAqB/D,GAErBzb,IAAMxM,KAAKqsB,aACf7f,EAAE2c,kBAGJF,gBAAiB,WAChB,IAAIzc,EAAIxM,KAAKwrB,cAEbxrB,KAAK8qB,qBAAuB7C,GAEvBzb,IAAMxM,KAAKqsB,aACf7f,EAAEyc,mBAGJC,yBAA0B,WACzB,IAAI1c,EAAIxM,KAAKwrB,cAEbxrB,KAAKgrB,8BAAgC/C,GAEhCzb,IAAMxM,KAAKqsB,aACf7f,EAAE0c,2BAGHlpB,KAAKipB,oBAKPlmB,EAAOkB,KAAM,CACZqoB,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRnrB,MAAM,EACNorB,UAAU,EACVjf,KAAK,EACLkf,SAAS,EACTrX,QAAQ,EACRsX,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,SAAS,EAETC,MAAO,SAAUvF,GAChB,IAAI3S,EAAS2S,EAAM3S,OAGnB,OAAoB,MAAf2S,EAAMuF,OAAiBnG,GAAUta,KAAMkb,EAAMhnB,MACxB,MAAlBgnB,EAAMyE,SAAmBzE,EAAMyE,SAAWzE,EAAM0E,SAIlD1E,EAAMuF,YAAoBpoB,IAAXkQ,GAAwBgS,GAAYva,KAAMkb,EAAMhnB,MACtD,EAATqU,EACG,EAGM,EAATA,EACG,EAGM,EAATA,EACG,EAGD,EAGD2S,EAAMuF,QAEZlrB,EAAO2lB,MAAM2C,SAEhBtoB,EAAOkB,KAAM,CAAEmR,MAAO,UAAW8Y,KAAM,YAAc,SAAUxsB,EAAMsnB,GACpEjmB,EAAO2lB,MAAMxJ,QAASxd,GAAS,CAG9B0oB,MAAO,WAQN,OAHAxB,GAAgB5oB,KAAM0B,EAAMymB,KAGrB,GAERiB,QAAS,WAMR,OAHAR,GAAgB5oB,KAAM0B,IAGf,GAGRsnB,aAAcA,KAYhBjmB,EAAOkB,KAAM,CACZkqB,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,cACZ,SAAUC,EAAM5D,GAClB5nB,EAAO2lB,MAAMxJ,QAASqP,GAAS,CAC9BvF,aAAc2B,EACdT,SAAUS,EAEVZ,OAAQ,SAAUrB,GACjB,IAAI5kB,EAEH0qB,EAAU9F,EAAMwD,cAChBxC,EAAYhB,EAAMgB,UASnB,OALM8E,IAAaA,IANTxuB,MAMgC+C,EAAOyF,SANvCxI,KAMyDwuB,MAClE9F,EAAMhnB,KAAOgoB,EAAUG,SACvB/lB,EAAM4lB,EAAUhb,QAAQ/N,MAAOX,KAAMqE,WACrCqkB,EAAMhnB,KAAOipB,GAEP7mB,MAKVf,EAAOG,GAAGgC,OAAQ,CAEjBojB,GAAI,SAAUC,EAAOvlB,EAAUyf,EAAMvf,GACpC,OAAOolB,GAAItoB,KAAMuoB,EAAOvlB,EAAUyf,EAAMvf,IAEzCslB,IAAK,SAAUD,EAAOvlB,EAAUyf,EAAMvf,GACrC,OAAOolB,GAAItoB,KAAMuoB,EAAOvlB,EAAUyf,EAAMvf,EAAI,IAE7CylB,IAAK,SAAUJ,EAAOvlB,EAAUE,GAC/B,IAAIwmB,EAAWhoB,EACf,GAAK6mB,GAASA,EAAMY,gBAAkBZ,EAAMmB,UAW3C,OARAA,EAAYnB,EAAMmB,UAClB3mB,EAAQwlB,EAAMqC,gBAAiBjC,IAC9Be,EAAUla,UACTka,EAAUG,SAAW,IAAMH,EAAUla,UACrCka,EAAUG,SACXH,EAAU1mB,SACV0mB,EAAUhb,SAEJ1O,KAER,GAAsB,iBAAVuoB,EAAqB,CAGhC,IAAM7mB,KAAQ6mB,EACbvoB,KAAK2oB,IAAKjnB,EAAMsB,EAAUulB,EAAO7mB,IAElC,OAAO1B,KAWR,OATkB,IAAbgD,GAA0C,mBAAbA,IAGjCE,EAAKF,EACLA,OAAW6C,IAEA,IAAP3C,IACJA,EAAKglB,IAECloB,KAAKiE,KAAM,WACjBlB,EAAO2lB,MAAM/K,OAAQ3d,KAAMuoB,EAAOrlB,EAAIF,QAMzC,IAKCyrB,GAAe,wBAGfC,GAAW,oCACXC,GAAe,2CAGhB,SAASC,GAAoBxqB,EAAM2X,GAClC,OAAK3P,EAAUhI,EAAM,UACpBgI,EAA+B,KAArB2P,EAAQxa,SAAkBwa,EAAUA,EAAQzJ,WAAY,OAE3DvP,EAAQqB,GAAO0W,SAAU,SAAW,IAGrC1W,EAIR,SAASyqB,GAAezqB,GAEvB,OADAA,EAAK1C,MAAyC,OAAhC0C,EAAK7B,aAAc,SAAsB,IAAM6B,EAAK1C,KAC3D0C,EAER,SAAS0qB,GAAe1qB,GAOvB,MAN2C,WAApCA,EAAK1C,MAAQ,IAAKpB,MAAO,EAAG,GAClC8D,EAAK1C,KAAO0C,EAAK1C,KAAKpB,MAAO,GAE7B8D,EAAK2J,gBAAiB,QAGhB3J,EAGR,SAAS2qB,GAAgBptB,EAAKqtB,GAC7B,IAAI9sB,EAAGiZ,EAAGzZ,EAAgButB,EAAUC,EAAU1F,EAE9C,GAAuB,IAAlBwF,EAAKztB,SAAV,CAKA,GAAKqhB,EAASD,QAAShhB,KAEtB6nB,EADW5G,EAASlf,IAAK/B,GACP6nB,QAKjB,IAAM9nB,KAFNkhB,EAASjF,OAAQqR,EAAM,iBAETxF,EACb,IAAMtnB,EAAI,EAAGiZ,EAAIqO,EAAQ9nB,GAAO2B,OAAQnB,EAAIiZ,EAAGjZ,IAC9Ca,EAAO2lB,MAAMnN,IAAKyT,EAAMttB,EAAM8nB,EAAQ9nB,GAAQQ,IAO7C2gB,EAASF,QAAShhB,KACtBstB,EAAWpM,EAAS1B,OAAQxf,GAC5ButB,EAAWnsB,EAAOmC,OAAQ,GAAI+pB,GAE9BpM,EAASL,IAAKwM,EAAME,KAkBtB,SAASC,GAAUC,EAAY7a,EAAMrQ,EAAUqjB,GAG9ChT,EAAOhU,EAAMgU,GAEb,IAAImT,EAAUpjB,EAAO+iB,EAASgI,EAAYrtB,EAAMC,EAC/CC,EAAI,EACJiZ,EAAIiU,EAAW/rB,OACfisB,EAAWnU,EAAI,EACfjU,EAAQqN,EAAM,GACdgb,EAAkBluB,EAAY6F,GAG/B,GAAKqoB,GACG,EAAJpU,GAA0B,iBAAVjU,IAChB9F,EAAQ6kB,YAAcyI,GAASlhB,KAAMtG,GACxC,OAAOkoB,EAAWnrB,KAAM,SAAUoX,GACjC,IAAIb,EAAO4U,EAAW7qB,GAAI8W,GACrBkU,IACJhb,EAAM,GAAMrN,EAAMzG,KAAMT,KAAMqb,EAAOb,EAAKgV,SAE3CL,GAAU3U,EAAMjG,EAAMrQ,EAAUqjB,KAIlC,GAAKpM,IAEJ7W,GADAojB,EAAWN,GAAe7S,EAAM6a,EAAY,GAAIniB,eAAe,EAAOmiB,EAAY7H,IACjEjV,WAEmB,IAA/BoV,EAASnb,WAAWlJ,SACxBqkB,EAAWpjB,GAIPA,GAASijB,GAAU,CAOvB,IALA8H,GADAhI,EAAUtkB,EAAOoB,IAAKwiB,GAAQe,EAAU,UAAYmH,KAC/BxrB,OAKbnB,EAAIiZ,EAAGjZ,IACdF,EAAO0lB,EAEFxlB,IAAMotB,IACVttB,EAAOe,EAAOwC,MAAOvD,GAAM,GAAM,GAG5BqtB,GAIJtsB,EAAOgB,MAAOsjB,EAASV,GAAQ3kB,EAAM,YAIvCkC,EAASzD,KAAM2uB,EAAYltB,GAAKF,EAAME,GAGvC,GAAKmtB,EAOJ,IANAptB,EAAMolB,EAASA,EAAQhkB,OAAS,GAAI4J,cAGpClK,EAAOoB,IAAKkjB,EAASyH,IAGf5sB,EAAI,EAAGA,EAAImtB,EAAYntB,IAC5BF,EAAOqlB,EAASnlB,GACX6jB,GAAYvY,KAAMxL,EAAKN,MAAQ,MAClCkhB,EAASzB,OAAQnf,EAAM,eACxBe,EAAOyF,SAAUvG,EAAKD,KAEjBA,EAAKL,KAA8C,YAArCK,EAAKN,MAAQ,IAAK8F,cAG/BzE,EAAO0sB,WAAaztB,EAAKH,UAC7BkB,EAAO0sB,SAAUztB,EAAKL,IAAK,CAC1BC,MAAOI,EAAKJ,OAASI,EAAKO,aAAc,UACtCN,GAGJH,EAASE,EAAKqQ,YAAYpM,QAAS0oB,GAAc,IAAM3sB,EAAMC,IAQnE,OAAOmtB,EAGR,SAASzR,GAAQvZ,EAAMpB,EAAU0sB,GAKhC,IAJA,IAAI1tB,EACH2lB,EAAQ3kB,EAAWD,EAAOsN,OAAQrN,EAAUoB,GAASA,EACrDlC,EAAI,EAE4B,OAAvBF,EAAO2lB,EAAOzlB,IAAeA,IAChCwtB,GAA8B,IAAlB1tB,EAAKT,UACtBwB,EAAO4sB,UAAWhJ,GAAQ3kB,IAGtBA,EAAKW,aACJ+sB,GAAYvL,GAAYniB,IAC5B4kB,GAAeD,GAAQ3kB,EAAM,WAE9BA,EAAKW,WAAWC,YAAaZ,IAI/B,OAAOoC,EAGRrB,EAAOmC,OAAQ,CACd0iB,cAAe,SAAU4H,GACxB,OAAOA,GAGRjqB,MAAO,SAAUnB,EAAMwrB,EAAeC,GACrC,IAAI3tB,EAAGiZ,EAAG2U,EAAaC,EApINpuB,EAAKqtB,EACnB5iB,EAoIF7G,EAAQnB,EAAK8hB,WAAW,GACxB8J,EAAS7L,GAAY/f,GAGtB,KAAMhD,EAAQ+kB,gBAAsC,IAAlB/hB,EAAK7C,UAAoC,KAAlB6C,EAAK7C,UAC3DwB,EAAO8W,SAAUzV,IAMnB,IAHA2rB,EAAepJ,GAAQphB,GAGjBrD,EAAI,EAAGiZ,GAFb2U,EAAcnJ,GAAQviB,IAEOf,OAAQnB,EAAIiZ,EAAGjZ,IAhJ5BP,EAiJLmuB,EAAa5tB,GAjJH8sB,EAiJQe,EAAc7tB,QAhJzCkK,EAGc,WAHdA,EAAW4iB,EAAK5iB,SAAS5E,gBAGAqe,GAAerY,KAAM7L,EAAID,MACrDstB,EAAKtZ,QAAU/T,EAAI+T,QAGK,UAAbtJ,GAAqC,aAAbA,IACnC4iB,EAAKrV,aAAehY,EAAIgY,cA6IxB,GAAKiW,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAenJ,GAAQviB,GACrC2rB,EAAeA,GAAgBpJ,GAAQphB,GAEjCrD,EAAI,EAAGiZ,EAAI2U,EAAYzsB,OAAQnB,EAAIiZ,EAAGjZ,IAC3C6sB,GAAgBe,EAAa5tB,GAAK6tB,EAAc7tB,SAGjD6sB,GAAgB3qB,EAAMmB,GAWxB,OAL2B,GAD3BwqB,EAAepJ,GAAQphB,EAAO,WACZlC,QACjBujB,GAAemJ,GAAeC,GAAUrJ,GAAQviB,EAAM,WAIhDmB,GAGRoqB,UAAW,SAAU9rB,GAKpB,IAJA,IAAI4e,EAAMre,EAAM1C,EACfwd,EAAUnc,EAAO2lB,MAAMxJ,QACvBhd,EAAI,OAE6B2D,KAAxBzB,EAAOP,EAAO3B,IAAqBA,IAC5C,GAAK+f,EAAY7d,GAAS,CACzB,GAAOqe,EAAOre,EAAMwe,EAAS9c,SAAc,CAC1C,GAAK2c,EAAK+G,OACT,IAAM9nB,KAAQ+gB,EAAK+G,OACbtK,EAASxd,GACbqB,EAAO2lB,MAAM/K,OAAQvZ,EAAM1C,GAI3BqB,EAAOynB,YAAapmB,EAAM1C,EAAM+gB,EAAKsH,QAOxC3lB,EAAMwe,EAAS9c,cAAYD,EAEvBzB,EAAMye,EAAS/c,WAInB1B,EAAMye,EAAS/c,cAAYD,OAOhC9C,EAAOG,GAAGgC,OAAQ,CACjB+qB,OAAQ,SAAUjtB,GACjB,OAAO2a,GAAQ3d,KAAMgD,GAAU,IAGhC2a,OAAQ,SAAU3a,GACjB,OAAO2a,GAAQ3d,KAAMgD,IAGtBV,KAAM,SAAU4E,GACf,OAAOia,EAAQnhB,KAAM,SAAUkH,GAC9B,YAAiBrB,IAAVqB,EACNnE,EAAOT,KAAMtC,MACbA,KAAK6V,QAAQ5R,KAAM,WACK,IAAlBjE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,WACxDvB,KAAKqS,YAAcnL,MAGpB,KAAMA,EAAO7C,UAAUhB,SAG3B6sB,OAAQ,WACP,OAAOf,GAAUnvB,KAAMqE,UAAW,SAAUD,GACpB,IAAlBpE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,UAC3CqtB,GAAoB5uB,KAAMoE,GAChC1B,YAAa0B,MAKvB+rB,QAAS,WACR,OAAOhB,GAAUnvB,KAAMqE,UAAW,SAAUD,GAC3C,GAAuB,IAAlBpE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,SAAiB,CACzE,IAAIiE,EAASopB,GAAoB5uB,KAAMoE,GACvCoB,EAAO4qB,aAAchsB,EAAMoB,EAAO8M,gBAKrC+d,OAAQ,WACP,OAAOlB,GAAUnvB,KAAMqE,UAAW,SAAUD,GACtCpE,KAAK2C,YACT3C,KAAK2C,WAAWytB,aAAchsB,EAAMpE,SAKvCswB,MAAO,WACN,OAAOnB,GAAUnvB,KAAMqE,UAAW,SAAUD,GACtCpE,KAAK2C,YACT3C,KAAK2C,WAAWytB,aAAchsB,EAAMpE,KAAKgP,gBAK5C6G,MAAO,WAIN,IAHA,IAAIzR,EACHlC,EAAI,EAE2B,OAAtBkC,EAAOpE,KAAMkC,IAAeA,IACd,IAAlBkC,EAAK7C,WAGTwB,EAAO4sB,UAAWhJ,GAAQviB,GAAM,IAGhCA,EAAKiO,YAAc,IAIrB,OAAOrS,MAGRuF,MAAO,SAAUqqB,EAAeC,GAI/B,OAHAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzD7vB,KAAKmE,IAAK,WAChB,OAAOpB,EAAOwC,MAAOvF,KAAM4vB,EAAeC,MAI5CL,KAAM,SAAUtoB,GACf,OAAOia,EAAQnhB,KAAM,SAAUkH,GAC9B,IAAI9C,EAAOpE,KAAM,IAAO,GACvBkC,EAAI,EACJiZ,EAAInb,KAAKqD,OAEV,QAAewC,IAAVqB,GAAyC,IAAlB9C,EAAK7C,SAChC,OAAO6C,EAAKwM,UAIb,GAAsB,iBAAV1J,IAAuBunB,GAAajhB,KAAMtG,KACpDmf,IAAWP,GAAS5Y,KAAMhG,IAAW,CAAE,GAAI,KAAQ,GAAIM,eAAkB,CAE1EN,EAAQnE,EAAO6kB,cAAe1gB,GAE9B,IACC,KAAQhF,EAAIiZ,EAAGjZ,IAIS,KAHvBkC,EAAOpE,KAAMkC,IAAO,IAGVX,WACTwB,EAAO4sB,UAAWhJ,GAAQviB,GAAM,IAChCA,EAAKwM,UAAY1J,GAInB9C,EAAO,EAGN,MAAQoI,KAGNpI,GACJpE,KAAK6V,QAAQqa,OAAQhpB,IAEpB,KAAMA,EAAO7C,UAAUhB,SAG3BktB,YAAa,WACZ,IAAIhJ,EAAU,GAGd,OAAO4H,GAAUnvB,KAAMqE,UAAW,SAAUD,GAC3C,IAAI8P,EAASlU,KAAK2C,WAEbI,EAAO6D,QAAS5G,KAAMunB,GAAY,IACtCxkB,EAAO4sB,UAAWhJ,GAAQ3mB,OACrBkU,GACJA,EAAOsc,aAAcpsB,EAAMpE,QAK3BunB,MAILxkB,EAAOkB,KAAM,CACZwsB,SAAU,SACVC,UAAW,UACXN,aAAc,SACdO,YAAa,QACbC,WAAY,eACV,SAAUxrB,EAAMyrB,GAClB9tB,EAAOG,GAAIkC,GAAS,SAAUpC,GAO7B,IANA,IAAIa,EACHC,EAAM,GACNgtB,EAAS/tB,EAAQC,GACjBwB,EAAOssB,EAAOztB,OAAS,EACvBnB,EAAI,EAEGA,GAAKsC,EAAMtC,IAClB2B,EAAQ3B,IAAMsC,EAAOxE,KAAOA,KAAKuF,OAAO,GACxCxC,EAAQ+tB,EAAQ5uB,IAAO2uB,GAAYhtB,GAInCjD,EAAKD,MAAOmD,EAAKD,EAAMH,OAGxB,OAAO1D,KAAK4D,UAAWE,MAGzB,IAAIitB,GAAY,IAAIjnB,OAAQ,KAAOia,GAAO,kBAAmB,KAEzDiN,GAAY,SAAU5sB,GAKxB,IAAI6oB,EAAO7oB,EAAK6I,cAAc4C,YAM9B,OAJMod,GAASA,EAAKgE,SACnBhE,EAAOltB,GAGDktB,EAAKiE,iBAAkB9sB,IAG5B+sB,GAAO,SAAU/sB,EAAMe,EAASjB,GACnC,IAAIJ,EAAKsB,EACRgsB,EAAM,GAGP,IAAMhsB,KAAQD,EACbisB,EAAKhsB,GAAShB,EAAKmgB,MAAOnf,GAC1BhB,EAAKmgB,MAAOnf,GAASD,EAASC,GAM/B,IAAMA,KAHNtB,EAAMI,EAASzD,KAAM2D,GAGPe,EACbf,EAAKmgB,MAAOnf,GAASgsB,EAAKhsB,GAG3B,OAAOtB,GAIJutB,GAAY,IAAIvnB,OAAQoa,GAAUtW,KAAM,KAAO,KA8HnD,SAAS0jB,GAAQltB,EAAMgB,EAAMmsB,GAC5B,IAAIC,EAAOC,EAAUC,EAAU5tB,EAM9BygB,EAAQngB,EAAKmgB,MAqCd,OAnCAgN,EAAWA,GAAYP,GAAW5sB,MAQpB,MAFbN,EAAMytB,EAASI,iBAAkBvsB,IAAUmsB,EAAUnsB,KAEjC+e,GAAY/f,KAC/BN,EAAMf,EAAOwhB,MAAOngB,EAAMgB,KAQrBhE,EAAQwwB,kBAAoBb,GAAUvjB,KAAM1J,IAASutB,GAAU7jB,KAAMpI,KAG1EosB,EAAQjN,EAAMiN,MACdC,EAAWlN,EAAMkN,SACjBC,EAAWnN,EAAMmN,SAGjBnN,EAAMkN,SAAWlN,EAAMmN,SAAWnN,EAAMiN,MAAQ1tB,EAChDA,EAAMytB,EAASC,MAGfjN,EAAMiN,MAAQA,EACdjN,EAAMkN,SAAWA,EACjBlN,EAAMmN,SAAWA,SAIJ7rB,IAAR/B,EAINA,EAAM,GACNA,EAIF,SAAS+tB,GAAcC,EAAaC,GAGnC,MAAO,CACNruB,IAAK,WACJ,IAAKouB,IASL,OAAS9xB,KAAK0D,IAAMquB,GAASpxB,MAAOX,KAAMqE,kBALlCrE,KAAK0D,OAxLhB,WAIC,SAASsuB,IAGR,GAAMpM,EAAN,CAIAqM,EAAU1N,MAAM2N,QAAU,+EAE1BtM,EAAIrB,MAAM2N,QACT,4HAGDxiB,GAAgBhN,YAAauvB,GAAYvvB,YAAakjB,GAEtD,IAAIuM,EAAWpyB,EAAOmxB,iBAAkBtL,GACxCwM,EAAoC,OAAjBD,EAASriB,IAG5BuiB,EAAsE,KAA9CC,EAAoBH,EAASI,YAIrD3M,EAAIrB,MAAMiO,MAAQ,MAClBC,EAA6D,KAAzCH,EAAoBH,EAASK,OAIjDE,EAAgE,KAAzCJ,EAAoBH,EAASX,OAMpD5L,EAAIrB,MAAMoO,SAAW,WACrBC,EAAiE,KAA9CN,EAAoB1M,EAAIiN,YAAc,GAEzDnjB,GAAgB9M,YAAaqvB,GAI7BrM,EAAM,MAGP,SAAS0M,EAAoBQ,GAC5B,OAAO/sB,KAAKgtB,MAAOC,WAAYF,IAGhC,IAAIV,EAAkBM,EAAsBE,EAAkBH,EAC7DQ,EAAyBZ,EACzBJ,EAAYryB,EAASyC,cAAe,OACpCujB,EAAMhmB,EAASyC,cAAe,OAGzBujB,EAAIrB,QAMVqB,EAAIrB,MAAM2O,eAAiB,cAC3BtN,EAAIM,WAAW,GAAO3B,MAAM2O,eAAiB,GAC7C9xB,EAAQ+xB,gBAA+C,gBAA7BvN,EAAIrB,MAAM2O,eAEpCnwB,EAAOmC,OAAQ9D,EAAS,CACvBgyB,kBAAmB,WAElB,OADApB,IACOU,GAERd,eAAgB,WAEf,OADAI,IACOS,GAERY,cAAe,WAEd,OADArB,IACOI,GAERkB,mBAAoB,WAEnB,OADAtB,IACOK,GAERkB,cAAe,WAEd,OADAvB,IACOY,GAQRY,qBAAsB,WACrB,IAAIC,EAAOjN,EAAIkN,EAASC,EAoBxB,OAnBgC,MAA3BV,IACJQ,EAAQ7zB,EAASyC,cAAe,SAChCmkB,EAAK5mB,EAASyC,cAAe,MAC7BqxB,EAAU9zB,EAASyC,cAAe,OAElCoxB,EAAMlP,MAAM2N,QAAU,kCACtB1L,EAAGjC,MAAMqP,OAAS,MAClBF,EAAQnP,MAAMqP,OAAS,MAEvBlkB,GACEhN,YAAa+wB,GACb/wB,YAAa8jB,GACb9jB,YAAagxB,GAEfC,EAAU5zB,EAAOmxB,iBAAkB1K,GACnCyM,EAAuD,EAA7BY,SAAUF,EAAQC,QAE5ClkB,GAAgB9M,YAAa6wB,IAEvBR,MApHV,GAmMA,IAAIa,GAAc,CAAE,SAAU,MAAO,MACpCC,GAAan0B,EAASyC,cAAe,OAAQkiB,MAC7CyP,GAAc,GAkBf,SAASC,GAAe7uB,GACvB,IAAI8uB,EAAQnxB,EAAOoxB,SAAU/uB,IAAU4uB,GAAa5uB,GAEpD,OAAK8uB,IAGA9uB,KAAQ2uB,GACL3uB,EAED4uB,GAAa5uB,GAxBrB,SAAyBA,GAGxB,IAAIgvB,EAAUhvB,EAAM,GAAI0c,cAAgB1c,EAAK9E,MAAO,GACnD4B,EAAI4xB,GAAYzwB,OAEjB,MAAQnB,IAEP,IADAkD,EAAO0uB,GAAa5xB,GAAMkyB,KACbL,GACZ,OAAO3uB,EAeoBivB,CAAgBjvB,IAAUA,GAIxD,IAKCkvB,GAAe,4BACfC,GAAc,MACdC,GAAU,CAAE7B,SAAU,WAAY8B,WAAY,SAAUjQ,QAAS,SACjEkQ,GAAqB,CACpBC,cAAe,IACfC,WAAY,OAGd,SAASC,GAAmBlwB,EAAOuC,EAAO4tB,GAIzC,IAAI/tB,EAAUkd,GAAQ/W,KAAMhG,GAC5B,OAAOH,EAGNhB,KAAKgvB,IAAK,EAAGhuB,EAAS,IAAQ+tB,GAAY,KAAU/tB,EAAS,IAAO,MACpEG,EAGF,SAAS8tB,GAAoB5wB,EAAM6wB,EAAWC,EAAKC,EAAaC,EAAQC,GACvE,IAAInzB,EAAkB,UAAd+yB,EAAwB,EAAI,EACnCK,EAAQ,EACRC,EAAQ,EAGT,GAAKL,KAAUC,EAAc,SAAW,WACvC,OAAO,EAGR,KAAQjzB,EAAI,EAAGA,GAAK,EAGN,WAARgzB,IACJK,GAASxyB,EAAO0hB,IAAKrgB,EAAM8wB,EAAMhR,GAAWhiB,IAAK,EAAMkzB,IAIlDD,GAmBQ,YAARD,IACJK,GAASxyB,EAAO0hB,IAAKrgB,EAAM,UAAY8f,GAAWhiB,IAAK,EAAMkzB,IAIjD,WAARF,IACJK,GAASxyB,EAAO0hB,IAAKrgB,EAAM,SAAW8f,GAAWhiB,GAAM,SAAS,EAAMkzB,MAtBvEG,GAASxyB,EAAO0hB,IAAKrgB,EAAM,UAAY8f,GAAWhiB,IAAK,EAAMkzB,GAGhD,YAARF,EACJK,GAASxyB,EAAO0hB,IAAKrgB,EAAM,SAAW8f,GAAWhiB,GAAM,SAAS,EAAMkzB,GAItEE,GAASvyB,EAAO0hB,IAAKrgB,EAAM,SAAW8f,GAAWhiB,GAAM,SAAS,EAAMkzB,IAoCzE,OAhBMD,GAA8B,GAAfE,IAIpBE,GAASxvB,KAAKgvB,IAAK,EAAGhvB,KAAKyvB,KAC1BpxB,EAAM,SAAW6wB,EAAW,GAAInT,cAAgBmT,EAAU30B,MAAO,IACjE+0B,EACAE,EACAD,EACA,MAIM,GAGDC,EAGR,SAASE,GAAkBrxB,EAAM6wB,EAAWK,GAG3C,IAAIF,EAASpE,GAAW5sB,GAKvB+wB,IADmB/zB,EAAQgyB,qBAAuBkC,IAEE,eAAnDvyB,EAAO0hB,IAAKrgB,EAAM,aAAa,EAAOgxB,GACvCM,EAAmBP,EAEnBhzB,EAAMmvB,GAAQltB,EAAM6wB,EAAWG,GAC/BO,EAAa,SAAWV,EAAW,GAAInT,cAAgBmT,EAAU30B,MAAO,GAIzE,GAAKywB,GAAUvjB,KAAMrL,GAAQ,CAC5B,IAAMmzB,EACL,OAAOnzB,EAERA,EAAM,OAyCP,QAlCQf,EAAQgyB,qBAAuB+B,IAMrC/zB,EAAQoyB,wBAA0BpnB,EAAUhI,EAAM,OAI3C,SAARjC,IAIC6wB,WAAY7wB,IAA0D,WAAjDY,EAAO0hB,IAAKrgB,EAAM,WAAW,EAAOgxB,KAG1DhxB,EAAKwxB,iBAAiBvyB,SAEtB8xB,EAAiE,eAAnDpyB,EAAO0hB,IAAKrgB,EAAM,aAAa,EAAOgxB,IAKpDM,EAAmBC,KAAcvxB,KAEhCjC,EAAMiC,EAAMuxB,MAKdxzB,EAAM6wB,WAAY7wB,IAAS,GAI1B6yB,GACC5wB,EACA6wB,EACAK,IAAWH,EAAc,SAAW,WACpCO,EACAN,EAGAjzB,GAEE,KA+SL,SAAS0zB,GAAOzxB,EAAMe,EAASud,EAAM3d,EAAK+wB,GACzC,OAAO,IAAID,GAAMvyB,UAAUH,KAAMiB,EAAMe,EAASud,EAAM3d,EAAK+wB,GA7S5D/yB,EAAOmC,OAAQ,CAId6wB,SAAU,CACTC,QAAS,CACRtyB,IAAK,SAAUU,EAAMmtB,GACpB,GAAKA,EAAW,CAGf,IAAIztB,EAAMwtB,GAAQltB,EAAM,WACxB,MAAe,KAARN,EAAa,IAAMA,MAO9BqhB,UAAW,CACV8Q,yBAA2B,EAC3BC,aAAe,EACfC,aAAe,EACfC,UAAY,EACZC,YAAc,EACdzB,YAAc,EACd0B,UAAY,EACZC,YAAc,EACdC,eAAiB,EACjBC,iBAAmB,EACnBC,SAAW,EACXC,YAAc,EACdC,cAAgB,EAChBC,YAAc,EACdb,SAAW,EACXc,OAAS,EACTC,SAAW,EACXC,QAAU,EACVC,QAAU,EACVC,MAAQ,GAKT/C,SAAU,GAGV5P,MAAO,SAAUngB,EAAMgB,EAAM8B,EAAOouB,GAGnC,GAAMlxB,GAA0B,IAAlBA,EAAK7C,UAAoC,IAAlB6C,EAAK7C,UAAmB6C,EAAKmgB,MAAlE,CAKA,IAAIzgB,EAAKpC,EAAM8hB,EACd2T,EAAWpV,EAAW3c,GACtBgyB,EAAe7C,GAAY/mB,KAAMpI,GACjCmf,EAAQngB,EAAKmgB,MAad,GARM6S,IACLhyB,EAAO6uB,GAAekD,IAIvB3T,EAAQzgB,EAAOgzB,SAAU3wB,IAAUrC,EAAOgzB,SAAUoB,QAGrCtxB,IAAVqB,EA0CJ,OAAKsc,GAAS,QAASA,QACwB3d,KAA5C/B,EAAM0f,EAAM9f,IAAKU,GAAM,EAAOkxB,IAEzBxxB,EAIDygB,EAAOnf,GA7CA,YAHd1D,SAAcwF,KAGcpD,EAAMmgB,GAAQ/W,KAAMhG,KAAapD,EAAK,KACjEoD,EAAQwd,GAAWtgB,EAAMgB,EAAMtB,GAG/BpC,EAAO,UAIM,MAATwF,GAAiBA,GAAUA,IAOlB,WAATxF,GAAsB01B,IAC1BlwB,GAASpD,GAAOA,EAAK,KAASf,EAAOoiB,UAAWgS,GAAa,GAAK,OAI7D/1B,EAAQ+xB,iBAA6B,KAAVjsB,GAAiD,IAAjC9B,EAAKvE,QAAS,gBAC9D0jB,EAAOnf,GAAS,WAIXoe,GAAY,QAASA,QACsB3d,KAA9CqB,EAAQsc,EAAMhB,IAAKpe,EAAM8C,EAAOouB,MAE7B8B,EACJ7S,EAAM8S,YAAajyB,EAAM8B,GAEzBqd,EAAOnf,GAAS8B,MAkBpBud,IAAK,SAAUrgB,EAAMgB,EAAMkwB,EAAOF,GACjC,IAAIjzB,EAAKwB,EAAK6f,EACb2T,EAAWpV,EAAW3c,GA6BvB,OA5BgBmvB,GAAY/mB,KAAMpI,KAMjCA,EAAO6uB,GAAekD,KAIvB3T,EAAQzgB,EAAOgzB,SAAU3wB,IAAUrC,EAAOgzB,SAAUoB,KAGtC,QAAS3T,IACtBrhB,EAAMqhB,EAAM9f,IAAKU,GAAM,EAAMkxB,SAIjBzvB,IAAR1D,IACJA,EAAMmvB,GAAQltB,EAAMgB,EAAMgwB,IAId,WAARjzB,GAAoBiD,KAAQsvB,KAChCvyB,EAAMuyB,GAAoBtvB,IAIZ,KAAVkwB,GAAgBA,GACpB3xB,EAAMqvB,WAAY7wB,IACD,IAAVmzB,GAAkBgC,SAAU3zB,GAAQA,GAAO,EAAIxB,GAGhDA,KAITY,EAAOkB,KAAM,CAAE,SAAU,SAAW,SAAUsD,EAAI0tB,GACjDlyB,EAAOgzB,SAAUd,GAAc,CAC9BvxB,IAAK,SAAUU,EAAMmtB,EAAU+D,GAC9B,GAAK/D,EAIJ,OAAO+C,GAAa9mB,KAAMzK,EAAO0hB,IAAKrgB,EAAM,aAQxCA,EAAKwxB,iBAAiBvyB,QAAWe,EAAKmzB,wBAAwB/F,MAIhEiE,GAAkBrxB,EAAM6wB,EAAWK,GAHnCnE,GAAM/sB,EAAMowB,GAAS,WACpB,OAAOiB,GAAkBrxB,EAAM6wB,EAAWK,MAM/C9S,IAAK,SAAUpe,EAAM8C,EAAOouB,GAC3B,IAAIvuB,EACHquB,EAASpE,GAAW5sB,GAIpBozB,GAAsBp2B,EAAQmyB,iBACT,aAApB6B,EAAOzC,SAIRwC,GADkBqC,GAAsBlC,IAEY,eAAnDvyB,EAAO0hB,IAAKrgB,EAAM,aAAa,EAAOgxB,GACvCN,EAAWQ,EACVN,GACC5wB,EACA6wB,EACAK,EACAH,EACAC,GAED,EAqBF,OAjBKD,GAAeqC,IACnB1C,GAAY/uB,KAAKyvB,KAChBpxB,EAAM,SAAW6wB,EAAW,GAAInT,cAAgBmT,EAAU30B,MAAO,IACjE0yB,WAAYoC,EAAQH,IACpBD,GAAoB5wB,EAAM6wB,EAAW,UAAU,EAAOG,GACtD,KAKGN,IAAc/tB,EAAUkd,GAAQ/W,KAAMhG,KACb,QAA3BH,EAAS,IAAO,QAElB3C,EAAKmgB,MAAO0Q,GAAc/tB,EAC1BA,EAAQnE,EAAO0hB,IAAKrgB,EAAM6wB,IAGpBJ,GAAmBzwB,EAAM8C,EAAO4tB,OAK1C/xB,EAAOgzB,SAASxD,WAAaV,GAAczwB,EAAQkyB,mBAClD,SAAUlvB,EAAMmtB,GACf,GAAKA,EACJ,OAASyB,WAAY1B,GAAQltB,EAAM,gBAClCA,EAAKmzB,wBAAwBE,KAC5BtG,GAAM/sB,EAAM,CAAEmuB,WAAY,GAAK,WAC9B,OAAOnuB,EAAKmzB,wBAAwBE,QAElC,OAMR10B,EAAOkB,KAAM,CACZyzB,OAAQ,GACRC,QAAS,GACTC,OAAQ,SACN,SAAUC,EAAQC,GACpB/0B,EAAOgzB,SAAU8B,EAASC,GAAW,CACpCC,OAAQ,SAAU7wB,GAOjB,IANA,IAAIhF,EAAI,EACP81B,EAAW,GAGXC,EAAyB,iBAAV/wB,EAAqBA,EAAMI,MAAO,KAAQ,CAAEJ,GAEpDhF,EAAI,EAAGA,IACd81B,EAAUH,EAAS3T,GAAWhiB,GAAM41B,GACnCG,EAAO/1B,IAAO+1B,EAAO/1B,EAAI,IAAO+1B,EAAO,GAGzC,OAAOD,IAIO,WAAXH,IACJ90B,EAAOgzB,SAAU8B,EAASC,GAAStV,IAAMqS,MAI3C9xB,EAAOG,GAAGgC,OAAQ,CACjBuf,IAAK,SAAUrf,EAAM8B,GACpB,OAAOia,EAAQnhB,KAAM,SAAUoE,EAAMgB,EAAM8B,GAC1C,IAAIkuB,EAAQvwB,EACXV,EAAM,GACNjC,EAAI,EAEL,GAAKyD,MAAMC,QAASR,GAAS,CAI5B,IAHAgwB,EAASpE,GAAW5sB,GACpBS,EAAMO,EAAK/B,OAEHnB,EAAI2C,EAAK3C,IAChBiC,EAAKiB,EAAMlD,IAAQa,EAAO0hB,IAAKrgB,EAAMgB,EAAMlD,IAAK,EAAOkzB,GAGxD,OAAOjxB,EAGR,YAAiB0B,IAAVqB,EACNnE,EAAOwhB,MAAOngB,EAAMgB,EAAM8B,GAC1BnE,EAAO0hB,IAAKrgB,EAAMgB,IACjBA,EAAM8B,EAA0B,EAAnB7C,UAAUhB,aAQ5BN,EAAO8yB,MAAQA,IAETvyB,UAAY,CACjBE,YAAaqyB,GACb1yB,KAAM,SAAUiB,EAAMe,EAASud,EAAM3d,EAAK+wB,EAAQ5Q,GACjDllB,KAAKoE,KAAOA,EACZpE,KAAK0iB,KAAOA,EACZ1iB,KAAK81B,OAASA,GAAU/yB,EAAO+yB,OAAOpP,SACtC1mB,KAAKmF,QAAUA,EACfnF,KAAKiU,MAAQjU,KAAKosB,IAAMpsB,KAAK6O,MAC7B7O,KAAK+E,IAAMA,EACX/E,KAAKklB,KAAOA,IAAUniB,EAAOoiB,UAAWzC,GAAS,GAAK,OAEvD7T,IAAK,WACJ,IAAI2U,EAAQqS,GAAMqC,UAAWl4B,KAAK0iB,MAElC,OAAOc,GAASA,EAAM9f,IACrB8f,EAAM9f,IAAK1D,MACX61B,GAAMqC,UAAUxR,SAAShjB,IAAK1D,OAEhCm4B,IAAK,SAAUC,GACd,IAAIC,EACH7U,EAAQqS,GAAMqC,UAAWl4B,KAAK0iB,MAoB/B,OAlBK1iB,KAAKmF,QAAQmzB,SACjBt4B,KAAKu4B,IAAMF,EAAQt1B,EAAO+yB,OAAQ91B,KAAK81B,QACtCsC,EAASp4B,KAAKmF,QAAQmzB,SAAWF,EAAS,EAAG,EAAGp4B,KAAKmF,QAAQmzB,UAG9Dt4B,KAAKu4B,IAAMF,EAAQD,EAEpBp4B,KAAKosB,KAAQpsB,KAAK+E,IAAM/E,KAAKiU,OAAUokB,EAAQr4B,KAAKiU,MAE/CjU,KAAKmF,QAAQqzB,MACjBx4B,KAAKmF,QAAQqzB,KAAK/3B,KAAMT,KAAKoE,KAAMpE,KAAKosB,IAAKpsB,MAGzCwjB,GAASA,EAAMhB,IACnBgB,EAAMhB,IAAKxiB,MAEX61B,GAAMqC,UAAUxR,SAASlE,IAAKxiB,MAExBA,QAIOmD,KAAKG,UAAYuyB,GAAMvyB,WAEvCuyB,GAAMqC,UAAY,CACjBxR,SAAU,CACThjB,IAAK,SAAUkhB,GACd,IAAItR,EAIJ,OAA6B,IAAxBsR,EAAMxgB,KAAK7C,UACa,MAA5BqjB,EAAMxgB,KAAMwgB,EAAMlC,OAAoD,MAAlCkC,EAAMxgB,KAAKmgB,MAAOK,EAAMlC,MACrDkC,EAAMxgB,KAAMwgB,EAAMlC,OAO1BpP,EAASvQ,EAAO0hB,IAAKG,EAAMxgB,KAAMwgB,EAAMlC,KAAM,MAGhB,SAAXpP,EAAwBA,EAAJ,GAEvCkP,IAAK,SAAUoC,GAKT7hB,EAAO01B,GAAGD,KAAM5T,EAAMlC,MAC1B3f,EAAO01B,GAAGD,KAAM5T,EAAMlC,MAAQkC,GACK,IAAxBA,EAAMxgB,KAAK7C,WACrBwB,EAAOgzB,SAAUnR,EAAMlC,OAC4B,MAAnDkC,EAAMxgB,KAAKmgB,MAAO0P,GAAerP,EAAMlC,OAGxCkC,EAAMxgB,KAAMwgB,EAAMlC,MAASkC,EAAMwH,IAFjCrpB,EAAOwhB,MAAOK,EAAMxgB,KAAMwgB,EAAMlC,KAAMkC,EAAMwH,IAAMxH,EAAMM,UAU5CwT,UAAY7C,GAAMqC,UAAUS,WAAa,CACxDnW,IAAK,SAAUoC,GACTA,EAAMxgB,KAAK7C,UAAYqjB,EAAMxgB,KAAKzB,aACtCiiB,EAAMxgB,KAAMwgB,EAAMlC,MAASkC,EAAMwH,OAKpCrpB,EAAO+yB,OAAS,CACf8C,OAAQ,SAAUC,GACjB,OAAOA,GAERC,MAAO,SAAUD,GAChB,MAAO,GAAM9yB,KAAKgzB,IAAKF,EAAI9yB,KAAKizB,IAAO,GAExCtS,SAAU,SAGX3jB,EAAO01B,GAAK5C,GAAMvyB,UAAUH,KAG5BJ,EAAO01B,GAAGD,KAAO,GAKjB,IACCS,GAAOC,GAkrBHvoB,GAEHwoB,GAnrBDC,GAAW,yBACXC,GAAO,cAER,SAASC,KACHJ,MACqB,IAApBt5B,EAAS25B,QAAoBx5B,EAAOy5B,sBACxCz5B,EAAOy5B,sBAAuBF,IAE9Bv5B,EAAO8f,WAAYyZ,GAAUv2B,EAAO01B,GAAGgB,UAGxC12B,EAAO01B,GAAGiB,QAKZ,SAASC,KAIR,OAHA55B,EAAO8f,WAAY,WAClBoZ,QAAQpzB,IAEAozB,GAAQxwB,KAAK2jB,MAIvB,SAASwN,GAAOl4B,EAAMm4B,GACrB,IAAI5L,EACH/rB,EAAI,EACJuM,EAAQ,CAAEmlB,OAAQlyB,GAKnB,IADAm4B,EAAeA,EAAe,EAAI,EAC1B33B,EAAI,EAAGA,GAAK,EAAI23B,EAEvBprB,EAAO,UADPwf,EAAQ/J,GAAWhiB,KACSuM,EAAO,UAAYwf,GAAUvsB,EAO1D,OAJKm4B,IACJprB,EAAMunB,QAAUvnB,EAAM+iB,MAAQ9vB,GAGxB+M,EAGR,SAASqrB,GAAa5yB,EAAOwb,EAAMqX,GAKlC,IAJA,IAAInV,EACHwK,GAAe4K,GAAUC,SAAUvX,IAAU,IAAKhiB,OAAQs5B,GAAUC,SAAU,MAC9E5e,EAAQ,EACRhY,EAAS+rB,EAAW/rB,OACbgY,EAAQhY,EAAQgY,IACvB,GAAOuJ,EAAQwK,EAAY/T,GAAQ5a,KAAMs5B,EAAWrX,EAAMxb,GAGzD,OAAO0d,EAsNV,SAASoV,GAAW51B,EAAM81B,EAAY/0B,GACrC,IAAImO,EACH6mB,EACA9e,EAAQ,EACRhY,EAAS22B,GAAUI,WAAW/2B,OAC9B+a,EAAWrb,EAAOgb,WAAWI,OAAQ,kBAG7Bub,EAAKt1B,OAEbs1B,EAAO,WACN,GAAKS,EACJ,OAAO,EAYR,IAVA,IAAIE,EAAcpB,IAASU,KAC1B1Z,EAAYla,KAAKgvB,IAAK,EAAGgF,EAAUO,UAAYP,EAAUzB,SAAW+B,GAKpEjC,EAAU,GADHnY,EAAY8Z,EAAUzB,UAAY,GAEzCjd,EAAQ,EACRhY,EAAS02B,EAAUQ,OAAOl3B,OAEnBgY,EAAQhY,EAAQgY,IACvB0e,EAAUQ,OAAQlf,GAAQ8c,IAAKC,GAMhC,OAHAha,EAASkB,WAAYlb,EAAM,CAAE21B,EAAW3B,EAASnY,IAG5CmY,EAAU,GAAK/0B,EACZ4c,GAIF5c,GACL+a,EAASkB,WAAYlb,EAAM,CAAE21B,EAAW,EAAG,IAI5C3b,EAASmB,YAAanb,EAAM,CAAE21B,KACvB,IAERA,EAAY3b,EAASzB,QAAS,CAC7BvY,KAAMA,EACN2nB,MAAOhpB,EAAOmC,OAAQ,GAAIg1B,GAC1BM,KAAMz3B,EAAOmC,QAAQ,EAAM,CAC1Bu1B,cAAe,GACf3E,OAAQ/yB,EAAO+yB,OAAOpP,UACpBvhB,GACHu1B,mBAAoBR,EACpBS,gBAAiBx1B,EACjBm1B,UAAWrB,IAASU,KACpBrB,SAAUnzB,EAAQmzB,SAClBiC,OAAQ,GACRT,YAAa,SAAUpX,EAAM3d,GAC5B,IAAI6f,EAAQ7hB,EAAO8yB,MAAOzxB,EAAM21B,EAAUS,KAAM9X,EAAM3d,EACpDg1B,EAAUS,KAAKC,cAAe/X,IAAUqX,EAAUS,KAAK1E,QAEzD,OADAiE,EAAUQ,OAAO35B,KAAMgkB,GAChBA,GAERlB,KAAM,SAAUkX,GACf,IAAIvf,EAAQ,EAIXhY,EAASu3B,EAAUb,EAAUQ,OAAOl3B,OAAS,EAC9C,GAAK82B,EACJ,OAAOn6B,KAGR,IADAm6B,GAAU,EACF9e,EAAQhY,EAAQgY,IACvB0e,EAAUQ,OAAQlf,GAAQ8c,IAAK,GAUhC,OANKyC,GACJxc,EAASkB,WAAYlb,EAAM,CAAE21B,EAAW,EAAG,IAC3C3b,EAASmB,YAAanb,EAAM,CAAE21B,EAAWa,KAEzCxc,EAASuB,WAAYvb,EAAM,CAAE21B,EAAWa,IAElC56B,QAGT+rB,EAAQgO,EAAUhO,MAInB,KA/HD,SAAqBA,EAAO0O,GAC3B,IAAIpf,EAAOjW,EAAM0wB,EAAQ5uB,EAAOsc,EAGhC,IAAMnI,KAAS0Q,EAed,GAbA+J,EAAS2E,EADTr1B,EAAO2c,EAAW1G,IAElBnU,EAAQ6kB,EAAO1Q,GACV1V,MAAMC,QAASsB,KACnB4uB,EAAS5uB,EAAO,GAChBA,EAAQ6kB,EAAO1Q,GAAUnU,EAAO,IAG5BmU,IAAUjW,IACd2mB,EAAO3mB,GAAS8B,SACT6kB,EAAO1Q,KAGfmI,EAAQzgB,EAAOgzB,SAAU3wB,KACX,WAAYoe,EAMzB,IAAMnI,KALNnU,EAAQsc,EAAMuU,OAAQ7wB,UACf6kB,EAAO3mB,GAIC8B,EACNmU,KAAS0Q,IAChBA,EAAO1Q,GAAUnU,EAAOmU,GACxBof,EAAepf,GAAUya,QAI3B2E,EAAer1B,GAAS0wB,EA6F1B+E,CAAY9O,EAAOgO,EAAUS,KAAKC,eAE1Bpf,EAAQhY,EAAQgY,IAEvB,GADA/H,EAAS0mB,GAAUI,WAAY/e,GAAQ5a,KAAMs5B,EAAW31B,EAAM2nB,EAAOgO,EAAUS,MAM9E,OAJKn5B,EAAYiS,EAAOoQ,QACvB3gB,EAAO0gB,YAAasW,EAAU31B,KAAM21B,EAAUS,KAAKld,OAAQoG,KAC1DpQ,EAAOoQ,KAAKoX,KAAMxnB,IAEbA,EAyBT,OArBAvQ,EAAOoB,IAAK4nB,EAAO+N,GAAaC,GAE3B14B,EAAY04B,EAAUS,KAAKvmB,QAC/B8lB,EAAUS,KAAKvmB,MAAMxT,KAAM2D,EAAM21B,GAIlCA,EACEpb,SAAUob,EAAUS,KAAK7b,UACzB/V,KAAMmxB,EAAUS,KAAK5xB,KAAMmxB,EAAUS,KAAKO,UAC1Cne,KAAMmd,EAAUS,KAAK5d,MACrBuB,OAAQ4b,EAAUS,KAAKrc,QAEzBpb,EAAO01B,GAAGuC,MACTj4B,EAAOmC,OAAQw0B,EAAM,CACpBt1B,KAAMA,EACN62B,KAAMlB,EACNzc,MAAOyc,EAAUS,KAAKld,SAIjByc,EAGRh3B,EAAOi3B,UAAYj3B,EAAOmC,OAAQ80B,GAAW,CAE5CC,SAAU,CACTiB,IAAK,CAAE,SAAUxY,EAAMxb,GACtB,IAAI0d,EAAQ5kB,KAAK85B,YAAapX,EAAMxb,GAEpC,OADAwd,GAAWE,EAAMxgB,KAAMse,EAAMuB,GAAQ/W,KAAMhG,GAAS0d,GAC7CA,KAITuW,QAAS,SAAUpP,EAAO7nB,GACpB7C,EAAY0qB,IAChB7nB,EAAW6nB,EACXA,EAAQ,CAAE,MAEVA,EAAQA,EAAMlf,MAAOoP,GAOtB,IAJA,IAAIyG,EACHrH,EAAQ,EACRhY,EAAS0oB,EAAM1oB,OAERgY,EAAQhY,EAAQgY,IACvBqH,EAAOqJ,EAAO1Q,GACd2e,GAAUC,SAAUvX,GAASsX,GAAUC,SAAUvX,IAAU,GAC3DsX,GAAUC,SAAUvX,GAAO/Q,QAASzN,IAItCk2B,WAAY,CA3Wb,SAA2Bh2B,EAAM2nB,EAAOyO,GACvC,IAAI9X,EAAMxb,EAAOye,EAAQnC,EAAO4X,EAASC,EAAWC,EAAgB9W,EACnE+W,EAAQ,UAAWxP,GAAS,WAAYA,EACxCkP,EAAOj7B,KACPuuB,EAAO,GACPhK,EAAQngB,EAAKmgB,MACbgV,EAASn1B,EAAK7C,UAAY+iB,GAAoBlgB,GAC9Co3B,EAAW5Y,EAASlf,IAAKU,EAAM,UA6BhC,IAAMse,KA1BA8X,EAAKld,QAEa,OADvBkG,EAAQzgB,EAAO0gB,YAAarf,EAAM,OACvBq3B,WACVjY,EAAMiY,SAAW,EACjBL,EAAU5X,EAAM3N,MAAM2H,KACtBgG,EAAM3N,MAAM2H,KAAO,WACZgG,EAAMiY,UACXL,MAIH5X,EAAMiY,WAENR,EAAK9c,OAAQ,WAGZ8c,EAAK9c,OAAQ,WACZqF,EAAMiY,WACA14B,EAAOua,MAAOlZ,EAAM,MAAOf,QAChCmgB,EAAM3N,MAAM2H,YAOFuO,EAEb,GADA7kB,EAAQ6kB,EAAOrJ,GACV0W,GAAS5rB,KAAMtG,GAAU,CAG7B,UAFO6kB,EAAOrJ,GACdiD,EAASA,GAAoB,WAAVze,EACdA,KAAYqyB,EAAS,OAAS,QAAW,CAI7C,GAAe,SAAVryB,IAAoBs0B,QAAiC31B,IAArB21B,EAAU9Y,GAK9C,SAJA6W,GAAS,EAOXhL,EAAM7L,GAAS8Y,GAAYA,EAAU9Y,IAAU3f,EAAOwhB,MAAOngB,EAAMse,GAMrE,IADA2Y,GAAat4B,EAAOyD,cAAeulB,MAChBhpB,EAAOyD,cAAe+nB,GA8DzC,IAAM7L,KAzDD6Y,GAA2B,IAAlBn3B,EAAK7C,WAMlBi5B,EAAKkB,SAAW,CAAEnX,EAAMmX,SAAUnX,EAAMoX,UAAWpX,EAAMqX,WAIlC,OADvBN,EAAiBE,GAAYA,EAAShX,WAErC8W,EAAiB1Y,EAASlf,IAAKU,EAAM,YAGrB,UADjBogB,EAAUzhB,EAAO0hB,IAAKrgB,EAAM,cAEtBk3B,EACJ9W,EAAU8W,GAIVhW,GAAU,CAAElhB,IAAQ,GACpBk3B,EAAiBl3B,EAAKmgB,MAAMC,SAAW8W,EACvC9W,EAAUzhB,EAAO0hB,IAAKrgB,EAAM,WAC5BkhB,GAAU,CAAElhB,OAKG,WAAZogB,GAAoC,iBAAZA,GAAgD,MAAlB8W,IACrB,SAAhCv4B,EAAO0hB,IAAKrgB,EAAM,WAGhBi3B,IACLJ,EAAKryB,KAAM,WACV2b,EAAMC,QAAU8W,IAEM,MAAlBA,IACJ9W,EAAUD,EAAMC,QAChB8W,EAA6B,SAAZ9W,EAAqB,GAAKA,IAG7CD,EAAMC,QAAU,iBAKdgW,EAAKkB,WACTnX,EAAMmX,SAAW,SACjBT,EAAK9c,OAAQ,WACZoG,EAAMmX,SAAWlB,EAAKkB,SAAU,GAChCnX,EAAMoX,UAAYnB,EAAKkB,SAAU,GACjCnX,EAAMqX,UAAYpB,EAAKkB,SAAU,MAKnCL,GAAY,EACE9M,EAGP8M,IACAG,EACC,WAAYA,IAChBjC,EAASiC,EAASjC,QAGnBiC,EAAW5Y,EAASzB,OAAQ/c,EAAM,SAAU,CAAEogB,QAAS8W,IAInD3V,IACJ6V,EAASjC,QAAUA,GAIfA,GACJjU,GAAU,CAAElhB,IAAQ,GAKrB62B,EAAKryB,KAAM,WASV,IAAM8Z,KAJA6W,GACLjU,GAAU,CAAElhB,IAEbwe,EAASjF,OAAQvZ,EAAM,UACTmqB,EACbxrB,EAAOwhB,MAAOngB,EAAMse,EAAM6L,EAAM7L,OAMnC2Y,EAAYvB,GAAaP,EAASiC,EAAU9Y,GAAS,EAAGA,EAAMuY,GACtDvY,KAAQ8Y,IACfA,EAAU9Y,GAAS2Y,EAAUpnB,MACxBslB,IACJ8B,EAAUt2B,IAAMs2B,EAAUpnB,MAC1BonB,EAAUpnB,MAAQ,MAuMrB4nB,UAAW,SAAU33B,EAAUisB,GACzBA,EACJ6J,GAAUI,WAAWzoB,QAASzN,GAE9B81B,GAAUI,WAAWx5B,KAAMsD,MAK9BnB,EAAO+4B,MAAQ,SAAUA,EAAOhG,EAAQ5yB,GACvC,IAAIi2B,EAAM2C,GAA0B,iBAAVA,EAAqB/4B,EAAOmC,OAAQ,GAAI42B,GAAU,CAC3Ef,SAAU73B,IAAOA,GAAM4yB,GACtBz0B,EAAYy6B,IAAWA,EACxBxD,SAAUwD,EACVhG,OAAQ5yB,GAAM4yB,GAAUA,IAAWz0B,EAAYy0B,IAAYA,GAoC5D,OAhCK/yB,EAAO01B,GAAG9P,IACdwQ,EAAIb,SAAW,EAGc,iBAAjBa,EAAIb,WACVa,EAAIb,YAAYv1B,EAAO01B,GAAGsD,OAC9B5C,EAAIb,SAAWv1B,EAAO01B,GAAGsD,OAAQ5C,EAAIb,UAGrCa,EAAIb,SAAWv1B,EAAO01B,GAAGsD,OAAOrV,UAMjB,MAAbyS,EAAI7b,QAA+B,IAAd6b,EAAI7b,QAC7B6b,EAAI7b,MAAQ,MAIb6b,EAAI/H,IAAM+H,EAAI4B,SAEd5B,EAAI4B,SAAW,WACT15B,EAAY83B,EAAI/H,MACpB+H,EAAI/H,IAAI3wB,KAAMT,MAGVm5B,EAAI7b,OACRva,EAAOugB,QAAStjB,KAAMm5B,EAAI7b,QAIrB6b,GAGRp2B,EAAOG,GAAGgC,OAAQ,CACjB82B,OAAQ,SAAUF,EAAOG,EAAInG,EAAQ5xB,GAGpC,OAAOlE,KAAKqQ,OAAQiU,IAAqBG,IAAK,UAAW,GAAIc,OAG3DxgB,MAAMm3B,QAAS,CAAElG,QAASiG,GAAMH,EAAOhG,EAAQ5xB,IAElDg4B,QAAS,SAAUxZ,EAAMoZ,EAAOhG,EAAQ5xB,GACvC,IAAI2R,EAAQ9S,EAAOyD,cAAekc,GACjCyZ,EAASp5B,EAAO+4B,MAAOA,EAAOhG,EAAQ5xB,GACtCk4B,EAAc,WAGb,IAAInB,EAAOjB,GAAWh6B,KAAM+C,EAAOmC,OAAQ,GAAIwd,GAAQyZ,IAGlDtmB,GAAS+M,EAASlf,IAAK1D,KAAM,YACjCi7B,EAAKvX,MAAM,IAKd,OAFC0Y,EAAYC,OAASD,EAEfvmB,IAA0B,IAAjBsmB,EAAO7e,MACtBtd,KAAKiE,KAAMm4B,GACXp8B,KAAKsd,MAAO6e,EAAO7e,MAAO8e,IAE5B1Y,KAAM,SAAUhiB,EAAMkiB,EAAYgX,GACjC,IAAI0B,EAAY,SAAU9Y,GACzB,IAAIE,EAAOF,EAAME,YACVF,EAAME,KACbA,EAAMkX,IAYP,MATqB,iBAATl5B,IACXk5B,EAAUhX,EACVA,EAAaliB,EACbA,OAAOmE,GAEH+d,GACJ5jB,KAAKsd,MAAO5b,GAAQ,KAAM,IAGpB1B,KAAKiE,KAAM,WACjB,IAAIqf,GAAU,EACbjI,EAAgB,MAAR3Z,GAAgBA,EAAO,aAC/B66B,EAASx5B,EAAOw5B,OAChB9Z,EAAOG,EAASlf,IAAK1D,MAEtB,GAAKqb,EACCoH,EAAMpH,IAAWoH,EAAMpH,GAAQqI,MACnC4Y,EAAW7Z,EAAMpH,SAGlB,IAAMA,KAASoH,EACTA,EAAMpH,IAAWoH,EAAMpH,GAAQqI,MAAQ2V,GAAK7rB,KAAM6N,IACtDihB,EAAW7Z,EAAMpH,IAKpB,IAAMA,EAAQkhB,EAAOl5B,OAAQgY,KACvBkhB,EAAQlhB,GAAQjX,OAASpE,MACnB,MAAR0B,GAAgB66B,EAAQlhB,GAAQiC,QAAU5b,IAE5C66B,EAAQlhB,GAAQ4f,KAAKvX,KAAMkX,GAC3BtX,GAAU,EACViZ,EAAOt3B,OAAQoW,EAAO,KAOnBiI,GAAYsX,GAChB73B,EAAOugB,QAAStjB,KAAM0B,MAIzB26B,OAAQ,SAAU36B,GAIjB,OAHc,IAATA,IACJA,EAAOA,GAAQ,MAET1B,KAAKiE,KAAM,WACjB,IAAIoX,EACHoH,EAAOG,EAASlf,IAAK1D,MACrBsd,EAAQmF,EAAM/gB,EAAO,SACrB8hB,EAAQf,EAAM/gB,EAAO,cACrB66B,EAASx5B,EAAOw5B,OAChBl5B,EAASia,EAAQA,EAAMja,OAAS,EAajC,IAVAof,EAAK4Z,QAAS,EAGdt5B,EAAOua,MAAOtd,KAAM0B,EAAM,IAErB8hB,GAASA,EAAME,MACnBF,EAAME,KAAKjjB,KAAMT,MAAM,GAIlBqb,EAAQkhB,EAAOl5B,OAAQgY,KACvBkhB,EAAQlhB,GAAQjX,OAASpE,MAAQu8B,EAAQlhB,GAAQiC,QAAU5b,IAC/D66B,EAAQlhB,GAAQ4f,KAAKvX,MAAM,GAC3B6Y,EAAOt3B,OAAQoW,EAAO,IAKxB,IAAMA,EAAQ,EAAGA,EAAQhY,EAAQgY,IAC3BiC,EAAOjC,IAAWiC,EAAOjC,GAAQghB,QACrC/e,EAAOjC,GAAQghB,OAAO57B,KAAMT,aAKvByiB,EAAK4Z,YAKft5B,EAAOkB,KAAM,CAAE,SAAU,OAAQ,QAAU,SAAUsD,EAAInC,GACxD,IAAIo3B,EAAQz5B,EAAOG,GAAIkC,GACvBrC,EAAOG,GAAIkC,GAAS,SAAU02B,EAAOhG,EAAQ5xB,GAC5C,OAAgB,MAAT43B,GAAkC,kBAAVA,EAC9BU,EAAM77B,MAAOX,KAAMqE,WACnBrE,KAAKk8B,QAAStC,GAAOx0B,GAAM,GAAQ02B,EAAOhG,EAAQ5xB,MAKrDnB,EAAOkB,KAAM,CACZw4B,UAAW7C,GAAO,QAClB8C,QAAS9C,GAAO,QAChB+C,YAAa/C,GAAO,UACpBgD,OAAQ,CAAE5G,QAAS,QACnB6G,QAAS,CAAE7G,QAAS,QACpB8G,WAAY,CAAE9G,QAAS,WACrB,SAAU5wB,EAAM2mB,GAClBhpB,EAAOG,GAAIkC,GAAS,SAAU02B,EAAOhG,EAAQ5xB,GAC5C,OAAOlE,KAAKk8B,QAASnQ,EAAO+P,EAAOhG,EAAQ5xB,MAI7CnB,EAAOw5B,OAAS,GAChBx5B,EAAO01B,GAAGiB,KAAO,WAChB,IAAIsB,EACH94B,EAAI,EACJq6B,EAASx5B,EAAOw5B,OAIjB,IAFAtD,GAAQxwB,KAAK2jB,MAELlqB,EAAIq6B,EAAOl5B,OAAQnB,KAC1B84B,EAAQuB,EAAQr6B,OAGCq6B,EAAQr6B,KAAQ84B,GAChCuB,EAAOt3B,OAAQ/C,IAAK,GAIhBq6B,EAAOl5B,QACZN,EAAO01B,GAAG/U,OAEXuV,QAAQpzB,GAGT9C,EAAO01B,GAAGuC,MAAQ,SAAUA,GAC3Bj4B,EAAOw5B,OAAO37B,KAAMo6B,GACpBj4B,EAAO01B,GAAGxkB,SAGXlR,EAAO01B,GAAGgB,SAAW,GACrB12B,EAAO01B,GAAGxkB,MAAQ,WACZilB,KAILA,IAAa,EACbI,OAGDv2B,EAAO01B,GAAG/U,KAAO,WAChBwV,GAAa,MAGdn2B,EAAO01B,GAAGsD,OAAS,CAClBgB,KAAM,IACNC,KAAM,IAGNtW,SAAU,KAMX3jB,EAAOG,GAAG+5B,MAAQ,SAAUC,EAAMx7B,GAIjC,OAHAw7B,EAAOn6B,EAAO01B,IAAK11B,EAAO01B,GAAGsD,OAAQmB,IAAiBA,EACtDx7B,EAAOA,GAAQ,KAER1B,KAAKsd,MAAO5b,EAAM,SAAU4K,EAAMkX,GACxC,IAAI2Z,EAAUp9B,EAAO8f,WAAYvT,EAAM4wB,GACvC1Z,EAAME,KAAO,WACZ3jB,EAAOq9B,aAAcD,OAOnBxsB,GAAQ/Q,EAASyC,cAAe,SAEnC82B,GADSv5B,EAASyC,cAAe,UACpBK,YAAa9C,EAASyC,cAAe,WAEnDsO,GAAMjP,KAAO,WAIbN,EAAQi8B,QAA0B,KAAhB1sB,GAAMzJ,MAIxB9F,EAAQk8B,YAAcnE,GAAIxjB,UAI1BhF,GAAQ/Q,EAASyC,cAAe,UAC1B6E,MAAQ,IACdyJ,GAAMjP,KAAO,QACbN,EAAQm8B,WAA6B,MAAhB5sB,GAAMzJ,MAI5B,IAAIs2B,GACH7uB,GAAa5L,EAAO6O,KAAKjD,WAE1B5L,EAAOG,GAAGgC,OAAQ,CACjB4M,KAAM,SAAU1M,EAAM8B,GACrB,OAAOia,EAAQnhB,KAAM+C,EAAO+O,KAAM1M,EAAM8B,EAA0B,EAAnB7C,UAAUhB,SAG1Do6B,WAAY,SAAUr4B,GACrB,OAAOpF,KAAKiE,KAAM,WACjBlB,EAAO06B,WAAYz9B,KAAMoF,QAK5BrC,EAAOmC,OAAQ,CACd4M,KAAM,SAAU1N,EAAMgB,EAAM8B,GAC3B,IAAIpD,EAAK0f,EACRka,EAAQt5B,EAAK7C,SAGd,GAAe,IAAVm8B,GAAyB,IAAVA,GAAyB,IAAVA,EAKnC,MAAkC,oBAAtBt5B,EAAK7B,aACTQ,EAAO2f,KAAMte,EAAMgB,EAAM8B,IAKlB,IAAVw2B,GAAgB36B,EAAO8W,SAAUzV,KACrCof,EAAQzgB,EAAO46B,UAAWv4B,EAAKoC,iBAC5BzE,EAAO6O,KAAK/E,MAAMjC,KAAK4C,KAAMpI,GAASo4B,QAAW33B,SAGtCA,IAAVqB,EACW,OAAVA,OACJnE,EAAO06B,WAAYr5B,EAAMgB,GAIrBoe,GAAS,QAASA,QACuB3d,KAA3C/B,EAAM0f,EAAMhB,IAAKpe,EAAM8C,EAAO9B,IACzBtB,GAGRM,EAAK5B,aAAc4C,EAAM8B,EAAQ,IAC1BA,GAGHsc,GAAS,QAASA,GAA+C,QAApC1f,EAAM0f,EAAM9f,IAAKU,EAAMgB,IACjDtB,EAMM,OAHdA,EAAMf,EAAOwN,KAAKuB,KAAM1N,EAAMgB,SAGTS,EAAY/B,IAGlC65B,UAAW,CACVj8B,KAAM,CACL8gB,IAAK,SAAUpe,EAAM8C,GACpB,IAAM9F,EAAQm8B,YAAwB,UAAVr2B,GAC3BkF,EAAUhI,EAAM,SAAY,CAC5B,IAAIjC,EAAMiC,EAAK8C,MAKf,OAJA9C,EAAK5B,aAAc,OAAQ0E,GACtB/E,IACJiC,EAAK8C,MAAQ/E,GAEP+E,MAMXu2B,WAAY,SAAUr5B,EAAM8C,GAC3B,IAAI9B,EACHlD,EAAI,EAIJ07B,EAAY12B,GAASA,EAAM2F,MAAOoP,GAEnC,GAAK2hB,GAA+B,IAAlBx5B,EAAK7C,SACtB,MAAU6D,EAAOw4B,EAAW17B,KAC3BkC,EAAK2J,gBAAiB3I,MAO1Bo4B,GAAW,CACVhb,IAAK,SAAUpe,EAAM8C,EAAO9B,GAQ3B,OAPe,IAAV8B,EAGJnE,EAAO06B,WAAYr5B,EAAMgB,GAEzBhB,EAAK5B,aAAc4C,EAAMA,GAEnBA,IAITrC,EAAOkB,KAAMlB,EAAO6O,KAAK/E,MAAMjC,KAAKoZ,OAAOnX,MAAO,QAAU,SAAUtF,EAAInC,GACzE,IAAIy4B,EAASlvB,GAAYvJ,IAAUrC,EAAOwN,KAAKuB,KAE/CnD,GAAYvJ,GAAS,SAAUhB,EAAMgB,EAAMwC,GAC1C,IAAI9D,EAAKimB,EACR+T,EAAgB14B,EAAKoC,cAYtB,OAVMI,IAGLmiB,EAASpb,GAAYmvB,GACrBnvB,GAAYmvB,GAAkBh6B,EAC9BA,EAAqC,MAA/B+5B,EAAQz5B,EAAMgB,EAAMwC,GACzBk2B,EACA,KACDnvB,GAAYmvB,GAAkB/T,GAExBjmB,KAOT,IAAIi6B,GAAa,sCAChBC,GAAa,gBAyIb,SAASC,GAAkB/2B,GAE1B,OADaA,EAAM2F,MAAOoP,IAAmB,IAC/BrO,KAAM,KAItB,SAASswB,GAAU95B,GAClB,OAAOA,EAAK7B,cAAgB6B,EAAK7B,aAAc,UAAa,GAG7D,SAAS47B,GAAgBj3B,GACxB,OAAKvB,MAAMC,QAASsB,GACZA,EAEc,iBAAVA,GACJA,EAAM2F,MAAOoP,IAEd,GAxJRlZ,EAAOG,GAAGgC,OAAQ,CACjBwd,KAAM,SAAUtd,EAAM8B,GACrB,OAAOia,EAAQnhB,KAAM+C,EAAO2f,KAAMtd,EAAM8B,EAA0B,EAAnB7C,UAAUhB,SAG1D+6B,WAAY,SAAUh5B,GACrB,OAAOpF,KAAKiE,KAAM,kBACVjE,KAAM+C,EAAOs7B,QAASj5B,IAAUA,QAK1CrC,EAAOmC,OAAQ,CACdwd,KAAM,SAAUte,EAAMgB,EAAM8B,GAC3B,IAAIpD,EAAK0f,EACRka,EAAQt5B,EAAK7C,SAGd,GAAe,IAAVm8B,GAAyB,IAAVA,GAAyB,IAAVA,EAWnC,OAPe,IAAVA,GAAgB36B,EAAO8W,SAAUzV,KAGrCgB,EAAOrC,EAAOs7B,QAASj5B,IAAUA,EACjCoe,EAAQzgB,EAAOm1B,UAAW9yB,SAGZS,IAAVqB,EACCsc,GAAS,QAASA,QACuB3d,KAA3C/B,EAAM0f,EAAMhB,IAAKpe,EAAM8C,EAAO9B,IACzBtB,EAGCM,EAAMgB,GAAS8B,EAGpBsc,GAAS,QAASA,GAA+C,QAApC1f,EAAM0f,EAAM9f,IAAKU,EAAMgB,IACjDtB,EAGDM,EAAMgB,IAGd8yB,UAAW,CACV1iB,SAAU,CACT9R,IAAK,SAAUU,GAOd,IAAIk6B,EAAWv7B,EAAOwN,KAAKuB,KAAM1N,EAAM,YAEvC,OAAKk6B,EACGzK,SAAUyK,EAAU,IAI3BP,GAAWvwB,KAAMpJ,EAAKgI,WACtB4xB,GAAWxwB,KAAMpJ,EAAKgI,WACtBhI,EAAKmR,KAEE,GAGA,KAKX8oB,QAAS,CACRE,MAAO,UACPC,QAAS,eAYLp9B,EAAQk8B,cACbv6B,EAAOm1B,UAAUviB,SAAW,CAC3BjS,IAAK,SAAUU,GAId,IAAI8P,EAAS9P,EAAKzB,WAIlB,OAHKuR,GAAUA,EAAOvR,YACrBuR,EAAOvR,WAAWiT,cAEZ,MAER4M,IAAK,SAAUpe,GAId,IAAI8P,EAAS9P,EAAKzB,WACbuR,IACJA,EAAO0B,cAEF1B,EAAOvR,YACXuR,EAAOvR,WAAWiT,kBAOvB7S,EAAOkB,KAAM,CACZ,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,mBACE,WACFlB,EAAOs7B,QAASr+B,KAAKwH,eAAkBxH,OA4BxC+C,EAAOG,GAAGgC,OAAQ,CACjBu5B,SAAU,SAAUv3B,GACnB,IAAIw3B,EAASt6B,EAAMyK,EAAK8vB,EAAUC,EAAO95B,EAAG+5B,EAC3C38B,EAAI,EAEL,GAAKb,EAAY6F,GAChB,OAAOlH,KAAKiE,KAAM,SAAUa,GAC3B/B,EAAQ/C,MAAOy+B,SAAUv3B,EAAMzG,KAAMT,KAAM8E,EAAGo5B,GAAUl+B,UAM1D,IAFA0+B,EAAUP,GAAgBj3B,IAEb7D,OACZ,MAAUe,EAAOpE,KAAMkC,KAItB,GAHAy8B,EAAWT,GAAU95B,GACrByK,EAAwB,IAAlBzK,EAAK7C,UAAoB,IAAM08B,GAAkBU,GAAa,IAEzD,CACV75B,EAAI,EACJ,MAAU85B,EAAQF,EAAS55B,KACrB+J,EAAIhO,QAAS,IAAM+9B,EAAQ,KAAQ,IACvC/vB,GAAO+vB,EAAQ,KAMZD,KADLE,EAAaZ,GAAkBpvB,KAE9BzK,EAAK5B,aAAc,QAASq8B,GAMhC,OAAO7+B,MAGR8+B,YAAa,SAAU53B,GACtB,IAAIw3B,EAASt6B,EAAMyK,EAAK8vB,EAAUC,EAAO95B,EAAG+5B,EAC3C38B,EAAI,EAEL,GAAKb,EAAY6F,GAChB,OAAOlH,KAAKiE,KAAM,SAAUa,GAC3B/B,EAAQ/C,MAAO8+B,YAAa53B,EAAMzG,KAAMT,KAAM8E,EAAGo5B,GAAUl+B,UAI7D,IAAMqE,UAAUhB,OACf,OAAOrD,KAAK8R,KAAM,QAAS,IAK5B,IAFA4sB,EAAUP,GAAgBj3B,IAEb7D,OACZ,MAAUe,EAAOpE,KAAMkC,KAMtB,GALAy8B,EAAWT,GAAU95B,GAGrByK,EAAwB,IAAlBzK,EAAK7C,UAAoB,IAAM08B,GAAkBU,GAAa,IAEzD,CACV75B,EAAI,EACJ,MAAU85B,EAAQF,EAAS55B,KAG1B,OAA4C,EAApC+J,EAAIhO,QAAS,IAAM+9B,EAAQ,KAClC/vB,EAAMA,EAAI5I,QAAS,IAAM24B,EAAQ,IAAK,KAMnCD,KADLE,EAAaZ,GAAkBpvB,KAE9BzK,EAAK5B,aAAc,QAASq8B,GAMhC,OAAO7+B,MAGR++B,YAAa,SAAU73B,EAAO83B,GAC7B,IAAIt9B,SAAcwF,EACjB+3B,EAAwB,WAATv9B,GAAqBiE,MAAMC,QAASsB,GAEpD,MAAyB,kBAAb83B,GAA0BC,EAC9BD,EAAWh/B,KAAKy+B,SAAUv3B,GAAUlH,KAAK8+B,YAAa53B,GAGzD7F,EAAY6F,GACTlH,KAAKiE,KAAM,SAAU/B,GAC3Ba,EAAQ/C,MAAO++B,YACd73B,EAAMzG,KAAMT,KAAMkC,EAAGg8B,GAAUl+B,MAAQg/B,GACvCA,KAKIh/B,KAAKiE,KAAM,WACjB,IAAIgM,EAAW/N,EAAGsY,EAAM0kB,EAExB,GAAKD,EAAe,CAGnB/8B,EAAI,EACJsY,EAAOzX,EAAQ/C,MACfk/B,EAAaf,GAAgBj3B,GAE7B,MAAU+I,EAAYivB,EAAYh9B,KAG5BsY,EAAK2kB,SAAUlvB,GACnBuK,EAAKskB,YAAa7uB,GAElBuK,EAAKikB,SAAUxuB,aAKIpK,IAAVqB,GAAgC,YAATxF,KAClCuO,EAAYiuB,GAAUl+B,QAIrB4iB,EAASJ,IAAKxiB,KAAM,gBAAiBiQ,GAOjCjQ,KAAKwC,cACTxC,KAAKwC,aAAc,QAClByN,IAAuB,IAAV/I,EACb,GACA0b,EAASlf,IAAK1D,KAAM,kBAAqB,QAO9Cm/B,SAAU,SAAUn8B,GACnB,IAAIiN,EAAW7L,EACdlC,EAAI,EAEL+N,EAAY,IAAMjN,EAAW,IAC7B,MAAUoB,EAAOpE,KAAMkC,KACtB,GAAuB,IAAlBkC,EAAK7C,WACoE,GAA3E,IAAM08B,GAAkBC,GAAU95B,IAAW,KAAMvD,QAASoP,GAC7D,OAAO,EAIV,OAAO,KAOT,IAAImvB,GAAU,MAEdr8B,EAAOG,GAAGgC,OAAQ,CACjB/C,IAAK,SAAU+E,GACd,IAAIsc,EAAO1f,EAAKyrB,EACfnrB,EAAOpE,KAAM,GAEd,OAAMqE,UAAUhB,QA0BhBksB,EAAkBluB,EAAY6F,GAEvBlH,KAAKiE,KAAM,SAAU/B,GAC3B,IAAIC,EAEmB,IAAlBnC,KAAKuB,WAWE,OANXY,EADIotB,EACEroB,EAAMzG,KAAMT,KAAMkC,EAAGa,EAAQ/C,MAAOmC,OAEpC+E,GAKN/E,EAAM,GAEoB,iBAARA,EAClBA,GAAO,GAEIwD,MAAMC,QAASzD,KAC1BA,EAAMY,EAAOoB,IAAKhC,EAAK,SAAU+E,GAChC,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,OAItCsc,EAAQzgB,EAAOs8B,SAAUr/B,KAAK0B,OAAUqB,EAAOs8B,SAAUr/B,KAAKoM,SAAS5E,iBAGrD,QAASgc,QAA+C3d,IAApC2d,EAAMhB,IAAKxiB,KAAMmC,EAAK,WAC3DnC,KAAKkH,MAAQ/E,OAzDTiC,GACJof,EAAQzgB,EAAOs8B,SAAUj7B,EAAK1C,OAC7BqB,EAAOs8B,SAAUj7B,EAAKgI,SAAS5E,iBAG/B,QAASgc,QACgC3d,KAAvC/B,EAAM0f,EAAM9f,IAAKU,EAAM,UAElBN,EAMY,iBAHpBA,EAAMM,EAAK8C,OAIHpD,EAAImC,QAASm5B,GAAS,IAIhB,MAAPt7B,EAAc,GAAKA,OAG3B,KAyCHf,EAAOmC,OAAQ,CACdm6B,SAAU,CACTjZ,OAAQ,CACP1iB,IAAK,SAAUU,GAEd,IAAIjC,EAAMY,EAAOwN,KAAKuB,KAAM1N,EAAM,SAClC,OAAc,MAAPjC,EACNA,EAMA87B,GAAkBl7B,EAAOT,KAAM8B,MAGlC2D,OAAQ,CACPrE,IAAK,SAAUU,GACd,IAAI8C,EAAOkf,EAAQlkB,EAClBiD,EAAUf,EAAKe,QACfkW,EAAQjX,EAAKwR,cACb4S,EAAoB,eAAdpkB,EAAK1C,KACX8jB,EAASgD,EAAM,KAAO,GACtBuM,EAAMvM,EAAMnN,EAAQ,EAAIlW,EAAQ9B,OAUjC,IAPCnB,EADImZ,EAAQ,EACR0Z,EAGAvM,EAAMnN,EAAQ,EAIXnZ,EAAI6yB,EAAK7yB,IAKhB,KAJAkkB,EAASjhB,EAASjD,IAIJyT,UAAYzT,IAAMmZ,KAG7B+K,EAAOja,YACLia,EAAOzjB,WAAWwJ,WACnBC,EAAUga,EAAOzjB,WAAY,aAAiB,CAMjD,GAHAuE,EAAQnE,EAAQqjB,GAASjkB,MAGpBqmB,EACJ,OAAOthB,EAIRse,EAAO5kB,KAAMsG,GAIf,OAAOse,GAGRhD,IAAK,SAAUpe,EAAM8C,GACpB,IAAIo4B,EAAWlZ,EACdjhB,EAAUf,EAAKe,QACfqgB,EAASziB,EAAO2D,UAAWQ,GAC3BhF,EAAIiD,EAAQ9B,OAEb,MAAQnB,MACPkkB,EAASjhB,EAASjD,IAINyT,UACuD,EAAlE5S,EAAO6D,QAAS7D,EAAOs8B,SAASjZ,OAAO1iB,IAAK0iB,GAAUZ,MAEtD8Z,GAAY,GAUd,OAHMA,IACLl7B,EAAKwR,eAAiB,GAEhB4P,OAOXziB,EAAOkB,KAAM,CAAE,QAAS,YAAc,WACrClB,EAAOs8B,SAAUr/B,MAAS,CACzBwiB,IAAK,SAAUpe,EAAM8C,GACpB,GAAKvB,MAAMC,QAASsB,GACnB,OAAS9C,EAAKsR,SAA2D,EAAjD3S,EAAO6D,QAAS7D,EAAQqB,GAAOjC,MAAO+E,KAI3D9F,EAAQi8B,UACbt6B,EAAOs8B,SAAUr/B,MAAO0D,IAAM,SAAUU,GACvC,OAAwC,OAAjCA,EAAK7B,aAAc,SAAqB,KAAO6B,EAAK8C,UAW9D9F,EAAQm+B,QAAU,cAAex/B,EAGjC,IAAIy/B,GAAc,kCACjBC,GAA0B,SAAUjzB,GACnCA,EAAEyc,mBAGJlmB,EAAOmC,OAAQnC,EAAO2lB,MAAO,CAE5BU,QAAS,SAAUV,EAAOjG,EAAMre,EAAMs7B,GAErC,IAAIx9B,EAAG2M,EAAK6B,EAAKivB,EAAYC,EAAQ7V,EAAQ7K,EAAS2gB,EACrDC,EAAY,CAAE17B,GAAQxE,GACtB8B,EAAOV,EAAOP,KAAMioB,EAAO,QAAWA,EAAMhnB,KAAOgnB,EACnDkB,EAAa5oB,EAAOP,KAAMioB,EAAO,aAAgBA,EAAMlZ,UAAUlI,MAAO,KAAQ,GAKjF,GAHAuH,EAAMgxB,EAAcnvB,EAAMtM,EAAOA,GAAQxE,EAGlB,IAAlBwE,EAAK7C,UAAoC,IAAlB6C,EAAK7C,WAK5Bi+B,GAAYhyB,KAAM9L,EAAOqB,EAAO2lB,MAAMsB,cAIf,EAAvBtoB,EAAKb,QAAS,OAIlBa,GADAkoB,EAAaloB,EAAK4F,MAAO,MACP8G,QAClBwb,EAAW5kB,QAEZ46B,EAASl+B,EAAKb,QAAS,KAAQ,GAAK,KAAOa,GAG3CgnB,EAAQA,EAAO3lB,EAAO+C,SACrB4iB,EACA,IAAI3lB,EAAOsmB,MAAO3nB,EAAuB,iBAAVgnB,GAAsBA,IAGhDK,UAAY2W,EAAe,EAAI,EACrChX,EAAMlZ,UAAYoa,EAAWhc,KAAM,KACnC8a,EAAMuC,WAAavC,EAAMlZ,UACxB,IAAI1F,OAAQ,UAAY8f,EAAWhc,KAAM,iBAAoB,WAC7D,KAGD8a,EAAMpV,YAASzN,EACT6iB,EAAMljB,SACXkjB,EAAMljB,OAASpB,GAIhBqe,EAAe,MAARA,EACN,CAAEiG,GACF3lB,EAAO2D,UAAW+b,EAAM,CAAEiG,IAG3BxJ,EAAUnc,EAAO2lB,MAAMxJ,QAASxd,IAAU,GACpCg+B,IAAgBxgB,EAAQkK,UAAmD,IAAxClK,EAAQkK,QAAQzoB,MAAOyD,EAAMqe,IAAtE,CAMA,IAAMid,IAAiBxgB,EAAQyM,WAAanqB,EAAU4C,GAAS,CAM9D,IAJAu7B,EAAazgB,EAAQ8J,cAAgBtnB,EAC/B89B,GAAYhyB,KAAMmyB,EAAaj+B,KACpCmN,EAAMA,EAAIlM,YAEHkM,EAAKA,EAAMA,EAAIlM,WACtBm9B,EAAUl/B,KAAMiO,GAChB6B,EAAM7B,EAIF6B,KAAUtM,EAAK6I,eAAiBrN,IACpCkgC,EAAUl/B,KAAM8P,EAAIb,aAAea,EAAIqvB,cAAgBhgC,GAKzDmC,EAAI,EACJ,OAAU2M,EAAMixB,EAAW59B,QAAYwmB,EAAMoC,uBAC5C+U,EAAchxB,EACd6Z,EAAMhnB,KAAW,EAAJQ,EACZy9B,EACAzgB,EAAQgL,UAAYxoB,GAGrBqoB,GACEnH,EAASlf,IAAKmL,EAAK,WAAczO,OAAOiiB,OAAQ,OAC9CqG,EAAMhnB,OACTkhB,EAASlf,IAAKmL,EAAK,YAEnBkb,EAAOppB,MAAOkO,EAAK4T,IAIpBsH,EAAS6V,GAAU/wB,EAAK+wB,KACT7V,EAAOppB,OAASshB,EAAYpT,KAC1C6Z,EAAMpV,OAASyW,EAAOppB,MAAOkO,EAAK4T,IACZ,IAAjBiG,EAAMpV,QACVoV,EAAMS,kBA8CT,OA1CAT,EAAMhnB,KAAOA,EAGPg+B,GAAiBhX,EAAMsD,sBAEpB9M,EAAQwH,WACqC,IAApDxH,EAAQwH,SAAS/lB,MAAOm/B,EAAUz2B,MAAOoZ,KACzCR,EAAY7d,IAIPw7B,GAAUv+B,EAAY+C,EAAM1C,MAAaF,EAAU4C,MAGvDsM,EAAMtM,EAAMw7B,MAGXx7B,EAAMw7B,GAAW,MAIlB78B,EAAO2lB,MAAMsB,UAAYtoB,EAEpBgnB,EAAMoC,wBACV+U,EAAY9vB,iBAAkBrO,EAAM+9B,IAGrCr7B,EAAM1C,KAEDgnB,EAAMoC,wBACV+U,EAAY/e,oBAAqBpf,EAAM+9B,IAGxC18B,EAAO2lB,MAAMsB,eAAYnkB,EAEpB6K,IACJtM,EAAMw7B,GAAWlvB,IAMdgY,EAAMpV,SAKd0sB,SAAU,SAAUt+B,EAAM0C,EAAMskB,GAC/B,IAAIlc,EAAIzJ,EAAOmC,OACd,IAAInC,EAAOsmB,MACXX,EACA,CACChnB,KAAMA,EACN2qB,aAAa,IAIftpB,EAAO2lB,MAAMU,QAAS5c,EAAG,KAAMpI,MAKjCrB,EAAOG,GAAGgC,OAAQ,CAEjBkkB,QAAS,SAAU1nB,EAAM+gB,GACxB,OAAOziB,KAAKiE,KAAM,WACjBlB,EAAO2lB,MAAMU,QAAS1nB,EAAM+gB,EAAMziB,SAGpCigC,eAAgB,SAAUv+B,EAAM+gB,GAC/B,IAAIre,EAAOpE,KAAM,GACjB,GAAKoE,EACJ,OAAOrB,EAAO2lB,MAAMU,QAAS1nB,EAAM+gB,EAAMre,GAAM,MAc5ChD,EAAQm+B,SACbx8B,EAAOkB,KAAM,CAAEmR,MAAO,UAAW8Y,KAAM,YAAc,SAAUK,EAAM5D,GAGpE,IAAIjc,EAAU,SAAUga,GACvB3lB,EAAO2lB,MAAMsX,SAAUrV,EAAKjC,EAAMljB,OAAQzC,EAAO2lB,MAAMiC,IAAKjC,KAG7D3lB,EAAO2lB,MAAMxJ,QAASyL,GAAQ,CAC7BP,MAAO,WAIN,IAAInoB,EAAMjC,KAAKiN,eAAiBjN,KAAKJ,UAAYI,KAChDkgC,EAAWtd,EAASzB,OAAQlf,EAAK0oB,GAE5BuV,GACLj+B,EAAI8N,iBAAkBwe,EAAM7f,GAAS,GAEtCkU,EAASzB,OAAQlf,EAAK0oB,GAAOuV,GAAY,GAAM,IAEhD3V,SAAU,WACT,IAAItoB,EAAMjC,KAAKiN,eAAiBjN,KAAKJ,UAAYI,KAChDkgC,EAAWtd,EAASzB,OAAQlf,EAAK0oB,GAAQ,EAEpCuV,EAKLtd,EAASzB,OAAQlf,EAAK0oB,EAAKuV,IAJ3Bj+B,EAAI6e,oBAAqByN,EAAM7f,GAAS,GACxCkU,EAASjF,OAAQ1b,EAAK0oB,QAS3B,IAAIzV,GAAWnV,EAAOmV,SAElBtT,GAAQ,CAAEuF,KAAMsB,KAAK2jB,OAErB+T,GAAS,KAKbp9B,EAAOq9B,SAAW,SAAU3d,GAC3B,IAAI5O,EACJ,IAAM4O,GAAwB,iBAATA,EACpB,OAAO,KAKR,IACC5O,GAAM,IAAM9T,EAAOsgC,WAAcC,gBAAiB7d,EAAM,YACvD,MAAQjW,GACTqH,OAAMhO,EAMP,OAHMgO,IAAOA,EAAIxG,qBAAsB,eAAgBhK,QACtDN,EAAOoD,MAAO,gBAAkBsc,GAE1B5O,GAIR,IACC0sB,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEhB,SAASC,GAAa9I,EAAQv2B,EAAKs/B,EAAarlB,GAC/C,IAAInW,EAEJ,GAAKO,MAAMC,QAAStE,GAGnByB,EAAOkB,KAAM3C,EAAK,SAAUY,EAAGia,GACzBykB,GAAeL,GAAS/yB,KAAMqqB,GAGlCtc,EAAKsc,EAAQ1b,GAKbwkB,GACC9I,EAAS,KAAqB,iBAAN1b,GAAuB,MAALA,EAAYja,EAAI,IAAO,IACjEia,EACAykB,EACArlB,UAKG,GAAMqlB,GAAiC,WAAlB/9B,EAAQvB,GAUnCia,EAAKsc,EAAQv2B,QAPb,IAAM8D,KAAQ9D,EACbq/B,GAAa9I,EAAS,IAAMzyB,EAAO,IAAK9D,EAAK8D,GAAQw7B,EAAarlB,GAYrExY,EAAO89B,MAAQ,SAAU13B,EAAGy3B,GAC3B,IAAI/I,EACHiJ,EAAI,GACJvlB,EAAM,SAAUrN,EAAK6yB,GAGpB,IAAI75B,EAAQ7F,EAAY0/B,GACvBA,IACAA,EAEDD,EAAGA,EAAEz9B,QAAW29B,mBAAoB9yB,GAAQ,IAC3C8yB,mBAA6B,MAAT95B,EAAgB,GAAKA,IAG5C,GAAU,MAALiC,EACJ,MAAO,GAIR,GAAKxD,MAAMC,QAASuD,IAASA,EAAE5F,SAAWR,EAAO2C,cAAeyD,GAG/DpG,EAAOkB,KAAMkF,EAAG,WACfoS,EAAKvb,KAAKoF,KAAMpF,KAAKkH,cAOtB,IAAM2wB,KAAU1uB,EACfw3B,GAAa9I,EAAQ1uB,EAAG0uB,GAAU+I,EAAarlB,GAKjD,OAAOulB,EAAElzB,KAAM,MAGhB7K,EAAOG,GAAGgC,OAAQ,CACjB+7B,UAAW,WACV,OAAOl+B,EAAO89B,MAAO7gC,KAAKkhC,mBAE3BA,eAAgB,WACf,OAAOlhC,KAAKmE,IAAK,WAGhB,IAAI0N,EAAW9O,EAAO2f,KAAM1iB,KAAM,YAClC,OAAO6R,EAAW9O,EAAO2D,UAAWmL,GAAa7R,OAEjDqQ,OAAQ,WACR,IAAI3O,EAAO1B,KAAK0B,KAGhB,OAAO1B,KAAKoF,OAASrC,EAAQ/C,MAAOia,GAAI,cACvCymB,GAAalzB,KAAMxN,KAAKoM,YAAeq0B,GAAgBjzB,KAAM9L,KAC3D1B,KAAK0V,UAAYmQ,GAAerY,KAAM9L,MAEzCyC,IAAK,SAAUoD,EAAInD,GACnB,IAAIjC,EAAMY,EAAQ/C,MAAOmC,MAEzB,OAAY,MAAPA,EACG,KAGHwD,MAAMC,QAASzD,GACZY,EAAOoB,IAAKhC,EAAK,SAAUA,GACjC,MAAO,CAAEiD,KAAMhB,EAAKgB,KAAM8B,MAAO/E,EAAI8D,QAASu6B,GAAO,WAIhD,CAAEp7B,KAAMhB,EAAKgB,KAAM8B,MAAO/E,EAAI8D,QAASu6B,GAAO,WAClD98B,SAKN,IACCy9B,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAIXC,GAAa,iBACbC,GAAY,QAWZpH,GAAa,GAObqH,GAAa,GAGbC,GAAW,KAAKhhC,OAAQ,KAGxBihC,GAAe/hC,EAASyC,cAAe,KAIxC,SAASu/B,GAA6BC,GAGrC,OAAO,SAAUC,EAAoB9jB,GAED,iBAAvB8jB,IACX9jB,EAAO8jB,EACPA,EAAqB,KAGtB,IAAIC,EACH7/B,EAAI,EACJ8/B,EAAYF,EAAmBt6B,cAAcqF,MAAOoP,IAAmB,GAExE,GAAK5a,EAAY2c,GAGhB,MAAU+jB,EAAWC,EAAW9/B,KAGR,MAAlB6/B,EAAU,IACdA,EAAWA,EAASzhC,MAAO,IAAO,KAChCuhC,EAAWE,GAAaF,EAAWE,IAAc,IAAKpwB,QAASqM,KAI/D6jB,EAAWE,GAAaF,EAAWE,IAAc,IAAKnhC,KAAMod,IAQnE,SAASikB,GAA+BJ,EAAW18B,EAASw1B,EAAiBuH,GAE5E,IAAIC,EAAY,GACfC,EAAqBP,IAAcJ,GAEpC,SAASY,EAASN,GACjB,IAAIpsB,EAcJ,OAbAwsB,EAAWJ,IAAa,EACxBh/B,EAAOkB,KAAM49B,EAAWE,IAAc,GAAI,SAAU/kB,EAAGslB,GACtD,IAAIC,EAAsBD,EAAoBn9B,EAASw1B,EAAiBuH,GACxE,MAAoC,iBAAxBK,GACVH,GAAqBD,EAAWI,GAKtBH,IACDzsB,EAAW4sB,QADf,GAHNp9B,EAAQ68B,UAAUrwB,QAAS4wB,GAC3BF,EAASE,IACF,KAKF5sB,EAGR,OAAO0sB,EAASl9B,EAAQ68B,UAAW,MAAUG,EAAW,MAASE,EAAS,KAM3E,SAASG,GAAYh9B,EAAQ7D,GAC5B,IAAIuM,EAAKzI,EACRg9B,EAAc1/B,EAAO2/B,aAAaD,aAAe,GAElD,IAAMv0B,KAAOvM,OACQkE,IAAflE,EAAKuM,MACPu0B,EAAav0B,GAAQ1I,EAAWC,IAAUA,EAAO,KAAUyI,GAAQvM,EAAKuM,IAO5E,OAJKzI,GACJ1C,EAAOmC,QAAQ,EAAMM,EAAQC,GAGvBD,EA/EPm8B,GAAapsB,KAAOL,GAASK,KAgP9BxS,EAAOmC,OAAQ,CAGdy9B,OAAQ,EAGRC,aAAc,GACdC,KAAM,GAENH,aAAc,CACbI,IAAK5tB,GAASK,KACd7T,KAAM,MACNqhC,QAvRgB,4DAuRQv1B,KAAM0H,GAAS8tB,UACvCxjC,QAAQ,EACRyjC,aAAa,EACbC,OAAO,EACPC,YAAa,mDAcbC,QAAS,CACRlI,IAAKwG,GACLp/B,KAAM,aACNktB,KAAM,YACN3b,IAAK,4BACLwvB,KAAM,qCAGPtoB,SAAU,CACTlH,IAAK,UACL2b,KAAM,SACN6T,KAAM,YAGPC,eAAgB,CACfzvB,IAAK,cACLvR,KAAM,eACN+gC,KAAM,gBAKPE,WAAY,CAGXC,SAAU/3B,OAGVg4B,aAAa,EAGbC,YAAazgB,KAAKC,MAGlBygB,WAAY5gC,EAAOq9B,UAOpBqC,YAAa,CACZK,KAAK,EACL7/B,SAAS,IAOX2gC,UAAW,SAAUp+B,EAAQq+B,GAC5B,OAAOA,EAGNrB,GAAYA,GAAYh9B,EAAQzC,EAAO2/B,cAAgBmB,GAGvDrB,GAAYz/B,EAAO2/B,aAAcl9B,IAGnCs+B,cAAelC,GAA6BxH,IAC5C2J,cAAenC,GAA6BH,IAG5CuC,KAAM,SAAUlB,EAAK39B,GAGA,iBAAR29B,IACX39B,EAAU29B,EACVA,OAAMj9B,GAIPV,EAAUA,GAAW,GAErB,IAAI8+B,EAGHC,EAGAC,EACAC,EAGAC,EAGAC,EAGAzjB,EAGA0jB,EAGAriC,EAGAsiC,EAGA1D,EAAI/9B,EAAO6gC,UAAW,GAAIz+B,GAG1Bs/B,EAAkB3D,EAAE79B,SAAW69B,EAG/B4D,EAAqB5D,EAAE79B,UACpBwhC,EAAgBljC,UAAYkjC,EAAgBlhC,QAC7CR,EAAQ0hC,GACR1hC,EAAO2lB,MAGTtK,EAAWrb,EAAOgb,WAClB4mB,EAAmB5hC,EAAO+Z,UAAW,eAGrC8nB,EAAa9D,EAAE8D,YAAc,GAG7BC,EAAiB,GACjBC,EAAsB,GAGtBC,EAAW,WAGX7C,EAAQ,CACPjhB,WAAY,EAGZ+jB,kBAAmB,SAAU92B,GAC5B,IAAIrB,EACJ,GAAKgU,EAAY,CAChB,IAAMujB,EAAkB,CACvBA,EAAkB,GAClB,MAAUv3B,EAAQy0B,GAASp0B,KAAMi3B,GAChCC,EAAiBv3B,EAAO,GAAIrF,cAAgB,MACzC48B,EAAiBv3B,EAAO,GAAIrF,cAAgB,MAAS,IACrD9G,OAAQmM,EAAO,IAGpBA,EAAQu3B,EAAiBl2B,EAAI1G,cAAgB,KAE9C,OAAgB,MAATqF,EAAgB,KAAOA,EAAMe,KAAM,OAI3Cq3B,sBAAuB,WACtB,OAAOpkB,EAAYsjB,EAAwB,MAI5Ce,iBAAkB,SAAU9/B,EAAM8B,GAMjC,OALkB,MAAb2Z,IACJzb,EAAO0/B,EAAqB1/B,EAAKoC,eAChCs9B,EAAqB1/B,EAAKoC,gBAAmBpC,EAC9Cy/B,EAAgBz/B,GAAS8B,GAEnBlH,MAIRmlC,iBAAkB,SAAUzjC,GAI3B,OAHkB,MAAbmf,IACJigB,EAAEsE,SAAW1jC,GAEP1B,MAIR4kC,WAAY,SAAUzgC,GACrB,IAAIpC,EACJ,GAAKoC,EACJ,GAAK0c,EAGJqhB,EAAM/jB,OAAQha,EAAK+9B,EAAMmD,cAIzB,IAAMtjC,KAAQoC,EACbygC,EAAY7iC,GAAS,CAAE6iC,EAAY7iC,GAAQoC,EAAKpC,IAInD,OAAO/B,MAIRslC,MAAO,SAAUC,GAChB,IAAIC,EAAYD,GAAcR,EAK9B,OAJKd,GACJA,EAAUqB,MAAOE,GAElB58B,EAAM,EAAG48B,GACFxlC,OAoBV,GAfAoe,EAASzB,QAASulB,GAKlBpB,EAAEgC,MAAUA,GAAOhC,EAAEgC,KAAO5tB,GAASK,MAAS,IAC5CtP,QAASu7B,GAAWtsB,GAAS8tB,SAAW,MAG1ClC,EAAEp/B,KAAOyD,EAAQuX,QAAUvX,EAAQzD,MAAQo/B,EAAEpkB,QAAUokB,EAAEp/B,KAGzDo/B,EAAEkB,WAAclB,EAAEiB,UAAY,KAAMv6B,cAAcqF,MAAOoP,IAAmB,CAAE,IAGxD,MAAjB6kB,EAAE2E,YAAsB,CAC5BnB,EAAY1kC,EAASyC,cAAe,KAKpC,IACCiiC,EAAU/uB,KAAOurB,EAAEgC,IAInBwB,EAAU/uB,KAAO+uB,EAAU/uB,KAC3BurB,EAAE2E,YAAc9D,GAAaqB,SAAW,KAAOrB,GAAa+D,MAC3DpB,EAAUtB,SAAW,KAAOsB,EAAUoB,KACtC,MAAQl5B,GAITs0B,EAAE2E,aAAc,GAalB,GARK3E,EAAEre,MAAQqe,EAAEmC,aAAiC,iBAAXnC,EAAEre,OACxCqe,EAAEre,KAAO1f,EAAO89B,MAAOC,EAAEre,KAAMqe,EAAEF,cAIlCqB,GAA+B7H,GAAY0G,EAAG37B,EAAS+8B,GAGlDrhB,EACJ,OAAOqhB,EA8ER,IAAMhgC,KAzENqiC,EAAcxhC,EAAO2lB,OAASoY,EAAEthC,SAGQ,GAApBuD,EAAO4/B,UAC1B5/B,EAAO2lB,MAAMU,QAAS,aAIvB0X,EAAEp/B,KAAOo/B,EAAEp/B,KAAKogB,cAGhBgf,EAAE6E,YAAcpE,GAAW/zB,KAAMszB,EAAEp/B,MAKnCwiC,EAAWpD,EAAEgC,IAAI78B,QAASm7B,GAAO,IAG3BN,EAAE6E,WAwBI7E,EAAEre,MAAQqe,EAAEmC,aACoD,KAAzEnC,EAAEqC,aAAe,IAAKtiC,QAAS,uCACjCigC,EAAEre,KAAOqe,EAAEre,KAAKxc,QAASk7B,GAAK,OAvB9BqD,EAAW1D,EAAEgC,IAAIxiC,MAAO4jC,EAAS7gC,QAG5By9B,EAAEre,OAAUqe,EAAEmC,aAAiC,iBAAXnC,EAAEre,QAC1CyhB,IAAc/D,GAAO3yB,KAAM02B,GAAa,IAAM,KAAQpD,EAAEre,YAGjDqe,EAAEre,OAIO,IAAZqe,EAAE7yB,QACNi2B,EAAWA,EAASj+B,QAASo7B,GAAY,MACzCmD,GAAarE,GAAO3yB,KAAM02B,GAAa,IAAM,KAAQ,KAAStiC,GAAMuF,OACnEq9B,GAIF1D,EAAEgC,IAAMoB,EAAWM,GASf1D,EAAE8E,aACD7iC,EAAO6/B,aAAcsB,IACzBhC,EAAMgD,iBAAkB,oBAAqBniC,EAAO6/B,aAAcsB,IAE9DnhC,EAAO8/B,KAAMqB,IACjBhC,EAAMgD,iBAAkB,gBAAiBniC,EAAO8/B,KAAMqB,MAKnDpD,EAAEre,MAAQqe,EAAE6E,aAAgC,IAAlB7E,EAAEqC,aAAyBh+B,EAAQg+B,cACjEjB,EAAMgD,iBAAkB,eAAgBpE,EAAEqC,aAI3CjB,EAAMgD,iBACL,SACApE,EAAEkB,UAAW,IAAOlB,EAAEsC,QAAStC,EAAEkB,UAAW,IAC3ClB,EAAEsC,QAAStC,EAAEkB,UAAW,KACA,MAArBlB,EAAEkB,UAAW,GAAc,KAAON,GAAW,WAAa,IAC7DZ,EAAEsC,QAAS,MAIFtC,EAAE+E,QACZ3D,EAAMgD,iBAAkBhjC,EAAG4+B,EAAE+E,QAAS3jC,IAIvC,GAAK4+B,EAAEgF,cAC+C,IAAnDhF,EAAEgF,WAAWrlC,KAAMgkC,EAAiBvC,EAAOpB,IAAiBjgB,GAG9D,OAAOqhB,EAAMoD,QAed,GAXAP,EAAW,QAGXJ,EAAiBppB,IAAKulB,EAAE/F,UACxBmH,EAAMt5B,KAAMk4B,EAAEiF,SACd7D,EAAMtlB,KAAMkkB,EAAE36B,OAGd89B,EAAYhC,GAA+BR,GAAYX,EAAG37B,EAAS+8B,GAK5D,CASN,GARAA,EAAMjhB,WAAa,EAGdsjB,GACJG,EAAmBtb,QAAS,WAAY,CAAE8Y,EAAOpB,IAI7CjgB,EACJ,OAAOqhB,EAIHpB,EAAEoC,OAAqB,EAAZpC,EAAE3D,UACjBkH,EAAetkC,EAAO8f,WAAY,WACjCqiB,EAAMoD,MAAO,YACXxE,EAAE3D,UAGN,IACCtc,GAAY,EACZojB,EAAU+B,KAAMnB,EAAgBj8B,GAC/B,MAAQ4D,GAGT,GAAKqU,EACJ,MAAMrU,EAIP5D,GAAO,EAAG4D,SAhCX5D,GAAO,EAAG,gBAqCX,SAASA,EAAMy8B,EAAQY,EAAkBC,EAAWL,GACnD,IAAIM,EAAWJ,EAAS5/B,EAAOigC,EAAUC,EACxCd,EAAaU,EAGTplB,IAILA,GAAY,EAGPwjB,GACJtkC,EAAOq9B,aAAciH,GAKtBJ,OAAYp+B,EAGZs+B,EAAwB0B,GAAW,GAGnC3D,EAAMjhB,WAAsB,EAATokB,EAAa,EAAI,EAGpCc,EAAsB,KAAVd,GAAiBA,EAAS,KAAkB,MAAXA,EAGxCa,IACJE,EA7lBJ,SAA8BtF,EAAGoB,EAAOgE,GAEvC,IAAII,EAAI5kC,EAAM6kC,EAAeC,EAC5BzrB,EAAW+lB,EAAE/lB,SACbinB,EAAYlB,EAAEkB,UAGf,MAA2B,MAAnBA,EAAW,GAClBA,EAAU5zB,aACEvI,IAAPygC,IACJA,EAAKxF,EAAEsE,UAAYlD,EAAM8C,kBAAmB,iBAK9C,GAAKsB,EACJ,IAAM5kC,KAAQqZ,EACb,GAAKA,EAAUrZ,IAAUqZ,EAAUrZ,GAAO8L,KAAM84B,GAAO,CACtDtE,EAAUrwB,QAASjQ,GACnB,MAMH,GAAKsgC,EAAW,KAAOkE,EACtBK,EAAgBvE,EAAW,OACrB,CAGN,IAAMtgC,KAAQwkC,EAAY,CACzB,IAAMlE,EAAW,IAAOlB,EAAEyC,WAAY7hC,EAAO,IAAMsgC,EAAW,IAAQ,CACrEuE,EAAgB7kC,EAChB,MAEK8kC,IACLA,EAAgB9kC,GAKlB6kC,EAAgBA,GAAiBC,EAMlC,GAAKD,EAIJ,OAHKA,IAAkBvE,EAAW,IACjCA,EAAUrwB,QAAS40B,GAEbL,EAAWK,GA0iBLE,CAAqB3F,EAAGoB,EAAOgE,KAIrCC,IAAwD,EAA3CpjC,EAAO6D,QAAS,SAAUk6B,EAAEkB,aAC9ClB,EAAEyC,WAAY,eAAkB,cAIjC6C,EA5iBH,SAAsBtF,EAAGsF,EAAUlE,EAAOiE,GACzC,IAAIO,EAAOC,EAASC,EAAMl2B,EAAKsK,EAC9BuoB,EAAa,GAGbvB,EAAYlB,EAAEkB,UAAU1hC,QAGzB,GAAK0hC,EAAW,GACf,IAAM4E,KAAQ9F,EAAEyC,WACfA,EAAYqD,EAAKp/B,eAAkBs5B,EAAEyC,WAAYqD,GAInDD,EAAU3E,EAAU5zB,QAGpB,MAAQu4B,EAcP,GAZK7F,EAAEwC,eAAgBqD,KACtBzE,EAAOpB,EAAEwC,eAAgBqD,IAAcP,IAIlCprB,GAAQmrB,GAAarF,EAAE+F,aAC5BT,EAAWtF,EAAE+F,WAAYT,EAAUtF,EAAEiB,WAGtC/mB,EAAO2rB,EACPA,EAAU3E,EAAU5zB,QAKnB,GAAiB,MAAZu4B,EAEJA,EAAU3rB,OAGJ,GAAc,MAATA,GAAgBA,IAAS2rB,EAAU,CAM9C,KAHAC,EAAOrD,EAAYvoB,EAAO,IAAM2rB,IAAapD,EAAY,KAAOoD,IAI/D,IAAMD,KAASnD,EAId,IADA7yB,EAAMg2B,EAAMp/B,MAAO,MACT,KAAQq/B,IAGjBC,EAAOrD,EAAYvoB,EAAO,IAAMtK,EAAK,KACpC6yB,EAAY,KAAO7yB,EAAK,KACb,EAGG,IAATk2B,EACJA,EAAOrD,EAAYmD,IAGgB,IAAxBnD,EAAYmD,KACvBC,EAAUj2B,EAAK,GACfsxB,EAAUrwB,QAASjB,EAAK,KAEzB,MAOJ,IAAc,IAATk2B,EAGJ,GAAKA,GAAQ9F,EAAEgG,UACdV,EAAWQ,EAAMR,QAEjB,IACCA,EAAWQ,EAAMR,GAChB,MAAQ55B,GACT,MAAO,CACN0R,MAAO,cACP/X,MAAOygC,EAAOp6B,EAAI,sBAAwBwO,EAAO,OAAS2rB,IASjE,MAAO,CAAEzoB,MAAO,UAAWuE,KAAM2jB,GA+cpBW,CAAajG,EAAGsF,EAAUlE,EAAOiE,GAGvCA,GAGCrF,EAAE8E,cACNS,EAAWnE,EAAM8C,kBAAmB,oBAEnCjiC,EAAO6/B,aAAcsB,GAAamC,IAEnCA,EAAWnE,EAAM8C,kBAAmB,WAEnCjiC,EAAO8/B,KAAMqB,GAAamC,IAKZ,MAAXhB,GAA6B,SAAXvE,EAAEp/B,KACxB6jC,EAAa,YAGS,MAAXF,EACXE,EAAa,eAIbA,EAAaa,EAASloB,MACtB6nB,EAAUK,EAAS3jB,KAEnB0jB,IADAhgC,EAAQigC,EAASjgC,UAMlBA,EAAQo/B,GACHF,GAAWE,IACfA,EAAa,QACRF,EAAS,IACbA,EAAS,KAMZnD,EAAMmD,OAASA,EACfnD,EAAMqD,YAAeU,GAAoBV,GAAe,GAGnDY,EACJ/nB,EAASmB,YAAaklB,EAAiB,CAAEsB,EAASR,EAAYrD,IAE9D9jB,EAASuB,WAAY8kB,EAAiB,CAAEvC,EAAOqD,EAAYp/B,IAI5D+7B,EAAM0C,WAAYA,GAClBA,OAAa/+B,EAER0+B,GACJG,EAAmBtb,QAAS+c,EAAY,cAAgB,YACvD,CAAEjE,EAAOpB,EAAGqF,EAAYJ,EAAU5/B,IAIpCw+B,EAAiB7mB,SAAU2mB,EAAiB,CAAEvC,EAAOqD,IAEhDhB,IACJG,EAAmBtb,QAAS,eAAgB,CAAE8Y,EAAOpB,MAG3C/9B,EAAO4/B,QAChB5/B,EAAO2lB,MAAMU,QAAS,cAKzB,OAAO8Y,GAGR8E,QAAS,SAAUlE,EAAKrgB,EAAMve,GAC7B,OAAOnB,EAAOW,IAAKo/B,EAAKrgB,EAAMve,EAAU,SAGzC+iC,UAAW,SAAUnE,EAAK5+B,GACzB,OAAOnB,EAAOW,IAAKo/B,OAAKj9B,EAAW3B,EAAU,aAI/CnB,EAAOkB,KAAM,CAAE,MAAO,QAAU,SAAUsD,EAAImV,GAC7C3Z,EAAQ2Z,GAAW,SAAUomB,EAAKrgB,EAAMve,EAAUxC,GAUjD,OAPKL,EAAYohB,KAChB/gB,EAAOA,GAAQwC,EACfA,EAAWue,EACXA,OAAO5c,GAID9C,EAAOihC,KAAMjhC,EAAOmC,OAAQ,CAClC49B,IAAKA,EACLphC,KAAMgb,EACNqlB,SAAUrgC,EACV+gB,KAAMA,EACNsjB,QAAS7hC,GACPnB,EAAO2C,cAAeo9B,IAASA,OAIpC//B,EAAO+gC,cAAe,SAAUhD,GAC/B,IAAI5+B,EACJ,IAAMA,KAAK4+B,EAAE+E,QACa,iBAApB3jC,EAAEsF,gBACNs5B,EAAEqC,YAAcrC,EAAE+E,QAAS3jC,IAAO,MAMrCa,EAAO0sB,SAAW,SAAUqT,EAAK39B,EAASlD,GACzC,OAAOc,EAAOihC,KAAM,CACnBlB,IAAKA,EAGLphC,KAAM,MACNqgC,SAAU,SACV9zB,OAAO,EACPi1B,OAAO,EACP1jC,QAAQ,EAKR+jC,WAAY,CACX2D,cAAe,cAEhBL,WAAY,SAAUT,GACrBrjC,EAAO0D,WAAY2/B,EAAUjhC,EAASlD,OAMzCc,EAAOG,GAAGgC,OAAQ,CACjBiiC,QAAS,SAAU3X,GAClB,IAAIhI,EAyBJ,OAvBKxnB,KAAM,KACLqB,EAAYmuB,KAChBA,EAAOA,EAAK/uB,KAAMT,KAAM,KAIzBwnB,EAAOzkB,EAAQysB,EAAMxvB,KAAM,GAAIiN,eAAgB1I,GAAI,GAAIgB,OAAO,GAEzDvF,KAAM,GAAI2C,YACd6kB,EAAK4I,aAAcpwB,KAAM,IAG1BwnB,EAAKrjB,IAAK,WACT,IAAIC,EAAOpE,KAEX,MAAQoE,EAAKgjC,kBACZhjC,EAAOA,EAAKgjC,kBAGb,OAAOhjC,IACJ8rB,OAAQlwB,OAGNA,MAGRqnC,UAAW,SAAU7X,GACpB,OAAKnuB,EAAYmuB,GACTxvB,KAAKiE,KAAM,SAAU/B,GAC3Ba,EAAQ/C,MAAOqnC,UAAW7X,EAAK/uB,KAAMT,KAAMkC,MAItClC,KAAKiE,KAAM,WACjB,IAAIuW,EAAOzX,EAAQ/C,MAClB+a,EAAWP,EAAKO,WAEZA,EAAS1X,OACb0X,EAASosB,QAAS3X,GAGlBhV,EAAK0V,OAAQV,MAKhBhI,KAAM,SAAUgI,GACf,IAAI8X,EAAiBjmC,EAAYmuB,GAEjC,OAAOxvB,KAAKiE,KAAM,SAAU/B,GAC3Ba,EAAQ/C,MAAOmnC,QAASG,EAAiB9X,EAAK/uB,KAAMT,KAAMkC,GAAMstB,MAIlE+X,OAAQ,SAAUvkC,GAIjB,OAHAhD,KAAKkU,OAAQlR,GAAW2R,IAAK,QAAS1Q,KAAM,WAC3ClB,EAAQ/C,MAAOuwB,YAAavwB,KAAKuM,cAE3BvM,QAKT+C,EAAO6O,KAAKhI,QAAQ2vB,OAAS,SAAUn1B,GACtC,OAAQrB,EAAO6O,KAAKhI,QAAQ49B,QAASpjC,IAEtCrB,EAAO6O,KAAKhI,QAAQ49B,QAAU,SAAUpjC,GACvC,SAAWA,EAAKyuB,aAAezuB,EAAKqjC,cAAgBrjC,EAAKwxB,iBAAiBvyB,SAM3EN,EAAO2/B,aAAagF,IAAM,WACzB,IACC,OAAO,IAAI3nC,EAAO4nC,eACjB,MAAQn7B,MAGX,IAAIo7B,GAAmB,CAGrBC,EAAG,IAIHC,KAAM,KAEPC,GAAehlC,EAAO2/B,aAAagF,MAEpCtmC,EAAQ4mC,OAASD,IAAkB,oBAAqBA,GACxD3mC,EAAQ4iC,KAAO+D,KAAiBA,GAEhChlC,EAAOghC,cAAe,SAAU5+B,GAC/B,IAAIjB,EAAU+jC,EAGd,GAAK7mC,EAAQ4mC,MAAQD,KAAiB5iC,EAAQsgC,YAC7C,MAAO,CACNO,KAAM,SAAUH,EAAS9K,GACxB,IAAI74B,EACHwlC,EAAMviC,EAAQuiC,MAWf,GATAA,EAAIQ,KACH/iC,EAAQzD,KACRyD,EAAQ29B,IACR39B,EAAQ+9B,MACR/9B,EAAQgjC,SACRhjC,EAAQmR,UAIJnR,EAAQijC,UACZ,IAAMlmC,KAAKiD,EAAQijC,UAClBV,EAAKxlC,GAAMiD,EAAQijC,UAAWlmC,GAmBhC,IAAMA,KAdDiD,EAAQigC,UAAYsC,EAAIvC,kBAC5BuC,EAAIvC,iBAAkBhgC,EAAQigC,UAQzBjgC,EAAQsgC,aAAgBI,EAAS,sBACtCA,EAAS,oBAAuB,kBAItBA,EACV6B,EAAIxC,iBAAkBhjC,EAAG2jC,EAAS3jC,IAInCgC,EAAW,SAAUxC,GACpB,OAAO,WACDwC,IACJA,EAAW+jC,EAAgBP,EAAIW,OAC9BX,EAAIY,QAAUZ,EAAIa,QAAUb,EAAIc,UAC/Bd,EAAIe,mBAAqB,KAEb,UAAT/mC,EACJgmC,EAAIpC,QACgB,UAAT5jC,EAKgB,iBAAfgmC,EAAIrC,OACftK,EAAU,EAAG,SAEbA,EAGC2M,EAAIrC,OACJqC,EAAInC,YAINxK,EACC6M,GAAkBF,EAAIrC,SAAYqC,EAAIrC,OACtCqC,EAAInC,WAK+B,UAAjCmC,EAAIgB,cAAgB,SACM,iBAArBhB,EAAIiB,aACV,CAAEC,OAAQlB,EAAItB,UACd,CAAE9jC,KAAMolC,EAAIiB,cACbjB,EAAIzC,4BAQTyC,EAAIW,OAASnkC,IACb+jC,EAAgBP,EAAIY,QAAUZ,EAAIc,UAAYtkC,EAAU,cAKnC2B,IAAhB6hC,EAAIa,QACRb,EAAIa,QAAUN,EAEdP,EAAIe,mBAAqB,WAGA,IAAnBf,EAAIzmB,YAMRlhB,EAAO8f,WAAY,WACb3b,GACJ+jC,OAQL/jC,EAAWA,EAAU,SAErB,IAGCwjC,EAAI1B,KAAM7gC,EAAQwgC,YAAcxgC,EAAQsd,MAAQ,MAC/C,MAAQjW,GAGT,GAAKtI,EACJ,MAAMsI,IAKT84B,MAAO,WACDphC,GACJA,QAWLnB,EAAO+gC,cAAe,SAAUhD,GAC1BA,EAAE2E,cACN3E,EAAE/lB,SAAS3Y,QAAS,KAKtBW,EAAO6gC,UAAW,CACjBR,QAAS,CACRhhC,OAAQ,6FAGT2Y,SAAU,CACT3Y,OAAQ,2BAETmhC,WAAY,CACX2D,cAAe,SAAU5kC,GAExB,OADAS,EAAO0D,WAAYnE,GACZA,MAMVS,EAAO+gC,cAAe,SAAU,SAAUhD,QACxBj7B,IAAZi7B,EAAE7yB,QACN6yB,EAAE7yB,OAAQ,GAEN6yB,EAAE2E,cACN3E,EAAEp/B,KAAO,SAKXqB,EAAOghC,cAAe,SAAU,SAAUjD,GAIxC,IAAI1+B,EAAQ8B,EADb,GAAK48B,EAAE2E,aAAe3E,EAAE+H,YAEvB,MAAO,CACN7C,KAAM,SAAUhpB,EAAG+d,GAClB34B,EAASW,EAAQ,YACf+O,KAAMgvB,EAAE+H,aAAe,IACvBnmB,KAAM,CAAEomB,QAAShI,EAAEiI,cAAepnC,IAAKm/B,EAAEgC,MACzCxa,GAAI,aAAcpkB,EAAW,SAAU8kC,GACvC5mC,EAAOub,SACPzZ,EAAW,KACN8kC,GACJjO,EAAuB,UAAbiO,EAAItnC,KAAmB,IAAM,IAAKsnC,EAAItnC,QAKnD9B,EAAS6C,KAAKC,YAAaN,EAAQ,KAEpCkjC,MAAO,WACDphC,GACJA,QAUL,IAqGKuhB,GArGDwjB,GAAe,GAClBC,GAAS,oBAGVnmC,EAAO6gC,UAAW,CACjBuF,MAAO,WACPC,cAAe,WACd,IAAIllC,EAAW+kC,GAAa5/B,OAAWtG,EAAO+C,QAAU,IAAQlE,GAAMuF,OAEtE,OADAnH,KAAMkE,IAAa,EACZA,KAKTnB,EAAO+gC,cAAe,aAAc,SAAUhD,EAAGuI,EAAkBnH,GAElE,IAAIoH,EAAcC,EAAaC,EAC9BC,GAAuB,IAAZ3I,EAAEqI,QAAqBD,GAAO17B,KAAMszB,EAAEgC,KAChD,MACkB,iBAAXhC,EAAEre,MAE6C,KADnDqe,EAAEqC,aAAe,IACjBtiC,QAAS,sCACXqoC,GAAO17B,KAAMszB,EAAEre,OAAU,QAI5B,GAAKgnB,GAAiC,UAArB3I,EAAEkB,UAAW,GA8D7B,OA3DAsH,EAAexI,EAAEsI,cAAgB/nC,EAAYy/B,EAAEsI,eAC9CtI,EAAEsI,gBACFtI,EAAEsI,cAGEK,EACJ3I,EAAG2I,GAAa3I,EAAG2I,GAAWxjC,QAASijC,GAAQ,KAAOI,IAC/B,IAAZxI,EAAEqI,QACbrI,EAAEgC,MAAS3C,GAAO3yB,KAAMszB,EAAEgC,KAAQ,IAAM,KAAQhC,EAAEqI,MAAQ,IAAMG,GAIjExI,EAAEyC,WAAY,eAAkB,WAI/B,OAHMiG,GACLzmC,EAAOoD,MAAOmjC,EAAe,mBAEvBE,EAAmB,IAI3B1I,EAAEkB,UAAW,GAAM,OAGnBuH,EAAcxpC,EAAQupC,GACtBvpC,EAAQupC,GAAiB,WACxBE,EAAoBnlC,WAIrB69B,EAAM/jB,OAAQ,gBAGQtY,IAAhB0jC,EACJxmC,EAAQhD,GAASq+B,WAAYkL,GAI7BvpC,EAAQupC,GAAiBC,EAIrBzI,EAAGwI,KAGPxI,EAAEsI,cAAgBC,EAAiBD,cAGnCH,GAAaroC,KAAM0oC,IAIfE,GAAqBnoC,EAAYkoC,IACrCA,EAAaC,EAAmB,IAGjCA,EAAoBD,OAAc1jC,IAI5B,WAYTzE,EAAQsoC,qBACHjkB,GAAO7lB,EAAS+pC,eAAeD,mBAAoB,IAAKjkB,MACvD7U,UAAY,6BACiB,IAA3B6U,GAAKlZ,WAAWlJ,QAQxBN,EAAO2X,UAAY,SAAU+H,EAAMxf,EAAS2mC,GAC3C,MAAqB,iBAATnnB,EACJ,IAEgB,kBAAZxf,IACX2mC,EAAc3mC,EACdA,GAAU,GAKLA,IAIA7B,EAAQsoC,qBAMZ9yB,GALA3T,EAAUrD,EAAS+pC,eAAeD,mBAAoB,KAKvCrnC,cAAe,SACzBkT,KAAO3V,EAASsV,SAASK,KAC9BtS,EAAQR,KAAKC,YAAakU,IAE1B3T,EAAUrD,GAKZynB,GAAWuiB,GAAe,IAD1BC,EAASxvB,EAAWnN,KAAMuV,IAKlB,CAAExf,EAAQZ,cAAewnC,EAAQ,MAGzCA,EAASziB,GAAe,CAAE3E,GAAQxf,EAASokB,GAEtCA,GAAWA,EAAQhkB,QACvBN,EAAQskB,GAAU1J,SAGZ5a,EAAOgB,MAAO,GAAI8lC,EAAOt9B,cAlChC,IAAIqK,EAAMizB,EAAQxiB,GAyCnBtkB,EAAOG,GAAGwoB,KAAO,SAAUoX,EAAKgH,EAAQ5lC,GACvC,IAAIlB,EAAUtB,EAAM0kC,EACnB5rB,EAAOxa,KACP2oB,EAAMma,EAAIjiC,QAAS,KAsDpB,OApDY,EAAP8nB,IACJ3lB,EAAWi7B,GAAkB6E,EAAIxiC,MAAOqoB,IACxCma,EAAMA,EAAIxiC,MAAO,EAAGqoB,IAIhBtnB,EAAYyoC,IAGhB5lC,EAAW4lC,EACXA,OAASjkC,GAGEikC,GAA4B,iBAAXA,IAC5BpoC,EAAO,QAIW,EAAd8Y,EAAKnX,QACTN,EAAOihC,KAAM,CACZlB,IAAKA,EAKLphC,KAAMA,GAAQ,MACdqgC,SAAU,OACVtf,KAAMqnB,IACHlhC,KAAM,SAAU+/B,GAGnBvC,EAAW/hC,UAEXmW,EAAKgV,KAAMxsB,EAIVD,EAAQ,SAAUmtB,OAAQntB,EAAO2X,UAAWiuB,IAAiBp4B,KAAMvN,GAGnE2lC,KAKExqB,OAAQja,GAAY,SAAUg+B,EAAOmD,GACxC7qB,EAAKvW,KAAM,WACVC,EAASvD,MAAOX,KAAMomC,GAAY,CAAElE,EAAMyG,aAActD,EAAQnD,QAK5DliC,MAMR+C,EAAO6O,KAAKhI,QAAQmgC,SAAW,SAAU3lC,GACxC,OAAOrB,EAAO2B,KAAM3B,EAAOw5B,OAAQ,SAAUr5B,GAC5C,OAAOkB,IAASlB,EAAGkB,OAChBf,QAMLN,EAAOinC,OAAS,CACfC,UAAW,SAAU7lC,EAAMe,EAASjD,GACnC,IAAIgoC,EAAaC,EAASC,EAAWC,EAAQC,EAAWC,EACvD5X,EAAW5vB,EAAO0hB,IAAKrgB,EAAM,YAC7BomC,EAAUznC,EAAQqB,GAClB2nB,EAAQ,GAGS,WAAb4G,IACJvuB,EAAKmgB,MAAMoO,SAAW,YAGvB2X,EAAYE,EAAQR,SACpBI,EAAYrnC,EAAO0hB,IAAKrgB,EAAM,OAC9BmmC,EAAaxnC,EAAO0hB,IAAKrgB,EAAM,SACI,aAAbuuB,GAAwC,UAAbA,KACA,GAA9CyX,EAAYG,GAAa1pC,QAAS,SAMpCwpC,GADAH,EAAcM,EAAQ7X,YACD7iB,IACrBq6B,EAAUD,EAAYzS,OAGtB4S,EAASrX,WAAYoX,IAAe,EACpCD,EAAUnX,WAAYuX,IAAgB,GAGlClpC,EAAY8D,KAGhBA,EAAUA,EAAQ1E,KAAM2D,EAAMlC,EAAGa,EAAOmC,OAAQ,GAAIolC,KAGjC,MAAfnlC,EAAQ2K,MACZic,EAAMjc,IAAQ3K,EAAQ2K,IAAMw6B,EAAUx6B,IAAQu6B,GAE1B,MAAhBllC,EAAQsyB,OACZ1L,EAAM0L,KAAStyB,EAAQsyB,KAAO6S,EAAU7S,KAAS0S,GAG7C,UAAWhlC,EACfA,EAAQslC,MAAMhqC,KAAM2D,EAAM2nB,IAGA,iBAAdA,EAAMjc,MACjBic,EAAMjc,KAAO,MAEa,iBAAfic,EAAM0L,OACjB1L,EAAM0L,MAAQ,MAEf+S,EAAQ/lB,IAAKsH,MAKhBhpB,EAAOG,GAAGgC,OAAQ,CAGjB8kC,OAAQ,SAAU7kC,GAGjB,GAAKd,UAAUhB,OACd,YAAmBwC,IAAZV,EACNnF,KACAA,KAAKiE,KAAM,SAAU/B,GACpBa,EAAOinC,OAAOC,UAAWjqC,KAAMmF,EAASjD,KAI3C,IAAIwoC,EAAMC,EACTvmC,EAAOpE,KAAM,GAEd,OAAMoE,EAQAA,EAAKwxB,iBAAiBvyB,QAK5BqnC,EAAOtmC,EAAKmzB,wBACZoT,EAAMvmC,EAAK6I,cAAc4C,YAClB,CACNC,IAAK46B,EAAK56B,IAAM66B,EAAIC,YACpBnT,KAAMiT,EAAKjT,KAAOkT,EAAIE,cARf,CAAE/6B,IAAK,EAAG2nB,KAAM,QATxB,GAuBD9E,SAAU,WACT,GAAM3yB,KAAM,GAAZ,CAIA,IAAI8qC,EAAcd,EAAQ/nC,EACzBmC,EAAOpE,KAAM,GACb+qC,EAAe,CAAEj7B,IAAK,EAAG2nB,KAAM,GAGhC,GAAwC,UAAnC10B,EAAO0hB,IAAKrgB,EAAM,YAGtB4lC,EAAS5lC,EAAKmzB,4BAER,CACNyS,EAAShqC,KAAKgqC,SAId/nC,EAAMmC,EAAK6I,cACX69B,EAAe1mC,EAAK0mC,cAAgB7oC,EAAIyN,gBACxC,MAAQo7B,IACLA,IAAiB7oC,EAAIwjB,MAAQqlB,IAAiB7oC,EAAIyN,kBACT,WAA3C3M,EAAO0hB,IAAKqmB,EAAc,YAE1BA,EAAeA,EAAanoC,WAExBmoC,GAAgBA,IAAiB1mC,GAAkC,IAA1B0mC,EAAavpC,YAG1DwpC,EAAehoC,EAAQ+nC,GAAed,UACzBl6B,KAAO/M,EAAO0hB,IAAKqmB,EAAc,kBAAkB,GAChEC,EAAatT,MAAQ10B,EAAO0hB,IAAKqmB,EAAc,mBAAmB,IAKpE,MAAO,CACNh7B,IAAKk6B,EAAOl6B,IAAMi7B,EAAaj7B,IAAM/M,EAAO0hB,IAAKrgB,EAAM,aAAa,GACpEqzB,KAAMuS,EAAOvS,KAAOsT,EAAatT,KAAO10B,EAAO0hB,IAAKrgB,EAAM,cAAc,MAc1E0mC,aAAc,WACb,OAAO9qC,KAAKmE,IAAK,WAChB,IAAI2mC,EAAe9qC,KAAK8qC,aAExB,MAAQA,GAA2D,WAA3C/nC,EAAO0hB,IAAKqmB,EAAc,YACjDA,EAAeA,EAAaA,aAG7B,OAAOA,GAAgBp7B,QAM1B3M,EAAOkB,KAAM,CAAE00B,WAAY,cAAeD,UAAW,eAAiB,SAAUhc,EAAQgG,GACvF,IAAI5S,EAAM,gBAAkB4S,EAE5B3f,EAAOG,GAAIwZ,GAAW,SAAUva,GAC/B,OAAOgf,EAAQnhB,KAAM,SAAUoE,EAAMsY,EAAQva,GAG5C,IAAIwoC,EAOJ,GANKnpC,EAAU4C,GACdumC,EAAMvmC,EACuB,IAAlBA,EAAK7C,WAChBopC,EAAMvmC,EAAKyL,kBAGChK,IAAR1D,EACJ,OAAOwoC,EAAMA,EAAKjoB,GAASte,EAAMsY,GAG7BiuB,EACJA,EAAIK,SACFl7B,EAAY66B,EAAIE,YAAV1oC,EACP2N,EAAM3N,EAAMwoC,EAAIC,aAIjBxmC,EAAMsY,GAAWva,GAEhBua,EAAQva,EAAKkC,UAAUhB,WAU5BN,EAAOkB,KAAM,CAAE,MAAO,QAAU,SAAUsD,EAAImb,GAC7C3f,EAAOgzB,SAAUrT,GAASmP,GAAczwB,EAAQiyB,cAC/C,SAAUjvB,EAAMmtB,GACf,GAAKA,EAIJ,OAHAA,EAAWD,GAAQltB,EAAMse,GAGlBqO,GAAUvjB,KAAM+jB,GACtBxuB,EAAQqB,GAAOuuB,WAAYjQ,GAAS,KACpC6O,MAQLxuB,EAAOkB,KAAM,CAAEgnC,OAAQ,SAAUC,MAAO,SAAW,SAAU9lC,EAAM1D,GAClEqB,EAAOkB,KAAM,CAAE0zB,QAAS,QAAUvyB,EAAM2W,QAASra,EAAMypC,GAAI,QAAU/lC,GACpE,SAAUgmC,EAAcC,GAGxBtoC,EAAOG,GAAImoC,GAAa,SAAU3T,EAAQxwB,GACzC,IAAIka,EAAY/c,UAAUhB,SAAY+nC,GAAkC,kBAAX1T,GAC5DpC,EAAQ8V,KAA6B,IAAX1T,IAA6B,IAAVxwB,EAAiB,SAAW,UAE1E,OAAOia,EAAQnhB,KAAM,SAAUoE,EAAM1C,EAAMwF,GAC1C,IAAIjF,EAEJ,OAAKT,EAAU4C,GAGyB,IAAhCinC,EAASxqC,QAAS,SACxBuD,EAAM,QAAUgB,GAChBhB,EAAKxE,SAAS8P,gBAAiB,SAAWtK,GAIrB,IAAlBhB,EAAK7C,UACTU,EAAMmC,EAAKsL,gBAIJ3J,KAAKgvB,IACX3wB,EAAKqhB,KAAM,SAAWrgB,GAAQnD,EAAK,SAAWmD,GAC9ChB,EAAKqhB,KAAM,SAAWrgB,GAAQnD,EAAK,SAAWmD,GAC9CnD,EAAK,SAAWmD,UAIDS,IAAVqB,EAGNnE,EAAO0hB,IAAKrgB,EAAM1C,EAAM4zB,GAGxBvyB,EAAOwhB,MAAOngB,EAAM1C,EAAMwF,EAAOouB,IAChC5zB,EAAM0f,EAAYsW,OAAS7xB,EAAWub,QAM5Cre,EAAOkB,KAAM,CACZ,YACA,WACA,eACA,YACA,cACA,YACE,SAAUsD,EAAI7F,GAChBqB,EAAOG,GAAIxB,GAAS,SAAUwB,GAC7B,OAAOlD,KAAKsoB,GAAI5mB,EAAMwB,MAOxBH,EAAOG,GAAGgC,OAAQ,CAEjB41B,KAAM,SAAUvS,EAAO9F,EAAMvf,GAC5B,OAAOlD,KAAKsoB,GAAIC,EAAO,KAAM9F,EAAMvf,IAEpCooC,OAAQ,SAAU/iB,EAAOrlB,GACxB,OAAOlD,KAAK2oB,IAAKJ,EAAO,KAAMrlB,IAG/BqoC,SAAU,SAAUvoC,EAAUulB,EAAO9F,EAAMvf,GAC1C,OAAOlD,KAAKsoB,GAAIC,EAAOvlB,EAAUyf,EAAMvf,IAExCsoC,WAAY,SAAUxoC,EAAUulB,EAAOrlB,GAGtC,OAA4B,IAArBmB,UAAUhB,OAChBrD,KAAK2oB,IAAK3lB,EAAU,MACpBhD,KAAK2oB,IAAKJ,EAAOvlB,GAAY,KAAME,IAGrCuoC,MAAO,SAAUC,EAAQC,GACxB,OAAO3rC,KAAKmuB,WAAYud,GAAStd,WAAYud,GAASD,MAIxD3oC,EAAOkB,KAAM,wLAEgDqD,MAAO,KACnE,SAAUC,EAAInC,GAGbrC,EAAOG,GAAIkC,GAAS,SAAUqd,EAAMvf,GACnC,OAA0B,EAAnBmB,UAAUhB,OAChBrD,KAAKsoB,GAAIljB,EAAM,KAAMqd,EAAMvf,GAC3BlD,KAAKopB,QAAShkB,MASlB,IAAI2E,GAAQ,qCAMZhH,EAAO6oC,MAAQ,SAAU1oC,EAAID,GAC5B,IAAIyN,EAAK6D,EAAMq3B,EAUf,GARwB,iBAAZ3oC,IACXyN,EAAMxN,EAAID,GACVA,EAAUC,EACVA,EAAKwN,GAKArP,EAAY6B,GAalB,OARAqR,EAAOjU,EAAMG,KAAM4D,UAAW,IAC9BunC,EAAQ,WACP,OAAO1oC,EAAGvC,MAAOsC,GAAWjD,KAAMuU,EAAK7T,OAAQJ,EAAMG,KAAM4D,eAItD8C,KAAOjE,EAAGiE,KAAOjE,EAAGiE,MAAQpE,EAAOoE,OAElCykC,GAGR7oC,EAAO8oC,UAAY,SAAUC,GACvBA,EACJ/oC,EAAOge,YAEPhe,EAAO4X,OAAO,IAGhB5X,EAAO6C,QAAUD,MAAMC,QACvB7C,EAAOgpC,UAAY9oB,KAAKC,MACxBngB,EAAOqJ,SAAWA,EAClBrJ,EAAO1B,WAAaA,EACpB0B,EAAOvB,SAAWA,EAClBuB,EAAOgf,UAAYA,EACnBhf,EAAOrB,KAAOmB,EAEdE,EAAOqpB,IAAM3jB,KAAK2jB,IAElBrpB,EAAOipC,UAAY,SAAU1qC,GAK5B,IAAII,EAAOqB,EAAOrB,KAAMJ,GACxB,OAAkB,WAATI,GAA8B,WAATA,KAK5BuqC,MAAO3qC,EAAM0xB,WAAY1xB,KAG5ByB,EAAOmpC,KAAO,SAAU5pC,GACvB,OAAe,MAARA,EACN,IACEA,EAAO,IAAK2D,QAAS8D,GAAO,KAkBT,mBAAXoiC,QAAyBA,OAAOC,KAC3CD,OAAQ,SAAU,GAAI,WACrB,OAAOppC,IAOT,IAGCspC,GAAUtsC,EAAOgD,OAGjBupC,GAAKvsC,EAAOwsC,EAwBb,OAtBAxpC,EAAOypC,WAAa,SAAU/mC,GAS7B,OARK1F,EAAOwsC,IAAMxpC,IACjBhD,EAAOwsC,EAAID,IAGP7mC,GAAQ1F,EAAOgD,SAAWA,IAC9BhD,EAAOgD,OAASspC,IAGVtpC,GAMiB,oBAAb9C,IACXF,EAAOgD,OAAShD,EAAOwsC,EAAIxpC,GAMrBA","file":"jquery.min.js"} \ No newline at end of file +{"version":3,"sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.min.js"} \ No newline at end of file diff --git a/conf/site/node_modules/jquery/dist/jquery.slim.js b/conf/site/node_modules/jquery/dist/jquery.slim.js index 0f032be5..790e7ec8 100644 --- a/conf/site/node_modules/jquery/dist/jquery.slim.js +++ b/conf/site/node_modules/jquery/dist/jquery.slim.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector + * jQuery JavaScript Library v3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector * https://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * https://jquery.org/license * - * Date: 2020-04-10T15:07Z + * Date: 2020-05-04T22:49Z */ ( function( global, factory ) { @@ -147,7 +147,7 @@ function toType( obj ) { var - version = "3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector", + version = "3.5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -4244,7 +4244,7 @@ Data.prototype = { // If not, create one if ( !value ) { - value = Object.create( null ); + value = {}; // We can accept data for non-element nodes in modern browsers, // but we should not, see #8335. diff --git a/conf/site/node_modules/jquery/dist/jquery.slim.min.js b/conf/site/node_modules/jquery/dist/jquery.slim.min.js index a3bdd462..36b4e1a1 100644 --- a/conf/site/node_modules/jquery/dist/jquery.slim.min.js +++ b/conf/site/node_modules/jquery/dist/jquery.slim.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="",m.option=!!le.lastChild;var he={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n
",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="",m.option=!!le.lastChild;var he={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n
",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","create","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","opt","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","cssHooks","opacity","cssNumber","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","initialInUnit","adjustCSS","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","propHooks","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","hidden","visible","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"} \ No newline at end of file +{"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","opt","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","cssHooks","opacity","cssNumber","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","initialInUnit","adjustCSS","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","propHooks","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","hidden","visible","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"} \ No newline at end of file diff --git a/conf/site/node_modules/jquery/package.json b/conf/site/node_modules/jquery/package.json index c0505a54..3cfad593 100644 --- a/conf/site/node_modules/jquery/package.json +++ b/conf/site/node_modules/jquery/package.json @@ -1,36 +1,36 @@ { "_args": [ [ - "jquery@3.5.0", + "jquery@3.5.1", "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site" ] ], "_development": true, - "_from": "jquery@3.5.0", - "_id": "jquery@3.5.0", + "_from": "jquery@3.5.1", + "_id": "jquery@3.5.1", "_inBundle": false, - "_integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==", + "_integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==", "_location": "/jquery", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "jquery@3.5.0", + "raw": "jquery@3.5.1", "name": "jquery", "escapedName": "jquery", - "rawSpec": "3.5.0", + "rawSpec": "3.5.1", "saveSpec": null, - "fetchSpec": "3.5.0" + "fetchSpec": "3.5.1" }, "_requiredBy": [ "#DEV:/" ], - "_resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", - "_spec": "3.5.0", + "_resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "_spec": "3.5.1", "_where": "/home/henry/Documents/git/Speedtest-tracker-docker/conf/site", "author": { "name": "JS Foundation and other contributors", - "url": "https://github.com/jquery/jquery/blob/3.5.0/AUTHORS.txt" + "url": "https://github.com/jquery/jquery/blob/3.5.1/AUTHORS.txt" }, "bugs": { "url": "https://github.com/jquery/jquery/issues" @@ -142,5 +142,5 @@ "test:slim": "grunt test:prepare && grunt custom:slim && grunt karma:main" }, "title": "jQuery", - "version": "3.5.0" + "version": "3.5.1" } diff --git a/conf/site/node_modules/jquery/src/core.js b/conf/site/node_modules/jquery/src/core.js index c1c13f40..d43cae32 100644 --- a/conf/site/node_modules/jquery/src/core.js +++ b/conf/site/node_modules/jquery/src/core.js @@ -26,7 +26,7 @@ define( [ "use strict"; var - version = "3.5.0", + version = "3.5.1", // Define a local copy of jQuery jQuery = function( selector, context ) { diff --git a/conf/site/node_modules/jquery/src/data/Data.js b/conf/site/node_modules/jquery/src/data/Data.js index ce6d8fa9..31ff4318 100644 --- a/conf/site/node_modules/jquery/src/data/Data.js +++ b/conf/site/node_modules/jquery/src/data/Data.js @@ -22,7 +22,7 @@ Data.prototype = { // If not, create one if ( !value ) { - value = Object.create( null ); + value = {}; // We can accept data for non-element nodes in modern browsers, // but we should not, see #8335. diff --git a/conf/site/node_modules/react-bootstrap/Accordion.d.ts b/conf/site/node_modules/react-bootstrap/Accordion.d.ts index c9a2f34f..b6840e6d 100644 --- a/conf/site/node_modules/react-bootstrap/Accordion.d.ts +++ b/conf/site/node_modules/react-bootstrap/Accordion.d.ts @@ -3,18 +3,17 @@ import * as React from 'react'; import AccordionCollapse from './AccordionCollapse'; import AccordionToggle from './AccordionToggle'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface AccordionProps { activeKey?: string; defaultActiveKey?: string; } -declare class Accordion< - As extends React.ElementType = 'div' -> extends BsPrefixComponent { - static Toggle: typeof AccordionToggle; - static Collapse: typeof AccordionCollapse; +declare interface Accordion + extends BsPrefixRefForwardingComponent<'div', AccordionProps> { + Toggle: typeof AccordionToggle; + Collapse: typeof AccordionCollapse; } - +declare const Accordion: Accordion; export default Accordion; diff --git a/conf/site/node_modules/react-bootstrap/AccordionCollapse.d.ts b/conf/site/node_modules/react-bootstrap/AccordionCollapse.d.ts index 7449ea2d..b367245c 100644 --- a/conf/site/node_modules/react-bootstrap/AccordionCollapse.d.ts +++ b/conf/site/node_modules/react-bootstrap/AccordionCollapse.d.ts @@ -1,8 +1,8 @@ import * as React from 'react'; -import Collapse, { CollapseProps } from './Collapse'; +import { CollapseProps } from './Collapse'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface AccordionCollapseProps extends CollapseProps, @@ -10,9 +10,8 @@ export interface AccordionCollapseProps eventKey: string; } -declare class AccordionCollapse extends BsPrefixComponent< - typeof Collapse, - AccordionCollapseProps -> {} +declare interface AccordionCollapse + extends BsPrefixRefForwardingComponent<'div', AccordionCollapseProps> {} +declare const AccordionCollapse: AccordionCollapse; export default AccordionCollapse; diff --git a/conf/site/node_modules/react-bootstrap/AccordionToggle.d.ts b/conf/site/node_modules/react-bootstrap/AccordionToggle.d.ts index d5f67975..f836dc03 100644 --- a/conf/site/node_modules/react-bootstrap/AccordionToggle.d.ts +++ b/conf/site/node_modules/react-bootstrap/AccordionToggle.d.ts @@ -1,6 +1,6 @@ import * as React from 'react'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface AccordionToggleProps { eventKey: string; @@ -12,8 +12,8 @@ export function useAccordionToggle( onClick: (event?: React.SyntheticEvent) => void, ): (event?: React.SyntheticEvent) => void; -declare class AccordionToggle< - As extends React.ElementType = 'button' -> extends BsPrefixComponent {} +declare interface AccordionToggle + extends BsPrefixRefForwardingComponent<'div', AccordionToggleProps> {} +declare const AccordionToggle: AccordionToggle; export default AccordionToggle; diff --git a/conf/site/node_modules/react-bootstrap/Dropdown.d.ts b/conf/site/node_modules/react-bootstrap/Dropdown.d.ts index 8e875ccb..c50310e7 100644 --- a/conf/site/node_modules/react-bootstrap/Dropdown.d.ts +++ b/conf/site/node_modules/react-bootstrap/Dropdown.d.ts @@ -24,6 +24,7 @@ export interface DropdownProps { event: React.SyntheticEvent, metadata: { source: 'select' | 'click' | 'rootClose' | 'keydown' }, ) => void; + focusFirstItemOnShow?: boolean | 'keyboard'; onSelect?: SelectCallback; } diff --git a/conf/site/node_modules/react-bootstrap/DropdownButton.d.ts b/conf/site/node_modules/react-bootstrap/DropdownButton.d.ts index 2636e5e0..e3a7fcf3 100644 --- a/conf/site/node_modules/react-bootstrap/DropdownButton.d.ts +++ b/conf/site/node_modules/react-bootstrap/DropdownButton.d.ts @@ -16,6 +16,7 @@ export interface DropdownButtonProps extends PropsFromToggle { id: string; title: React.ReactNode; menuRole?: string; + renderMenuOnMount?: boolean; rootCloseEvent?: 'click' | 'mousedown'; bsPrefix?: string; } diff --git a/conf/site/node_modules/react-bootstrap/DropdownItem.d.ts b/conf/site/node_modules/react-bootstrap/DropdownItem.d.ts index 3f16529f..1b04e83a 100644 --- a/conf/site/node_modules/react-bootstrap/DropdownItem.d.ts +++ b/conf/site/node_modules/react-bootstrap/DropdownItem.d.ts @@ -1,6 +1,6 @@ import * as React from 'react'; -import SafeAnchor, { SafeAnchorProps } from './SafeAnchor'; +import { SafeAnchorProps } from './SafeAnchor'; import { BsPrefixComponent, diff --git a/conf/site/node_modules/react-bootstrap/DropdownMenu.d.ts b/conf/site/node_modules/react-bootstrap/DropdownMenu.d.ts index ec6ec745..38377503 100644 --- a/conf/site/node_modules/react-bootstrap/DropdownMenu.d.ts +++ b/conf/site/node_modules/react-bootstrap/DropdownMenu.d.ts @@ -4,6 +4,7 @@ import { BsPrefixComponent, SelectCallback } from './helpers'; export interface DropdownMenuProps { show?: boolean; + renderOnMount?: boolean; flip?: boolean; alignRight?: boolean; onSelect?: SelectCallback; diff --git a/conf/site/node_modules/react-bootstrap/Form.d.ts b/conf/site/node_modules/react-bootstrap/Form.d.ts index 8996701e..9070b450 100644 --- a/conf/site/node_modules/react-bootstrap/Form.d.ts +++ b/conf/site/node_modules/react-bootstrap/Form.d.ts @@ -7,28 +7,27 @@ import FormGroup from './FormGroup'; import FormLabel from './FormLabel'; import FormText from './FormText'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixComponent, BsPrefixRefForwardingComponent } from './helpers'; export class FormRow< As extends React.ElementType = 'div' > extends BsPrefixComponent {} export interface FormProps { - innerRef?: React.LegacyRef; inline?: boolean; validated?: boolean; } -declare class Form< - As extends React.ElementType = 'form' -> extends BsPrefixComponent { - static Row: typeof FormRow; - static Group: typeof FormGroup; - static Control: typeof FormControl; - static Check: typeof FormCheck; - static File: typeof FormFile; - static Label: typeof FormLabel; - static Text: typeof FormText; +declare interface Form + extends BsPrefixRefForwardingComponent<'form', FormProps> { + Row: typeof FormRow; + Group: typeof FormGroup; + Control: typeof FormControl; + Check: typeof FormCheck; + File: typeof FormFile; + Label: typeof FormLabel; + Text: typeof FormText; } +declare const Form: Form; export default Form; diff --git a/conf/site/node_modules/react-bootstrap/FormCheck.d.ts b/conf/site/node_modules/react-bootstrap/FormCheck.d.ts index d5ae3d73..a187f84c 100644 --- a/conf/site/node_modules/react-bootstrap/FormCheck.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormCheck.d.ts @@ -1,11 +1,10 @@ import * as React from 'react'; import FormCheckInput from './FormCheckInput'; import FormCheckLabel from './FormCheckLabel'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormCheckProps { bsCustomPrefix?: string; - innerRef?: React.LegacyRef; id?: string; inline?: boolean; disabled?: boolean; @@ -18,11 +17,12 @@ export interface FormCheckProps { feedback?: React.ReactNode; } -declare class FormCheck< - As extends React.ElementType = 'input' -> extends BsPrefixComponent { - static Input: typeof FormCheckInput; - static Label: typeof FormCheckLabel; +declare interface FormCheck + extends BsPrefixRefForwardingComponent<'input', FormCheckProps> { + Input: typeof FormCheckInput; + Label: typeof FormCheckLabel; } +declare const FormCheck: FormCheck; + export default FormCheck; diff --git a/conf/site/node_modules/react-bootstrap/FormCheckInput.d.ts b/conf/site/node_modules/react-bootstrap/FormCheckInput.d.ts index 076e4c50..b40563b8 100644 --- a/conf/site/node_modules/react-bootstrap/FormCheckInput.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormCheckInput.d.ts @@ -1,6 +1,4 @@ -import * as React from 'react'; - -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormCheckInputProps { id?: string; @@ -8,11 +6,11 @@ export interface FormCheckInputProps { isStatic?: boolean; isValid?: boolean; isInvalid?: boolean; - innerRef?: React.LegacyRef; } -declare class FormCheckInput< - As extends React.ElementType = 'input' -> extends BsPrefixComponent {} +declare interface FormCheckInput + extends BsPrefixRefForwardingComponent<'input', FormCheckInputProps> {} + +declare const FormCheckInput: FormCheckInput; export default FormCheckInput; diff --git a/conf/site/node_modules/react-bootstrap/FormCheckLabel.d.ts b/conf/site/node_modules/react-bootstrap/FormCheckLabel.d.ts index 2247d80a..303ba3ba 100644 --- a/conf/site/node_modules/react-bootstrap/FormCheckLabel.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormCheckLabel.d.ts @@ -1,15 +1,12 @@ -import * as React from 'react'; - -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormCheckLabelProps { htmlFor?: string; - innerRef?: React.LegacyRef; } -declare class FormCheckLabel extends BsPrefixComponent< - 'label', - FormCheckLabelProps -> {} +declare interface FormCheckLabel + extends BsPrefixRefForwardingComponent<'label', FormCheckLabelProps> {} + +declare const FormCheckLabel: FormCheckLabel; export default FormCheckLabel; diff --git a/conf/site/node_modules/react-bootstrap/FormControl.d.ts b/conf/site/node_modules/react-bootstrap/FormControl.d.ts index 33279c96..0314f88b 100644 --- a/conf/site/node_modules/react-bootstrap/FormControl.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormControl.d.ts @@ -1,6 +1,6 @@ import * as React from 'react'; import Feedback from './Feedback'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; type FormControlElement = | HTMLInputElement @@ -8,13 +8,12 @@ type FormControlElement = | HTMLTextAreaElement; export interface FormControlProps { - innerRef?: React.LegacyRef; size?: 'sm' | 'lg'; plaintext?: boolean; readOnly?: boolean; disabled?: boolean; value?: string | string[] | number; - onChange?: React.FormEventHandler; + onChange?: React.ChangeEventHandler; custom?: boolean; type?: string; id?: string; @@ -22,10 +21,11 @@ export interface FormControlProps { isInvalid?: boolean; } -declare class FormControl< - As extends React.ElementType = 'input' -> extends BsPrefixComponent { - static Feedback: typeof Feedback; +declare interface FormControl + extends BsPrefixRefForwardingComponent<'input', FormControlProps> { + Feedback: typeof Feedback; } +declare const FormControl: FormControl; + export default FormControl; diff --git a/conf/site/node_modules/react-bootstrap/FormFile.d.ts b/conf/site/node_modules/react-bootstrap/FormFile.d.ts index 4b0b8e77..dd89f749 100644 --- a/conf/site/node_modules/react-bootstrap/FormFile.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormFile.d.ts @@ -1,7 +1,7 @@ import * as React from 'react'; import FormFileInput from './FormFileInput'; import FormFileLabel from './FormFileLabel'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormFileProps { bsCustomPrefix?: string; @@ -15,11 +15,12 @@ export interface FormFileProps { lang?: string; } -declare class FormFile< - As extends React.ElementType = 'input' -> extends BsPrefixComponent { - static Input: typeof FormFileInput; - static Label: typeof FormFileLabel; +declare interface FormFile + extends BsPrefixRefForwardingComponent<'input', FormFileProps> { + Input: typeof FormFileInput; + Label: typeof FormFileLabel; } +declare const FormFile: FormFile; + export default FormFile; diff --git a/conf/site/node_modules/react-bootstrap/FormFileInput.d.ts b/conf/site/node_modules/react-bootstrap/FormFileInput.d.ts index 6fd61666..a35960dc 100644 --- a/conf/site/node_modules/react-bootstrap/FormFileInput.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormFileInput.d.ts @@ -1,6 +1,4 @@ -import * as React from 'react'; - -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormFileInputProps { id?: string; @@ -9,8 +7,9 @@ export interface FormFileInputProps { lang?: string; } -declare class FormFileInput< - As extends React.ElementType = 'input' -> extends BsPrefixComponent {} +declare interface FormFileInput + extends BsPrefixRefForwardingComponent<'input', FormFileInputProps> {} + +declare const FormFileInput: FormFileInput; export default FormFileInput; diff --git a/conf/site/node_modules/react-bootstrap/FormFileLabel.d.ts b/conf/site/node_modules/react-bootstrap/FormFileLabel.d.ts index b95c7343..9c40d3fd 100644 --- a/conf/site/node_modules/react-bootstrap/FormFileLabel.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormFileLabel.d.ts @@ -1,14 +1,12 @@ -import * as React from 'react'; - -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormFileLabelProps { htmlFor?: string; } -declare class FormFileLabel extends BsPrefixComponent< - 'label', - FormFileLabelProps -> {} +declare interface FormFileLabel + extends BsPrefixRefForwardingComponent<'label', FormFileLabelProps> {} + +declare const FormFileLabel: FormFileLabel; export default FormFileLabel; diff --git a/conf/site/node_modules/react-bootstrap/FormGroup.d.ts b/conf/site/node_modules/react-bootstrap/FormGroup.d.ts index 67ca2b4e..4a28b68a 100644 --- a/conf/site/node_modules/react-bootstrap/FormGroup.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormGroup.d.ts @@ -1,13 +1,12 @@ import * as React from 'react'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormGroupProps { - innerRef?: React.LegacyRef; controlId?: string; } -declare class FormGroup< - As extends React.ElementType = 'div' -> extends BsPrefixComponent {} +declare interface FormGroup + extends BsPrefixRefForwardingComponent<'div', FormGroupProps> {} +declare const FormGroup: FormGroup; export default FormGroup; diff --git a/conf/site/node_modules/react-bootstrap/FormLabel.d.ts b/conf/site/node_modules/react-bootstrap/FormLabel.d.ts index cfad45db..992d0a98 100644 --- a/conf/site/node_modules/react-bootstrap/FormLabel.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormLabel.d.ts @@ -2,11 +2,10 @@ import * as React from 'react'; import { ColProps } from './Col'; -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; interface FormLabelBaseProps { htmlFor?: string; - innerRef?: React.LegacyRef; srOnly?: boolean; } @@ -15,13 +14,14 @@ export interface FormLabelOwnProps extends FormLabelBaseProps { } export interface FormLabelWithColProps extends FormLabelBaseProps, ColProps { - column: true; + column: true | 'sm' | 'lg'; } export type FormLabelProps = FormLabelWithColProps | FormLabelOwnProps; -declare class FormLabel< - As extends React.ElementType = 'label' -> extends BsPrefixComponent {} +declare interface FormLabel + extends BsPrefixRefForwardingComponent<'label', FormLabelProps> {} + +declare const FormLabel: FormLabel; export default FormLabel; diff --git a/conf/site/node_modules/react-bootstrap/FormText.d.ts b/conf/site/node_modules/react-bootstrap/FormText.d.ts index aa28d328..c33347a7 100644 --- a/conf/site/node_modules/react-bootstrap/FormText.d.ts +++ b/conf/site/node_modules/react-bootstrap/FormText.d.ts @@ -1,14 +1,12 @@ -import * as React from 'react'; - -import { BsPrefixComponent } from './helpers'; +import { BsPrefixRefForwardingComponent } from './helpers'; export interface FormTextProps { - innerRef?: React.LegacyRef; muted?: boolean; } -declare class FormText< - As extends React.ElementType = 'small' -> extends BsPrefixComponent {} +declare interface FormText + extends BsPrefixRefForwardingComponent<'small', FormTextProps> {} + +declare const FormText: FormText; export default FormText; diff --git a/conf/site/node_modules/react-bootstrap/Modal.d.ts b/conf/site/node_modules/react-bootstrap/Modal.d.ts index 14511268..e5815e32 100644 --- a/conf/site/node_modules/react-bootstrap/Modal.d.ts +++ b/conf/site/node_modules/react-bootstrap/Modal.d.ts @@ -1,4 +1,5 @@ import * as React from 'react'; +import * as BaseModal from 'react-overlays/Modal'; import ModalBody from './ModalBody'; import ModalDialog from './ModalDialog'; @@ -6,28 +7,24 @@ import ModalFooter from './ModalFooter'; import ModalHeader from './ModalHeader'; import ModalTitle from './ModalTitle'; -import { BsPrefixComponent, TransitionCallbacks } from './helpers'; +import { BsPrefixComponent } from './helpers'; -export interface ModalProps extends TransitionCallbacks { +export interface ModalProps + extends Omit< + BaseModal.ModalProps, + | 'role' + | 'renderBackdrop' + | 'renderDialog' + | 'transition' + | 'backdropTransition' + > { size?: 'sm' | 'lg' | 'xl'; centered?: boolean; - backdrop?: 'static' | boolean; backdropClassName?: string; - keyboard?: boolean; animation?: boolean; dialogClassName?: string; dialogAs?: React.ElementType; - autoFocus?: boolean; - enforceFocus?: boolean; - restoreFocus?: boolean; - restoreFocusOptions?: FocusOptions; - show?: boolean; - onShow?: () => void; - onHide?: () => void; - container?: any; scrollable?: boolean; - onEscapeKeyDown?: () => void; - manager?: any; } declare class Modal< diff --git a/conf/site/node_modules/react-bootstrap/NavDropdown.d.ts b/conf/site/node_modules/react-bootstrap/NavDropdown.d.ts index e3a865cf..c2db883c 100644 --- a/conf/site/node_modules/react-bootstrap/NavDropdown.d.ts +++ b/conf/site/node_modules/react-bootstrap/NavDropdown.d.ts @@ -10,6 +10,7 @@ export interface NavDropdownProps { disabled?: boolean; active?: boolean; menuRole?: string; + renderMenuOnMount?: boolean; rootCloseEvent?: 'click' | 'mousedown'; bsPrefix?: string; } diff --git a/conf/site/node_modules/react-bootstrap/Overlay.d.ts b/conf/site/node_modules/react-bootstrap/Overlay.d.ts index 90fa1aa9..3a431d75 100644 --- a/conf/site/node_modules/react-bootstrap/Overlay.d.ts +++ b/conf/site/node_modules/react-bootstrap/Overlay.d.ts @@ -1,28 +1,16 @@ import * as React from 'react'; +import * as BaseOverlay from 'react-overlays/Overlay'; -import { TransitionCallbacks } from './helpers'; - -type ComponentOrElement = React.ReactInstance | Node; -export type Placement = - | 'auto-start' - | 'auto' - | 'auto-end' - | 'top-start' - | 'top' - | 'top-end' - | 'right-start' - | 'right' - | 'right-end' - | 'bottom-end' - | 'bottom' - | 'bottom-start' - | 'left-end' - | 'left' - | 'left-start'; +export type Placement = import('react-overlays/usePopper').Placement; export interface OverlayInjectedProps { + ref: (instance: HTMLElement) => void; + style: React.CSSProperties; + 'aria-labelledby'?: string; + + arrowProps: { ref: any; style: object }; + show: boolean; - arrowProps: Record; popper: { state: any; outOfBoundaries: boolean; @@ -36,19 +24,13 @@ export type OverlayChildren = | React.ReactElement | ((injected: OverlayInjectedProps) => React.ReactNode); -export interface OverlayProps extends TransitionCallbacks { +export interface OverlayProps + extends Omit { children: OverlayChildren; - container?: ComponentOrElement | ((props: object) => ComponentOrElement); - target?: ComponentOrElement | ((props: object) => ComponentOrElement); - show?: boolean; - popperConfig?: object; - rootClose?: boolean; - rootCloseEvent?: 'click' | 'mousedown'; - onHide?: (event: React.SyntheticEvent) => void; - transition?: boolean | React.ElementType; + transition?: boolean | BaseOverlay.OverlayProps['transition']; placement?: Placement; } -declare class Overlay extends React.Component {} +declare const Overlay: React.FunctionComponent; export default Overlay; diff --git a/conf/site/node_modules/react-bootstrap/OverlayTrigger.d.ts b/conf/site/node_modules/react-bootstrap/OverlayTrigger.d.ts index eeaf9341..53775925 100644 --- a/conf/site/node_modules/react-bootstrap/OverlayTrigger.d.ts +++ b/conf/site/node_modules/react-bootstrap/OverlayTrigger.d.ts @@ -2,11 +2,12 @@ import * as React from 'react'; import { OverlayChildren, OverlayProps } from './Overlay'; -type TriggerType = 'hover' | 'click' | 'focus'; +export type OverlayTriggerType = 'hover' | 'click' | 'focus'; -export interface OverlayTriggerProps extends Omit { +export interface OverlayTriggerProps + extends Omit { children: React.ReactNode; - trigger?: TriggerType | TriggerType[]; + trigger?: OverlayTriggerType | OverlayTriggerType[]; delay?: number | { show: number; hide: number }; defaultShow?: boolean; flip?: boolean; diff --git a/conf/site/node_modules/react-bootstrap/Popover.d.ts b/conf/site/node_modules/react-bootstrap/Popover.d.ts index f5597151..b65d1762 100644 --- a/conf/site/node_modules/react-bootstrap/Popover.d.ts +++ b/conf/site/node_modules/react-bootstrap/Popover.d.ts @@ -4,19 +4,21 @@ import { Placement } from './Overlay'; import PopoverContent from './PopoverContent'; import PopoverTitle from './PopoverTitle'; -import { BsPrefixComponent } from './helpers'; - -export interface PopoverProps { - id: string | number; +export interface PopoverProps extends React.ComponentPropsWithoutRef<'div'> { + bsPrefix?: string; + id: string; placement?: Placement; - title?: React.ReactNode; + title?: string; arrowProps?: { ref: any; style: object }; content?: boolean; } -declare class Popover extends BsPrefixComponent<'div', PopoverProps> { - static Title: typeof PopoverTitle; - static Content: typeof PopoverContent; +declare interface Popover + extends React.ForwardRefRenderFunction { + Title: typeof PopoverTitle; + Content: typeof PopoverContent; } +declare const Popover: Popover; + export default Popover; diff --git a/conf/site/node_modules/react-bootstrap/README.md b/conf/site/node_modules/react-bootstrap/README.md index d5df4032..78d5958a 100644 --- a/conf/site/node_modules/react-bootstrap/README.md +++ b/conf/site/node_modules/react-bootstrap/README.md @@ -2,7 +2,7 @@ > [Bootstrap 4][bootstrap] components built with [React][react]. -[![GitHub Actions Build status][gh-actions-badge]][gh-actions] +[![GitHub Actions CI status][gh-actions-badge]][gh-actions] [![Travis CI Build status][travis-badge]][travis] [![npm][npm-badge]][npm] [![Codecov][codecov-badge]][codecov] @@ -64,5 +64,5 @@ Yes please! See the [contributing guidelines][contributing] for details. [discord]: https://discord.gg/0ZcbPKXt5bXLs9XK [netlify-badge]: https://api.netlify.com/api/v1/badges/91501718-8820-4d69-b7fe-1616eff5914e/deploy-status [netlify]: https://app.netlify.com/sites/react-bootstrap/deploys -[gh-actions-badge]: https://github.com/react-bootstrap/react-bootstrap/workflows/Node%20CI/badge.svg +[gh-actions-badge]: https://github.com/react-bootstrap/react-bootstrap/workflows/CI/badge.svg [gh-actions]: https://github.com/react-bootstrap/react-bootstrap/actions diff --git a/conf/site/node_modules/react-bootstrap/SplitButton.d.ts b/conf/site/node_modules/react-bootstrap/SplitButton.d.ts index 572584d6..0a59b89e 100644 --- a/conf/site/node_modules/react-bootstrap/SplitButton.d.ts +++ b/conf/site/node_modules/react-bootstrap/SplitButton.d.ts @@ -20,6 +20,7 @@ export interface SplitButtonProps extends PropsFromToggle { onClick?: React.MouseEventHandler; title: React.ReactNode; menuRole?: string; + renderMenuOnMount?: boolean; rootCloseEvent?: 'click' | 'mousedown'; bsPrefix?: string; } diff --git a/conf/site/node_modules/react-bootstrap/Tooltip.d.ts b/conf/site/node_modules/react-bootstrap/Tooltip.d.ts index f3173cb8..e82df9fd 100644 --- a/conf/site/node_modules/react-bootstrap/Tooltip.d.ts +++ b/conf/site/node_modules/react-bootstrap/Tooltip.d.ts @@ -1,13 +1,15 @@ import { Placement } from './Overlay'; -import { BsPrefixComponent } from './helpers'; - -export interface TooltipProps { - id: string | number; +export interface TooltipProps extends React.ComponentPropsWithoutRef<'div'> { + bsPrefix?: string; + id: string; placement?: Placement; arrowProps?: { ref: any; style: object }; } -declare class Tooltip extends BsPrefixComponent<'div', TooltipProps> {} +declare const Tooltip: React.ForwardRefRenderFunction< + HTMLDivElement, + TooltipProps +>; export default Tooltip; diff --git a/conf/site/node_modules/react-bootstrap/cjs/AbstractNav.js b/conf/site/node_modules/react-bootstrap/cjs/AbstractNav.js index d7d039ee..e51e0099 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/AbstractNav.js +++ b/conf/site/node_modules/react-bootstrap/cjs/AbstractNav.js @@ -105,9 +105,9 @@ var AbstractNav = _react.default.forwardRef(function (_ref, ref) { needsRefocusRef.current = false; }); var mergedRef = (0, _useMergedRefs.default)(ref, listNode); - return _react.default.createElement(_SelectableContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_SelectableContext.default.Provider, { value: handleSelect - }, _react.default.createElement(_NavContext.default.Provider, { + }, /*#__PURE__*/_react.default.createElement(_NavContext.default.Provider, { value: { role: role, // used by NavLink to determine it's role @@ -115,7 +115,7 @@ var AbstractNav = _react.default.forwardRef(function (_ref, ref) { getControlledId: getControlledId || noop, getControllerId: getControllerId || noop } - }, _react.default.createElement(Component, (0, _extends2.default)({}, props, { + }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { onKeyDown: handleKeyDown, ref: mergedRef, role: role diff --git a/conf/site/node_modules/react-bootstrap/cjs/AbstractNavItem.js b/conf/site/node_modules/react-bootstrap/cjs/AbstractNavItem.js index ccbf9bb1..0989b250 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/AbstractNavItem.js +++ b/conf/site/node_modules/react-bootstrap/cjs/AbstractNavItem.js @@ -17,6 +17,8 @@ var _react = _interopRequireWildcard(require("react")); var _useEventCallback = _interopRequireDefault(require("@restart/hooks/useEventCallback")); +var _warning = _interopRequireDefault(require("warning")); + var _NavContext = _interopRequireDefault(require("./NavContext")); var _SelectableContext = _interopRequireWildcard(require("./SelectableContext")); @@ -41,9 +43,13 @@ var AbstractNavItem = _react.default.forwardRef(function (_ref, ref) { if (navContext) { if (!props.role && navContext.role === 'tablist') props.role = 'tab'; + var contextControllerId = navContext.getControllerId(navKey); + var contextControlledId = navContext.getControlledId(navKey); + process.env.NODE_ENV !== "production" ? (0, _warning.default)(!contextControllerId || !props.id, "[react-bootstrap] The provided id '" + props.id + "' was overwritten by the current navContext with '" + contextControllerId + "'.") : void 0; + process.env.NODE_ENV !== "production" ? (0, _warning.default)(!contextControlledId || !props['aria-controls'], "[react-bootstrap] The provided aria-controls value '" + props['aria-controls'] + "' was overwritten by the current navContext with '" + contextControlledId + "'.") : void 0; props['data-rb-event-key'] = navKey; - props.id = navContext.getControllerId(navKey); - props['aria-controls'] = navContext.getControlledId(navKey); + props.id = contextControllerId || props.id; + props['aria-controls'] = contextControlledId || props['aria-controls']; isActive = active == null && navKey != null ? navContext.activeKey === navKey : active; } @@ -58,7 +64,7 @@ var AbstractNavItem = _react.default.forwardRef(function (_ref, ref) { if (onSelect) onSelect(navKey, e); if (parentOnSelect) parentOnSelect(navKey, e); }); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, onClick: handleOnclick, className: (0, _classnames.default)(className, isActive && 'active') diff --git a/conf/site/node_modules/react-bootstrap/cjs/Accordion.js b/conf/site/node_modules/react-bootstrap/cjs/Accordion.js index e10f75cd..0fc4788d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Accordion.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Accordion.js @@ -39,11 +39,11 @@ var Accordion = _react.default.forwardRef(function (props, ref) { controlledProps = (0, _objectWithoutPropertiesLoose2.default)(_useUncontrolled, ["as", "activeKey", "bsPrefix", "children", "className", "onSelect"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'accordion'); - return _react.default.createElement(_AccordionContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_AccordionContext.default.Provider, { value: activeKey - }, _react.default.createElement(_SelectableContext.default.Provider, { + }, /*#__PURE__*/_react.default.createElement(_SelectableContext.default.Provider, { value: onSelect - }, _react.default.createElement(Component, (0, _extends2.default)({ + }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, controlledProps, { className: (0, _classnames.default)(className, bsPrefix) diff --git a/conf/site/node_modules/react-bootstrap/cjs/AccordionCollapse.js b/conf/site/node_modules/react-bootstrap/cjs/AccordionCollapse.js index a83ddd37..eb84266d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/AccordionCollapse.js +++ b/conf/site/node_modules/react-bootstrap/cjs/AccordionCollapse.js @@ -22,10 +22,10 @@ var AccordionCollapse = _react.default.forwardRef(function (_ref, ref) { eventKey = _ref.eventKey, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "eventKey"]); var contextEventKey = (0, _react.useContext)(_AccordionContext.default); - return _react.default.createElement(_Collapse.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_Collapse.default, (0, _extends2.default)({ ref: ref, in: contextEventKey === eventKey - }, props), _react.default.createElement("div", null, _react.default.Children.only(children))); + }, props), /*#__PURE__*/_react.default.createElement("div", null, _react.default.Children.only(children))); }); AccordionCollapse.displayName = 'AccordionCollapse'; diff --git a/conf/site/node_modules/react-bootstrap/cjs/AccordionToggle.js b/conf/site/node_modules/react-bootstrap/cjs/AccordionToggle.js index 7f1349c0..277aed24 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/AccordionToggle.js +++ b/conf/site/node_modules/react-bootstrap/cjs/AccordionToggle.js @@ -22,7 +22,7 @@ function useAccordionToggle(eventKey, onClick) { var contextEventKey = (0, _react.useContext)(_AccordionContext.default); var onSelect = (0, _react.useContext)(_SelectableContext.default); return function (e) { - /* + /* Compare the event key in context with the given event key. If they are the same, then collapse the component. */ @@ -40,7 +40,12 @@ var AccordionToggle = _react.default.forwardRef(function (_ref, ref) { onClick = _ref.onClick, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "children", "eventKey", "onClick"]); var accordionOnClick = useAccordionToggle(eventKey, onClick); - return _react.default.createElement(Component, (0, _extends2.default)({ + + if (Component === 'button') { + props.type = 'button'; + } + + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref, onClick: accordionOnClick }, props), children); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Alert.js b/conf/site/node_modules/react-bootstrap/cjs/Alert.js index 4811eb84..8049ad86 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Alert.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Alert.js @@ -56,18 +56,18 @@ var Alert = _react.default.forwardRef(function (uncontrolledProps, ref) { onClose(false, e); }); - var alert = _react.default.createElement("div", (0, _extends2.default)({ + var alert = /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ role: "alert" }, Transition ? props : undefined, { ref: ref, className: (0, _classnames.default)(className, prefix, variant && prefix + "-" + variant, dismissible && prefix + "-dismissible") - }), dismissible && _react.default.createElement(_CloseButton.default, { + }), dismissible && /*#__PURE__*/_react.default.createElement(_CloseButton.default, { onClick: handleClose, label: closeLabel }), children); if (!Transition) return show ? alert : null; - return _react.default.createElement(Transition, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Transition, (0, _extends2.default)({ unmountOnExit: true }, props, { in: show diff --git a/conf/site/node_modules/react-bootstrap/cjs/Badge.js b/conf/site/node_modules/react-bootstrap/cjs/Badge.js index 6aa8d350..7872fa52 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Badge.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Badge.js @@ -28,7 +28,7 @@ var Badge = _react.default.forwardRef(function (_ref, ref) { Component = _ref$as === void 0 ? 'span' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "variant", "pill", "className", "as"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'badge'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, prefix, pill && prefix + "-pill", variant && prefix + "-" + variant) diff --git a/conf/site/node_modules/react-bootstrap/cjs/Breadcrumb.js b/conf/site/node_modules/react-bootstrap/cjs/Breadcrumb.js index ad08abcd..bb134e00 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Breadcrumb.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Breadcrumb.js @@ -32,11 +32,11 @@ var Breadcrumb = _react.default.forwardRef(function (_ref, ref) { Component = _ref$as === void 0 ? 'nav' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "listProps", "children", "label", "as"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'breadcrumb'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ "aria-label": label, className: className, ref: ref - }, props), _react.default.createElement("ol", (0, _extends2.default)({}, listProps, { + }, props), /*#__PURE__*/_react.default.createElement("ol", (0, _extends2.default)({}, listProps, { className: (0, _classnames.default)(prefix, listProps.className) }), children)); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/BreadcrumbItem.js b/conf/site/node_modules/react-bootstrap/cjs/BreadcrumbItem.js index 0e0f3a92..27d81e31 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/BreadcrumbItem.js +++ b/conf/site/node_modules/react-bootstrap/cjs/BreadcrumbItem.js @@ -37,14 +37,14 @@ var BreadcrumbItem = _react.default.forwardRef(function (_ref, ref) { target = _ref.target, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "active", "children", "className", "as", "linkAs", "linkProps", "href", "title", "target"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'breadcrumb-item'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(prefix, className, { active: active }), "aria-current": active ? 'page' : undefined - }), active ? children : _react.default.createElement(LinkComponent, (0, _extends2.default)({}, linkProps, { + }), active ? children : /*#__PURE__*/_react.default.createElement(LinkComponent, (0, _extends2.default)({}, linkProps, { href: href, title: title, target: target diff --git a/conf/site/node_modules/react-bootstrap/cjs/Button.js b/conf/site/node_modules/react-bootstrap/cjs/Button.js index c4cc1671..57f7a721 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Button.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Button.js @@ -38,7 +38,7 @@ var Button = _react.default.forwardRef(function (_ref, ref) { var classes = (0, _classnames.default)(className, prefix, active && 'active', prefix + "-" + variant, block && prefix + "-block", size && prefix + "-" + size); if (props.href) { - return _react.default.createElement(_SafeAnchor.default, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(_SafeAnchor.default, (0, _extends2.default)({}, props, { as: as, ref: ref, className: (0, _classnames.default)(classes, props.disabled && 'disabled') @@ -54,7 +54,7 @@ var Button = _react.default.forwardRef(function (_ref, ref) { } var Component = as || 'button'; - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { className: classes })); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/ButtonGroup.js b/conf/site/node_modules/react-bootstrap/cjs/ButtonGroup.js index 30029e31..5c04fb78 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ButtonGroup.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ButtonGroup.js @@ -33,7 +33,7 @@ var ButtonGroup = _react.default.forwardRef(function (props, ref) { var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'btn-group'); var baseClass = prefix; if (vertical) baseClass = prefix + "-vertical"; - return _react.default.createElement(Component, (0, _extends2.default)({}, rest, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, { ref: ref, className: (0, _classnames.default)(className, baseClass, size && prefix + "-" + size, toggle && prefix + "-toggle") })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/ButtonToolbar.js b/conf/site/node_modules/react-bootstrap/cjs/ButtonToolbar.js index d8337094..b6009ded 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ButtonToolbar.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ButtonToolbar.js @@ -24,7 +24,7 @@ var ButtonToolbar = _react.default.forwardRef(function (_ref, ref) { className = _ref.className, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'btn-toolbar'); - return _react.default.createElement("div", (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, prefix) })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Card.js b/conf/site/node_modules/react-bootstrap/cjs/Card.js index 7aeb964f..f22ba09c 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Card.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Card.js @@ -49,13 +49,13 @@ var Card = _react.default.forwardRef(function (_ref, ref) { cardHeaderBsPrefix: prefix + "-header" }; }, [prefix]); - return _react.default.createElement(_CardContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_CardContext.default.Provider, { value: cardContext - }, _react.default.createElement(Component, (0, _extends2.default)({ + }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border) - }), body ? _react.default.createElement(CardBody, null, children) : children)); + }), body ? /*#__PURE__*/_react.default.createElement(CardBody, null, children) : children)); }); Card.displayName = 'Card'; diff --git a/conf/site/node_modules/react-bootstrap/cjs/CardImg.js b/conf/site/node_modules/react-bootstrap/cjs/CardImg.js index 998ab8a7..3691bb07 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/CardImg.js +++ b/conf/site/node_modules/react-bootstrap/cjs/CardImg.js @@ -28,7 +28,7 @@ function (_ref, ref) { Component = _ref$as === void 0 ? 'img' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "variant", "as"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'card-img'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref, className: (0, _classnames.default)(variant ? prefix + "-" + variant : prefix, className) }, props)); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Carousel.js b/conf/site/node_modules/react-bootstrap/cjs/Carousel.js index 5f3e1f1c..85ceff40 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Carousel.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Carousel.js @@ -51,12 +51,12 @@ var defaultProps = { pause: 'hover', wrap: true, touch: true, - prevIcon: _react.default.createElement("span", { + prevIcon: /*#__PURE__*/_react.default.createElement("span", { "aria-hidden": "true", className: "carousel-control-prev-icon" }), prevLabel: 'Previous', - nextIcon: _react.default.createElement("span", { + nextIcon: /*#__PURE__*/_react.default.createElement("span", { "aria-hidden": "true", className: "carousel-control-next-icon" }), @@ -337,7 +337,7 @@ var Carousel = _react.default.forwardRef(function (uncontrolledProps, ref) { }; }); }, [indicators, numChildren, onSelect]); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: elementRef }, props, { onKeyDown: handleKeyDown, @@ -347,19 +347,19 @@ var Carousel = _react.default.forwardRef(function (uncontrolledProps, ref) { onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd, className: (0, _classnames.default)(className, prefix, slide && 'slide', fade && prefix + "-fade") - }), indicators && _react.default.createElement("ol", { + }), indicators && /*#__PURE__*/_react.default.createElement("ol", { className: prefix + "-indicators" }, (0, _ElementChildren.map)(children, function (child, index) { - return _react.default.createElement("li", { + return /*#__PURE__*/_react.default.createElement("li", { key: index, className: index === renderedActiveIndex ? 'active' : null, onClick: indicatorOnClicks[index] }); - })), _react.default.createElement("div", { + })), /*#__PURE__*/_react.default.createElement("div", { className: prefix + "-inner" }, (0, _ElementChildren.map)(children, function (child, index) { var isActive = index === renderedActiveIndex; - return slide ? _react.default.createElement(_Transition.default, { + return slide ? /*#__PURE__*/_react.default.createElement(_Transition.default, { in: isActive, onEnter: isActive ? handleEnter : null, onEntered: isActive ? handleEntered : null, @@ -371,15 +371,15 @@ var Carousel = _react.default.forwardRef(function (uncontrolledProps, ref) { }) : _react.default.cloneElement(child, { className: (0, _classnames.default)(child.props.className, isActive && 'active') }); - })), controls && _react.default.createElement(_react.default.Fragment, null, (wrap || activeIndex !== 0) && _react.default.createElement(_SafeAnchor.default, { + })), controls && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (wrap || activeIndex !== 0) && /*#__PURE__*/_react.default.createElement(_SafeAnchor.default, { className: prefix + "-control-prev", onClick: prev - }, prevIcon, prevLabel && _react.default.createElement("span", { + }, prevIcon, prevLabel && /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" - }, prevLabel)), (wrap || activeIndex !== numChildren - 1) && _react.default.createElement(_SafeAnchor.default, { + }, prevLabel)), (wrap || activeIndex !== numChildren - 1) && /*#__PURE__*/_react.default.createElement(_SafeAnchor.default, { className: prefix + "-control-next", onClick: next - }, nextIcon, nextLabel && _react.default.createElement("span", { + }, nextIcon, nextLabel && /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" }, nextLabel)))); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/CloseButton.js b/conf/site/node_modules/react-bootstrap/cjs/CloseButton.js index 7fdca911..862c697d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/CloseButton.js +++ b/conf/site/node_modules/react-bootstrap/cjs/CloseButton.js @@ -28,14 +28,14 @@ var CloseButton = _react.default.forwardRef(function (_ref, ref) { onClick = _ref.onClick, className = _ref.className, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["label", "onClick", "className"]); - return _react.default.createElement("button", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ ref: ref, type: "button", className: (0, _classnames.default)('close', className), onClick: onClick - }, props), _react.default.createElement("span", { + }, props), /*#__PURE__*/_react.default.createElement("span", { "aria-hidden": "true" - }, "\xD7"), _react.default.createElement("span", { + }, "\xD7"), /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" }, label)); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Col.js b/conf/site/node_modules/react-bootstrap/cjs/Col.js index a92c2be9..03a794ea 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Col.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Col.js @@ -51,7 +51,7 @@ function (_ref, ref) { spans.push(prefix); // plain 'col' } - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: _classnames.default.apply(void 0, [className].concat(spans, classes)) })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Collapse.js b/conf/site/node_modules/react-bootstrap/cjs/Collapse.js index b1424b69..f5a0f4c2 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Collapse.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Collapse.js @@ -125,7 +125,7 @@ var Collapse = /*#__PURE__*/function (_React$Component) { var handleEntered = (0, _createChainedFunction.default)(this.handleEntered, onEntered); var handleExit = (0, _createChainedFunction.default)(this.handleExit, onExit); var handleExiting = (0, _createChainedFunction.default)(this.handleExiting, onExiting); - return _react.default.createElement(_Transition.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({ addEndListener: _transitionEnd.default }, props, { "aria-expanded": props.role ? props.in : null, diff --git a/conf/site/node_modules/react-bootstrap/cjs/Container.js b/conf/site/node_modules/react-bootstrap/cjs/Container.js index 749e3a5a..09d0913b 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Container.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Container.js @@ -28,7 +28,7 @@ var Container = _react.default.forwardRef(function (_ref, ref) { props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "fluid", "as", "className"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'container'); var suffix = typeof fluid === 'string' ? "-" + fluid : '-fluid'; - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, fluid ? "" + prefix + suffix : prefix) diff --git a/conf/site/node_modules/react-bootstrap/cjs/Dropdown.js b/conf/site/node_modules/react-bootstrap/cjs/Dropdown.js index a9ad2754..432fa08f 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Dropdown.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Dropdown.js @@ -71,9 +71,9 @@ var Dropdown = _react.default.forwardRef(function (uncontrolledProps, ref) { if (onSelect) onSelect(key, event); handleToggle(false, event, 'select'); }); - return _react.default.createElement(_SelectableContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_SelectableContext.default.Provider, { value: handleSelect - }, _react.default.createElement(_Dropdown.default, { + }, /*#__PURE__*/_react.default.createElement(_Dropdown.default, { drop: drop, show: show, alignEnd: alignRight, @@ -82,7 +82,7 @@ var Dropdown = _react.default.forwardRef(function (uncontrolledProps, ref) { itemSelector: "." + prefix + "-item:not(.disabled):not(:disabled)" }, function (_ref) { var dropdownProps = _ref.props; - return _react.default.createElement(Component, (0, _extends2.default)({}, props, dropdownProps, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, dropdownProps, { ref: ref, className: (0, _classnames.default)(className, show && 'show', (!drop || drop === 'down') && prefix, drop === 'up' && 'dropup', drop === 'right' && 'dropright', drop === 'left' && 'dropleft') })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/DropdownButton.js b/conf/site/node_modules/react-bootstrap/cjs/DropdownButton.js index 744b7a61..c104fde5 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/DropdownButton.js +++ b/conf/site/node_modules/react-bootstrap/cjs/DropdownButton.js @@ -38,6 +38,9 @@ var propTypes = { /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */ menuRole: _propTypes.default.string, + /** Whether to render the dropdown menu in the DOM before the first time it is shown */ + renderMenuOnMount: _propTypes.default.bool, + /** * Which event when fired outside the component will cause it to be closed. * @@ -71,21 +74,23 @@ var DropdownButton = _react.default.forwardRef(function (_ref, ref) { variant = _ref.variant, size = _ref.size, menuRole = _ref.menuRole, + renderMenuOnMount = _ref.renderMenuOnMount, disabled = _ref.disabled, href = _ref.href, id = _ref.id, - props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["title", "children", "bsPrefix", "rootCloseEvent", "variant", "size", "menuRole", "disabled", "href", "id"]); - return _react.default.createElement(_Dropdown.default, (0, _extends2.default)({ + props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["title", "children", "bsPrefix", "rootCloseEvent", "variant", "size", "menuRole", "renderMenuOnMount", "disabled", "href", "id"]); + return /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({ ref: ref - }, props), _react.default.createElement(_Dropdown.default.Toggle, { + }, props), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Toggle, { id: id, href: href, size: size, variant: variant, disabled: disabled, childBsPrefix: bsPrefix - }, title), _react.default.createElement(_Dropdown.default.Menu, { + }, title), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, { role: menuRole, + renderOnMount: renderMenuOnMount, rootCloseEvent: rootCloseEvent }, children)); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/DropdownItem.js b/conf/site/node_modules/react-bootstrap/cjs/DropdownItem.js index 052d63d5..b7d457e3 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/DropdownItem.js +++ b/conf/site/node_modules/react-bootstrap/cjs/DropdownItem.js @@ -59,7 +59,7 @@ var DropdownItem = _react.default.forwardRef(function (_ref, ref) { if (onSelectCtx) onSelectCtx(key, event); if (onSelect) onSelect(key, event); }); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, href: href, disabled: disabled, diff --git a/conf/site/node_modules/react-bootstrap/cjs/DropdownMenu.js b/conf/site/node_modules/react-bootstrap/cjs/DropdownMenu.js index 3373d213..c4fccfa3 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/DropdownMenu.js +++ b/conf/site/node_modules/react-bootstrap/cjs/DropdownMenu.js @@ -25,6 +25,8 @@ var _ThemeProvider = require("./ThemeProvider"); var _useWrappedRefWithWarning = _interopRequireDefault(require("./useWrappedRefWithWarning")); +var _usePopperMarginModifiers = _interopRequireDefault(require("./usePopperMarginModifiers")); + var defaultProps = { alignRight: false, flip: true @@ -36,21 +38,29 @@ var DropdownMenu = _react.default.forwardRef(function (_ref, ref) { alignRight = _ref.alignRight, rootCloseEvent = _ref.rootCloseEvent, flip = _ref.flip, - popperConfig = _ref.popperConfig, showProps = _ref.show, + renderOnMount = _ref.renderOnMount, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'div' : _ref$as, - props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "alignRight", "rootCloseEvent", "flip", "popperConfig", "show", "as"]); + _ref$popperConfig = _ref.popperConfig, + popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig, + props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "alignRight", "rootCloseEvent", "flip", "show", "renderOnMount", "as", "popperConfig"]); var isNavbar = (0, _react.useContext)(_NavbarContext.default); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'dropdown-menu'); + var _usePopperMarginModif = (0, _usePopperMarginModifiers.default)(), + popperRef = _usePopperMarginModif[0], + marginModifiers = _usePopperMarginModif[1]; + var _useDropdownMenu = (0, _DropdownMenu.useDropdownMenu)({ flip: flip, - popperConfig: popperConfig, rootCloseEvent: rootCloseEvent, show: showProps, alignEnd: alignRight, - usePopper: !isNavbar + usePopper: !isNavbar, + popperConfig: (0, _extends2.default)({}, popperConfig, { + modifiers: marginModifiers.concat(popperConfig.modifiers || []) + }) }), hasShown = _useDropdownMenu.hasShown, placement = _useDropdownMenu.placement, @@ -59,8 +69,8 @@ var DropdownMenu = _react.default.forwardRef(function (_ref, ref) { close = _useDropdownMenu.close, menuProps = _useDropdownMenu.props; - menuProps.ref = (0, _useMergedRefs.default)(menuProps.ref, (0, _useWrappedRefWithWarning.default)(ref, 'DropdownMenu')); - if (!hasShown) return null; // For custom components provide additional, non-DOM, props; + menuProps.ref = (0, _useMergedRefs.default)(popperRef, (0, _useMergedRefs.default)((0, _useWrappedRefWithWarning.default)(ref, 'DropdownMenu'), menuProps.ref)); + if (!hasShown && !renderOnMount) return null; // For custom components provide additional, non-DOM, props; if (typeof Component !== 'string') { menuProps.show = show; @@ -77,7 +87,7 @@ var DropdownMenu = _react.default.forwardRef(function (_ref, ref) { props['x-placement'] = placement; } - return _react.default.createElement(Component, (0, _extends2.default)({}, props, menuProps, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, menuProps, { style: style, className: (0, _classnames.default)(className, prefix, show && 'show', alignEnd && prefix + "-right") })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/DropdownToggle.js b/conf/site/node_modules/react-bootstrap/cjs/DropdownToggle.js index 2d931518..c60bfe52 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/DropdownToggle.js +++ b/conf/site/node_modules/react-bootstrap/cjs/DropdownToggle.js @@ -47,7 +47,7 @@ var DropdownToggle = _react.default.forwardRef(function (_ref, ref) { toggleProps.ref = (0, _useMergedRefs.default)(toggleProps.ref, (0, _useWrappedRefWithWarning.default)(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the // underlying component, to allow it to render size and style variants. - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ onClick: toggle, className: (0, _classnames.default)(className, prefix, split && prefix + "-split") }, toggleProps, props), children); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Fade.js b/conf/site/node_modules/react-bootstrap/cjs/Fade.js index 3e0bc5bb..b9d04480 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Fade.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Fade.js @@ -40,7 +40,7 @@ var Fade = _react.default.forwardRef(function (_ref, ref) { (0, _triggerBrowserReflow.default)(node); if (props.onEnter) props.onEnter(node); }, [props]); - return _react.default.createElement(_Transition.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({ ref: ref, addEndListener: _transitionEnd.default }, props, { diff --git a/conf/site/node_modules/react-bootstrap/cjs/Feedback.js b/conf/site/node_modules/react-bootstrap/cjs/Feedback.js index c0933235..5015dd41 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Feedback.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Feedback.js @@ -35,7 +35,7 @@ function (_ref, ref) { className = _ref.className, type = _ref.type, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "className", "type"]); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, type && type + "-feedback") })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/FigureImage.js b/conf/site/node_modules/react-bootstrap/cjs/FigureImage.js index 029e6b46..25e24ae7 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FigureImage.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FigureImage.js @@ -50,7 +50,7 @@ var defaultProps = { var FigureImage = _react.default.forwardRef(function (_ref, ref) { var className = _ref.className, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["className"]); - return _react.default.createElement(_Image.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_Image.default, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, 'figure-img') diff --git a/conf/site/node_modules/react-bootstrap/cjs/Form.js b/conf/site/node_modules/react-bootstrap/cjs/Form.js index 688e8649..da4a1e94 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Form.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Form.js @@ -44,7 +44,7 @@ var Form = _react.default.forwardRef(function (_ref, ref) { Component = _ref$as === void 0 ? 'form' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "inline", "className", "validated", "as"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, validated && 'was-validated', inline && bsPrefix + "-inline") })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormCheck.js b/conf/site/node_modules/react-bootstrap/cjs/FormCheck.js index c7cc07ba..19952658 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormCheck.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormCheck.js @@ -56,7 +56,12 @@ var FormCheck = _react.default.forwardRef(function (_ref, ref) { as = _ref$as === void 0 ? 'input' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "bsPrefix", "bsCustomPrefix", "inline", "disabled", "isValid", "isInvalid", "feedback", "className", "style", "title", "type", "label", "children", "custom", "as"]); var custom = type === 'switch' ? true : propCustom; - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom-control') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-check'); + + var _ref2 = custom ? [bsCustomPrefix, 'custom-control'] : [bsPrefix, 'form-check'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); var _useContext = (0, _react.useContext)(_FormContext.default), controlId = _useContext.controlId; @@ -69,7 +74,7 @@ var FormCheck = _react.default.forwardRef(function (_ref, ref) { }, [controlId, custom, id]); var hasLabel = label != null && label !== false && !children; - var input = _react.default.createElement(_FormCheckInput.default, (0, _extends2.default)({}, props, { + var input = /*#__PURE__*/_react.default.createElement(_FormCheckInput.default, (0, _extends2.default)({}, props, { type: type === 'switch' ? 'checkbox' : type, ref: ref, isValid: isValid, @@ -79,14 +84,14 @@ var FormCheck = _react.default.forwardRef(function (_ref, ref) { as: as })); - return _react.default.createElement(_FormContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, { value: innerFormContext - }, _react.default.createElement("div", { + }, /*#__PURE__*/_react.default.createElement("div", { style: style, className: (0, _classnames.default)(className, bsPrefix, custom && "custom-" + type, inline && bsPrefix + "-inline") - }, children || _react.default.createElement(_react.default.Fragment, null, input, hasLabel && _react.default.createElement(_FormCheckLabel.default, { + }, children || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, input, hasLabel && /*#__PURE__*/_react.default.createElement(_FormCheckLabel.default, { title: title - }, label), (isValid || isInvalid) && _react.default.createElement(_Feedback.default, { + }, label), (isValid || isInvalid) && /*#__PURE__*/_react.default.createElement(_Feedback.default, { type: isValid ? 'valid' : 'invalid' }, feedback)))); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormCheckInput.js b/conf/site/node_modules/react-bootstrap/cjs/FormCheckInput.js index 805a11c5..570f2831 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormCheckInput.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormCheckInput.js @@ -39,8 +39,12 @@ var FormCheckInput = _react.default.forwardRef(function (_ref, ref) { controlId = _useContext.controlId, custom = _useContext.custom; - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom-control-input') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-check-input'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + var _ref2 = custom ? [bsCustomPrefix, 'custom-control-input'] : [bsPrefix, 'form-check-input'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, id: id || controlId, className: (0, _classnames.default)(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid', isStatic && 'position-static') diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormCheckLabel.js b/conf/site/node_modules/react-bootstrap/cjs/FormCheckLabel.js index 137c98ba..f989eebd 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormCheckLabel.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormCheckLabel.js @@ -30,8 +30,12 @@ var FormCheckLabel = _react.default.forwardRef(function (_ref, ref) { controlId = _useContext.controlId, custom = _useContext.custom; - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom-control-label') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-check-label'); - return _react.default.createElement("label", (0, _extends2.default)({}, props, { + var _ref2 = custom ? [bsCustomPrefix, 'custom-control-label'] : [bsPrefix, 'form-check-label'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); + return /*#__PURE__*/_react.default.createElement("label", (0, _extends2.default)({}, props, { ref: ref, htmlFor: htmlFor || controlId, className: (0, _classnames.default)(className, bsPrefix) diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormControl.js b/conf/site/node_modules/react-bootstrap/cjs/FormControl.js index 5394ce14..a0a3ebaa 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormControl.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormControl.js @@ -44,7 +44,11 @@ var FormControl = _react.default.forwardRef(function (_ref, ref) { var _useContext = (0, _react.useContext)(_FormContext.default), controlId = _useContext.controlId; - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-control'); + var _ref2 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-control'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); var classes; if (plaintext) { @@ -70,7 +74,7 @@ var FormControl = _react.default.forwardRef(function (_ref, ref) { } process.env.NODE_ENV !== "production" ? (0, _warning.default)(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0; - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { type: type, ref: ref, readOnly: readOnly, diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormFile.js b/conf/site/node_modules/react-bootstrap/cjs/FormFile.js index 6af8ad1b..bea00a60 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormFile.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormFile.js @@ -53,7 +53,12 @@ var FormFile = _react.default.forwardRef(function (_ref, ref) { _ref$inputAs = _ref.inputAs, inputAs = _ref$inputAs === void 0 ? 'input' : _ref$inputAs, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "bsPrefix", "bsCustomPrefix", "disabled", "isValid", "isInvalid", "feedback", "className", "style", "label", "children", "custom", "lang", "data-browse", "as", "inputAs"]); - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-file'); + + var _ref2 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-file'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); var type = 'file'; var _useContext = (0, _react.useContext)(_FormContext.default), @@ -67,7 +72,7 @@ var FormFile = _react.default.forwardRef(function (_ref, ref) { }, [controlId, custom, id]); var hasLabel = label != null && label !== false && !children; - var input = _react.default.createElement(_FormFileInput.default, (0, _extends2.default)({}, props, { + var input = /*#__PURE__*/_react.default.createElement(_FormFileInput.default, (0, _extends2.default)({}, props, { ref: ref, isValid: isValid, isInvalid: isInvalid, @@ -76,14 +81,14 @@ var FormFile = _react.default.forwardRef(function (_ref, ref) { lang: lang })); - return _react.default.createElement(_FormContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, { value: innerFormContext - }, _react.default.createElement(Component, { + }, /*#__PURE__*/_react.default.createElement(Component, { style: style, className: (0, _classnames.default)(className, bsPrefix, custom && "custom-" + type) - }, children || _react.default.createElement(_react.default.Fragment, null, custom ? _react.default.createElement(_react.default.Fragment, null, input, hasLabel && _react.default.createElement(_FormFileLabel.default, { + }, children || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, custom ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, input, hasLabel && /*#__PURE__*/_react.default.createElement(_FormFileLabel.default, { "data-browse": dataBrowse - }, label)) : _react.default.createElement(_react.default.Fragment, null, hasLabel && _react.default.createElement(_FormFileLabel.default, null, label), input), (isValid || isInvalid) && _react.default.createElement(_Feedback.default, { + }, label)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hasLabel && /*#__PURE__*/_react.default.createElement(_FormFileLabel.default, null, label), input), (isValid || isInvalid) && /*#__PURE__*/_react.default.createElement(_Feedback.default, { type: isValid ? 'valid' : 'invalid' }, feedback)))); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormFileInput.js b/conf/site/node_modules/react-bootstrap/cjs/FormFileInput.js index 45553695..d8630fb1 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormFileInput.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormFileInput.js @@ -36,8 +36,13 @@ var FormFileInput = _react.default.forwardRef(function (_ref, ref) { custom = _useContext.custom; var type = 'file'; - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom-file-input') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-control-file'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + + var _ref2 = custom ? [bsCustomPrefix, 'custom-file-input'] : [bsPrefix, 'form-control-file'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, id: id || controlId, type: type, diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormFileLabel.js b/conf/site/node_modules/react-bootstrap/cjs/FormFileLabel.js index 66b5cd37..f33b134d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormFileLabel.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormFileLabel.js @@ -30,8 +30,12 @@ var FormFileLabel = _react.default.forwardRef(function (_ref, ref) { controlId = _useContext.controlId, custom = _useContext.custom; - bsPrefix = custom ? (0, _ThemeProvider.useBootstrapPrefix)(bsCustomPrefix, 'custom-file-label') : (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-file-label'); - return _react.default.createElement("label", (0, _extends2.default)({}, props, { + var _ref2 = custom ? [bsCustomPrefix, 'custom-file-label'] : [bsPrefix, 'form-file-label'], + prefix = _ref2[0], + defaultPrefix = _ref2[1]; + + bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(prefix, defaultPrefix); + return /*#__PURE__*/_react.default.createElement("label", (0, _extends2.default)({}, props, { ref: ref, htmlFor: htmlFor || controlId, className: (0, _classnames.default)(className, bsPrefix), diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormGroup.js b/conf/site/node_modules/react-bootstrap/cjs/FormGroup.js index ba1b6bff..ea284acb 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormGroup.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormGroup.js @@ -33,9 +33,9 @@ var FormGroup = _react.default.forwardRef(function (_ref, ref) { controlId: controlId }; }, [controlId]); - return _react.default.createElement(_FormContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, { value: context - }, _react.default.createElement(Component, (0, _extends2.default)({}, props, { + }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, bsPrefix) }), children)); diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormLabel.js b/conf/site/node_modules/react-bootstrap/cjs/FormLabel.js index c60a5915..ffa6fd24 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormLabel.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormLabel.js @@ -47,12 +47,14 @@ var FormLabel = _react.default.forwardRef(function (_ref, ref) { var classes = (0, _classnames.default)(className, bsPrefix, srOnly && 'sr-only', column && columnClass); process.env.NODE_ENV !== "production" ? (0, _warning.default)(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0; htmlFor = htmlFor || controlId; - if (column) return _react.default.createElement(_Col.default, (0, _extends2.default)({ + if (column) return /*#__PURE__*/_react.default.createElement(_Col.default, (0, _extends2.default)({ as: "label", className: classes, htmlFor: htmlFor }, props)); - return (// eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control + return ( + /*#__PURE__*/ + // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control _react.default.createElement(Component, (0, _extends2.default)({ ref: ref, className: classes, diff --git a/conf/site/node_modules/react-bootstrap/cjs/FormText.js b/conf/site/node_modules/react-bootstrap/cjs/FormText.js index 8ab7e5b6..37d083b5 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/FormText.js +++ b/conf/site/node_modules/react-bootstrap/cjs/FormText.js @@ -24,7 +24,7 @@ function (_ref, ref) { muted = _ref.muted, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "as", "muted"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'form-text'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, bsPrefix, muted && 'text-muted') })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Image.js b/conf/site/node_modules/react-bootstrap/cjs/Image.js index eafbe82a..ea74f62d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Image.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Image.js @@ -32,7 +32,7 @@ var Image = _react.default.forwardRef(function (_ref, ref) { props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "fluid", "rounded", "roundedCircle", "thumbnail"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'img'); var classes = (0, _classnames.default)(fluid && bsPrefix + "-fluid", rounded && "rounded", roundedCircle && "rounded-circle", thumbnail && bsPrefix + "-thumbnail"); - return _react.default.createElement("img", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({ // eslint-disable-line jsx-a11y/alt-text ref: ref }, props, { diff --git a/conf/site/node_modules/react-bootstrap/cjs/InputGroup.js b/conf/site/node_modules/react-bootstrap/cjs/InputGroup.js index 14bb88bc..da720522 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/InputGroup.js +++ b/conf/site/node_modules/react-bootstrap/cjs/InputGroup.js @@ -33,7 +33,7 @@ var InputGroup = _react.default.forwardRef(function (_ref, ref) { Component = _ref$as === void 0 ? 'div' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "size", "className", "as"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'input-group'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, bsPrefix, size && bsPrefix + "-" + size) @@ -47,13 +47,13 @@ var InputGroupText = (0, _createWithBsPrefix.default)('input-group-text', { }); var InputGroupCheckbox = function InputGroupCheckbox(props) { - return _react.default.createElement(InputGroupText, null, _react.default.createElement("input", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({ type: "checkbox" }, props))); }; var InputGroupRadio = function InputGroupRadio(props) { - return _react.default.createElement(InputGroupText, null, _react.default.createElement("input", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({ type: "radio" }, props))); }; diff --git a/conf/site/node_modules/react-bootstrap/cjs/Jumbotron.js b/conf/site/node_modules/react-bootstrap/cjs/Jumbotron.js index f2012cb3..316f37b7 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Jumbotron.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Jumbotron.js @@ -30,7 +30,7 @@ var Jumbotron = _react.default.forwardRef(function (_ref, ref) { props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "className", "fluid", "bsPrefix"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'jumbotron'); var classes = (_classes = {}, _classes[bsPrefix] = true, _classes[bsPrefix + "-fluid"] = fluid, _classes); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, classes) diff --git a/conf/site/node_modules/react-bootstrap/cjs/ListGroup.js b/conf/site/node_modules/react-bootstrap/cjs/ListGroup.js index 7c1321fc..bd7b8fdf 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ListGroup.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ListGroup.js @@ -50,7 +50,7 @@ var ListGroup = _react.default.forwardRef(function (props, ref) { } process.env.NODE_ENV !== "production" ? (0, _warning.default)(!(horizontal && variant === 'flush'), '`variant="flush"` and `horizontal` should not be used together.') : void 0; - return _react.default.createElement(_AbstractNav.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_AbstractNav.default, (0, _extends2.default)({ ref: ref }, controlledProps, { as: as, diff --git a/conf/site/node_modules/react-bootstrap/cjs/ListGroupItem.js b/conf/site/node_modules/react-bootstrap/cjs/ListGroupItem.js index c178c53b..2bcfca64 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ListGroupItem.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ListGroupItem.js @@ -48,7 +48,7 @@ var ListGroupItem = _react.default.forwardRef(function (_ref, ref) { if (onClick) onClick(event); }, [disabled, onClick]); - return _react.default.createElement(_AbstractNavItem.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_AbstractNavItem.default, (0, _extends2.default)({ ref: ref }, props, { eventKey: (0, _SelectableContext.makeEventKey)(eventKey, props.href) // eslint-disable-next-line diff --git a/conf/site/node_modules/react-bootstrap/cjs/Media.js b/conf/site/node_modules/react-bootstrap/cjs/Media.js index c9a814c6..af587ac1 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Media.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Media.js @@ -25,7 +25,7 @@ function (_ref, ref) { Component = _ref$as === void 0 ? 'div' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "as"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'media'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, prefix) })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Modal.js b/conf/site/node_modules/react-bootstrap/cjs/Modal.js index d546a859..77d0b9cf 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Modal.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Modal.js @@ -59,11 +59,11 @@ var defaultProps = { /* eslint-disable no-use-before-define, react/no-multi-comp */ function DialogTransition(props) { - return _react.default.createElement(_Fade.default, props); + return /*#__PURE__*/_react.default.createElement(_Fade.default, props); } function BackdropTransition(props) { - return _react.default.createElement(_Fade.default, props); + return /*#__PURE__*/_react.default.createElement(_Fade.default, props); } /* eslint-enable no-use-before-define */ @@ -176,7 +176,7 @@ var Modal = /*#__PURE__*/function (_React$Component) { bsPrefix = _this$props4.bsPrefix, backdropClassName = _this$props4.backdropClassName, animation = _this$props4.animation; - return _react.default.createElement("div", (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, props, { className: (0, _classnames.default)(bsPrefix + "-backdrop", backdropClassName, !animation && 'show') })); }; @@ -211,6 +211,7 @@ var Modal = /*#__PURE__*/function (_React$Component) { dialogClassName = _this$props5.dialogClassName, children = _this$props5.children, Dialog = _this$props5.dialogAs, + ariaLabelledby = _this$props5['aria-labelledby'], show = _this$props5.show, animation = _this$props5.animation, backdrop = _this$props5.backdrop, @@ -231,14 +232,14 @@ var Modal = /*#__PURE__*/function (_React$Component) { _6 = _this$props5.onEnter, _4 = _this$props5.onEntering, _2 = _this$props5.backdropClassName, - props = (0, _objectWithoutPropertiesLoose2.default)(_this$props5, ["bsPrefix", "className", "style", "dialogClassName", "children", "dialogAs", "show", "animation", "backdrop", "keyboard", "onEscapeKeyDown", "onShow", "onHide", "container", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "onEntered", "onExit", "onExiting", "onExited", "onEntering", "onEnter", "onEntering", "backdropClassName"]); + props = (0, _objectWithoutPropertiesLoose2.default)(_this$props5, ["bsPrefix", "className", "style", "dialogClassName", "children", "dialogAs", "aria-labelledby", "show", "animation", "backdrop", "keyboard", "onEscapeKeyDown", "onShow", "onHide", "container", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "onEntered", "onExit", "onExiting", "onExited", "onEntering", "onEnter", "onEntering", "backdropClassName"]); var clickHandler = backdrop === true ? this.handleClick : null; var baseModalStyle = (0, _extends2.default)({}, style, {}, this.state.style); // Sets `display` always block when `animation` is false if (!animation) baseModalStyle.display = 'block'; - return _react.default.createElement(_ModalContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_ModalContext.default.Provider, { value: this.modalContext - }, _react.default.createElement(_Modal.default, { + }, /*#__PURE__*/_react.default.createElement(_Modal.default, { show: show, backdrop: backdrop, container: container, @@ -265,8 +266,9 @@ var Modal = /*#__PURE__*/function (_React$Component) { onMouseUp: this.handleMouseUp, onEnter: this.handleEnter, onEntering: this.handleEntering, - onExited: this.handleExited - }, _react.default.createElement(Dialog, (0, _extends2.default)({}, props, { + onExited: this.handleExited, + 'aria-labelledby': ariaLabelledby + }, /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({}, props, { onMouseDown: this.handleDialogMouseDown, className: dialogClassName }), children))); diff --git a/conf/site/node_modules/react-bootstrap/cjs/ModalDialog.js b/conf/site/node_modules/react-bootstrap/cjs/ModalDialog.js index a79973c2..c6cd73d1 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ModalDialog.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ModalDialog.js @@ -25,10 +25,10 @@ var ModalDialog = _react.default.forwardRef(function (_ref, ref) { props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "centered", "size", "children", "scrollable"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'modal'); var dialogClass = bsPrefix + "-dialog"; - return _react.default.createElement("div", (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(dialogClass, className, size && bsPrefix + "-" + size, centered && dialogClass + "-centered", scrollable && dialogClass + "-scrollable") - }), _react.default.createElement("div", { + }), /*#__PURE__*/_react.default.createElement("div", { className: bsPrefix + "-content" }, children)); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/ModalHeader.js b/conf/site/node_modules/react-bootstrap/cjs/ModalHeader.js index 84289842..ee18a251 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ModalHeader.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ModalHeader.js @@ -42,11 +42,11 @@ var ModalHeader = _react.default.forwardRef(function (_ref, ref) { if (context) context.onHide(); if (onHide) onHide(); }); - return _react.default.createElement("div", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, bsPrefix) - }), children, closeButton && _react.default.createElement(_CloseButton.default, { + }), children, closeButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, { label: closeLabel, onClick: handleClick })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Nav.js b/conf/site/node_modules/react-bootstrap/cjs/Nav.js index 04206abd..f28f5196 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Nav.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Nav.js @@ -66,7 +66,7 @@ var Nav = _react.default.forwardRef(function (uncontrolledProps, ref) { cardHeaderBsPrefix = cardContext.cardHeaderBsPrefix; } - return _react.default.createElement(_AbstractNav.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_AbstractNav.default, (0, _extends2.default)({ as: as, ref: ref, activeKey: activeKey, diff --git a/conf/site/node_modules/react-bootstrap/cjs/NavDropdown.js b/conf/site/node_modules/react-bootstrap/cjs/NavDropdown.js index 31b58767..3e0928fb 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/NavDropdown.js +++ b/conf/site/node_modules/react-bootstrap/cjs/NavDropdown.js @@ -42,6 +42,9 @@ var propTypes = { /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */ menuRole: _propTypes.default.string, + /** Whether to render the dropdown menu in the DOM before the first time it is shown */ + renderMenuOnMount: _propTypes.default.bool, + /** * Which event when fired outside the component will cause it to be closed. * @@ -62,20 +65,22 @@ var NavDropdown = _react.default.forwardRef(function (_ref, ref) { menuRole = _ref.menuRole, disabled = _ref.disabled, active = _ref.active, - props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "title", "children", "bsPrefix", "rootCloseEvent", "menuRole", "disabled", "active"]); - return _react.default.createElement(_Dropdown.default, (0, _extends2.default)({ + renderMenuOnMount = _ref.renderMenuOnMount, + props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "title", "children", "bsPrefix", "rootCloseEvent", "menuRole", "disabled", "active", "renderMenuOnMount"]); + return /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({ ref: ref }, props, { as: _NavItem.default - }), _react.default.createElement(_Dropdown.default.Toggle, { + }), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Toggle, { id: id, eventKey: null, active: active, disabled: disabled, childBsPrefix: bsPrefix, as: _NavLink.default - }, title), _react.default.createElement(_Dropdown.default.Menu, { + }, title), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, { role: menuRole, + renderOnMount: renderMenuOnMount, rootCloseEvent: rootCloseEvent }, children)); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/NavItem.js b/conf/site/node_modules/react-bootstrap/cjs/NavItem.js index 246193eb..1c522176 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/NavItem.js +++ b/conf/site/node_modules/react-bootstrap/cjs/NavItem.js @@ -24,7 +24,7 @@ function (_ref, ref) { Component = _ref$as === void 0 ? 'div' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "children", "as"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'nav-item'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, bsPrefix) }), children); diff --git a/conf/site/node_modules/react-bootstrap/cjs/NavLink.js b/conf/site/node_modules/react-bootstrap/cjs/NavLink.js index a0520b7f..7d9e56c9 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/NavLink.js +++ b/conf/site/node_modules/react-bootstrap/cjs/NavLink.js @@ -34,7 +34,7 @@ var NavLink = _react.default.forwardRef(function (_ref, ref) { as = _ref.as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "disabled", "className", "href", "eventKey", "onSelect", "as"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'nav-link'); - return _react.default.createElement(_AbstractNavItem.default, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(_AbstractNavItem.default, (0, _extends2.default)({}, props, { href: href, ref: ref, eventKey: eventKey, diff --git a/conf/site/node_modules/react-bootstrap/cjs/Navbar.js b/conf/site/node_modules/react-bootstrap/cjs/Navbar.js index 39406e26..50ff68a5 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Navbar.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Navbar.js @@ -83,11 +83,11 @@ var Navbar = _react.default.forwardRef(function (props, ref) { expanded: expanded }; }, [bsPrefix, expanded, _onToggle]); - return _react.default.createElement(_NavbarContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_NavbarContext.default.Provider, { value: navbarContext - }, _react.default.createElement(_SelectableContext.default.Provider, { + }, /*#__PURE__*/_react.default.createElement(_SelectableContext.default.Provider, { value: handleCollapse - }, _react.default.createElement(Component, (0, _extends2.default)({ + }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, controlledProps, { className: (0, _classnames.default)(className, bsPrefix, expand && expandClass, variant && bsPrefix + "-" + variant, bg && "bg-" + bg, sticky && "sticky-" + sticky, fixed && "fixed-" + fixed) diff --git a/conf/site/node_modules/react-bootstrap/cjs/NavbarBrand.js b/conf/site/node_modules/react-bootstrap/cjs/NavbarBrand.js index 5e78972c..86b76a81 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/NavbarBrand.js +++ b/conf/site/node_modules/react-bootstrap/cjs/NavbarBrand.js @@ -22,7 +22,7 @@ var NavbarBrand = _react.default.forwardRef(function (_ref, ref) { props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "as"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'navbar-brand'); var Component = as || (props.href ? 'a' : 'span'); - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, className: (0, _classnames.default)(className, bsPrefix) })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/NavbarCollapse.js b/conf/site/node_modules/react-bootstrap/cjs/NavbarCollapse.js index 9d79f82a..4d243325 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/NavbarCollapse.js +++ b/conf/site/node_modules/react-bootstrap/cjs/NavbarCollapse.js @@ -22,10 +22,10 @@ var NavbarCollapse = _react.default.forwardRef(function (_ref, ref) { bsPrefix = _ref.bsPrefix, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "bsPrefix"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'navbar-collapse'); - return _react.default.createElement(_NavbarContext.default.Consumer, null, function (context) { - return _react.default.createElement(_Collapse.default, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(_NavbarContext.default.Consumer, null, function (context) { + return /*#__PURE__*/_react.default.createElement(_Collapse.default, (0, _extends2.default)({ in: !!(context && context.expanded) - }, props), _react.default.createElement("div", { + }, props), /*#__PURE__*/_react.default.createElement("div", { ref: ref, className: bsPrefix }, children)); diff --git a/conf/site/node_modules/react-bootstrap/cjs/NavbarToggle.js b/conf/site/node_modules/react-bootstrap/cjs/NavbarToggle.js index 09686677..7fbfae87 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/NavbarToggle.js +++ b/conf/site/node_modules/react-bootstrap/cjs/NavbarToggle.js @@ -49,12 +49,12 @@ var NavbarToggle = _react.default.forwardRef(function (_ref, ref) { props.type = 'button'; } - return _react.default.createElement(Component, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { ref: ref, onClick: handleClick, "aria-label": label, className: (0, _classnames.default)(className, bsPrefix, !expanded && 'collapsed') - }), children || _react.default.createElement("span", { + }), children || /*#__PURE__*/_react.default.createElement("span", { className: bsPrefix + "-icon" })); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Overlay.js b/conf/site/node_modules/react-bootstrap/cjs/Overlay.js index 05921b87..5f48be43 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Overlay.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Overlay.js @@ -13,12 +13,14 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt var _react = _interopRequireWildcard(require("react")); -var _reactDom = require("react-dom"); - var _classnames = _interopRequireDefault(require("classnames")); var _Overlay = _interopRequireDefault(require("react-overlays/Overlay")); +var _safeFindDOMNode = _interopRequireDefault(require("react-overlays/safeFindDOMNode")); + +var _usePopperMarginModifiers = _interopRequireDefault(require("./usePopperMarginModifiers")); + var _Fade = _interopRequireDefault(require("./Fade")); var defaultProps = { @@ -33,21 +35,32 @@ function wrapRefs(props, arrowProps) { var aRef = arrowProps.ref; props.ref = ref.__wrapped || (ref.__wrapped = function (r) { - return ref((0, _reactDom.findDOMNode)(r)); + return ref((0, _safeFindDOMNode.default)(r)); }); arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = function (r) { - return aRef((0, _reactDom.findDOMNode)(r)); + return aRef((0, _safeFindDOMNode.default)(r)); }); } function Overlay(_ref) { var overlay = _ref.children, transition = _ref.transition, - outerProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "transition"]); + _ref$popperConfig = _ref.popperConfig, + popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig, + outerProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "transition", "popperConfig"]); var popperRef = (0, _react.useRef)({}); + + var _usePopperMarginModif = (0, _usePopperMarginModifiers.default)(), + ref = _usePopperMarginModif[0], + marginModifiers = _usePopperMarginModif[1]; + transition = transition === true ? _Fade.default : transition || null; - return _react.default.createElement(_Overlay.default, (0, _extends2.default)({}, outerProps, { + return /*#__PURE__*/_react.default.createElement(_Overlay.default, (0, _extends2.default)({}, outerProps, { + ref: ref, + popperConfig: (0, _extends2.default)({}, popperConfig, { + modifiers: marginModifiers.concat(popperConfig.modifiers || []) + }), transition: transition }), function (_ref2) { var overlayProps = _ref2.props, diff --git a/conf/site/node_modules/react-bootstrap/cjs/OverlayTrigger.js b/conf/site/node_modules/react-bootstrap/cjs/OverlayTrigger.js index 38ec86e1..8b8f06d7 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/OverlayTrigger.js +++ b/conf/site/node_modules/react-bootstrap/cjs/OverlayTrigger.js @@ -19,7 +19,7 @@ var _react = _interopRequireWildcard(require("react")); var _useTimeout = _interopRequireDefault(require("@restart/hooks/useTimeout")); -var _reactDom = _interopRequireDefault(require("react-dom")); +var _safeFindDOMNode = _interopRequireDefault(require("react-overlays/safeFindDOMNode")); var _warning = _interopRequireDefault(require("warning")); @@ -74,7 +74,10 @@ function OverlayTrigger(_ref) { popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig, defaultShow = _ref.defaultShow, propsDelay = _ref.delay, - props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["trigger", "overlay", "children", "popperConfig", "defaultShow", "delay"]); + placement = _ref.placement, + _ref$flip = _ref.flip, + flip = _ref$flip === void 0 ? placement && placement.indexOf('auto') !== -1 : _ref$flip, + props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["trigger", "overlay", "children", "popperConfig", "defaultShow", "delay", "placement", "flip"]); var triggerNodeRef = (0, _react.useRef)(null); var timeout = (0, _useTimeout.default)(); var hoverStateRef = (0, _react.useRef)(); @@ -92,7 +95,7 @@ function OverlayTrigger(_ref) { onBlur = _child$props.onBlur, onClick = _child$props.onClick; var getTarget = (0, _react.useCallback)(function () { - return _reactDom.default.findDOMNode(triggerNodeRef.current); + return (0, _safeFindDOMNode.default)(triggerNodeRef.current); }, []); var handleShow = (0, _react.useCallback)(function () { timeout.clear(); @@ -183,15 +186,17 @@ function OverlayTrigger(_ref) { triggerProps.onMouseOut = handleMouseOut; } - return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(RefHolder, { + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(RefHolder, { ref: triggerNodeRef - }, (0, _react.cloneElement)(child, triggerProps)), _react.default.createElement(_Overlay.default, (0, _extends2.default)({}, props, { + }, (0, _react.cloneElement)(child, triggerProps)), /*#__PURE__*/_react.default.createElement(_Overlay.default, (0, _extends2.default)({}, props, { popperConfig: (0, _extends2.default)({}, popperConfig, { modifiers: [ariaModifier].concat(popperConfig.modifiers || []) }), show: show, onHide: handleHide, - target: getTarget + target: getTarget, + placement: placement, + flip: flip }), overlay)); } diff --git a/conf/site/node_modules/react-bootstrap/cjs/PageItem.js b/conf/site/node_modules/react-bootstrap/cjs/PageItem.js index 666a9b56..5993d1b3 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/PageItem.js +++ b/conf/site/node_modules/react-bootstrap/cjs/PageItem.js @@ -33,17 +33,17 @@ var PageItem = _react.default.forwardRef(function (_ref, ref) { children = _ref.children, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["active", "disabled", "className", "style", "activeLabel", "children"]); var Component = active || disabled ? 'span' : _SafeAnchor.default; - return _react.default.createElement("li", { + return /*#__PURE__*/_react.default.createElement("li", { ref: ref, style: style, className: (0, _classnames.default)(className, 'page-item', { active: active, disabled: disabled }) - }, _react.default.createElement(Component, (0, _extends2.default)({ + }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ className: "page-link", disabled: disabled - }, props), children, active && activeLabel && _react.default.createElement("span", { + }, props), children, active && activeLabel && /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" }, activeLabel))); }); @@ -74,9 +74,9 @@ function createButton(name, defaultValue, label) { children = _this$props.children, props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children"]); delete props.active; - return _react.default.createElement(PageItem, props, _react.default.createElement("span", { + return /*#__PURE__*/_react.default.createElement(PageItem, props, /*#__PURE__*/_react.default.createElement("span", { "aria-hidden": "true" - }, children || defaultValue), _react.default.createElement("span", { + }, children || defaultValue), /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" }, label)); }; diff --git a/conf/site/node_modules/react-bootstrap/cjs/Pagination.js b/conf/site/node_modules/react-bootstrap/cjs/Pagination.js index 806b54c5..cabd9156 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Pagination.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Pagination.js @@ -34,7 +34,7 @@ var Pagination = _react.default.forwardRef(function (_ref, ref) { size = _ref.size, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "children", "size"]); var decoratedBsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'pagination'); - return _react.default.createElement("ul", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, decoratedBsPrefix, size && decoratedBsPrefix + "-" + size) diff --git a/conf/site/node_modules/react-bootstrap/cjs/Popover.js b/conf/site/node_modules/react-bootstrap/cjs/Popover.js index d14cc2d0..17756ec4 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Popover.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Popover.js @@ -37,15 +37,20 @@ var Popover = _react.default.forwardRef(function (_ref, ref) { _1 = _ref.show, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "placement", "className", "style", "children", "content", "arrowProps", "popper", "show"]); var decoratedBsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'popover'); - return _react.default.createElement("div", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: ref, role: "tooltip", style: style, "x-placement": placement, className: (0, _classnames.default)(className, decoratedBsPrefix, "bs-popover-" + placement) - }, props), _react.default.createElement("div", (0, _extends2.default)({ + }, props), /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ className: "arrow" - }, arrowProps)), content ? _react.default.createElement(_PopoverContent.default, null, children) : children); + }, arrowProps, { + // this prevents an error if you render a Popover without arrow props, like in a test + style: arrowProps ? (0, _extends2.default)({}, arrowProps.style, { + margin: 0 + }) : undefined + })), content ? /*#__PURE__*/_react.default.createElement(_PopoverContent.default, null, children) : children); }); Popover.defaultProps = defaultProps; diff --git a/conf/site/node_modules/react-bootstrap/cjs/PopoverContent.js b/conf/site/node_modules/react-bootstrap/cjs/PopoverContent.js index c289e2f1..7d7ed946 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/PopoverContent.js +++ b/conf/site/node_modules/react-bootstrap/cjs/PopoverContent.js @@ -23,7 +23,7 @@ var PopoverContent = _react.default.forwardRef(function (_ref, ref) { children = _ref.children, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "bsPrefix", "className", "children"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'popover-body'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, bsPrefix) diff --git a/conf/site/node_modules/react-bootstrap/cjs/PopoverTitle.js b/conf/site/node_modules/react-bootstrap/cjs/PopoverTitle.js index 1fb0891e..9aff88d8 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/PopoverTitle.js +++ b/conf/site/node_modules/react-bootstrap/cjs/PopoverTitle.js @@ -23,7 +23,7 @@ var PopoverTitle = _react.default.forwardRef(function (_ref, ref) { children = _ref.children, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "bsPrefix", "className", "children"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'popover-header'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(bsPrefix, className) diff --git a/conf/site/node_modules/react-bootstrap/cjs/ProgressBar.js b/conf/site/node_modules/react-bootstrap/cjs/ProgressBar.js index c9e334af..a65ba3b0 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ProgressBar.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ProgressBar.js @@ -45,7 +45,7 @@ function onlyProgressBar(props, propName, componentName) { */ - var element = _react.default.createElement(ProgressBar, null); + var element = /*#__PURE__*/_react.default.createElement(ProgressBar, null); if (child.type === element.type) return; var childIdentifier = _react.default.isValidElement(child) ? child.type.displayName || child.type.name || child.type : child; @@ -84,7 +84,7 @@ function renderProgressBar(_ref, ref) { variant = _ref.variant, bsPrefix = _ref.bsPrefix, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["min", "now", "max", "label", "srOnly", "striped", "animated", "className", "style", "variant", "bsPrefix"]); - return _react.default.createElement("div", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: ref }, props, { role: "progressbar", @@ -95,7 +95,7 @@ function renderProgressBar(_ref, ref) { "aria-valuenow": now, "aria-valuemin": min, "aria-valuemax": max - }), srOnly ? _react.default.createElement("span", { + }), srOnly ? /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" }, label) : label); } @@ -121,7 +121,7 @@ var ProgressBar = _react.default.forwardRef(function (_ref2, ref) { className = props.className, children = props.children, wrapperProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["min", "now", "max", "label", "srOnly", "striped", "animated", "bsPrefix", "variant", "className", "children"]); - return _react.default.createElement("div", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: ref }, wrapperProps, { className: (0, _classnames.default)(className, bsPrefix) diff --git a/conf/site/node_modules/react-bootstrap/cjs/ResponsiveEmbed.js b/conf/site/node_modules/react-bootstrap/cjs/ResponsiveEmbed.js index 06423c20..56b9cb35 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/ResponsiveEmbed.js +++ b/conf/site/node_modules/react-bootstrap/cjs/ResponsiveEmbed.js @@ -29,7 +29,7 @@ var ResponsiveEmbed = _react.default.forwardRef(function (_ref, ref) { var child = _react.default.Children.only(children); - return _react.default.createElement("div", (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(decoratedBsPrefix, className, aspectRatio && decoratedBsPrefix + "-" + aspectRatio) diff --git a/conf/site/node_modules/react-bootstrap/cjs/Row.js b/conf/site/node_modules/react-bootstrap/cjs/Row.js index 00759eb5..6cf57226 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Row.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Row.js @@ -44,7 +44,7 @@ var Row = _react.default.forwardRef(function (_ref, ref) { var infix = brkPoint !== 'xs' ? "-" + brkPoint : ''; if (cols != null) classes.push("" + sizePrefix + infix + "-" + cols); }); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: _classnames.default.apply(void 0, [className, decoratedBsPrefix, noGutters && 'no-gutters'].concat(classes)) diff --git a/conf/site/node_modules/react-bootstrap/cjs/SafeAnchor.js b/conf/site/node_modules/react-bootstrap/cjs/SafeAnchor.js index e05389cf..c175693d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/SafeAnchor.js +++ b/conf/site/node_modules/react-bootstrap/cjs/SafeAnchor.js @@ -69,7 +69,7 @@ var SafeAnchor = _react.default.forwardRef(function (_ref, ref) { props['aria-disabled'] = true; } - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { onClick: handleClick, diff --git a/conf/site/node_modules/react-bootstrap/cjs/Spinner.js b/conf/site/node_modules/react-bootstrap/cjs/Spinner.js index 61ad1382..e33576fa 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Spinner.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Spinner.js @@ -27,7 +27,7 @@ var Spinner = _react.default.forwardRef(function (_ref, ref) { props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "variant", "animation", "size", "children", "as", "className"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'spinner'); var bsSpinnerPrefix = bsPrefix + "-" + animation; - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, bsSpinnerPrefix, size && bsSpinnerPrefix + "-" + size, variant && "text-" + variant) diff --git a/conf/site/node_modules/react-bootstrap/cjs/SplitButton.js b/conf/site/node_modules/react-bootstrap/cjs/SplitButton.js index 57dc93fc..787d883d 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/SplitButton.js +++ b/conf/site/node_modules/react-bootstrap/cjs/SplitButton.js @@ -53,6 +53,9 @@ var propTypes = { /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */ menuRole: _propTypes.default.string, + /** Whether to render the dropdown menu in the DOM before the first time it is shown */ + renderMenuOnMount: _propTypes.default.bool, + /** * Which event when fired outside the component will cause it to be closed. * @@ -87,13 +90,14 @@ var SplitButton = _react.default.forwardRef(function (_ref, ref) { href = _ref.href, target = _ref.target, menuRole = _ref.menuRole, + renderMenuOnMount = _ref.renderMenuOnMount, rootCloseEvent = _ref.rootCloseEvent, - props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "bsPrefix", "size", "variant", "title", "type", "toggleLabel", "children", "onClick", "href", "target", "menuRole", "rootCloseEvent"]); - return _react.default.createElement(_Dropdown.default, (0, _extends2.default)({ + props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "bsPrefix", "size", "variant", "title", "type", "toggleLabel", "children", "onClick", "href", "target", "menuRole", "renderMenuOnMount", "rootCloseEvent"]); + return /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({ ref: ref }, props, { as: _ButtonGroup.default - }), _react.default.createElement(_Button.default, { + }), /*#__PURE__*/_react.default.createElement(_Button.default, { size: size, variant: variant, disabled: props.disabled, @@ -102,17 +106,18 @@ var SplitButton = _react.default.forwardRef(function (_ref, ref) { target: target, onClick: onClick, type: type - }, title), _react.default.createElement(_Dropdown.default.Toggle, { + }, title), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Toggle, { split: true, id: id, size: size, variant: variant, disabled: props.disabled, childBsPrefix: bsPrefix - }, _react.default.createElement("span", { + }, /*#__PURE__*/_react.default.createElement("span", { className: "sr-only" - }, toggleLabel)), _react.default.createElement(_Dropdown.default.Menu, { + }, toggleLabel)), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, { role: menuRole, + renderOnMount: renderMenuOnMount, rootCloseEvent: rootCloseEvent }, children)); }); diff --git a/conf/site/node_modules/react-bootstrap/cjs/Switch.js b/conf/site/node_modules/react-bootstrap/cjs/Switch.js index 8acd1740..cbd4ac24 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/Switch.js +++ b/conf/site/node_modules/react-bootstrap/cjs/Switch.js @@ -12,7 +12,7 @@ var _react = _interopRequireDefault(require("react")); var _FormCheck = _interopRequireDefault(require("./FormCheck")); var Switch = _react.default.forwardRef(function (props, ref) { - return _react.default.createElement(_FormCheck.default, (0, _extends2.default)({}, props, { + return /*#__PURE__*/_react.default.createElement(_FormCheck.default, (0, _extends2.default)({}, props, { ref: ref, type: "switch" })); diff --git a/conf/site/node_modules/react-bootstrap/cjs/TabContainer.js b/conf/site/node_modules/react-bootstrap/cjs/TabContainer.js index d3f94f7d..050f53bc 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/TabContainer.js +++ b/conf/site/node_modules/react-bootstrap/cjs/TabContainer.js @@ -48,9 +48,9 @@ var TabContainer = function TabContainer(props) { } }; }, [onSelect, activeKey, transition, mountOnEnter, unmountOnExit, generateChildId]); - return _react.default.createElement(_TabContext.default.Provider, { + return /*#__PURE__*/_react.default.createElement(_TabContext.default.Provider, { value: tabContext - }, _react.default.createElement(_SelectableContext.default.Provider, { + }, /*#__PURE__*/_react.default.createElement(_SelectableContext.default.Provider, { value: onSelect }, children)); }; diff --git a/conf/site/node_modules/react-bootstrap/cjs/TabContent.js b/conf/site/node_modules/react-bootstrap/cjs/TabContent.js index 7e6a5a36..db5b765f 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/TabContent.js +++ b/conf/site/node_modules/react-bootstrap/cjs/TabContent.js @@ -22,7 +22,7 @@ var TabContent = _react.default.forwardRef(function (_ref, ref) { className = _ref.className, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "as", "className"]); var decoratedBsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'tab-content'); - return _react.default.createElement(Component, (0, _extends2.default)({ + return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, decoratedBsPrefix) diff --git a/conf/site/node_modules/react-bootstrap/cjs/TabPane.js b/conf/site/node_modules/react-bootstrap/cjs/TabPane.js index d63504d6..26cc4db4 100644 --- a/conf/site/node_modules/react-bootstrap/cjs/TabPane.js +++ b/conf/site/node_modules/react-bootstrap/cjs/TabPane.js @@ -64,7 +64,7 @@ var TabPane = _react.default.forwardRef(function (props, ref) { var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'tab-pane'); if (!active && !Transition && unmountOnExit) return null; - var pane = _react.default.createElement(Component, (0, _extends2.default)({}, rest, { + var pane = /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, { ref: ref, role: "tabpanel", "aria-hidden": !active, @@ -73,7 +73,7 @@ var TabPane = _react.default.forwardRef(function (props, ref) { }) })); - if (Transition) pane = _react.default.createElement(Transition, { + if (Transition) pane = /*#__PURE__*/_react.default.createElement(Transition, { in: active, onEnter: onEnter, onEntering: onEntering, @@ -86,9 +86,9 @@ var TabPane = _react.default.forwardRef(function (props, ref) { }, pane); // We provide an empty the TabContext so `