@veeqo/ui 4.0.1 → 4.0.2-beta.2
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/README.md +1 -1
- package/dist/components/Popover/Popover.d.ts +3 -15
- package/dist/components/Popover/hooks/useUpdateAriaAnchor.d.ts +11 -0
- package/dist/components/Popover/hooks/useUpdateAriaAnchor.test.d.ts +1 -0
- package/dist/components/Popover/styled.d.ts +6 -0
- package/dist/components/Popover/types.d.ts +23 -0
- package/dist/index.esm.js +14 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/package.json +10 -5
- package/dist/components/Popover/PopoverDemo.d.ts +0 -3
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.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","../src/components/Accordion/Accordion.tsx","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/Popover.tsx","../node_modules/tslib/tslib.es6.js","../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/Anchor/Anchor.tsx","../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/Avatar/Avatar.tsx","../src/components/Tooltip/types.ts","../src/components/Tooltip/styled.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/utils/buildClassnames.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/useNested.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/DetailPage/DetailPage.tsx","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.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/useDebounce.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useTabs.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/Image/Image.tsx","../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/utils/color.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/PageHeader/PageHeader.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/components/Pagination/Pagination.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/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../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/ToastsLayout/ToastsLayout.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/VideoModal/VideoModal.tsx","../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"],"sourcesContent":["import styled from 'styled-components';\nexport const BaseContainer = styled.div.withConfig({ displayName: \"vui--BaseContainer\", componentId: \"vui--jtpszk\" }) `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--p74sf8\" }) `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--3ngcs3\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--sjvmul\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--1mm1lxm\" }) `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--1moens1\" }) `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--7euo6s\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1snn6nn\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--to1g7a\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--g3berv\" }) `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","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","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","/* eslint-disable consistent-return */\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--d5k10p\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\nconst PopoverWrapper = styled.div.withConfig({ displayName: \"vui--PopoverWrapper\", componentId: \"vui--13ndjce\" }) `z-index:${({ zIndex }) => zIndex + 1};`;\nexport const Popover = ({ children, className, anchorElement, rootElementRef, placement = 'bottom', onShouldClose, \n// FIXME: Added zIndex prop as a temporary solution for issues with nested overlays\n// to be replaced with long term solution\nzIndex = theme.layers.popup, }) => {\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // When content size is changed, force popper update\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => {\n resizeObserver.disconnect();\n };\n }, [update, popperElement]);\n // When window is resized, force popper update\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => {\n window.removeEventListener('resize', update);\n };\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n onShouldClose && React.createElement(Backdrop, { onClick: onShouldClose, zIndex: zIndex }),\n React.createElement(PopoverWrapper, Object.assign({ ref: setPopperElement, className: className, zIndex: zIndex, style: Object.assign({}, styles.popper) }, attributes.popper), children)));\n};\n//# sourceMappingURL=Popover.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","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--exbqdz\" }) `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--nvz516\" }) `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--1xzjfje\" }) `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--1ixaf03\" }) `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--16w0ufk\" }) `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--1w3lv3r\" }) `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--fqczse\" }) `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--1fxilc\" }) `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--z932nb\" }) `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--1qt232p\" }) `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--oa1a54\" }) `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--129vg5d\" }) `/*${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--livrdi\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--z99ese\" }) `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--1lgjeo7\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--pfgeh3\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--g1wpqa\" }) `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--kw21jd\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--1s2yh62\" }) `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--pmpwvh\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--16t44ko\" }) `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--18nrzt0\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--1vta1xq\" }) `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--14i39s8\" }) `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 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","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--r1m0qe\" }) `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--q4276w\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--cfebb1\" }) `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--u4w0zl\" }) `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--1gxc5tv\" }) `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","/* 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","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--12sulil\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--17ltyut\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--183a4l5\" }) `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--rjghyf\" }) `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--1v5pppn\" }) `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--1xs3k5t\" }) `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--1l3fzu\" }) `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--rwc6j0\" }) `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--1fakkjy\" }) `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--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.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--c6sp3u\" }) `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--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `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--1kzms7s\" }) `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--17agc2w\" }) `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--1mxdupo\" }) `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--11nf17l\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--1yac6kr\" }) `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--qbgrc7\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1uu3ed5\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--xampag\" }) `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--nu56mb\" }) `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--k1l2b9\" }) `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--124eta7\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1g99902\" }) `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--1ycxtt7\" }) `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--hippn5\" }) `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--1e1oks4\" }) `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--bygv6o\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--18baj4v\" }) `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--e6p1xr\" }) `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","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","/* 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--12e6ib8\" }) `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--1oz46st\" }) `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--o7masx\" }) `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--vlccds\" }) `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--xbox8h\" }) `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--1mf4ayh\" }) `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--1feqxrw\" }) `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--dbz7t3\" }) `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--grzgy2\" }) `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--1uqall4\" }) `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--208yv4\" }) `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--ryxbs1\" }) `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--1bx96p0\" }) `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--1fsix8g\" }) `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--14fzkum\" }) `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--5gfhdd\" }) `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--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `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--1915ejg\" }) `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--2wnu9m\" }) `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--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.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 styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `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--qydg5r\" }) `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--1p3i1v3\" }) `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--9vxkaw\" }) `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--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `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 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","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--3jt15a\" }) `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--1k04ik\" }) `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--oxhxoy\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--w9sg63\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1dp86fg\" }) `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--1h9einl\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--2iwwsg\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1ln478r\" }) `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--5lfadq\" }) `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, 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, 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 { 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 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--1tebbdi\" }) `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--qz697a\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--17i198i\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--rxq762\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--1o2zyml\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--6n2anv\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--n9war0\" }) `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--12w0ynf\" }) `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--yyvmx7\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--exntyx\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--jt8oew\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--xulm2g\" }) `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, { 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 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--11ytygc\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--1g4i0cu\" }) `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--wtdkab\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--1j5avrf\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--n8uysg\" }) `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--qckqty\" }) `& 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--10drh9k\" }) `&.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--tljl4p\" }) `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--10p2duv\" }) `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--13i0t50\" }) `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--1bp83gy\" }) `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--44p3gi\" }) `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--wokb93\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--6s4d56\" }) ``;\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--991hgo\" }) `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--1oi4ebm\" }) `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--pj8i0k\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--19x6udv\" }) `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--1w0np52\" }) `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--1b7t5il\" }) `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--n24x0f\" }) `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--oakirc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--dbfg3y\" }) `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--9ns5xb\" }) `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--1ox4j2c\" }) `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","/**\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 { 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--1ohvs0u\" }) `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 { __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 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--1x6mrf4\" }) `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--1rcauam\" }) `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--1w1czl4\" }) `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--6akliy\" }) `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--eer17r\" }) `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--17ubnor\" }) `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--1fmdpk3\" }) `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 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 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--11yg0z2\" }) `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--1xoa6c5\" }) `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--vpfeol\" }) `&[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","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","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--vvvb5w\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst Dropdown = styled(AnimatedDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--1762fp7\" }) `&-container{width:100%;}`;\nconst Button = styled.button.withConfig({ displayName: \"vui--Button\", componentId: \"vui--18oel89\" }) `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--yx82xe\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--gffv6m\" }) `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--1y4bw67\" }) `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--z17r9v\" }) `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--8gyz01\" }) `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--fsc9el\" }) `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--w81sf\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--jpuoo1\" }) `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--je6y84\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--113gfe8\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18q9h8i\" }) `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 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 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--s4yyqq\" }) `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 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 styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `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--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `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--2nps2x\" }) `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--lcbl46\" }) `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--103oce3\" }) `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--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `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--t3v3py\" }) `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--1rdo7hk\" }) `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--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `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--1nmtetq\" }) `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--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `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 { 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 styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `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--1ccelw2\" }) `&: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--13yy1uj\" }) `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--69792q\" }) `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--x718nd\" }) `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 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 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--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `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--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.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","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--1vyyfhh\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--ycgtn6\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--zy3oaf\" }) `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--chq9kr\" }) `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--yu7dwm\" }) `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--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `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"],"names":["BaseContainer","styled","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","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","shouldOpen","setShouldOpen","useState","open","onClick","animate","rotate","name","initial","opacity","exit","transition","from","type","duration","generateId","prefix","Math","floor","random","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","Backdrop","zIndex","PopoverWrapper","Popover","anchorElement","placement","onShouldClose","popperElement","setPopperElement","styles","attributes","update","usePopper","useEffect","resizeObserver","ResizeObserver","observe","disconnect","window","addEventListener","removeEventListener","ref","popper","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","to","dur","repeatCount","cx","cy","r","Grid","begin","values","calcMode","ThreeDots","Loader","MainContent","hasText","loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","default","primary","destructive","primaryDestructive","flat","unstyled","Button","forwardRef","_a","icon","dropdown","otherProps","VariantButton","hasChildren","undefined","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","action","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","variants","ease","footerMarkup","ListCard","SectionHeading","Item","itemMap","item","ActionList","items","sections","buttonVariant","buttonSize","isActive","setIsActive","anchorEl","setAnchorEl","renderItem","ItemComponent","handleClick","callback","key","listItemMarkup","map","Fragment","CommonAnchor","a","Anchor","href","target","Container","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","useRef","handleClickAway","event","current","contains","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","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","options","show","useCallback","hide","tooltipStyles","tooltipMarkup","triangleOffsetSize","ReactDOM","BaseBadge","hideBorder","DefaultBadge","PrimaryBadge","WarningBadge","buildClassnames","names","filter","Boolean","join","warning","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","Separator","pathname","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","HelpIcon","Choice","hint","bordered","Accessory","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","useMemo","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","SuccessIcon","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","setTimeout","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","_","index","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","querySelectorAll","widths","Array","cell","getBoundingClientRect","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useNested","expandedRowIds","setExpandedRowIds","nestedTableProps","setExpanded","rowId","rowIds","findIndex","splice","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","column","renderCell","row","actions","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","onChangeSort","sortable","Error","toString","ColumnHeaderContent","columnHeaderProps","console","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","forEach","entry","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","disabledRowIds","InfoIcon","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","loadingRows","data","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","_b","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","some","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","columnIds","newColumns","border","padding","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","withDeprecated","warn","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","newValue","RegExp","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","useClickOutside","isOpen","escapeListener","clickListener","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","onKeyDown","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","useTabs","tabs","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","shouldCloseOnClickAway","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","isError","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","end","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","parseInt","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","handleScroll","el","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","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","LoginWithAmazonButton","setImage","onMouseDown","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","hexToRgb","hex","hexTmp","replace","m","g","b","result","exec","getOpaqueHexColor","rgb","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","dialog","y","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","AnimatePresence","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageHeader","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","preventDefault","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","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","blur","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","SelectInput","select","sizeVariant","Select","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Slider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","split","pop","resultValue","Number","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","minWidth","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","switched","Switch","small","Toggle","borderColor","ToggleButton","tabIndex","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","PopupContent","VideoWrapper","ButtonSC","VideoModal","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","ViewTypes","CounterText","Contour","colourPalette","customTextColour","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","delete","edit","counter","View","onDelete","onEdit","handleEnter","handleLeave","handleDelete","stopPropagation","handleEdit","isDraft","draft","isSaved","saved","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce"],"mappings":"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","x_google_ignoreList":[17]}
|
|
1
|
+
{"version":3,"file":"index.esm.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","../src/components/Accordion/Accordion.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/Anchor/Anchor.tsx","../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/Avatar/Avatar.tsx","../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/useNested.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/DetailPage/DetailPage.tsx","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.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/useDebounce.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useTabs.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/Image/Image.tsx","../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/Modal/Modal.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/PageHeader/PageHeader.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/components/Pagination/Pagination.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/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../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/ToastsLayout/ToastsLayout.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/VideoModal/VideoModal.tsx","../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"],"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","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","/******************************************************************************\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 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","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","/* 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","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","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","/* 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 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 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 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","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, 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, 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 { 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 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, { 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 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 { __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 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 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 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","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","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 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 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 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 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 { 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 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 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 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","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","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"],"names":["BaseContainer","styled","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","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","shouldOpen","setShouldOpen","useState","open","onClick","animate","rotate","name","initial","opacity","exit","transition","from","type","duration","__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","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","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","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","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","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","injectStyles","head","getElementsByTagName","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","rgb","Popover","passedId","placement","anchorElement","onShouldClose","enableFocusTrap","dialogProps","popperElement","setPopperElement","attributes","update","usePopper","popoverId","hasAttribute","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","popper","TailSpin","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","default","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","variants","ease","footerMarkup","ListCard","SectionHeading","Item","itemMap","ActionList","items","sections","buttonVariant","buttonSize","setIsActive","anchorEl","setAnchorEl","renderItem","ItemComponent","handleClick","listItemMarkup","CommonAnchor","Anchor","href","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","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","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","Separator","pathname","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","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","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","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","useNested","expandedRowIds","setExpandedRowIds","nestedTableProps","setExpanded","rowId","rowIds","findIndex","useScrollPosition","setScrollPosition","updateScrollPosition","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","column","renderCell","row","actions","rowState","setSelected","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","disabledRowIds","InfoIcon","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","loadingRows","renderLoadingCell","subheading","renderRow","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","DescriptionList","horizontal","renderDescription","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","withDeprecated","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","spellCheck","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","useClickOutside","isOpen","escapeListener","clickListener","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","onScroll","useTabs","tabs","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","shouldCloseOnClickAway","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","isError","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","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","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","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","LoginWithAmazonButton","setImage","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","showModal","isContentOverflowing","close","AnimatePresence","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageHeader","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","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","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","SelectInput","select","sizeVariant","Select","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Slider","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","Tag","ToastsLayoutContainer","Toast","minWidth","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","switched","Switch","small","Toggle","borderColor","ToggleButton","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","PopupContent","VideoWrapper","ButtonSC","VideoModal","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","ViewTypes","CounterText","Contour","colourPalette","customTextColour","CounterContainer","IconStyling","CustomIconWrapper","EditIcon","edit","View","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce"],"mappings":"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","x_google_ignoreList":[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,84]}
|