{"version":3,"file":"852.bundle.js","mappings":"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","sources":["webpack:///../node_modules/@paypalcorp/pp-react-animator/dist/@paypalcorp/pp-react-animator.esm.js","webpack:///../node_modules/@paypalcorp/pp-react-icon-button/dist/@paypalcorp/pp-react-icon-button.esm.js","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack:///../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack:///../node_modules/use-callback-ref/dist/es2015/useRef.js","webpack:///../node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack:///../node_modules/use-sidecar/dist/es2015/medium.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/medium.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/UI.js","webpack:///../node_modules/focus-lock/dist/es2015/constants.js","webpack:///../node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///../node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///../node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///../node_modules/react-focus-lock/dist/es2015/UI.js","webpack:///../node_modules/react-focus-on/dist/es2015/medium.js","webpack:///../node_modules/react-focus-on/dist/es2015/UI.js","webpack:///../node_modules/use-sidecar/dist/es2015/exports.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/is.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/safe.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///../node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///../node_modules/focus-lock/dist/es2015/solver.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack:///../node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///../node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack:///../node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///../node_modules/focus-lock/dist/es2015/index.js","webpack:///../node_modules/react-focus-lock/dist/es2015/util.js","webpack:///../node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///../node_modules/focus-lock/dist/es2015/focusables.js","webpack:///../node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///../node_modules/react-clientside-effect/lib/index.es.js","webpack:///../node_modules/react-focus-lock/dist/es2015/sidecar.js","webpack:///../node_modules/react-style-singleton/dist/es2015/singleton.js","webpack:///../node_modules/get-nonce/dist/es2015/index.js","webpack:///../node_modules/react-style-singleton/dist/es2015/component.js","webpack:///../node_modules/react-style-singleton/dist/es2015/hook.js","webpack:///../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack:///../node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack:///../node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack:///../node_modules/aria-hidden/dist/es2015/index.js","webpack:///../node_modules/react-focus-on/dist/es2015/InteractivityDisabler.js","webpack:///../node_modules/react-focus-on/dist/es2015/Effect.js","webpack:///../node_modules/react-focus-on/dist/es2015/sidecar.js","webpack:///../node_modules/react-focus-on/dist/es2015/Combination.js","webpack:///../node_modules/react-focus-lock/dist/es2015/AutoFocusInside.js","webpack:///../node_modules/@paypalcorp/pp-react-modal/dist/@paypalcorp/pp-react-modal.esm.js"],"sourcesContent":["import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { uniqueId } from '@paypalcorp/pp-react-utils';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nvar Animator = function (_ref) {\n var _ref$id = _ref.id,\n id = _ref$id === void 0 ? uniqueId('animatee#') : _ref$id,\n _ref$shouldHide = _ref.shouldHide,\n shouldHide = _ref$shouldHide === void 0 ? false : _ref$shouldHide,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n _ref$onCloseComplete = _ref.onCloseComplete,\n onCloseComplete = _ref$onCloseComplete === void 0 ? onClose : _ref$onCloseComplete,\n _ref$phaseProps = _ref.phaseProps,\n phaseProps = _ref$phaseProps === void 0 ? {\n initial: {\n isHidden: true\n },\n showing: {\n isHidden: false\n },\n hiding: {\n isHidden: true\n }\n } : _ref$phaseProps,\n children = _ref.children;\n\n var _useState = useState('initial'),\n _useState2 = _slicedToArray(_useState, 2),\n currentPhase = _useState2[0],\n setCurrentPhase = _useState2[1];\n\n var closeEvent = useRef({\n event: null,\n closeMethod: ''\n });\n var animatee = useRef(id);\n useEffect(function () {\n // istanbul ignore next\n if (process.env.NODE_ENV !== 'production') {\n if (onClose) {\n // eslint-disable-next-line no-console\n console.warn('onClose() has been renamed onCloseComplete(), please update your code');\n }\n }\n });\n useEffect(function () {\n var timer;\n\n if (!shouldHide && currentPhase === 'initial') {\n // A brief timeout is needed to let the animation begin.\n // Otherwise, react \"optimizes\" the state transitions\n // --love, BCC\n // istanbul ignorenext\n timer = setTimeout(function () {\n return setCurrentPhase('showing');\n }, 10);\n }\n\n if (shouldHide && currentPhase !== 'initial') {\n closeEvent.current.closeMethod = 'caller';\n setCurrentPhase('hiding');\n }\n\n return function () {\n if (timer) {\n clearTimeout(timer);\n }\n };\n }, [shouldHide]);\n\n var onAnimationEnd = function (evt) {\n /* istanbul ignore else */\n if (evt.target.dataset.animatee === animatee.current) {\n if (currentPhase === 'hiding') {\n // If we're done hiding, tell the app that it's safe to remove us from the DOM\n // istanbul ignore next\n var _ref2 = closeEvent.current || {},\n _event = _ref2.event,\n closeMethod = _ref2.closeMethod; // istanbul ignore next\n\n\n if (typeof onCloseComplete === 'function') {\n onCloseComplete(_event, closeMethod);\n }\n\n setCurrentPhase('initial');\n } else if (typeof onOpen === 'function') {\n onOpen(evt); // Let app know entrance is complete and we're ready for action\n }\n\n evt.stopPropagation();\n evt.nativeEvent.stopImmediatePropagation();\n }\n };\n\n if (shouldHide && currentPhase === 'initial') {\n return null;\n }\n\n var childProps = _objectSpread({\n requestClose: function requestClose(evt, closedBy) {\n closeEvent.current.event = evt;\n closeEvent.current.closeMethod = closedBy;\n setCurrentPhase('hiding');\n },\n 'data-animatee': animatee.current\n }, phaseProps[currentPhase]);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n \"data-testid\": \"animator\",\n onTransitionEnd: onAnimationEnd,\n onAnimationEnd: onAnimationEnd,\n \"data-ppui\": \"true\"\n }, children(childProps));\n};\n\nexport { Animator };\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { forwardRef, useMemo } from 'react';\nimport { CheckmarkIcon } from '@paypalcorp/pp-react-icons';\nimport { utilStyles, getColorValue, ColorContext, Shimmer } from '@paypalcorp/pp-react-utils';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { math } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;\nfunction styles(tokens, colorTokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n var sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeTapTargetXs = tokens.sysSizeTapTargetXs,\n sysSizeTapTargetSm = tokens.sysSizeTapTargetSm,\n sysSizeCircleLg = tokens.sysSizeCircleLg,\n sysBorderRadiusSm = tokens.sysBorderRadiusSm,\n sysBorderRadiusInteractive = tokens.sysBorderRadiusInteractive,\n sysColorOverlayMain = tokens.sysColorOverlayMain,\n sysColorOverlayContrast = tokens.sysColorOverlayContrast,\n sysColorOverlayMainHover = tokens.sysColorOverlayMainHover,\n sysColorOverlayMainActive = tokens.sysColorOverlayMainActive,\n sysColorPrimaryMain = tokens.sysColorPrimaryMain,\n sysColorPrimaryContrast = tokens.sysColorPrimaryContrast,\n sysColorPrimaryMainHover = tokens.sysColorPrimaryMainHover,\n sysColorPrimaryMainActive = tokens.sysColorPrimaryMainActive,\n sysColorPrimaryContrastActive = tokens.sysColorPrimaryContrastActive,\n sysColorPrimaryContrastHover = tokens.sysColorPrimaryContrastHover,\n sysColorTertiaryMain = tokens.sysColorTertiaryMain,\n sysColorTertiaryContrast = tokens.sysColorTertiaryContrast,\n sysColorTertiaryMainHover = tokens.sysColorTertiaryMainHover,\n sysColorTertiaryMainActive = tokens.sysColorTertiaryMainActive,\n sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysColorBackgroundHighContrast = tokens.sysColorBackgroundHighContrast,\n sysColorBackgroundSurfaceActive = tokens.sysColorBackgroundSurfaceActive,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover,\n sysColorSuccessMain = tokens.sysColorSuccessMain,\n sysColorSuccessContrast = tokens.sysColorSuccessContrast;\n\n var _utilStyles = utilStyles(tokens),\n screenReader = _utilStyles.screenReader,\n focusStyles = _utilStyles.focusStyles,\n shimmerStyles = _utilStyles.shimmerStyles;\n\n var _textStyles = textStyles(tokens),\n caption = _textStyles.caption;\n\n var offsetFocusAfter = focusStyles.offsetFocusAfter;\n var defaults = shimmerStyles.defaults;\n /* token for tap target in small icon-button */\n\n var sysIconbuttonPositionTapTargetOffset = math(\"\".concat(sysSizeTapTargetSm, \" - \").concat(sysSizeTapTargetXs));\n var iconButtonSize = math(\"\".concat(sysSizeIconSm, \" + 2 *\\n \").concat(sysSpaceMd));\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: icon-button_base;\\n position: relative;\\n cursor: pointer;\\n border-radius: \", \";\\n padding: \", \";\\n border: none;\\n background-color: transparent;\\n text-decoration: none;\\n display: inline-flex;\\n &:focus {\\n outline: none;\\n &:after {\\n \", \";\\n }\\n }\\n \"])), sysBorderRadiusInteractive, sysSpaceMd, offsetFocusAfter({\n radius: sysBorderRadiusInteractive,\n horizontalOffset: '0rem',\n verticalOffset: '0rem'\n }));\n var container = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: icon-button_container;\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n padding: \", \" 0;\\n width: \", \";\\n word-wrap: break-word;\\n \", \"\\n border: none;\\n background-color: transparent;\\n\\n &:focus,\\n &:hover {\\n cursor: pointer;\\n -webkit-text-stroke-width: \", \";\\n }\\n\\n &:focus {\\n outline: none;\\n &:after {\\n \", \"\\n }\\n }\\n\\n &:hover {\\n span:last-of-type {\\n text-decoration: underline;\\n }\\n }\\n\\n &:hover > div:first-of-type {\\n background: \", \";\\n }\\n \"])), sysSpaceMd, '6rem', caption({\n color: getColorValue(colorTokens, sysColorBackgroundHighContrast, 'contrast')\n }), '0.0421875rem', offsetFocusAfter({\n radius: sysBorderRadiusSm\n }), sysColorTertiaryMainHover);\n var primary = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: primary;\\n color: \", \";\\n background: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryMainHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryMainActive, 'active'));\n var inverse = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: inverse;\\n color: \", \";\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'));\n var sizeSm = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: size_sm;\\n padding: \", \";\\n &:before {\\n content: '';\\n position: absolute;\\n border-radius: \", \";\\n top: -\", \";\\n right: -\", \";\\n bottom: -\", \";\\n left: -\", \";\\n }\\n \"])), sysSpaceSm, sysBorderRadiusInteractive, math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")), math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")), math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")), math(\"\".concat(sysIconbuttonPositionTapTargetOffset, \" / 2\")));\n var sizeXl = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: size_xl;\\n \", \"\\n padding: \", \";\\n \"])), sizeSm, sysSpaceLg);\n var secondary = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: secondary;\\n color: \", \";\\n background: \", \";\\n &:active {\\n background: \", \";\\n }\\n &:hover {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorTertiaryContrast, 'contrast'), getColorValue(colorTokens, sysColorTertiaryMain, 'main'), getColorValue(colorTokens, sysColorTertiaryMainActive, 'active'), getColorValue(colorTokens, sysColorTertiaryMainHover, 'hover'));\n var secondaryInverse = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: secondary_inverse;\\n background: \", \";\\n color: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorPrimaryContrast, 'contrast'), getColorValue(colorTokens, sysColorPrimaryMain, 'main'), getColorValue(colorTokens, sysColorPrimaryContrastHover, 'hover'), getColorValue(colorTokens, sysColorPrimaryContrastActive, 'active'));\n var tertiary = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: tertiary;\\n color: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorBackgroundMediumContrast, 'contrast'), getColorValue(colorTokens, sysColorBackgroundSurfaceHover, 'hover'), getColorValue(colorTokens, sysColorBackgroundSurfaceActive, 'active'));\n var tertiaryInverse = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: tertiary_inverse;\\n color: \", \";\\n background: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorOverlayContrast, 'contrast'), getColorValue(colorTokens, sysColorOverlayMain, 'main'), getColorValue(colorTokens, sysColorOverlayMainHover, 'hover'), getColorValue(colorTokens, sysColorOverlayMainActive, 'active'));\n var icon = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: icon;\\n pointer-events: none;\\n \"])));\n var shimmer = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: shimmer;\\n \", \"\\n \"])), defaults({\n borderRadius: sysBorderRadiusInteractive,\n width: iconButtonSize,\n height: iconButtonSize\n }));\n var shimmerSizeSm = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: shimmer_size_sm;\\n width: \", \";\\n height: \", \";\\n &:before {\\n display: none; //tap-target is not needed in shimmer state\\n }\\n \"])), sysSizeTapTargetXs, sysSizeTapTargetXs);\n var shimmerSizeXl = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: shimmer_size_xl;\\n width: \", \";\\n height: \", \";\\n &:before {\\n display: none; //tap-target is not needed in shimmer state\\n }\\n \"])), sysSizeCircleLg, sysSizeCircleLg);\n var loadingSpinner = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: loading_spinner;\\n margin: 0;\\n \"])));\n var processingState = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: processing_state;\\n pointer-events: none;\\n \"])));\n var successState = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: success_state;\\n pointer-events: none;\\n background-color: \", \";\\n color: \", \";\\n &:hover {\\n background: \", \";\\n }\\n &:active {\\n background: \", \";\\n }\\n \"])), getColorValue(colorTokens, sysColorSuccessMain, 'main'), getColorValue(colorTokens, sysColorSuccessContrast, 'contrast'), getColorValue(colorTokens, sysColorSuccessMain, 'main'), getColorValue(colorTokens, sysColorSuccessMain, 'main'));\n var label = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: icon-button_label;\\n display: block;\\n text-align: center;\\n padding: \", \" \", \" 0 \", \";\\n width: inherit;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n overflow: hidden;\\n \"])), sysSpaceSm, sysSpaceSm, sysSpaceSm);\n return {\n base: base,\n container: container,\n primary: primary,\n inverse: inverse,\n sizeSm: sizeSm,\n sizeXl: sizeXl,\n secondary: secondary,\n secondaryInverse: secondaryInverse,\n tertiary: tertiary,\n tertiaryInverse: tertiaryInverse,\n screenReader: screenReader,\n icon: icon,\n shimmer: shimmer,\n shimmerSizeSm: shimmerSizeSm,\n shimmerSizeXl: shimmerSizeXl,\n loadingSpinner: loadingSpinner,\n processingState: processingState,\n successState: successState,\n label: label\n };\n}\n\nvar _excluded = [\"as\", \"iconName\", \"svgIconComponent\", \"className\", \"label\", \"iconClassName\", \"children\", \"buttonType\", \"btnState\", \"screenReaderText\", \"inverse\", \"size\", \"isLoading\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n/* eslint-disable complexity */\nvar IconButton = forwardRef(function (props, ref) {\n var as = props.as,\n iconName = props.iconName,\n svgIconComponent = props.svgIconComponent,\n className = props.className,\n label = props.label,\n iconClassName = props.iconClassName,\n children = props.children,\n _props$buttonType = props.buttonType,\n buttonType = _props$buttonType === void 0 ? 'primary' : _props$buttonType,\n _props$btnState = props.btnState,\n btnState = _props$btnState === void 0 ? 'initial' : _props$btnState,\n screenReaderText = props.screenReaderText,\n inverse = props.inverse,\n size = props.size,\n isLoading = props.isLoading,\n rest = _objectWithoutProperties(props, _excluded); // If theme is not directly provided, get from themeContext\n\n\n var tokens = useTheme();\n var colorTokens = React.useContext(ColorContext);\n\n var _styles = useMemo(function () {\n return styles(tokens, colorTokens);\n }, [tokens, colorTokens]);\n\n if (isLoading) {\n var shimmerSizesStyleMap = {\n sm: _styles.shimmerSizeSm,\n xl: _styles.shimmerSizeXl\n };\n var shimmerCSSVal = [_styles.shimmer, shimmerSizesStyleMap[size]];\n return jsx(Shimmer, {\n css: shimmerCSSVal,\n className: className,\n isInverse: inverse,\n hasStyleDefaults: false,\n \"data-ppui\": \"true\"\n }, children);\n }\n /* istanbul ignore next */\n\n\n var iconSize = size === 'xl' ? 'md' : 'sm';\n var sizesStyleMap = {\n sm: _styles.sizeSm,\n xl: _styles.sizeXl\n };\n var cssVal = [_styles.base, sizesStyleMap[size], buttonType === 'primary' && _styles.primary, buttonType === 'secondary' && _styles.secondary, buttonType === 'tertiary' && _styles.tertiary, inverse && _styles.inverse, buttonType === 'secondary' && inverse && _styles.secondaryInverse, buttonType === 'tertiary' && inverse && _styles.tertiaryInverse, btnState === 'success' && _styles.successState, btnState === 'processing' && _styles.processingState];\n var withLabelCssVal = [_styles.base, size === 'sm' ? '' : sizesStyleMap[size], _styles.secondary, btnState === 'success' && _styles.successState, btnState === 'processing' && _styles.processingState];\n var Component = as || 'button';\n\n if (label) {\n Component = 'div';\n } // Setting type to null will not add the attribute:\n\n\n var type = Component === 'button' ? 'button' : null;\n var renderIconComponent = svgIconComponent ? jsx(svgIconComponent, {\n css: _styles.icon,\n className: iconClassName,\n name: iconName,\n size: iconSize,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }) : null; // Do not add rest props when there is a label. The `iconButtonComponent` component will be inside a wrapper.\n\n var restProps = !label ? _objectSpread({}, rest) : {};\n\n var componentProps = _objectSpread({\n className: className,\n css: label ? withLabelCssVal : cssVal,\n ref: ref,\n type: type,\n disabled: btnState && btnState !== 'initial'\n }, restProps);\n\n var iconButtonComponent = jsx(Component, _extends({\n \"data-ppui-info\": \"icon-button_3.3.0\"\n }, componentProps), btnState !== 'initial' ? function renderButtonState() {\n var iconProps = {\n css: _styles.icon\n };\n var buttonStateComponent = jsx(CheckmarkIcon, _extends({\n size: iconSize\n }, iconProps, {\n \"data-ppui\": \"true\"\n }));\n\n if (btnState === 'processing') {\n /* istanbul ignore next */\n var loadingSpinnerProps = {\n css: [_styles.icon, _styles.loadingSpinner],\n inverse: label ? false : buttonType === 'primary' || buttonType === 'tertiary' && inverse\n };\n buttonStateComponent = jsx(LoadingSpinner, _extends({\n size: iconSize\n }, loadingSpinnerProps, {\n \"data-ppui\": \"true\"\n }));\n }\n\n return jsx(React.Fragment, null, buttonStateComponent, jsx(\"span\", {\n css: _styles.screenReader,\n role: \"status\",\n \"data-ppui\": \"true\"\n }, screenReaderText || btnState));\n }() : jsx(React.Fragment, null, renderIconComponent, !label && jsx(\"span\", {\n css: _styles.screenReader,\n \"data-ppui\": \"true\"\n }, children)));\n\n if (!label) {\n return jsx(React.Fragment, null, iconButtonComponent);\n }\n\n return jsx(React.Fragment, null, function iconButtonComponentWithLabel() {\n var WrapperComponent = as !== null && as !== void 0 ? as : 'button';\n return jsx(WrapperComponent, _extends({\n css: _styles.container,\n className: className,\n tabIndex: 0\n }, rest, {\n \"data-ppui\": \"true\"\n }), iconButtonComponent, jsx(\"span\", {\n css: _styles.label,\n \"data-ppui\": \"true\"\n }, label));\n }());\n});\n\nexport { IconButton, styles as iconButtonStyles };\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true // focus-lock sidecar is not required on the server\n // however, it might be required for JSDOM tests\n // ssr: true,\n\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n // report incorrect integration - https://github.com/theKashey/react-focus-lock/issues/123\n if (!observed.current && typeof Container !== 'string') {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import FocusLockUI from './Lock';\nimport AutoFocusInside from './AutoFocusInside';\nimport MoveFocusInside, { useFocusInside } from './MoveFocusInside';\nimport FreeFocusInside from './FreeFocusInside';\nimport InFocusGuard from './FocusGuard';\nexport { AutoFocusInside, MoveFocusInside, FreeFocusInside, InFocusGuard, FocusLockUI, useFocusInside };\nexport default FocusLockUI;","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\nexport var focusHiddenMarker = 'data-focus-on-hidden';\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from 'react-remove-scroll/UI';\nimport ReactFocusLock from 'react-focus-lock/UI';\nimport { effectCar } from './medium';\nexport var FocusOn = React.forwardRef(function (props, parentRef) {\n var _a = React.useState(false), lockProps = _a[0], setLockProps = _a[1];\n var children = props.children, autoFocus = props.autoFocus, shards = props.shards, _b = props.enabled, enabled = _b === void 0 ? true : _b, _c = props.scrollLock, scrollLock = _c === void 0 ? true : _c, _d = props.focusLock, focusLock = _d === void 0 ? true : _d, _e = props.returnFocus, returnFocus = _e === void 0 ? true : _e, inert = props.inert, allowPinchZoom = props.allowPinchZoom, sideCar = props.sideCar, className = props.className, shouldIgnore = props.shouldIgnore, preventScrollOnFocus = props.preventScrollOnFocus, style = props.style, as = props.as, gapMode = props.gapMode, rest = __rest(props, [\"children\", \"autoFocus\", \"shards\", \"enabled\", \"scrollLock\", \"focusLock\", \"returnFocus\", \"inert\", \"allowPinchZoom\", \"sideCar\", \"className\", \"shouldIgnore\", \"preventScrollOnFocus\", \"style\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var onActivation = lockProps.onActivation, onDeactivation = lockProps.onDeactivation, restProps = __rest(lockProps, [\"onActivation\", \"onDeactivation\"]);\n var appliedLockProps = __assign(__assign({}, restProps), { as: as,\n style: style,\n sideCar: sideCar,\n shards: shards,\n allowPinchZoom: allowPinchZoom,\n gapMode: gapMode,\n inert: inert, enabled: enabled && scrollLock });\n return (React.createElement(React.Fragment, null,\n React.createElement(ReactFocusLock, { ref: parentRef, sideCar: sideCar, disabled: !(lockProps && enabled && focusLock), returnFocus: returnFocus, autoFocus: autoFocus, shards: shards, onActivation: onActivation, onDeactivation: onDeactivation, className: className, whiteList: shouldIgnore, lockProps: appliedLockProps, focusOptions: preventScrollOnFocus ? { preventScroll: true } : undefined, as: RemoveScroll }, children),\n enabled && (React.createElement(SideCar, __assign({}, rest, { sideCar: effectCar, setLockProps: setLockProps, shards: shards })))));\n});\nexport * from './reExports';\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = pickAutofocus(anyFocusable, innerNodes, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement, };\nexport default setFocus;\n//\n","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;\n","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import { exportSidecar } from 'use-sidecar';\nimport FocusTrap from './Trap';\nimport { mediumSidecar } from './medium';\nexport default exportSidecar(mediumSidecar, FocusTrap);","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n","var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (props) {\n var noRelative = props.noRelative, noImportant = props.noImportant, _a = props.gapMode, gapMode = _a === void 0 ? 'margin' : _a;\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== document.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(function () { return styleSingleton(); })[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { focusHiddenMarker } from './medium';\nvar Style = styleSingleton();\nvar styles = \"\\n [\" + focusHiddenMarker + \"] {\\n pointer-events: none !important;\\n }\\n\";\nexport var InteractivityDisabler = function () { return React.createElement(Style, { styles: styles }); };\n","import { __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { hideOthers } from 'aria-hidden';\nimport { InteractivityDisabler } from './InteractivityDisabler';\nimport { focusHiddenMarker } from './medium';\nimport { useEffect, useRef, useState } from 'react';\nvar extractRef = function (ref) {\n return 'current' in ref ? ref.current : ref;\n};\nexport function Effect(_a) {\n var setLockProps = _a.setLockProps, onEscapeKey = _a.onEscapeKey, onClickOutside = _a.onClickOutside, shards = _a.shards, onActivation = _a.onActivation, onDeactivation = _a.onDeactivation, noIsolation = _a.noIsolation;\n var _b = useState(undefined), activeNode = _b[0], setActiveNode = _b[1];\n var lastEventTarget = useRef(null);\n var mouseTouches = useRef(0);\n React.useEffect(function () {\n var onKeyDown = function (event) {\n if (!event.defaultPrevented) {\n if ((event.code === 'Escape' ||\n event.key === 'Escape' ||\n event.keyCode === 27) &&\n onEscapeKey) {\n onEscapeKey(event);\n }\n }\n };\n var onMouseDown = function (event) {\n if (event.defaultPrevented ||\n event.target === lastEventTarget.current ||\n (event instanceof MouseEvent && event.button !== 0)) {\n return;\n }\n if (shards &&\n shards\n .map(extractRef)\n .some(function (node) {\n return (node && node.contains(event.target)) ||\n node === event.target;\n })) {\n return;\n }\n if (onClickOutside) {\n onClickOutside(event);\n }\n };\n var onTouchStart = function (event) {\n onMouseDown(event);\n mouseTouches.current = event.touches.length;\n };\n var onTouchEnd = function (event) {\n mouseTouches.current = event.touches.length;\n };\n if (activeNode) {\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('touchstart', onTouchStart);\n document.addEventListener('touchend', onTouchEnd);\n return function () {\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('touchstart', onTouchStart);\n document.removeEventListener('touchend', onTouchEnd);\n };\n }\n }, [activeNode, onClickOutside, onEscapeKey]);\n useEffect(function () {\n if (activeNode) {\n if (onActivation) {\n onActivation(activeNode);\n }\n return function () {\n if (onDeactivation) {\n onDeactivation();\n }\n };\n }\n }, [!!activeNode]);\n useEffect(function () {\n var _undo = function () { return null; };\n var unmounted = false;\n var onNodeActivation = function (node) {\n if (!noIsolation) {\n _undo = hideOthers(__spreadArrays([node], (shards || []).map(extractRef)), document.body, focusHiddenMarker);\n }\n setActiveNode(function () { return node; });\n };\n var onNodeDeactivation = function () {\n _undo();\n if (!unmounted) {\n setActiveNode(null);\n }\n };\n setLockProps({\n onMouseDown: function (e) {\n lastEventTarget.current = e.target;\n },\n onTouchStart: function (e) {\n lastEventTarget.current = e.target;\n },\n onActivation: onNodeActivation,\n onDeactivation: onNodeDeactivation\n });\n return function () {\n unmounted = true;\n setLockProps(false);\n };\n }, []);\n return React.createElement(InteractivityDisabler, null);\n}\n","import { exportSidecar } from 'use-sidecar';\nimport 'react-focus-lock/sidecar';\nimport 'react-remove-scroll/sidecar';\nimport { Effect } from './Effect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, Effect);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { FocusOn as ReactFocusOn } from './UI';\nimport SideCar from './sidecar';\nvar RequireSideCar = function (props) {\n return React.createElement(SideCar, __assign({}, props));\n};\nexport var FocusOn = React.forwardRef(function (props, ref) { return React.createElement(ReactFocusOn, __assign({}, props, { ref: ref, sideCar: RequireSideCar })); });\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n\n/* eslint-disable react/require-default-props */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { inlineProp } from './util';\n\nvar AutoFocusInside = function AutoFocusInside(_ref) {\n var _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n children = _ref.children,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? undefined : _ref$className;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, inlineProp(constants.FOCUS_AUTO, !disabled), {\n className: className\n }), children);\n};\n\nAutoFocusInside.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n className: PropTypes.string\n} : {};\nexport default AutoFocusInside;","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math, stripUnit, remToPx } from 'polished';\nimport { textStyles } from '@paypalcorp/pp-react-text';\nimport { utilStyles, ZINDEX_MODAL, uniqueId } from '@paypalcorp/pp-react-utils';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useState, useRef, useMemo, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Animator } from '@paypalcorp/pp-react-animator';\nimport _regeneratorRuntime from '@babel/runtime/regenerator';\nimport _asyncToGenerator from '@babel/runtime/helpers/esm/asyncToGenerator';\nimport { FocusOn, AutoFocusInside } from 'react-focus-on';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n var sysSpaceLg = tokens.sysSpaceLg,\n sysTypographyDisplaySize = tokens.sysTypographyDisplaySize,\n sysSizeIconLg = tokens.sysSizeIconLg,\n sysSizeTapTargetDefault = tokens.sysSizeTapTargetDefault,\n sysSpaceXl = tokens.sysSpaceXl,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysSizeMediaLg = tokens.sysSizeMediaLg,\n sysMotionDurationDepart = tokens.sysMotionDurationDepart,\n sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceXs = tokens.sysSpaceXs,\n sysMotionDurationArrive = tokens.sysMotionDurationArrive,\n sysSizeIconSm = tokens.sysSizeIconSm,\n sysSizeIconMd = tokens.sysSizeIconMd,\n sysColorOverlayMainHover = tokens.sysColorOverlayMainHover,\n sysSizeIndicatorMd = tokens.sysSizeIndicatorMd,\n sysSizeIconXl = tokens.sysSizeIconXl,\n sysSpaceJumbo = tokens.sysSpaceJumbo,\n sysSizeMediaXl = tokens.sysSizeMediaXl;\n\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles,\n variables = _utilStyles.variables,\n screenReader = _utilStyles.screenReader;\n\n var ppuiEaseInOut = variables.ppuiEaseInOut;\n\n var _textStyles = textStyles(tokens),\n textBody = _textStyles.body;\n\n var lightboxMinHeight = math(\"8 * \".concat(sysSpaceLg));\n var modalHeaderMinHeight = sysTypographyDisplaySize;\n var modalHeaderZoneMinWidth = sysSizeIconLg;\n var dialogWidth = '75%'; // 8 columns in a 12 column grid\n\n var dialogMaxWidth = math(\"\".concat(sysSizeMediaXl, \" * 0.75\")); // 75% of XL screen grid max width\n\n var mdMarginDelta = math(\"\".concat(sysSpaceXl, \" * 2\"));\n var smMarginDelta = math(\"\".concat(sysSpaceLg, \" * 2\"));\n var sheetHeaderHeightMobile = math(\"\".concat(sysSizeIconLg, \" + (2 * \").concat(sysSpaceXs, \")\"));\n var sheetHeaderHeightDesktop = math(\"\".concat(sysSizeIconXl, \" + (2 * \").concat(sysSpaceXs, \")\"));\n var sheetWidthSm = '100vw';\n var sheetButtonSize = sysSizeIconSm + sysSpaceMd * 2;\n\n var containerCenter = function () {\n var valign = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'center';\n return css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: container_center;\\n display: flex;\\n align-items: \", \";\\n justify-content: space-around;\\n \"])), valign);\n };\n\n var containerMiddle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: container_middle;\\n \", \";\\n width: \", \";\\n max-width: \", \";\\n\\n @media screen and (max-width: \", \") {\\n width: calc(100% - \", \");\\n }\\n\\n @media screen and (max-width: \", \") {\\n width: calc(100% - \", \");\\n }\\n \"])), containerCenter(), dialogWidth, dialogMaxWidth, sysSizeMediaMd, mdMarginDelta, sysSizeMediaSm, smMarginDelta);\n var containerBottom = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: container_bottom;\\n \", \";\\n width: \", \";\\n\\n @media screen and (max-width: \", \") {\\n width: \", \";\\n }\\n @media screen and (max-width: \", \") {\\n width: \", \";\\n }\\n \"])), containerCenter('flex-end'), sysSizeMediaMd, sysSizeMediaLg, sysSizeMediaSm, sysSizeMediaMd, sheetWidthSm);\n var base = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: base;\\n background-color: \", \";\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n flex-basis: 100%;\\n \"])), sysColorBackgroundSurface);\n var modalNoContainer = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: modal_no_container;\\n width: \", \";\\n max-width: \", \";\\n \"])), dialogWidth, dialogMaxWidth);\n var modalDialog = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: modal_dialog;\\n min-height: \", \";\\n border-radius: \", \";\\n max-height: \", \";\\n \", \";\\n opacity: 0;\\n will-change: opacity;\\n transition: opacity \", \" \", \";\\n \"])), lightboxMinHeight, sysBorderRadiusLg, '75vh', elevationStyles.level3, sysMotionDurationDepart, ppuiEaseInOut);\n var modalSheet = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: modal_sheet;\\n height: 100vh;\\n width: auto;\\n \", \";\\n will-change: transform;\\n transition: transform \", \" \", \",\\n height \", \" \", \";\\n transform: translateZ(0) translateY(100%);\\n\\n @media screen and (max-width: \", \") {\\n width: \", \";\\n height: auto;\\n min-height: \", \";\\n max-height: \", \"; /* Fallback for browsers that do not support Custom Properties */\\n max-height: calc(var(--vh, 1vh) * 90);\\n border-top-left-radius: \", \";\\n border-top-right-radius: \", \";\\n }\\n \"])), elevationStyles.level3, sysMotionDurationDepart, ppuiEaseInOut, sysMotionDurationDepart, ppuiEaseInOut, sysSizeMediaMd, sheetWidthSm, sysSizeTapTargetDefault, '90vh', sysBorderRadiusLg, sysBorderRadiusLg);\n var modalSheetShow = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: modal_sheet_show;\\n transform: translateZ(0) translateY(0);\\n \"])));\n var modalBackdrop = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: modal_backdrop;\\n position: fixed;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n z-index: \", \";\\n visibility: hidden;\\n opacity: 0;\\n will-change: opacity;\\n transition: opacity \", \" ease-in-out,\\n visibility \", \" \", \";\\n background-color: \", \";\\n \", \";\\n box-shadow: none;\\n\\n &[aria-hidden='false'] {\\n transition-duration: \", \";\\n }\\n\\n &[aria-hidden='true'] {\\n transition-duration: \", \";\\n }\\n \"])), ZINDEX_MODAL, sysMotionDurationDepart, sysMotionDurationDepart, sysMotionDurationDepart, sysColorOverlayMainHover, containerCenter('center'), sysMotionDurationArrive, sysMotionDurationArrive);\n var modalBackdropShow = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: modal_backdrop_show;\\n visibility: visible;\\n opacity: 1;\\n transition: opacity \", \" ease-in-out;\\n \"])), sysMotionDurationDepart);\n var modalBackdropShowDialog = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: modal_backdrop_show_dialog;\\n opacity: 1;\\n transition: opacity \", \" ease-in-out\\n \", \";\\n \"])), sysMotionDurationDepart, sysMotionDurationDepart);\n var scrim = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral([\"\\n label: scrim;\\n position: fixed;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n z-index: \", \";\\n visibility: hidden;\\n transition: visibility \", \" \", \";\\n \", \";\\n\\n &::before {\\n content: ' ';\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n opacity: 0;\\n will-change: opacity;\\n transition: opacity \", \" ease-in-out;\\n background-color: \", \";\\n }\\n \"])), ZINDEX_MODAL, sysMotionDurationDepart, sysMotionDurationDepart, containerCenter('flex-end'), sysMotionDurationDepart, sysColorOverlayMainHover);\n var scrimShow = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral([\"\\n label: scrim_show;\\n visibility: visible;\\n transition: none; /* visibility should not be animated when coming in */\\n\\n &::before {\\n opacity: 1;\\n transition-duration: \", \";\\n }\\n \"])), sysMotionDurationArrive);\n var modalContents = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral([\"\\n label: modal_contents;\\n flex: 1 1 auto;\\n overflow: auto;\\n\\n position: relative;\\n border-radius: inherit;\\n \", \";\\n\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \" \", \";\\n }\\n \"])), textBody(), sysSizeMediaMd, sysSpaceXl, sysSpaceXl);\n var modalContentWithHeader = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral([\"\\n label: modal_content_with_header;\\n @media screen and (max-width: \", \") {\\n border-radius: 0;\\n }\\n \"])), sysSizeMediaMd);\n var modalContentsSheet = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral([\"\\n label: modal_content_sheet;\\n padding: 0 \", \";\\n\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \";\\n }\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \" \", \";\\n }\\n \"])), '8.5rem', sysSizeMediaLg, '5rem', sysSizeMediaMd, sysSpaceLg, sysSpaceLg);\n var modalContentsDialog = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral([\"\\n label: modal_content_dialog;\\n max-height: \", \";\\n padding: 0 \", \";\\n \"])), '70vh', sysSpaceJumbo);\n var modalContentsNoPadding = css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral([\"\\n label: modal_content_no_padding;\\n padding: 0;\\n @media screen and (max-width: \", \") {\\n padding: 0;\\n }\\n \"])), sysSizeMediaLg);\n var modalContentDialogPadding = css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral([\"\\n label: modal_content_dialog_no_padding;\\n @media screen and (max-width: \", \") {\\n padding: 0 \", \" \", \";\\n }\\n \"])), sysSizeMediaSm, sysSpaceLg, sysSpaceXl);\n var modalContentsCenter = css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral([\"\\n label: modal_content_center;\\n text-align: center;\\n \"])));\n var modalHeader = css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral([\"\\n label: modal_header;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n flex-wrap: wrap;\\n position: relative;\\n flex: 0 0 auto;\\n z-index: 1;\\n min-height: \", \";\\n padding: \", \";\\n \"])), modalHeaderMinHeight, sysSpaceMd);\n var modalHeaderSheet = css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral([\"\\n label: modal_header_sheet;\\n min-height: \", \";\\n\\n @media screen and (max-width: \", \") {\\n min-height: \", \";\\n }\\n \"])), sheetHeaderHeightDesktop, sysSizeMediaMd, sheetHeaderHeightMobile);\n var modalHeaderSheetAction = css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral([\"\\n label: modal_header_sheet_action;\\n min-height: \", \";\\n padding: \", \";\\n margin: 0;\\n\\n @media screen and (max-width: \", \") {\\n min-height: \", \";\\n padding: \", \";\\n margin: 0;\\n }\\n \"])), sheetHeaderHeightDesktop, sysSpaceMd, sysSizeMediaMd, sheetHeaderHeightMobile, sysSpaceSm);\n var modalHeaderScrolled = css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral([\"\\n label: modal_header_scrolled;\\n \", \"\\n \"])), elevationStyles.level3);\n var modalHeaderAction = css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral([\"\\n label: modal_header_action;\\n flex: 0 0 \", \";\\n flex-basis: \", \";\\n \"])), modalHeaderZoneMinWidth, sheetButtonSize);\n var modalHeaderTitle = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral([\"\\n label: modal_header_title;\\n flex: 1 1 3rem;\\n margin: \", \";\\n text-align: center;\\n \", \";\\n \"])), sysSpaceSm, textBody());\n var modalHeaderClose = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral([\"\\n label: modal_header_close;\\n flex: 0 0 \", \";\\n text-align: right;\\n flex-basis: \", \";\\n \"])), modalHeaderZoneMinWidth, sheetButtonSize);\n var modalHeaderWorkArea = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral([\"\\n label: modal_header_work_area;\\n flex: 0 0 100%;\\n padding: \", \" \", \";\\n \"])), sysSpaceSm, sysSpaceLg);\n var modalHeaderLogo = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral([\"\\n label: modal_header_logo;\\n display: flex;\\n flex: 1 1 3rem;\\n justify-content: center;\\n margin-top: \", \";\\n \"])), sysSpaceSm);\n var modalHeaderLogoImage = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral([\"\\n label: modal_header_logo_image;\\n width: \", \";\\n height: \", \";\\n \"])), sysSizeIconMd, sysSizeIconMd);\n var modalContentsClose = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral([\"\\n label: modal_content_close;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n z-index: 2;\\n\\n [dir='rtl'] & {\\n left: \", \";\\n right: auto;\\n\\n @media screen and (min-width: \", \") {\\n left: \", \";\\n }\\n }\\n\\n @media screen and (min-width: \", \") {\\n right: \", \";\\n top: \", \";\\n }\\n \"])), sysSpaceXs, sysSpaceXs, sysSpaceXs, sysSizeMediaMd, sysSizeIndicatorMd, sysSizeMediaMd, sysSizeIndicatorMd, sysSpaceMd);\n var modalFooter = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral([\"\\n label: modal_footer;\\n min-height: \", \";\\n padding: \", \";\\n position: relative;\\n flex: 1 0 auto;\\n \"])), modalHeaderMinHeight, sysSpaceLg);\n var modalFooterScrolled = css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral([\"\\n label: modal_footer_scrolled;\\n \", \"\\n border-bottom-left-radius: inherit;\\n border-bottom-right-radius: inherit;\\n \"])), elevationStyles.level3Above);\n var modalFooterAlignCenter = css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral([\"\\n label: modal_footer_align_center;\\n text-align: center;\\n \"])));\n var modalFooterAlignRight = css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral([\"\\n label: modal_footer_align_right;\\n text-align: right;\\n \"])));\n var modalSheetHeight90 = css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral([\"\\n label: modal_sheet_height_90;\\n @media screen and (max-width: \", \") {\\n height: 90vh; /* Fallback for browsers that do not support Custom Properties */\\n height: calc(var(--vh, 1vh) * 90);\\n border-top-left-radius: \", \";\\n border-top-right-radius: \", \";\\n }\\n \"])), sysSizeMediaMd, sysBorderRadiusLg, sysBorderRadiusLg);\n var justifyRight = css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral([\"\\n label: sheet_right_side;\\n @media screen and (min-width: \", \") {\\n justify-content: flex-end;\\n }\\n \"])), sysSizeMediaMd);\n var containerRightWidth = css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral([\"\\n @media screen and (min-width: \", \") {\\n width: \", \";\\n }\\n \"])), sysSizeMediaMd, '35.5rem');\n var containerRight = css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral([\"\\n label: container_right;\\n @media screen and (min-width: \", \") {\\n will-change: transform;\\n transform: translateZ(0) translateX(100%);\\n transition: transform \", \";\\n bottom: inherit;\\n\\n &[aria-hidden='false'] {\\n transform: translateZ(0) translateX(0%);\\n }\\n }\\n \"])), sysSizeMediaMd, sysMotionDurationDepart);\n var drawerContainer = css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral([\"\\n label: drawer_container;\\n @media screen and (min-width: \", \") {\\n padding-left: \", \";\\n padding-right: \", \";\\n }\\n \"])), sysSizeMediaMd, math(\"\".concat(sysSpaceXl, \" * 2\")), math(\"\".concat(sysSpaceXl, \" * 2\")));\n var modalSheetHeight50 = css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral([\"\\n label: modal_sheet_height_50;\\n @media screen and (max-width: \", \") {\\n height: 50vh; /* Fallback for browsers that do not support Custom Properties */\\n height: calc(var(--vh, 1vh) * 50);\\n border-top-left-radius: \", \";\\n border-top-right-radius: \", \";\\n }\\n \"])), sysSizeMediaMd, sysBorderRadiusLg, sysBorderRadiusLg);\n return {\n base: base,\n modalContents: modalContents,\n modalContentsCenter: modalContentsCenter,\n modalContentsNoPadding: modalContentsNoPadding,\n modalHeader: modalHeader,\n modalHeaderScrolled: modalHeaderScrolled,\n modalHeaderClose: modalHeaderClose,\n modalHeaderAction: modalHeaderAction,\n modalHeaderTitle: modalHeaderTitle,\n modalHeaderLogo: modalHeaderLogo,\n modalHeaderLogoImage: modalHeaderLogoImage,\n modalFooter: modalFooter,\n modalFooterScrolled: modalFooterScrolled,\n modalFooterAlignCenter: modalFooterAlignCenter,\n modalFooterAlignRight: modalFooterAlignRight,\n screenReader: screenReader,\n // Dialog specific styles\n modalDialog: modalDialog,\n modalBackdrop: modalBackdrop,\n modalBackdropShow: modalBackdropShow,\n modalBackdropShowDialog: modalBackdropShowDialog,\n modalContentsClose: modalContentsClose,\n modalContentsDialog: modalContentsDialog,\n containerMiddle: containerMiddle,\n modalContentDialogPadding: modalContentDialogPadding,\n // Sheet Specific\n modalSheet: modalSheet,\n modalSheetShow: modalSheetShow,\n modalSheetHeight90: modalSheetHeight90,\n modalSheetHeight50: modalSheetHeight50,\n modalNoContainer: modalNoContainer,\n modalHeaderSheet: modalHeaderSheet,\n modalHeaderSheetAction: modalHeaderSheetAction,\n modalHeaderWorkArea: modalHeaderWorkArea,\n modalContentsSheet: modalContentsSheet,\n modalContentWithHeader: modalContentWithHeader,\n scrim: scrim,\n scrimShow: scrimShow,\n containerBottom: containerBottom,\n justifyRight: justifyRight,\n containerRightWidth: containerRightWidth,\n containerRight: containerRight,\n drawerContainer: drawerContainer\n };\n}\n\nvar _excluded = [\"requestClose\", \"onBeforeClose\", \"className\", \"isHidden\", \"center\", \"noPadding\", \"closeButtonLabel\", \"noCloseButton\", \"closeButtonProps\", \"hideTitle\", \"showLogo\", \"mobileFixedHeight\", \"title\", \"id\", \"action\", \"headerContents\", \"footerContents\", \"footerAlign\", \"children\", \"returnFocusToTrigger\", \"headerClassName\", \"containerClassName\", \"contentContainerRef\", \"wrapperClassName\", \"footerClassName\", \"skipFormFocus\", \"contentScrollTop\", \"onContentScroll\", \"showDrawer\"];\n\nvar closeSheet = function () {\n return true;\n}; // eslint-disable-next-line complexity\n\n\nvar SheetComponent = function (_ref) {\n var requestClose = _ref.requestClose,\n _ref$onBeforeClose = _ref.onBeforeClose,\n onBeforeClose = _ref$onBeforeClose === void 0 ? closeSheet : _ref$onBeforeClose,\n className = _ref.className,\n isHidden = _ref.isHidden,\n center = _ref.center,\n noPadding = _ref.noPadding,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'close sheet' : _ref$closeButtonLabel,\n noCloseButton = _ref.noCloseButton,\n _ref$closeButtonProps = _ref.closeButtonProps,\n closeButtonProps = _ref$closeButtonProps === void 0 ? {} : _ref$closeButtonProps,\n hideTitle = _ref.hideTitle,\n showLogo = _ref.showLogo,\n mobileFixedHeight = _ref.mobileFixedHeight,\n title = _ref.title,\n id = _ref.id,\n action = _ref.action,\n headerContents = _ref.headerContents,\n footerContents = _ref.footerContents,\n footerAlign = _ref.footerAlign,\n children = _ref.children,\n _ref$returnFocusToTri = _ref.returnFocusToTrigger,\n returnFocusToTrigger = _ref$returnFocusToTri === void 0 ? true : _ref$returnFocusToTri,\n headerClassName = _ref.headerClassName,\n containerClassName = _ref.containerClassName,\n contentContainerRef = _ref.contentContainerRef,\n wrapperClassName = _ref.wrapperClassName,\n footerClassName = _ref.footerClassName,\n skipFormFocus = _ref.skipFormFocus,\n _ref$contentScrollTop = _ref.contentScrollTop,\n contentScrollTop = _ref$contentScrollTop === void 0 ? 0 : _ref$contentScrollTop,\n onContentScroll = _ref.onContentScroll,\n _ref$showDrawer = _ref.showDrawer,\n showDrawer = _ref$showDrawer === void 0 ? false : _ref$showDrawer,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n headerScroll = _useState2[0],\n setHeaderScroll = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n footerScroll = _useState4[0],\n setFooterScroll = _useState4[1];\n\n var _useState5 = useState(0.5),\n _useState6 = _slicedToArray(_useState5, 2),\n dynamicHeight = _useState6[0],\n setDynamicHeight = _useState6[1];\n\n var sheetRef = useRef();\n var closeButtonRef = useRef();\n var actionZoneRef = useRef();\n var refContent = useRef();\n var contentRef = contentContainerRef || refContent;\n var headerContentRef = useRef();\n var startX;\n var startY;\n var isDynamicHeight = mobileFixedHeight === 'dynamic'; // If theme is not directly provided, get from themeContext\n\n var tokens = useTheme();\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n var sysSizeMediaMd = tokens.sysSizeMediaMd;\n var MEDIUM_BREAKPOINT = stripUnit(remToPx(sysSizeMediaMd, '16px'));\n /* istanbul ignore next */\n\n var isMobile = typeof window !== 'undefined' ? window && window.innerWidth < MEDIUM_BREAKPOINT : false;\n var headerLogo = showLogo && !isMobile;\n var idBase = id !== null && id !== void 0 ? id : uniqueId();\n var showHeader = !!action || !noCloseButton || !hideTitle || !!headerContents || headerLogo; // jest has no way to test things like scrollTop or scrollHeight --BCC\n\n /* istanbul ignore next */\n\n var scrollCheck = function () {\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n var newHeaderScroll = contents.scrollTop !== 0;\n\n if (newHeaderScroll !== headerScroll) {\n setHeaderScroll(newHeaderScroll);\n } // Footer is optional, may not be one to watch for!\n\n\n if (footerContents) {\n // Have we scrolled to the bottom?\n var newFooterScroll = contents.scrollTop + contents.offsetHeight !== contents.scrollHeight;\n\n if (newFooterScroll !== footerScroll) {\n setFooterScroll(newFooterScroll);\n }\n }\n }\n };\n\n /* istanbul ignore next */\n var setFixedHeight = function () {\n var sheetEl = sheetRef.current;\n\n if (sheetEl) {\n var height90Percent = window.innerHeight * 0.9;\n\n if (mobileFixedHeight === '90') {\n sheetEl.style.height = \"\".concat(height90Percent, \"px\");\n } else if (mobileFixedHeight === '50') {\n sheetEl.style.height = \"\".concat(window.innerHeight * 0.5, \"px\");\n } else {\n sheetEl.style.maxHeight = \"\".concat(height90Percent, \"px\");\n }\n }\n };\n /* istanbul ignore next */\n\n\n var updateHeight = function () {\n var sheetEl = sheetRef.current;\n\n if (sheetEl) {\n sheetEl.style.height = \"\".concat(window.innerHeight * dynamicHeight, \"px\");\n sheetEl.style.maxHeight = 'fit-content';\n }\n };\n /* istanbul ignore next */\n\n\n var increaseHeight = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function (_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n setDynamicHeight(0.9);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function () {\n return _ref2.apply(this, arguments);\n };\n }();\n /* istanbul ignore next */\n\n\n var decreaseHeight = function () {\n setDynamicHeight(0.5);\n };\n /* istanbul ignore next */\n\n\n var checkContentScroll = function () {\n var content = contentRef && contentRef.current;\n\n if (dynamicHeight === 0.5) {\n content.style.overflow = 'hidden';\n }\n\n if (dynamicHeight === 0.9) {\n content.style.overflow = 'scroll';\n }\n };\n\n useEffect(function () {\n if (!isHidden) {\n var _window;\n\n scrollCheck();\n /*eslint-disable */\n // istanbul ignore next\n // eslint-disable-next-line no-unused-expressions\n\n (_window = window) === null || _window === void 0 ? void 0 : _window.setTimeout(function () {\n /*eslint-enable */\n // HACK ALERT! react-on-focus fails at setting the focus\n // if we are transitioning opacity. This causes the sheet\n // to set the focus on the close button but NOT indicate\n // that fact to the user either visually or in the screen reader\n // So timeOut was needed\n var focused = false; // For combobox input on sheet header\n\n if (headerContentRef && headerContentRef.current) {\n //@ts-ignore\n var formElement = headerContentRef.current.querySelector('input');\n\n if (formElement) {\n formElement.focus();\n focused = true;\n }\n } // For Forms\n\n\n if (!focused && !skipFormFocus && contentRef && contentRef.current) {\n //@ts-ignore\n var focusableEls = contentRef.current.querySelectorAll('a, button, textarea, input, select');\n\n if (focusableEls.length > 0) {\n focusableEls[0].focus();\n focused = true;\n }\n } // Otherwise focus on action item or close button\n\n\n if (!focused && showHeader) {\n if (action && actionZoneRef && actionZoneRef.current) {\n //@ts-ignore\n var focusableActionEl = actionZoneRef.current.querySelectorAll('a, button, select');\n\n if (focusableActionEl.length > 0) {\n focusableActionEl[0].focus();\n }\n } else {\n var closeButtonCurrent = closeButtonRef.current;\n\n if (closeButtonCurrent) {\n //@ts-ignore\n closeButtonCurrent.focus();\n }\n }\n }\n }, 500);\n /* istanbul ignore next */\n\n var isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints;\n /* istanbul ignore next */\n\n if (isTouchDevice && window.innerHeight) {\n window.addEventListener('resize', setFixedHeight, false);\n\n if (isDynamicHeight) {\n updateHeight();\n checkContentScroll();\n } else {\n setFixedHeight();\n }\n }\n }\n\n return function () {\n window.removeEventListener('resize', setFixedHeight, false);\n };\n }, [isHidden, dynamicHeight]);\n useEffect(function () {\n if (!isHidden && contentRef.current) {\n var contents = contentRef.current;\n contents.scrollTop = contentScrollTop;\n }\n }, [contentScrollTop, isHidden]);\n var wrapperCss = [_styles.scrim, !isHidden && _styles.scrimShow, showDrawer && _styles.justifyRight];\n var containerCss = [_styles.base, _styles.modalNoContainer, _styles.modalSheet, mobileFixedHeight === '90' && _styles.modalSheetHeight90, mobileFixedHeight === '50' && _styles.modalSheetHeight50, isDynamicHeight && _styles.modalSheetHeight50, !isHidden && _styles.modalSheetShow, showDrawer && _styles.containerRight];\n var contentCss = [_styles.modalContents, _styles.modalContentsSheet, center && _styles.modalContentsCenter, noPadding && _styles.modalContentsNoPadding, showHeader && _styles.modalContentWithHeader, showDrawer && _styles.drawerContainer];\n var ariaHidden = isHidden ? 'true' : 'false';\n\n var handleClose = function (evt, closedBy) {\n var okToClose = onBeforeClose(closedBy);\n\n if (okToClose) {\n requestClose(evt, closedBy);\n startX = null;\n startY = null;\n }\n };\n\n var closeButtonTag = noCloseButton ? null : jsx(IconButton, _extends({\n svgIconComponent: CloseIcon,\n onClick: function onClick(evt) {\n handleClose(evt, 'closeButton');\n },\n ref: closeButtonRef,\n buttonType: \"tertiary\"\n }, closeButtonProps, {\n \"data-ppui\": \"true\"\n }), closeButtonLabel);\n\n /* istanbul ignore next */\n var mobileTouchEnd = function (evt, content) {\n var endTouch = evt.changedTouches[0];\n var endX = endTouch.pageX;\n var endY = endTouch.pageY;\n var xDiff = startX - endX;\n var yDiff = startY - endY; // means up/down is most significant\n\n if (Math.abs(yDiff) > Math.abs(xDiff)) {\n // swipe Down\n if (yDiff < 0 && (content ? content.scrollTop === 0 : true)) {\n if (isDynamicHeight) {\n decreaseHeight();\n\n if (yDiff < -150 || dynamicHeight === 0.5) {\n handleClose(evt, 'swipeDown');\n }\n } else {\n handleClose(evt, 'swipeDown');\n }\n } // swipe Up\n\n\n if (yDiff > 0 && isDynamicHeight) {\n increaseHeight();\n }\n }\n\n startX = null;\n startY = null;\n };\n /* istanbul ignore next */\n\n\n var handleTouchMove = function (evt) {\n // Prevent from scrolling\n evt.preventDefault();\n };\n /* istanbul ignore next */\n\n\n var handleTouchStart = function (evt) {\n /* istanbul ignore next */\n if (!startY && !startX) {\n var firstTouch = evt.changedTouches[0];\n startY = firstTouch.pageY;\n startX = firstTouch.pageX;\n }\n };\n /* istanbul ignore next */\n\n\n var titleId = \"header_\".concat(idBase);\n var ariaProps = {\n role: 'dialog',\n className: wrapperClassName,\n 'aria-modal': 'true',\n 'aria-hidden': ariaHidden\n };\n\n if (headerLogo || hideTitle) {\n ariaProps['aria-label'] = title;\n } else {\n ariaProps['aria-labelledby'] = titleId;\n } // If there's a close button, we need to have an action zone even if there's nothing in it\n // Same for close button. Need to have an empty div if there's something in the action\n // But if neither is present, we want to give the whole space to the title.\n\n\n var emptyCloseButtonZone = action ? jsx(\"div\", {\n css: [_styles.modalHeaderClose],\n \"data-ppui\": \"true\"\n }) : null;\n var emptyActionZone = closeButtonTag ? jsx(\"div\", {\n css: [_styles.modalHeaderAction],\n \"data-ppui\": \"true\"\n }) : null; // Now that we've decided what the empty states would look like, decide if they're actually empty or not\n\n var closeButtonZone = closeButtonTag ? jsx(\"div\", {\n css: [_styles.modalHeaderClose],\n \"data-ppui\": \"true\"\n }, closeButtonTag) : emptyCloseButtonZone;\n var actionZone = action ? jsx(\"div\", {\n css: [_styles.modalHeaderAction],\n ref: actionZoneRef,\n \"data-ppui\": \"true\"\n }, action) : emptyActionZone;\n var titleContentCss = [headerLogo ? _styles.modalHeaderLogo : _styles.modalHeaderTitle];\n var titleContentZone = jsx(\"div\", {\n css: titleContentCss,\n id: titleId,\n \"data-ppui\": \"true\"\n }, function titleContents() {\n if (headerLogo) {\n return jsx(\"img\", {\n src: \"https://www.paypalobjects.com/paypal-ui/logos/svg/paypal-mark-color.svg\",\n alt: \"paypal-logo\",\n css: _styles.modalHeaderLogoImage,\n \"data-ppui\": \"true\"\n });\n }\n\n return hideTitle ? null : title;\n }());\n var headerContentZone = headerContents ? jsx(\"div\", {\n css: _styles.modalHeaderWorkArea,\n ref: headerContentRef,\n \"data-ppui\": \"true\"\n }, headerContents) : null;\n var header = showHeader ? jsx(\"header\", {\n className: headerClassName,\n css: [_styles.modalHeader, _styles.modalHeaderSheet, headerScroll && _styles.modalHeaderScrolled, actionZone && _styles.modalHeaderSheetAction],\n onTouchStart: handleTouchStart,\n onTouchMove: handleTouchMove,\n onTouchEnd: function handleTouchEnd(evt) {\n mobileTouchEnd(evt, null);\n },\n \"data-ppui\": \"true\"\n }, actionZone, titleContentZone, closeButtonZone, headerContentZone) : null;\n var footer = footerContents ? jsx(\"footer\", {\n className: footerClassName,\n css: [_styles.modalFooter,\n /* istanbul ignore next */\n footerScroll && _styles.modalFooterScrolled, footerAlign === 'center' && _styles.modalFooterAlignCenter, footerAlign === 'right' && _styles.modalFooterAlignRight],\n \"data-ppui\": \"true\"\n }, footerContents) : null;\n return jsx(\"div\", _extends({}, ariaProps, {\n css: wrapperCss,\n \"data-ppui-info\": \"sheet_3.7.0\"\n }), jsx(FocusOn, {\n enabled: !isHidden // @ts-ignore: onEscapeKey() wants an Event, but the rest of this code wants SyntheticEvent<>\n ,\n onEscapeKey: function handleEscape(evt) {\n evt.preventDefault();\n handleClose(evt, 'ESC');\n },\n onClickOutside: function handleBackdropClick(evt) {\n handleClose(evt, 'backdropClick');\n },\n returnFocus: returnFocusToTrigger,\n css: [_styles.containerBottom, showDrawer && _styles.containerRightWidth],\n \"data-ppui\": \"true\"\n }, jsx(\"article\", _extends({\n css: containerCss,\n className: containerClassName\n }, rest, {\n ref: sheetRef,\n \"aria-hidden\": ariaHidden,\n \"data-ppui\": \"true\"\n }), header, jsx(\"section\", {\n css: contentCss,\n className: className,\n onScroll: function handleScroll() {\n /* istanbul ignore else */\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n /* istanbul ignore else */\n\n if (onContentScroll) {\n onContentScroll(contents.scrollTop);\n }\n }\n\n scrollCheck();\n },\n ref: contentRef,\n onTouchStart: handleTouchStart,\n onTouchMove: handleTouchMove,\n onTouchEnd: function handleContentTouchEnd(evt) {\n var content = contentRef && contentRef.current;\n\n if (isDynamicHeight) {\n mobileTouchEnd(evt, content);\n }\n },\n \"data-ppui\": \"true\"\n }, children), footer)));\n};\n\nvar _excluded$1 = [\"isOpen\", \"onOpen\", \"onClose\", \"onCloseComplete\", \"containerRef\"];\n\nvar Sheet = function (_ref) {\n var isOpen = _ref.isOpen,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n _ref$onCloseComplete = _ref.onCloseComplete,\n onCloseComplete = _ref$onCloseComplete === void 0 ? onClose : _ref$onCloseComplete,\n containerRef = _ref.containerRef,\n componentProps = _objectWithoutProperties(_ref, _excluded$1);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMounted = _useState2[0],\n setIsMounted = _useState2[1];\n\n useEffect(function () {\n setIsMounted(true);\n }, []);\n var contents = /*#__PURE__*/React.createElement(Animator, {\n shouldHide: !isOpen,\n onOpen: onOpen,\n onCloseComplete: onCloseComplete,\n \"data-ppui\": \"true\"\n }, function animatee(props) {\n return /*#__PURE__*/React.createElement(SheetComponent, _extends({}, props, componentProps, {\n \"data-ppui\": \"true\"\n }));\n });\n var containerElm = containerRef && containerRef.current; // Delay createPortal until component is mounted to fix server side rendering\n\n return isMounted && ReactDOM.createPortal(contents, containerElm || document.body);\n};\n\nvar _excluded$2 = [\"isFullView\", \"showInverseCloseButton\", \"requestClose\", \"className\", \"headerClassName\", \"footerClassName\", \"containerClassName\", \"isHidden\", \"center\", \"hideTitle\", \"closeButtonLabel\", \"closeButtonProps\", \"closeOnBackgroundClick\", \"onBeforeClose\", \"contentContainerRef\", \"title\", \"id\", \"action\", \"footerContents\", \"footerAlign\", \"children\", \"skipFormFocus\"];\n\nvar closeDialog = function () {\n return true;\n};\n\nvar DialogComponent = function (_ref) {\n var isFullView = _ref.isFullView,\n showInverseCloseButton = _ref.showInverseCloseButton,\n requestClose = _ref.requestClose,\n className = _ref.className,\n headerClassName = _ref.headerClassName,\n footerClassName = _ref.footerClassName,\n containerClassName = _ref.containerClassName,\n isHidden = _ref.isHidden,\n center = _ref.center,\n _ref$hideTitle = _ref.hideTitle,\n hideTitle = _ref$hideTitle === void 0 ? isFullView : _ref$hideTitle,\n _ref$closeButtonLabel = _ref.closeButtonLabel,\n closeButtonLabel = _ref$closeButtonLabel === void 0 ? 'Close Dialog' : _ref$closeButtonLabel,\n _ref$closeButtonProps = _ref.closeButtonProps,\n closeButtonProps = _ref$closeButtonProps === void 0 ? {} : _ref$closeButtonProps,\n closeOnBackgroundClick = _ref.closeOnBackgroundClick,\n _ref$onBeforeClose = _ref.onBeforeClose,\n onBeforeClose = _ref$onBeforeClose === void 0 ? closeDialog : _ref$onBeforeClose,\n contentContainerRef = _ref.contentContainerRef,\n title = _ref.title,\n id = _ref.id,\n action = _ref.action,\n footerContents = _ref.footerContents,\n footerAlign = _ref.footerAlign,\n children = _ref.children,\n skipFormFocus = _ref.skipFormFocus,\n rest = _objectWithoutProperties(_ref, _excluded$2);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n headerScroll = _useState2[0],\n setHeaderScroll = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n footerScroll = _useState4[0],\n setFooterScroll = _useState4[1];\n\n var refContent = useRef();\n var contentRef = contentContainerRef || refContent;\n var closeButtonRef = useRef();\n var actionZoneRef = useRef();\n var idBase = id || uniqueId(); // jest has no way to test things like scrollTop or scrollHeight --BCC\n\n /* istanbul ignore next */\n\n var scrollCheck = function () {\n if (contentRef && contentRef.current) {\n var contents = contentRef.current;\n var newHeaderScroll = contents.scrollTop !== 0;\n\n if (newHeaderScroll !== headerScroll) {\n setHeaderScroll(newHeaderScroll);\n } // Footer is optional, may not be one to watch for!\n\n\n if (footerContents) {\n // Have we scrolled to the bottom?\n var newFooterScroll = Math.ceil(contents.scrollTop + contents.getBoundingClientRect().height) < contents.scrollHeight;\n\n if (newFooterScroll !== footerScroll) {\n setFooterScroll(newFooterScroll);\n }\n }\n }\n };\n\n useEffect(function () {\n if (!isHidden) {\n scrollCheck(); // istanbul ignore next\n\n if (window && window.setTimeout) {\n // istanbul ignore next\n window.setTimeout(function () {\n // HACK ALERT! react-on-focus fails at setting the focus\n // if we are transitioning opacity. This causes the dialog\n // to set the focus on the close button but NOT indicate\n // that fact to the user either visually or in the screen reader\n // So timeOut was needed\n var focused = false; // For Forms\n\n if (!focused && !skipFormFocus && contentRef && contentRef.current) {\n //@ts-ignore\n var focusableEls = contentRef.current.querySelectorAll('a, button, textarea, input, select');\n\n if (focusableEls.length > 0) {\n focusableEls[0].focus();\n focused = true;\n }\n } // Otherwise focus on action item or close button\n\n\n if (!focused && (!!action || !hideTitle)) {\n if (action && actionZoneRef && actionZoneRef.current) {\n //@ts-ignore\n var focusableActionEl = actionZoneRef.current.querySelectorAll('a, button, select');\n\n if (focusableActionEl.length > 0) {\n focusableActionEl[0].focus();\n }\n } else {\n var closeButton = closeButtonRef.current;\n\n if (closeButton) {\n //@ts-ignore\n closeButton.focus();\n }\n }\n }\n }, 100);\n }\n }\n }, [isHidden]);\n /* istanbul ignore next */\n\n // If theme is not directly provided, get from themeContext\n var tokens = useTheme();\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n var wrapperCss = [_styles.modalBackdrop, !isHidden && _styles.modalBackdropShow];\n var contentCss = [_styles.modalContents, _styles.modalContentsDialog, center && _styles.modalContentsCenter, isFullView && _styles.modalContentsNoPadding, !isFullView && _styles.modalContentDialogPadding];\n\n var handleClose = function (evt, closedBy) {\n var okToClose = onBeforeClose(closedBy);\n /* istanbul ignore next */\n\n if (okToClose) {\n requestClose(evt, closedBy);\n }\n };\n\n var titleId = \"header_\".concat(idBase);\n var titleElement = null;\n var ariaProps = {\n role: 'dialog',\n 'aria-modal': 'true',\n 'aria-hidden': isHidden ? 'true' : 'false'\n };\n\n if (hideTitle) {\n ariaProps['aria-label'] = title;\n } else {\n ariaProps['aria-labelledby'] = titleId;\n titleElement = jsx(\"h2\", {\n id: titleId,\n \"data-ppui\": \"true\"\n }, title);\n }\n\n var closeButtonContainerCss = isFullView ? _styles.modalContentsClose : _styles.modalHeaderClose;\n var closeButtonTag = jsx(\"div\", {\n css: closeButtonContainerCss,\n \"data-ppui\": \"true\"\n }, jsx(IconButton, _extends({\n buttonType: \"tertiary\",\n svgIconComponent: CloseIcon,\n inverse: showInverseCloseButton,\n ref: closeButtonRef,\n onClick: function handleCloseButtonClick(evt) {\n handleClose(evt, 'closeButton');\n }\n }, closeButtonProps, {\n \"data-ppui\": \"true\"\n }), closeButtonLabel));\n var footer = footerContents ? jsx(\"footer\", {\n className: footerClassName,\n css: [_styles.modalFooter,\n /* istanbul ignore next */\n footerScroll && _styles.modalFooterScrolled, footerAlign === 'center' && _styles.modalFooterAlignCenter, footerAlign === 'right' && _styles.modalFooterAlignRight],\n \"data-ppui\": \"true\"\n }, footerContents) : null;\n var header = jsx(\"header\", {\n className: headerClassName,\n css: [_styles.modalHeader,\n /* istanbul ignore next */\n headerScroll && _styles.modalHeaderScrolled],\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.modalHeaderAction,\n ref: actionZoneRef,\n \"data-ppui\": \"true\"\n }, action), jsx(\"div\", {\n css: _styles.modalHeaderTitle,\n \"data-ppui\": \"true\"\n }), closeButtonTag);\n return jsx(\"div\", _extends({}, ariaProps, {\n css: wrapperCss,\n \"data-ppui-info\": \"dialog_3.7.0\"\n }), jsx(FocusOn, {\n enabled: !isHidden // @ts-ignore: onEscapeKey() wants an Event, but the rest of this code wants SyntheticEvent<>\n ,\n onEscapeKey: function handleEscape(evt) {\n evt.preventDefault();\n handleClose(evt, 'ESC');\n },\n onClickOutside: function handleBackdropClick(evt) {\n if (closeOnBackgroundClick) {\n handleClose(evt, 'backdropClick');\n }\n },\n css: _styles.containerMiddle,\n \"data-ppui\": \"true\"\n }, jsx(\"article\", _extends({\n css: [_styles.base, _styles.modalDialog, !isHidden && _styles.modalBackdropShowDialog],\n className: containerClassName\n }, rest, {\n \"data-ppui\": \"true\"\n }), isFullView ? closeButtonTag : header, jsx(\"section\", {\n className: className,\n css: contentCss,\n onScroll: function scrollChecker() {\n return scrollCheck();\n },\n ref: contentRef,\n \"data-ppui\": \"true\"\n }, jsx(AutoFocusInside, {\n \"data-ppui\": \"true\"\n }, titleElement, children)), footer)));\n};\n\nvar _excluded$3 = [\"isOpen\", \"onOpen\", \"onClose\", \"onCloseComplete\", \"containerRef\"];\n\nvar Dialog = function (_ref) {\n var isOpen = _ref.isOpen,\n onOpen = _ref.onOpen,\n onClose = _ref.onClose,\n _ref$onCloseComplete = _ref.onCloseComplete,\n onCloseComplete = _ref$onCloseComplete === void 0 ? onClose : _ref$onCloseComplete,\n containerRef = _ref.containerRef,\n componentProps = _objectWithoutProperties(_ref, _excluded$3);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMounted = _useState2[0],\n setIsMounted = _useState2[1];\n\n useEffect(function () {\n setIsMounted(true);\n }, []);\n var contents = /*#__PURE__*/React.createElement(Animator, {\n shouldHide: !isOpen,\n onOpen: onOpen,\n onCloseComplete: onCloseComplete,\n \"data-ppui\": \"true\"\n }, function animatee(props) {\n return /*#__PURE__*/React.createElement(DialogComponent, _extends({}, props, componentProps, {\n \"data-ppui\": \"true\"\n }));\n });\n var containerElm = containerRef && containerRef.current; // Delay createPortal until component is mounted to fix server side rendering\n\n return isMounted && ReactDOM.createPortal(contents, containerElm || document.body);\n};\n\nexport { Dialog, Sheet, styles as modalStyles };\n"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","Animator","_ref","_ref$id","id","_ref$shouldHide","shouldHide","onOpen","onClose","_ref$onCloseComplete","onCloseComplete","_ref$phaseProps","phaseProps","initial","isHidden","showing","hiding","children","_useState","useState","_useState2","currentPhase","setCurrentPhase","closeEvent","useRef","event","closeMethod","animatee","useEffect","timer","setTimeout","current","clearTimeout","onAnimationEnd","evt","target","dataset","_ref2","_event","stopPropagation","nativeEvent","stopImmediatePropagation","childProps","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectSpread","requestClose","closedBy","onTransitionEnd","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","styles","tokens","colorTokens","console","warn","sysSpaceSm","sysSpaceLg","sysSpaceMd","sysSizeIconSm","sysSizeTapTargetXs","sysSizeTapTargetSm","sysSizeCircleLg","sysBorderRadiusSm","sysBorderRadiusInteractive","sysColorOverlayMain","sysColorOverlayContrast","sysColorOverlayMainHover","sysColorOverlayMainActive","sysColorPrimaryMain","sysColorPrimaryContrast","sysColorPrimaryMainHover","sysColorPrimaryMainActive","sysColorPrimaryContrastActive","sysColorPrimaryContrastHover","sysColorTertiaryMain","sysColorTertiaryContrast","sysColorTertiaryMainHover","sysColorTertiaryMainActive","sysColorBackgroundMediumContrast","sysColorBackgroundHighContrast","sysColorBackgroundSurfaceActive","sysColorBackgroundSurfaceHover","sysColorSuccessMain","sysColorSuccessContrast","_utilStyles","screenReader","focusStyles","shimmerStyles","caption","offsetFocusAfter","defaults","sysIconbuttonPositionTapTargetOffset","concat","iconButtonSize","base","css","radius","horizontalOffset","verticalOffset","container","color","primary","inverse","sizeSm","sizeXl","secondary","secondaryInverse","tertiary","tertiaryInverse","icon","shimmer","borderRadius","width","height","shimmerSizeSm","shimmerSizeXl","loadingSpinner","processingState","successState","label","_excluded","IconButton","forwardRef","props","ref","as","iconName","svgIconComponent","className","iconClassName","_props$buttonType","buttonType","_props$btnState","btnState","screenReaderText","size","isLoading","rest","u","_styles","useMemo","shimmerSizesStyleMap","sm","xl","shimmerCSSVal","jsx","isInverse","hasStyleDefaults","iconSize","sizesStyleMap","cssVal","withLabelCssVal","Component","WrapperComponent","type","renderIconComponent","name","restProps","componentProps","disabled","iconButtonComponent","iconProps","buttonStateComponent","loadingSpinnerProps","role","tabIndex","__assign","assign","t","s","n","p","prototype","hasOwnProperty","call","this","__rest","e","indexOf","propertyIsEnumerable","create","zeroRightClassName","fullWidthClassName","useMergeRefs","refs","defaultValue","initialValue","callback","newValue","value","assignRef","facade","last","ItoI","a","innerCreateMedium","middleware","buffer","assigned","read","Error","useMedium","data","item","x","assignSyncMedium","cb","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","createMedium","createSidecarMedium","options","medium","async","ssr","effectCar","nothing","RemoveScroll","parentRef","_a","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","_b","Container","SideCar","containerRef","containerProps","lockRef","defaultProps","classNames","fullWidth","zeroRight","FOCUS_GROUP","FOCUS_DISABLED","FOCUS_AUTO","hiddenGuard","padding","overflow","position","top","left","InFocusGuard","style","propTypes","mediumFocus","currentTarget","mediumBlur","mediumEffect","mediumSidecar","emptyArray","FocusLock","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","autoFocus","group","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","_props$as","_props$lockProps","lockProps","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","document","activeElement","allowDefer","returnFocusTo","focus","howToReturnFocus","returnFocusOptions","undefined","onFocus","onBlur","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","focusHiddenMarker","FocusOn","setLockProps","_c","scrollLock","_d","focusLock","_e","shouldIgnore","preventScrollOnFocus","gapMode","appliedLockProps","preventScroll","Target","exportSidecar","exported","isSideCarExport","toArray","ret","Array","asArray","isArray","getFirst","getParentNode","node","parentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","isTopNode","DOCUMENT_NODE","isVisibleCached","visibilityCache","cached","get","result","checkParent","ELEMENT_NODE","computedStyle","window","getComputedStyle","getPropertyValue","isElementHidden","isVisibleUncached","bind","set","isAutoFocusAllowedCached","cache","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","tagName","isRadioElement","attribute","getAttribute","includes","isGuard","Boolean","focusGuard","isNotAGuard","isDefined","tabSort","b","tabDiff","indexDiff","index","orderByTabIndex","nodes","filterNegative","keepGuards","map","sort","queryTabbables","join","queryGuardTabbables","getFocusablesWithShadowDom","parent","withGuards","shadowRoot","reduce","acc","child","matches","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","HTMLIFrameElement","contentDocument","body","getFocusablesWithIFrame","querySelectorAll","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","Map","getTabbableNodes","topNodes","getAllTabbableNodes","contains","scope","element","getPrototypeOf","some","iframeBody","getActiveElement","inDocument","contentWindow","safeProbe","getTopParent","getAllAffectedNodes","currentNode","contained","Set","l","j","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","add","DOCUMENT_POSITION_CONTAINS","_","has","filterNested","focusInside","topNode","ownerDocument","frame","focusInFrame","focusInsideIframe","correctNode","el","checked","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","entry","subEntry","common","getFocusMerge","lastNode","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","entries","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","outerNodes","orderedInnerElements","entity","innerNodes","newId","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","Math","abs","newFocus","focusNode","parentFocus","parentAutofocusables","allParentAutofocusables","autofocus","guardCount","lockDisabled","focusable","error","deferAction","action","setImmediate","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","end","step","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","checkInHost","check","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","focusIsHidden","area","withinHost","blur","newActiveElement","focusedIndex","_ref3","removeAttribute","onTrap","preventDefault","onWindowBlur","observerNode","moveFocusInside","reducePropsToState","propsList","_ref5","handleStateChangeOnClient","traps","trap","slice","addEventListener","lastTrap","sameTrap","_ref6","removeEventListener","WrappedComponent","state","mountedInstances","emitChange","instance","SideEffect","_PureComponent","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","splice","render","PureComponent","displayName","getDisplayName","stylesheetSingleton","counter","stylesheet","tag","createElement","nonce","setAttribute","makeStyleTag","styleSheet","cssText","appendChild","createTextNode","head","getElementsByTagName","insertStyleTag","remove","removeChild","styleSingleton","sheet","useStyle","isDynamic","dynamic","zeroGap","right","gap","parse","parseInt","Style","getStyles","allowRelative","important","RemoveScrollBar","noRelative","noImportant","offsets","cs","getOffset","documentWidth","documentElement","clientWidth","windowWidth","innerWidth","max","getGapWidth","passiveSupported","err","nonPassive","passive","elementCanBeScrolled","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","ShadowRoot","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","getHScrollVariables","getTouchXY","changedTouches","clientX","clientY","getDeltaXY","deltaX","deltaY","generateStyle","idCounter","lockStack","shouldPreventQueue","touchStartRef","activeAxis","lastProps","classList","allow_1","to","from","pack","ar","__spreadArray","shouldCancelEvent","touches","currentAxis","touch","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","noOverscroll","directionFactor","direction","getDirectionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","handleScroll","shouldPrevent","sourceEvent","y","should","cancelable","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","inst","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","hideOthers","originalTarget","markerName","targets","activeParentNode","getDefaultParent","controlAttribute","correctedTarget","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","attr","alreadyHidden","counterValue","markerValue","clear","delete","applyAttributeToOthers","InteractivityDisabler","onEscapeKey","onClickOutside","activeNode","setActiveNode","lastEventTarget","mouseTouches","onKeyDown","defaultPrevented","code","keyCode","onMouseDown","MouseEvent","button","onTouchStart","onTouchEnd","_undo","unmounted","il","r","k","jl","__spreadArrays","RequireSideCar","AutoFocusInside","obj","_ref$disabled","_ref$className","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","_templateObject32","_templateObject33","_templateObject34","_templateObject35","_templateObject36","_templateObject37","_templateObject38","_templateObject39","_templateObject40","_templateObject41","sysTypographyDisplaySize","sysSizeIconLg","sysSizeTapTargetDefault","sysSpaceXl","sysSizeMediaMd","sysSizeMediaSm","sysColorBackgroundSurface","sysSizeMediaLg","sysMotionDurationDepart","sysBorderRadiusLg","sysSpaceXs","sysMotionDurationArrive","sysSizeIconMd","sysSizeIndicatorMd","sysSizeIconXl","sysSpaceJumbo","sysSizeMediaXl","elevationStyles","variables","ppuiEaseInOut","textBody","lightboxMinHeight","modalHeaderMinHeight","modalHeaderZoneMinWidth","dialogMaxWidth","mdMarginDelta","smMarginDelta","sheetHeaderHeightMobile","sheetHeaderHeightDesktop","sheetWidthSm","sheetButtonSize","containerCenter","valign","containerMiddle","containerBottom","modalNoContainer","modalDialog","level3","modalSheet","modalSheetShow","modalBackdrop","modalBackdropShow","modalBackdropShowDialog","scrim","scrimShow","modalContents","modalContentWithHeader","modalContentsSheet","modalContentsDialog","modalContentsNoPadding","modalContentDialogPadding","modalContentsCenter","modalHeader","modalHeaderSheet","modalHeaderSheetAction","modalHeaderScrolled","modalHeaderAction","modalHeaderTitle","modalHeaderClose","modalHeaderWorkArea","modalHeaderLogo","modalHeaderLogoImage","modalContentsClose","modalFooter","modalFooterScrolled","level3Above","modalFooterAlignCenter","modalFooterAlignRight","modalSheetHeight90","justifyRight","containerRightWidth","containerRight","drawerContainer","modalSheetHeight50","closeSheet","SheetComponent","startX","startY","_ref$onBeforeClose","onBeforeClose","center","noPadding","_ref$closeButtonLabel","closeButtonLabel","noCloseButton","_ref$closeButtonProps","closeButtonProps","hideTitle","showLogo","mobileFixedHeight","title","headerContents","footerContents","footerAlign","_ref$returnFocusToTri","returnFocusToTrigger","headerClassName","containerClassName","contentContainerRef","wrapperClassName","footerClassName","skipFormFocus","_ref$contentScrollTop","contentScrollTop","onContentScroll","_ref$showDrawer","showDrawer","headerScroll","setHeaderScroll","_useState3","_useState4","footerScroll","setFooterScroll","_useState5","_useState6","dynamicHeight","setDynamicHeight","sheetRef","closeButtonRef","actionZoneRef","refContent","contentRef","headerContentRef","isDynamicHeight","MEDIUM_BREAKPOINT","isMobile","headerLogo","idBase","showHeader","scrollCheck","contents","newHeaderScroll","newFooterScroll","offsetHeight","setFixedHeight","sheetEl","height90Percent","innerHeight","maxHeight","increaseHeight","_callee","_context","prev","next","stop","_window","content","focused","formElement","querySelector","focusableEls","focusableActionEl","closeButtonCurrent","navigator","maxTouchPoints","wrapperCss","containerCss","contentCss","ariaHidden","handleClose","closeButtonTag","onClick","mobileTouchEnd","endTouch","endX","pageX","endY","pageY","xDiff","yDiff","handleTouchMove","handleTouchStart","firstTouch","titleId","ariaProps","emptyCloseButtonZone","emptyActionZone","closeButtonZone","actionZone","titleContentCss","titleContentZone","src","alt","headerContentZone","header","onTouchMove","footer","onScroll","_excluded$1","Sheet","isOpen","isMounted","setIsMounted","containerElm","_excluded$2","closeDialog","DialogComponent","isFullView","showInverseCloseButton","_ref$hideTitle","closeOnBackgroundClick","ceil","getBoundingClientRect","closeButton","titleElement","closeButtonContainerCss","_excluded$3","Dialog"],"sourceRoot":""}