@veeqo/ui 4.0.2-beta.2 → 4.0.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/BaseContainer/BaseContainer.ts","../src/components/Text/utils.ts","../src/theme/modules/colors.ts","../src/theme/modules/breakpoints.ts","../src/theme/modules/radius.ts","../src/theme/modules/shadows.ts","../src/theme/modules/sizes.ts","../src/theme/modules/text.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../node_modules/tslib/tslib.es6.js","../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../node_modules/use-callback-ref/dist/es2015/useRef.js","../node_modules/use-callback-ref/dist/es2015/assignRef.js","../node_modules/use-sidecar/dist/es2015/medium.js","../node_modules/use-sidecar/dist/es2015/exports.js","../node_modules/react-focus-on/node_modules/react-remove-scroll/dist/es2015/medium.js","../node_modules/react-focus-on/node_modules/react-remove-scroll/dist/es2015/UI.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/index.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/focus-lock/dist/es2015/constants.js","../node_modules/react-focus-lock/dist/es2015/FocusGuard.js","../node_modules/react-focus-lock/dist/es2015/medium.js","../node_modules/react-focus-lock/dist/es2015/Lock.js","../node_modules/react-focus-lock/dist/es2015/util.js","../node_modules/react-focus-on/dist/es2015/medium.js","../node_modules/react-focus-on/dist/es2015/UI.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/focus-lock/dist/es2015/utils/array.js","../node_modules/focus-lock/dist/es2015/utils/is.js","../node_modules/focus-lock/dist/es2015/utils/tabOrder.js","../node_modules/focus-lock/dist/es2015/utils/tabUtils.js","../node_modules/focus-lock/dist/es2015/utils/tabbables.js","../node_modules/focus-lock/dist/es2015/utils/DOMutils.js","../node_modules/focus-lock/dist/es2015/utils/all-affected.js","../node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","../node_modules/focus-lock/dist/es2015/utils/safe.js","../node_modules/focus-lock/dist/es2015/focusInside.js","../node_modules/focus-lock/dist/es2015/utils/correctFocus.js","../node_modules/focus-lock/dist/es2015/utils/firstFocus.js","../node_modules/focus-lock/dist/es2015/solver.js","../node_modules/focus-lock/dist/es2015/utils/auto-focus.js","../node_modules/focus-lock/dist/es2015/utils/parenting.js","../node_modules/focus-lock/dist/es2015/focusSolver.js","../node_modules/focus-lock/dist/es2015/moveFocusInside.js","../node_modules/focus-lock/dist/es2015/commands.js","../node_modules/react-focus-lock/dist/es2015/Trap.js","../node_modules/focus-lock/dist/es2015/focusIsHidden.js","../node_modules/focus-lock/dist/es2015/focusables.js","../node_modules/react-clientside-effect/lib/index.es.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-focus-lock/dist/es2015/sidecar.js","../node_modules/react-style-singleton/dist/es2015/singleton.js","../node_modules/get-nonce/dist/es2015/index.js","../node_modules/react-style-singleton/dist/es2015/component.js","../node_modules/react-style-singleton/dist/es2015/hook.js","../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../node_modules/react-focus-on/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../node_modules/react-focus-on/node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../node_modules/react-focus-on/node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../node_modules/react-focus-on/node_modules/react-remove-scroll/dist/es2015/sidecar.js","../node_modules/aria-hidden/dist/es2015/index.js","../node_modules/react-focus-on/dist/es2015/InteractivityDisabler.js","../node_modules/react-focus-on/dist/es2015/Effect.js","../node_modules/react-focus-on/dist/es2015/sidecar.js","../node_modules/react-focus-on/dist/es2015/Combination.js","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/styled.ts","../src/utils/buildClassnames.ts","../src/utils/color.ts","../src/components/Popover/Popover.tsx","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Loader/TailSpin.tsx","../src/components/Loader/Grid.tsx","../src/components/Loader/ThreeDots.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/components/styled.ts","../src/tempIcons/DropdownIcon.tsx","../src/components/Button/Button.tsx","../src/components/CardHeader/styled.ts","../src/tempIcons/DownArrowIcon.tsx","../src/tempIcons/CrossIcon.tsx","../src/components/CardHeader/CardHeader.tsx","../src/components/Card/styled.ts","../src/components/Card/Card.tsx","../src/components/ActionList/styled.ts","../src/components/ActionList/ActionList.tsx","../src/components/Anchor/styled.ts","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/BasicDropdown.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../src/components/AnimatedDropdown/hooks/useClickAway.ts","../src/components/Avatar/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/styled.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Choice/components/styled.ts","../src/tempIcons/HelpIcon.tsx","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/SuccessIcon.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/components/DataTable/utils/alignmentToFlex.ts","../src/components/DataTable/utils/parseWidth.ts","../src/components/DataTable/utils/generateTableCss.ts","../src/components/DataTable/utils/sumAll.ts","../src/components/DataTable/types.ts","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTable/utils/GetSortIcon.tsx","../src/components/DataTable/hooks/useCellWidths.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.ts","../src/components/DataTable/hooks/useScrollPosition.ts","../src/components/DataTable/constants.ts","../src/components/DataTable/components/Header.ts","../src/components/DataTable/components/SelectionHeader.tsx","../src/components/DataTable/components/Cell.ts","../src/components/DataTable/components/SelectionCell.tsx","../src/components/DataTable/hooks/useSelection.tsx","../src/components/DataTable/components/ColumnHeader.tsx","../src/components/DataTable/renderers/renderHeader.tsx","../src/components/DataTable/utils/getNextSortState.ts","../src/components/DataTable/components/LoadingCellContent.ts","../src/components/DataTable/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTable/components/EmptyBodyContent.ts","../src/components/DataTable/components/NoWrap.ts","../src/components/DataTable/components/Row.ts","../src/components/DataTable/components/ScrollContainer.ts","../src/components/DataTable/components/TableGrid.ts","../src/components/DataTable/components/Truncate.ts","../src/components/DataTable/components/Wrapper.ts","../src/components/DataTable/components/StickyHead.tsx","../src/components/DataTable/utils/getRowState.ts","../src/tempIcons/InfoIcon.tsx","../src/components/DataTable/DataTable.tsx","../src/components/DataTable/renderers/renderLoadingCell.tsx","../src/components/DataTable/renderers/renderCell.ts","../src/components/DataTable/renderers/renderNestedCell.tsx","../src/components/DataTable/renderers/renderFooter.tsx","../src/components/DataTable/components/ColumnMenu.tsx","../src/components/DescriptionList/DescriptionList.tsx","../src/components/DetailPage/styled.ts","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/hooks/useClickOutside.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/components/FilterTag/styled.ts","../src/components/FilterTag/FilterTag.tsx","../src/components/Grid/index.ts","../src/components/Image/components/PlaceholderImage.tsx","../src/components/Image/components/styled.ts","../src/components/Image/utils.ts","../src/components/LegacyDataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.tsx","../src/utils/paginationList.ts","../src/components/PaginationRange/styled.ts","../src/components/PaginationRange/Items/Item/styled.ts","../src/components/PaginationRange/Items/Item/Item.tsx","../src/components/PaginationRange/Items/Items.tsx","../src/components/PaginationRange/PaginationRange.tsx","../src/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/SegmentedControl/styled.ts","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/View/types.ts","../src/components/View/styled.ts","../src/tempIcons/EditIcon.tsx","../src/components/View/View.tsx","../src/components/WeightInput/styled.ts","../src/components/WeightInput/WeightInput.tsx","../src/components/WeightInput/types.ts","../src/components/Accordion/Accordion.tsx","../src/components/Anchor/Anchor.tsx","../src/components/Avatar/Avatar.tsx","../src/components/DetailPage/DetailPage.tsx","../src/components/Image/Image.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/VideoModal.tsx","../src/hooks/useDebounce.ts","../src/components/DataTable/hooks/useNested.ts","../src/hooks/useTabs.ts","../src/hoc/withDeprecated.tsx"],"sourcesContent":["import styled from 'styled-components';\nexport const BaseContainer = styled.div.withConfig({ displayName: \"vui--BaseContainer\", componentId: \"vui--bg86rb\" }) `box-sizing:border-box;position:relative;margin:0;padding:0;`;\n//# sourceMappingURL=BaseContainer.js.map","const componentMap = {\n inputLabel: 'label',\n inputLabelSmall: 'label',\n headingSmall: 'h3',\n headingMedium: 'h3',\n headingLarge: 'h2',\n headingXL: 'h1',\n headingXXL: 'h1',\n // Deprecated, but quickfix for A11y.\n button: 'button',\n buttonSmall: 'button',\n};\nexport const getComponentOverride = (as, variant) => {\n if (as)\n return as;\n if (variant)\n return componentMap[variant];\n return undefined;\n};\n//# sourceMappingURL=utils.js.map","export const colors = {\n brand: {\n blue: {\n lightest: '#E4F0F9',\n light: '#93C6E8',\n base: '#4CA1D9',\n dark: '#3878A2',\n darkest: '#1A384B',\n },\n peach: {\n lightest: '#FDECE9',\n light: '#F8B2A9',\n base: '#F48070',\n dark: '#B65F53',\n darkest: '#562D27',\n },\n },\n neutral: {\n ink: {\n lightest: '#959FA8',\n light: '#637381',\n base: '#37424D',\n dark: '#1B2126',\n },\n grey: {\n lightest: '#FAFAFB',\n light: '#F2F3F5',\n base: '#DFE3E8',\n dark: '#CDD1D5',\n },\n greyBlue: {\n lightest: '#AAC5D8',\n light: '#558BB1',\n base: '#406885',\n dark: '#1E313E',\n },\n },\n secondary: {\n red: {\n lightest: '#FDEEEE',\n light: '#F7BCBC',\n base: '#EB5757',\n dark: '#A53D3D',\n darkest: '#5E2323',\n },\n yellow: {\n lightest: '#FFF6D9',\n light: '#FFE999',\n base: '#FFC900',\n dark: '#BF9600',\n darkest: '#594600',\n },\n green: {\n lightest: '#E9F7EF',\n light: '#BEE7CF',\n base: '#27AE60',\n dark: '#1B7A43',\n darkest: '#104626',\n },\n lime: {\n lightest: '#F6FAEB',\n light: '#DBEBAE',\n base: '#A5CD35',\n dark: '#7B9927',\n darkest: '#394712',\n },\n teal: {\n lightest: '#E5F8F5',\n light: '#99E5D7',\n base: '#00BD9A',\n dark: '#00715C',\n darkest: '#00392E',\n },\n aqua: {\n lightest: '#EEFAFE',\n light: '#BBEBFA',\n base: '#56CCF2',\n dark: '#3C8FA9',\n darkest: '#225261',\n },\n purple: {\n lightest: '#F6EFFC',\n light: '#D9C0F1',\n base: '#A162DD',\n dark: '#694090',\n darkest: '#38224D',\n },\n blue: {\n lightest: '#D9EBF8',\n light: '#80BCE8',\n base: '#0079D1',\n dark: '#005A9C',\n darkest: '#003053',\n },\n pink: {\n lightest: '#FFF1FC',\n light: '#FFC7F3',\n base: '#FFA3EB',\n dark: '#BF7AB0',\n darkest: '#593852',\n },\n orange: {\n lightest: '#FEF5ED',\n light: '#FAD6B7',\n base: '#F2994A',\n dark: '#9D6330',\n darkest: '#613D1E',\n },\n },\n system: {\n scrollbar: {\n thumb: 'rgba(99, 115, 129, .5)',\n background: 'transparent',\n },\n },\n};\n//# sourceMappingURL=colors.js.map","export const breakpoints = {\n mobile: '640px',\n tablet: '720px',\n lgTablet: '960px',\n desktop: '1280px',\n lgDesktop: '1440px',\n};\n//# sourceMappingURL=breakpoints.js.map","export const radius = {\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n full: '50%',\n};\n//# sourceMappingURL=radius.js.map","export var Shadows;\n(function (Shadows) {\n Shadows[\"sm\"] = \"0px 1px 3px rgba(55, 66, 77, 0.15)\";\n Shadows[\"base\"] = \"0px 4px 6px rgba(27, 33, 38, 0.2)\";\n Shadows[\"md\"] = \"0px 10px 15px rgba(27, 33, 38, 0.2)\";\n Shadows[\"lg\"] = \"0px 20px 25px rgba(27, 33, 38, 0.2)\";\n})(Shadows || (Shadows = {}));\n//# sourceMappingURL=shadows.js.map","var SizeAlias;\n(function (SizeAlias) {\n SizeAlias[\"none\"] = \"none\";\n SizeAlias[\"line\"] = \"line\";\n SizeAlias[\"xs\"] = \"xs\";\n SizeAlias[\"sm\"] = \"sm\";\n SizeAlias[\"base\"] = \"base\";\n SizeAlias[\"md\"] = \"md\";\n SizeAlias[\"lg\"] = \"lg\";\n SizeAlias[\"xl\"] = \"xl\";\n SizeAlias[\"xxl\"] = \"xxl\";\n})(SizeAlias || (SizeAlias = {}));\nfunction buildSizeScale({ increment, unit, count }) {\n const sizes = {};\n /* eslint-disable-next-line no-plusplus */\n for (let i = 0; i <= count; i++) {\n const value = i * increment;\n sizes[i] = `${value}${unit}`;\n }\n return sizes;\n}\nexport const sizeScale = buildSizeScale({ increment: 0.25, unit: 'rem', count: 20 });\nexport const sizeAliases = {\n [SizeAlias.none]: '0',\n [SizeAlias.line]: '1px',\n [SizeAlias.xs]: sizeScale[1],\n [SizeAlias.sm]: sizeScale[2],\n [SizeAlias.base]: sizeScale[4],\n [SizeAlias.md]: sizeScale[6],\n [SizeAlias.lg]: sizeScale[8],\n [SizeAlias.xl]: sizeScale[12],\n [SizeAlias.xxl]: sizeScale[16],\n};\nexport const sizes = Object.assign(Object.assign({}, sizeAliases), sizeScale);\n//# sourceMappingURL=sizes.js.map","import { colors } from './colors';\nexport const common = {\n fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol',\n};\nexport const text = {\n headingXXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '40px',\n lineHeight: '56px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.022rem',\n },\n headingXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '28px',\n lineHeight: '40px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.02rem',\n },\n headingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: '32px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.019rem',\n },\n headingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n headingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n headingTable: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n subheadingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n subheadingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingSmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n body: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodySmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodyBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodyBoldDark: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.dark,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodySmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n button: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n buttonSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n linkLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.017rem',\n },\n linkMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.011rem',\n },\n link: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.006rem',\n },\n linkSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '0',\n },\n inputLabel: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n inputLabelSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n hintText: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholder: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n placeholderSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholderCode: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.5rem',\n },\n placeholderCodeSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.375rem',\n },\n error: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n errorSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n successSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.green.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n};\n//# sourceMappingURL=text.js.map","import { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--m0sc57\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--vb6lvt\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--19b2coz\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--13mhsyo\" }) `justify-content:flex-end;flex-grow:2;`;\n/**\n * Due to unique behaviour observed in Safari, we override the outline property when\n * the accordion is focussed.\n */\nconst AccordionSummary = styled.summary.withConfig({ displayName: \"vui--AccordionSummary\", componentId: \"vui--1lgp9cv\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;border:1px solid ${theme.colors.neutral.grey.dark};:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}:active{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--11peosj\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1e00qnt\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--2wgxvx\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--1dg5oex\" }) `summary{list-style-type:none;::-webkit-details-marker{display:none;}}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const UpArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.91021 10.47L7.97021 7.4167L11.0302 10.47L11.9702 9.53003L7.97021 5.53003L3.97021 9.53003L4.91021 10.47Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=UpArrowIcon.js.map","/******************************************************************************\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, SuppressedError, Symbol */\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.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\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\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\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 <div ref={domRef}>...</div>\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 { __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","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, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\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, gapMode: gapMode })),\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","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\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 _ref$children = _ref.children,\n children = _ref$children === void 0 ? null : _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} : {};\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\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 _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$noFocusGuards = props.noFocusGuards,\n noFocusGuards = _props$noFocusGuards === void 0 ? false : _props$noFocusGuards,\n _props$persistentFocu = props.persistentFocus,\n persistentFocus = _props$persistentFocu === void 0 ? false : _props$persistentFocu,\n _props$crossFrame = props.crossFrame,\n crossFrame = _props$crossFrame === void 0 ? true : _props$crossFrame,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _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 _props$returnFocus = props.returnFocus,\n shouldReturnFocus = _props$returnFocus === void 0 ? false : _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];\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 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 Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]);\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium;\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 console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current && typeof Container !== 'string') {\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 React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\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} : {};\nexport default FocusLock;","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","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';\nvar PREVENT_SCROLL = { preventScroll: true };\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, crossFrame = props.crossFrame, _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\", \"crossFrame\", \"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, crossFrame: crossFrame, onActivation: onActivation, onDeactivation: onDeactivation, className: className, whiteList: shouldIgnore, lockProps: appliedLockProps, focusOptions: preventScrollOnFocus ? PREVENT_SCROLL : undefined, as: RemoveScroll }, children),\n enabled && (React.createElement(SideCar, __assign({}, rest, { sideCar: effectCar, setLockProps: setLockProps, shards: shards })))));\n});\nexport * from './reExports';\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\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 * !__WARNING__! Low level API.\n * @returns all tabbable nodes\n *\n * @see {@link getFocusableNodes} to get any focusable element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * !__WARNING__! Low level API.\n *\n * @returns anything \"focusable\", not only tabbable. The difference is in `tabIndex=-1`\n * (without guards, as long as they are not expected to be ever focused)\n *\n * @see {@link getTabbableNodes} to get only tabble nodes element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getFocusableNodes = 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","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 - node or nodes to look inside\n * @returns Element[]\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","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\n/**\n * returns current active element. If the active element is a \"container\" itself(shadowRoot or iframe) returns active element inside it\n * @param [inDocument]\n */\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 { 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 * Supports nodes hidden inside shadowDom\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 { 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 { 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 { getFocusableNodes, 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 * contains the main logic of the `focus-lock` package.\n *\n * ! you probably dont need this function !\n *\n * given top node(s) and the last active element returns the element to be focused next\n * @returns element which should be focused to move focus inside\n * @param topNode\n * @param lastNode\n */\nexport var focusSolver = 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 = getFocusableNodes(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 = getFocusableNodes([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 { focusOn } from './commands';\nimport { focusSolver } from './focusSolver';\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * The main functionality of the focus-lock package\n *\n * Contains focus at a given node.\n * The last focused element will help to determine which element(first or last) should be focused.\n * The found element will be focused.\n *\n * This is one time action (move), not a persistent focus-lock\n *\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @see {@link focusSolver} for the same functionality without autofocus\n */\nexport var moveFocusInside = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = focusSolver(topNode, lastNode);\n // global local side effect to countain recursive lock activation and resolve focus-fighting\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n /** +FOCUS-FIGHTING prevention **/\n if (guardCount > 2) {\n // we have recursive entered back the lock activation\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","export 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};\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport { moveFocusInside, focusInside, focusIsHidden, expandFocusableNodes } 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 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 return Boolean(focusWasOutsideWindow);\n }\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && (el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) || 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 && !(focusInside(workingArea) || activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\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 = expandFocusableNodes(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 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 event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\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';\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\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();\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\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}\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 { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * checks if focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n *\n * This is a utility function coupled with {@link FOCUS_ALLOW} constant\n *\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 { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * @returns list of focusable elements inside a given top node\n * @see {@link getFocusableNodes} for lower level access\n */\nexport var expandFocusableNodes = 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","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 toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\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 <Style\n */\n var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n if (s > d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.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 if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!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(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 || event.target === e.shadowParent) && 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, shadowParent: getOutermostShadowParent(target) };\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: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\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","export const generateId = (prefix) => {\n const randomNumber = Math.floor(Math.random() * 1000);\n return `${prefix}-${randomNumber}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","import styled from 'styled-components';\nexport const PopoverDialog = styled.dialog.withConfig({ displayName: \"vui--PopoverDialog\", componentId: \"vui--cg48a2\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--49or9l\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","import { __rest } from \"tslib\";\n/* eslint-disable consistent-return */\nimport React, { useState, useEffect, useMemo } from 'react';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { FocusOn } from 'react-focus-on';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { Backdrop, PopoverDialog } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, shards, onShouldClose, style, enableFocusTrap = true } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"shards\", \"onShouldClose\", \"style\", \"enableFocusTrap\"]);\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // Setup popover id to use passed, or generate its' own.\n const id = useMemo(() => passedId || generateId('popover'), [passedId]);\n // Check and update aria for anchor, only works once this has rendered for the first time though.\n useUpdateAriaAnchor({ anchorElement, popoverId: id });\n /**\n * When content size is changed, force popper update\n */\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => resizeObserver.disconnect();\n }, [update, popperElement]);\n /**\n * When window is resized, force popper update\n */\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => window.removeEventListener('resize', update);\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n React.createElement(FocusOn, { onClickOutside: onShouldClose, onEscapeKey: onShouldClose, shards: shards, enabled: enableFocusTrap },\n !enableFocusTrap && onShouldClose && React.createElement(Backdrop, { onClick: onShouldClose, zIndex: zIndex }),\n React.createElement(PopoverDialog, Object.assign({ open: true, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign({}, styles.popper), style) }, attributes.popper, dialogProps), children))));\n};\n//# sourceMappingURL=Popover.js.map","/* eslint-disable no-console */\n/* eslint-disable consistent-return */\nimport { useEffect } from 'react';\n/**\n * Update the anchor element to sent the required attributes if they haven't already set them.\n *\n * This allows current, inaccesible usages to be improved.\n */\nexport const useUpdateAriaAnchor = ({ anchorElement, popoverId }) => {\n useEffect(() => {\n if (!anchorElement)\n return;\n // Try and set aria-expanded on the anchor.\n try {\n anchorElement.setAttribute('aria-expanded', 'true');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${true}`);\n }\n // Try and set aria controls, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-controls')) {\n anchorElement.setAttribute('aria-controls', popoverId);\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-controls for popover id: ${popoverId}`);\n }\n // Try and set aria-haspopup, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-haspopup')) {\n anchorElement.setAttribute('aria-haspopup', 'dialog');\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-haspopup for popover id: ${popoverId}`);\n }\n // On unmount set aria-expanded to false\n return () => {\n try {\n anchorElement.setAttribute('aria-expanded', 'false');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${false}`);\n }\n };\n }, [anchorElement, popoverId]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--3juln2\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ loading }) => loading && 'opacity: 0;'};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--1xsghtl\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}& > span{position:relative;top:-1px;}`;\nexport const DefaultButton = styled(BaseButton).withConfig({ displayName: \"vui--DefaultButton\", componentId: \"vui--1mceh7z\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1vhc5dm\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--lamrqo\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--14zrdl\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--1w880uc\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:rgba(0, 0, 0, 0.1);}&:active{background-color:rgba(0, 0, 0, 0.1);}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{background-color:transparent;border-color:transparent;}`;\nexport const UnstyledButton = styled.button.withConfig({ displayName: \"vui--UnstyledButton\", componentId: \"vui--kyccjz\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--eh2yja\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};text-decoration:${theme.text.link.textDecoration};color:${theme.colors.secondary.blue.base};&:hover{color:${theme.colors.secondary.blue.dark};}& > * + *{margin-left:${theme.sizes.xs};}& > span{position:relative;top:-1px;}`;\nexport const LoadingWrapper = styled.div.withConfig({ displayName: \"vui--LoadingWrapper\", componentId: \"vui--cvu4hf\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { loading: loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && React.createElement(\"span\", null, children),\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--13im4do\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--1orvtgl\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--1s3932u\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--n2tmr2\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--8unl0i\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--1q1caki\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--5cnkiv\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { Text } from '../Text';\nconst { sizes, colors, text } = theme;\nexport const ListCard = styled(Card.Surface).withConfig({ displayName: \"vui--ListCard\", componentId: \"vui--1trkfaa\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--rjtb0l\" }) `display:flex;flex-direction:column;& + &{border-top:1px solid ${colors.neutral.grey.base};margin-top:${sizes.base};padding-top:${sizes.base};}`;\nexport const SectionHeading = styled(Text).attrs({ variant: 'subheadingSmall' }).withConfig({ displayName: \"vui--SectionHeading\", componentId: \"vui--74egpv\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--1ib3pw5\" }) `box-sizing:border-box;min-height:${sizes.lg};padding:${sizes.xs} ${sizes.base};display:flex;align-items:center;white-space:nowrap;font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};&:hover{background-color:${colors.neutral.grey.light};color:${colors.secondary.blue.base};}& > * + *{margin-left:${sizes[3]};}`;\nexport const ActionItem = styled(Item).withConfig({ displayName: \"vui--ActionItem\", componentId: \"vui--1p9b0cj\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--dzqkwg\" }) `color:${colors.secondary.blue.base};text-decoration:underline;`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Popover } from '../Popover';\nimport { Button } from '../Button';\nimport { Section, SectionHeading, ListCard, Item, ActionItem, LinkItem } from './styled';\nconst itemMap = {\n item: Item,\n action: ActionItem,\n link: LinkItem,\n};\nexport const ActionList = ({ title, items = [], sections, buttonVariant, buttonSize, }) => {\n const [isActive, setIsActive] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (callback) => {\n setIsActive(false);\n callback();\n };\n const renderItem = (item) => {\n const ItemComponent = itemMap[item.variant || 'item'];\n return (React.createElement(ItemComponent, { onClick: () => handleClick(item.onClick), key: item.title },\n item.icon && item.icon,\n React.createElement(\"span\", null, item.title)));\n };\n const renderSection = (section) => (React.createElement(Section, { key: section.title },\n section.title && React.createElement(SectionHeading, null, section.title),\n section.items.map(renderItem)));\n const listItemMarkup = sections ? sections.map(renderSection) : items.map(renderItem);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { dropdown: true, variant: buttonVariant, size: buttonSize, onClick: () => setIsActive(!isActive), ref: setAnchorEl }, title),\n isActive && (React.createElement(Popover, { anchorElement: anchorEl, placement: \"bottom-start\", onShouldClose: () => setIsActive(false) },\n React.createElement(ListCard, null, listItemMarkup)))));\n};\n//# sourceMappingURL=ActionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--1tq5iq\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--901a1g\" }) `display:inline-flex;background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;overflow:hidden;`;\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Container } from './styled';\nexport const BasicDropdown = forwardRef((props, ref) => {\n const { children, className } = props;\n return (React.createElement(Container, { className: className, ref: ref }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--602vf7\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--npjssh\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nconst Dropdown = styled(BasicDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--dv3wrs\" }) `flex-direction:column;position:absolute;z-index:3;${(props) => (props.reversed ? 'bottom: 8px;' : 'top: 6px;')} &.dropdown-enter{opacity:0;transform:translateY(-6px);}&.dropdown-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.dropdown-exit{opacity:1;transform:translateY(0px);}&.dropdown-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Wrap, Dropdown, Container };\n//# sourceMappingURL=styled.js.map","import React, { useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Wrap, Dropdown, Container } from './styled';\nimport { useClickAway } from './hooks/useClickAway';\nexport const AnimatedDropdown = ({ cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, onClickAway = () => { }, timeout = 350, transitionClassnames = 'dropdown', onClick, onMouseEnter, onMouseLeave, }) => {\n const dropdownRef = useRef(null);\n useClickAway(dropdownRef, (event) => {\n if (shouldShowDropdown) {\n onClickAway(event);\n }\n });\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: dropdownRef },\n !reversed && cta,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(CSSTransition, { in: shouldShowDropdown, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Dropdown, { reversed: reversed, className: `${className}-basic-dropdown ${className}` }, children))),\n reversed && cta));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import { useEffect } from 'react';\nexport const useClickAway = (ref, onClickAway) => {\n useEffect(() => {\n const handleClickAway = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n onClickAway(event);\n }\n };\n document.addEventListener('mousedown', handleClickAway);\n return () => {\n document.removeEventListener('mousedown', handleClickAway);\n };\n }, [ref, onClickAway]);\n};\n//# sourceMappingURL=useClickAway.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--224xhi\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","export var Position;\n(function (Position) {\n Position[\"end\"] = \"end\";\n Position[\"start\"] = \"start\";\n})(Position || (Position = {}));\nexport var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--16xd2og\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--if1bgt\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--1tbdgc0\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--1eqvhdd\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--10g4qtf\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1arl0em\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport ReactDOM from 'react-dom';\nimport { theme } from '../../theme';\nimport { Sides } from './types';\nimport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle } from './styled';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const hasText = text ? text.trim().length > 0 : false;\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const show = useCallback(() => setShouldShow(true), [setShouldShow]);\n const hide = useCallback(() => setShouldShow(false), [setShouldShow]);\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n const tooltipMarkup = shouldShow && (content || hasText) && (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--idt2e7\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--cjoxaq\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--12dvheo\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--5cooo3\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--5tzoxx\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--9nzbbv\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--zplr21\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1j9d69e\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--wt59q7\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1wkol92\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--150p0zs\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--16f283b\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--19n9row\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--ikbqaf\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--3b6yzv\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--8ngm7b\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};width:24px;height:24px;`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--1cu5xjr\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1na6cp4\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--1rasg4l\" }) `font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.sizes.md};color:${theme.text.body.color};`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--13bynjq\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--1kh3zgo\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--ogz9oa\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--11xzxut\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}& ${LabelText}{font-weight:${theme.text.bodyBold.fontWeight};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--gms4qf\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, LabelText, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nexport const Choice = ({ id, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && React.createElement(LabelText, null, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, null, hint),\n error && React.createElement(ErrorText, null, error),\n Footer)) : null));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--bq2l9d\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, className: className, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--14lc9u\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = forwardRef((_a, ref) => {\n var { checked, value, name, disabled, onChange, id } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const componentId = id !== null && id !== void 0 ? id : generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: componentId, disabled: disabled }, otherProps),\n React.createElement(Input, { id: componentId, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange, ref: ref })));\n});\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--z1f13i\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--snr02n\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--n9oowl\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, visible, stripingMode, }) {\n const pinnedLeftStyles = pinnedLeft.map((_, index) => `\n th:nth-child(${index + 1}),\n td:nth-child(${index + 1}) {\n position: sticky;\n left: ${cellWidths ? sumAllBeforeIndex(cellWidths, index + 1) : 0}px;\n z-index: 2;\n }\n `);\n const pinnedRightStyles = pinnedRight.map((_, index) => `\n th:nth-last-child(${index + 1}),\n td:nth-last-child(${index + 1}) {\n position: sticky;\n right: ${cellWidths ? sumAllAfterIndex(cellWidths, cellWidths.length - index) : 0}px;\n }\n `);\n const isLeftShadowVisible = scrollPosition !== 'start' && scrollPosition !== 'none';\n const leftShadow = `\n th:nth-child(${pinnedLeft.length})::after,\n td:nth-child(${pinnedLeft.length})::after {\n position: absolute;\n transform: translate(100%);\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isLeftShadowVisible ? 'inset 10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const isRightShadowVisible = scrollPosition !== 'end' && scrollPosition !== 'none';\n const rightShadow = `\n th:nth-last-child(${pinnedRight.length})::after,\n td:nth-last-child(${pinnedRight.length})::after {\n position: absolute;\n transform: translate(-100%);\n top: 0;\n left: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isRightShadowVisible ? 'inset -10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const stripingRow = `\n tr:nth-child(odd) > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tr + tr > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n const stripingNested = `\n tbody:nth-of-type(odd) > tr > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tbody + tbody > tr:first-child > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n return `\n grid-template-columns: ${visible.map((col) => parseWidth(col.width)).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","export function useColumns(columns) {\n const visible = columns.filter((col) => col.hidden !== true);\n const pinnedLeft = visible.filter((col) => col.pinned === 'left');\n const pinnedRight = visible.filter((col) => col.pinned === 'right');\n const notPinned = visible.filter((col) => col.pinned === 'none' || !col.pinned);\n return {\n visible: [...pinnedLeft, ...notPinned, ...pinnedRight],\n pinnedLeft,\n pinnedRight,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n if (!scrollTarget)\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--ilge6b\" }) `height:${headerCellHeight};display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--3tw1b6\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--1x79m95\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--1kiwwja\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--p1ald0\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React from 'react';\nimport { Tooltip } from '../../Tooltip';\nimport { Header } from '../components/Header';\nimport { HeaderContent, ClickableHeaderContent, SortIndicator } from '../components/ColumnHeader';\nimport { getNextSortState, GetSortIcon } from '../utils';\n/**\n * Default renderer for table header cells\n *\n * @param column Column configuration object\n * @returns Header cell instance\n */\nexport function renderHeader({ column, sortState, onChangeSort, }) {\n if (column.sortable && !sortState) {\n throw new Error(`Column '${column.id}' is configured to be sortable but the 'sortState' prop is missing.`);\n }\n if (column.hidden) {\n return null;\n }\n const headerProps = {\n key: column.id.toString(),\n id: `datatable-header-${column.id}`,\n role: 'columnheader',\n align: column.align,\n spacing: column.spacing,\n className: column.sortable ? 'sortable' : undefined,\n };\n // If defined, use custom renderer\n if (column.renderHeader) {\n return column.renderHeader(column, headerProps);\n }\n const handleClickSort = () => {\n if (!sortState) {\n console.log('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.log('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps),\n column.icon && column.icon,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 })))))));\n}\n//# sourceMappingURL=renderHeader.js.map","import { SortDirection } from '../types';\nexport function getNextSortState({ sortState, columnId }) {\n const isColumnSame = sortState.columnId === columnId;\n const isDefaultDirection = sortState.direction === SortDirection.ascending;\n let newSortDirection = SortDirection.ascending;\n if (isColumnSame && isDefaultDirection) {\n newSortDirection = SortDirection.descending;\n }\n return { columnId, direction: newSortDirection };\n}\n//# sourceMappingURL=getNextSortState.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\n/* Loading content shimmer animation */\nconst shimmerLight = theme.colors.neutral.grey.base;\nconst shimmerDark = theme.colors.neutral.grey.dark;\nexport const LoadingCellContent = styled.div.withConfig({ displayName: \"vui--LoadingCellContent\", componentId: \"vui--1bv9ck1\" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\\n to right,\\n ${shimmerLight} 0%,\\n ${shimmerDark} 20%,\\n ${shimmerLight} 40%,\\n ${shimmerLight} 100%\\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;\n//# sourceMappingURL=LoadingCellContent.js.map","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { renderHeader } from '../renderers/renderHeader';\nimport { headerCellHeight } from '../constants';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--uoc40o\" }) `display:grid;grid-template-columns:auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:50;height:${headerCellHeight};background-color:white;`;\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--x1996k\" }) `width:100%;height:100%;display:flex;align-items:center;padding:0 0.5rem;border-bottom:1px solid ${theme.colors.neutral.grey.base};& > *{flex:1;}`;\nexport function ActionBar({ selectionColumn, intersectionTargetRef, containerRef, children, }) {\n var _a;\n const [isSticky, setIsSticky] = useState(false);\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const callback = (entries) => {\n entries.forEach((entry) => {\n setIsSticky(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(callback);\n intersectionObserver.observe(intersectionTargetRef.current);\n /* eslint-disable-next-line consistent-return */\n return () => intersectionObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [intersectionTargetRef.current]);\n const containerRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const defaultPositionStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n };\n const stickyPositionStyles = {\n position: 'fixed',\n top: 0,\n left: containerRect === null || containerRect === void 0 ? void 0 : containerRect.left,\n width: containerRect === null || containerRect === void 0 ? void 0 : containerRect.width,\n };\n const style = isSticky ? stickyPositionStyles : defaultPositionStyles;\n return (React.createElement(Container, { style: style },\n renderHeader({ column: selectionColumn }),\n React.createElement(Content, null, children)));\n}\n//# sourceMappingURL=ActionBar.js.map","import React from 'react';\nexport const VisiblityIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C17 19.5 21.27 16.39 23 12C21.27 7.61 17 4.5 12 4.5ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityIcon.js.map","import React from 'react';\nexport const VisiblityOffIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 7C14.76 7 17 9.24 17 12C17 12.65 16.87 13.26 16.64 13.83L19.56 16.75C21.07 15.49 22.26 13.86 22.99 12C21.26 7.61 16.99 4.5 11.99 4.5C10.59 4.5 9.25 4.75 8.01 5.2L10.17 7.36C10.74 7.13 11.35 7 12 7ZM2 4.27L4.28 6.55L4.74 7.01C3.08 8.3 1.78 10.02 1 12C2.73 16.39 7 19.5 12 19.5C13.55 19.5 15.03 19.2 16.38 18.66L16.8 19.08L19.73 22L21 20.73L3.27 3L2 4.27ZM7.53 9.8L9.08 11.35C9.03 11.56 9 11.78 9 12C9 13.66 10.34 15 12 15C12.22 15 12.44 14.97 12.65 14.92L14.2 16.47C13.53 16.8 12.79 17 12 17C9.24 17 7 14.76 7 12C7 11.21 7.2 10.47 7.53 9.8ZM11.84 9.02L14.99 12.17L15.01 12.01C15.01 10.35 13.67 9.01 12.01 9.01L11.84 9.02Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityOffIcon.js.map","import React from 'react';\nexport const ReorderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M3 15H21V13H3V15ZM3 19H21V17H3V19ZM3 11H21V9H3V11ZM3 5V7H21V5H3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ReorderIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const EmptyBodyContent = styled.div.withConfig({ displayName: \"vui--EmptyBodyContent\", componentId: \"vui--klb9dq\" }) `padding-top:${theme.sizes.lg};padding-bottom:${theme.sizes.lg};grid-column:${({ columnCount }) => `1 / span ${columnCount}`};display:flex;flex-direction:column;align-items:center;justify-content:center;gap:${theme.sizes.md};`;\nexport const EmptyBodyGlyphWrapper = styled.div.withConfig({ displayName: \"vui--EmptyBodyGlyphWrapper\", componentId: \"vui--12lmw1\" }) `padding:${theme.sizes.md};background-color:${theme.colors.neutral.grey.light};border-radius:${theme.radius.full};`;\n//# sourceMappingURL=EmptyBodyContent.js.map","import styled from 'styled-components';\nexport const NoWrap = styled.div.withConfig({ displayName: \"vui--NoWrap\", componentId: \"vui--kbcaqo\" }) `white-space:nowrap;`;\n//# sourceMappingURL=NoWrap.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--9t9651\" }) `display:contents;${({ selected }) => selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};${({ accentColor }) => accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}`;\n//# sourceMappingURL=Row.js.map","import styled from 'styled-components';\nexport const ScrollContainer = styled.div.withConfig({ displayName: \"vui--ScrollContainer\", componentId: \"vui--1lne8xk\" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;\n//# sourceMappingURL=ScrollContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst defaultDensity = 'base';\nexport const TableGrid = styled.table.withConfig({ displayName: \"vui--TableGrid\", componentId: \"vui--15hxahr\" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;\n//# sourceMappingURL=TableGrid.js.map","import styled from 'styled-components';\nexport const Truncate = styled.div.withConfig({ displayName: \"vui--Truncate\", componentId: \"vui--coqvc6\" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;\n//# sourceMappingURL=Truncate.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst borderModeStyles = {\n full: `border-width: 1px; border-radius: ${theme.radius.base};`,\n vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',\n none: 'border-width: 0;',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--nnuzgr\" }) `width:100%;position:relative;border-style:solid;border-color:${theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}`;\n//# sourceMappingURL=Wrapper.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, }) {\n const stickyContainerRef = useRef(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const updateContainerDimensions = () => {\n var _a;\n const targetRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const newRect = {\n left: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.left) || 0,\n width: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.width) || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n const updateContainerScrollPosition = () => {\n var _a;\n if (!containerRef.current)\n return;\n const xScrollOffset = containerRef.current.scrollLeft;\n (_a = stickyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(xScrollOffset, 0);\n };\n // Configure intersection observer to toggle sticky header on/off\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const options = {\n threshold: 1.0,\n };\n const intersectionCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n // Calculate sticky header position and size to match table container\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n // Update dimensions when container element is resized\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateContainerDimensions, 33); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n // Sync container scrolling\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n useEffect(() => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n // Render sticky header\n if (!isVisible)\n return null;\n const containerStyle = Object.assign(Object.assign({}, containerRect), { height: headerCellHeight, position: 'fixed', zIndex: 5, overflowX: 'hidden', overflowY: 'hidden', borderBottom: `1px solid ${theme.colors.neutral.grey.base}` });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n icon: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ ActionBarSlot, borderMode, columns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...columns];\n const allColumns = selectionEnabled ? columnsWithSelection : columns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight } = useColumns(allColumns);\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths,\n scrollPosition,\n visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.icon),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort }))));\n const shouldRenderFooter = columns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!ActionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, ActionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: cellWidths }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--1lcnd5n\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--t25k5o\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--j013c4\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--12tjaz\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--zavj5i\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--7wguee\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--1tbr7pe\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--qefy7h\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--2b6aqg\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--u4z5d7\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--dhtep4\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1fu4njf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--1r762o2\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1wskrbx\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { generateId } from '../../utils/generateId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useMemo(() => generateId(Component.name), []);\n if (!label) {\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n }\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1o6oill\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1jp908v\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, max, min, multiline = false, name, onChange, pattern, placeholder, rows = '3', size = ComponentSize.base, step, type = 'text', value, spellCheck = false } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, max: max, min: min, name: name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n});\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--31hvgq\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--fkaqbt\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--sglucf\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--m1c7se\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--1cuqy49\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1yz94gf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--d0gr40\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useCallback } from 'react';\nexport function useDropdown() {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => setShouldShowDropdown(false), [setShouldShowDropdown]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n}\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--ujckjn\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:4px 8px;cursor:pointer;svg{width:${sizes.base};height:${sizes.base};}`;\nconst NonSelectableText = styled(Text).withConfig({ displayName: \"vui--NonSelectableText\", componentId: \"vui--oath0b\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--ln021\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--za0kgi\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--8epxko\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--1wgdg8n\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--188pxr2\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:12px 18px;border-bottom:1px solid ${colors.neutral.grey.base};svg{color:${({ color }) => color};width:${sizes[5]};height:${sizes[5]};margin-right:10px;}`;\nexport { Container, Text, AnimatedDropdown as Dropdown, GroupLabel, Content, Header, MainIcon, StyledCrossIcon as CrossIcon, };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { useDropdown } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { Container, Text, Dropdown, GroupLabel, MainIcon, CrossIcon, Content, Header, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n filterTagDropdown: prefix ? `${prefix}-filter-tag-dropdown` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n cross: prefix ? `${prefix}-cross` : undefined,\n});\nexport const FilterTag = ({ className, e2eClassName, label, text, iconSlot, fill = colors.secondary.blue.base, content, footer, onClickAway, onClick, shouldCloseOnClickAway = true, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown();\n const handleClick = useCallback((event) => {\n toggleShouldShowDropdown();\n if (onClickAway && shouldShowDropdown)\n onClickAway(event);\n }, [toggleShouldShowDropdown, onClickAway, shouldShowDropdown]);\n const handleClickAway = useCallback((event) => {\n // Escape hatch to apply custom behavior when clicked away\n if (onClickAway)\n onClickAway(event, closeDropdown);\n // Default clickAway behavior (closes the dropdown)\n if (shouldCloseOnClickAway)\n closeDropdown();\n }, [closeDropdown, onClickAway, shouldCloseOnClickAway]);\n const shouldShowSimple = !content;\n return shouldShowSimple ? (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), onClick: onClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(CrossIcon, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.cross, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.cross]), name: \"cross\", size: \"base\", color: colors.neutral.ink.base }))) : (React.createElement(Dropdown, { className: classNames.filterTagDropdown, shouldShowDropdown: shouldShowDropdown, onClickAway: handleClickAway, cta: React.createElement(Container, { className: classNames.container, onClick: handleClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(MainIcon, { color: colors.neutral.ink.base, name: \"downArrow\", shouldShow: shouldShowDropdown })) },\n React.createElement(Content, null,\n React.createElement(Header, { color: fill },\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Grid = styled(BaseContainer).withConfig({ displayName: \"vui--Grid\", componentId: \"vui--kz0fa5\" }) `display:grid;grid-template-columns:repeat(${({ columns }) => columns}, 1fr);grid-gap:${({ spacing = 'base' }) => (spacing ? sizes[spacing] : 0)};`;\n//# sourceMappingURL=index.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--zx358v\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--b3uukr\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--1x57v09\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--7k8es9\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React from 'react';\nimport { CalanderIcon } from '../../../tempIcons/CalendarIcon';\nimport { FailIcon } from '../../../tempIcons/FailIcon';\nconst iconSize = { width: 64, height: 64 };\nexport const defaultEmptyState = {\n icon: React.createElement(CalanderIcon, Object.assign({}, iconSize)),\n title: 'No data found',\n};\nexport const defaultErrorState = {\n icon: React.createElement(FailIcon, Object.assign({}, iconSize)),\n title: 'An error occurred when creating the table',\n subTitle: \"Please, try reloading the page once. If this doesn't solve the problem, contact support\",\n};\nexport var ScrollPosition;\n(function (ScrollPosition) {\n ScrollPosition[\"start\"] = \"start\";\n ScrollPosition[\"middle\"] = \"middle\";\n ScrollPosition[\"end\"] = \"End\";\n ScrollPosition[\"none\"] = \"none\";\n})(ScrollPosition || (ScrollPosition = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const CalanderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M18.3333 5.7H17.5V4H15.8333V5.7H9.16667V4H7.5V5.7H6.66667C5.74167 5.7 5.00833 6.465 5.00833 7.4L5 19.3C5 20.235 5.74167 21 6.66667 21H18.3333C19.25 21 20 20.235 20 19.3V7.4C20 6.465 19.25 5.7 18.3333 5.7ZM10.0002 11.65H8.3335V13.35H10.0002V11.65ZM13.3332 11.65H11.6665V13.35H13.3332V11.65ZM15 11.65H16.6667V13.35H15V11.65ZM6.6665 19.3H18.3332V9.94998H6.6665V19.3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CalendarIcon.js.map","import React from 'react';\nexport const FailIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12.0001 20.1818C16.5187 20.1818 20.1819 16.5187 20.1819 12C20.1819 7.4813 16.5187 3.81818 12.0001 3.81818C7.48136 3.81818 3.81824 7.4813 3.81824 12C3.81824 16.5187 7.48136 20.1818 12.0001 20.1818ZM16.3536 8.80575L13.1593 12L16.3536 15.1943L15.1943 16.3536L12 13.1593L8.80575 16.3536L7.64648 15.1943L10.8408 12L7.64648 8.80575L8.80575 7.64648L12 10.8408L15.1943 7.64648L16.3536 8.80575ZM8.80571 16L8.80575 16L12 12.8058L12 12.8057L8.80571 16ZM15.1943 16L15.1943 16L16 15.1943L16 15.1943L15.1943 16ZM16 8.80575L12.8058 12L12.8057 12L16 8.80571L16 8.80575Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=FailIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { ScrollPosition } from './utils/constants';\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nexport const TooltipContent = styled.div.withConfig({ displayName: \"vui--TooltipContent\", componentId: \"vui--6b6999\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--8prdgq\" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''};\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''};\n };\n `}`;\nexport const WrapperBordered = styled(Wrapper).withConfig({ displayName: \"vui--WrapperBordered\", componentId: \"vui--1uzcmg4\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--tbv1ab\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--1f7jdxq\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;\nexport const Foot = styled.tfoot.withConfig({ displayName: \"vui--Foot\", componentId: \"vui--1ug6bgl\" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--ostkmy\" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&\n `\n & > td:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor}; \n }\n `}`;\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--9fl65z\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--HeaderCell\", componentId: \"vui--1mc579o\" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\nexport const HeaderCellLayout = styled.div.withConfig({ displayName: \"vui--HeaderCellLayout\", componentId: \"vui--iko9ux\" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--1vjqk2m\" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}}${({ noWrap }) => noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}`;\nexport const Footer = styled.tfoot.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--ob9m7j\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;\nexport const StickyHeaderWrapper = styled.div.withConfig({ displayName: \"vui--StickyHeaderWrapper\", componentId: \"vui--5eqa3f\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--48b34o\" }) ``;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nconst SpecificStateContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SpecificStateContainer\", componentId: \"vui--120wsfh\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;height:${(props) => props.height}px;background:white;`;\nconst EllipseContainer = styled(BaseContainer).withConfig({ displayName: \"vui--EllipseContainer\", componentId: \"vui--1khxo3q\" }) `display:flex;justify-content:center;align-items:center;width:120px;height:120px;border-radius:100px;background:${theme.colors.neutral.grey.base};svg{width:64px !important;height:64px !important;}`;\nconst TitleText = styled(Text).withConfig({ displayName: \"vui--TitleText\", componentId: \"vui--3cvjfj\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--mw0wkw\" }) `margin-top:8px;`;\nexport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText } from './styled';\nexport const SpecificState = ({ height, icon, title, subTitle }) => (React.createElement(SpecificStateContainer, { height: height },\n React.createElement(EllipseContainer, null, icon),\n React.createElement(TitleText, { variant: \"headingLarge\" }, title),\n subTitle && React.createElement(SubTitleText, { variant: \"subheadingMedium\" }, subTitle)));\n//# sourceMappingURL=SpecificState.js.map","/* eslint-disable import/prefer-default-export */\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const CellButton = styled.button.withConfig({ displayName: \"vui--CellButton\", componentId: \"vui--14e2rl4\" }) `appearance:none;border:0;background-color:transparent;font:inherit;display:inline-block;box-sizing:border-box;width:calc(100% + 1.5rem);margin:-0.75rem -0.75rem;padding:0.75rem 0.75rem;text-align:inherit;line-height:${theme.sizes.base};border-radius:${theme.radius.base};&:hover{cursor:pointer;background-color:${theme.colors.secondary.blue.lightest};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst ClickableButton = styled(CellButton).withConfig({ displayName: \"vui--ClickableButton\", componentId: \"vui--1qfw372\" }) `color:${theme.text.link.color};text-decoration:${theme.text.link.textDecoration};`;\nexport const ClickableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(ClickableButton, { onClick: onClick }, children)));\n};\n//# sourceMappingURL=ClickableCell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--1fqu167\" }) `text-align:inherit;border-bottom:1px dotted black;`;\nexport const EditableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(CellButton, { onClick: onClick },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=EditableCell.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst { grey } = theme.colors.neutral;\nconst SkeletonContentWrapper = styled.div.withConfig({ displayName: \"vui--SkeletonContentWrapper\", componentId: \"vui--q4n9vc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--yfc89o\" }) `display:inline-block;color:transparent;border-radius:4px;animation-duration:${({ isLoading = true }) => (isLoading ? '1s' : 0)};animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(to right, ${grey.base} 8%, ${grey.dark} 15%, ${grey.base} 33%);background-size:800px 104px;border:0;width:100%;height:100%;@keyframes placeHolderShimmer{0%{background-position:-380px 0;}100%{background-position:380px 0;}}`;\nexport const SkeletonContent = ({ isLoading, style }) => (React.createElement(SkeletonContentWrapper, { style: style },\n React.createElement(SkeletonContentComponent, { isLoading: isLoading })));\n//# sourceMappingURL=SkeletonContent.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Cell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonCell = (_a) => {\n var { style } = _a, otherProps = __rest(_a, [\"style\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(SkeletonContent, { style: style })));\n};\nSkeletonCell.defaultProps = {\n style: {},\n};\n//# sourceMappingURL=SkeletonCell.js.map","import { useCallback, useEffect, useState } from 'react';\nexport const useStickyHeader = (tableRef, topOffset) => {\n const [isSticky, setIsSticky] = useState(false);\n const handleScrollChange = useCallback(({ top, bottom }) => {\n let sticky = isSticky;\n if (top <= (topOffset || 0) && bottom > 0) {\n sticky = !isSticky ? true : sticky;\n }\n else {\n sticky = isSticky ? false : sticky;\n }\n if (sticky !== isSticky)\n setIsSticky(sticky);\n }, [isSticky, topOffset]);\n useEffect(() => {\n const onScroll = () => {\n var _a;\n if (tableRef.current) {\n handleScrollChange((_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect());\n }\n };\n window.addEventListener('scroll', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [handleScrollChange, tableRef]);\n return { isSticky };\n};\n//# sourceMappingURL=hooks.js.map","import React, { useState } from 'react';\nimport { useScroll } from 'react-use';\nimport { FakeHeaderTable, StickyHeaderWrapper } from './styled';\nimport { useStickyHeader } from './utils/hooks';\nexport const StickyHeader = ({ renderHeader, tableRef, wrapperRef, isFixedLayout, wrapperStyle, }) => {\n var _a;\n const [headerWrapperRef, setHeaderWrapperRef] = useState(null);\n const { isSticky } = useStickyHeader(tableRef, parseInt(typeof (wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top) === 'string' ? wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top : `${wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top}`, 10));\n // here we use 2, because we also have borders on each side by 1 px\n const wrapperWidth = (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0) - 2;\n // we use it just to re-render header to update scroll\n // so we don't need to get any value from this hook\n useScroll(wrapperRef);\n const updateScroll = (ref) => {\n var _a;\n const scrollLeft = ((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0;\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.scrollLeft = scrollLeft;\n return;\n }\n if (headerWrapperRef)\n headerWrapperRef.scrollLeft = scrollLeft;\n };\n updateScroll();\n return isSticky ? (React.createElement(StickyHeaderWrapper, { ref: (ref) => {\n setHeaderWrapperRef(ref);\n updateScroll(ref);\n }, style: Object.assign({ width: wrapperWidth }, wrapperStyle) },\n React.createElement(FakeHeaderTable, { style: { tableLayout: isFixedLayout ? 'fixed' : 'auto' } }, renderHeader()))) : null;\n};\n//# sourceMappingURL=StickyHeader.js.map","export const convertFixedColumnInlineStyleToStyled = (fixedColumnsStyle) => {\n const styles = [];\n fixedColumnsStyle.forEach(({ index, style }) => styles.push(`\n > td:${style.left !== undefined ? 'nth-child' : 'nth-last-child'}(${Math.abs(index)}) {\n position: sticky;\n ${style.left !== undefined ? 'left' : 'right'}: ${style.left !== undefined ? style.left : style.right}px;\n z-index: ${style.zIndex};\n }\n `));\n return styles.join('\\n\\n');\n};\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { HeaderCell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonHeaderCell = (_a) => {\n var { style, width, isLoading } = _a, otherProps = __rest(_a, [\"style\", \"width\", \"isLoading\"]);\n return (React.createElement(HeaderCell, Object.assign({}, otherProps, { style: { width } }),\n React.createElement(SkeletonContent, { style: style, isLoading: isLoading })));\n};\n//# sourceMappingURL=SkeletonHeaderCell.js.map","import React from 'react';\nexport const DoubleArrowAscIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#959FA8\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#0079D1\" })));\n//# sourceMappingURL=DoubleArrowAscIcon.js.map","import React from 'react';\nexport const DoubleArrowDescIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#0079D1\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#959FA8\" })));\n//# sourceMappingURL=DoubleArrowDescIcon.js.map","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { Checkbox } from '../Checkbox';\nimport { Radio } from '../Radio';\nimport { Tooltip } from '../Tooltip';\nimport { theme } from '../../theme';\nimport { Wrapper, WrapperBordered, Table, Head, Body, Row, Cell, HeaderCell, HeaderCellLayout, Footer, TooltipContent, } from './styled';\nimport { SpecificState } from './SpecificState';\nimport { ClickableCell, EditableCell } from './cells';\nimport { SkeletonCell } from './cells/SkeletonCell';\nimport { defaultEmptyState, defaultErrorState, ScrollPosition } from './utils/constants';\nimport { StickyHeader } from './StickyHeader';\nimport { convertFixedColumnInlineStyleToStyled } from './utils';\nimport { SkeletonHeaderCell } from './cells/SkeletonHeaderCell';\nimport { SkeletonContent } from './SkeletonContent';\nimport { DoubleArrowIcon } from '../../tempIcons/DoubleArrowIconIcon';\nimport { DoubleArrowAscIcon } from '../../tempIcons/DoubleArrowAscIcon';\nimport { DoubleArrowDescIcon } from '../../tempIcons/DoubleArrowDescIcon';\nexport const IconUnsorted = () => (React.createElement(DoubleArrowIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortAsc = () => (React.createElement(DoubleArrowAscIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortDesc = () => (React.createElement(DoubleArrowDescIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\n/**\n * @deprecated\n *\n * Use DataTable instead\n */\nexport const LegacyDataTable = ({ borderless = false, striped = true, noWrap = false, showScrollbar = false, headers, rows, renderRow, renderNestedRow, expandedRowIds, renderLoadingRow, renderFooterRow, renderFooterLoadingRow, omitFooterSelectionCell = false, selectedRowIds, disabledSelectionInputRowIds, selectionMode = 'multiple', onChangeSelectedRowIds, sortColumnId, sortDirection, onChangeSort, isError = false, isLoading = false, skeletonRowsNumber = 5, isHeaderSticky = true, stickyHeaderStyle, customSpecificState, bodyHeightInSpecificStates = 375, startFixedColumnsNumber, endFixedColumnsNumber, }) => {\n const WrapperComponent = borderless ? Wrapper : WrapperBordered;\n const isEmpty = rows ? rows.length === 0 : false;\n const isFixedLayout = Boolean(startFixedColumnsNumber || endFixedColumnsNumber);\n const isFixedColumnsNotEnabled = !startFixedColumnsNumber && !endFixedColumnsNumber;\n const tableRef = useRef(null);\n const wrapperRef = useRef(null);\n const selectionColumnWidth = 58;\n const [scrollPosition, setScrollPosition] = useState(ScrollPosition.none);\n useEffect(() => {\n var _a;\n let refValue = null;\n const handleScroll = () => {\n if (!wrapperRef.current || isFixedColumnsNotEnabled)\n return;\n const el = wrapperRef.current;\n const scrollWidth = el.scrollWidth + 2; // 2 here is 2px which adds by border\n const { scrollLeft } = el;\n const { width } = el.getBoundingClientRect();\n const scrollValue = scrollLeft + width;\n if (scrollWidth === width)\n setScrollPosition(ScrollPosition.none);\n else if (scrollLeft === 0)\n setScrollPosition(ScrollPosition.start);\n else if (scrollLeft > 0 && scrollValue < scrollWidth)\n setScrollPosition(ScrollPosition.middle);\n else if (scrollValue === scrollWidth)\n setScrollPosition(ScrollPosition.end);\n };\n if (wrapperRef.current) {\n refValue = wrapperRef.current;\n handleScroll();\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll);\n }\n return () => {\n refValue === null || refValue === void 0 ? void 0 : refValue.removeEventListener('scroll', handleScroll);\n };\n }, [tableRef, isFixedColumnsNotEnabled]);\n const castWidthToNumber = useCallback((width) => {\n if (typeof width === 'string') {\n // eslint-disable-next-line no-console\n console.error(\"You can only use a numeric value in the 'width' property when you use fixed columns\");\n return null;\n }\n if (width === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"You should provide numeric value in the 'width' attribute in all fixed columns when you use fixed columns\");\n return null;\n }\n return width;\n }, []);\n const generateFixedColumnInlineStyle = useCallback((index, offset, side) => ({\n index: side === 'left' ? index : -index,\n style: {\n position: 'sticky',\n [side]: offset,\n zIndex: 1,\n },\n }), []);\n const generateFixedColumnsStyle = useCallback(() => {\n if (!headers || isLoading)\n return null;\n const startColumns = [];\n const endColumns = [];\n let totalStartOffset = 0;\n let totalEndOffset = 0;\n if (startFixedColumnsNumber) {\n if (selectedRowIds) {\n startColumns.push(generateFixedColumnInlineStyle(1, totalStartOffset, 'left'));\n totalStartOffset += selectionColumnWidth;\n }\n for (let i = 0; i < startFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers[i].width);\n if (headerWidth) {\n startColumns.push(generateFixedColumnInlineStyle(selectedRowIds ? i + 2 : i + 1, totalStartOffset, 'left'));\n totalStartOffset += headerWidth;\n }\n }\n }\n if (endFixedColumnsNumber) {\n for (let i = 0; i < endFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers.slice(-i - 1)[0].width);\n if (headerWidth) {\n endColumns.push(generateFixedColumnInlineStyle(i + 1, totalEndOffset, 'right'));\n totalEndOffset += headerWidth;\n }\n }\n }\n if (startColumns.length === 0 && endColumns.length === 0)\n return null;\n return [...startColumns, ...endColumns];\n }, [\n isLoading,\n castWidthToNumber,\n endFixedColumnsNumber,\n generateFixedColumnInlineStyle,\n headers,\n startFixedColumnsNumber,\n selectedRowIds,\n ]);\n const fixedColumnsStyle = useMemo(() => generateFixedColumnsStyle(), [generateFixedColumnsStyle]);\n const handleSelectRow = useCallback((checked, row) => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (checked) {\n if (selectionMode === 'single') {\n onChangeSelectedRowIds([row.id]);\n return;\n }\n onChangeSelectedRowIds([...selectedRowIds, row.id]);\n return;\n }\n const newSelectedRowIds = [...selectedRowIds];\n const index = newSelectedRowIds.findIndex((id) => id === row.id);\n newSelectedRowIds.splice(index, 1);\n onChangeSelectedRowIds(newSelectedRowIds);\n }, [onChangeSelectedRowIds, selectedRowIds, selectionMode]);\n const handleSelectAll = useCallback(() => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (selectedRowIds.length === rows.length) {\n onChangeSelectedRowIds([]);\n return;\n }\n const rowIds = rows.map((row) => row.id);\n onChangeSelectedRowIds(rowIds);\n }, [onChangeSelectedRowIds, rows, selectedRowIds]);\n const handleClickSortableHeader = useCallback((columnId) => {\n if (sortColumnId === undefined || onChangeSort === undefined)\n return;\n let nextColumnId = sortColumnId;\n let nextDirection = 'ascending';\n if (sortDirection === 'ascending') {\n nextDirection = 'descending';\n }\n if (columnId !== sortColumnId) {\n nextColumnId = columnId;\n nextDirection = 'ascending';\n }\n onChangeSort(nextColumnId, nextDirection);\n }, [onChangeSort, sortColumnId, sortDirection]);\n const renderHeaderCell = useCallback((header, style) => {\n let className = '';\n let onClick = () => { };\n let sortIcon = React.createElement(IconUnsorted, null);\n const { tooltip, align, icon, title, sortable, id } = header;\n if (sortable) {\n className = 'sortable';\n onClick = () => handleClickSortableHeader(id);\n if (sortColumnId === id) {\n sortIcon = sortDirection === 'ascending' ? React.createElement(IconSortAsc, null) : React.createElement(IconSortDesc, null);\n }\n }\n const headerContents = (React.createElement(HeaderCellLayout, { align: align },\n icon && icon,\n title && React.createElement(\"span\", null, title),\n sortable && sortIcon));\n return (React.createElement(HeaderCell, { key: id, id: `data-table-header-${id}`, className: className, onClick: onClick, align: header.align, grow: header.grow, style: Object.assign({ width: header.width || 'auto' }, style) }, tooltip ? (React.createElement(Tooltip, { text: tooltip },\n React.createElement(TooltipContent, null, headerContents))) : (headerContents)));\n }, [handleClickSortableHeader, sortColumnId, sortDirection]);\n const renderSkeletonHeaderCell = useCallback((header, style) => (React.createElement(SkeletonHeaderCell, { key: header.id, width: header.width || 'auto', style: style, isLoading: isLoading })), [isLoading]);\n const renderHeader = useCallback(() => {\n if (!headers)\n return null;\n const styles = generateFixedColumnsStyle();\n const selectionCellStyle = styles ? styles[0].style : {};\n return (React.createElement(Head, null,\n React.createElement(Row, null,\n selectedRowIds && (React.createElement(HeaderCell, { style: Object.assign({ width: selectionColumnWidth }, selectionCellStyle) }, selectionMode === 'multiple' && (React.createElement(Checkbox, { checked: (rows.length > 0 && (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.length) === rows.length) || false, onChange: handleSelectAll, disabled: (disabledSelectionInputRowIds && disabledSelectionInputRowIds.length > 0) ||\n isLoading ||\n isEmpty, ariaLabel: \"Select all\" })))),\n headers.map((header, index) => {\n const startHeaderIndex = selectedRowIds ? index + 2 : index + 1;\n const endHeaderIndex = index - headers.length;\n const headerCellStyle = styles === null || styles === void 0 ? void 0 : styles.find((style) => style.index === startHeaderIndex || style.index === endHeaderIndex);\n return header.skeleton && (isLoading || isError || isEmpty)\n ? renderSkeletonHeaderCell(header, header.skeletonStyle || {})\n : renderHeaderCell(header, (headerCellStyle === null || headerCellStyle === void 0 ? void 0 : headerCellStyle.style) || {});\n }))));\n }, [\n generateFixedColumnsStyle,\n handleSelectAll,\n headers,\n isEmpty,\n isError,\n isLoading,\n renderSkeletonHeaderCell,\n renderHeaderCell,\n rows.length,\n selectedRowIds,\n selectionMode,\n disabledSelectionInputRowIds,\n ]);\n const renderSelectionInput = useCallback((isSelected, row) => {\n const inputProps = {\n checked: isSelected,\n onChange: (checked) => handleSelectRow(checked, row),\n disabled: (disabledSelectionInputRowIds === null || disabledSelectionInputRowIds === void 0 ? void 0 : disabledSelectionInputRowIds.includes(row.id)) || false,\n };\n if (selectionMode === 'single') {\n return React.createElement(Radio, Object.assign({}, inputProps));\n }\n return React.createElement(Checkbox, Object.assign({}, inputProps));\n }, [handleSelectRow, selectionMode, disabledSelectionInputRowIds]);\n const renderSkeletonSelectionInput = useCallback((rowIndex) => {\n const generalStyle = {\n width: 18,\n height: 18,\n margin: 3,\n animationDuration: '0s',\n };\n if (selectionMode === 'single') {\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `radio-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '50%' }) }));\n }\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `checkbox-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '0.25rem' }) }));\n }, [selectionMode]);\n const getNestedRow = useCallback((nestedRow, isHidden) => {\n var _a, _b;\n if (!renderNestedRow)\n return null;\n const content = renderNestedRow(nestedRow);\n if (!content)\n return null;\n const nestedRowE2eClassName = ((_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) || '';\n return (React.createElement(Row, { key: nestedRow.id, className: `${nestedRowE2eClassName} ${isHidden ? 'hidden' : ''}` },\n selectedRowIds && React.createElement(Cell, null),\n content));\n }, [renderNestedRow, selectedRowIds]);\n const renderDefaultLoadingRow = useCallback((rowIndex) => {\n if (!headers)\n return React.createElement(SkeletonCell, null);\n // Otherwise render a cell for each column\n const cells = headers.map((header) => React.createElement(SkeletonCell, { key: `${rowIndex}-${header.id}` }));\n if (selectedRowIds)\n cells.unshift(renderSkeletonSelectionInput(rowIndex));\n return cells;\n }, [headers, renderSkeletonSelectionInput, selectedRowIds]);\n const getFooter = () => {\n if (!renderFooterRow)\n return null;\n if (isLoading && !renderFooterLoadingRow)\n return null;\n if (!isLoading && isEmpty)\n return null;\n return (React.createElement(Footer, { fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null,\n selectedRowIds && !omitFooterSelectionCell && React.createElement(Cell, null),\n !isLoading && renderFooterRow(rows),\n isLoading && renderFooterLoadingRow && renderFooterLoadingRow())));\n };\n let lastStartFixedColumnsIndex = startFixedColumnsNumber;\n if (selectedRowIds && lastStartFixedColumnsIndex)\n lastStartFixedColumnsIndex += 1;\n const renderedRows = useMemo(() => rows.map((row) => {\n var _a, _b, _c;\n const { data } = row;\n const isSelected = selectedRowIds ? selectedRowIds.includes(row.id) : false;\n const isExpanded = expandedRowIds ? expandedRowIds.includes(row.id) : true;\n const bodyClassName = (_a = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _a === void 0 ? void 0 : _a.body;\n const rowE2eClassName = (_c = (_b = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) !== null && _c !== void 0 ? _c : '';\n const rowClassName = isSelected ? `selected ${rowE2eClassName}` : `${rowE2eClassName}`;\n return (React.createElement(Body, { key: row.id, className: bodyClassName, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, { key: row.id, className: rowClassName, accentColor: row.accentColor },\n selectedRowIds && React.createElement(Cell, null, renderSelectionInput(isSelected, row)),\n renderRow(row)),\n row.nestedRows && row.nestedRows.map((item) => getNestedRow(item, !isExpanded))));\n }), [\n rows,\n expandedRowIds,\n fixedColumnsStyle,\n getNestedRow,\n renderRow,\n renderSelectionInput,\n selectedRowIds,\n ]);\n /* Loading state */\n if (isLoading) {\n const loadingRows = [];\n for (let i = 0; i < skeletonRowsNumber; i += 1) {\n loadingRows.push(React.createElement(Body, { key: `loading-row-${i}`, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null, renderLoadingRow ? (React.createElement(React.Fragment, null,\n selectedRowIds && renderSkeletonSelectionInput(),\n renderLoadingRow())) : (renderDefaultLoadingRow(i)))));\n }\n return (React.createElement(WrapperComponent, { ref: wrapperRef, scrollDisabled: true, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: true, isFixedLayout: isFixedLayout },\n renderHeader(),\n loadingRows,\n getFooter())));\n }\n /* Empty & Error states */\n if (isEmpty || isError) {\n let specificStateValues = defaultEmptyState;\n if (customSpecificState)\n specificStateValues = customSpecificState;\n else if (isError)\n specificStateValues = defaultErrorState;\n return (React.createElement(WrapperComponent, { scrollDisabled: true },\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n getFooter()),\n React.createElement(SpecificState, Object.assign({ height: bodyHeightInSpecificStates }, specificStateValues))));\n }\n /* Populated state */\n return (React.createElement(WrapperComponent, { scrollDisabled: false, ref: wrapperRef, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber, showScrollbar: showScrollbar },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n renderedRows,\n getFooter())));\n};\nLegacyDataTable.Cell = Cell;\nLegacyDataTable.ClickableCell = ClickableCell;\nLegacyDataTable.EditableCell = EditableCell;\nLegacyDataTable.SkeletonCell = SkeletonCell;\nLegacyDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=LegacyDataTable.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--wl2n5a\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--or7d\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--hfuefb\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nconst { sizes, text, shadows } = theme;\nconst { grey } = theme.colors.neutral;\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--q2h2v8\" }) `padding:${sizes.base} ${sizes.md};background-color:white;box-shadow:${({ shadow }) => shadow !== 'none' && shadows[shadow]};`;\nexport const Title = styled.h1.withConfig({ displayName: \"vui--Title\", componentId: \"vui--7ymyy4\" }) `font-family:${text.headingXL.fontFamily};font-size:${text.headingXL.fontSize};font-weight:${text.headingXL.fontWeight};margin:unset;line-height:1;`;\nexport const Subtitle = styled.p.withConfig({ displayName: \"vui--Subtitle\", componentId: \"vui--1veavxl\" }) `margin:0.75rem 0 0;font-family:${text.subheadingLarge.fontFamily};font-weight:${text.subheadingLarge.fontWeight};font-size:${text.subheadingLarge.fontSize};line-height:${text.subheadingLarge.lineHeight};`;\nexport const Image = styled.img.withConfig({ displayName: \"vui--Image\", componentId: \"vui--1fntac3\" }) `border-radius:${theme.radius.base};border:${sizes.line} solid ${grey.base};object-fit:cover;`;\nexport const ActionsContainer = styled.div.withConfig({ displayName: \"vui--ActionsContainer\", componentId: \"vui--4ms240\" }) `height:100%;display:grid;grid-template-rows:1fr auto;gap:1rem;`;\nexport const SidebarToggleButton = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--SidebarToggleButton\", componentId: \"vui--1e4sfso\" }) `display:flex;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};color:${theme.text.link.color};&:hover{text-decoration:${theme.text.link.textDecoration};}& > * + *{margin-left:${theme.sizes.xs};}`;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--498dtg\" }) `width:100%;display:grid;grid-template-columns:1fr minmax(312px, auto);align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nexport const PageLimitContainer = styled(Stack).withConfig({ displayName: \"vui--PageLimitContainer\", componentId: \"vui--1psd9g8\" }) `width:${theme.sizes.lg};height:30px;background-color:${theme.colors.neutral.grey.light};border:1px solid ${theme.colors.neutral.grey.base};border-radius:${theme.sizes.xs};`;\nexport const PaginationButton = styled(Button).withConfig({ displayName: \"vui--PaginationButton\", componentId: \"vui--oolvks\" }) `color:${theme.colors.neutral.ink.base};width:32px;height:32px;svg{width:24px;height:24px;}`;\nexport const PageInput = styled(TextField).withConfig({ displayName: \"vui--PageInput\", componentId: \"vui--jjraff\" }) `&[type='number']{width:5.5ch;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { PageLimitContainer } from './styled';\nexport const PageCount = ({ count }) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", null,\n React.createElement(Text, { variant: \"bodySmall\", \"aria-hidden\": true }, \"/\")),\n React.createElement(PageLimitContainer, { alignX: \"center\", alignY: \"center\", \"aria-hidden\": true },\n React.createElement(Text, { variant: \"bodySmall\" }, count))));\n//# sourceMappingURL=components.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to handle pagination state.\n */\nexport const usePagination = ({ currentPage, totalPagesCount, handleChangePage, }) => {\n const [pageInputValue, setPageInputValue] = useState(`${currentPage}`);\n /**\n * When a new value is passed into the component we update the local state, meaning the input\n * value gets updated.\n */\n useEffect(() => {\n setPageInputValue(`${currentPage}`);\n }, [currentPage]);\n const validatePageValue = (value) => value >= 1 && value <= totalPagesCount;\n const checkAndSetLocalPage = (newPage) => {\n if (validatePageValue(newPage))\n setPageInputValue(`${newPage}`);\n };\n /**\n * A function to handle changes to the input, a string will be passed int. We check for an empty\n * string and directly set that, otherwise we validate the input number is within range.\n * @param newValue The new string input value.\n */\n const handleInputChange = (newValue) => {\n if (!newValue)\n setPageInputValue(newValue);\n const intValue = parseInt(newValue, 10);\n checkAndSetLocalPage(intValue);\n };\n /**\n * A function to increment the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleIncrement = () => {\n if (validatePageValue(currentPage + 1))\n handleChangePage(currentPage + 1);\n };\n /**\n * A function to decrement the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleDecrement = () => {\n if (validatePageValue(currentPage - 1))\n handleChangePage(currentPage - 1);\n };\n /**\n * When the input is unfocussed we want to update parent or local state depending on 3 cases:\n * 1. Local page input is '', reset it to the currentPage\n * 2. Local page input is the same as passed by prop, catch and do nothing.\n * 3. Local state has a new value, convert it, validate it and potentially send to parent via\n * `handlePageChange`\n */\n const handleSubmit = () => {\n if (!pageInputValue)\n setPageInputValue(`${currentPage}`);\n if (pageInputValue === `${currentPage}`)\n return;\n const newValue = parseInt(pageInputValue, 10);\n if (validatePageValue(newValue))\n handleChangePage(newValue);\n };\n /**\n * When the user submits the form, either pressing enter or a screenreader shortcut we prevent\n * default action and try and send update.\n * @param event The event fired from the form when submitting.\n */\n const handleFormSubmit = (event) => {\n event.preventDefault();\n handleSubmit();\n };\n return {\n pageInputValue,\n handleIncrement,\n handleDecrement,\n handleInputChange,\n handleSubmit,\n handleFormSubmit,\n };\n};\n//# sourceMappingURL=usePagination.js.map","import React from 'react';\nexport const StartArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11.6434 11.06L8.59004 8L11.6434 4.94L10.7034 4L6.70337 8L10.7034 12L11.6434 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.37004 12L4.37004 4L5.70337 4L5.70337 12L4.37004 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=StartArrowIcon.js.map","import React from 'react';\nexport const EndArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.33661 11.06L7.38994 8L4.33661 4.94L5.27661 4L9.27661 8L5.27661 12L4.33661 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.67 4L11.67 12L10.3367 12L10.3367 4L11.67 4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EndArrowIcon.js.map","export const paginationDefaultRangeList = [\n { label: '10 / page', value: 10 },\n { label: '25 / page', value: 25 },\n { label: '50 / page', value: 50 },\n { label: '100 / page', value: 100 },\n];\n//# sourceMappingURL=paginationList.js.map","import styled from 'styled-components';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { colors } from '../../theme/modules/colors';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1t222e4\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst Dropdown = styled(AnimatedDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--6y6o6p\" }) `&-container{width:100%;}`;\nconst Button = styled.button.withConfig({ displayName: \"vui--Button\", componentId: \"vui--6l6anz\" }) `width:100%;height:32px;padding:6px 8px 8px 8px;display:flex;border:1px solid ${colors.neutral.grey.base};box-sizing:border-box;border-radius:4px;justify-content:space-between;background:white;cursor:pointer;svg{padding-left:8px;padding-top:2px;}`;\nexport { Container, Dropdown, Button, Text };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { colors } from '../../../../theme/modules/colors';\nimport { Text } from '../../../Text';\nimport { BaseContainer } from '../../../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--33jbzi\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1oky5qu\" }) `width:100%;padding:8px 16px;cursor:pointer;&:hover{color:${colors.secondary.blue.base};background:${colors.neutral.grey.lightest};}`;\nexport { StyledText as Text, Container };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { Container, Text } from './styled';\nexport const Item = ({ item, handleRangeListChange }) => {\n const onClick = useCallback(() => handleRangeListChange(item), [handleRangeListChange, item]);\n return (React.createElement(Container, { onClick: onClick },\n React.createElement(Text, { variant: \"bodySmall\" }, item.label)));\n};\n//# sourceMappingURL=Item.js.map","import React, { Fragment } from 'react';\nimport { paginationDefaultRangeList } from '../../../utils/paginationList';\nimport { Item } from './Item';\nexport const Items = (props) => {\n const { handleRangeListChange, paginationRange = paginationDefaultRangeList } = props;\n return (React.createElement(React.Fragment, null, paginationRange.map((item) => (React.createElement(Fragment, { key: item.label },\n React.createElement(Item, { item: item, handleRangeListChange: handleRangeListChange }))))));\n};\n//# sourceMappingURL=Items.js.map","import React, { Component } from 'react';\nimport { paginationDefaultRangeList } from '../../utils/paginationList';\nimport { theme } from '../../theme';\nimport { Container, Dropdown, Button, Text } from './styled';\nimport { Items } from './Items';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nexport class PaginationRange extends Component {\n constructor(props) {\n super(props);\n this.handleRangeListChange = (item) => {\n const { onPaginationRangeChange } = this.props;\n this.setDropdownValue(item);\n onPaginationRangeChange(item);\n };\n this.setDropdownValue = (currentValue) => this.setState({\n shouldShowDropdown: false,\n dropdownValue: currentValue,\n });\n this.toggleShouldShow = () => {\n const { shouldShowDropdown } = this.state;\n this.setState({ shouldShowDropdown: !shouldShowDropdown });\n };\n const { dropdownValue = paginationDefaultRangeList[1] } = this.props;\n this.state = {\n dropdownValue,\n shouldShowDropdown: false,\n };\n }\n render() {\n const { className, paginationRange = paginationDefaultRangeList, reversedDropdown, } = this.props;\n const { shouldShowDropdown, dropdownValue } = this.state;\n return (React.createElement(Container, { className: className },\n React.createElement(Dropdown, { cta: React.createElement(Button, { onClick: this.toggleShouldShow },\n React.createElement(Text, { variant: \"bodySmall\" }, dropdownValue.label),\n React.createElement(DropdownIcon, { color: theme.colors.neutral.ink.base })), shouldShowDropdown: shouldShowDropdown, onClickAway: this.toggleShouldShow, reversed: reversedDropdown },\n React.createElement(Items, { paginationRange: paginationRange, handleRangeListChange: this.handleRangeListChange }))));\n }\n}\n//# sourceMappingURL=PaginationRange.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1kqph75\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--1myicuk\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--bdxre8\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--1pz53n4\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--1n3xr2g\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--1sahwox\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--1jvzatv\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--12eib7v\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--g7dno3\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--mxpi9o\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:focus,:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}}> .veeqo-components-active-button{:focus,:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1h93380\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--1qepc31\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--g9tnvb\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--50l9ot\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--1o4t01c\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--k7q8ax\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--25ejag\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--s5qrf0\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--pvw1wx\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--19twtgm\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--1vb0w08\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--qsag0v\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--qrqt2g\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--f5gjtj\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--n3gc7q\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--12f8l37\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1qgwlso\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--10ka3tn\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1f7rwsl\" }) `&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.label.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--16c93z6\" }) `display:inline-block;position:relative;cursor:${({ disabled }) => (disabled ? 'default' : 'pointer')};height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--13u3unt\" }) `cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\n/**\n * A toggle switch component, use-cases should wrap with a label or\n */\nexport const Toggle = forwardRef(({ id, className, name, switched, small, onClick = () => { }, disabled, ariaLabel }, ref) => (React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, role: \"switch\" },\n React.createElement(Input, { id: id, type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: disabled ? undefined : onClick, disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n//# sourceMappingURL=Toggle.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--xt3hiw\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--5gocp5\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--p8qe4b\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1u28do5\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--ohq9qo\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--55zou\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--2rc7ks\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--m1gs4v\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--1ilv3bg\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--b8oq7f\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;${({ colourPalette, customTextColour }) => `\n &:hover {\n border: 1px solid ${colourPalette.base};\n background-color: ${colourPalette.lightest};\n }\n\n ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.lightest};\n `}`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1xuhw17\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--122jw7g\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const EditIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3 18.0418V21.9996H6.95778L18.6306 10.3273L14.6728 6.36952L3 18.0418ZM21.6913 7.2661C22.1029 6.85501 22.1029 6.19011 21.6913 5.7785L19.2216 3.30831C18.81 2.89723 18.1451 2.89723 17.7335 3.30831L15.8021 5.23971L19.7599 9.19749L21.6913 7.2661Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EditIcon.js.map","import React, { useCallback } from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTypes } from './types';\nimport { Container, Contour, CounterContainer, CounterText, CustomIconWrapper, IconStyling, Text, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const View = ({ id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, onDelete, onEdit, e2eClassName, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const handleClick = useCallback(() => onClick(id), [id, onClick]);\n const handleDelete = useCallback((event) => {\n event.stopPropagation();\n if (onDelete)\n onDelete(id);\n }, [onDelete, id]);\n const handleEdit = useCallback((event) => {\n event.stopPropagation();\n if (onEdit)\n onEdit(id);\n }, [onEdit, id]);\n const isDraft = type === ViewTypes.draft;\n const isSaved = type === ViewTypes.saved;\n const fill = active ? colors.neutral.ink.dark : colors.neutral.ink.base;\n return (React.createElement(Container, { className: `${buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container])} ${(active && (e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.active)) || ''}`, onClick: handleClick },\n React.createElement(Contour, { active: active, onMouseEnter: handleEnter, onMouseLeave: handleLeave, colourPalette: colourPalette, customTextColour: customTextColour },\n iconSlot && React.createElement(CustomIconWrapper, null, iconSlot),\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count && (React.createElement(CounterContainer, { active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.counter, variant: \"subheadingSmall\" }, count))),\n isDraft && (React.createElement(CrossIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.delete, onClick: handleDelete }))),\n isSaved && active && (React.createElement(EditIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.edit, onClick: handleEdit }))))));\n};\n//# sourceMappingURL=View.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--zood5u\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--f0y2wt\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1l16g0h\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--wvwega\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"ounce\", type: \"number\", value: rest.pound, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"pound\", type: \"number\", value: rest.ounce, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { motion } from 'framer-motion';\nimport { Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, AccordionSummary, } from './styled';\nimport { colors } from '../../theme/modules/colors';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Accordion = ({ className, children, label, iconSlot, glyphColor = colors.neutral.ink.lightest, timeout = 350, description, shouldOpenOnMount, }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(AccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: \"body\" }, label)),\n React.createElement(Right, null,\n React.createElement(motion.span, { animate: {\n rotate: shouldOpen ? 180 : 0,\n } },\n React.createElement(UpArrowIcon, { name: shouldOpen ? 'downArrow' : 'upArrow' })))),\n !!description && React.createElement(Description, { variant: \"hintText\" }, description)),\n shouldOpen && (React.createElement(AccordionContent, { initial: { opacity: 0 }, exit: { opacity: 0 }, animate: { opacity: 1 }, transition: { from: 0, type: 'tween', duration: timeout / 1000 } }, children))));\n};\n//# sourceMappingURL=Accordion.js.map","import React from 'react';\nimport { CommonAnchor } from './styled';\nexport const Anchor = ({ children, className, text, href, target }) => (React.createElement(CommonAnchor, { href: href, target: target, className: className }, children || text));\n//# sourceMappingURL=Anchor.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { ActionList } from '../ActionList';\nimport { Button } from '../Button';\nimport { Header, Title, Subtitle, Image, ActionsContainer, SidebarToggleButton, ColumnGrid, } from './styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const PageHeader = ({ title, subtitle, imageSrc, actions, quickActions, backAction, Accessory, shadow = 'none', onClickPrevious, onClickNext, onClickToggleSidebar, }) => {\n const actionsMarkup = actions && (React.createElement(ActionList, { buttonVariant: !quickActions ? 'primary' : 'default', title: \"Actions\", sections: actions }));\n const quickActionsMarkup = quickActions === null || quickActions === void 0 ? void 0 : quickActions.map((action) => (React.createElement(Button, { key: action.title, variant: action.variant, icon: action.icon, onClick: action.onClick }, action.title)));\n const backActionMarkup = backAction && (React.createElement(Button, { onClick: backAction.onClick, icon: React.createElement(LeftArrowIcon, null), variant: \"link\" }, backAction.title));\n const toggleSidebarMarkup = onClickToggleSidebar && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\" },\n React.createElement(SidebarToggleButton, { onClick: onClickToggleSidebar },\n React.createElement(\"span\", null, \"Toggle sidebar\"),\n React.createElement(RightArrowIcon, { width: sizes.md }))));\n return (React.createElement(Header, { shadow: shadow },\n React.createElement(Stack, null,\n backActionMarkup,\n React.createElement(ColumnGrid, null,\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"md\" },\n imageSrc && React.createElement(Image, { src: imageSrc, alt: \"\", width: \"72\", height: \"72\" }),\n React.createElement(\"div\", { style: { flex: 1 } },\n React.createElement(Stack, { alignX: \"stretch\" },\n React.createElement(Title, null, title),\n Accessory,\n subtitle && React.createElement(Subtitle, null, subtitle)))),\n React.createElement(ActionsContainer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: \"sm\" },\n quickActionsMarkup,\n actionsMarkup,\n onClickPrevious && React.createElement(Button, { icon: React.createElement(LeftArrowIcon, null), onClick: onClickPrevious }),\n onClickNext && React.createElement(Button, { icon: React.createElement(RightArrowIcon, null), onClick: onClickNext })),\n toggleSidebarMarkup)))));\n};\n//# sourceMappingURL=PageHeader.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = ({ type = 'text', disabled = false, onClearClick, onChange, onBlur, onFocus, onKeyUp, onKeyDown, onKeyPress, value = '', error, placeholder = '', className = '', name, isLoading = false, fill, reversed = false, autoComplete = 'on', size = 'base', }) => {\n const shouldShowClear = value && value.length > 0;\n const renderIcon = () => {\n if (isLoading) {\n return React.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });\n }\n if (shouldShowClear && onClearClick) {\n return (React.createElement(Button, { variant: \"unstyled\", onClick: onClearClick, style: { display: 'flex' }, \"aria-label\": \"Clear text\" },\n React.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));\n }\n return (React.createElement(Button, { variant: \"unstyled\", onClick: () => onChange(value), style: { display: 'flex' }, \"aria-label\": \"Search\" },\n React.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));\n };\n return (React.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },\n React.createElement(Input, { size: size, type: type, value: value, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onKeyPress: onKeyPress, placeholder: placeholder, name: name, disabled: disabled, error: error, autoComplete: autoComplete }),\n React.createElement(IconContainer, null, renderIcon())));\n};\n//# sourceMappingURL=Search.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState } from 'react';\nexport function useNested() {\n const [expandedRowIds, setExpandedRowIds] = useState([]);\n // TODO: Memoise this\n const setExpanded = (expanded, rowId) => {\n if (!rowId)\n return;\n if (expanded) {\n // Add rowId to expandedRowIds\n if (expandedRowIds.includes(rowId))\n return;\n const rowIds = [...expandedRowIds, rowId];\n setExpandedRowIds(rowIds);\n }\n else {\n // Remove rowIds from expandedRowIds\n const index = expandedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...expandedRowIds];\n rowIds.splice(index, 1);\n setExpandedRowIds(rowIds);\n }\n };\n return {\n nestedTableProps: {\n expandedRowIds,\n setExpanded,\n },\n };\n}\n//# sourceMappingURL=useNested.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map"],"names":["BaseContainer","styled","default","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","__assign","t","s","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","SuppressedError","zeroRightClassName","fullWidthClassName","useMergeRefs","refs","defaultValue","initialValue","callback","newValue","forEach","ref","current","assignRef","useState","facade","last","ItoI","a","innerCreateMedium","defaults","middleware","buffer","assigned","read","Error","useMedium","data","item","push","filter","x","assignSyncMedium","cb","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","createMedium","createSidecarMedium","options","medium","async","ssr","SideCar","_a","sideCar","rest","Target","exportSidecar","exported","isSideCarExport","effectCar","nothing","RemoveScroll","forwardRef","parentRef","useRef","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","children","className","removeScrollBar","enabled","shards","noIsolation","inert","allowPinchZoom","_b","Container","gapMode","containerRef","containerProps","Fragment","lockRef","cloneElement","Children","only","_extends","bind","target","source","key","defaultProps","classNames","fullWidth","zeroRight","process","env","NODE_ENV","reactIsModule","exports","b","Symbol","for","c","f","g","h","k","l","m","q","r","v","w","y","z","u","$$typeof","type","A","reactIs_production_min","AsyncMode","ConcurrentMode","ContextProvider","Element","ForwardRef","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","require$$0","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","object","$$typeofType","ContextConsumer","Lazy","hasWarnedAboutDeprecatedIsAsyncMode","reactIs_development","console","isPortal","propIsEnumerable","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","map","join","test3","split","letter","keys","err","shouldUseNative","from","symbols","to","val","TypeError","toObject","ReactPropTypesSecret_1","has","Function","ReactIs","propTypesModule","require$$1","ReactPropTypesSecret","require$$2","require$$3","checkPropTypes","printWarning","loggedTypeFailures","message","typeSpecs","values","location","componentName","getStack","typeSpecName","name","ex","stack","resetWarningCache","checkPropTypes_1","require$$4","emptyFunctionThatReturnsNull","factoryWithTypeCheckers","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","array","createPrimitiveTypeChecker","bigint","bool","func","number","string","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","propName","propFullName","PropTypeError","propValue","Array","isArray","getPropType","element","elementType","instanceOf","expectedClass","expectedClassName","constructor","node","isNode","objectOf","propType","oneOf","expectedValues","is","valuesString","JSON","stringify","getPreciseType","oneOfType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedType","shape","shapeTypes","invalidValidatorError","exact","allKeys","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","secret","cacheKey","chainedCheckType","every","iteratorFn","maybeIterable","getIteratorFn","step","entries","next","done","entry","RegExp","isSymbol","Date","PropTypes","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","getShim","FOCUS_GROUP","FOCUS_DISABLED","hiddenGuard","width","padding","overflow","position","top","left","mediumFocus","_ref","currentTarget","mediumBlur","mediumEffect","mediumSidecar","emptyArray","FocusLock","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","_props$disabled","disabled","_props$noFocusGuards","noFocusGuards","_props$persistentFocu","persistentFocus","_props$crossFrame","crossFrame","_props$autoFocus","autoFocus","allowTextSelection","group","whiteList","hasPositiveIndices","_props$shards","_props$as","_props$lockProps","lockProps","_props$returnFocus","returnFocus","shouldReturnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","id","useCallback","document","activeElement","useEffect","allowDefer","returnFocusTo","focus","howToReturnFocus","returnFocusOptions","undefined","onFocus","event","onBlur","setObserveNode","newObserved","warn","constants.FOCUS_DISABLED","constants.FOCUS_GROUP","hasLeadingGuards","hasTailingGuards","mergedRef","tabIndex","style","propTypes","FocusLockUI","deferAction","action","setTimeout","focusHiddenMarker","PREVENT_SCROLL","preventScroll","FocusOn","setLockProps","_c","scrollLock","_d","focusLock","_e","shouldIgnore","preventScrollOnFocus","restProps","appliedLockProps","ReactFocusLock","_setPrototypeOf","o","setPrototypeOf","__proto__","_typeof","_toPropertyKey","arg","input","hint","prim","toPrimitive","res","Number","toArray","ret","asArray","getFirst","getParentNode","parentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","window","getComputedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","cached","get","result","set","isAutoFocusAllowedCached","cache","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","dataset","isHTMLInputElement","tagName","isRadioElement","attribute","getAttribute","includes","isGuard","Boolean","focusGuard","isNotAGuard","isDefined","tabSort","tabDiff","indexDiff","index","orderByTabIndex","nodes","filterNegative","keepGuards","sort","queryTabbables","queryGuardTabbables","concat","getFocusablesWithShadowDom","parent","withGuards","shadowRoot","reduce","acc","child","matches","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","HTMLIFrameElement","contentDocument","getFocusablesWithIFrame","querySelectorAll","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","Map","getTabbableNodes","topNodes","getFocusableNodes","parentAutofocusables","topNode","parentFocus","contains","scope","getPrototypeOf","some","iframeBody","getTopParent","getAllAffectedNodes","currentNode","contained","Set","j","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","add","DOCUMENT_POSITION_CONTAINS","_","filterNested","getActiveElement","inDocument","safeProbe","contentWindow","focusInside","ownerDocument","frame","focusInFrame","focusInsideIframe","correctNode","el","checked","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","Math","abs","pickAutofocus","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","autofocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","focusSolver","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","orderedInnerElements","entity","newId","focusNode","allParentAutofocusables","guardCount","lockDisabled","moveFocusInside","focusable","isFreeFocus","focusIsHidden","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","end","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","checkInHost","check","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","area","withinHost","blur","newActiveElement","focusedIndex","_ref2","_ref3","removeAttribute","onTrap","stopPropagation","preventDefault","onWindowBlur","observerNode","FocusTrap","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","instance","obj","SideEffect","_PureComponent","subClass","superClass","create","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","splice","render","PureComponent","getDisplayName","toPropertyKey","defineProperty","enumerable","configurable","writable","withSideEffect","propsList","_ref5","traps","trap","slice","addEventListener","lastTrap","sameTrap","_ref6","removeEventListener","makeStyleTag","tag","nonce","__webpack_nonce__","getNonce","setAttribute","stylesheetSingleton","counter","stylesheet","css","styleSheet","cssText","appendChild","createTextNode","head","getElementsByTagName","insertStyleTag","remove","removeChild","styleSingleton","sheet","useStyle","styles","isDynamic","dynamic","zeroGap","right","gap","parse","parseInt","getGapWidth","offsets","cs","getOffset","documentWidth","documentElement","clientWidth","windowWidth","innerWidth","max","Style","getStyles","allowRelative","important","RemoveScrollBar","noRelative","noImportant","useMemo","passiveSupported","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","getOutermostShadowParent","shadowParent","shouldPreventQueue","touchStartRef","activeAxis","lastProps","classList","allow_1","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","_event","sourceEvent","should","cancelable","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","inst","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","applyAttributeToOthers","originalTarget","markerName","controlAttribute","targets","correctedTarget","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","attr","alreadyHidden","counterValue","markerValue","clear","delete","hideOthers","activeParentNode","getDefaultParent","InteractivityDisabler","onEscapeKey","onClickOutside","activeNode","setActiveNode","lastEventTarget","mouseTouches","onKeyDown","defaultPrevented","code","keyCode","onMouseDown","MouseEvent","onTouchStart","onTouchEnd","_undo","unmounted","il","jl","__spreadArrays","RequireSideCar","ReactFocusOn","generateId","prefix","floor","random","super","portalNode","isMounted","rootElementRef","setState","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","hexToRgb","hex","hexTmp","replace","exec","getOpaqueHexColor","opacity","rgb","Popover","passedId","placement","anchorElement","onShouldClose","enableFocusTrap","dialogProps","popperElement","setPopperElement","attributes","update","usePopper","popoverId","hasAttribute","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","onClick","open","popper","TailSpin","label","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","dur","repeatCount","cx","cy","Grid","begin","calcMode","ThreeDots","Loader","MainContent","hasText","loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","primary","destructive","primaryDestructive","flat","unstyled","Button","icon","dropdown","otherProps","VariantButton","hasChildren","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","ActionSlot","isCollapsed","onClickCollapse","onClickClose","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","HeaderActionSlot","collapsable","onClose","renderFooter","setIsCollapsed","headerMarkup","showBody","bodyMarkup","animate","variants","transition","duration","ease","footerMarkup","ListCard","SectionHeading","Item","itemMap","ActionList","items","sections","buttonVariant","buttonSize","setIsActive","anchorEl","setAnchorEl","renderItem","ItemComponent","handleClick","listItemMarkup","CommonAnchor","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","timeout","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","unmountOnExit","AvatarSC","textColor","bgColor","Position","Sides","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","defaultConfig","side","TOP","triangleOffset","Tooltip","content","config","withTriangle","initialShouldShow","useReactPortal","trim","usedConfig","container","tip","wrap","triangle","hoverable","shouldShow","setShouldShow","hoverableElement","setHoverableElement","modifiers","show","hide","tooltipStyles","tooltipMarkup","triangleOffsetSize","ReactDOM","BaseBadge","hideBorder","warning","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","href","DefaultSeparator","DefaultLink","BreadcrumbText","Alignments","Stack","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","BorderedWrapper","BlockTooltip","HelpIcon","Choice","bordered","Badge","Accessory","contentMarkup","htmlFor","Input","Checkbox","indeterminate","ariaLabel","onChange","checkboxRef","handleChange","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","SuccessIcon","ClipboardIcon","iconSizes","XSButton","alignmentToFlex","parseWidth","fallback","min","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","setCellWidths","updateCellWidths","cells","widths","cell","getBoundingClientRect","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","mouseMoveHandler","dx","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useScrollPosition","setScrollPosition","updateScrollPosition","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","rowId","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","column","renderCell","row","actions","rowState","setSelected","rowIds","findIndex","SortIndicator","HeaderContent","ClickableHeaderContent","onChangeSort","sortable","toString","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","isIntersecting","containerRect","stickyPositionStyles","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","columnCount","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","borderBottom","allCss","getRowState","expandedRowIds","disabledRowIds","InfoIcon","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","emptyState","loadingRowCount","rows","setExpanded","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","loadingRows","renderLoadingCell","subheading","renderRow","e2eClassName","renderNestedRow","nestedRow","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","setHidden","groupIndex","columnIds","newColumns","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","ColumnGrid","showSidebar","ContentContainer","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","spellCheck","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","useClickOutside","isOpen","escapeListener","clickListener","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","onScroll","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","start","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","isError","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","find","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","margin","animationDuration","getNestedRow","isHidden","renderDefaultLoadingRow","unshift","getFooter","renderedRows","bodyClassName","rowE2eClassName","rowClassName","specificStateValues","ClickableCell","EditableCell","LoginButton","buttonImg","buttonDescription","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","initial","bounce","exit","Dialog","shadow","Title","h1","Subtitle","Image","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","paginationDefaultRangeList","handleRangeListChange","Items","paginationRange","PaginationRange","onPaginationRangeChange","setDropdownValue","currentValue","dropdownValue","toggleShouldShow","reversedDropdown","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","parseFloat","toFixed","roundedValue","form","IconContainer","iconPosition","SearchIcon","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SelectInput","select","sizeVariant","Select","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Tag","ToastsLayoutContainer","Toast","minWidth","IconWrap","ContentStack","toastTypes","merge","closeIcon","iconSlot","ToastContainer","Slider","switched","Switch","small","Toggle","borderColor","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","PopupContent","VideoWrapper","ButtonSC","ViewTypes","CounterText","Contour","colourPalette","customTextColour","active","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","edit","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce","description","shouldOpenOnMount","shouldOpen","setShouldOpen","rotate","userInitials","toUpperCase","match","BadgeVariant","Pill","marginRight","Separator","pathname","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","horizontal","renderDescription","term","shouldShowSidebar","setShouldShowSidebar","shouldCloseOnClickAway","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","setImage","onMouseUp","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","showModal","isContentOverflowing","close","AnimatePresence","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","testId","onSubmit","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","pop","resultValue","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","toasts","TransitionGroup","component","reverse","toast","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","handler","clearTimeout","isFocused","setIsFocused","useContext","focusVisible","setExpandedRowIds","nestedTableProps","tabs","defaultActiveIndex","listOfTabs","setActive","newActiveTab","tab"],"mappings":"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","x_google_ignoreList":[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83]}
1
+ {"version":3,"file":"index.js","sources":["../src/components/BaseContainer/BaseContainer.ts","../src/components/Text/utils.ts","../src/theme/modules/colors.ts","../src/theme/modules/breakpoints.ts","../src/theme/modules/radius.ts","../src/theme/modules/shadows.ts","../src/theme/modules/sizes.ts","../src/theme/modules/text.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../node_modules/tslib/tslib.es6.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/index.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/focus-lock/dist/es2015/constants.js","../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../node_modules/use-callback-ref/dist/es2015/useRef.js","../node_modules/use-callback-ref/dist/es2015/assignRef.js","../node_modules/react-focus-lock/dist/es2015/FocusGuard.js","../node_modules/use-sidecar/dist/es2015/medium.js","../node_modules/react-focus-lock/dist/es2015/medium.js","../node_modules/react-focus-lock/dist/es2015/Lock.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/focus-lock/dist/es2015/utils/array.js","../node_modules/focus-lock/dist/es2015/utils/is.js","../node_modules/focus-lock/dist/es2015/utils/tabOrder.js","../node_modules/focus-lock/dist/es2015/utils/tabUtils.js","../node_modules/focus-lock/dist/es2015/utils/tabbables.js","../node_modules/focus-lock/dist/es2015/utils/DOMutils.js","../node_modules/focus-lock/dist/es2015/utils/all-affected.js","../node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","../node_modules/focus-lock/dist/es2015/utils/safe.js","../node_modules/focus-lock/dist/es2015/focusInside.js","../node_modules/focus-lock/dist/es2015/utils/correctFocus.js","../node_modules/focus-lock/dist/es2015/utils/firstFocus.js","../node_modules/focus-lock/dist/es2015/solver.js","../node_modules/focus-lock/dist/es2015/utils/auto-focus.js","../node_modules/focus-lock/dist/es2015/utils/parenting.js","../node_modules/focus-lock/dist/es2015/focusSolver.js","../node_modules/focus-lock/dist/es2015/moveFocusInside.js","../node_modules/focus-lock/dist/es2015/commands.js","../node_modules/react-focus-lock/dist/es2015/util.js","../node_modules/react-focus-lock/dist/es2015/Trap.js","../node_modules/focus-lock/dist/es2015/focusIsHidden.js","../node_modules/focus-lock/dist/es2015/focusables.js","../node_modules/react-clientside-effect/lib/index.es.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-focus-lock/dist/es2015/Combination.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/styled.ts","../src/utils/buildClassnames.ts","../src/utils/color.ts","../src/components/Popover/Popover.tsx","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Loader/TailSpin.tsx","../src/components/Loader/Grid.tsx","../src/components/Loader/ThreeDots.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/components/styled.ts","../src/tempIcons/DropdownIcon.tsx","../src/components/Button/Button.tsx","../src/components/CardHeader/styled.ts","../src/tempIcons/DownArrowIcon.tsx","../src/tempIcons/CrossIcon.tsx","../src/components/CardHeader/CardHeader.tsx","../src/components/Card/styled.ts","../src/components/Card/Card.tsx","../src/components/ActionList/styled.ts","../src/components/ActionList/ActionList.tsx","../src/components/Anchor/styled.ts","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/BasicDropdown.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../src/components/AnimatedDropdown/hooks/useClickAway.ts","../src/components/Avatar/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/styled.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Choice/components/styled.ts","../src/tempIcons/HelpIcon.tsx","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/SuccessIcon.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/components/DataTable/utils/alignmentToFlex.ts","../src/components/DataTable/utils/parseWidth.ts","../src/components/DataTable/utils/generateTableCss.ts","../src/components/DataTable/utils/sumAll.ts","../src/components/DataTable/types.ts","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTable/utils/GetSortIcon.tsx","../src/components/DataTable/hooks/useCellWidths.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.ts","../src/components/DataTable/hooks/useScrollPosition.ts","../src/components/DataTable/constants.ts","../src/components/DataTable/components/Header.ts","../src/components/DataTable/components/SelectionHeader.tsx","../src/components/DataTable/components/Cell.ts","../src/components/DataTable/components/SelectionCell.tsx","../src/components/DataTable/hooks/useSelection.tsx","../src/components/DataTable/components/ColumnHeader.tsx","../src/components/DataTable/renderers/renderHeader.tsx","../src/components/DataTable/utils/getNextSortState.ts","../src/components/DataTable/components/LoadingCellContent.ts","../src/components/DataTable/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTable/components/EmptyBodyContent.ts","../src/components/DataTable/components/NoWrap.ts","../src/components/DataTable/components/Row.ts","../src/components/DataTable/components/ScrollContainer.ts","../src/components/DataTable/components/TableGrid.ts","../src/components/DataTable/components/Truncate.ts","../src/components/DataTable/components/Wrapper.ts","../src/components/DataTable/components/StickyHead.tsx","../src/components/DataTable/utils/getRowState.ts","../src/tempIcons/InfoIcon.tsx","../src/components/DataTable/DataTable.tsx","../src/components/DataTable/renderers/renderLoadingCell.tsx","../src/components/DataTable/renderers/renderCell.ts","../src/components/DataTable/renderers/renderNestedCell.tsx","../src/components/DataTable/renderers/renderFooter.tsx","../src/components/DataTable/components/ColumnMenu.tsx","../src/components/DescriptionList/DescriptionList.tsx","../src/components/DetailPage/styled.ts","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/hooks/useClickOutside.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/components/FilterTag/styled.ts","../src/components/FilterTag/FilterTag.tsx","../src/components/Grid/index.ts","../src/components/Image/components/PlaceholderImage.tsx","../src/components/Image/components/styled.ts","../src/components/Image/utils.ts","../src/components/LegacyDataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.tsx","../src/utils/paginationList.ts","../src/components/PaginationRange/styled.ts","../src/components/PaginationRange/Items/Item/styled.ts","../src/components/PaginationRange/Items/Item/Item.tsx","../src/components/PaginationRange/Items/Items.tsx","../src/components/PaginationRange/PaginationRange.tsx","../src/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/SegmentedControl/styled.ts","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/View/types.ts","../src/components/View/styled.ts","../src/tempIcons/EditIcon.tsx","../src/components/View/View.tsx","../src/components/WeightInput/styled.ts","../src/components/WeightInput/WeightInput.tsx","../src/components/WeightInput/types.ts","../src/components/Accordion/Accordion.tsx","../src/components/Anchor/Anchor.tsx","../src/components/Avatar/Avatar.tsx","../src/components/DetailPage/DetailPage.tsx","../src/components/Image/Image.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Pagination/Pagination.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/VideoModal.tsx","../src/hooks/useDebounce.ts","../src/components/DataTable/hooks/useNested.ts","../src/hooks/useTabs.ts","../src/hoc/withDeprecated.tsx"],"sourcesContent":["import styled from 'styled-components';\nexport const BaseContainer = styled.div.withConfig({ displayName: \"vui--BaseContainer\", componentId: \"vui--bg86rb\" }) `box-sizing:border-box;position:relative;margin:0;padding:0;`;\n//# sourceMappingURL=BaseContainer.js.map","const componentMap = {\n inputLabel: 'label',\n inputLabelSmall: 'label',\n headingSmall: 'h3',\n headingMedium: 'h3',\n headingLarge: 'h2',\n headingXL: 'h1',\n headingXXL: 'h1',\n // Deprecated, but quickfix for A11y.\n button: 'button',\n buttonSmall: 'button',\n};\nexport const getComponentOverride = (as, variant) => {\n if (as)\n return as;\n if (variant)\n return componentMap[variant];\n return undefined;\n};\n//# sourceMappingURL=utils.js.map","export const colors = {\n brand: {\n blue: {\n lightest: '#E4F0F9',\n light: '#93C6E8',\n base: '#4CA1D9',\n dark: '#3878A2',\n darkest: '#1A384B',\n },\n peach: {\n lightest: '#FDECE9',\n light: '#F8B2A9',\n base: '#F48070',\n dark: '#B65F53',\n darkest: '#562D27',\n },\n },\n neutral: {\n ink: {\n lightest: '#959FA8',\n light: '#637381',\n base: '#37424D',\n dark: '#1B2126',\n },\n grey: {\n lightest: '#FAFAFB',\n light: '#F2F3F5',\n base: '#DFE3E8',\n dark: '#CDD1D5',\n },\n greyBlue: {\n lightest: '#AAC5D8',\n light: '#558BB1',\n base: '#406885',\n dark: '#1E313E',\n },\n },\n secondary: {\n red: {\n lightest: '#FDEEEE',\n light: '#F7BCBC',\n base: '#EB5757',\n dark: '#A53D3D',\n darkest: '#5E2323',\n },\n yellow: {\n lightest: '#FFF6D9',\n light: '#FFE999',\n base: '#FFC900',\n dark: '#BF9600',\n darkest: '#594600',\n },\n green: {\n lightest: '#E9F7EF',\n light: '#BEE7CF',\n base: '#27AE60',\n dark: '#1B7A43',\n darkest: '#104626',\n },\n lime: {\n lightest: '#F6FAEB',\n light: '#DBEBAE',\n base: '#A5CD35',\n dark: '#7B9927',\n darkest: '#394712',\n },\n teal: {\n lightest: '#E5F8F5',\n light: '#99E5D7',\n base: '#00BD9A',\n dark: '#00715C',\n darkest: '#00392E',\n },\n aqua: {\n lightest: '#EEFAFE',\n light: '#BBEBFA',\n base: '#56CCF2',\n dark: '#3C8FA9',\n darkest: '#225261',\n },\n purple: {\n lightest: '#F6EFFC',\n light: '#D9C0F1',\n base: '#A162DD',\n dark: '#694090',\n darkest: '#38224D',\n },\n blue: {\n lightest: '#D9EBF8',\n light: '#80BCE8',\n base: '#0079D1',\n dark: '#005A9C',\n darkest: '#003053',\n },\n pink: {\n lightest: '#FFF1FC',\n light: '#FFC7F3',\n base: '#FFA3EB',\n dark: '#BF7AB0',\n darkest: '#593852',\n },\n orange: {\n lightest: '#FEF5ED',\n light: '#FAD6B7',\n base: '#F2994A',\n dark: '#9D6330',\n darkest: '#613D1E',\n },\n },\n system: {\n scrollbar: {\n thumb: 'rgba(99, 115, 129, .5)',\n background: 'transparent',\n },\n },\n};\n//# sourceMappingURL=colors.js.map","export const breakpoints = {\n mobile: '640px',\n tablet: '720px',\n lgTablet: '960px',\n desktop: '1280px',\n lgDesktop: '1440px',\n};\n//# sourceMappingURL=breakpoints.js.map","export const radius = {\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n full: '50%',\n};\n//# sourceMappingURL=radius.js.map","export var Shadows;\n(function (Shadows) {\n Shadows[\"sm\"] = \"0px 1px 3px rgba(55, 66, 77, 0.15)\";\n Shadows[\"base\"] = \"0px 4px 6px rgba(27, 33, 38, 0.2)\";\n Shadows[\"md\"] = \"0px 10px 15px rgba(27, 33, 38, 0.2)\";\n Shadows[\"lg\"] = \"0px 20px 25px rgba(27, 33, 38, 0.2)\";\n})(Shadows || (Shadows = {}));\n//# sourceMappingURL=shadows.js.map","var SizeAlias;\n(function (SizeAlias) {\n SizeAlias[\"none\"] = \"none\";\n SizeAlias[\"line\"] = \"line\";\n SizeAlias[\"xs\"] = \"xs\";\n SizeAlias[\"sm\"] = \"sm\";\n SizeAlias[\"base\"] = \"base\";\n SizeAlias[\"md\"] = \"md\";\n SizeAlias[\"lg\"] = \"lg\";\n SizeAlias[\"xl\"] = \"xl\";\n SizeAlias[\"xxl\"] = \"xxl\";\n})(SizeAlias || (SizeAlias = {}));\nfunction buildSizeScale({ increment, unit, count }) {\n const sizes = {};\n /* eslint-disable-next-line no-plusplus */\n for (let i = 0; i <= count; i++) {\n const value = i * increment;\n sizes[i] = `${value}${unit}`;\n }\n return sizes;\n}\nexport const sizeScale = buildSizeScale({ increment: 0.25, unit: 'rem', count: 20 });\nexport const sizeAliases = {\n [SizeAlias.none]: '0',\n [SizeAlias.line]: '1px',\n [SizeAlias.xs]: sizeScale[1],\n [SizeAlias.sm]: sizeScale[2],\n [SizeAlias.base]: sizeScale[4],\n [SizeAlias.md]: sizeScale[6],\n [SizeAlias.lg]: sizeScale[8],\n [SizeAlias.xl]: sizeScale[12],\n [SizeAlias.xxl]: sizeScale[16],\n};\nexport const sizes = Object.assign(Object.assign({}, sizeAliases), sizeScale);\n//# sourceMappingURL=sizes.js.map","import { colors } from './colors';\nexport const common = {\n fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol',\n};\nexport const text = {\n headingXXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '40px',\n lineHeight: '56px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.022rem',\n },\n headingXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '28px',\n lineHeight: '40px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.02rem',\n },\n headingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: '32px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.019rem',\n },\n headingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n headingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n headingTable: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n subheadingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n subheadingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingSmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n body: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodySmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodyBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodyBoldDark: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.dark,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodySmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n button: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n buttonSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n linkLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.017rem',\n },\n linkMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.011rem',\n },\n link: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.006rem',\n },\n linkSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '0',\n },\n inputLabel: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n inputLabelSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n hintText: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholder: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n placeholderSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholderCode: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.5rem',\n },\n placeholderCodeSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.375rem',\n },\n error: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n errorSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n successSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.green.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n};\n//# sourceMappingURL=text.js.map","import { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--m0sc57\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--vb6lvt\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--19b2coz\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--13mhsyo\" }) `justify-content:flex-end;flex-grow:2;`;\n/**\n * Due to unique behaviour observed in Safari, we override the outline property when\n * the accordion is focussed.\n */\nconst AccordionSummary = styled.summary.withConfig({ displayName: \"vui--AccordionSummary\", componentId: \"vui--1lgp9cv\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;border:1px solid ${theme.colors.neutral.grey.dark};:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}:active{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--11peosj\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1e00qnt\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--2wgxvx\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--1dg5oex\" }) `summary{list-style-type:none;::-webkit-details-marker{display:none;}}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const UpArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.91021 10.47L7.97021 7.4167L11.0302 10.47L11.9702 9.53003L7.97021 5.53003L3.97021 9.53003L4.91021 10.47Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=UpArrowIcon.js.map","/******************************************************************************\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, SuppressedError, Symbol */\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.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\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\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\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 { 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 <div ref={domRef}>...</div>\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 * 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 _ref$children = _ref.children,\n children = _ref$children === void 0 ? null : _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} : {};\nexport default InFocusGuard;","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 { 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\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 _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$noFocusGuards = props.noFocusGuards,\n noFocusGuards = _props$noFocusGuards === void 0 ? false : _props$noFocusGuards,\n _props$persistentFocu = props.persistentFocus,\n persistentFocus = _props$persistentFocu === void 0 ? false : _props$persistentFocu,\n _props$crossFrame = props.crossFrame,\n crossFrame = _props$crossFrame === void 0 ? true : _props$crossFrame,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _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 _props$returnFocus = props.returnFocus,\n shouldReturnFocus = _props$returnFocus === void 0 ? false : _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];\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 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 Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]);\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium;\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 console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current && typeof Container !== 'string') {\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 React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\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} : {};\nexport default FocusLock;","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\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 * !__WARNING__! Low level API.\n * @returns all tabbable nodes\n *\n * @see {@link getFocusableNodes} to get any focusable element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * !__WARNING__! Low level API.\n *\n * @returns anything \"focusable\", not only tabbable. The difference is in `tabIndex=-1`\n * (without guards, as long as they are not expected to be ever focused)\n *\n * @see {@link getTabbableNodes} to get only tabble nodes element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getFocusableNodes = 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","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 - node or nodes to look inside\n * @returns Element[]\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","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\n/**\n * returns current active element. If the active element is a \"container\" itself(shadowRoot or iframe) returns active element inside it\n * @param [inDocument]\n */\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 { 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 * Supports nodes hidden inside shadowDom\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 { 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 { 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 { getFocusableNodes, 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 * contains the main logic of the `focus-lock` package.\n *\n * ! you probably dont need this function !\n *\n * given top node(s) and the last active element returns the element to be focused next\n * @returns element which should be focused to move focus inside\n * @param topNode\n * @param lastNode\n */\nexport var focusSolver = 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 = getFocusableNodes(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 = getFocusableNodes([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 { focusOn } from './commands';\nimport { focusSolver } from './focusSolver';\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * The main functionality of the focus-lock package\n *\n * Contains focus at a given node.\n * The last focused element will help to determine which element(first or last) should be focused.\n * The found element will be focused.\n *\n * This is one time action (move), not a persistent focus-lock\n *\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @see {@link focusSolver} for the same functionality without autofocus\n */\nexport var moveFocusInside = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = focusSolver(topNode, lastNode);\n // global local side effect to countain recursive lock activation and resolve focus-fighting\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n /** +FOCUS-FIGHTING prevention **/\n if (guardCount > 2) {\n // we have recursive entered back the lock activation\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","export 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};\n","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport { moveFocusInside, focusInside, focusIsHidden, expandFocusableNodes } 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 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 return Boolean(focusWasOutsideWindow);\n }\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && (el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) || 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 && !(focusInside(workingArea) || activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\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 = expandFocusableNodes(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 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 event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\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';\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\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();\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\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}\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 { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * checks if focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n *\n * This is a utility function coupled with {@link FOCUS_ALLOW} constant\n *\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 { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * @returns list of focusable elements inside a given top node\n * @see {@link getFocusableNodes} for lower level access\n */\nexport var expandFocusableNodes = 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","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 toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export const generateId = (prefix) => {\n const randomNumber = Math.floor(Math.random() * 1000);\n return `${prefix}-${randomNumber}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","import styled from 'styled-components';\nexport const PopoverDialog = styled.dialog.withConfig({ displayName: \"vui--PopoverDialog\", componentId: \"vui--cg48a2\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--49or9l\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","import { __rest } from \"tslib\";\n/* eslint-disable consistent-return */\nimport React, { useState, useEffect, useMemo } from 'react';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport FocusLock from 'react-focus-lock';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, shards, onShouldClose, style, disableFocusLock } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"shards\", \"onShouldClose\", \"style\", \"disableFocusLock\"]);\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // Setup popover id to use passed, or generate its' own.\n const id = useMemo(() => passedId || generateId('popover'), [passedId]);\n // Check and update aria for anchor, only works once this has rendered for the first time though.\n useUpdateAriaAnchor({ anchorElement, popoverId: id });\n /**\n * When content size is changed, force popper update\n */\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => resizeObserver.disconnect();\n }, [update, popperElement]);\n /**\n * When window is resized, force popper update\n */\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => window.removeEventListener('resize', update);\n }, [update]);\n const onDeactivation = () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n const onClose = () => {\n onDeactivation();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const handleEscape = (event) => {\n if (event.key === 'Escape') {\n onClose();\n }\n };\n /**\n * Gets around issue with focusing anchorElement, which is outside trap.\n * Caused scroll to top of page.\n */\n const whileList = (el) => el !== anchorElement;\n return (React.createElement(React.Fragment, null,\n React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex }),\n React.createElement(Portal, { rootElementRef: rootElementRef },\n React.createElement(FocusLock, { shards: shards, onDeactivation: onDeactivation, whiteList: whileList },\n React.createElement(PopoverDialog, Object.assign({ open: true, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign({}, styles.popper), style), onKeyDown: handleEscape, autoFocus: true }, attributes.popper, dialogProps), children)))));\n};\n//# sourceMappingURL=Popover.js.map","/* eslint-disable no-console */\n/* eslint-disable consistent-return */\nimport { useEffect } from 'react';\n/**\n * Update the anchor element to sent the required attributes if they haven't already set them.\n *\n * This allows current, inaccesible usages to be improved.\n */\nexport const useUpdateAriaAnchor = ({ anchorElement, popoverId }) => {\n useEffect(() => {\n if (!anchorElement)\n return;\n // Try and set aria-expanded on the anchor.\n try {\n anchorElement.setAttribute('aria-expanded', 'true');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${true}`);\n }\n // Try and set aria controls, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-controls')) {\n anchorElement.setAttribute('aria-controls', popoverId);\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-controls for popover id: ${popoverId}`);\n }\n // Try and set aria-haspopup, unless it already exists.\n try {\n if (!anchorElement.hasAttribute('aria-haspopup')) {\n anchorElement.setAttribute('aria-haspopup', 'dialog');\n }\n }\n catch (_) {\n console.warn(`Unable to set aria-haspopup for popover id: ${popoverId}`);\n }\n // On unmount set aria-expanded to false\n return () => {\n try {\n anchorElement.setAttribute('aria-expanded', 'false');\n }\n catch (_) {\n console.warn(`Unable to update aria-expanded for popover anchor to: ${false}`);\n }\n };\n }, [anchorElement, popoverId]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--3juln2\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ loading }) => loading && 'opacity: 0;'};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--1xsghtl\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}& > span{position:relative;top:-1px;}`;\nexport const DefaultButton = styled(BaseButton).withConfig({ displayName: \"vui--DefaultButton\", componentId: \"vui--1mceh7z\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1vhc5dm\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--lamrqo\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--14zrdl\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--1w880uc\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:rgba(0, 0, 0, 0.1);}&:active{background-color:rgba(0, 0, 0, 0.1);}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{background-color:transparent;border-color:transparent;}`;\nexport const UnstyledButton = styled.button.withConfig({ displayName: \"vui--UnstyledButton\", componentId: \"vui--kyccjz\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--eh2yja\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};text-decoration:${theme.text.link.textDecoration};color:${theme.colors.secondary.blue.base};&:hover{color:${theme.colors.secondary.blue.dark};}& > * + *{margin-left:${theme.sizes.xs};}& > span{position:relative;top:-1px;}`;\nexport const LoadingWrapper = styled.div.withConfig({ displayName: \"vui--LoadingWrapper\", componentId: \"vui--cvu4hf\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { loading: loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && React.createElement(\"span\", null, children),\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--13im4do\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--1orvtgl\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--1s3932u\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--n2tmr2\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--8unl0i\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--1q1caki\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--5cnkiv\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { Text } from '../Text';\nconst { sizes, colors, text } = theme;\nexport const ListCard = styled(Card.Surface).withConfig({ displayName: \"vui--ListCard\", componentId: \"vui--1trkfaa\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--rjtb0l\" }) `display:flex;flex-direction:column;& + &{border-top:1px solid ${colors.neutral.grey.base};margin-top:${sizes.base};padding-top:${sizes.base};}`;\nexport const SectionHeading = styled(Text).attrs({ variant: 'subheadingSmall' }).withConfig({ displayName: \"vui--SectionHeading\", componentId: \"vui--74egpv\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--1ib3pw5\" }) `box-sizing:border-box;min-height:${sizes.lg};padding:${sizes.xs} ${sizes.base};display:flex;align-items:center;white-space:nowrap;font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};&:hover{background-color:${colors.neutral.grey.light};color:${colors.secondary.blue.base};}& > * + *{margin-left:${sizes[3]};}`;\nexport const ActionItem = styled(Item).withConfig({ displayName: \"vui--ActionItem\", componentId: \"vui--1p9b0cj\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--dzqkwg\" }) `color:${colors.secondary.blue.base};text-decoration:underline;`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Popover } from '../Popover';\nimport { Button } from '../Button';\nimport { Section, SectionHeading, ListCard, Item, ActionItem, LinkItem } from './styled';\nconst itemMap = {\n item: Item,\n action: ActionItem,\n link: LinkItem,\n};\nexport const ActionList = ({ title, items = [], sections, buttonVariant, buttonSize, }) => {\n const [isActive, setIsActive] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (callback) => {\n setIsActive(false);\n callback();\n };\n const renderItem = (item) => {\n const ItemComponent = itemMap[item.variant || 'item'];\n return (React.createElement(ItemComponent, { onClick: () => handleClick(item.onClick), key: item.title },\n item.icon && item.icon,\n React.createElement(\"span\", null, item.title)));\n };\n const renderSection = (section) => (React.createElement(Section, { key: section.title },\n section.title && React.createElement(SectionHeading, null, section.title),\n section.items.map(renderItem)));\n const listItemMarkup = sections ? sections.map(renderSection) : items.map(renderItem);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { dropdown: true, variant: buttonVariant, size: buttonSize, onClick: () => setIsActive(!isActive), ref: setAnchorEl }, title),\n isActive && (React.createElement(Popover, { anchorElement: anchorEl, placement: \"bottom-start\", onShouldClose: () => setIsActive(false) },\n React.createElement(ListCard, null, listItemMarkup)))));\n};\n//# sourceMappingURL=ActionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--1tq5iq\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--901a1g\" }) `display:inline-flex;background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;overflow:hidden;`;\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Container } from './styled';\nexport const BasicDropdown = forwardRef((props, ref) => {\n const { children, className } = props;\n return (React.createElement(Container, { className: className, ref: ref }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--602vf7\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--npjssh\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nconst Dropdown = styled(BasicDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--dv3wrs\" }) `flex-direction:column;position:absolute;z-index:3;${(props) => (props.reversed ? 'bottom: 8px;' : 'top: 6px;')} &.dropdown-enter{opacity:0;transform:translateY(-6px);}&.dropdown-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.dropdown-exit{opacity:1;transform:translateY(0px);}&.dropdown-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Wrap, Dropdown, Container };\n//# sourceMappingURL=styled.js.map","import React, { useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Wrap, Dropdown, Container } from './styled';\nimport { useClickAway } from './hooks/useClickAway';\nexport const AnimatedDropdown = ({ cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, onClickAway = () => { }, timeout = 350, transitionClassnames = 'dropdown', onClick, onMouseEnter, onMouseLeave, }) => {\n const dropdownRef = useRef(null);\n useClickAway(dropdownRef, (event) => {\n if (shouldShowDropdown) {\n onClickAway(event);\n }\n });\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: dropdownRef },\n !reversed && cta,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(CSSTransition, { in: shouldShowDropdown, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Dropdown, { reversed: reversed, className: `${className}-basic-dropdown ${className}` }, children))),\n reversed && cta));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import { useEffect } from 'react';\nexport const useClickAway = (ref, onClickAway) => {\n useEffect(() => {\n const handleClickAway = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n onClickAway(event);\n }\n };\n document.addEventListener('mousedown', handleClickAway);\n return () => {\n document.removeEventListener('mousedown', handleClickAway);\n };\n }, [ref, onClickAway]);\n};\n//# sourceMappingURL=useClickAway.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--224xhi\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","export var Position;\n(function (Position) {\n Position[\"end\"] = \"end\";\n Position[\"start\"] = \"start\";\n})(Position || (Position = {}));\nexport var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--16xd2og\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--if1bgt\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--1tbdgc0\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--1eqvhdd\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--10g4qtf\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1arl0em\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport ReactDOM from 'react-dom';\nimport { theme } from '../../theme';\nimport { Sides } from './types';\nimport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle } from './styled';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const hasText = text ? text.trim().length > 0 : false;\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const show = useCallback(() => setShouldShow(true), [setShouldShow]);\n const hide = useCallback(() => setShouldShow(false), [setShouldShow]);\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n const tooltipMarkup = shouldShow && (content || hasText) && (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--idt2e7\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--cjoxaq\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--12dvheo\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--5cooo3\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--5tzoxx\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--9nzbbv\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--zplr21\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1j9d69e\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--wt59q7\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1wkol92\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--150p0zs\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--16f283b\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--19n9row\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--ikbqaf\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--3b6yzv\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--8ngm7b\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};width:24px;height:24px;`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--1cu5xjr\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1na6cp4\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--1rasg4l\" }) `font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.sizes.md};color:${theme.text.body.color};`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--13bynjq\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--1kh3zgo\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--ogz9oa\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--11xzxut\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}& ${LabelText}{font-weight:${theme.text.bodyBold.fontWeight};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--gms4qf\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, LabelText, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nexport const Choice = ({ id, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && React.createElement(LabelText, null, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, null, hint),\n error && React.createElement(ErrorText, null, error),\n Footer)) : null));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--bq2l9d\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, className: className, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--14lc9u\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = forwardRef((_a, ref) => {\n var { checked, value, name, disabled, onChange, id } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const componentId = id !== null && id !== void 0 ? id : generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: componentId, disabled: disabled }, otherProps),\n React.createElement(Input, { id: componentId, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange, ref: ref })));\n});\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--z1f13i\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--snr02n\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--n9oowl\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, visible, stripingMode, }) {\n const pinnedLeftStyles = pinnedLeft.map((_, index) => `\n th:nth-child(${index + 1}),\n td:nth-child(${index + 1}) {\n position: sticky;\n left: ${cellWidths ? sumAllBeforeIndex(cellWidths, index + 1) : 0}px;\n z-index: 2;\n }\n `);\n const pinnedRightStyles = pinnedRight.map((_, index) => `\n th:nth-last-child(${index + 1}),\n td:nth-last-child(${index + 1}) {\n position: sticky;\n right: ${cellWidths ? sumAllAfterIndex(cellWidths, cellWidths.length - index) : 0}px;\n }\n `);\n const isLeftShadowVisible = scrollPosition !== 'start' && scrollPosition !== 'none';\n const leftShadow = `\n th:nth-child(${pinnedLeft.length})::after,\n td:nth-child(${pinnedLeft.length})::after {\n position: absolute;\n transform: translate(100%);\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isLeftShadowVisible ? 'inset 10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const isRightShadowVisible = scrollPosition !== 'end' && scrollPosition !== 'none';\n const rightShadow = `\n th:nth-last-child(${pinnedRight.length})::after,\n td:nth-last-child(${pinnedRight.length})::after {\n position: absolute;\n transform: translate(-100%);\n top: 0;\n left: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isRightShadowVisible ? 'inset -10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const stripingRow = `\n tr:nth-child(odd) > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tr + tr > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n const stripingNested = `\n tbody:nth-of-type(odd) > tr > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tbody + tbody > tr:first-child > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n return `\n grid-template-columns: ${visible.map((col) => parseWidth(col.width)).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","export function useColumns(columns) {\n const visible = columns.filter((col) => col.hidden !== true);\n const pinnedLeft = visible.filter((col) => col.pinned === 'left');\n const pinnedRight = visible.filter((col) => col.pinned === 'right');\n const notPinned = visible.filter((col) => col.pinned === 'none' || !col.pinned);\n return {\n visible: [...pinnedLeft, ...notPinned, ...pinnedRight],\n pinnedLeft,\n pinnedRight,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n if (!scrollTarget)\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--ilge6b\" }) `height:${headerCellHeight};display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--3tw1b6\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--1x79m95\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--1kiwwja\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--p1ald0\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React from 'react';\nimport { Tooltip } from '../../Tooltip';\nimport { Header } from '../components/Header';\nimport { HeaderContent, ClickableHeaderContent, SortIndicator } from '../components/ColumnHeader';\nimport { getNextSortState, GetSortIcon } from '../utils';\n/**\n * Default renderer for table header cells\n *\n * @param column Column configuration object\n * @returns Header cell instance\n */\nexport function renderHeader({ column, sortState, onChangeSort, }) {\n if (column.sortable && !sortState) {\n throw new Error(`Column '${column.id}' is configured to be sortable but the 'sortState' prop is missing.`);\n }\n if (column.hidden) {\n return null;\n }\n const headerProps = {\n key: column.id.toString(),\n id: `datatable-header-${column.id}`,\n role: 'columnheader',\n align: column.align,\n spacing: column.spacing,\n className: column.sortable ? 'sortable' : undefined,\n };\n // If defined, use custom renderer\n if (column.renderHeader) {\n return column.renderHeader(column, headerProps);\n }\n const handleClickSort = () => {\n if (!sortState) {\n console.log('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.log('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps),\n column.icon && column.icon,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 })))))));\n}\n//# sourceMappingURL=renderHeader.js.map","import { SortDirection } from '../types';\nexport function getNextSortState({ sortState, columnId }) {\n const isColumnSame = sortState.columnId === columnId;\n const isDefaultDirection = sortState.direction === SortDirection.ascending;\n let newSortDirection = SortDirection.ascending;\n if (isColumnSame && isDefaultDirection) {\n newSortDirection = SortDirection.descending;\n }\n return { columnId, direction: newSortDirection };\n}\n//# sourceMappingURL=getNextSortState.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\n/* Loading content shimmer animation */\nconst shimmerLight = theme.colors.neutral.grey.base;\nconst shimmerDark = theme.colors.neutral.grey.dark;\nexport const LoadingCellContent = styled.div.withConfig({ displayName: \"vui--LoadingCellContent\", componentId: \"vui--1bv9ck1\" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\\n to right,\\n ${shimmerLight} 0%,\\n ${shimmerDark} 20%,\\n ${shimmerLight} 40%,\\n ${shimmerLight} 100%\\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;\n//# sourceMappingURL=LoadingCellContent.js.map","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { renderHeader } from '../renderers/renderHeader';\nimport { headerCellHeight } from '../constants';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--uoc40o\" }) `display:grid;grid-template-columns:auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:50;height:${headerCellHeight};background-color:white;`;\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--x1996k\" }) `width:100%;height:100%;display:flex;align-items:center;padding:0 0.5rem;border-bottom:1px solid ${theme.colors.neutral.grey.base};& > *{flex:1;}`;\nexport function ActionBar({ selectionColumn, intersectionTargetRef, containerRef, children, }) {\n var _a;\n const [isSticky, setIsSticky] = useState(false);\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const callback = (entries) => {\n entries.forEach((entry) => {\n setIsSticky(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(callback);\n intersectionObserver.observe(intersectionTargetRef.current);\n /* eslint-disable-next-line consistent-return */\n return () => intersectionObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [intersectionTargetRef.current]);\n const containerRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const defaultPositionStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n };\n const stickyPositionStyles = {\n position: 'fixed',\n top: 0,\n left: containerRect === null || containerRect === void 0 ? void 0 : containerRect.left,\n width: containerRect === null || containerRect === void 0 ? void 0 : containerRect.width,\n };\n const style = isSticky ? stickyPositionStyles : defaultPositionStyles;\n return (React.createElement(Container, { style: style },\n renderHeader({ column: selectionColumn }),\n React.createElement(Content, null, children)));\n}\n//# sourceMappingURL=ActionBar.js.map","import React from 'react';\nexport const VisiblityIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C17 19.5 21.27 16.39 23 12C21.27 7.61 17 4.5 12 4.5ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityIcon.js.map","import React from 'react';\nexport const VisiblityOffIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 7C14.76 7 17 9.24 17 12C17 12.65 16.87 13.26 16.64 13.83L19.56 16.75C21.07 15.49 22.26 13.86 22.99 12C21.26 7.61 16.99 4.5 11.99 4.5C10.59 4.5 9.25 4.75 8.01 5.2L10.17 7.36C10.74 7.13 11.35 7 12 7ZM2 4.27L4.28 6.55L4.74 7.01C3.08 8.3 1.78 10.02 1 12C2.73 16.39 7 19.5 12 19.5C13.55 19.5 15.03 19.2 16.38 18.66L16.8 19.08L19.73 22L21 20.73L3.27 3L2 4.27ZM7.53 9.8L9.08 11.35C9.03 11.56 9 11.78 9 12C9 13.66 10.34 15 12 15C12.22 15 12.44 14.97 12.65 14.92L14.2 16.47C13.53 16.8 12.79 17 12 17C9.24 17 7 14.76 7 12C7 11.21 7.2 10.47 7.53 9.8ZM11.84 9.02L14.99 12.17L15.01 12.01C15.01 10.35 13.67 9.01 12.01 9.01L11.84 9.02Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityOffIcon.js.map","import React from 'react';\nexport const ReorderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M3 15H21V13H3V15ZM3 19H21V17H3V19ZM3 11H21V9H3V11ZM3 5V7H21V5H3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ReorderIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const EmptyBodyContent = styled.div.withConfig({ displayName: \"vui--EmptyBodyContent\", componentId: \"vui--klb9dq\" }) `padding-top:${theme.sizes.lg};padding-bottom:${theme.sizes.lg};grid-column:${({ columnCount }) => `1 / span ${columnCount}`};display:flex;flex-direction:column;align-items:center;justify-content:center;gap:${theme.sizes.md};`;\nexport const EmptyBodyGlyphWrapper = styled.div.withConfig({ displayName: \"vui--EmptyBodyGlyphWrapper\", componentId: \"vui--12lmw1\" }) `padding:${theme.sizes.md};background-color:${theme.colors.neutral.grey.light};border-radius:${theme.radius.full};`;\n//# sourceMappingURL=EmptyBodyContent.js.map","import styled from 'styled-components';\nexport const NoWrap = styled.div.withConfig({ displayName: \"vui--NoWrap\", componentId: \"vui--kbcaqo\" }) `white-space:nowrap;`;\n//# sourceMappingURL=NoWrap.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--9t9651\" }) `display:contents;${({ selected }) => selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};${({ accentColor }) => accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}`;\n//# sourceMappingURL=Row.js.map","import styled from 'styled-components';\nexport const ScrollContainer = styled.div.withConfig({ displayName: \"vui--ScrollContainer\", componentId: \"vui--1lne8xk\" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;\n//# sourceMappingURL=ScrollContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst defaultDensity = 'base';\nexport const TableGrid = styled.table.withConfig({ displayName: \"vui--TableGrid\", componentId: \"vui--15hxahr\" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;\n//# sourceMappingURL=TableGrid.js.map","import styled from 'styled-components';\nexport const Truncate = styled.div.withConfig({ displayName: \"vui--Truncate\", componentId: \"vui--coqvc6\" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;\n//# sourceMappingURL=Truncate.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst borderModeStyles = {\n full: `border-width: 1px; border-radius: ${theme.radius.base};`,\n vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',\n none: 'border-width: 0;',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--nnuzgr\" }) `width:100%;position:relative;border-style:solid;border-color:${theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}`;\n//# sourceMappingURL=Wrapper.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, }) {\n const stickyContainerRef = useRef(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const updateContainerDimensions = () => {\n var _a;\n const targetRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const newRect = {\n left: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.left) || 0,\n width: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.width) || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n const updateContainerScrollPosition = () => {\n var _a;\n if (!containerRef.current)\n return;\n const xScrollOffset = containerRef.current.scrollLeft;\n (_a = stickyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(xScrollOffset, 0);\n };\n // Configure intersection observer to toggle sticky header on/off\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const options = {\n threshold: 1.0,\n };\n const intersectionCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n // Calculate sticky header position and size to match table container\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n // Update dimensions when container element is resized\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateContainerDimensions, 33); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n // Sync container scrolling\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n useEffect(() => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n // Render sticky header\n if (!isVisible)\n return null;\n const containerStyle = Object.assign(Object.assign({}, containerRect), { height: headerCellHeight, position: 'fixed', zIndex: 5, overflowX: 'hidden', overflowY: 'hidden', borderBottom: `1px solid ${theme.colors.neutral.grey.base}` });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n icon: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ ActionBarSlot, borderMode, columns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...columns];\n const allColumns = selectionEnabled ? columnsWithSelection : columns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight } = useColumns(allColumns);\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths,\n scrollPosition,\n visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.icon),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort }))));\n const shouldRenderFooter = columns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!ActionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, ActionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: cellWidths }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--1lcnd5n\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--t25k5o\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--j013c4\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--12tjaz\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--zavj5i\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--7wguee\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--1tbr7pe\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--qefy7h\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--2b6aqg\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--u4z5d7\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--dhtep4\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1fu4njf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--1r762o2\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1wskrbx\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { generateId } from '../../utils/generateId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useMemo(() => generateId(Component.name), []);\n if (!label) {\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n }\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1o6oill\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1jp908v\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, max, min, multiline = false, name, onChange, pattern, placeholder, rows = '3', size = ComponentSize.base, step, type = 'text', value, spellCheck = false } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, max: max, min: min, name: name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n});\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--31hvgq\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--fkaqbt\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--sglucf\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--m1c7se\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--1cuqy49\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1yz94gf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--d0gr40\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useCallback } from 'react';\nexport function useDropdown() {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => setShouldShowDropdown(false), [setShouldShowDropdown]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n}\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--ujckjn\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:4px 8px;cursor:pointer;svg{width:${sizes.base};height:${sizes.base};}`;\nconst NonSelectableText = styled(Text).withConfig({ displayName: \"vui--NonSelectableText\", componentId: \"vui--oath0b\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--ln021\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--za0kgi\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--8epxko\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--1wgdg8n\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--188pxr2\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:12px 18px;border-bottom:1px solid ${colors.neutral.grey.base};svg{color:${({ color }) => color};width:${sizes[5]};height:${sizes[5]};margin-right:10px;}`;\nexport { Container, Text, AnimatedDropdown as Dropdown, GroupLabel, Content, Header, MainIcon, StyledCrossIcon as CrossIcon, };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { useDropdown } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { Container, Text, Dropdown, GroupLabel, MainIcon, CrossIcon, Content, Header, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n filterTagDropdown: prefix ? `${prefix}-filter-tag-dropdown` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n cross: prefix ? `${prefix}-cross` : undefined,\n});\nexport const FilterTag = ({ className, e2eClassName, label, text, iconSlot, fill = colors.secondary.blue.base, content, footer, onClickAway, onClick, shouldCloseOnClickAway = true, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown();\n const handleClick = useCallback((event) => {\n toggleShouldShowDropdown();\n if (onClickAway && shouldShowDropdown)\n onClickAway(event);\n }, [toggleShouldShowDropdown, onClickAway, shouldShowDropdown]);\n const handleClickAway = useCallback((event) => {\n // Escape hatch to apply custom behavior when clicked away\n if (onClickAway)\n onClickAway(event, closeDropdown);\n // Default clickAway behavior (closes the dropdown)\n if (shouldCloseOnClickAway)\n closeDropdown();\n }, [closeDropdown, onClickAway, shouldCloseOnClickAway]);\n const shouldShowSimple = !content;\n return shouldShowSimple ? (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), onClick: onClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(CrossIcon, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.cross, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.cross]), name: \"cross\", size: \"base\", color: colors.neutral.ink.base }))) : (React.createElement(Dropdown, { className: classNames.filterTagDropdown, shouldShowDropdown: shouldShowDropdown, onClickAway: handleClickAway, cta: React.createElement(Container, { className: classNames.container, onClick: handleClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(MainIcon, { color: colors.neutral.ink.base, name: \"downArrow\", shouldShow: shouldShowDropdown })) },\n React.createElement(Content, null,\n React.createElement(Header, { color: fill },\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Grid = styled(BaseContainer).withConfig({ displayName: \"vui--Grid\", componentId: \"vui--kz0fa5\" }) `display:grid;grid-template-columns:repeat(${({ columns }) => columns}, 1fr);grid-gap:${({ spacing = 'base' }) => (spacing ? sizes[spacing] : 0)};`;\n//# sourceMappingURL=index.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--zx358v\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--b3uukr\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--1x57v09\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--7k8es9\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React from 'react';\nimport { CalanderIcon } from '../../../tempIcons/CalendarIcon';\nimport { FailIcon } from '../../../tempIcons/FailIcon';\nconst iconSize = { width: 64, height: 64 };\nexport const defaultEmptyState = {\n icon: React.createElement(CalanderIcon, Object.assign({}, iconSize)),\n title: 'No data found',\n};\nexport const defaultErrorState = {\n icon: React.createElement(FailIcon, Object.assign({}, iconSize)),\n title: 'An error occurred when creating the table',\n subTitle: \"Please, try reloading the page once. If this doesn't solve the problem, contact support\",\n};\nexport var ScrollPosition;\n(function (ScrollPosition) {\n ScrollPosition[\"start\"] = \"start\";\n ScrollPosition[\"middle\"] = \"middle\";\n ScrollPosition[\"end\"] = \"End\";\n ScrollPosition[\"none\"] = \"none\";\n})(ScrollPosition || (ScrollPosition = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const CalanderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M18.3333 5.7H17.5V4H15.8333V5.7H9.16667V4H7.5V5.7H6.66667C5.74167 5.7 5.00833 6.465 5.00833 7.4L5 19.3C5 20.235 5.74167 21 6.66667 21H18.3333C19.25 21 20 20.235 20 19.3V7.4C20 6.465 19.25 5.7 18.3333 5.7ZM10.0002 11.65H8.3335V13.35H10.0002V11.65ZM13.3332 11.65H11.6665V13.35H13.3332V11.65ZM15 11.65H16.6667V13.35H15V11.65ZM6.6665 19.3H18.3332V9.94998H6.6665V19.3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CalendarIcon.js.map","import React from 'react';\nexport const FailIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12.0001 20.1818C16.5187 20.1818 20.1819 16.5187 20.1819 12C20.1819 7.4813 16.5187 3.81818 12.0001 3.81818C7.48136 3.81818 3.81824 7.4813 3.81824 12C3.81824 16.5187 7.48136 20.1818 12.0001 20.1818ZM16.3536 8.80575L13.1593 12L16.3536 15.1943L15.1943 16.3536L12 13.1593L8.80575 16.3536L7.64648 15.1943L10.8408 12L7.64648 8.80575L8.80575 7.64648L12 10.8408L15.1943 7.64648L16.3536 8.80575ZM8.80571 16L8.80575 16L12 12.8058L12 12.8057L8.80571 16ZM15.1943 16L15.1943 16L16 15.1943L16 15.1943L15.1943 16ZM16 8.80575L12.8058 12L12.8057 12L16 8.80571L16 8.80575Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=FailIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { ScrollPosition } from './utils/constants';\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nexport const TooltipContent = styled.div.withConfig({ displayName: \"vui--TooltipContent\", componentId: \"vui--6b6999\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--8prdgq\" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''};\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''};\n };\n `}`;\nexport const WrapperBordered = styled(Wrapper).withConfig({ displayName: \"vui--WrapperBordered\", componentId: \"vui--1uzcmg4\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--tbv1ab\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--1f7jdxq\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;\nexport const Foot = styled.tfoot.withConfig({ displayName: \"vui--Foot\", componentId: \"vui--1ug6bgl\" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--ostkmy\" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&\n `\n & > td:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor}; \n }\n `}`;\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--9fl65z\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--HeaderCell\", componentId: \"vui--1mc579o\" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\nexport const HeaderCellLayout = styled.div.withConfig({ displayName: \"vui--HeaderCellLayout\", componentId: \"vui--iko9ux\" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--1vjqk2m\" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}}${({ noWrap }) => noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}`;\nexport const Footer = styled.tfoot.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--ob9m7j\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;\nexport const StickyHeaderWrapper = styled.div.withConfig({ displayName: \"vui--StickyHeaderWrapper\", componentId: \"vui--5eqa3f\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--48b34o\" }) ``;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nconst SpecificStateContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SpecificStateContainer\", componentId: \"vui--120wsfh\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;height:${(props) => props.height}px;background:white;`;\nconst EllipseContainer = styled(BaseContainer).withConfig({ displayName: \"vui--EllipseContainer\", componentId: \"vui--1khxo3q\" }) `display:flex;justify-content:center;align-items:center;width:120px;height:120px;border-radius:100px;background:${theme.colors.neutral.grey.base};svg{width:64px !important;height:64px !important;}`;\nconst TitleText = styled(Text).withConfig({ displayName: \"vui--TitleText\", componentId: \"vui--3cvjfj\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--mw0wkw\" }) `margin-top:8px;`;\nexport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText } from './styled';\nexport const SpecificState = ({ height, icon, title, subTitle }) => (React.createElement(SpecificStateContainer, { height: height },\n React.createElement(EllipseContainer, null, icon),\n React.createElement(TitleText, { variant: \"headingLarge\" }, title),\n subTitle && React.createElement(SubTitleText, { variant: \"subheadingMedium\" }, subTitle)));\n//# sourceMappingURL=SpecificState.js.map","/* eslint-disable import/prefer-default-export */\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const CellButton = styled.button.withConfig({ displayName: \"vui--CellButton\", componentId: \"vui--14e2rl4\" }) `appearance:none;border:0;background-color:transparent;font:inherit;display:inline-block;box-sizing:border-box;width:calc(100% + 1.5rem);margin:-0.75rem -0.75rem;padding:0.75rem 0.75rem;text-align:inherit;line-height:${theme.sizes.base};border-radius:${theme.radius.base};&:hover{cursor:pointer;background-color:${theme.colors.secondary.blue.lightest};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst ClickableButton = styled(CellButton).withConfig({ displayName: \"vui--ClickableButton\", componentId: \"vui--1qfw372\" }) `color:${theme.text.link.color};text-decoration:${theme.text.link.textDecoration};`;\nexport const ClickableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(ClickableButton, { onClick: onClick }, children)));\n};\n//# sourceMappingURL=ClickableCell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--1fqu167\" }) `text-align:inherit;border-bottom:1px dotted black;`;\nexport const EditableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(CellButton, { onClick: onClick },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=EditableCell.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst { grey } = theme.colors.neutral;\nconst SkeletonContentWrapper = styled.div.withConfig({ displayName: \"vui--SkeletonContentWrapper\", componentId: \"vui--q4n9vc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--yfc89o\" }) `display:inline-block;color:transparent;border-radius:4px;animation-duration:${({ isLoading = true }) => (isLoading ? '1s' : 0)};animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(to right, ${grey.base} 8%, ${grey.dark} 15%, ${grey.base} 33%);background-size:800px 104px;border:0;width:100%;height:100%;@keyframes placeHolderShimmer{0%{background-position:-380px 0;}100%{background-position:380px 0;}}`;\nexport const SkeletonContent = ({ isLoading, style }) => (React.createElement(SkeletonContentWrapper, { style: style },\n React.createElement(SkeletonContentComponent, { isLoading: isLoading })));\n//# sourceMappingURL=SkeletonContent.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Cell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonCell = (_a) => {\n var { style } = _a, otherProps = __rest(_a, [\"style\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(SkeletonContent, { style: style })));\n};\nSkeletonCell.defaultProps = {\n style: {},\n};\n//# sourceMappingURL=SkeletonCell.js.map","import { useCallback, useEffect, useState } from 'react';\nexport const useStickyHeader = (tableRef, topOffset) => {\n const [isSticky, setIsSticky] = useState(false);\n const handleScrollChange = useCallback(({ top, bottom }) => {\n let sticky = isSticky;\n if (top <= (topOffset || 0) && bottom > 0) {\n sticky = !isSticky ? true : sticky;\n }\n else {\n sticky = isSticky ? false : sticky;\n }\n if (sticky !== isSticky)\n setIsSticky(sticky);\n }, [isSticky, topOffset]);\n useEffect(() => {\n const onScroll = () => {\n var _a;\n if (tableRef.current) {\n handleScrollChange((_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect());\n }\n };\n window.addEventListener('scroll', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [handleScrollChange, tableRef]);\n return { isSticky };\n};\n//# sourceMappingURL=hooks.js.map","import React, { useState } from 'react';\nimport { useScroll } from 'react-use';\nimport { FakeHeaderTable, StickyHeaderWrapper } from './styled';\nimport { useStickyHeader } from './utils/hooks';\nexport const StickyHeader = ({ renderHeader, tableRef, wrapperRef, isFixedLayout, wrapperStyle, }) => {\n var _a;\n const [headerWrapperRef, setHeaderWrapperRef] = useState(null);\n const { isSticky } = useStickyHeader(tableRef, parseInt(typeof (wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top) === 'string' ? wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top : `${wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top}`, 10));\n // here we use 2, because we also have borders on each side by 1 px\n const wrapperWidth = (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0) - 2;\n // we use it just to re-render header to update scroll\n // so we don't need to get any value from this hook\n useScroll(wrapperRef);\n const updateScroll = (ref) => {\n var _a;\n const scrollLeft = ((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0;\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.scrollLeft = scrollLeft;\n return;\n }\n if (headerWrapperRef)\n headerWrapperRef.scrollLeft = scrollLeft;\n };\n updateScroll();\n return isSticky ? (React.createElement(StickyHeaderWrapper, { ref: (ref) => {\n setHeaderWrapperRef(ref);\n updateScroll(ref);\n }, style: Object.assign({ width: wrapperWidth }, wrapperStyle) },\n React.createElement(FakeHeaderTable, { style: { tableLayout: isFixedLayout ? 'fixed' : 'auto' } }, renderHeader()))) : null;\n};\n//# sourceMappingURL=StickyHeader.js.map","export const convertFixedColumnInlineStyleToStyled = (fixedColumnsStyle) => {\n const styles = [];\n fixedColumnsStyle.forEach(({ index, style }) => styles.push(`\n > td:${style.left !== undefined ? 'nth-child' : 'nth-last-child'}(${Math.abs(index)}) {\n position: sticky;\n ${style.left !== undefined ? 'left' : 'right'}: ${style.left !== undefined ? style.left : style.right}px;\n z-index: ${style.zIndex};\n }\n `));\n return styles.join('\\n\\n');\n};\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { HeaderCell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonHeaderCell = (_a) => {\n var { style, width, isLoading } = _a, otherProps = __rest(_a, [\"style\", \"width\", \"isLoading\"]);\n return (React.createElement(HeaderCell, Object.assign({}, otherProps, { style: { width } }),\n React.createElement(SkeletonContent, { style: style, isLoading: isLoading })));\n};\n//# sourceMappingURL=SkeletonHeaderCell.js.map","import React from 'react';\nexport const DoubleArrowAscIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#959FA8\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#0079D1\" })));\n//# sourceMappingURL=DoubleArrowAscIcon.js.map","import React from 'react';\nexport const DoubleArrowDescIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#0079D1\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#959FA8\" })));\n//# sourceMappingURL=DoubleArrowDescIcon.js.map","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { Checkbox } from '../Checkbox';\nimport { Radio } from '../Radio';\nimport { Tooltip } from '../Tooltip';\nimport { theme } from '../../theme';\nimport { Wrapper, WrapperBordered, Table, Head, Body, Row, Cell, HeaderCell, HeaderCellLayout, Footer, TooltipContent, } from './styled';\nimport { SpecificState } from './SpecificState';\nimport { ClickableCell, EditableCell } from './cells';\nimport { SkeletonCell } from './cells/SkeletonCell';\nimport { defaultEmptyState, defaultErrorState, ScrollPosition } from './utils/constants';\nimport { StickyHeader } from './StickyHeader';\nimport { convertFixedColumnInlineStyleToStyled } from './utils';\nimport { SkeletonHeaderCell } from './cells/SkeletonHeaderCell';\nimport { SkeletonContent } from './SkeletonContent';\nimport { DoubleArrowIcon } from '../../tempIcons/DoubleArrowIconIcon';\nimport { DoubleArrowAscIcon } from '../../tempIcons/DoubleArrowAscIcon';\nimport { DoubleArrowDescIcon } from '../../tempIcons/DoubleArrowDescIcon';\nexport const IconUnsorted = () => (React.createElement(DoubleArrowIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortAsc = () => (React.createElement(DoubleArrowAscIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortDesc = () => (React.createElement(DoubleArrowDescIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\n/**\n * @deprecated\n *\n * Use DataTable instead\n */\nexport const LegacyDataTable = ({ borderless = false, striped = true, noWrap = false, showScrollbar = false, headers, rows, renderRow, renderNestedRow, expandedRowIds, renderLoadingRow, renderFooterRow, renderFooterLoadingRow, omitFooterSelectionCell = false, selectedRowIds, disabledSelectionInputRowIds, selectionMode = 'multiple', onChangeSelectedRowIds, sortColumnId, sortDirection, onChangeSort, isError = false, isLoading = false, skeletonRowsNumber = 5, isHeaderSticky = true, stickyHeaderStyle, customSpecificState, bodyHeightInSpecificStates = 375, startFixedColumnsNumber, endFixedColumnsNumber, }) => {\n const WrapperComponent = borderless ? Wrapper : WrapperBordered;\n const isEmpty = rows ? rows.length === 0 : false;\n const isFixedLayout = Boolean(startFixedColumnsNumber || endFixedColumnsNumber);\n const isFixedColumnsNotEnabled = !startFixedColumnsNumber && !endFixedColumnsNumber;\n const tableRef = useRef(null);\n const wrapperRef = useRef(null);\n const selectionColumnWidth = 58;\n const [scrollPosition, setScrollPosition] = useState(ScrollPosition.none);\n useEffect(() => {\n var _a;\n let refValue = null;\n const handleScroll = () => {\n if (!wrapperRef.current || isFixedColumnsNotEnabled)\n return;\n const el = wrapperRef.current;\n const scrollWidth = el.scrollWidth + 2; // 2 here is 2px which adds by border\n const { scrollLeft } = el;\n const { width } = el.getBoundingClientRect();\n const scrollValue = scrollLeft + width;\n if (scrollWidth === width)\n setScrollPosition(ScrollPosition.none);\n else if (scrollLeft === 0)\n setScrollPosition(ScrollPosition.start);\n else if (scrollLeft > 0 && scrollValue < scrollWidth)\n setScrollPosition(ScrollPosition.middle);\n else if (scrollValue === scrollWidth)\n setScrollPosition(ScrollPosition.end);\n };\n if (wrapperRef.current) {\n refValue = wrapperRef.current;\n handleScroll();\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll);\n }\n return () => {\n refValue === null || refValue === void 0 ? void 0 : refValue.removeEventListener('scroll', handleScroll);\n };\n }, [tableRef, isFixedColumnsNotEnabled]);\n const castWidthToNumber = useCallback((width) => {\n if (typeof width === 'string') {\n // eslint-disable-next-line no-console\n console.error(\"You can only use a numeric value in the 'width' property when you use fixed columns\");\n return null;\n }\n if (width === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"You should provide numeric value in the 'width' attribute in all fixed columns when you use fixed columns\");\n return null;\n }\n return width;\n }, []);\n const generateFixedColumnInlineStyle = useCallback((index, offset, side) => ({\n index: side === 'left' ? index : -index,\n style: {\n position: 'sticky',\n [side]: offset,\n zIndex: 1,\n },\n }), []);\n const generateFixedColumnsStyle = useCallback(() => {\n if (!headers || isLoading)\n return null;\n const startColumns = [];\n const endColumns = [];\n let totalStartOffset = 0;\n let totalEndOffset = 0;\n if (startFixedColumnsNumber) {\n if (selectedRowIds) {\n startColumns.push(generateFixedColumnInlineStyle(1, totalStartOffset, 'left'));\n totalStartOffset += selectionColumnWidth;\n }\n for (let i = 0; i < startFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers[i].width);\n if (headerWidth) {\n startColumns.push(generateFixedColumnInlineStyle(selectedRowIds ? i + 2 : i + 1, totalStartOffset, 'left'));\n totalStartOffset += headerWidth;\n }\n }\n }\n if (endFixedColumnsNumber) {\n for (let i = 0; i < endFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers.slice(-i - 1)[0].width);\n if (headerWidth) {\n endColumns.push(generateFixedColumnInlineStyle(i + 1, totalEndOffset, 'right'));\n totalEndOffset += headerWidth;\n }\n }\n }\n if (startColumns.length === 0 && endColumns.length === 0)\n return null;\n return [...startColumns, ...endColumns];\n }, [\n isLoading,\n castWidthToNumber,\n endFixedColumnsNumber,\n generateFixedColumnInlineStyle,\n headers,\n startFixedColumnsNumber,\n selectedRowIds,\n ]);\n const fixedColumnsStyle = useMemo(() => generateFixedColumnsStyle(), [generateFixedColumnsStyle]);\n const handleSelectRow = useCallback((checked, row) => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (checked) {\n if (selectionMode === 'single') {\n onChangeSelectedRowIds([row.id]);\n return;\n }\n onChangeSelectedRowIds([...selectedRowIds, row.id]);\n return;\n }\n const newSelectedRowIds = [...selectedRowIds];\n const index = newSelectedRowIds.findIndex((id) => id === row.id);\n newSelectedRowIds.splice(index, 1);\n onChangeSelectedRowIds(newSelectedRowIds);\n }, [onChangeSelectedRowIds, selectedRowIds, selectionMode]);\n const handleSelectAll = useCallback(() => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (selectedRowIds.length === rows.length) {\n onChangeSelectedRowIds([]);\n return;\n }\n const rowIds = rows.map((row) => row.id);\n onChangeSelectedRowIds(rowIds);\n }, [onChangeSelectedRowIds, rows, selectedRowIds]);\n const handleClickSortableHeader = useCallback((columnId) => {\n if (sortColumnId === undefined || onChangeSort === undefined)\n return;\n let nextColumnId = sortColumnId;\n let nextDirection = 'ascending';\n if (sortDirection === 'ascending') {\n nextDirection = 'descending';\n }\n if (columnId !== sortColumnId) {\n nextColumnId = columnId;\n nextDirection = 'ascending';\n }\n onChangeSort(nextColumnId, nextDirection);\n }, [onChangeSort, sortColumnId, sortDirection]);\n const renderHeaderCell = useCallback((header, style) => {\n let className = '';\n let onClick = () => { };\n let sortIcon = React.createElement(IconUnsorted, null);\n const { tooltip, align, icon, title, sortable, id } = header;\n if (sortable) {\n className = 'sortable';\n onClick = () => handleClickSortableHeader(id);\n if (sortColumnId === id) {\n sortIcon = sortDirection === 'ascending' ? React.createElement(IconSortAsc, null) : React.createElement(IconSortDesc, null);\n }\n }\n const headerContents = (React.createElement(HeaderCellLayout, { align: align },\n icon && icon,\n title && React.createElement(\"span\", null, title),\n sortable && sortIcon));\n return (React.createElement(HeaderCell, { key: id, id: `data-table-header-${id}`, className: className, onClick: onClick, align: header.align, grow: header.grow, style: Object.assign({ width: header.width || 'auto' }, style) }, tooltip ? (React.createElement(Tooltip, { text: tooltip },\n React.createElement(TooltipContent, null, headerContents))) : (headerContents)));\n }, [handleClickSortableHeader, sortColumnId, sortDirection]);\n const renderSkeletonHeaderCell = useCallback((header, style) => (React.createElement(SkeletonHeaderCell, { key: header.id, width: header.width || 'auto', style: style, isLoading: isLoading })), [isLoading]);\n const renderHeader = useCallback(() => {\n if (!headers)\n return null;\n const styles = generateFixedColumnsStyle();\n const selectionCellStyle = styles ? styles[0].style : {};\n return (React.createElement(Head, null,\n React.createElement(Row, null,\n selectedRowIds && (React.createElement(HeaderCell, { style: Object.assign({ width: selectionColumnWidth }, selectionCellStyle) }, selectionMode === 'multiple' && (React.createElement(Checkbox, { checked: (rows.length > 0 && (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.length) === rows.length) || false, onChange: handleSelectAll, disabled: (disabledSelectionInputRowIds && disabledSelectionInputRowIds.length > 0) ||\n isLoading ||\n isEmpty, ariaLabel: \"Select all\" })))),\n headers.map((header, index) => {\n const startHeaderIndex = selectedRowIds ? index + 2 : index + 1;\n const endHeaderIndex = index - headers.length;\n const headerCellStyle = styles === null || styles === void 0 ? void 0 : styles.find((style) => style.index === startHeaderIndex || style.index === endHeaderIndex);\n return header.skeleton && (isLoading || isError || isEmpty)\n ? renderSkeletonHeaderCell(header, header.skeletonStyle || {})\n : renderHeaderCell(header, (headerCellStyle === null || headerCellStyle === void 0 ? void 0 : headerCellStyle.style) || {});\n }))));\n }, [\n generateFixedColumnsStyle,\n handleSelectAll,\n headers,\n isEmpty,\n isError,\n isLoading,\n renderSkeletonHeaderCell,\n renderHeaderCell,\n rows.length,\n selectedRowIds,\n selectionMode,\n disabledSelectionInputRowIds,\n ]);\n const renderSelectionInput = useCallback((isSelected, row) => {\n const inputProps = {\n checked: isSelected,\n onChange: (checked) => handleSelectRow(checked, row),\n disabled: (disabledSelectionInputRowIds === null || disabledSelectionInputRowIds === void 0 ? void 0 : disabledSelectionInputRowIds.includes(row.id)) || false,\n };\n if (selectionMode === 'single') {\n return React.createElement(Radio, Object.assign({}, inputProps));\n }\n return React.createElement(Checkbox, Object.assign({}, inputProps));\n }, [handleSelectRow, selectionMode, disabledSelectionInputRowIds]);\n const renderSkeletonSelectionInput = useCallback((rowIndex) => {\n const generalStyle = {\n width: 18,\n height: 18,\n margin: 3,\n animationDuration: '0s',\n };\n if (selectionMode === 'single') {\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `radio-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '50%' }) }));\n }\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `checkbox-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '0.25rem' }) }));\n }, [selectionMode]);\n const getNestedRow = useCallback((nestedRow, isHidden) => {\n var _a, _b;\n if (!renderNestedRow)\n return null;\n const content = renderNestedRow(nestedRow);\n if (!content)\n return null;\n const nestedRowE2eClassName = ((_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) || '';\n return (React.createElement(Row, { key: nestedRow.id, className: `${nestedRowE2eClassName} ${isHidden ? 'hidden' : ''}` },\n selectedRowIds && React.createElement(Cell, null),\n content));\n }, [renderNestedRow, selectedRowIds]);\n const renderDefaultLoadingRow = useCallback((rowIndex) => {\n if (!headers)\n return React.createElement(SkeletonCell, null);\n // Otherwise render a cell for each column\n const cells = headers.map((header) => React.createElement(SkeletonCell, { key: `${rowIndex}-${header.id}` }));\n if (selectedRowIds)\n cells.unshift(renderSkeletonSelectionInput(rowIndex));\n return cells;\n }, [headers, renderSkeletonSelectionInput, selectedRowIds]);\n const getFooter = () => {\n if (!renderFooterRow)\n return null;\n if (isLoading && !renderFooterLoadingRow)\n return null;\n if (!isLoading && isEmpty)\n return null;\n return (React.createElement(Footer, { fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null,\n selectedRowIds && !omitFooterSelectionCell && React.createElement(Cell, null),\n !isLoading && renderFooterRow(rows),\n isLoading && renderFooterLoadingRow && renderFooterLoadingRow())));\n };\n let lastStartFixedColumnsIndex = startFixedColumnsNumber;\n if (selectedRowIds && lastStartFixedColumnsIndex)\n lastStartFixedColumnsIndex += 1;\n const renderedRows = useMemo(() => rows.map((row) => {\n var _a, _b, _c;\n const { data } = row;\n const isSelected = selectedRowIds ? selectedRowIds.includes(row.id) : false;\n const isExpanded = expandedRowIds ? expandedRowIds.includes(row.id) : true;\n const bodyClassName = (_a = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _a === void 0 ? void 0 : _a.body;\n const rowE2eClassName = (_c = (_b = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) !== null && _c !== void 0 ? _c : '';\n const rowClassName = isSelected ? `selected ${rowE2eClassName}` : `${rowE2eClassName}`;\n return (React.createElement(Body, { key: row.id, className: bodyClassName, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, { key: row.id, className: rowClassName, accentColor: row.accentColor },\n selectedRowIds && React.createElement(Cell, null, renderSelectionInput(isSelected, row)),\n renderRow(row)),\n row.nestedRows && row.nestedRows.map((item) => getNestedRow(item, !isExpanded))));\n }), [\n rows,\n expandedRowIds,\n fixedColumnsStyle,\n getNestedRow,\n renderRow,\n renderSelectionInput,\n selectedRowIds,\n ]);\n /* Loading state */\n if (isLoading) {\n const loadingRows = [];\n for (let i = 0; i < skeletonRowsNumber; i += 1) {\n loadingRows.push(React.createElement(Body, { key: `loading-row-${i}`, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null, renderLoadingRow ? (React.createElement(React.Fragment, null,\n selectedRowIds && renderSkeletonSelectionInput(),\n renderLoadingRow())) : (renderDefaultLoadingRow(i)))));\n }\n return (React.createElement(WrapperComponent, { ref: wrapperRef, scrollDisabled: true, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: true, isFixedLayout: isFixedLayout },\n renderHeader(),\n loadingRows,\n getFooter())));\n }\n /* Empty & Error states */\n if (isEmpty || isError) {\n let specificStateValues = defaultEmptyState;\n if (customSpecificState)\n specificStateValues = customSpecificState;\n else if (isError)\n specificStateValues = defaultErrorState;\n return (React.createElement(WrapperComponent, { scrollDisabled: true },\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n getFooter()),\n React.createElement(SpecificState, Object.assign({ height: bodyHeightInSpecificStates }, specificStateValues))));\n }\n /* Populated state */\n return (React.createElement(WrapperComponent, { scrollDisabled: false, ref: wrapperRef, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber, showScrollbar: showScrollbar },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n renderedRows,\n getFooter())));\n};\nLegacyDataTable.Cell = Cell;\nLegacyDataTable.ClickableCell = ClickableCell;\nLegacyDataTable.EditableCell = EditableCell;\nLegacyDataTable.SkeletonCell = SkeletonCell;\nLegacyDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=LegacyDataTable.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--wl2n5a\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--or7d\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--hfuefb\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nconst { sizes, text, shadows } = theme;\nconst { grey } = theme.colors.neutral;\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--q2h2v8\" }) `padding:${sizes.base} ${sizes.md};background-color:white;box-shadow:${({ shadow }) => shadow !== 'none' && shadows[shadow]};`;\nexport const Title = styled.h1.withConfig({ displayName: \"vui--Title\", componentId: \"vui--7ymyy4\" }) `font-family:${text.headingXL.fontFamily};font-size:${text.headingXL.fontSize};font-weight:${text.headingXL.fontWeight};margin:unset;line-height:1;`;\nexport const Subtitle = styled.p.withConfig({ displayName: \"vui--Subtitle\", componentId: \"vui--1veavxl\" }) `margin:0.75rem 0 0;font-family:${text.subheadingLarge.fontFamily};font-weight:${text.subheadingLarge.fontWeight};font-size:${text.subheadingLarge.fontSize};line-height:${text.subheadingLarge.lineHeight};`;\nexport const Image = styled.img.withConfig({ displayName: \"vui--Image\", componentId: \"vui--1fntac3\" }) `border-radius:${theme.radius.base};border:${sizes.line} solid ${grey.base};object-fit:cover;`;\nexport const ActionsContainer = styled.div.withConfig({ displayName: \"vui--ActionsContainer\", componentId: \"vui--4ms240\" }) `height:100%;display:grid;grid-template-rows:1fr auto;gap:1rem;`;\nexport const SidebarToggleButton = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--SidebarToggleButton\", componentId: \"vui--1e4sfso\" }) `display:flex;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};color:${theme.text.link.color};&:hover{text-decoration:${theme.text.link.textDecoration};}& > * + *{margin-left:${theme.sizes.xs};}`;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--498dtg\" }) `width:100%;display:grid;grid-template-columns:1fr minmax(312px, auto);align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nexport const PageLimitContainer = styled(Stack).withConfig({ displayName: \"vui--PageLimitContainer\", componentId: \"vui--1psd9g8\" }) `width:${theme.sizes.lg};height:30px;background-color:${theme.colors.neutral.grey.light};border:1px solid ${theme.colors.neutral.grey.base};border-radius:${theme.sizes.xs};`;\nexport const PaginationButton = styled(Button).withConfig({ displayName: \"vui--PaginationButton\", componentId: \"vui--oolvks\" }) `color:${theme.colors.neutral.ink.base};width:32px;height:32px;svg{width:24px;height:24px;}`;\nexport const PageInput = styled(TextField).withConfig({ displayName: \"vui--PageInput\", componentId: \"vui--jjraff\" }) `&[type='number']{width:5.5ch;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { PageLimitContainer } from './styled';\nexport const PageCount = ({ count }) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", null,\n React.createElement(Text, { variant: \"bodySmall\", \"aria-hidden\": true }, \"/\")),\n React.createElement(PageLimitContainer, { alignX: \"center\", alignY: \"center\", \"aria-hidden\": true },\n React.createElement(Text, { variant: \"bodySmall\" }, count))));\n//# sourceMappingURL=components.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to handle pagination state.\n */\nexport const usePagination = ({ currentPage, totalPagesCount, handleChangePage, }) => {\n const [pageInputValue, setPageInputValue] = useState(`${currentPage}`);\n /**\n * When a new value is passed into the component we update the local state, meaning the input\n * value gets updated.\n */\n useEffect(() => {\n setPageInputValue(`${currentPage}`);\n }, [currentPage]);\n const validatePageValue = (value) => value >= 1 && value <= totalPagesCount;\n const checkAndSetLocalPage = (newPage) => {\n if (validatePageValue(newPage))\n setPageInputValue(`${newPage}`);\n };\n /**\n * A function to handle changes to the input, a string will be passed int. We check for an empty\n * string and directly set that, otherwise we validate the input number is within range.\n * @param newValue The new string input value.\n */\n const handleInputChange = (newValue) => {\n if (!newValue)\n setPageInputValue(newValue);\n const intValue = parseInt(newValue, 10);\n checkAndSetLocalPage(intValue);\n };\n /**\n * A function to increment the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleIncrement = () => {\n if (validatePageValue(currentPage + 1))\n handleChangePage(currentPage + 1);\n };\n /**\n * A function to decrement the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleDecrement = () => {\n if (validatePageValue(currentPage - 1))\n handleChangePage(currentPage - 1);\n };\n /**\n * When the input is unfocussed we want to update parent or local state depending on 3 cases:\n * 1. Local page input is '', reset it to the currentPage\n * 2. Local page input is the same as passed by prop, catch and do nothing.\n * 3. Local state has a new value, convert it, validate it and potentially send to parent via\n * `handlePageChange`\n */\n const handleSubmit = () => {\n if (!pageInputValue)\n setPageInputValue(`${currentPage}`);\n if (pageInputValue === `${currentPage}`)\n return;\n const newValue = parseInt(pageInputValue, 10);\n if (validatePageValue(newValue))\n handleChangePage(newValue);\n };\n /**\n * When the user submits the form, either pressing enter or a screenreader shortcut we prevent\n * default action and try and send update.\n * @param event The event fired from the form when submitting.\n */\n const handleFormSubmit = (event) => {\n event.preventDefault();\n handleSubmit();\n };\n return {\n pageInputValue,\n handleIncrement,\n handleDecrement,\n handleInputChange,\n handleSubmit,\n handleFormSubmit,\n };\n};\n//# sourceMappingURL=usePagination.js.map","import React from 'react';\nexport const StartArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11.6434 11.06L8.59004 8L11.6434 4.94L10.7034 4L6.70337 8L10.7034 12L11.6434 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.37004 12L4.37004 4L5.70337 4L5.70337 12L4.37004 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=StartArrowIcon.js.map","import React from 'react';\nexport const EndArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.33661 11.06L7.38994 8L4.33661 4.94L5.27661 4L9.27661 8L5.27661 12L4.33661 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.67 4L11.67 12L10.3367 12L10.3367 4L11.67 4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EndArrowIcon.js.map","export const paginationDefaultRangeList = [\n { label: '10 / page', value: 10 },\n { label: '25 / page', value: 25 },\n { label: '50 / page', value: 50 },\n { label: '100 / page', value: 100 },\n];\n//# sourceMappingURL=paginationList.js.map","import styled from 'styled-components';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { colors } from '../../theme/modules/colors';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1t222e4\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst Dropdown = styled(AnimatedDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--6y6o6p\" }) `&-container{width:100%;}`;\nconst Button = styled.button.withConfig({ displayName: \"vui--Button\", componentId: \"vui--6l6anz\" }) `width:100%;height:32px;padding:6px 8px 8px 8px;display:flex;border:1px solid ${colors.neutral.grey.base};box-sizing:border-box;border-radius:4px;justify-content:space-between;background:white;cursor:pointer;svg{padding-left:8px;padding-top:2px;}`;\nexport { Container, Dropdown, Button, Text };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { colors } from '../../../../theme/modules/colors';\nimport { Text } from '../../../Text';\nimport { BaseContainer } from '../../../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--33jbzi\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1oky5qu\" }) `width:100%;padding:8px 16px;cursor:pointer;&:hover{color:${colors.secondary.blue.base};background:${colors.neutral.grey.lightest};}`;\nexport { StyledText as Text, Container };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { Container, Text } from './styled';\nexport const Item = ({ item, handleRangeListChange }) => {\n const onClick = useCallback(() => handleRangeListChange(item), [handleRangeListChange, item]);\n return (React.createElement(Container, { onClick: onClick },\n React.createElement(Text, { variant: \"bodySmall\" }, item.label)));\n};\n//# sourceMappingURL=Item.js.map","import React, { Fragment } from 'react';\nimport { paginationDefaultRangeList } from '../../../utils/paginationList';\nimport { Item } from './Item';\nexport const Items = (props) => {\n const { handleRangeListChange, paginationRange = paginationDefaultRangeList } = props;\n return (React.createElement(React.Fragment, null, paginationRange.map((item) => (React.createElement(Fragment, { key: item.label },\n React.createElement(Item, { item: item, handleRangeListChange: handleRangeListChange }))))));\n};\n//# sourceMappingURL=Items.js.map","import React, { Component } from 'react';\nimport { paginationDefaultRangeList } from '../../utils/paginationList';\nimport { theme } from '../../theme';\nimport { Container, Dropdown, Button, Text } from './styled';\nimport { Items } from './Items';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nexport class PaginationRange extends Component {\n constructor(props) {\n super(props);\n this.handleRangeListChange = (item) => {\n const { onPaginationRangeChange } = this.props;\n this.setDropdownValue(item);\n onPaginationRangeChange(item);\n };\n this.setDropdownValue = (currentValue) => this.setState({\n shouldShowDropdown: false,\n dropdownValue: currentValue,\n });\n this.toggleShouldShow = () => {\n const { shouldShowDropdown } = this.state;\n this.setState({ shouldShowDropdown: !shouldShowDropdown });\n };\n const { dropdownValue = paginationDefaultRangeList[1] } = this.props;\n this.state = {\n dropdownValue,\n shouldShowDropdown: false,\n };\n }\n render() {\n const { className, paginationRange = paginationDefaultRangeList, reversedDropdown, } = this.props;\n const { shouldShowDropdown, dropdownValue } = this.state;\n return (React.createElement(Container, { className: className },\n React.createElement(Dropdown, { cta: React.createElement(Button, { onClick: this.toggleShouldShow },\n React.createElement(Text, { variant: \"bodySmall\" }, dropdownValue.label),\n React.createElement(DropdownIcon, { color: theme.colors.neutral.ink.base })), shouldShowDropdown: shouldShowDropdown, onClickAway: this.toggleShouldShow, reversed: reversedDropdown },\n React.createElement(Items, { paginationRange: paginationRange, handleRangeListChange: this.handleRangeListChange }))));\n }\n}\n//# sourceMappingURL=PaginationRange.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1kqph75\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--1myicuk\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--bdxre8\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--1pz53n4\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--1n3xr2g\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--1sahwox\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--1jvzatv\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--12eib7v\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--g7dno3\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--mxpi9o\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:focus,:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}}> .veeqo-components-active-button{:focus,:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1h93380\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--1qepc31\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--g9tnvb\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--50l9ot\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--1o4t01c\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--k7q8ax\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--25ejag\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--s5qrf0\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--pvw1wx\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--19twtgm\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--1vb0w08\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--qsag0v\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--qrqt2g\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--f5gjtj\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--n3gc7q\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--12f8l37\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1qgwlso\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--10ka3tn\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1f7rwsl\" }) `&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.label.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--16c93z6\" }) `display:inline-block;position:relative;cursor:${({ disabled }) => (disabled ? 'default' : 'pointer')};height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--13u3unt\" }) `cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\n/**\n * A toggle switch component, use-cases should wrap with a label or\n */\nexport const Toggle = forwardRef(({ id, className, name, switched, small, onClick = () => { }, disabled, ariaLabel }, ref) => (React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, role: \"switch\" },\n React.createElement(Input, { id: id, type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: disabled ? undefined : onClick, disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n//# sourceMappingURL=Toggle.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--xt3hiw\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--5gocp5\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--p8qe4b\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1u28do5\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--ohq9qo\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--55zou\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--2rc7ks\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--m1gs4v\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--1ilv3bg\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--b8oq7f\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;${({ colourPalette, customTextColour }) => `\n &:hover {\n border: 1px solid ${colourPalette.base};\n background-color: ${colourPalette.lightest};\n }\n\n ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.lightest};\n `}`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1xuhw17\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--122jw7g\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const EditIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3 18.0418V21.9996H6.95778L18.6306 10.3273L14.6728 6.36952L3 18.0418ZM21.6913 7.2661C22.1029 6.85501 22.1029 6.19011 21.6913 5.7785L19.2216 3.30831C18.81 2.89723 18.1451 2.89723 17.7335 3.30831L15.8021 5.23971L19.7599 9.19749L21.6913 7.2661Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EditIcon.js.map","import React, { useCallback } from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTypes } from './types';\nimport { Container, Contour, CounterContainer, CounterText, CustomIconWrapper, IconStyling, Text, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const View = ({ id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, onDelete, onEdit, e2eClassName, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const handleClick = useCallback(() => onClick(id), [id, onClick]);\n const handleDelete = useCallback((event) => {\n event.stopPropagation();\n if (onDelete)\n onDelete(id);\n }, [onDelete, id]);\n const handleEdit = useCallback((event) => {\n event.stopPropagation();\n if (onEdit)\n onEdit(id);\n }, [onEdit, id]);\n const isDraft = type === ViewTypes.draft;\n const isSaved = type === ViewTypes.saved;\n const fill = active ? colors.neutral.ink.dark : colors.neutral.ink.base;\n return (React.createElement(Container, { className: `${buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container])} ${(active && (e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.active)) || ''}`, onClick: handleClick },\n React.createElement(Contour, { active: active, onMouseEnter: handleEnter, onMouseLeave: handleLeave, colourPalette: colourPalette, customTextColour: customTextColour },\n iconSlot && React.createElement(CustomIconWrapper, null, iconSlot),\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count && (React.createElement(CounterContainer, { active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.counter, variant: \"subheadingSmall\" }, count))),\n isDraft && (React.createElement(CrossIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.delete, onClick: handleDelete }))),\n isSaved && active && (React.createElement(EditIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.edit, onClick: handleEdit }))))));\n};\n//# sourceMappingURL=View.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--zood5u\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--f0y2wt\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1l16g0h\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--wvwega\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"ounce\", type: \"number\", value: rest.pound, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"pound\", type: \"number\", value: rest.ounce, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { motion } from 'framer-motion';\nimport { Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, AccordionSummary, } from './styled';\nimport { colors } from '../../theme/modules/colors';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Accordion = ({ className, children, label, iconSlot, glyphColor = colors.neutral.ink.lightest, timeout = 350, description, shouldOpenOnMount, }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(AccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: \"body\" }, label)),\n React.createElement(Right, null,\n React.createElement(motion.span, { animate: {\n rotate: shouldOpen ? 180 : 0,\n } },\n React.createElement(UpArrowIcon, { name: shouldOpen ? 'downArrow' : 'upArrow' })))),\n !!description && React.createElement(Description, { variant: \"hintText\" }, description)),\n shouldOpen && (React.createElement(AccordionContent, { initial: { opacity: 0 }, exit: { opacity: 0 }, animate: { opacity: 1 }, transition: { from: 0, type: 'tween', duration: timeout / 1000 } }, children))));\n};\n//# sourceMappingURL=Accordion.js.map","import React from 'react';\nimport { CommonAnchor } from './styled';\nexport const Anchor = ({ children, className, text, href, target }) => (React.createElement(CommonAnchor, { href: href, target: target, className: className }, children || text));\n//# sourceMappingURL=Anchor.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { ActionList } from '../ActionList';\nimport { Button } from '../Button';\nimport { Header, Title, Subtitle, Image, ActionsContainer, SidebarToggleButton, ColumnGrid, } from './styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const PageHeader = ({ title, subtitle, imageSrc, actions, quickActions, backAction, Accessory, shadow = 'none', onClickPrevious, onClickNext, onClickToggleSidebar, }) => {\n const actionsMarkup = actions && (React.createElement(ActionList, { buttonVariant: !quickActions ? 'primary' : 'default', title: \"Actions\", sections: actions }));\n const quickActionsMarkup = quickActions === null || quickActions === void 0 ? void 0 : quickActions.map((action) => (React.createElement(Button, { key: action.title, variant: action.variant, icon: action.icon, onClick: action.onClick }, action.title)));\n const backActionMarkup = backAction && (React.createElement(Button, { onClick: backAction.onClick, icon: React.createElement(LeftArrowIcon, null), variant: \"link\" }, backAction.title));\n const toggleSidebarMarkup = onClickToggleSidebar && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\" },\n React.createElement(SidebarToggleButton, { onClick: onClickToggleSidebar },\n React.createElement(\"span\", null, \"Toggle sidebar\"),\n React.createElement(RightArrowIcon, { width: sizes.md }))));\n return (React.createElement(Header, { shadow: shadow },\n React.createElement(Stack, null,\n backActionMarkup,\n React.createElement(ColumnGrid, null,\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"md\" },\n imageSrc && React.createElement(Image, { src: imageSrc, alt: \"\", width: \"72\", height: \"72\" }),\n React.createElement(\"div\", { style: { flex: 1 } },\n React.createElement(Stack, { alignX: \"stretch\" },\n React.createElement(Title, null, title),\n Accessory,\n subtitle && React.createElement(Subtitle, null, subtitle)))),\n React.createElement(ActionsContainer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: \"sm\" },\n quickActionsMarkup,\n actionsMarkup,\n onClickPrevious && React.createElement(Button, { icon: React.createElement(LeftArrowIcon, null), onClick: onClickPrevious }),\n onClickNext && React.createElement(Button, { icon: React.createElement(RightArrowIcon, null), onClick: onClickNext })),\n toggleSidebarMarkup)))));\n};\n//# sourceMappingURL=PageHeader.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = ({ type = 'text', disabled = false, onClearClick, onChange, onBlur, onFocus, onKeyUp, onKeyDown, onKeyPress, value = '', error, placeholder = '', className = '', name, isLoading = false, fill, reversed = false, autoComplete = 'on', size = 'base', }) => {\n const shouldShowClear = value && value.length > 0;\n const renderIcon = () => {\n if (isLoading) {\n return React.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });\n }\n if (shouldShowClear && onClearClick) {\n return (React.createElement(Button, { variant: \"unstyled\", onClick: onClearClick, style: { display: 'flex' }, \"aria-label\": \"Clear text\" },\n React.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));\n }\n return (React.createElement(Button, { variant: \"unstyled\", onClick: () => onChange(value), style: { display: 'flex' }, \"aria-label\": \"Search\" },\n React.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));\n };\n return (React.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },\n React.createElement(Input, { size: size, type: type, value: value, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onKeyPress: onKeyPress, placeholder: placeholder, name: name, disabled: disabled, error: error, autoComplete: autoComplete }),\n React.createElement(IconContainer, null, renderIcon())));\n};\n//# sourceMappingURL=Search.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState } from 'react';\nexport function useNested() {\n const [expandedRowIds, setExpandedRowIds] = useState([]);\n // TODO: Memoise this\n const setExpanded = (expanded, rowId) => {\n if (!rowId)\n return;\n if (expanded) {\n // Add rowId to expandedRowIds\n if (expandedRowIds.includes(rowId))\n return;\n const rowIds = [...expandedRowIds, rowId];\n setExpandedRowIds(rowIds);\n }\n else {\n // Remove rowIds from expandedRowIds\n const index = expandedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...expandedRowIds];\n rowIds.splice(index, 1);\n setExpandedRowIds(rowIds);\n }\n };\n return {\n nestedTableProps: {\n expandedRowIds,\n setExpanded,\n },\n };\n}\n//# sourceMappingURL=useNested.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map"],"names":["BaseContainer","styled","default","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","__assign","t","s","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","_extends","bind","target","source","key","SuppressedError","process","env","NODE_ENV","reactIsModule","exports","b","Symbol","for","c","f","g","h","k","l","m","q","r","v","w","x","y","z","a","u","$$typeof","type","A","reactIs_production_min","AsyncMode","ConcurrentMode","ContextProvider","Element","ForwardRef","Fragment","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","require$$0","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","object","$$typeofType","ContextConsumer","Lazy","hasWarnedAboutDeprecatedIsAsyncMode","reactIs_development","console","isPortal","propIsEnumerable","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","map","join","test3","split","forEach","letter","keys","err","shouldUseNative","from","symbols","to","val","TypeError","toObject","ReactPropTypesSecret_1","has","Function","ReactIs","propTypesModule","require$$1","ReactPropTypesSecret","require$$2","require$$3","checkPropTypes","printWarning","loggedTypeFailures","message","Error","typeSpecs","values","location","componentName","getStack","typeSpecName","name","ex","stack","resetWarningCache","checkPropTypes_1","require$$4","emptyFunctionThatReturnsNull","factoryWithTypeCheckers","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","array","createPrimitiveTypeChecker","bigint","bool","func","number","string","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","propName","propFullName","PropTypeError","propValue","Array","isArray","getPropType","element","elementType","instanceOf","expectedClass","expectedClassName","constructor","node","isNode","objectOf","propType","oneOf","expectedValues","is","valuesString","JSON","stringify","getPreciseType","oneOfType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","data","push","expectedType","shape","shapeTypes","invalidValidatorError","exact","allKeys","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","secret","cacheKey","chainedCheckType","every","iteratorFn","maybeIterable","getIteratorFn","step","entries","next","done","entry","RegExp","isSymbol","Date","PropTypes","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","getShim","FOCUS_GROUP","FOCUS_DISABLED","useMergeRefs","refs","defaultValue","initialValue","callback","newValue","ref","current","assignRef","useState","facade","last","hiddenGuard","width","padding","overflow","position","top","left","ItoI","innerCreateMedium","defaults","middleware","buffer","assigned","read","useMedium","item","filter","assignSyncMedium","cb","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","createMedium","mediumFocus","_ref","currentTarget","mediumBlur","mediumEffect","mediumSidecar","options","medium","async","ssr","createSidecarMedium","emptyArray","FocusLock","forwardRef","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","useRef","isActive","originalFocusedElement","children","_props$disabled","disabled","_props$noFocusGuards","noFocusGuards","_props$persistentFocu","persistentFocus","_props$crossFrame","crossFrame","_props$autoFocus","autoFocus","allowTextSelection","group","className","whiteList","hasPositiveIndices","_props$shards","shards","_props$as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","_props$returnFocus","returnFocus","shouldReturnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","id","useCallback","document","activeElement","useEffect","allowDefer","returnFocusTo","focus","howToReturnFocus","returnFocusOptions","undefined","onFocus","event","onBlur","setObserveNode","newObserved","warn","constants.FOCUS_DISABLED","constants.FOCUS_GROUP","hasLeadingGuards","hasTailingGuards","mergedRef","tabIndex","style","propTypes","FocusLockUI","_setPrototypeOf","o","setPrototypeOf","__proto__","_typeof","_toPropertyKey","arg","input","hint","prim","toPrimitive","res","Number","toArray","ret","asArray","getFirst","getParentNode","parentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","window","getComputedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","cached","get","result","set","isAutoFocusAllowedCached","cache","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","dataset","isHTMLInputElement","tagName","isRadioElement","attribute","getAttribute","includes","isGuard","_a","Boolean","focusGuard","isNotAGuard","isDefined","tabSort","tabDiff","indexDiff","index","orderByTabIndex","nodes","filterNegative","keepGuards","sort","queryTabbables","queryGuardTabbables","concat","getFocusablesWithShadowDom","parent","withGuards","shadowRoot","reduce","acc","child","matches","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","HTMLIFrameElement","contentDocument","getFocusablesWithIFrame","querySelectorAll","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","Map","getTabbableNodes","topNodes","getFocusableNodes","parentAutofocusables","topNode","parentFocus","contains","scope","getPrototypeOf","some","iframeBody","getTopParent","getAllAffectedNodes","currentNode","contained","Set","j","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","add","DOCUMENT_POSITION_CONTAINS","_","filterNested","getActiveElement","inDocument","safeProbe","contentWindow","focusInside","ownerDocument","frame","focusInFrame","focusInsideIframe","correctNode","el","checked","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","Math","abs","pickAutofocus","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","autofocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","focusSolver","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","orderedInnerElements","entity","newId","focusNode","allParentAutofocusables","guardCount","lockDisabled","moveFocusInside","focusable","setTimeout","deferAction","action","isFreeFocus","focusIsHidden","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","end","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","checkInHost","check","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","area","withinHost","blur","newActiveElement","focusedIndex","_ref2","_ref3","removeAttribute","onTrap","stopPropagation","preventDefault","onWindowBlur","observerNode","FocusTrap","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","instance","obj","SideEffect","_PureComponent","subClass","superClass","create","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","splice","render","PureComponent","getDisplayName","toPropertyKey","defineProperty","enumerable","configurable","writable","withSideEffect","propsList","_ref5","traps","trap","slice","addEventListener","lastTrap","sameTrap","_ref6","removeEventListener","FocusLockCombination","excluded","sourceKeys","_objectWithoutPropertiesLoose","generateId","prefix","floor","random","super","portalNode","isMounted","rootElementRef","setAttribute","cssText","appendChild","setState","removeChild","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","hexToRgb","hex","hexTmp","replace","exec","parseInt","getOpaqueHexColor","opacity","rgb","Popover","passedId","placement","anchorElement","onShouldClose","disableFocusLock","dialogProps","popperElement","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","onClose","onClick","open","popper","onKeyDown","TailSpin","label","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","dur","repeatCount","cx","cy","Grid","begin","calcMode","ThreeDots","Loader","MainContent","hasText","loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","primary","destructive","primaryDestructive","flat","unstyled","Button","icon","dropdown","otherProps","VariantButton","hasChildren","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","ActionSlot","isCollapsed","onClickCollapse","onClickClose","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","HeaderActionSlot","collapsable","renderFooter","setIsCollapsed","headerMarkup","showBody","bodyMarkup","animate","variants","transition","duration","ease","footerMarkup","ListCard","SectionHeading","Item","itemMap","ActionList","items","sections","buttonVariant","buttonSize","setIsActive","anchorEl","setAnchorEl","renderItem","ItemComponent","handleClick","listItemMarkup","CommonAnchor","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","timeout","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Position","Sides","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","defaultConfig","side","TOP","triangleOffset","Tooltip","content","config","withTriangle","initialShouldShow","useReactPortal","trim","usedConfig","container","tip","wrap","triangle","hoverable","shouldShow","setShouldShow","hoverableElement","setHoverableElement","modifiers","show","hide","tooltipStyles","tooltipMarkup","triangleOffsetSize","ReactDOM","BaseBadge","hideBorder","warning","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","href","DefaultSeparator","DefaultLink","BreadcrumbText","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","BorderedWrapper","BlockTooltip","HelpIcon","Choice","bordered","Badge","Accessory","contentMarkup","htmlFor","Input","Checkbox","indeterminate","ariaLabel","onChange","checkboxRef","handleChange","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","SuccessIcon","ClipboardIcon","iconSizes","XSButton","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","cell","getBoundingClientRect","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","rowId","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","column","renderCell","row","actions","rowState","setSelected","rowIds","findIndex","SortIndicator","HeaderContent","ClickableHeaderContent","onChangeSort","sortable","toString","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","columnCount","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","css","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","expandedRowIds","disabledRowIds","InfoIcon","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","emptyState","loadingRowCount","rows","setExpanded","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","loadingRows","renderLoadingCell","subheading","renderRow","e2eClassName","renderNestedRow","nestedRow","_b","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","setHidden","groupIndex","columnIds","newColumns","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","ColumnGrid","showSidebar","ContentContainer","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","spellCheck","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","useClickOutside","isOpen","escapeListener","clickListener","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","start","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","isError","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","handleScroll","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","find","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","margin","animationDuration","getNestedRow","isHidden","renderDefaultLoadingRow","unshift","getFooter","renderedRows","_c","bodyClassName","rowE2eClassName","rowClassName","specificStateValues","ClickableCell","EditableCell","LoginButton","buttonImg","buttonDescription","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","initial","bounce","exit","Dialog","shadow","Title","h1","Subtitle","Image","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","paginationDefaultRangeList","handleRangeListChange","Items","paginationRange","PaginationRange","onPaginationRangeChange","setDropdownValue","currentValue","dropdownValue","toggleShouldShow","reversedDropdown","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","parseFloat","toFixed","roundedValue","form","IconContainer","iconPosition","SearchIcon","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SelectInput","select","sizeVariant","Select","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Tag","ToastsLayoutContainer","Toast","minWidth","IconWrap","ContentStack","toastTypes","merge","closeIcon","iconSlot","ToastContainer","Slider","switched","Switch","small","Toggle","borderColor","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","PopupContent","VideoWrapper","ButtonSC","ViewTypes","CounterText","Contour","colourPalette","customTextColour","active","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","delete","edit","counter","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce","description","shouldOpenOnMount","shouldOpen","setShouldOpen","rotate","userInitials","toUpperCase","match","BadgeVariant","Pill","marginRight","Separator","pathname","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","horizontal","renderDescription","term","shouldShowSidebar","setShouldShowSidebar","shouldCloseOnClickAway","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","setImage","onMouseDown","onMouseUp","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","showModal","isContentOverflowing","close","AnimatePresence","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","testId","onSubmit","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","pop","resultValue","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","toasts","TransitionGroup","component","reverse","toast","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","handler","clearTimeout","isFocused","setIsFocused","useContext","focusVisible","setExpandedRowIds","nestedTableProps","tabs","defaultActiveIndex","listOfTabs","setActive","newActiveTab","tab"],"mappings":"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","x_google_ignoreList":[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]}