@veeqo/ui 5.15.1 → 5.15.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.
@@ -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","../node_modules/tslib/tslib.es6.js","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/styled.ts","../src/utils/buildClassnames.ts","../src/utils/color.ts","../src/utils/isExternalLink.ts","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Popover/hooks/useHandleFocus.ts","../src/components/Popover/Popover.tsx","../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/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Alert/styled.ts","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/HelpIcon.tsx","../src/tempIcons/InfoIcon.tsx","../src/tempIcons/SuccessIcon.tsx","../src/components/Alert/constants.ts","../src/tempIcons/WarningIcon.tsx","../src/tempIcons/RecommendIcon.tsx","../src/components/Alert/Alert.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/components/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/components/TooltipPopover.tsx","../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/RangeCalendar/components/CalendarGrid.tsx","../src/components/RangeCalendar/components/StyledRangeCalendar/buttonStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/calendarCellStyles.ts","../src/components/RangeCalendar/components/utils.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/headerStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/StyledRangeCalendar.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/RangeCalendar/RangeCalendar.tsx","../src/components/Choice/components/styled.ts","../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/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/hoc/withLabels/styled.ts","../src/hooks/useId.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.tsx","../src/components/DateRangeInput/styled.ts","../src/components/DateRangeInput/index.ts","../src/components/DateRangeInput/DateRangeInput.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/DateRangePicker/components/constants.ts","../src/components/DateRangePicker/components/ComparePreviousPeriod.tsx","../src/components/DateRangePicker/constants.ts","../src/components/DateRangePicker/utils.ts","../src/components/DateRangePicker/components/Divider.tsx","../src/components/DateRangePicker/DateRangePicker.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/utils/customEventEmitter.ts","../src/components/DataTable/hooks/useColumnWidths.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/components/ColumnDivider.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/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/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/utils/blockInvalidCharacters.ts","../src/utils/invalidCharactersNumeric.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/components/Dropdown/styled.ts","../src/components/Dropdown/DropdownPopover.tsx","../src/components/Dropdown/Dropdown.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/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/ScreenReaderOnly/ScreenReaderOnly.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/ShortcutKeys/styled.ts","../src/components/ShortcutKeys/utils.ts","../src/components/ShortcutKeys/ShortcutKeys.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Skeleton/Skeleton.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/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/UploadFile/styled.tsx","../src/components/UploadFile/constants.ts","../src/components/UploadFile/UploadGraphic.tsx","../src/components/UploadFile/components/UploadCopy/UploadCopy.tsx","../src/components/UploadFile/components/UploadFileErrors/UploadFileErrors.tsx","../src/components/UploadFile/components/UploadedFile/styled.ts","../src/components/UploadFile/components/UploadedFile/UploadedFile.tsx","../src/components/UploadFile/UploadFile.tsx","../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts","../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts","../src/components/UploadFile/utils/getTypePropForInputEl/getTypePropForInputEl.ts","../src/components/UploadFile/utils/setInputElFile/setInputElFile.ts","../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/ViewTab/types.ts","../src/tempIcons/ThreeDotsIcon.tsx","../src/components/ViewTab/styled.ts","../src/components/ViewTab/ViewTab.tsx","../src/components/ViewsContainer/styled.ts","../src/components/ViewsContainer/hooks/useSetScrollPosition.ts","../src/components/ViewsContainer/utils.ts","../src/components/ViewsContainer/ViewsContainer.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","/******************************************************************************\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 { uid } from 'uid/secure';\nexport const generateId = (prefix) => {\n const randomId = uid();\n if (!prefix)\n return randomId;\n return `${prefix}-${randomId}`;\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--kmoo2l\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--9esryp\" }) `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","export const defaultAllowedHostnames = ['app.veeqo.com'];\n/**\n * Check if a URL/path string is an external link\n * @param {string} urlOrPath - URL or path\n * @param {string[]} allowedHostnames - List of allowed hostnames - default: ['app.veeqo.com']\n\n * @returns {Boolean}\n */\nexport function isExternalLink(urlOrPath, allowedHostnames = defaultAllowedHostnames) {\n // Check if the string starts with 'http://' or 'https://'\n if (urlOrPath.startsWith('http://') || urlOrPath.startsWith('https://')) {\n const { hostname: urlHostname } = new URL(urlOrPath);\n // Compare the hostname to a list of allowed hostnames\n return !allowedHostnames.some((hostname) => urlHostname.toLowerCase() === hostname.toLowerCase());\n }\n // Check if the string starts with '//'\n if (urlOrPath.startsWith('//')) {\n const { hostname } = new URL(`http:${urlOrPath}`);\n // Compare the hostname to a list of allowed hostnames (case-insensitive)\n return !allowedHostnames.some((allowedHostname) => hostname.toLowerCase() === allowedHostname.toLowerCase());\n }\n // It's a partial path, consider it internal\n return false;\n}\n//# sourceMappingURL=isExternalLink.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 if (!anchorElement.hasAttribute('aria-expanded')) {\n console.warn('Popover - aria-expanded not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-expanded', 'true');\n }\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 console.warn('Popover - aria-controls not set on anchor element.', anchorElement);\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 console.warn('Popover - aria-haspopup not set on anchor element.', anchorElement);\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 { useEffect } from 'react';\nconst TABBABLE_SELECTORS = 'input:not([disabled]), summary:not([disabled]), a[href]:not([disabled]), button:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nexport const useHandleFocus = ({ popperElement, anchorElement, onClose, disableFocusLock = false, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock)\n return;\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n if (focusableElements.length < 1)\n return;\n setTimeout(() => {\n focusableElements[0].focus();\n }, 0);\n }, [popperElement, disableFocusLock]);\n /**\n * Sets up tabbing into the popover.\n *\n * When the popover is open (pre-requisite for this being ran), and the user clicks `TAB`\n * then the tab should move **into** the popover, instead of the natural tab order.\n */\n useEffect(() => {\n if (!popperElement || !popperElement)\n return;\n const focusWithinPopper = (event) => {\n if (event.key === 'Tab' && !event.shiftKey) {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n // When nothing is focusable within the popover, close popover and allow natural tab order.\n if (focusableElements.length < 1) {\n onClose();\n return;\n }\n focusableElements[0].focus();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n // When tab occurs on ref focus, if focusable elements in popover focus first.\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.addEventListener('keydown', focusWithinPopper);\n // eslint-disable-next-line consistent-return\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.removeEventListener('keydown', focusWithinPopper);\n }, [anchorElement, popperElement, onClose]);\n /**\n * Creates focus trap within the popover itself. Stopping users tabbing back to outside the\n * popover, or forward past the last scrollable element within.\n */\n const handleFocusTrap = (event) => {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n // If shift tabbing (BACK) and on the first element, loop to last element.\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n // If tabbing (FORWARD) and on the last element, loop to first element.\n }\n else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n };\n const handleKeyDown = (event) => {\n if (!popperElement)\n return;\n // Handle escape\n if (event.key === 'Escape') {\n onClose();\n // Check we should enforce focus trap.\n }\n else if (!disableFocusLock && event.key === 'Tab') {\n handleFocusTrap(event);\n }\n };\n return {\n handleKeyDown,\n };\n};\n//# sourceMappingURL=useHandleFocus.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 { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nimport { useHandleFocus } from './hooks/useHandleFocus';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, onShouldClose, style, disableFocusLock, removeBackdrop = false, useAnchorWidth } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"removeBackdrop\", \"useAnchorWidth\"]);\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 const onClose = () => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose,\n disableFocusLock,\n });\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 !removeBackdrop && (React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex, \"data-testid\": \"popover-backdrop\" })),\n React.createElement(PopoverDialog, Object.assign({ open: true, id: id, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign(Object.assign({}, styles.popper), style), (useAnchorWidth ? { minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.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--exbqdz\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ $loading }) => ($loading ? 'opacity: 0;' : null)};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 line-height: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}`;\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:${theme.colors.neutral.grey.light};}&:active{background-color:${theme.colors.neutral.grey.light};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{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};line-height:${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};}&:focus-visible{outline:0;box-shadow:0 0 0 4px white,0 0 0 8px ${theme.colors.secondary.blue.light};border-radius:4px;}`;\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 && 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","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 { Stack } from '../Stack';\nimport { theme } from '../../theme';\nexport const AlertContainer = styled(Stack).attrs({\n direction: 'horizontal',\n alignX: 'between',\n alignY: 'top',\n spacing: 0,\n}).withConfig({ displayName: \"vui--AlertContainer\", componentId: \"vui--u8ngai\" }) `border:1px solid ${({ colours: { primary } }) => primary};border-radius:${theme.radius.base};background-color:${({ colours: { background } }) => background};`;\n//# sourceMappingURL=styled.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 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';\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","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 { AttentionIcon } from '../../tempIcons/AttentionIcon';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nimport { RecommendIcon } from '../../tempIcons/RecommendIcon';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { WarningIcon } from '../../tempIcons/WarningIcon';\nimport { theme } from '../../theme';\nexport const SpacingMap = {\n base: theme.sizes.base,\n sm: theme.sizes[3],\n xs: theme.sizes.sm,\n};\nexport const IconSizeMap = {\n base: theme.sizes.md,\n sm: theme.sizes[5],\n xs: theme.sizes[5],\n};\nexport const IconMap = {\n default: InfoIcon,\n error: AttentionIcon,\n success: SuccessIcon,\n info: HelpIcon,\n warning: WarningIcon,\n recommend: RecommendIcon,\n};\nexport const ColourMap = {\n default: {\n primary: theme.colors.neutral.ink.base,\n background: theme.colors.neutral.grey.lightest,\n },\n error: {\n primary: theme.colors.secondary.red.base,\n background: theme.colors.secondary.red.lightest,\n },\n success: {\n primary: theme.colors.secondary.green.base,\n background: theme.colors.secondary.green.lightest,\n },\n info: {\n primary: theme.colors.secondary.blue.base,\n background: theme.colors.secondary.blue.lightest,\n },\n warning: {\n primary: theme.colors.secondary.orange.base,\n background: theme.colors.secondary.orange.lightest,\n },\n recommend: {\n primary: theme.colors.secondary.purple.dark,\n background: theme.colors.secondary.purple.lightest,\n },\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const WarningIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\", fill: \"none\" }),\n React.createElement(\"path\", { d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" })));\n//# sourceMappingURL=WarningIcon.js.map","import React from 'react';\nexport const RecommendIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M18 8L19.25 5.25L22 4L19.25 2.75L18 0L16.75 2.75L14 4L16.75 5.25L18 8Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M18 14L16.75 16.75L14 18L16.75 19.25L18 22L19.25 19.25L22 18L19.25 16.75L18 14Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M10.5 8.5L8 3L5.5 8.5L0 11L5.5 13.5L8 19L10.5 13.5L16 11L10.5 8.5ZM8.99 11.99L8 14.17L7.01 11.99L4.83 11L7.01 10.01L8 7.83L8.99 10.01L11.17 11L8.99 11.99Z\", fill: \"#694090\" })));\n//# sourceMappingURL=RecommendIcon.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { AlertContainer } from './styled';\nimport { ColourMap, IconMap, IconSizeMap, SpacingMap } from './constants';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const Alert = (_a) => {\n var { size = 'base', variant = 'default', colours: passedColours, rightActions, title, titleSlot, message, children, iconSlot, onClickClose } = _a, divProps = __rest(_a, [\"size\", \"variant\", \"colours\", \"rightActions\", \"title\", \"titleSlot\", \"message\", \"children\", \"iconSlot\", \"onClickClose\"]);\n const colours = passedColours !== null && passedColours !== void 0 ? passedColours : ColourMap[variant];\n const IconSlot = iconSlot || IconMap[variant];\n const isXsSize = size === 'xs';\n return (React.createElement(AlertContainer, Object.assign({ colours: colours, direction: \"horizontal\", alignX: \"between\", spacing: \"0\" }, divProps),\n React.createElement(Stack, { direction: \"horizontal\", alignY: isXsSize ? 'center' : 'start', style: { margin: SpacingMap[size], gap: SpacingMap[size] }, spacing: 0 },\n React.createElement(IconSlot, { \"aria-hidden\": true, style: {\n minWidth: IconSizeMap[size],\n minHeight: IconSizeMap[size],\n width: IconSizeMap[size],\n height: IconSizeMap[size],\n }, color: colours.primary }),\n React.createElement(Stack, { direction: \"vertical\", spacing: isXsSize ? 0 : 'xs' },\n titleSlot || (React.createElement(Text, { variant: isXsSize ? 'bodySmallBold' : 'bodyBold', style: size === 'base' ? { lineHeight: '24px' } : {} }, title)),\n children || React.createElement(Text, { variant: isXsSize ? 'bodySmall' : 'body' }, message))),\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: 0, style: {\n margin: isXsSize ? undefined : theme.sizes[3],\n gap: isXsSize ? undefined : SpacingMap[size],\n alignItems: 'center',\n } },\n rightActions && (React.createElement(Stack, { alignY: \"center\", spacing: 0, style: { gap: SpacingMap[size] } }, rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\", size: \"sm\" }, actionProps), label));\n }))),\n onClickClose && (React.createElement(Stack, { alignY: isXsSize ? 'center' : 'start', style: { height: '100%', padding: isXsSize ? theme.sizes.xs : undefined } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\", size: \"sm\" }))))));\n};\n//# sourceMappingURL=Alert.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 { __rest } from \"tslib\";\nimport React from 'react';\nimport { CommonAnchor } from './styled';\nimport { defaultAllowedHostnames, isExternalLink } from '../../utils/isExternalLink';\nexport const Anchor = (_a) => {\n var { children, href, rel, allowedHostnames = defaultAllowedHostnames } = _a, props = __rest(_a, [\"children\", \"href\", \"rel\", \"allowedHostnames\"]);\n // Determine if the link is external based on the allowed hostnames\n const isExternal = isExternalLink(href, allowedHostnames);\n // Set default rel property for external links\n const setDefaultRelValue = rel || (isExternal ? 'noopener noreferrer' : undefined);\n return (React.createElement(CommonAnchor, Object.assign({ href: href, rel: setDefaultRelValue }, props), children));\n};\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, role } = props;\n return (React.createElement(Container, { className: className, ref: ref, role: role }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nimport { theme } from '../../theme';\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:${theme.layers.popup};${(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, { role: \"dialog\", 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","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1exlfc5\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--up3fpq\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--gpqzg1\" }) `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--1f7lcs5\" }) `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--143ip1u\" }) `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--e33d0s\" }) `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","export var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { Tip, TooltipText, Triangle, Wrap } from './styled';\nimport { Sides } from '../types';\nimport { theme } from '../../../theme';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const TooltipPopover = ({ content, text, hoverableElement, config, reversed, withTriangle, classNames, }) => {\n const [popperElement, setPopperElement] = useState(null);\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\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 tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n return (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};\n//# sourceMappingURL=TooltipPopover.js.map","import React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Container, Hoverable } from './components/styled';\nimport { TooltipPopover } from './components/TooltipPopover';\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const hasText = text ? text.trim().length > 0 : false;\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 hasContent = !!(content || hasText);\n if (!hasContent)\n return children;\n const show = () => setShouldShow(true);\n const hide = () => setShouldShow(false);\n const tooltipMarkup = shouldShow && hasContent && (React.createElement(TooltipPopover, { classNames: classNames, hoverableElement: hoverableElement, config: config, reversed: reversed, withTriangle: withTriangle, text: text, content: content }));\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","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","import React from 'react';\nimport { CalendarGrid as AriaCalendarGrid, CalendarHeaderCell, CalendarGridHeader, CalendarGridBody, CalendarCell, } from 'react-aria-components';\nexport const CalendarGrid = (props) => (React.createElement(AriaCalendarGrid, Object.assign({ weekdayStyle: \"short\" }, props),\n React.createElement(CalendarGridHeader, null, (day) => React.createElement(CalendarHeaderCell, null, day.slice(0, 2))),\n React.createElement(CalendarGridBody, null, (date) => React.createElement(CalendarCell, { date: date }))));\n//# sourceMappingURL=CalendarGrid.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../theme';\nexport const buttonStyles = css `.react-aria-Button{color:${theme.colors.neutral.ink.base};background-color:transparent;border-color:transparent;box-shadow:none;cursor:pointer;height:40px;padding:0 8px;border-radius:8px;font-size:16px;line-height:16px;outline:0;--outline-width:4px;svg{width:${theme.sizes.base};height:${theme.sizes.base};}&:active,&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:active,&:hover{background-color:${theme.colors.neutral.grey.light};}&:disabled{background-color:transparent;border-color:transparent;user-select:none;color:${theme.colors.neutral.grey.base};cursor:default;}}`;\n//# sourceMappingURL=buttonStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../theme';\nexport const calenderCellStyles = css `.react-aria-CalendarCell{width:32px;line-height:32px;border-radius:${theme.radius.base};cursor:pointer;text-align:center;&[data-hovered]{background-color:${theme.colors.neutral.grey.base};}&[data-focus-visible],&:focus-visible{outline:2px solid ${theme.colors.secondary.blue.light};}&[data-selected]{background:${theme.colors.secondary.blue.base};color:white;border-radius:0;&[data-focus-visible]{outline-color:${theme.colors.secondary.blue.light};outline-offset:-3px;}}&[data-unavailable]{cursor:not-allowed;}&[data-outside-month],&[data-disabled]{cursor:not-allowed;}&[data-unavailable]{text-decoration:line-through;color:${theme.colors.secondary.red.base};&:hover{background-color:inherit;}}&[data-outside-month],&[data-disabled]{color:${theme.colors.neutral.ink.lightest};}&[data-selection-start],&[data-selection-end]{background:${theme.colors.secondary.blue.dark};}&[data-selection-start][data-selection-end]{background-color:${theme.colors.secondary.blue.base};}&[data-selection-start]{border-start-start-radius:6px;border-end-start-radius:6px;}&[data-selection-end]{border-start-end-radius:6px;border-end-end-radius:6px;}}`;\n//# sourceMappingURL=calendarCellStyles.js.map","export const getTextStyles = (textTheme) => `\n font-family: ${textTheme.fontFamily};\n font-style: ${textTheme.fontStyle};\n font-weight: ${textTheme.fontWeight};\n font-size: ${textTheme.fontSize};\n line-height: ${textTheme.lineHeight};\n color: ${textTheme.color};\n text-decoration: ${textTheme.textDecoration};\n letter-spacing: ${textTheme.letterSpacing};\n`;\n//# sourceMappingURL=utils.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../theme';\nimport { getTextStyles } from '../utils';\nexport const headerStyles = css `& header{display:flex;align-items:center;margin:0 4px 0.5rem 4px;.react-aria-Heading{flex:1;margin:0;text-align:center;${getTextStyles(theme.text.headingSmall)}}}.react-aria-CalendarHeaderCell{padding-bottom:${theme.sizes.sm};}`;\n//# sourceMappingURL=headerStyles.js.map","import { RangeCalendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../../../theme';\nimport { buttonStyles } from './buttonStyles';\nimport { calenderCellStyles } from './calendarCellStyles';\nimport { headerStyles } from './headerStyles';\nexport const StyledRangeCalendar = styled(RangeCalendar).withConfig({ displayName: \"vui--StyledRangeCalendar\", componentId: \"vui--1nu8m35\" }) `width:fit-content;max-width:100%;color:${theme.colors.neutral.ink.base};font-size:14px;font-family:${theme.fontFamily};${headerStyles} ${buttonStyles} ${calenderCellStyles} & table{border-collapse:collapse;height:fit-content;& td{padding:0;}}`;\n//# sourceMappingURL=StyledRangeCalendar.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 { __rest } from \"tslib\";\nimport React, { useCallback, useEffect } from 'react';\nimport { isWeekend } from '@internationalized/date';\nimport { Button, Heading, useLocale } from 'react-aria-components';\nimport { CalendarGrid } from './components/CalendarGrid';\nimport { StyledRangeCalendar } from './components/StyledRangeCalendar';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { theme } from '../../theme';\nexport const RangeCalendar = (_a) => {\n var _b;\n var { disabledRanges = [], disallowWeekends = false, isMultiMonth = false } = _a, props = __rest(_a, [\"disabledRanges\", \"disallowWeekends\", \"isMultiMonth\"]);\n const [focusedDate, setFocusedDate] = React.useState((_b = props.value) === null || _b === void 0 ? void 0 : _b.start);\n const { locale } = useLocale();\n const isDateUnavailable = useCallback((date) => (disallowWeekends ? isWeekend(date, locale) : false) ||\n disabledRanges.some((interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0), [disabledRanges, disallowWeekends, locale]);\n useEffect(() => {\n var _a;\n setFocusedDate((_a = props.value) === null || _a === void 0 ? void 0 : _a.start);\n }, [props.value]);\n return (React.createElement(StyledRangeCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: isMultiMonth ? { months: 2 } : undefined }, props),\n React.createElement(\"header\", null,\n React.createElement(Button, { slot: \"previous\" },\n React.createElement(LeftArrowIcon, null)),\n React.createElement(Heading, null),\n React.createElement(Button, { slot: \"next\" },\n React.createElement(RightArrowIcon, null))),\n isMultiMonth ? (React.createElement(\"div\", { style: { display: 'flex', gap: theme.sizes.sm, overflow: 'auto' } },\n React.createElement(CalendarGrid, null),\n React.createElement(CalendarGrid, { offset: { months: 1 } }))) : (React.createElement(CalendarGrid, null))));\n};\n//# sourceMappingURL=RangeCalendar.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]};`;\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 HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--lz8nl\" }) `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--piugtf\" }) `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--2wdtq1\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1an42ms\" }) `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};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1ifrill\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { Text } from '../Text';\nexport const Choice = ({ id, className, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, labelVariant = 'bodyBold', inputPosition = 'left', }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n inputPosition === 'left' && (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(Text, { variant: labelVariant }, 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 inputPosition === 'right' && (React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children))));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id, className: className }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id, className: className }, 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, children } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\", \"children\"]);\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 children));\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 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","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:flex;}`;\n//# sourceMappingURL=styled.js.map","import { useMemo } from 'react';\nimport { generateId } from '../utils';\nexport const useId = ({ id, prefix }) => useMemo(() => id || generateId(prefix), [id, prefix]);\n//# sourceMappingURL=useId.js.map","import { __rest } from \"tslib\";\nimport React 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 { useId } from '../../hooks/useId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useId({ id: otherProps === null || otherProps === void 0 ? void 0 : otherProps.id, prefix: Component.name });\n if (!label)\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", { style: { marginBottom: theme.sizes.xs } },\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { id: `${componentId}-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 from 'styled-components';\nimport { Group } from 'react-aria-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../RangeCalendar/components/utils';\nexport const DateRangeGroup = styled(Group).withConfig({ displayName: \"vui--DateRangeGroup\", componentId: \"vui--hv19xg\" }) `${getTextStyles(theme.text.body)} display:flex;align-items:center;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:${theme.radius.base};gap:${theme.sizes.xs};padding:${theme.sizes.sm};margin-top:${theme.sizes.sm};&[data-focus-within]{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&:has(*[data-invalid]){box-shadow:0 0 0 4px ${theme.colors.secondary.red.light};border:1px solid ${theme.colors.secondary.red.base};}${({ $hasError }) => !!$hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n border: 1px solid ${theme.colors.secondary.red.base};\n `} *[data-placeholder],*[data-placeholder] + div,*:has(*[data-placeholder])~ .date-range-input-splitter{color:${theme.colors.neutral.ink.lightest};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.light};.react-aria-DateInput .react-aria-DateSegment,.date-range-input-splitter{cursor:not-allowed;color:${theme.colors.neutral.ink.light};}}.react-aria-DateInput{display:flex;align-items:center;cursor:text;caret-color:transparent;.react-aria-DateSegment{padding:0 1px;border-radius:${theme.radius.base};&[data-invalid]{color:${theme.colors.secondary.red.base};}&[data-focused]{color:white;background-color:${theme.colors.secondary.blue.dark};&[data-invalid]{background-color:${theme.colors.secondary.red.lightest};}}&[data-invalid]{font-weight:bold;color:${theme.colors.secondary.red.dark};}&:focus-visible{outline:none;}}}`;\n//# sourceMappingURL=styled.js.map","import { withLabels } from '../../hoc';\nimport { DateRangeInput as BasicDateRangeInput } from './DateRangeInput';\nexport const DateRangeInput = withLabels(BasicDateRangeInput);\n//# sourceMappingURL=index.js.map","import React from 'react';\nimport { DateField, DateInput, DateSegment } from 'react-aria-components';\nimport { DateRangeGroup } from './styled';\nexport const DateRangeInput = ({ id, className, style, shouldForceLeadingZeros = true, hasError, minValue, maxvalue, startValue, endValue, isDisabled, isReadOnly, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-labelledby': ariaLabelledBy, onChangeStartDate, onChangeEndDate, }) => (React.createElement(DateRangeGroup, { style: style, className: className, \"aria-label\": ariaLabel, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"$hasError\": hasError, isDisabled: isDisabled },\n React.createElement(DateField, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeStartDate, value: startValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"start date\", isDisabled: isDisabled, isReadOnly: isReadOnly },\n React.createElement(DateInput, { slot: \"start\" }, (segment) => React.createElement(DateSegment, { segment: segment }))),\n React.createElement(\"span\", { className: \"date-range-input-splitter\", \"aria-hidden\": \"true\" }, \"-\"),\n React.createElement(DateField, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeEndDate, value: endValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"end date\", isDisabled: isDisabled, isReadOnly: isReadOnly },\n React.createElement(DateInput, { slot: \"end\" }, (segment) => React.createElement(DateSegment, { segment: segment })))));\n//# sourceMappingURL=DateRangeInput.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;cursor:not-allowed;}`;\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, hidden: option.hidden }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.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\" }) `width:100%;height:100%;border-radius:${theme.radius.base};z-index:2;margin:0;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};&: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.span.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:flex;position:relative;height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};z-index:1;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\" }) `display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\nimport { Choice } from '../Choice';\n/**\n * A toggle switch component, use-cases should provide a label, wrap with a custom one or pass in an aria-label.\n */\nexport const Toggle = forwardRef((_a, ref) => {\n var { id = 'testid', className, name, switched, small, onClick = () => { }, disabled, ariaLabel, inputPosition = 'right' } = _a, choiceProps = __rest(_a, [\"id\", \"className\", \"name\", \"switched\", \"small\", \"onClick\", \"disabled\", \"ariaLabel\", \"inputPosition\"]);\n return (React.createElement(Choice, Object.assign({ id: id, inputPosition: inputPosition }, choiceProps),\n React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, className: className },\n React.createElement(Input, { id: id, role: \"switch\", type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: (e) => (disabled ? undefined : onClick(e)), disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n});\n//# sourceMappingURL=Toggle.js.map","export const DEFAULT_PREVIOUS_PERIOD_OPTIONS = [\n { label: 'Previous Day', value: 'PREVIOUS_DAY' },\n { label: 'Previous Week', value: 'PREVIOUS_WEEK' },\n { label: 'Previous Month', value: 'PREVIOUS_MONTH' },\n { label: 'Previous Year', value: 'PREVIOUS_YEAR' },\n];\n//# sourceMappingURL=constants.js.map","import React, { useEffect, useState } from 'react';\nimport { Toggle } from '../../Toggle';\nimport { Text } from '../../Text';\nimport { Select } from '../../Select';\nimport { theme } from '../../../theme';\nimport { DEFAULT_PREVIOUS_PERIOD_OPTIONS } from './constants';\nexport const ComparePreviousPeriod = ({ options = DEFAULT_PREVIOUS_PERIOD_OPTIONS, selectedPreviousPeriod, setSelectedPreviousPeriod, }) => {\n const [showCompareSelect, setShowCompareSelect] = useState(!!selectedPreviousPeriod);\n const findAndSelectOption = (newValue) => {\n const newOption = options.find(({ value }) => value === newValue);\n if (newOption)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(newOption);\n };\n const toggleShowSelect = () => {\n // When toggled off, unselect show previous period.\n if (showCompareSelect)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(null);\n setShowCompareSelect(!showCompareSelect);\n };\n // If no option is currently selected, we set to the first option provided.\n useEffect(() => {\n if (!selectedPreviousPeriod)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(options[0]);\n }, [selectedPreviousPeriod, setSelectedPreviousPeriod, options]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Text, { variant: \"inputLabel\", style: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.sizes.sm,\n whiteSpace: 'nowrap',\n } },\n React.createElement(Toggle, { small: true, switched: showCompareSelect, onClick: toggleShowSelect }),\n \"Compare previous period\"),\n showCompareSelect && (React.createElement(Select, { \"aria-label\": \"Period to compare against\", options: options, \n // To avoid screen jumping (before useEffect kicks in, default value to first option)\n value: (selectedPreviousPeriod === null || selectedPreviousPeriod === void 0 ? void 0 : selectedPreviousPeriod.value) || options[0].value, onChange: findAndSelectOption }))));\n};\n//# sourceMappingURL=ComparePreviousPeriod.js.map","import { CalendarDate, endOfMonth, getLocalTimeZone, now, startOfMonth, startOfWeek, startOfYear, } from '@internationalized/date';\nexport var DateRanges;\n(function (DateRanges) {\n DateRanges[\"TODAY\"] = \"TODAY\";\n DateRanges[\"YESTERDAY\"] = \"YESTERDAY\";\n DateRanges[\"LAST_7_DAYS\"] = \"LAST_7_DAYS\";\n DateRanges[\"LAST_30_DAYS\"] = \"LAST_30_DAYS\";\n DateRanges[\"LAST_90_DAYS\"] = \"LAST_90_DAYS\";\n DateRanges[\"LAST_MONTH\"] = \"LAST_MONTH\";\n DateRanges[\"LAST_12_MONTHS\"] = \"LAST_12_MONTHS\";\n DateRanges[\"WEEK_TO_DATE\"] = \"WEEK_TO_DATE\";\n DateRanges[\"MONTH_TO_DATE\"] = \"MONTH_TO_DATE\";\n DateRanges[\"YEAR_TO_DATE\"] = \"YEAR_TO_DATE\";\n})(DateRanges || (DateRanges = {}));\nexport const timeRangeToDateRange = (range) => {\n const { start, end } = range;\n const startDate = new CalendarDate(start.year, start.month, start.day);\n const endDate = new CalendarDate(end.year, end.month, end.day);\n return { start: startDate, end: endDate };\n};\nexport const getDateRange = (option) => {\n // Getting today every time function is called. Don't want this to be stale\n const today = now(getLocalTimeZone());\n let dateRange;\n switch (option) {\n case DateRanges.TODAY:\n dateRange = { start: today, end: today };\n break;\n case DateRanges.YESTERDAY:\n dateRange = {\n start: today.subtract({ days: 1 }),\n end: today.subtract({ days: 1 }),\n };\n break;\n case DateRanges.LAST_7_DAYS:\n dateRange = {\n start: today.subtract({ days: 7 }),\n end: today,\n };\n break;\n case DateRanges.LAST_30_DAYS:\n dateRange = {\n start: today.subtract({ days: 30 }),\n end: today,\n };\n break;\n case DateRanges.LAST_90_DAYS:\n dateRange = { start: today.subtract({ days: 90 }), end: today };\n break;\n case DateRanges.LAST_MONTH: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = { start: lastMonth, end: endOfMonth(lastMonth) };\n break;\n }\n case DateRanges.LAST_12_MONTHS: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = {\n start: startOfMonth(lastMonth).subtract({ months: 12 }),\n end: endOfMonth(lastMonth),\n };\n break;\n }\n case DateRanges.WEEK_TO_DATE:\n dateRange = { start: startOfWeek(today, navigator.language), end: today };\n break;\n case DateRanges.MONTH_TO_DATE:\n dateRange = { start: startOfMonth(today), end: today };\n break;\n case DateRanges.YEAR_TO_DATE:\n dateRange = { start: startOfYear(today), end: today };\n break;\n default:\n return null;\n }\n return timeRangeToDateRange(dateRange);\n};\nexport const DATE_RANGE_OPTIONS = [\n { label: 'Custom', value: 'CUSTOM', disabled: true },\n { label: 'Today', value: DateRanges.TODAY },\n { label: 'Yesterday', value: DateRanges.YESTERDAY },\n { label: 'Last 7 Days', value: DateRanges.LAST_7_DAYS },\n { label: 'Last 30 Days', value: DateRanges.LAST_30_DAYS },\n { label: 'Last 90 Days', value: DateRanges.LAST_90_DAYS },\n { label: 'Last Month', value: DateRanges.LAST_MONTH },\n { label: 'Last 12 Months', value: DateRanges.LAST_12_MONTHS },\n { label: 'Week to Date', value: DateRanges.WEEK_TO_DATE },\n { label: 'Month to Date', value: DateRanges.MONTH_TO_DATE },\n { label: 'Year to Date', value: DateRanges.YEAR_TO_DATE },\n];\nexport const checkForMatchingPreset = (selectedRange) => DATE_RANGE_OPTIONS.reduce((match, option) => {\n if (option.hidden || match)\n return match; // Skip hidden options or if a match is already found\n const optionDateRange = getDateRange(option.value);\n if (!optionDateRange)\n return match; // Skip when no match.\n const { start: optionStart, end: optionEnd } = optionDateRange;\n if (selectedRange.start.compare(optionStart) === 0 &&\n selectedRange.end.compare(optionEnd) === 0) {\n return option;\n }\n return match;\n}, undefined);\nexport const DEFAULT_SELECTION = DateRanges.LAST_30_DAYS;\nexport const DEFAULT_RANGE = getDateRange(DEFAULT_SELECTION);\nexport const DEFAULT_PRESET = DATE_RANGE_OPTIONS.find(({ value }) => value === DEFAULT_SELECTION);\n//# sourceMappingURL=constants.js.map","export const checkIfDateRangeInvalid = ({ disabledRanges, selectedRange, }) => {\n if (!selectedRange || !disabledRanges || disabledRanges.length === 0)\n return false;\n const { start: presortStart, end: presortEnd } = selectedRange;\n const [start, end] = [presortStart, presortEnd].sort();\n return disabledRanges.some(([disabledStart, disabledEnd]) => (start >= disabledStart && start <= disabledEnd) || // Case 1: selectedRange.start is within the disabledRange\n (end >= disabledStart && end <= disabledEnd) || // Case 2: selectedRange.end is within the disabledRange\n (start <= disabledStart && end >= disabledEnd));\n};\n//# sourceMappingURL=utils.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Divider = styled.div.withConfig({ displayName: \"vui--Divider\", componentId: \"vui--ssvmxc\" }) `margin:0 -${theme.sizes.base};border-top:1px solid ${theme.colors.neutral.grey.base};`;\n//# sourceMappingURL=Divider.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport { DateRangeInput } from '../DateRangeInput';\nimport { RangeCalendar } from '../RangeCalendar';\nimport { Card } from '../Card';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { ComparePreviousPeriod } from './components/ComparePreviousPeriod';\nimport { DATE_RANGE_OPTIONS, DateRanges, checkForMatchingPreset, getDateRange } from './constants';\nimport { checkIfDateRangeInvalid } from './utils';\nimport { Divider } from './components/Divider';\nexport const DateRangePicker = (_a) => {\n var { \n // Style props\n className, style, isDisabled, \n // Customizable options\n isMultiMonth = false, showDatePresets = true, onReset, \n // Calendar props\n disabledRanges, selectedPreset, setSelectedPreset, selectedRange, setSelectedRange, \n // Previous period props\n 'aria-describedby': ariaDescribedBy, 'aria-label': ariaLabel } = _a, previousPeriodProps = __rest(_a, [\"className\", \"style\", \"isDisabled\", \"isMultiMonth\", \"showDatePresets\", \"onReset\", \"disabledRanges\", \"selectedPreset\", \"setSelectedPreset\", \"selectedRange\", \"setSelectedRange\", 'aria-describedby', 'aria-label']);\n const updateRangePreset = (selectedValue) => {\n setSelectedRange(getDateRange(DateRanges[selectedValue]));\n setSelectedPreset(DATE_RANGE_OPTIONS.find(({ value }) => value === selectedValue) || DATE_RANGE_OPTIONS[0]);\n };\n const updateDateSegment = useCallback((slot) => (value) => {\n const newRange = {\n start: slot === 'start' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start,\n end: slot === 'end' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end,\n };\n setSelectedRange(newRange);\n }, [selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end, selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start, setSelectedRange]);\n const isDateRangeInvalid = useMemo(() => checkIfDateRangeInvalid({ disabledRanges, selectedRange }), [disabledRanges, selectedRange]);\n // Memoize finding preset since checkForMatchingPreset isn't quick.\n const matchedPreset = useMemo(() => {\n if (!selectedRange)\n return null;\n return checkForMatchingPreset(selectedRange);\n }, [selectedRange]);\n useEffect(() => {\n if (matchedPreset)\n setSelectedPreset(matchedPreset); // If selected value is a preset, set it.\n else\n setSelectedPreset(DATE_RANGE_OPTIONS[0]); // Otherwise, select \"custom\" option.\n }, [matchedPreset, setSelectedPreset]);\n return (React.createElement(Stack, { direction: \"vertical\", alignX: \"stretch\", spacing: \"0\", style: Object.assign({ gap: theme.sizes.base }, style), className: className, \"aria-describedby\": ariaDescribedBy, \"aria-label\": ariaLabel },\n showDatePresets && (React.createElement(Select, { disabled: isDisabled, label: \"Date Range\", options: DATE_RANGE_OPTIONS, value: selectedPreset === null || selectedPreset === void 0 ? void 0 : selectedPreset.value, onChange: updateRangePreset })),\n React.createElement(DateRangeInput, { isDisabled: isDisabled, label: \"Start date - End date\", onChangeStartDate: updateDateSegment('start'), onChangeEndDate: updateDateSegment('end'), startValue: selectedRange && selectedRange.start, endValue: selectedRange && selectedRange.end, error: isDateRangeInvalid ? 'Range contains invalid dates' : undefined }),\n previousPeriodProps.showPreviousPeriod && React.createElement(ComparePreviousPeriod, Object.assign({}, previousPeriodProps)),\n React.createElement(Divider, null),\n React.createElement(Stack, { alignX: \"center\" },\n React.createElement(RangeCalendar, { \"aria-label\": \"Selected Date Range\", isDisabled: isDisabled, isMultiMonth: isMultiMonth, value: selectedRange, onChange: setSelectedRange, disabledRanges: disabledRanges })),\n !!onReset && (React.createElement(React.Fragment, null,\n React.createElement(Divider, null),\n React.createElement(Card.Footer, { style: { display: 'flex', justifyContent: 'end', padding: 0, margin: 0 } },\n React.createElement(Button, { variant: \"default\", size: \"sm\", onClick: onReset, disabled: isDisabled }, \"Reset\"))))));\n};\n//# sourceMappingURL=DateRangePicker.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","class CustomEvent extends Event {\n constructor(eventType, data) {\n super(eventType, { bubbles: true, cancelable: true });\n this.data = data;\n }\n}\nexport const customEventEmitter = (eventType, data) => {\n const evt = new CustomEvent(eventType, data);\n document.dispatchEvent(evt);\n};\n//# sourceMappingURL=customEventEmitter.js.map","import { useEffect, useState } from 'react';\nimport { customEventEmitter } from '../utils/customEventEmitter';\nexport const useColumnWidths = ({ tableRef, columns, columnIds, }) => {\n const getColumnWidths = (cols) => cols.reduce((obj, item) => {\n // eslint-disable-next-line no-param-reassign\n obj[item.id] = item.width;\n return obj;\n }, {});\n const [columnWidths, setColumnWidths] = useState(getColumnWidths(columns));\n const setColumnWidth = ({ columnId, width }) => {\n const calculateWidth = (column, lastColumn) => {\n var _a, _b, _c;\n if (lastColumn)\n return columnWidths[column.id] || column.width;\n const val = columnWidths[column.id] ||\n column.width ||\n ((_c = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`th[data-columnid=\"${column.id}\"]`)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width) ||\n undefined;\n return val;\n };\n const newColumnWidths = Object.assign({}, columnWidths);\n columns.forEach((column, i) => {\n const lastColumn = i === columns.length - 1;\n const newWidth = column.id === columnId ? width : calculateWidth(column, lastColumn);\n newColumnWidths[column.id] = newWidth;\n });\n setColumnWidths(newColumnWidths);\n customEventEmitter('columnWidthUpdated', {\n tableRef,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n columnWidths: newColumnWidths,\n });\n };\n useEffect(() => {\n const widths = getColumnWidths(columns);\n const newColumnWidths = Object.assign({}, columnWidths);\n Object.keys(widths).forEach((key) => {\n if (typeof columnWidths[key] === undefined) {\n newColumnWidths[key] = widths[key];\n }\n });\n setColumnWidths(newColumnWidths);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(columnIds)]);\n return {\n setColumnWidth,\n columnWidths,\n };\n};\n//# sourceMappingURL=useColumnWidths.js.map","import { useColumnWidths } from './useColumnWidths';\nexport function useColumns(columns, tableRef) {\n const { columnWidths, setColumnWidth } = useColumnWidths({\n tableRef,\n columns,\n columnIds: columns.map(({ id }) => id),\n });\n const newColumns = columns.map((column) => (Object.assign(Object.assign({}, column), { width: columnWidths[column.id] || column.width })));\n const visible = newColumns.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 setColumnWidth,\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};position:relative;display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};z-index:${({ zIndex = 0 }) => zIndex};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, { createRef } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const ResizerBar = styled.div.withConfig({ displayName: \"vui--ResizerBar\", componentId: \"vui--115ilx\" }) `position:absolute;right:0;top:37.5%;width:1px;background:${theme.colors.neutral.grey.dark};min-height:25%;cursor:col-resize;&::before{content:'';position:absolute;top:-150%;left:0;width:12px;min-height:400%;z-index:1;transform:translateX(-6px);}`;\nexport const ColumnDivider = ({ columnId, setColumnWidth }) => {\n const ref = createRef();\n const padding = 24;\n const mouseMove = (event) => {\n const { minTranslate, dragDivider, dragInitX } = window.tableHeaders;\n const translate = Math.max(event.clientX - (dragInitX || 0), minTranslate || 0);\n dragDivider.parentElement.parentElement.classList.add('hideHeaderDetails');\n dragDivider.style.transform = `translateX(${translate}px)`;\n };\n const minTranslate = () => {\n const { parentElement } = window.tableHeaders.dragDivider;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const currWidth = parentElement.getBoundingClientRect().width;\n return contentWidth - currWidth + padding;\n };\n const calculateWidth = ({ event }) => {\n const { dragInitX, dragDivider } = window.tableHeaders;\n const { parentElement } = dragDivider;\n const initWidth = parentElement === null || parentElement === void 0 ? void 0 : parentElement.getBoundingClientRect().width;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const deltaX = (event.clientX || 0) - (dragInitX || 0);\n return Math.max((initWidth || 0) + deltaX, contentWidth + padding);\n };\n const mouseUp = (event) => {\n window.removeEventListener('mouseup', mouseUp);\n window.removeEventListener('dragend', mouseUp);\n window.removeEventListener('mousemove', mouseMove);\n window.removeEventListener('drag', mouseMove);\n setColumnWidth === null || setColumnWidth === void 0 ? void 0 : setColumnWidth({ columnId, width: calculateWidth({ event }) });\n if (window.tableHeaders) {\n window.tableHeaders.dragDivider.style.transform = 'translateX(0)';\n window.tableHeaders.dragDivider.parentElement.style.justifyContent = '';\n window.tableHeaders.dragInitX = undefined;\n window.tableHeaders.minTranslate = undefined;\n window.tableHeaders.dragDivider.parentElement.parentElement.classList.remove('hideHeaderDetails');\n }\n };\n const trackMouseStart = (event) => {\n if (event.button !== 0 && event.type !== 'dragstart')\n return;\n window.tableHeaders = {\n dragInitX: event.clientX,\n dragDivider: ref.current,\n };\n window.tableHeaders.minTranslate = minTranslate();\n window.addEventListener('mouseup', mouseUp);\n window.addEventListener('dragend', mouseUp);\n window.addEventListener('mousemove', mouseMove);\n window.addEventListener('drag', mouseMove);\n };\n return (React.createElement(ResizerBar, { ref: ref, className: \"th-divider\", onMouseDown: trackMouseStart, onDragStart: trackMouseStart }));\n};\n//# sourceMappingURL=ColumnDivider.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';\nimport { ColumnDivider } from '../components/ColumnDivider';\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, resizeableColumns, setColumnWidth, columnCount = 1, columnI = 0, }) {\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 'data-columnid': String(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, { zIndex: columnCount - columnI + 1 }),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps, { className: \"headerContent\" }),\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 resizeableColumns && columnI < columnCount - 1 && (React.createElement(ColumnDivider, { columnId: column.id, setColumnWidth: setColumnWidth }))));\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;}.hideHeaderDetails th{> *{opacity:0.1;}.th-divider{opacity:1;}}`;\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: 105, 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","/* 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: initialColumns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, resizeableColumns, }) => {\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, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight, setColumnWidth } = useColumns(allColumns, tableRef);\n const adjustedCellWidths = cellWidths.length === visible.length\n ? visible.map((col, i) => Number.isNaN(col.width || '') ? cellWidths[i] : col.width)\n : cellWidths;\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\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, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\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, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\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, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }))));\n const shouldRenderFooter = initialColumns.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: adjustedCellWidths }, 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, { 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, \"aria-label\": 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","export const blockInvalidCharacters = (e, invalidList) => {\n if (invalidList.includes(e.key))\n e.preventDefault();\n};\n//# sourceMappingURL=blockInvalidCharacters.js.map","export const invalidCharsList = ['-', '+', 'E', 'e'];\n//# sourceMappingURL=invalidCharactersNumeric.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';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { theme } from '../../theme';\nimport { Card } from '../Card';\nexport const DropdownContainer = styled(motion(Card.Surface)).withConfig({ displayName: \"vui--DropdownContainer\", componentId: \"vui--1yrw4mw\" }) `display:inline-flex;flex-direction:column;overflow:hidden;background-color:white;box-shadow:1px 4px 15px ${theme.colors.neutral.grey.base};border-radius:${theme.radius.base};padding:${theme.sizes.base};`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../Popover';\nexport const DropdownPopover = (_a) => {\n var { id, children, className, style, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"style\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus(), [anchorElement]); // Re-focus anchor when closed.\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth, placement: \"bottom-start\" }, popoverProps),\n React.createElement(AnimatePresence, null,\n React.createElement(DropdownContainer, { className: className, style: style, useAnchorWidth: useAnchorWidth, reversed: reversed, initial: { opacity: 0, y: -6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.2 } }, children))));\n};\n//# sourceMappingURL=DropdownPopover.js.map","import { __rest } from \"tslib\";\nimport React, { useRef } from 'react';\nimport { Button } from '../Button';\nimport { DropdownPopover } from './DropdownPopover';\nexport const Dropdown = (_a) => {\n var { id, shouldShow, setShouldShow, ctaIconSlot, ctaProps } = _a, dropdownProps = __rest(_a, [\"id\", \"shouldShow\", \"setShouldShow\", \"ctaIconSlot\", \"ctaProps\"]);\n const anchorRef = useRef(null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, Object.assign({ ref: anchorRef, \"aria-haspopup\": \"dialog\", \"aria-expanded\": shouldShow, \"aria-controls\": id, onClick: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(!shouldShow), icon: ctaIconSlot, dropdown: true }, ctaProps)),\n shouldShow && (React.createElement(DropdownPopover, Object.assign({ id: id, anchorElement: anchorRef.current, onShouldClose: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(false) }, dropdownProps)))));\n};\n//# sourceMappingURL=Dropdown.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, header, 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 }, header || (React.createElement(React.Fragment, null,\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","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';\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 React from 'react';\nimport styled from 'styled-components';\nconst ScreenReaderOnlyElement = styled.span.withConfig({ displayName: \"vui--ScreenReaderOnlyElement\", componentId: \"vui--ejkp56\" }) `position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;`;\n/**\n * The `ScreenReaderOnly` component is used to render content that is only visible to screen readers and assistive technologies. This component can be useful for providing additional context or information to users who rely on screen readers, while keeping the content visually hidden from sighted users.\n * * **This is not a replacement for `aria-label`.**\n *\n * Note: aria-label is intended for interactive elements or for elements made interactive via other ARIA declarations when there's no visible text in the DOM to serve as a label.\n *\n * In general, screen reader-only content should be reserved for information that is apparent visually but not apparent to blind screen reader users.\n *\n * **Example use cases:**\n * - Adding instructional cues and indicators\n * - Search input that is clearly a search bar to sighted users (search icon, etc.). A hidden, associated `<label>` element with \"Search orders\"\n * - Skip to links to take the user to the main content (still need to be visibile when focused)\n * - Breadcrumb navigation, making it clear with a \"you are here\" screen reader text\n */\nexport const ScreenReaderOnly = ({ children }) => {\n return React.createElement(ScreenReaderOnlyElement, null, children);\n};\n//# sourceMappingURL=ScreenReaderOnly.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\", type: \"button\" },\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\", type: \"button\" },\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;:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}:focus{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};outline:0;z-index:1;}}> .veeqo-components-active-button{: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, { type: \"button\", \"aria-pressed\": option.value === selected, 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';\nimport { theme } from '../../theme';\nexport const ShortcutKeysContainer = styled.div.withConfig({ displayName: \"vui--ShortcutKeysContainer\", componentId: \"vui--t1odf6\" }) `--kbdTextColor:${(props) => (props.$inverse ? '#ffffff' : '')};box-sizing:border-box;display:flex;align-items:center;gap:4px;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};font-size:${theme.text.bodySmall.fontSize};line-height:${theme.text.bodySmall.lineHeight};font-weight:${theme.text.bodySmall.fontWeight};text-decoration:${theme.text.bodySmall.textDecoration};letter-spacing:${theme.text.bodySmall.letterSpacing};`;\nexport const Kbd = styled.kbd.withConfig({ displayName: \"vui--Kbd\", componentId: \"vui--651mmm\" }) `box-sizing:border-box;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});display:grid;place-items:center;text-transform:capitalize;border:1px solid var(--kbdTextColor, ${theme.colors.neutral.ink.base});border-radius:3px;padding:1px 3px;font-size:inherit;line-height:inherit;min-width:20px;font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};`;\n//# sourceMappingURL=styled.js.map","// Map of UTF-16 characters to be used for modifier keys\nexport const ValidModifierKeysMap = {\n command: '⌘',\n windows: '⊞',\n shift: '⇧',\n ctrl: '⌃',\n option: '⌥',\n alt: 'alt',\n enter: '↵',\n delete: '⌫',\n escape: 'esc',\n up: '↑',\n right: '→',\n down: '↓',\n left: '←',\n space: 'space',\n};\n// Map of labels to be used for modifier keys\nexport const ValidModifierKeyssLabelMap = {\n command: 'Command',\n windows: 'Windows',\n shift: 'Shift',\n ctrl: 'Control',\n option: 'Option',\n alt: 'Alt',\n enter: 'Enter',\n delete: 'Delete',\n escape: 'Escape',\n up: 'Up',\n right: 'Right',\n down: 'Down',\n left: 'Left',\n space: 'Space',\n};\n// An example array of potential shortcut actions\nexport const exampleStorybookShortcutActions = [\n {\n label: 'Shortcut modal',\n mac: 'shift+?',\n windows: 'shift+?',\n },\n {\n label: 'Change view',\n mac: 'shift+option+1',\n windows: 'shift+alt+1',\n },\n {\n label: 'Search',\n mac: 'shift+space',\n windows: 'shift+space',\n },\n {\n label: 'Select all orders in the page',\n mac: 'shift+a',\n windows: 'shift+a',\n },\n {\n label: 'Select first row',\n mac: 'shift+1',\n windows: 'shift+1',\n },\n {\n label: 'Next order',\n mac: 'down',\n windows: 'down',\n },\n {\n label: 'Slect next order',\n mac: 'shift+down',\n windows: 'shift+down',\n },\n {\n label: 'Previous order',\n mac: 'up',\n windows: 'up',\n },\n {\n label: 'Select previous order',\n mac: 'shift+up',\n windows: 'shift+up',\n },\n {\n label: 'Use scale',\n mac: 'shift+w',\n windows: 'shift+w',\n },\n {\n label: 'Refresh rates',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Buy label and Print documents',\n mac: 'shift+b',\n windows: 'shift+b',\n },\n {\n label: 'Clear filters',\n mac: 'shift+c',\n windows: 'shift+c',\n },\n {\n label: 'Invoice',\n mac: 'shift+i',\n windows: 'shift+i',\n },\n {\n label: 'Packing slip',\n mac: 'shift+p',\n windows: 'shift+p',\n },\n {\n label: 'Shipping label',\n mac: 'shift+s',\n windows: 'shift+s',\n },\n {\n label: 'Return label',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Integrated Invoice with Shipping label',\n mac: 'shift+k',\n windows: 'shift+k',\n },\n {\n label: 'Integrated Packing Slip with Shipping Label',\n mac: 'shift+l',\n windows: 'shift+l',\n },\n];\n//# sourceMappingURL=utils.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ShortcutKeysContainer, Kbd } from './styled';\nimport { ValidModifierKeyssLabelMap, ValidModifierKeysMap } from './utils';\n/**\n * ShortcutKeys UI component\n *\n * Renders a keyboard shortcut string by splitting it on \"+\" and rendering each\n * key to a <kbd> component.\n *\n * Criteria for `shortcut` prop:\n * - ValidModifierKeys MUST always come before other keys e.g. `shift+a` is valid, `a+shift` is invalid\n * - If it's not a modifier key it must be a singular key e.g. `a`, `2` is valid and `a2` or `abcde` is invalid etc.\n * - A limit of 3 key combinations separated between the '+' symbol e.g. `shift+ctrl+a` is valid, `shift+ctrl+a+b` is invalid\n *\n */\nexport const ShortcutKeys = (_a) => {\n var { shortcut, label, inverse = false, displayLabel = false } = _a, props = __rest(_a, [\"shortcut\", \"label\", \"inverse\", \"displayLabel\"]);\n // Split the keys into individual <Kbd /> components\n const keysToRender = shortcut.split('+');\n // Replace modifier keys with the corresponding UTF-16 character if available.\n const keysToRenderComponents = keysToRender.map((key) => {\n if (ValidModifierKeysMap[key]) {\n return (React.createElement(Kbd, { key: `Key: ${key}`, \"aria-label\": ValidModifierKeyssLabelMap[key] }, ValidModifierKeysMap[key]));\n }\n return React.createElement(Kbd, { key: `Key: ${key}` }, key);\n });\n // Combine the <Kbd /> components to sit inside a single <ShortcutKeysContainer /> component.\n const shortcutElements = keysToRenderComponents.reduce((previousKbdElement, currentKbdElement) => (React.createElement(React.Fragment, null,\n previousKbdElement,\n \"+\",\n currentKbdElement)));\n return (React.createElement(ShortcutKeysContainer, Object.assign({ \"aria-label\": label, \"$inverse\": inverse }, props),\n shortcutElements,\n \" \",\n displayLabel ? React.createElement(\"span\", null, label) : null));\n};\n//# sourceMappingURL=ShortcutKeys.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 { BaseContainer } from '../BaseContainer';\nexport const Skeleton = styled(BaseContainer).attrs(() => ({\n 'aria-hidden': true,\n})).withConfig({ displayName: \"vui--Skeleton\", componentId: \"vui--7bl1ak\" }) `display:block;background:#f6f7f8;background:linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size:2500px 104px;cursor:progress;border-radius:4px;${({ width = '', height = '' }) => `\n width: ${width || '100%'};\n min-width: ${width};\n height: ${height || '20px'};\n min-height: ${height};\n `};@media (prefers-reduced-motion: no-preference){animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;}@keyframes placeHolderShimmer{0%{background-position:-1080px 0;}100%{background-position:1080px 0;}}`;\nSkeleton.displayName = 'Skeleton';\n//# sourceMappingURL=Skeleton.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;z-index:${theme.layers.tooltip};`;\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 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 { 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 { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\nexport const DropZoneContainer = styled.div.withConfig({ displayName: \"vui--DropZoneContainer\", componentId: \"vui--17v0v3c\" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","export var AcceptedFileTypes;\n(function (AcceptedFileTypes) {\n AcceptedFileTypes[\"CSV\"] = \".csv\";\n AcceptedFileTypes[\"JPEG\"] = \".jpeg\";\n AcceptedFileTypes[\"JPG\"] = \".jpg\";\n AcceptedFileTypes[\"GIF\"] = \".gif\";\n AcceptedFileTypes[\"PNG\"] = \".png\";\n})(AcceptedFileTypes || (AcceptedFileTypes = {}));\nexport var FileSizeUnit;\n(function (FileSizeUnit) {\n FileSizeUnit[\"KB\"] = \"KB\";\n FileSizeUnit[\"MB\"] = \"MB\";\n})(FileSizeUnit || (FileSizeUnit = {}));\nexport var InputState;\n(function (InputState) {\n InputState[\"VALID\"] = \"\";\n InputState[\"INVALID_FORMAT\"] = \"File is incorrect format\";\n InputState[\"INVALID_SIZE\"] = \"File size is too big\";\n InputState[\"INVALID_FORMAT_AND_SIZE\"] = \"File is incorrect format and too big\";\n})(InputState || (InputState = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const UploadGraphic = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"56\", height: \"56\", fill: \"none\", role: \"presentation\" },\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 28C0 12.536 12.536 0 28 0s28 12.536 28 28-12.536 28-28 28S0 43.464 0 28\" }),\n React.createElement(\"path\", { fill: \"#37424D\", d: \"M22.5 36c-1.517 0-2.812-.525-3.887-1.575-1.075-1.05-1.613-2.333-1.613-3.85 0-1.3.392-2.458 1.175-3.475s1.808-1.667 3.075-1.95c.417-1.533 1.25-2.775 2.5-3.725C25 20.475 26.417 20 28 20c1.95 0 3.604.68 4.962 2.038C34.322 23.396 35 25.05 35 27c1.15.133 2.104.63 2.862 1.488A4.407 4.407 0 0 1 39 31.5c0 1.25-.437 2.313-1.312 3.188C36.812 35.562 35.75 36 34.5 36H29c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 27 34v-5.15l-1.6 1.55L24 29l4-4 4 4-1.4 1.4-1.6-1.55V34h5.5c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C35.792 29.242 35.2 29 34.5 29H33v-2c0-1.383-.487-2.562-1.462-3.538C30.562 22.489 29.383 22 28 22s-2.562.488-3.538 1.462C23.489 24.438 23 25.618 23 27h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 19 30.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 22.5 34H25v2z\" })));\n//# sourceMappingURL=UploadGraphic.js.map","import React from 'react';\nimport { UploadGraphic } from '../../UploadGraphic';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadCopy = () => (React.createElement(Stack, { alignX: \"center\", alignY: \"center\", spacing: \"sm\", style: { pointerEvents: 'none' } },\n React.createElement(UploadGraphic, null),\n React.createElement(Text, { variant: \"subheadingSmall\", style: { paddingTop: sizes.sm } }, \"Browse files or drag them here\")));\n//# sourceMappingURL=UploadCopy.js.map","import React from 'react';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadFileErrors = ({ acceptedTypesCopy, maxSizeCopy }) => {\n if (!acceptedTypesCopy && !maxSizeCopy)\n return null;\n return (React.createElement(Stack, { alignX: \"start\", spacing: \"xs\" },\n acceptedTypesCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"Invalid format (\",\n acceptedTypesCopy,\n \")\"),\n maxSizeCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"File is too big (\",\n maxSizeCopy,\n \")\")));\n};\n//# sourceMappingURL=UploadFileErrors.js.map","import styled from 'styled-components';\nimport { Text } from '../../../Text';\nimport { colors } from '../../../../theme/modules/colors';\nimport { radius } from '../../../../theme/modules/radius';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nexport const SingleLineText = styled(Text).withConfig({ displayName: \"vui--SingleLineText\", componentId: \"vui--1aguyhc\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--1g0ca18\" }) `border:1px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};padding:${sizes.xs};${Text}{padding-left:${sizes.xs};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../../../Button';\nimport { CrossIcon } from '../../../../tempIcons/CrossIcon';\nimport { SingleLineText, UploadedFilesListStack } from './styled';\nexport const UploadedFile = ({ file, resetSelection, disabled }) => {\n if (!file)\n return null;\n return (React.createElement(UploadedFilesListStack, { alignX: \"between\", direction: \"horizontal\", alignY: \"center\" },\n React.createElement(SingleLineText, { variant: \"body\" }, file === null || file === void 0 ? void 0 : file.name),\n React.createElement(Button, { size: \"sm\", variant: \"flat\", onClick: resetSelection, icon: React.createElement(CrossIcon, null), \"aria-label\": \"Remove file\", disabled: disabled })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useState, forwardRef, useImperativeHandle, useRef, } from 'react';\nimport { DropZoneContainer } from './styled';\nimport { InputState, FileSizeUnit } from './constants';\nimport { UploadCopy } from './components/UploadCopy/UploadCopy';\nimport { setInputElFile } from './utils/setInputElFile/setInputElFile';\nimport { getFileSizeString, getTypePropForInputEl, getValidTypesString } from './utils';\nimport { Hint, Label, RootStack } from '../../hoc/withLabels/styled';\nimport { Stack } from '../Stack';\nimport { UploadFileErrors } from './components/UploadFileErrors/UploadFileErrors';\nimport { UploadedFile } from './components/UploadedFile/UploadedFile';\nimport { sizes } from '../../theme/modules/sizes';\nexport const UploadFile = forwardRef((_a, outerRef) => {\n var { id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, disabled } = _a, otherProps = __rest(_a, [\"id\", \"name\", \"maxBytes\", \"format\", \"fileTypes\", \"label\", \"required\", \"disabled\"]);\n const inputRef = useRef(null);\n useImperativeHandle(outerRef, () => inputRef.current, []);\n const [file, setFile] = useState();\n const [errorState, setErrorState] = useState(InputState.VALID);\n const isInvalidFormat = errorState === InputState.INVALID_FORMAT || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n const isOverMaxSize = errorState === InputState.INVALID_SIZE || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n // Computed properties based on params\n const maxSizeCopy = getFileSizeString({ maxBytes, format });\n const acceptedTypesCopy = getValidTypesString({ fileTypes });\n const acceptedTypesForInputEl = getTypePropForInputEl({ fileTypes });\n const clearFileSelection = () => {\n var _a;\n if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)\n inputRef.current.value = '';\n };\n // Tracks error states within the input element itself, using preset\n // error messages and assigns these to the input component based on the file\n const setInputValidation = ({ overMaxSize, invalidFormat, }) => {\n var _a;\n let error = InputState.VALID;\n if (invalidFormat && !overMaxSize) {\n error = InputState.INVALID_FORMAT;\n }\n else if (!invalidFormat && overMaxSize) {\n error = InputState.INVALID_SIZE;\n }\n else if (invalidFormat && overMaxSize) {\n error = InputState.INVALID_FORMAT_AND_SIZE;\n }\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(error);\n setErrorState(error);\n };\n // Processes file and updates the UI appropriately:\n const updateFiles = useCallback((files) => {\n if (!files.length) {\n setInputValidation({ invalidFormat: true });\n return;\n }\n const [newFile] = files;\n const hasExceededMaxSize = newFile.size > maxBytes;\n const [, extension] = newFile.type.split('/');\n const isTypeValid = fileTypes.find((validType) => validType.substring(1) === extension);\n const hasInvalidFormat = !isTypeValid;\n if (hasExceededMaxSize || hasInvalidFormat) {\n // Empty the inputRef's read-only fileList by clearing the value attribute,\n // since we have an invalid input.\n clearFileSelection();\n }\n else {\n // Update the files attribute of the input el, with the new file(s)\n setInputElFile({ fileList: files, elementId: id });\n }\n setInputValidation({\n invalidFormat: hasInvalidFormat,\n overMaxSize: hasExceededMaxSize,\n });\n setFile(newFile);\n }, [fileTypes, id, maxBytes]);\n // For focussing of input el and updating drop UI\n const onDragEnter = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // For unfocussing of input el and updating drop UI\n const onDragLeave = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n };\n // Prevents default browser behaviour\n const onDragOver = (event) => event.preventDefault();\n // Process file when dropped into eligible area\n const onDrop = (event) => {\n event.preventDefault();\n // Prevent reactions on dragging events that do not contain files\n if (!event.dataTransfer.files.length)\n return;\n updateFiles(event.dataTransfer.files);\n };\n // Removes input el's files, clears errors and removes file from react component\n const resetSelection = useCallback(() => {\n clearFileSelection();\n setFile(undefined);\n setInputValidation({\n invalidFormat: false,\n overMaxSize: false,\n });\n }, []);\n // Updates UI based on a native file input change. Attached via useEffect below\n const onInputChange = useCallback(() => {\n var _a;\n const files = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.files;\n if ((files === null || files === void 0 ? void 0 : files.length) && (files === null || files === void 0 ? void 0 : files.length) > 0)\n updateFiles(files);\n else\n resetSelection();\n }, [resetSelection, updateFiles]);\n useEffect(() => {\n const ref = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('cancel', resetSelection);\n return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('cancel', resetSelection);\n };\n }, [onInputChange, resetSelection]);\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(Label, { htmlFor: id },\n label,\n React.createElement(Stack, { spacing: 3, alignX: \"stretch\", style: { paddingTop: sizes.sm } },\n React.createElement(Hint, null,\n React.createElement(\"div\", null, acceptedTypesCopy),\n React.createElement(\"div\", null, maxSizeCopy)),\n React.createElement(DropZoneContainer, { onDrop: onDrop, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave },\n React.createElement(UploadCopy, null),\n React.createElement(\"input\", Object.assign({ ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required, disabled: disabled }, otherProps))))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection, disabled: disabled }),\n React.createElement(UploadFileErrors, { acceptedTypesCopy: isInvalidFormat ? acceptedTypesCopy : undefined, maxSizeCopy: isOverMaxSize ? maxSizeCopy : undefined }))));\n});\n//# sourceMappingURL=UploadFile.js.map","import { FileSizeUnit } from '../../constants';\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n//# sourceMappingURL=getFileSizeString.js.map","import { AcceptedFileTypes } from '../../constants';\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n if (isLast)\n base += ' and ';\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n if (!isPenultimate && !isLast && list.length > 2)\n base += ', ';\n });\n return base;\n};\n//# sourceMappingURL=getValidTypesString.js.map","/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property.\n *\n * E.g.\n *\n * const inputElAcceptProperty = getTypePropForInputEl({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant inputElAcceptProperty would equal \".csv\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getTypePropForInputEl = ({ fileTypes }) => {\n if (fileTypes.length === 1)\n return fileTypes[0];\n let base = '';\n fileTypes.forEach((fileType, index, list) => {\n const isLastElement = list.length - 1 === index && list.length > 1;\n if (isLastElement)\n base += `${fileType}`;\n else\n base += `${fileType}, `;\n });\n return base.trim();\n};\n//# sourceMappingURL=getTypePropForInputEl.js.map","/**\n * Updates the value of the files attribute held within an input elment. Used during DnD operations where\n * the input element's files need to kept in sync and updated.\n *\n * @param fileList - A list of files, typically extracted from the \"files\" attribute of an input element\n * @param elementId - The ID of the input element\n */\nexport const setInputElFile = ({ fileList, elementId }) => {\n const inputEl = document.getElementById(elementId);\n if (fileList.length) {\n inputEl.files = fileList;\n }\n};\n//# sourceMappingURL=setInputElFile.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});\n/**\n *\n * @deprecated\n *\n * use ViewTab component instead\n *\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","export var ViewTabTypes;\n(function (ViewTabTypes) {\n ViewTabTypes[\"saved\"] = \"saved\";\n ViewTabTypes[\"fixed\"] = \"fixed\";\n ViewTabTypes[\"draft\"] = \"draft\";\n})(ViewTabTypes || (ViewTabTypes = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const ThreeDotsIcon = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"4\", fill: \"none\", viewBox: \"0 -4 12 12\", role: \"presentation\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M2 .667C1.267.667.667 1.267.667 2S1.267 3.333 2 3.333c.734 0 1.334-.6 1.334-1.333S2.734.667 2 .667m8 0c-.733 0-1.333.6-1.333 1.333s.6 1.333 1.333 1.333c.734 0 1.334-.6 1.334-1.333S10.734.667 10 .667m-4 0c-.733 0-1.333.6-1.333 1.333S5.267 3.333 6 3.333c.734 0 1.334-.6 1.334-1.333S6.734.667 6 .667\" })));\n//# sourceMappingURL=ThreeDotsIcon.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';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { FlatButton } from '../Button/components/styled';\nimport { theme } from '../../theme';\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--13z4q4k\" }) `line-height:1;`;\nconst ThreeDotsIconStyling = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--ThreeDotsIconStyling\", componentId: \"vui--lo8tpb\" }) ``;\nconst CrossIconStyling = styled(CrossIcon).withConfig({ displayName: \"vui--CrossIconStyling\", componentId: \"vui--u5oj4b\" }) ``;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1nbpnol\" }) `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.dark};\n\n & > ${CounterText} {\n color: ${colors.neutral.grey.lightest};\n }\n `}`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--1fc3r48\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:${theme.sizes.sm};border:1px solid transparent;cursor:pointer;background-color:transparent;${({ customTextColour }) => `\n\n &:hover {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette, customTextColour }) => active &&\n `\n background-color: ${colourPalette.lightest};\n\n & > ${ThreeDotsIconStyling} {\n color: ${colourPalette.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colourPalette.dark};\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colourPalette.dark};\n }\n `}`;\nconst ViewButton = styled(FlatButton).withConfig({ displayName: \"vui--ViewButton\", componentId: \"vui--i4ro1b\" }) `padding:${theme.sizes.sm};box-sizing:border-box;border-radius:4px;border:none;position:relative;margin:0;padding:0;${({ customTextColour }) => `\n &:focus-visible {\n ${Contour} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\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--1cuc9yu\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { ViewButton, Contour, Text, CounterContainer, CounterText, IconStyling, ThreeDotsIconStyling, CrossIconStyling, };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTabTypes } from './types';\nimport { Contour, CounterContainer, CounterText, CrossIconStyling, CustomIconWrapper, IconStyling, Text, ThreeDotsIconStyling, ViewButton, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-view` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const ViewTab = React.forwardRef((_a, ref) => {\n var { id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, subAction, ariaContext } = _a, props = __rest(_a, [\"id\", \"iconSlot\", \"name\", \"type\", \"className\", \"colourPalette\", \"customTextColour\", \"count\", \"active\", \"onClick\", \"subAction\", \"ariaContext\"]);\n const classNames = generateClassNames(className);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const action = active && subAction ? subAction : onClick;\n const handleAction = () => action(id);\n const isDraft = type === ViewTabTypes.draft;\n const isSaved = type === ViewTabTypes.saved;\n const getLabelAction = () => {\n if (active && isDraft)\n return 'Delete';\n if (active && isSaved)\n return 'Edit';\n return '';\n };\n return (React.createElement(ViewButton, Object.assign({ className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container]), onClick: handleAction, role: \"tab\", \"aria-selected\": active, \"aria-label\": `${getLabelAction()} ${name} view ${count ? `with ${count} ${ariaContext}` : ''}`, customTextColour: customTextColour, ref: ref }, props),\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 !== undefined && count !== null && (React.createElement(CounterContainer, { \"data-testid\": \"countContainer\", active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { variant: \"subheadingSmall\" }, count))),\n isDraft && React.createElement(CrossIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"delete icon\" })),\n isSaved && active && React.createElement(ThreeDotsIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"edit icon\" })))));\n});\n//# sourceMappingURL=ViewTab.js.map","import styled from 'styled-components';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { colors } from '../../theme/modules/colors';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { InputGroup } from '../InputGroup';\nexport const ViewsWrapper = styled(Stack).withConfig({ displayName: \"vui--ViewsWrapper\", componentId: \"vui--x8ukf0\" }) `overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}gap:8px;height:inherit;padding:8px 6px 8px 12px;margin-left:0;`;\nexport const Container = styled(Stack).withConfig({ displayName: \"vui--Container\", componentId: \"vui--mlh8wa\" }) `background-color:${colors.neutral.grey.lightest};`;\nexport const StyledLeftIcon = styled(LeftArrowIcon).withConfig({ displayName: \"vui--StyledLeftIcon\", componentId: \"vui--193620d\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledRightIcon = styled(RightArrowIcon).withConfig({ displayName: \"vui--StyledRightIcon\", componentId: \"vui--erlipg\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuIcon = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--StyledMenuIcon\", componentId: \"vui--eg23b0\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuButton = styled(Button).withConfig({ displayName: \"vui--StyledMenuButton\", componentId: \"vui--1o9jbht\" }) `background-color:white;&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledLeftButton = styled(Button).withConfig({ displayName: \"vui--StyledLeftButton\", componentId: \"vui--wtwmiz\" }) `background-color:white;&:disabled{background-color:white;${StyledLeftIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledRightButton = styled(Button).withConfig({ displayName: \"vui--StyledRightButton\", componentId: \"vui--1ycuwov\" }) `background-color:white;&:disabled{background-color:white;${StyledRightIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--StyledInputGroup\", componentId: \"vui--l3ez4z\" }) `padding-right:8px;margin-left:0;& > *:first-child:last-child{border-radius:4px !important;}`;\n//# sourceMappingURL=styled.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { usePrevious } from 'react-use';\nimport { createViewPositionArray, getNextViewPosition, getPrevViewPosition } from '../utils';\nexport const useSetScrollPosition = (containerRef, children) => {\n var _a;\n const [leftDisabled, setLeftDisabled] = useState(true);\n const [rightDisabled, setRightDisabled] = useState(false);\n const [viewStartPositions, setViewStartPositions] = useState([]);\n const activeTab = (_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('[aria-selected = true]');\n const prevActiveTab = usePrevious(activeTab);\n const handleScroll = useCallback(() => {\n var _a, _b;\n if (containerRef.current.scrollLeft > 0) {\n setLeftDisabled(false);\n }\n else {\n if (document.getElementById('left-arrow') === document.activeElement) {\n (_a = document.getElementById('right-arrow')) === null || _a === void 0 ? void 0 : _a.focus();\n }\n setLeftDisabled(true);\n }\n const maxScrollLeft = containerRef.current.scrollWidth - containerRef.current.clientWidth;\n // -10 to prevent javascript assertion errors on floating points\n if (containerRef.current.scrollLeft >= maxScrollLeft - 10) {\n if (document.getElementById('right-arrow') === document.activeElement) {\n (_b = document.getElementById('left-arrow')) === null || _b === void 0 ? void 0 : _b.focus();\n }\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const handleResize = useCallback(() => {\n var _a;\n if (typeof ((_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.scrollWidth) === undefined)\n return;\n if (containerRef.current.scrollWidth - containerRef.current.getBoundingClientRect().width < 5) {\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const toNextScrollPosition = useCallback(() => {\n const newPosition = getNextViewPosition(viewStartPositions, containerRef.current.scrollLeft, containerRef.current.clientWidth);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n const toPrevScrollPosition = useCallback(() => {\n const newPosition = getPrevViewPosition(viewStartPositions, containerRef.current.scrollLeft);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n useEffect(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!containerRef)\n return;\n if (((_b = (_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.length) &&\n ((_d = (_c = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _c === void 0 ? void 0 : _c.children) === null || _d === void 0 ? void 0 : _d.length) !== viewStartPositions.length &&\n viewStartPositions.length > 0 &&\n viewStartPositions.length < children.length) {\n // scrolls to the last view, when a new item is added\n containerRef.current.scrollTo({\n left: containerRef.current.scrollWidth - containerRef.current.clientWidth,\n top: 0,\n behavior: 'smooth',\n });\n // computes the x position of the new item\n setViewStartPositions([\n ...viewStartPositions,\n viewStartPositions[viewStartPositions.length - 1] +\n ((_f = (_e = containerRef.current.children[viewStartPositions.length - 1]) === null || _e === void 0 ? void 0 : _e.getBoundingClientRect().x) !== null && _f !== void 0 ? _f : 0) -\n 20,\n ]);\n }\n if (((_h = (_g = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _g === void 0 ? void 0 : _g.children) === null || _h === void 0 ? void 0 : _h.length) && viewStartPositions.length === 0) {\n setViewStartPositions(createViewPositionArray(containerRef.current));\n }\n // scrolls to active tab when page loads\n if (activeTab !== prevActiveTab &&\n activeTab !== null &&\n ((_k = (_j = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _j === void 0 ? void 0 : _j.children) === null || _k === void 0 ? void 0 : _k.length) === viewStartPositions.length) {\n const index = Array.from(containerRef.current.children).indexOf(activeTab);\n containerRef.current.scrollTo({\n left: viewStartPositions[index],\n top: 0,\n behavior: 'smooth',\n });\n }\n handleResize();\n window.addEventListener('resize', () => handleResize());\n containerRef.current.addEventListener('scroll', () => handleScroll());\n // eslint-disable-next-line consistent-return\n return () => {\n window.removeEventListener('resize', () => handleResize());\n };\n }, [\n containerRef,\n children,\n handleResize,\n handleScroll,\n viewStartPositions,\n activeTab,\n prevActiveTab,\n ]);\n return { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition };\n};\n//# sourceMappingURL=useSetScrollPosition.js.map","/**\n * A function to get the 3rd next scroll value using an array of start positions\n */\nexport const getNextViewPosition = (viewPositionsArray, currentScroll, containerWidth) => {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (viewPositionsArray[i + 3] === undefined) {\n return currentScroll - containerWidth;\n }\n if (viewPositionsArray[i] >= currentScroll) {\n return viewPositionsArray[i + 3];\n }\n }\n return currentScroll - containerWidth; // if currentScroll is greater than the last ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * A function to get the 3rd previous scoll value using an array of start positions\n */\nexport const getPrevViewPosition = (viewPositionsArray, currentScroll) => {\n const reverseArray = viewPositionsArray.slice().reverse();\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (reverseArray[i + 3] === undefined) {\n return 0;\n }\n if (reverseArray[i] < currentScroll) {\n return reverseArray[i + 3];\n }\n }\n return 0; // if currentScroll is less than the first ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * This produces an array of all x positions of child elements\n */\nexport const createViewPositionArray = (containerRef) => {\n const viewPositions = Object.values(containerRef.children).map((el) => {\n // -20 so movement stops at beginning of view, due to x value not accounting for padding\n return el.getBoundingClientRect().x - 20;\n });\n return viewPositions;\n};\n//# sourceMappingURL=utils.js.map","import React, { useRef } from 'react';\nimport { Container, StyledLeftButton, StyledLeftIcon, StyledMenuButton, StyledMenuIcon, StyledRightButton, StyledRightIcon, StyledInputGroup, ViewsWrapper, } from './styled';\nimport { useSetScrollPosition } from './hooks/useSetScrollPosition';\nexport const ViewsContainer = React.forwardRef(({ children, onClickMenu, ariaMenuControls, ariaMenuExpanded }, menuRef) => {\n const viewsRef = useRef(null);\n const { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition } = useSetScrollPosition(viewsRef, children);\n return (React.createElement(Container, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(ViewsWrapper, { ref: viewsRef, id: \"views\", role: \"tablist\", alignY: \"center\", direction: \"horizontal\" }, children),\n React.createElement(StyledInputGroup, null,\n (!leftDisabled || !rightDisabled) && (React.createElement(React.Fragment, null,\n React.createElement(StyledLeftButton, { id: \"left-arrow\", icon: React.createElement(StyledLeftIcon, null), disabled: leftDisabled, onClick: toPrevScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the left\" }),\n React.createElement(StyledRightButton, { id: \"right-arrow\", icon: React.createElement(StyledRightIcon, null), disabled: rightDisabled, onClick: toNextScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the right\" }))),\n React.createElement(StyledMenuButton, { icon: React.createElement(StyledMenuIcon, null), variant: \"flat\", onClick: onClickMenu, \"aria-label\": \"open menu\", \"aria-controls\": ariaMenuControls, \"aria-expanded\": ariaMenuExpanded, \"aria-haspopup\": ariaMenuControls ? 'dialog' : undefined, ref: menuRef }))));\n});\n//# sourceMappingURL=ViewsContainer.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';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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: \"pound\", type: \"number\", value: rest.pound, hasError: hasError, step: \"any\", min: \"0\", onKeyDown: blockInvalidChars }, 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: \"ounce\", type: \"number\", value: rest.ounce, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","generateId","prefix","randomId","uid","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","filter","Boolean","join","hexToRgb","hex","hexTmp","replace","m","r","g","b","result","exec","parseInt","getOpaqueHexColor","rgb","defaultAllowedHostnames","isExternalLink","urlOrPath","allowedHostnames","startsWith","hostname","urlHostname","URL","some","toLowerCase","allowedHostname","TABBABLE_SELECTORS","useHandleFocus","popperElement","anchorElement","onClose","disableFocusLock","useEffect","focusableElements","querySelectorAll","setTimeout","focus","focusWithinPopper","event","key","shiftKey","stopPropagation","preventDefault","addEventListener","removeEventListener","handleKeyDown","firstElement","lastElement","activeElement","handleFocusTrap","Popover","_a","passedId","placement","onShouldClose","removeBackdrop","useAnchorWidth","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","ref","popper","minWidth","clientWidth","onKeyDown","TailSpin","width","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","to","dur","repeatCount","cx","cy","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","icon","dropdown","loading","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","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","listItemMarkup","map","Fragment","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","AlertContainer","colours","AttentionIcon","HelpIcon","InfoIcon","SuccessIcon","SpacingMap","IconSizeMap","IconMap","warning","recommend","ColourMap","Alert","passedColours","rightActions","titleSlot","message","divProps","IconSlot","isXsSize","margin","gap","minHeight","actionProps","padding","CommonAnchor","a","Anchor","href","rel","isExternal","setDefaultRelValue","Container","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","useRef","handleClickAway","current","contains","target","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","config","withTriangle","usedConfig","modifiers","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","shouldShow","setShouldShow","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","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","CalendarGrid","AriaCalendarGrid","weekdayStyle","CalendarGridHeader","day","CalendarHeaderCell","CalendarGridBody","date","CalendarCell","buttonStyles","css","calenderCellStyles","getTextStyles","textTheme","headerStyles","StyledRangeCalendar","RangeCalendar","LeftArrowIcon","_b","disabledRanges","disallowWeekends","isMultiMonth","focusedDate","setFocusedDate","start","locale","useLocale","isDateUnavailable","useCallback","isWeekend","interval","compare","focusedValue","onFocusChange","visibleDuration","months","slot","Heading","display","overflow","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","Choice","hint","bordered","Accessory","labelVariant","inputPosition","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","Label","Hint","Error","RootStack","useId","withLabels","marginBottom","hasError","withDeprecated","DateRangeGroup","Group","$hasError","DateRangeInput","shouldForceLeadingZeros","minValue","maxvalue","startValue","endValue","isDisabled","isReadOnly","ariaDescribedBy","ariaLabelledBy","onChangeStartDate","onChangeEndDate","DateField","maxValue","DateInput","segment","DateSegment","SelectInput","select","sizeVariant","Select","hidden","Slider","switched","Switch","small","Toggle","choiceProps","DEFAULT_PREVIOUS_PERIOD_OPTIONS","ComparePreviousPeriod","selectedPreviousPeriod","setSelectedPreviousPeriod","showCompareSelect","setShowCompareSelect","whiteSpace","newValue","newOption","find","DateRanges","getDateRange","today","now","getLocalTimeZone","dateRange","TODAY","end","YESTERDAY","subtract","days","LAST_7_DAYS","LAST_30_DAYS","LAST_90_DAYS","LAST_MONTH","lastMonth","startOfMonth","endOfMonth","LAST_12_MONTHS","WEEK_TO_DATE","startOfWeek","language","MONTH_TO_DATE","YEAR_TO_DATE","startOfYear","range","CalendarDate","year","month","timeRangeToDateRange","DATE_RANGE_OPTIONS","DEFAULT_SELECTION","DEFAULT_RANGE","DEFAULT_PRESET","checkIfDateRangeInvalid","selectedRange","presortStart","presortEnd","sort","disabledStart","disabledEnd","Divider","DateRangePicker","showDatePresets","onReset","selectedPreset","setSelectedPreset","setSelectedRange","previousPeriodProps","updateDateSegment","newRange","isDateRangeInvalid","matchedPreset","reduce","optionDateRange","optionStart","optionEnd","checkForMatchingPreset","showPreviousPeriod","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","index","array","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","widths","Array","cell","getBoundingClientRect","resizeObserverCallback","throttle","CustomEvent","Event","eventType","data","bubbles","cancelable","useColumnWidths","columns","columnIds","getColumnWidths","cols","obj","columnWidths","setColumnWidths","newColumnWidths","keys","forEach","JSON","stringify","setColumnWidth","column","lastColumn","newWidth","_c","querySelector","calculateWidth","evt","dispatchEvent","customEventEmitter","useColumns","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","renderCell","row","actions","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","ResizerBar","ColumnDivider","createRef","mouseMove","minTranslate","dragDivider","dragInitX","tableHeaders","translate","Math","parentElement","classList","add","initWidth","contentWidth","deltaX","mouseUp","remove","trackMouseStart","onMouseDown","onDragStart","onChangeSort","resizeableColumns","columnCount","columnI","sortable","toString","String","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","entry","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","disabledRowIds","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","initialColumns","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","adjustedCellWidths","Number","isNaN","loadingRows","random","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","newColumns","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","RegExp","test","StyledTextField","StyledButton","blockInvalidCharacters","invalidList","invalidCharsList","blockInvalidChars","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","DropdownContainer","DropdownPopover","popoverProps","AnimatePresence","y","ctaIconSlot","ctaProps","dropdownProps","anchorRef","useClickOutside","isOpen","escapeListener","clickListener","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","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","tab","NonSelectableText","GroupLabel","MainIcon","$shouldShow","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","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","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","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","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","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","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","blur","ScreenReaderOnlyElement","ScreenReaderOnly","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","ShortcutKeysContainer","$inverse","Kbd","kbd","ValidModifierKeysMap","command","windows","shift","ctrl","enter","delete","escape","up","down","space","ValidModifierKeyssLabelMap","ShortcutKeys","shortcut","inverse","displayLabel","shortcutElements","split","previousKbdElement","currentKbdElement","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","Skeleton","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","floor","decimalPlaces","pop","resultValue","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","borderColor","ToggleButton","tabIndex","DropZoneContainer","AcceptedFileTypes","FileSizeUnit","InputState","UploadGraphic","UploadCopy","pointerEvents","paddingTop","UploadFileErrors","acceptedTypesCopy","maxSizeCopy","SingleLineText","UploadedFilesListStack","UploadedFile","file","resetSelection","UploadFile","outerRef","maxBytes","format","MB","fileTypes","required","inputRef","useImperativeHandle","setFile","errorState","setErrorState","VALID","isInvalidFormat","INVALID_FORMAT","INVALID_FORMAT_AND_SIZE","isOverMaxSize","INVALID_SIZE","baseString","KB","getFileSizeString","fileType","list","iterable","isLast","isPenultimate","CSV","GIF","JPEG","JPG","PNG","getValidTypesString","acceptedTypesForInputEl","isLastElement","getTypePropForInputEl","clearFileSelection","setInputValidation","overMaxSize","invalidFormat","setCustomValidity","updateFiles","files","newFile","hasExceededMaxSize","extension","hasInvalidFormat","validType","substring","fileList","elementId","inputEl","getElementById","setInputElFile","onInputChange","onDrop","dataTransfer","onDragEnter","onDragOver","onDragLeave","accept","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","counter","View","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","ViewTabTypes","ThreeDotsIcon","ThreeDotsIconStyling","CrossIconStyling","ViewButton","ViewTab","subAction","ariaContext","ViewsWrapper","StyledLeftIcon","StyledRightIcon","StyledMenuIcon","StyledMenuButton","StyledLeftButton","StyledRightButton","StyledInputGroup","useSetScrollPosition","leftDisabled","setLeftDisabled","rightDisabled","setRightDisabled","viewStartPositions","setViewStartPositions","activeTab","prevActiveTab","usePrevious","maxScrollLeft","handleResize","toNextScrollPosition","newPosition","viewPositionsArray","currentScroll","containerWidth","getNextViewPosition","behavior","toPrevScrollPosition","reverseArray","getPrevViewPosition","_d","_e","_f","_g","_h","_j","_k","createViewPositionArray","ViewsContainer","onClickMenu","ariaMenuControls","ariaMenuExpanded","menuRef","viewsRef","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce"],"mappings":"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","x_google_ignoreList":[14]}
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","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/styled.ts","../src/utils/buildClassnames.ts","../src/utils/color.ts","../src/utils/isExternalLink.ts","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Popover/hooks/useHandleFocus.ts","../src/components/Popover/Popover.tsx","../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/Dropdown/styled.ts","../src/components/Dropdown/DropdownPopover.tsx","../src/components/Dropdown/Dropdown.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/hooks/useId.ts","../src/components/RangeCalendar/components/utils.ts","../src/components/ActionMenu/styled.ts","../src/components/ActionMenu/ActionMenu.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Alert/styled.ts","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/HelpIcon.tsx","../src/tempIcons/InfoIcon.tsx","../src/tempIcons/SuccessIcon.tsx","../src/components/Alert/constants.ts","../src/tempIcons/WarningIcon.tsx","../src/tempIcons/RecommendIcon.tsx","../src/components/Alert/Alert.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/components/styled.ts","../src/components/Tooltip/types.ts","../src/components/Tooltip/components/TooltipPopover.tsx","../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/RangeCalendar/components/CalendarGrid.tsx","../src/components/RangeCalendar/components/StyledRangeCalendar/buttonStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/calendarCellStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/headerStyles.ts","../src/components/RangeCalendar/components/StyledRangeCalendar/StyledRangeCalendar.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/RangeCalendar/RangeCalendar.tsx","../src/components/Choice/components/styled.ts","../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/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.tsx","../src/components/DateRangeInput/styled.ts","../src/components/DateRangeInput/index.ts","../src/components/DateRangeInput/DateRangeInput.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/DateRangePicker/components/constants.ts","../src/components/DateRangePicker/components/ComparePreviousPeriod.tsx","../src/components/DateRangePicker/constants.ts","../src/components/DateRangePicker/utils.ts","../src/components/DateRangePicker/components/Divider.tsx","../src/components/DateRangePicker/DateRangePicker.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/utils/customEventEmitter.ts","../src/components/DataTable/hooks/useColumnWidths.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/components/ColumnDivider.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/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/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/utils/blockInvalidCharacters.ts","../src/utils/invalidCharactersNumeric.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../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/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/ScreenReaderOnly/ScreenReaderOnly.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/ShortcutKeys/styled.ts","../src/components/ShortcutKeys/utils.ts","../src/components/ShortcutKeys/ShortcutKeys.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Skeleton/Skeleton.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/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/UploadFile/styled.tsx","../src/components/UploadFile/constants.ts","../src/components/UploadFile/UploadGraphic.tsx","../src/components/UploadFile/components/UploadCopy/UploadCopy.tsx","../src/components/UploadFile/components/UploadFileErrors/UploadFileErrors.tsx","../src/components/UploadFile/components/UploadedFile/styled.ts","../src/components/UploadFile/components/UploadedFile/UploadedFile.tsx","../src/components/UploadFile/UploadFile.tsx","../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts","../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts","../src/components/UploadFile/utils/getTypePropForInputEl/getTypePropForInputEl.ts","../src/components/UploadFile/utils/setInputElFile/setInputElFile.ts","../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/ViewTab/types.ts","../src/tempIcons/ThreeDotsIcon.tsx","../src/components/ViewTab/styled.ts","../src/components/ViewTab/ViewTab.tsx","../src/components/ViewsContainer/styled.ts","../src/components/ViewsContainer/hooks/useSetScrollPosition.ts","../src/components/ViewsContainer/utils.ts","../src/components/ViewsContainer/ViewsContainer.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","/******************************************************************************\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 { uid } from 'uid/secure';\nexport const generateId = (prefix) => {\n const randomId = uid();\n if (!prefix)\n return randomId;\n return `${prefix}-${randomId}`;\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--kmoo2l\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--9esryp\" }) `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","export const defaultAllowedHostnames = ['app.veeqo.com'];\n/**\n * Check if a URL/path string is an external link\n * @param {string} urlOrPath - URL or path\n * @param {string[]} allowedHostnames - List of allowed hostnames - default: ['app.veeqo.com']\n\n * @returns {Boolean}\n */\nexport function isExternalLink(urlOrPath, allowedHostnames = defaultAllowedHostnames) {\n // Check if the string starts with 'http://' or 'https://'\n if (urlOrPath.startsWith('http://') || urlOrPath.startsWith('https://')) {\n const { hostname: urlHostname } = new URL(urlOrPath);\n // Compare the hostname to a list of allowed hostnames\n return !allowedHostnames.some((hostname) => urlHostname.toLowerCase() === hostname.toLowerCase());\n }\n // Check if the string starts with '//'\n if (urlOrPath.startsWith('//')) {\n const { hostname } = new URL(`http:${urlOrPath}`);\n // Compare the hostname to a list of allowed hostnames (case-insensitive)\n return !allowedHostnames.some((allowedHostname) => hostname.toLowerCase() === allowedHostname.toLowerCase());\n }\n // It's a partial path, consider it internal\n return false;\n}\n//# sourceMappingURL=isExternalLink.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 if (!anchorElement.hasAttribute('aria-expanded')) {\n console.warn('Popover - aria-expanded not set on anchor element.', anchorElement);\n anchorElement.setAttribute('aria-expanded', 'true');\n }\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 console.warn('Popover - aria-controls not set on anchor element.', anchorElement);\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 console.warn('Popover - aria-haspopup not set on anchor element.', anchorElement);\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 { useEffect } from 'react';\nconst TABBABLE_SELECTORS = 'input:not([disabled]), summary:not([disabled]), a[href]:not([disabled]), button:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nexport const useHandleFocus = ({ popperElement, anchorElement, onClose, disableFocusLock = false, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock)\n return;\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n if (focusableElements.length < 1)\n return;\n setTimeout(() => {\n focusableElements[0].focus();\n }, 0);\n }, [popperElement, disableFocusLock]);\n /**\n * Sets up tabbing into the popover.\n *\n * When the popover is open (pre-requisite for this being ran), and the user clicks `TAB`\n * then the tab should move **into** the popover, instead of the natural tab order.\n */\n useEffect(() => {\n if (!popperElement || !popperElement)\n return;\n const focusWithinPopper = (event) => {\n if (event.key === 'Tab' && !event.shiftKey) {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n // When nothing is focusable within the popover, close popover and allow natural tab order.\n if (focusableElements.length < 1) {\n onClose();\n return;\n }\n focusableElements[0].focus();\n event.stopPropagation();\n event.preventDefault();\n }\n };\n // When tab occurs on ref focus, if focusable elements in popover focus first.\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.addEventListener('keydown', focusWithinPopper);\n // eslint-disable-next-line consistent-return\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.removeEventListener('keydown', focusWithinPopper);\n }, [anchorElement, popperElement, onClose]);\n /**\n * Creates focus trap within the popover itself. Stopping users tabbing back to outside the\n * popover, or forward past the last scrollable element within.\n */\n const handleFocusTrap = (event) => {\n const focusableElements = popperElement.querySelectorAll(TABBABLE_SELECTORS);\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n // If shift tabbing (BACK) and on the first element, loop to last element.\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n // If tabbing (FORWARD) and on the last element, loop to first element.\n }\n else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n };\n const handleKeyDown = (event) => {\n if (!popperElement)\n return;\n // Handle escape\n if (event.key === 'Escape') {\n onClose();\n // Check we should enforce focus trap.\n }\n else if (!disableFocusLock && event.key === 'Tab') {\n handleFocusTrap(event);\n }\n };\n return {\n handleKeyDown,\n };\n};\n//# sourceMappingURL=useHandleFocus.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 { Portal } from '../Portal';\nimport { theme } from '../../theme';\nimport { PopoverDialog, Backdrop } from './styled';\nimport { generateId } from '../../utils';\nimport { useUpdateAriaAnchor } from './hooks/useUpdateAriaAnchor';\nimport { useHandleFocus } from './hooks/useHandleFocus';\nexport const Popover = (_a) => {\n var { id: passedId, children, zIndex = theme.layers.popup, placement = 'bottom', anchorElement, rootElementRef, onShouldClose, style, disableFocusLock, removeBackdrop = false, useAnchorWidth } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"removeBackdrop\", \"useAnchorWidth\"]);\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 const onClose = () => {\n anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n onShouldClose === null || onShouldClose === void 0 ? void 0 : onShouldClose();\n };\n const { handleKeyDown } = useHandleFocus({\n popperElement,\n anchorElement,\n onClose,\n disableFocusLock,\n });\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 !removeBackdrop && (React.createElement(Backdrop, { onClick: onClose, zIndex: zIndex, \"data-testid\": \"popover-backdrop\" })),\n React.createElement(PopoverDialog, Object.assign({ open: true, id: id, zIndex: zIndex, ref: setPopperElement, style: Object.assign(Object.assign(Object.assign({}, styles.popper), style), (useAnchorWidth ? { minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.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--exbqdz\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ $loading }) => ($loading ? 'opacity: 0;' : null)};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 line-height: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}`;\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:${theme.colors.neutral.grey.light};}&:active{background-color:${theme.colors.neutral.grey.light};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{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};line-height:${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};}&:focus-visible{outline:0;box-shadow:0 0 0 4px white,0 0 0 8px ${theme.colors.secondary.blue.light};border-radius:4px;}`;\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 && 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 { motion } from 'framer-motion';\nimport { theme } from '../../theme';\nimport { Card } from '../Card';\nexport const DropdownContainer = styled(motion(Card.Surface)).withConfig({ displayName: \"vui--DropdownContainer\", componentId: \"vui--1yrw4mw\" }) `display:inline-flex;flex-direction:column;overflow:hidden;background-color:white;box-shadow:1px 4px 15px ${theme.colors.neutral.grey.base};border-radius:${theme.radius.base};padding:${theme.sizes.base};`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../Popover';\nexport const DropdownPopover = (_a) => {\n var { id, children, className, style, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"style\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus(), [anchorElement]); // Re-focus anchor when closed.\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth, placement: \"bottom-start\" }, popoverProps),\n React.createElement(AnimatePresence, null,\n React.createElement(DropdownContainer, { className: className, style: style, useAnchorWidth: useAnchorWidth, reversed: reversed, initial: { opacity: 0, y: -6 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -6 }, transition: { duration: 0.2 } }, children))));\n};\n//# sourceMappingURL=DropdownPopover.js.map","import { __rest } from \"tslib\";\nimport React, { useRef } from 'react';\nimport { Button } from '../Button';\nimport { DropdownPopover } from './DropdownPopover';\nexport const Dropdown = (_a) => {\n var { id, shouldShow, setShouldShow, ctaIconSlot, ctaProps } = _a, dropdownProps = __rest(_a, [\"id\", \"shouldShow\", \"setShouldShow\", \"ctaIconSlot\", \"ctaProps\"]);\n const anchorRef = useRef(null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, Object.assign({ ref: anchorRef, \"aria-haspopup\": \"dialog\", \"aria-expanded\": shouldShow, \"aria-controls\": id, onClick: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(!shouldShow), icon: ctaIconSlot, dropdown: true }, ctaProps)),\n shouldShow && (React.createElement(DropdownPopover, Object.assign({ id: id, anchorElement: anchorRef.current, onShouldClose: () => setShouldShow === null || setShouldShow === void 0 ? void 0 : setShouldShow(false) }, dropdownProps)))));\n};\n//# sourceMappingURL=Dropdown.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 { useMemo } from 'react';\nimport { generateId } from '../utils';\nexport const useId = ({ id, prefix }) => useMemo(() => id || generateId(prefix), [id, prefix]);\n//# sourceMappingURL=useId.js.map","export const getTextStyles = (textTheme) => `\n font-family: ${textTheme.fontFamily};\n font-style: ${textTheme.fontStyle};\n font-weight: ${textTheme.fontWeight};\n font-size: ${textTheme.fontSize};\n line-height: ${textTheme.lineHeight};\n color: ${textTheme.color};\n text-decoration: ${textTheme.textDecoration};\n letter-spacing: ${textTheme.letterSpacing};\n`;\n//# sourceMappingURL=utils.js.map","import { MenuItem as AriaMenuItem } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../RangeCalendar/components/utils';\nexport const MenuItem = styled(AriaMenuItem).withConfig({ displayName: \"vui--MenuItem\", componentId: \"vui--1vhrzmz\" }) `display:block;cursor:pointer;margin:${theme.sizes.xs};padding:${theme.sizes.sm};border-radius:${theme.radius.base};outline:0;&:is(a){${getTextStyles(theme.text.link)}}&:is(div){${getTextStyles(theme.text.body)}}white-space:nowrap;&[data-focused]{color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&[data-hovered]{background-color:${theme.colors.neutral.grey.light};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.lightest};color:${theme.colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Menu } from 'react-aria-components';\nimport { Dropdown } from '../Dropdown';\nimport { useId } from '../../hooks';\nimport { MenuItem } from './styled';\nexport const ActionMenu = ({ id, menuLabel, ctaProps, actions }) => {\n var _a;\n const [shouldShow, setShouldShow] = useState(false);\n const idComputed = useId({ id, prefix: 'action-menu' });\n const onKeyDown = ({ code }) => {\n if (code === 'Escape' || code === 'Tab')\n setShouldShow(false);\n };\n return (React.createElement(Dropdown, { id: idComputed, style: { padding: '0' }, shouldShow: shouldShow, setShouldShow: setShouldShow, ctaProps: Object.assign({ size: 'sm' }, ctaProps), useAnchorWidth: true, onKeyDown: onKeyDown },\n React.createElement(Menu, { onClose: () => setShouldShow(false), \"aria-label\": menuLabel || ((_a = ctaProps.children) === null || _a === void 0 ? void 0 : _a.toString()) }, actions === null || actions === void 0 ? void 0 : actions.map((action) => {\n var _a;\n return (React.createElement(MenuItem, Object.assign({}, action, { key: action.id || ((_a = action.children) === null || _a === void 0 ? void 0 : _a.toString()) })));\n }))));\n};\n//# sourceMappingURL=ActionMenu.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 { Stack } from '../Stack';\nimport { theme } from '../../theme';\nexport const AlertContainer = styled(Stack).attrs({\n direction: 'horizontal',\n alignX: 'between',\n alignY: 'top',\n spacing: 0,\n}).withConfig({ displayName: \"vui--AlertContainer\", componentId: \"vui--u8ngai\" }) `border:1px solid ${({ colours: { primary } }) => primary};border-radius:${theme.radius.base};background-color:${({ colours: { background } }) => background};`;\n//# sourceMappingURL=styled.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 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';\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","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 { AttentionIcon } from '../../tempIcons/AttentionIcon';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nimport { RecommendIcon } from '../../tempIcons/RecommendIcon';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { WarningIcon } from '../../tempIcons/WarningIcon';\nimport { theme } from '../../theme';\nexport const SpacingMap = {\n base: theme.sizes.base,\n sm: theme.sizes[3],\n xs: theme.sizes.sm,\n};\nexport const IconSizeMap = {\n base: theme.sizes.md,\n sm: theme.sizes[5],\n xs: theme.sizes[5],\n};\nexport const IconMap = {\n default: InfoIcon,\n error: AttentionIcon,\n success: SuccessIcon,\n info: HelpIcon,\n warning: WarningIcon,\n recommend: RecommendIcon,\n};\nexport const ColourMap = {\n default: {\n primary: theme.colors.neutral.ink.base,\n background: theme.colors.neutral.grey.lightest,\n },\n error: {\n primary: theme.colors.secondary.red.base,\n background: theme.colors.secondary.red.lightest,\n },\n success: {\n primary: theme.colors.secondary.green.base,\n background: theme.colors.secondary.green.lightest,\n },\n info: {\n primary: theme.colors.secondary.blue.base,\n background: theme.colors.secondary.blue.lightest,\n },\n warning: {\n primary: theme.colors.secondary.orange.base,\n background: theme.colors.secondary.orange.lightest,\n },\n recommend: {\n primary: theme.colors.secondary.purple.dark,\n background: theme.colors.secondary.purple.lightest,\n },\n};\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const WarningIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"currentColor\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\", fill: \"none\" }),\n React.createElement(\"path\", { d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" })));\n//# sourceMappingURL=WarningIcon.js.map","import React from 'react';\nexport const RecommendIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M18 8L19.25 5.25L22 4L19.25 2.75L18 0L16.75 2.75L14 4L16.75 5.25L18 8Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M18 14L16.75 16.75L14 18L16.75 19.25L18 22L19.25 19.25L22 18L19.25 16.75L18 14Z\", fill: \"#694090\" }),\n React.createElement(\"path\", { d: \"M10.5 8.5L8 3L5.5 8.5L0 11L5.5 13.5L8 19L10.5 13.5L16 11L10.5 8.5ZM8.99 11.99L8 14.17L7.01 11.99L4.83 11L7.01 10.01L8 7.83L8.99 10.01L11.17 11L8.99 11.99Z\", fill: \"#694090\" })));\n//# sourceMappingURL=RecommendIcon.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { AlertContainer } from './styled';\nimport { ColourMap, IconMap, IconSizeMap, SpacingMap } from './constants';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const Alert = (_a) => {\n var { size = 'base', variant = 'default', colours: passedColours, rightActions, title, titleSlot, message, children, iconSlot, onClickClose } = _a, divProps = __rest(_a, [\"size\", \"variant\", \"colours\", \"rightActions\", \"title\", \"titleSlot\", \"message\", \"children\", \"iconSlot\", \"onClickClose\"]);\n const colours = passedColours !== null && passedColours !== void 0 ? passedColours : ColourMap[variant];\n const IconSlot = iconSlot || IconMap[variant];\n const isXsSize = size === 'xs';\n return (React.createElement(AlertContainer, Object.assign({ colours: colours, direction: \"horizontal\", alignX: \"between\", spacing: \"0\" }, divProps),\n React.createElement(Stack, { direction: \"horizontal\", alignY: isXsSize ? 'center' : 'start', style: { margin: SpacingMap[size], gap: SpacingMap[size] }, spacing: 0 },\n React.createElement(IconSlot, { \"aria-hidden\": true, style: {\n minWidth: IconSizeMap[size],\n minHeight: IconSizeMap[size],\n width: IconSizeMap[size],\n height: IconSizeMap[size],\n }, color: colours.primary }),\n React.createElement(Stack, { direction: \"vertical\", spacing: isXsSize ? 0 : 'xs' },\n titleSlot || (React.createElement(Text, { variant: isXsSize ? 'bodySmallBold' : 'bodyBold', style: size === 'base' ? { lineHeight: '24px' } : {} }, title)),\n children || React.createElement(Text, { variant: isXsSize ? 'bodySmall' : 'body' }, message))),\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: 0, style: {\n margin: isXsSize ? undefined : theme.sizes[3],\n gap: isXsSize ? undefined : SpacingMap[size],\n alignItems: 'center',\n } },\n rightActions && (React.createElement(Stack, { alignY: \"center\", spacing: 0, style: { gap: SpacingMap[size] } }, rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\", size: \"sm\" }, actionProps), label));\n }))),\n onClickClose && (React.createElement(Stack, { alignY: isXsSize ? 'center' : 'start', style: { height: '100%', padding: isXsSize ? theme.sizes.xs : undefined } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\", size: \"sm\" }))))));\n};\n//# sourceMappingURL=Alert.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 { __rest } from \"tslib\";\nimport React from 'react';\nimport { CommonAnchor } from './styled';\nimport { defaultAllowedHostnames, isExternalLink } from '../../utils/isExternalLink';\nexport const Anchor = (_a) => {\n var { children, href, rel, allowedHostnames = defaultAllowedHostnames } = _a, props = __rest(_a, [\"children\", \"href\", \"rel\", \"allowedHostnames\"]);\n // Determine if the link is external based on the allowed hostnames\n const isExternal = isExternalLink(href, allowedHostnames);\n // Set default rel property for external links\n const setDefaultRelValue = rel || (isExternal ? 'noopener noreferrer' : undefined);\n return (React.createElement(CommonAnchor, Object.assign({ href: href, rel: setDefaultRelValue }, props), children));\n};\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, role } = props;\n return (React.createElement(Container, { className: className, ref: ref, role: role }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nimport { theme } from '../../theme';\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:${theme.layers.popup};${(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, { role: \"dialog\", 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","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1exlfc5\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--up3fpq\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--gpqzg1\" }) `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--1f7lcs5\" }) `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--143ip1u\" }) `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--e33d0s\" }) `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","export var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import React, { useState } from 'react';\nimport { usePopper } from 'react-popper';\nimport { Tip, TooltipText, Triangle, Wrap } from './styled';\nimport { Sides } from '../types';\nimport { theme } from '../../../theme';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const TooltipPopover = ({ content, text, hoverableElement, config, reversed, withTriangle, classNames, }) => {\n const [popperElement, setPopperElement] = useState(null);\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\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 tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n return (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};\n//# sourceMappingURL=TooltipPopover.js.map","import React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Container, Hoverable } from './components/styled';\nimport { TooltipPopover } from './components/TooltipPopover';\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const hasText = text ? text.trim().length > 0 : false;\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 hasContent = !!(content || hasText);\n if (!hasContent)\n return children;\n const show = () => setShouldShow(true);\n const hide = () => setShouldShow(false);\n const tooltipMarkup = shouldShow && hasContent && (React.createElement(TooltipPopover, { classNames: classNames, hoverableElement: hoverableElement, config: config, reversed: reversed, withTriangle: withTriangle, text: text, content: content }));\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","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","import React from 'react';\nimport { CalendarGrid as AriaCalendarGrid, CalendarHeaderCell, CalendarGridHeader, CalendarGridBody, CalendarCell, } from 'react-aria-components';\nexport const CalendarGrid = (props) => (React.createElement(AriaCalendarGrid, Object.assign({ weekdayStyle: \"short\" }, props),\n React.createElement(CalendarGridHeader, null, (day) => React.createElement(CalendarHeaderCell, null, day.slice(0, 2))),\n React.createElement(CalendarGridBody, null, (date) => React.createElement(CalendarCell, { date: date }))));\n//# sourceMappingURL=CalendarGrid.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../theme';\nexport const buttonStyles = css `.react-aria-Button{color:${theme.colors.neutral.ink.base};background-color:transparent;border-color:transparent;box-shadow:none;cursor:pointer;height:40px;padding:0 8px;border-radius:8px;font-size:16px;line-height:16px;outline:0;--outline-width:4px;svg{width:${theme.sizes.base};height:${theme.sizes.base};}&:active,&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:active,&:hover{background-color:${theme.colors.neutral.grey.light};}&:disabled{background-color:transparent;border-color:transparent;user-select:none;color:${theme.colors.neutral.grey.base};cursor:default;}}`;\n//# sourceMappingURL=buttonStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../theme';\nexport const calenderCellStyles = css `.react-aria-CalendarCell{width:32px;line-height:32px;border-radius:${theme.radius.base};cursor:pointer;text-align:center;&[data-hovered]{background-color:${theme.colors.neutral.grey.base};}&[data-focus-visible],&:focus-visible{outline:2px solid ${theme.colors.secondary.blue.light};}&[data-selected]{background:${theme.colors.secondary.blue.base};color:white;border-radius:0;&[data-focus-visible]{outline-color:${theme.colors.secondary.blue.light};outline-offset:-3px;}}&[data-unavailable]{cursor:not-allowed;}&[data-outside-month],&[data-disabled]{cursor:not-allowed;}&[data-unavailable]{text-decoration:line-through;color:${theme.colors.secondary.red.base};&:hover{background-color:inherit;}}&[data-outside-month],&[data-disabled]{color:${theme.colors.neutral.ink.lightest};}&[data-selection-start],&[data-selection-end]{background:${theme.colors.secondary.blue.dark};}&[data-selection-start][data-selection-end]{background-color:${theme.colors.secondary.blue.base};}&[data-selection-start]{border-start-start-radius:6px;border-end-start-radius:6px;}&[data-selection-end]{border-start-end-radius:6px;border-end-end-radius:6px;}}`;\n//# sourceMappingURL=calendarCellStyles.js.map","import { css } from 'styled-components';\nimport { theme } from '../../../../theme';\nimport { getTextStyles } from '../utils';\nexport const headerStyles = css `& header{display:flex;align-items:center;margin:0 4px 0.5rem 4px;.react-aria-Heading{flex:1;margin:0;text-align:center;${getTextStyles(theme.text.headingSmall)}}}.react-aria-CalendarHeaderCell{padding-bottom:${theme.sizes.sm};}`;\n//# sourceMappingURL=headerStyles.js.map","import { RangeCalendar } from 'react-aria-components';\nimport styled from 'styled-components';\nimport { theme } from '../../../../theme';\nimport { buttonStyles } from './buttonStyles';\nimport { calenderCellStyles } from './calendarCellStyles';\nimport { headerStyles } from './headerStyles';\nexport const StyledRangeCalendar = styled(RangeCalendar).withConfig({ displayName: \"vui--StyledRangeCalendar\", componentId: \"vui--1nu8m35\" }) `width:fit-content;max-width:100%;color:${theme.colors.neutral.ink.base};font-size:14px;font-family:${theme.fontFamily};${headerStyles} ${buttonStyles} ${calenderCellStyles} & table{border-collapse:collapse;height:fit-content;& td{padding:0;}}`;\n//# sourceMappingURL=StyledRangeCalendar.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 { __rest } from \"tslib\";\nimport React, { useCallback, useEffect } from 'react';\nimport { isWeekend } from '@internationalized/date';\nimport { Button, Heading, useLocale } from 'react-aria-components';\nimport { CalendarGrid } from './components/CalendarGrid';\nimport { StyledRangeCalendar } from './components/StyledRangeCalendar';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { theme } from '../../theme';\nexport const RangeCalendar = (_a) => {\n var _b;\n var { disabledRanges = [], disallowWeekends = false, isMultiMonth = false } = _a, props = __rest(_a, [\"disabledRanges\", \"disallowWeekends\", \"isMultiMonth\"]);\n const [focusedDate, setFocusedDate] = React.useState((_b = props.value) === null || _b === void 0 ? void 0 : _b.start);\n const { locale } = useLocale();\n const isDateUnavailable = useCallback((date) => (disallowWeekends ? isWeekend(date, locale) : false) ||\n disabledRanges.some((interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0), [disabledRanges, disallowWeekends, locale]);\n useEffect(() => {\n var _a;\n setFocusedDate((_a = props.value) === null || _a === void 0 ? void 0 : _a.start);\n }, [props.value]);\n return (React.createElement(StyledRangeCalendar, Object.assign({ focusedValue: focusedDate, onFocusChange: setFocusedDate, isDateUnavailable: isDateUnavailable, visibleDuration: isMultiMonth ? { months: 2 } : undefined }, props),\n React.createElement(\"header\", null,\n React.createElement(Button, { slot: \"previous\" },\n React.createElement(LeftArrowIcon, null)),\n React.createElement(Heading, null),\n React.createElement(Button, { slot: \"next\" },\n React.createElement(RightArrowIcon, null))),\n isMultiMonth ? (React.createElement(\"div\", { style: { display: 'flex', gap: theme.sizes.sm, overflow: 'auto' } },\n React.createElement(CalendarGrid, null),\n React.createElement(CalendarGrid, { offset: { months: 1 } }))) : (React.createElement(CalendarGrid, null))));\n};\n//# sourceMappingURL=RangeCalendar.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]};`;\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 HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--lz8nl\" }) `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--piugtf\" }) `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--2wdtq1\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1an42ms\" }) `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};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1ifrill\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { Text } from '../Text';\nexport const Choice = ({ id, className, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, labelVariant = 'bodyBold', inputPosition = 'left', }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n inputPosition === 'left' && (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(Text, { variant: labelVariant }, 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 inputPosition === 'right' && (React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children))));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id, className: className }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id, className: className }, 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, children } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\", \"children\"]);\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 children));\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 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","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:flex;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React 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 { useId } from '../../hooks/useId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useId({ id: otherProps === null || otherProps === void 0 ? void 0 : otherProps.id, prefix: Component.name });\n if (!label)\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", { style: { marginBottom: theme.sizes.xs } },\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { id: `${componentId}-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 from 'styled-components';\nimport { Group } from 'react-aria-components';\nimport { theme } from '../../theme';\nimport { getTextStyles } from '../RangeCalendar/components/utils';\nexport const DateRangeGroup = styled(Group).withConfig({ displayName: \"vui--DateRangeGroup\", componentId: \"vui--hv19xg\" }) `${getTextStyles(theme.text.body)} display:flex;align-items:center;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:${theme.radius.base};gap:${theme.sizes.xs};padding:${theme.sizes.sm};margin-top:${theme.sizes.sm};&[data-focus-within]{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}&:has(*[data-invalid]){box-shadow:0 0 0 4px ${theme.colors.secondary.red.light};border:1px solid ${theme.colors.secondary.red.base};}${({ $hasError }) => !!$hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n border: 1px solid ${theme.colors.secondary.red.base};\n `} *[data-placeholder],*[data-placeholder] + div,*:has(*[data-placeholder])~ .date-range-input-splitter{color:${theme.colors.neutral.ink.lightest};}&[data-disabled]{cursor:not-allowed;background-color:${theme.colors.neutral.grey.light};.react-aria-DateInput .react-aria-DateSegment,.date-range-input-splitter{cursor:not-allowed;color:${theme.colors.neutral.ink.light};}}.react-aria-DateInput{display:flex;align-items:center;cursor:text;caret-color:transparent;.react-aria-DateSegment{padding:0 1px;border-radius:${theme.radius.base};&[data-invalid]{color:${theme.colors.secondary.red.base};}&[data-focused]{color:white;background-color:${theme.colors.secondary.blue.dark};&[data-invalid]{background-color:${theme.colors.secondary.red.lightest};}}&[data-invalid]{font-weight:bold;color:${theme.colors.secondary.red.dark};}&:focus-visible{outline:none;}}}`;\n//# sourceMappingURL=styled.js.map","import { withLabels } from '../../hoc';\nimport { DateRangeInput as BasicDateRangeInput } from './DateRangeInput';\nexport const DateRangeInput = withLabels(BasicDateRangeInput);\n//# sourceMappingURL=index.js.map","import React from 'react';\nimport { DateField, DateInput, DateSegment } from 'react-aria-components';\nimport { DateRangeGroup } from './styled';\nexport const DateRangeInput = ({ id, className, style, shouldForceLeadingZeros = true, hasError, minValue, maxvalue, startValue, endValue, isDisabled, isReadOnly, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-labelledby': ariaLabelledBy, onChangeStartDate, onChangeEndDate, }) => (React.createElement(DateRangeGroup, { style: style, className: className, \"aria-label\": ariaLabel, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"$hasError\": hasError, isDisabled: isDisabled },\n React.createElement(DateField, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeStartDate, value: startValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"start date\", isDisabled: isDisabled, isReadOnly: isReadOnly },\n React.createElement(DateInput, { slot: \"start\" }, (segment) => React.createElement(DateSegment, { segment: segment }))),\n React.createElement(\"span\", { className: \"date-range-input-splitter\", \"aria-hidden\": \"true\" }, \"-\"),\n React.createElement(DateField, { shouldForceLeadingZeros: shouldForceLeadingZeros, onChange: onChangeEndDate, value: endValue, minValue: minValue, maxValue: maxvalue, \"aria-describedby\": ariaDescribedBy, \"aria-labelledby\": ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : `${id}-label`, \"aria-label\": \"end date\", isDisabled: isDisabled, isReadOnly: isReadOnly },\n React.createElement(DateInput, { slot: \"end\" }, (segment) => React.createElement(DateSegment, { segment: segment })))));\n//# sourceMappingURL=DateRangeInput.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;cursor:not-allowed;}`;\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, hidden: option.hidden }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.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\" }) `width:100%;height:100%;border-radius:${theme.radius.base};z-index:2;margin:0;cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};&: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.span.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:flex;position:relative;height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};z-index:1;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\" }) `display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\nimport { Choice } from '../Choice';\n/**\n * A toggle switch component, use-cases should provide a label, wrap with a custom one or pass in an aria-label.\n */\nexport const Toggle = forwardRef((_a, ref) => {\n var { id = 'testid', className, name, switched, small, onClick = () => { }, disabled, ariaLabel, inputPosition = 'right' } = _a, choiceProps = __rest(_a, [\"id\", \"className\", \"name\", \"switched\", \"small\", \"onClick\", \"disabled\", \"ariaLabel\", \"inputPosition\"]);\n return (React.createElement(Choice, Object.assign({ id: id, inputPosition: inputPosition }, choiceProps),\n React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, className: className },\n React.createElement(Input, { id: id, role: \"switch\", type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: (e) => (disabled ? undefined : onClick(e)), disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n});\n//# sourceMappingURL=Toggle.js.map","export const DEFAULT_PREVIOUS_PERIOD_OPTIONS = [\n { label: 'Previous Day', value: 'PREVIOUS_DAY' },\n { label: 'Previous Week', value: 'PREVIOUS_WEEK' },\n { label: 'Previous Month', value: 'PREVIOUS_MONTH' },\n { label: 'Previous Year', value: 'PREVIOUS_YEAR' },\n];\n//# sourceMappingURL=constants.js.map","import React, { useEffect, useState } from 'react';\nimport { Toggle } from '../../Toggle';\nimport { Text } from '../../Text';\nimport { Select } from '../../Select';\nimport { theme } from '../../../theme';\nimport { DEFAULT_PREVIOUS_PERIOD_OPTIONS } from './constants';\nexport const ComparePreviousPeriod = ({ options = DEFAULT_PREVIOUS_PERIOD_OPTIONS, selectedPreviousPeriod, setSelectedPreviousPeriod, }) => {\n const [showCompareSelect, setShowCompareSelect] = useState(!!selectedPreviousPeriod);\n const findAndSelectOption = (newValue) => {\n const newOption = options.find(({ value }) => value === newValue);\n if (newOption)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(newOption);\n };\n const toggleShowSelect = () => {\n // When toggled off, unselect show previous period.\n if (showCompareSelect)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(null);\n setShowCompareSelect(!showCompareSelect);\n };\n // If no option is currently selected, we set to the first option provided.\n useEffect(() => {\n if (!selectedPreviousPeriod)\n setSelectedPreviousPeriod === null || setSelectedPreviousPeriod === void 0 ? void 0 : setSelectedPreviousPeriod(options[0]);\n }, [selectedPreviousPeriod, setSelectedPreviousPeriod, options]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Text, { variant: \"inputLabel\", style: {\n display: 'flex',\n alignItems: 'center',\n gap: theme.sizes.sm,\n whiteSpace: 'nowrap',\n } },\n React.createElement(Toggle, { small: true, switched: showCompareSelect, onClick: toggleShowSelect }),\n \"Compare previous period\"),\n showCompareSelect && (React.createElement(Select, { \"aria-label\": \"Period to compare against\", options: options, \n // To avoid screen jumping (before useEffect kicks in, default value to first option)\n value: (selectedPreviousPeriod === null || selectedPreviousPeriod === void 0 ? void 0 : selectedPreviousPeriod.value) || options[0].value, onChange: findAndSelectOption }))));\n};\n//# sourceMappingURL=ComparePreviousPeriod.js.map","import { CalendarDate, endOfMonth, getLocalTimeZone, now, startOfMonth, startOfWeek, startOfYear, } from '@internationalized/date';\nexport var DateRanges;\n(function (DateRanges) {\n DateRanges[\"TODAY\"] = \"TODAY\";\n DateRanges[\"YESTERDAY\"] = \"YESTERDAY\";\n DateRanges[\"LAST_7_DAYS\"] = \"LAST_7_DAYS\";\n DateRanges[\"LAST_30_DAYS\"] = \"LAST_30_DAYS\";\n DateRanges[\"LAST_90_DAYS\"] = \"LAST_90_DAYS\";\n DateRanges[\"LAST_MONTH\"] = \"LAST_MONTH\";\n DateRanges[\"LAST_12_MONTHS\"] = \"LAST_12_MONTHS\";\n DateRanges[\"WEEK_TO_DATE\"] = \"WEEK_TO_DATE\";\n DateRanges[\"MONTH_TO_DATE\"] = \"MONTH_TO_DATE\";\n DateRanges[\"YEAR_TO_DATE\"] = \"YEAR_TO_DATE\";\n})(DateRanges || (DateRanges = {}));\nexport const timeRangeToDateRange = (range) => {\n const { start, end } = range;\n const startDate = new CalendarDate(start.year, start.month, start.day);\n const endDate = new CalendarDate(end.year, end.month, end.day);\n return { start: startDate, end: endDate };\n};\nexport const getDateRange = (option) => {\n // Getting today every time function is called. Don't want this to be stale\n const today = now(getLocalTimeZone());\n let dateRange;\n switch (option) {\n case DateRanges.TODAY:\n dateRange = { start: today, end: today };\n break;\n case DateRanges.YESTERDAY:\n dateRange = {\n start: today.subtract({ days: 1 }),\n end: today.subtract({ days: 1 }),\n };\n break;\n case DateRanges.LAST_7_DAYS:\n dateRange = {\n start: today.subtract({ days: 7 }),\n end: today,\n };\n break;\n case DateRanges.LAST_30_DAYS:\n dateRange = {\n start: today.subtract({ days: 30 }),\n end: today,\n };\n break;\n case DateRanges.LAST_90_DAYS:\n dateRange = { start: today.subtract({ days: 90 }), end: today };\n break;\n case DateRanges.LAST_MONTH: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = { start: lastMonth, end: endOfMonth(lastMonth) };\n break;\n }\n case DateRanges.LAST_12_MONTHS: {\n const lastMonth = startOfMonth(today.subtract({ months: 1 }));\n dateRange = {\n start: startOfMonth(lastMonth).subtract({ months: 12 }),\n end: endOfMonth(lastMonth),\n };\n break;\n }\n case DateRanges.WEEK_TO_DATE:\n dateRange = { start: startOfWeek(today, navigator.language), end: today };\n break;\n case DateRanges.MONTH_TO_DATE:\n dateRange = { start: startOfMonth(today), end: today };\n break;\n case DateRanges.YEAR_TO_DATE:\n dateRange = { start: startOfYear(today), end: today };\n break;\n default:\n return null;\n }\n return timeRangeToDateRange(dateRange);\n};\nexport const DATE_RANGE_OPTIONS = [\n { label: 'Custom', value: 'CUSTOM', disabled: true },\n { label: 'Today', value: DateRanges.TODAY },\n { label: 'Yesterday', value: DateRanges.YESTERDAY },\n { label: 'Last 7 Days', value: DateRanges.LAST_7_DAYS },\n { label: 'Last 30 Days', value: DateRanges.LAST_30_DAYS },\n { label: 'Last 90 Days', value: DateRanges.LAST_90_DAYS },\n { label: 'Last Month', value: DateRanges.LAST_MONTH },\n { label: 'Last 12 Months', value: DateRanges.LAST_12_MONTHS },\n { label: 'Week to Date', value: DateRanges.WEEK_TO_DATE },\n { label: 'Month to Date', value: DateRanges.MONTH_TO_DATE },\n { label: 'Year to Date', value: DateRanges.YEAR_TO_DATE },\n];\nexport const checkForMatchingPreset = (selectedRange) => DATE_RANGE_OPTIONS.reduce((match, option) => {\n if (option.hidden || match)\n return match; // Skip hidden options or if a match is already found\n const optionDateRange = getDateRange(option.value);\n if (!optionDateRange)\n return match; // Skip when no match.\n const { start: optionStart, end: optionEnd } = optionDateRange;\n if (selectedRange.start.compare(optionStart) === 0 &&\n selectedRange.end.compare(optionEnd) === 0) {\n return option;\n }\n return match;\n}, undefined);\nexport const DEFAULT_SELECTION = DateRanges.LAST_30_DAYS;\nexport const DEFAULT_RANGE = getDateRange(DEFAULT_SELECTION);\nexport const DEFAULT_PRESET = DATE_RANGE_OPTIONS.find(({ value }) => value === DEFAULT_SELECTION);\n//# sourceMappingURL=constants.js.map","export const checkIfDateRangeInvalid = ({ disabledRanges, selectedRange, }) => {\n if (!selectedRange || !disabledRanges || disabledRanges.length === 0)\n return false;\n const { start: presortStart, end: presortEnd } = selectedRange;\n const [start, end] = [presortStart, presortEnd].sort();\n return disabledRanges.some(([disabledStart, disabledEnd]) => (start >= disabledStart && start <= disabledEnd) || // Case 1: selectedRange.start is within the disabledRange\n (end >= disabledStart && end <= disabledEnd) || // Case 2: selectedRange.end is within the disabledRange\n (start <= disabledStart && end >= disabledEnd));\n};\n//# sourceMappingURL=utils.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Divider = styled.div.withConfig({ displayName: \"vui--Divider\", componentId: \"vui--ssvmxc\" }) `margin:0 -${theme.sizes.base};border-top:1px solid ${theme.colors.neutral.grey.base};`;\n//# sourceMappingURL=Divider.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport { DateRangeInput } from '../DateRangeInput';\nimport { RangeCalendar } from '../RangeCalendar';\nimport { Card } from '../Card';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { ComparePreviousPeriod } from './components/ComparePreviousPeriod';\nimport { DATE_RANGE_OPTIONS, DateRanges, checkForMatchingPreset, getDateRange } from './constants';\nimport { checkIfDateRangeInvalid } from './utils';\nimport { Divider } from './components/Divider';\nexport const DateRangePicker = (_a) => {\n var { \n // Style props\n className, style, isDisabled, \n // Customizable options\n isMultiMonth = false, showDatePresets = true, onReset, \n // Calendar props\n disabledRanges, selectedPreset, setSelectedPreset, selectedRange, setSelectedRange, \n // Previous period props\n 'aria-describedby': ariaDescribedBy, 'aria-label': ariaLabel } = _a, previousPeriodProps = __rest(_a, [\"className\", \"style\", \"isDisabled\", \"isMultiMonth\", \"showDatePresets\", \"onReset\", \"disabledRanges\", \"selectedPreset\", \"setSelectedPreset\", \"selectedRange\", \"setSelectedRange\", 'aria-describedby', 'aria-label']);\n const updateRangePreset = (selectedValue) => {\n setSelectedRange(getDateRange(DateRanges[selectedValue]));\n setSelectedPreset(DATE_RANGE_OPTIONS.find(({ value }) => value === selectedValue) || DATE_RANGE_OPTIONS[0]);\n };\n const updateDateSegment = useCallback((slot) => (value) => {\n const newRange = {\n start: slot === 'start' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start,\n end: slot === 'end' ? value : selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end,\n };\n setSelectedRange(newRange);\n }, [selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end, selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start, setSelectedRange]);\n const isDateRangeInvalid = useMemo(() => checkIfDateRangeInvalid({ disabledRanges, selectedRange }), [disabledRanges, selectedRange]);\n // Memoize finding preset since checkForMatchingPreset isn't quick.\n const matchedPreset = useMemo(() => {\n if (!selectedRange)\n return null;\n return checkForMatchingPreset(selectedRange);\n }, [selectedRange]);\n useEffect(() => {\n if (matchedPreset)\n setSelectedPreset(matchedPreset); // If selected value is a preset, set it.\n else\n setSelectedPreset(DATE_RANGE_OPTIONS[0]); // Otherwise, select \"custom\" option.\n }, [matchedPreset, setSelectedPreset]);\n return (React.createElement(Stack, { direction: \"vertical\", alignX: \"stretch\", spacing: \"0\", style: Object.assign({ gap: theme.sizes.base }, style), className: className, \"aria-describedby\": ariaDescribedBy, \"aria-label\": ariaLabel },\n showDatePresets && (React.createElement(Select, { disabled: isDisabled, label: \"Date Range\", options: DATE_RANGE_OPTIONS, value: selectedPreset === null || selectedPreset === void 0 ? void 0 : selectedPreset.value, onChange: updateRangePreset })),\n React.createElement(DateRangeInput, { isDisabled: isDisabled, label: \"Start date - End date\", onChangeStartDate: updateDateSegment('start'), onChangeEndDate: updateDateSegment('end'), startValue: selectedRange && selectedRange.start, endValue: selectedRange && selectedRange.end, error: isDateRangeInvalid ? 'Range contains invalid dates' : undefined }),\n previousPeriodProps.showPreviousPeriod && React.createElement(ComparePreviousPeriod, Object.assign({}, previousPeriodProps)),\n React.createElement(Divider, null),\n React.createElement(Stack, { alignX: \"center\" },\n React.createElement(RangeCalendar, { \"aria-label\": \"Selected Date Range\", isDisabled: isDisabled, isMultiMonth: isMultiMonth, value: selectedRange, onChange: setSelectedRange, disabledRanges: disabledRanges })),\n !!onReset && (React.createElement(React.Fragment, null,\n React.createElement(Divider, null),\n React.createElement(Card.Footer, { style: { display: 'flex', justifyContent: 'end', padding: 0, margin: 0 } },\n React.createElement(Button, { variant: \"default\", size: \"sm\", onClick: onReset, disabled: isDisabled }, \"Reset\"))))));\n};\n//# sourceMappingURL=DateRangePicker.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","class CustomEvent extends Event {\n constructor(eventType, data) {\n super(eventType, { bubbles: true, cancelable: true });\n this.data = data;\n }\n}\nexport const customEventEmitter = (eventType, data) => {\n const evt = new CustomEvent(eventType, data);\n document.dispatchEvent(evt);\n};\n//# sourceMappingURL=customEventEmitter.js.map","import { useEffect, useState } from 'react';\nimport { customEventEmitter } from '../utils/customEventEmitter';\nexport const useColumnWidths = ({ tableRef, columns, columnIds, }) => {\n const getColumnWidths = (cols) => cols.reduce((obj, item) => {\n // eslint-disable-next-line no-param-reassign\n obj[item.id] = item.width;\n return obj;\n }, {});\n const [columnWidths, setColumnWidths] = useState(getColumnWidths(columns));\n const setColumnWidth = ({ columnId, width }) => {\n const calculateWidth = (column, lastColumn) => {\n var _a, _b, _c;\n if (lastColumn)\n return columnWidths[column.id] || column.width;\n const val = columnWidths[column.id] ||\n column.width ||\n ((_c = (_b = (_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`th[data-columnid=\"${column.id}\"]`)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width) ||\n undefined;\n return val;\n };\n const newColumnWidths = Object.assign({}, columnWidths);\n columns.forEach((column, i) => {\n const lastColumn = i === columns.length - 1;\n const newWidth = column.id === columnId ? width : calculateWidth(column, lastColumn);\n newColumnWidths[column.id] = newWidth;\n });\n setColumnWidths(newColumnWidths);\n customEventEmitter('columnWidthUpdated', {\n tableRef,\n // eslint-disable-next-line @typescript-eslint/no-shadow\n columnWidths: newColumnWidths,\n });\n };\n useEffect(() => {\n const widths = getColumnWidths(columns);\n const newColumnWidths = Object.assign({}, columnWidths);\n Object.keys(widths).forEach((key) => {\n if (typeof columnWidths[key] === undefined) {\n newColumnWidths[key] = widths[key];\n }\n });\n setColumnWidths(newColumnWidths);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(columnIds)]);\n return {\n setColumnWidth,\n columnWidths,\n };\n};\n//# sourceMappingURL=useColumnWidths.js.map","import { useColumnWidths } from './useColumnWidths';\nexport function useColumns(columns, tableRef) {\n const { columnWidths, setColumnWidth } = useColumnWidths({\n tableRef,\n columns,\n columnIds: columns.map(({ id }) => id),\n });\n const newColumns = columns.map((column) => (Object.assign(Object.assign({}, column), { width: columnWidths[column.id] || column.width })));\n const visible = newColumns.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 setColumnWidth,\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};position:relative;display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};z-index:${({ zIndex = 0 }) => zIndex};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, { createRef } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const ResizerBar = styled.div.withConfig({ displayName: \"vui--ResizerBar\", componentId: \"vui--115ilx\" }) `position:absolute;right:0;top:37.5%;width:1px;background:${theme.colors.neutral.grey.dark};min-height:25%;cursor:col-resize;&::before{content:'';position:absolute;top:-150%;left:0;width:12px;min-height:400%;z-index:1;transform:translateX(-6px);}`;\nexport const ColumnDivider = ({ columnId, setColumnWidth }) => {\n const ref = createRef();\n const padding = 24;\n const mouseMove = (event) => {\n const { minTranslate, dragDivider, dragInitX } = window.tableHeaders;\n const translate = Math.max(event.clientX - (dragInitX || 0), minTranslate || 0);\n dragDivider.parentElement.parentElement.classList.add('hideHeaderDetails');\n dragDivider.style.transform = `translateX(${translate}px)`;\n };\n const minTranslate = () => {\n const { parentElement } = window.tableHeaders.dragDivider;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const currWidth = parentElement.getBoundingClientRect().width;\n return contentWidth - currWidth + padding;\n };\n const calculateWidth = ({ event }) => {\n const { dragInitX, dragDivider } = window.tableHeaders;\n const { parentElement } = dragDivider;\n const initWidth = parentElement === null || parentElement === void 0 ? void 0 : parentElement.getBoundingClientRect().width;\n const contentWidth = parentElement\n .querySelector('.headerContent')\n .getBoundingClientRect().width;\n const deltaX = (event.clientX || 0) - (dragInitX || 0);\n return Math.max((initWidth || 0) + deltaX, contentWidth + padding);\n };\n const mouseUp = (event) => {\n window.removeEventListener('mouseup', mouseUp);\n window.removeEventListener('dragend', mouseUp);\n window.removeEventListener('mousemove', mouseMove);\n window.removeEventListener('drag', mouseMove);\n setColumnWidth === null || setColumnWidth === void 0 ? void 0 : setColumnWidth({ columnId, width: calculateWidth({ event }) });\n if (window.tableHeaders) {\n window.tableHeaders.dragDivider.style.transform = 'translateX(0)';\n window.tableHeaders.dragDivider.parentElement.style.justifyContent = '';\n window.tableHeaders.dragInitX = undefined;\n window.tableHeaders.minTranslate = undefined;\n window.tableHeaders.dragDivider.parentElement.parentElement.classList.remove('hideHeaderDetails');\n }\n };\n const trackMouseStart = (event) => {\n if (event.button !== 0 && event.type !== 'dragstart')\n return;\n window.tableHeaders = {\n dragInitX: event.clientX,\n dragDivider: ref.current,\n };\n window.tableHeaders.minTranslate = minTranslate();\n window.addEventListener('mouseup', mouseUp);\n window.addEventListener('dragend', mouseUp);\n window.addEventListener('mousemove', mouseMove);\n window.addEventListener('drag', mouseMove);\n };\n return (React.createElement(ResizerBar, { ref: ref, className: \"th-divider\", onMouseDown: trackMouseStart, onDragStart: trackMouseStart }));\n};\n//# sourceMappingURL=ColumnDivider.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';\nimport { ColumnDivider } from '../components/ColumnDivider';\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, resizeableColumns, setColumnWidth, columnCount = 1, columnI = 0, }) {\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 'data-columnid': String(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, { zIndex: columnCount - columnI + 1 }),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps, { className: \"headerContent\" }),\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 resizeableColumns && columnI < columnCount - 1 && (React.createElement(ColumnDivider, { columnId: column.id, setColumnWidth: setColumnWidth }))));\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;}.hideHeaderDetails th{> *{opacity:0.1;}.th-divider{opacity:1;}}`;\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: 105, 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","/* 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: initialColumns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, resizeableColumns, }) => {\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, ...initialColumns];\n const allColumns = selectionEnabled ? columnsWithSelection : initialColumns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight, setColumnWidth } = useColumns(allColumns, tableRef);\n const adjustedCellWidths = cellWidths.length === visible.length\n ? visible.map((col, i) => Number.isNaN(col.width || '') ? cellWidths[i] : col.width)\n : cellWidths;\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths: adjustedCellWidths,\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, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\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, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n })))),\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, i) => renderHeader({\n column,\n sortState,\n onChangeSort,\n resizeableColumns,\n setColumnWidth,\n columnCount: visible.length,\n columnI: i,\n }))));\n const shouldRenderFooter = initialColumns.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: adjustedCellWidths }, 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, { 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, \"aria-label\": 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","export const blockInvalidCharacters = (e, invalidList) => {\n if (invalidList.includes(e.key))\n e.preventDefault();\n};\n//# sourceMappingURL=blockInvalidCharacters.js.map","export const invalidCharsList = ['-', '+', 'E', 'e'];\n//# sourceMappingURL=invalidCharactersNumeric.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';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.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, header, 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 }, header || (React.createElement(React.Fragment, null,\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","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';\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 React from 'react';\nimport styled from 'styled-components';\nconst ScreenReaderOnlyElement = styled.span.withConfig({ displayName: \"vui--ScreenReaderOnlyElement\", componentId: \"vui--ejkp56\" }) `position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;`;\n/**\n * The `ScreenReaderOnly` component is used to render content that is only visible to screen readers and assistive technologies. This component can be useful for providing additional context or information to users who rely on screen readers, while keeping the content visually hidden from sighted users.\n * * **This is not a replacement for `aria-label`.**\n *\n * Note: aria-label is intended for interactive elements or for elements made interactive via other ARIA declarations when there's no visible text in the DOM to serve as a label.\n *\n * In general, screen reader-only content should be reserved for information that is apparent visually but not apparent to blind screen reader users.\n *\n * **Example use cases:**\n * - Adding instructional cues and indicators\n * - Search input that is clearly a search bar to sighted users (search icon, etc.). A hidden, associated `<label>` element with \"Search orders\"\n * - Skip to links to take the user to the main content (still need to be visibile when focused)\n * - Breadcrumb navigation, making it clear with a \"you are here\" screen reader text\n */\nexport const ScreenReaderOnly = ({ children }) => {\n return React.createElement(ScreenReaderOnlyElement, null, children);\n};\n//# sourceMappingURL=ScreenReaderOnly.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\", type: \"button\" },\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\", type: \"button\" },\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;:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}:focus{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};outline:0;z-index:1;}}> .veeqo-components-active-button{: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, { type: \"button\", \"aria-pressed\": option.value === selected, 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';\nimport { theme } from '../../theme';\nexport const ShortcutKeysContainer = styled.div.withConfig({ displayName: \"vui--ShortcutKeysContainer\", componentId: \"vui--t1odf6\" }) `--kbdTextColor:${(props) => (props.$inverse ? '#ffffff' : '')};box-sizing:border-box;display:flex;align-items:center;gap:4px;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};font-size:${theme.text.bodySmall.fontSize};line-height:${theme.text.bodySmall.lineHeight};font-weight:${theme.text.bodySmall.fontWeight};text-decoration:${theme.text.bodySmall.textDecoration};letter-spacing:${theme.text.bodySmall.letterSpacing};`;\nexport const Kbd = styled.kbd.withConfig({ displayName: \"vui--Kbd\", componentId: \"vui--651mmm\" }) `box-sizing:border-box;color:var(--kbdTextColor, ${theme.colors.neutral.ink.base});display:grid;place-items:center;text-transform:capitalize;border:1px solid var(--kbdTextColor, ${theme.colors.neutral.ink.base});border-radius:3px;padding:1px 3px;font-size:inherit;line-height:inherit;min-width:20px;font-family:${theme.text.bodySmall.fontFamily};font-style:${theme.text.bodySmall.fontStyle};`;\n//# sourceMappingURL=styled.js.map","// Map of UTF-16 characters to be used for modifier keys\nexport const ValidModifierKeysMap = {\n command: '⌘',\n windows: '⊞',\n shift: '⇧',\n ctrl: '⌃',\n option: '⌥',\n alt: 'alt',\n enter: '↵',\n delete: '⌫',\n escape: 'esc',\n up: '↑',\n right: '→',\n down: '↓',\n left: '←',\n space: 'space',\n};\n// Map of labels to be used for modifier keys\nexport const ValidModifierKeyssLabelMap = {\n command: 'Command',\n windows: 'Windows',\n shift: 'Shift',\n ctrl: 'Control',\n option: 'Option',\n alt: 'Alt',\n enter: 'Enter',\n delete: 'Delete',\n escape: 'Escape',\n up: 'Up',\n right: 'Right',\n down: 'Down',\n left: 'Left',\n space: 'Space',\n};\n// An example array of potential shortcut actions\nexport const exampleStorybookShortcutActions = [\n {\n label: 'Shortcut modal',\n mac: 'shift+?',\n windows: 'shift+?',\n },\n {\n label: 'Change view',\n mac: 'shift+option+1',\n windows: 'shift+alt+1',\n },\n {\n label: 'Search',\n mac: 'shift+space',\n windows: 'shift+space',\n },\n {\n label: 'Select all orders in the page',\n mac: 'shift+a',\n windows: 'shift+a',\n },\n {\n label: 'Select first row',\n mac: 'shift+1',\n windows: 'shift+1',\n },\n {\n label: 'Next order',\n mac: 'down',\n windows: 'down',\n },\n {\n label: 'Slect next order',\n mac: 'shift+down',\n windows: 'shift+down',\n },\n {\n label: 'Previous order',\n mac: 'up',\n windows: 'up',\n },\n {\n label: 'Select previous order',\n mac: 'shift+up',\n windows: 'shift+up',\n },\n {\n label: 'Use scale',\n mac: 'shift+w',\n windows: 'shift+w',\n },\n {\n label: 'Refresh rates',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Buy label and Print documents',\n mac: 'shift+b',\n windows: 'shift+b',\n },\n {\n label: 'Clear filters',\n mac: 'shift+c',\n windows: 'shift+c',\n },\n {\n label: 'Invoice',\n mac: 'shift+i',\n windows: 'shift+i',\n },\n {\n label: 'Packing slip',\n mac: 'shift+p',\n windows: 'shift+p',\n },\n {\n label: 'Shipping label',\n mac: 'shift+s',\n windows: 'shift+s',\n },\n {\n label: 'Return label',\n mac: 'shift+r',\n windows: 'shift+r',\n },\n {\n label: 'Integrated Invoice with Shipping label',\n mac: 'shift+k',\n windows: 'shift+k',\n },\n {\n label: 'Integrated Packing Slip with Shipping Label',\n mac: 'shift+l',\n windows: 'shift+l',\n },\n];\n//# sourceMappingURL=utils.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ShortcutKeysContainer, Kbd } from './styled';\nimport { ValidModifierKeyssLabelMap, ValidModifierKeysMap } from './utils';\n/**\n * ShortcutKeys UI component\n *\n * Renders a keyboard shortcut string by splitting it on \"+\" and rendering each\n * key to a <kbd> component.\n *\n * Criteria for `shortcut` prop:\n * - ValidModifierKeys MUST always come before other keys e.g. `shift+a` is valid, `a+shift` is invalid\n * - If it's not a modifier key it must be a singular key e.g. `a`, `2` is valid and `a2` or `abcde` is invalid etc.\n * - A limit of 3 key combinations separated between the '+' symbol e.g. `shift+ctrl+a` is valid, `shift+ctrl+a+b` is invalid\n *\n */\nexport const ShortcutKeys = (_a) => {\n var { shortcut, label, inverse = false, displayLabel = false } = _a, props = __rest(_a, [\"shortcut\", \"label\", \"inverse\", \"displayLabel\"]);\n // Split the keys into individual <Kbd /> components\n const keysToRender = shortcut.split('+');\n // Replace modifier keys with the corresponding UTF-16 character if available.\n const keysToRenderComponents = keysToRender.map((key) => {\n if (ValidModifierKeysMap[key]) {\n return (React.createElement(Kbd, { key: `Key: ${key}`, \"aria-label\": ValidModifierKeyssLabelMap[key] }, ValidModifierKeysMap[key]));\n }\n return React.createElement(Kbd, { key: `Key: ${key}` }, key);\n });\n // Combine the <Kbd /> components to sit inside a single <ShortcutKeysContainer /> component.\n const shortcutElements = keysToRenderComponents.reduce((previousKbdElement, currentKbdElement) => (React.createElement(React.Fragment, null,\n previousKbdElement,\n \"+\",\n currentKbdElement)));\n return (React.createElement(ShortcutKeysContainer, Object.assign({ \"aria-label\": label, \"$inverse\": inverse }, props),\n shortcutElements,\n \" \",\n displayLabel ? React.createElement(\"span\", null, label) : null));\n};\n//# sourceMappingURL=ShortcutKeys.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 { BaseContainer } from '../BaseContainer';\nexport const Skeleton = styled(BaseContainer).attrs(() => ({\n 'aria-hidden': true,\n})).withConfig({ displayName: \"vui--Skeleton\", componentId: \"vui--7bl1ak\" }) `display:block;background:#f6f7f8;background:linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size:2500px 104px;cursor:progress;border-radius:4px;${({ width = '', height = '' }) => `\n width: ${width || '100%'};\n min-width: ${width};\n height: ${height || '20px'};\n min-height: ${height};\n `};@media (prefers-reduced-motion: no-preference){animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;}@keyframes placeHolderShimmer{0%{background-position:-1080px 0;}100%{background-position:1080px 0;}}`;\nSkeleton.displayName = 'Skeleton';\n//# sourceMappingURL=Skeleton.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;z-index:${theme.layers.tooltip};`;\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 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 { 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 { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\nexport const DropZoneContainer = styled.div.withConfig({ displayName: \"vui--DropZoneContainer\", componentId: \"vui--17v0v3c\" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;\n//# sourceMappingURL=styled.js.map","export var AcceptedFileTypes;\n(function (AcceptedFileTypes) {\n AcceptedFileTypes[\"CSV\"] = \".csv\";\n AcceptedFileTypes[\"JPEG\"] = \".jpeg\";\n AcceptedFileTypes[\"JPG\"] = \".jpg\";\n AcceptedFileTypes[\"GIF\"] = \".gif\";\n AcceptedFileTypes[\"PNG\"] = \".png\";\n})(AcceptedFileTypes || (AcceptedFileTypes = {}));\nexport var FileSizeUnit;\n(function (FileSizeUnit) {\n FileSizeUnit[\"KB\"] = \"KB\";\n FileSizeUnit[\"MB\"] = \"MB\";\n})(FileSizeUnit || (FileSizeUnit = {}));\nexport var InputState;\n(function (InputState) {\n InputState[\"VALID\"] = \"\";\n InputState[\"INVALID_FORMAT\"] = \"File is incorrect format\";\n InputState[\"INVALID_SIZE\"] = \"File size is too big\";\n InputState[\"INVALID_FORMAT_AND_SIZE\"] = \"File is incorrect format and too big\";\n})(InputState || (InputState = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const UploadGraphic = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"56\", height: \"56\", fill: \"none\", role: \"presentation\" },\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 28C0 12.536 12.536 0 28 0s28 12.536 28 28-12.536 28-28 28S0 43.464 0 28\" }),\n React.createElement(\"path\", { fill: \"#37424D\", d: \"M22.5 36c-1.517 0-2.812-.525-3.887-1.575-1.075-1.05-1.613-2.333-1.613-3.85 0-1.3.392-2.458 1.175-3.475s1.808-1.667 3.075-1.95c.417-1.533 1.25-2.775 2.5-3.725C25 20.475 26.417 20 28 20c1.95 0 3.604.68 4.962 2.038C34.322 23.396 35 25.05 35 27c1.15.133 2.104.63 2.862 1.488A4.407 4.407 0 0 1 39 31.5c0 1.25-.437 2.313-1.312 3.188C36.812 35.562 35.75 36 34.5 36H29c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 27 34v-5.15l-1.6 1.55L24 29l4-4 4 4-1.4 1.4-1.6-1.55V34h5.5c.7 0 1.292-.242 1.775-.725.483-.483.725-1.075.725-1.775s-.242-1.292-.725-1.775C35.792 29.242 35.2 29 34.5 29H33v-2c0-1.383-.487-2.562-1.462-3.538C30.562 22.489 29.383 22 28 22s-2.562.488-3.538 1.462C23.489 24.438 23 25.618 23 27h-.5c-.967 0-1.792.342-2.475 1.025A3.372 3.372 0 0 0 19 30.5c0 .967.342 1.792 1.025 2.475A3.372 3.372 0 0 0 22.5 34H25v2z\" })));\n//# sourceMappingURL=UploadGraphic.js.map","import React from 'react';\nimport { UploadGraphic } from '../../UploadGraphic';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadCopy = () => (React.createElement(Stack, { alignX: \"center\", alignY: \"center\", spacing: \"sm\", style: { pointerEvents: 'none' } },\n React.createElement(UploadGraphic, null),\n React.createElement(Text, { variant: \"subheadingSmall\", style: { paddingTop: sizes.sm } }, \"Browse files or drag them here\")));\n//# sourceMappingURL=UploadCopy.js.map","import React from 'react';\nimport { Stack } from '../../../Stack';\nimport { Text } from '../../../Text';\nexport const UploadFileErrors = ({ acceptedTypesCopy, maxSizeCopy }) => {\n if (!acceptedTypesCopy && !maxSizeCopy)\n return null;\n return (React.createElement(Stack, { alignX: \"start\", spacing: \"xs\" },\n acceptedTypesCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"Invalid format (\",\n acceptedTypesCopy,\n \")\"),\n maxSizeCopy && React.createElement(Text, { variant: \"errorSmall\" },\n \"File is too big (\",\n maxSizeCopy,\n \")\")));\n};\n//# sourceMappingURL=UploadFileErrors.js.map","import styled from 'styled-components';\nimport { Text } from '../../../Text';\nimport { colors } from '../../../../theme/modules/colors';\nimport { radius } from '../../../../theme/modules/radius';\nimport { sizes } from '../../../../theme/modules/sizes';\nimport { Stack } from '../../../Stack';\nexport const SingleLineText = styled(Text).withConfig({ displayName: \"vui--SingleLineText\", componentId: \"vui--1aguyhc\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--1g0ca18\" }) `border:1px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};padding:${sizes.xs};${Text}{padding-left:${sizes.xs};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../../../Button';\nimport { CrossIcon } from '../../../../tempIcons/CrossIcon';\nimport { SingleLineText, UploadedFilesListStack } from './styled';\nexport const UploadedFile = ({ file, resetSelection, disabled }) => {\n if (!file)\n return null;\n return (React.createElement(UploadedFilesListStack, { alignX: \"between\", direction: \"horizontal\", alignY: \"center\" },\n React.createElement(SingleLineText, { variant: \"body\" }, file === null || file === void 0 ? void 0 : file.name),\n React.createElement(Button, { size: \"sm\", variant: \"flat\", onClick: resetSelection, icon: React.createElement(CrossIcon, null), \"aria-label\": \"Remove file\", disabled: disabled })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useState, forwardRef, useImperativeHandle, useRef, } from 'react';\nimport { DropZoneContainer } from './styled';\nimport { InputState, FileSizeUnit } from './constants';\nimport { UploadCopy } from './components/UploadCopy/UploadCopy';\nimport { setInputElFile } from './utils/setInputElFile/setInputElFile';\nimport { getFileSizeString, getTypePropForInputEl, getValidTypesString } from './utils';\nimport { Hint, Label, RootStack } from '../../hoc/withLabels/styled';\nimport { Stack } from '../Stack';\nimport { UploadFileErrors } from './components/UploadFileErrors/UploadFileErrors';\nimport { UploadedFile } from './components/UploadedFile/UploadedFile';\nimport { sizes } from '../../theme/modules/sizes';\nexport const UploadFile = forwardRef((_a, outerRef) => {\n var { id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, disabled } = _a, otherProps = __rest(_a, [\"id\", \"name\", \"maxBytes\", \"format\", \"fileTypes\", \"label\", \"required\", \"disabled\"]);\n const inputRef = useRef(null);\n useImperativeHandle(outerRef, () => inputRef.current, []);\n const [file, setFile] = useState();\n const [errorState, setErrorState] = useState(InputState.VALID);\n const isInvalidFormat = errorState === InputState.INVALID_FORMAT || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n const isOverMaxSize = errorState === InputState.INVALID_SIZE || errorState === InputState.INVALID_FORMAT_AND_SIZE;\n // Computed properties based on params\n const maxSizeCopy = getFileSizeString({ maxBytes, format });\n const acceptedTypesCopy = getValidTypesString({ fileTypes });\n const acceptedTypesForInputEl = getTypePropForInputEl({ fileTypes });\n const clearFileSelection = () => {\n var _a;\n if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)\n inputRef.current.value = '';\n };\n // Tracks error states within the input element itself, using preset\n // error messages and assigns these to the input component based on the file\n const setInputValidation = ({ overMaxSize, invalidFormat, }) => {\n var _a;\n let error = InputState.VALID;\n if (invalidFormat && !overMaxSize) {\n error = InputState.INVALID_FORMAT;\n }\n else if (!invalidFormat && overMaxSize) {\n error = InputState.INVALID_SIZE;\n }\n else if (invalidFormat && overMaxSize) {\n error = InputState.INVALID_FORMAT_AND_SIZE;\n }\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(error);\n setErrorState(error);\n };\n // Processes file and updates the UI appropriately:\n const updateFiles = useCallback((files) => {\n if (!files.length) {\n setInputValidation({ invalidFormat: true });\n return;\n }\n const [newFile] = files;\n const hasExceededMaxSize = newFile.size > maxBytes;\n const [, extension] = newFile.type.split('/');\n const isTypeValid = fileTypes.find((validType) => validType.substring(1) === extension);\n const hasInvalidFormat = !isTypeValid;\n if (hasExceededMaxSize || hasInvalidFormat) {\n // Empty the inputRef's read-only fileList by clearing the value attribute,\n // since we have an invalid input.\n clearFileSelection();\n }\n else {\n // Update the files attribute of the input el, with the new file(s)\n setInputElFile({ fileList: files, elementId: id });\n }\n setInputValidation({\n invalidFormat: hasInvalidFormat,\n overMaxSize: hasExceededMaxSize,\n });\n setFile(newFile);\n }, [fileTypes, id, maxBytes]);\n // For focussing of input el and updating drop UI\n const onDragEnter = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // For unfocussing of input el and updating drop UI\n const onDragLeave = (event) => {\n var _a;\n event.preventDefault();\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n };\n // Prevents default browser behaviour\n const onDragOver = (event) => event.preventDefault();\n // Process file when dropped into eligible area\n const onDrop = (event) => {\n event.preventDefault();\n // Prevent reactions on dragging events that do not contain files\n if (!event.dataTransfer.files.length)\n return;\n updateFiles(event.dataTransfer.files);\n };\n // Removes input el's files, clears errors and removes file from react component\n const resetSelection = useCallback(() => {\n clearFileSelection();\n setFile(undefined);\n setInputValidation({\n invalidFormat: false,\n overMaxSize: false,\n });\n }, []);\n // Updates UI based on a native file input change. Attached via useEffect below\n const onInputChange = useCallback(() => {\n var _a;\n const files = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.files;\n if ((files === null || files === void 0 ? void 0 : files.length) && (files === null || files === void 0 ? void 0 : files.length) > 0)\n updateFiles(files);\n else\n resetSelection();\n }, [resetSelection, updateFiles]);\n useEffect(() => {\n const ref = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.addEventListener('cancel', resetSelection);\n return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('cancel', resetSelection);\n };\n }, [onInputChange, resetSelection]);\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(Label, { htmlFor: id },\n label,\n React.createElement(Stack, { spacing: 3, alignX: \"stretch\", style: { paddingTop: sizes.sm } },\n React.createElement(Hint, null,\n React.createElement(\"div\", null, acceptedTypesCopy),\n React.createElement(\"div\", null, maxSizeCopy)),\n React.createElement(DropZoneContainer, { onDrop: onDrop, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave },\n React.createElement(UploadCopy, null),\n React.createElement(\"input\", Object.assign({ ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required, disabled: disabled }, otherProps))))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection, disabled: disabled }),\n React.createElement(UploadFileErrors, { acceptedTypesCopy: isInvalidFormat ? acceptedTypesCopy : undefined, maxSizeCopy: isOverMaxSize ? maxSizeCopy : undefined }))));\n});\n//# sourceMappingURL=UploadFile.js.map","import { FileSizeUnit } from '../../constants';\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n//# sourceMappingURL=getFileSizeString.js.map","import { AcceptedFileTypes } from '../../constants';\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n if (isLast)\n base += ' and ';\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n if (!isPenultimate && !isLast && list.length > 2)\n base += ', ';\n });\n return base;\n};\n//# sourceMappingURL=getValidTypesString.js.map","/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property.\n *\n * E.g.\n *\n * const inputElAcceptProperty = getTypePropForInputEl({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant inputElAcceptProperty would equal \".csv\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getTypePropForInputEl = ({ fileTypes }) => {\n if (fileTypes.length === 1)\n return fileTypes[0];\n let base = '';\n fileTypes.forEach((fileType, index, list) => {\n const isLastElement = list.length - 1 === index && list.length > 1;\n if (isLastElement)\n base += `${fileType}`;\n else\n base += `${fileType}, `;\n });\n return base.trim();\n};\n//# sourceMappingURL=getTypePropForInputEl.js.map","/**\n * Updates the value of the files attribute held within an input elment. Used during DnD operations where\n * the input element's files need to kept in sync and updated.\n *\n * @param fileList - A list of files, typically extracted from the \"files\" attribute of an input element\n * @param elementId - The ID of the input element\n */\nexport const setInputElFile = ({ fileList, elementId }) => {\n const inputEl = document.getElementById(elementId);\n if (fileList.length) {\n inputEl.files = fileList;\n }\n};\n//# sourceMappingURL=setInputElFile.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});\n/**\n *\n * @deprecated\n *\n * use ViewTab component instead\n *\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","export var ViewTabTypes;\n(function (ViewTabTypes) {\n ViewTabTypes[\"saved\"] = \"saved\";\n ViewTabTypes[\"fixed\"] = \"fixed\";\n ViewTabTypes[\"draft\"] = \"draft\";\n})(ViewTabTypes || (ViewTabTypes = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const ThreeDotsIcon = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"4\", fill: \"none\", viewBox: \"0 -4 12 12\", role: \"presentation\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M2 .667C1.267.667.667 1.267.667 2S1.267 3.333 2 3.333c.734 0 1.334-.6 1.334-1.333S2.734.667 2 .667m8 0c-.733 0-1.333.6-1.333 1.333s.6 1.333 1.333 1.333c.734 0 1.334-.6 1.334-1.333S10.734.667 10 .667m-4 0c-.733 0-1.333.6-1.333 1.333S5.267 3.333 6 3.333c.734 0 1.334-.6 1.334-1.333S6.734.667 6 .667\" })));\n//# sourceMappingURL=ThreeDotsIcon.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';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { FlatButton } from '../Button/components/styled';\nimport { theme } from '../../theme';\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--13z4q4k\" }) `line-height:1;`;\nconst ThreeDotsIconStyling = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--ThreeDotsIconStyling\", componentId: \"vui--lo8tpb\" }) ``;\nconst CrossIconStyling = styled(CrossIcon).withConfig({ displayName: \"vui--CrossIconStyling\", componentId: \"vui--u5oj4b\" }) ``;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1nbpnol\" }) `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.dark};\n\n & > ${CounterText} {\n color: ${colors.neutral.grey.lightest};\n }\n `}`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--1fc3r48\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:${theme.sizes.sm};border:1px solid transparent;cursor:pointer;background-color:transparent;${({ customTextColour }) => `\n\n &:hover {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette, customTextColour }) => active &&\n `\n background-color: ${colourPalette.lightest};\n\n & > ${ThreeDotsIconStyling} {\n color: ${colourPalette.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colourPalette.dark};\n }\n\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colourPalette.dark};\n }\n `}`;\nconst ViewButton = styled(FlatButton).withConfig({ displayName: \"vui--ViewButton\", componentId: \"vui--i4ro1b\" }) `padding:${theme.sizes.sm};box-sizing:border-box;border-radius:4px;border:none;position:relative;margin:0;padding:0;${({ customTextColour }) => `\n &:focus-visible {\n ${Contour} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterContainer} {\n background-color: ${colors.neutral.grey.base};\n & > ${CounterText} {\n color: ${colors.neutral.ink.base};\n }\n }\n & > ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n & > ${ThreeDotsIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\n & > ${CrossIconStyling} {\n color: ${colors.neutral.ink.dark};\n }\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--1cuc9yu\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { ViewButton, Contour, Text, CounterContainer, CounterText, IconStyling, ThreeDotsIconStyling, CrossIconStyling, };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTabTypes } from './types';\nimport { Contour, CounterContainer, CounterText, CrossIconStyling, CustomIconWrapper, IconStyling, Text, ThreeDotsIconStyling, ViewButton, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-view` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const ViewTab = React.forwardRef((_a, ref) => {\n var { id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, subAction, ariaContext } = _a, props = __rest(_a, [\"id\", \"iconSlot\", \"name\", \"type\", \"className\", \"colourPalette\", \"customTextColour\", \"count\", \"active\", \"onClick\", \"subAction\", \"ariaContext\"]);\n const classNames = generateClassNames(className);\n const [isHovered, handleEnter, handleLeave] = useHover();\n const action = active && subAction ? subAction : onClick;\n const handleAction = () => action(id);\n const isDraft = type === ViewTabTypes.draft;\n const isSaved = type === ViewTabTypes.saved;\n const getLabelAction = () => {\n if (active && isDraft)\n return 'Delete';\n if (active && isSaved)\n return 'Edit';\n return '';\n };\n return (React.createElement(ViewButton, Object.assign({ className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container]), onClick: handleAction, role: \"tab\", \"aria-selected\": active, \"aria-label\": `${getLabelAction()} ${name} view ${count ? `with ${count} ${ariaContext}` : ''}`, customTextColour: customTextColour, ref: ref }, props),\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 !== undefined && count !== null && (React.createElement(CounterContainer, { \"data-testid\": \"countContainer\", active: active || isHovered, colourPalette: colourPalette, customTextColour: customTextColour },\n React.createElement(CounterText, { variant: \"subheadingSmall\" }, count))),\n isDraft && React.createElement(CrossIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"delete icon\" })),\n isSaved && active && React.createElement(ThreeDotsIconStyling, Object.assign({}, IconStyling, { \"aria-label\": \"edit icon\" })))));\n});\n//# sourceMappingURL=ViewTab.js.map","import styled from 'styled-components';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { colors } from '../../theme/modules/colors';\nimport { ThreeDotsIcon } from '../../tempIcons/ThreeDotsIcon';\nimport { InputGroup } from '../InputGroup';\nexport const ViewsWrapper = styled(Stack).withConfig({ displayName: \"vui--ViewsWrapper\", componentId: \"vui--x8ukf0\" }) `overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}gap:8px;height:inherit;padding:8px 6px 8px 12px;margin-left:0;`;\nexport const Container = styled(Stack).withConfig({ displayName: \"vui--Container\", componentId: \"vui--mlh8wa\" }) `background-color:${colors.neutral.grey.lightest};`;\nexport const StyledLeftIcon = styled(LeftArrowIcon).withConfig({ displayName: \"vui--StyledLeftIcon\", componentId: \"vui--193620d\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledRightIcon = styled(RightArrowIcon).withConfig({ displayName: \"vui--StyledRightIcon\", componentId: \"vui--erlipg\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuIcon = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--StyledMenuIcon\", componentId: \"vui--eg23b0\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuButton = styled(Button).withConfig({ displayName: \"vui--StyledMenuButton\", componentId: \"vui--1o9jbht\" }) `background-color:white;&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledLeftButton = styled(Button).withConfig({ displayName: \"vui--StyledLeftButton\", componentId: \"vui--wtwmiz\" }) `background-color:white;&:disabled{background-color:white;${StyledLeftIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledRightButton = styled(Button).withConfig({ displayName: \"vui--StyledRightButton\", componentId: \"vui--1ycuwov\" }) `background-color:white;&:disabled{background-color:white;${StyledRightIcon}{color:${colors.neutral.ink.lightest};}}&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--StyledInputGroup\", componentId: \"vui--l3ez4z\" }) `padding-right:8px;margin-left:0;& > *:first-child:last-child{border-radius:4px !important;}`;\n//# sourceMappingURL=styled.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { usePrevious } from 'react-use';\nimport { createViewPositionArray, getNextViewPosition, getPrevViewPosition } from '../utils';\nexport const useSetScrollPosition = (containerRef, children) => {\n var _a;\n const [leftDisabled, setLeftDisabled] = useState(true);\n const [rightDisabled, setRightDisabled] = useState(false);\n const [viewStartPositions, setViewStartPositions] = useState([]);\n const activeTab = (_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('[aria-selected = true]');\n const prevActiveTab = usePrevious(activeTab);\n const handleScroll = useCallback(() => {\n var _a, _b;\n if (containerRef.current.scrollLeft > 0) {\n setLeftDisabled(false);\n }\n else {\n if (document.getElementById('left-arrow') === document.activeElement) {\n (_a = document.getElementById('right-arrow')) === null || _a === void 0 ? void 0 : _a.focus();\n }\n setLeftDisabled(true);\n }\n const maxScrollLeft = containerRef.current.scrollWidth - containerRef.current.clientWidth;\n // -10 to prevent javascript assertion errors on floating points\n if (containerRef.current.scrollLeft >= maxScrollLeft - 10) {\n if (document.getElementById('right-arrow') === document.activeElement) {\n (_b = document.getElementById('left-arrow')) === null || _b === void 0 ? void 0 : _b.focus();\n }\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const handleResize = useCallback(() => {\n var _a;\n if (typeof ((_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.scrollWidth) === undefined)\n return;\n if (containerRef.current.scrollWidth - containerRef.current.getBoundingClientRect().width < 5) {\n setRightDisabled(true);\n }\n else {\n setRightDisabled(false);\n }\n }, [containerRef]);\n const toNextScrollPosition = useCallback(() => {\n const newPosition = getNextViewPosition(viewStartPositions, containerRef.current.scrollLeft, containerRef.current.clientWidth);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n const toPrevScrollPosition = useCallback(() => {\n const newPosition = getPrevViewPosition(viewStartPositions, containerRef.current.scrollLeft);\n containerRef.current.scrollTo({\n left: newPosition,\n top: 0,\n behavior: 'smooth',\n });\n }, [containerRef, viewStartPositions]);\n useEffect(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!containerRef)\n return;\n if (((_b = (_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.length) &&\n ((_d = (_c = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _c === void 0 ? void 0 : _c.children) === null || _d === void 0 ? void 0 : _d.length) !== viewStartPositions.length &&\n viewStartPositions.length > 0 &&\n viewStartPositions.length < children.length) {\n // scrolls to the last view, when a new item is added\n containerRef.current.scrollTo({\n left: containerRef.current.scrollWidth - containerRef.current.clientWidth,\n top: 0,\n behavior: 'smooth',\n });\n // computes the x position of the new item\n setViewStartPositions([\n ...viewStartPositions,\n viewStartPositions[viewStartPositions.length - 1] +\n ((_f = (_e = containerRef.current.children[viewStartPositions.length - 1]) === null || _e === void 0 ? void 0 : _e.getBoundingClientRect().x) !== null && _f !== void 0 ? _f : 0) -\n 20,\n ]);\n }\n if (((_h = (_g = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _g === void 0 ? void 0 : _g.children) === null || _h === void 0 ? void 0 : _h.length) && viewStartPositions.length === 0) {\n setViewStartPositions(createViewPositionArray(containerRef.current));\n }\n // scrolls to active tab when page loads\n if (activeTab !== prevActiveTab &&\n activeTab !== null &&\n ((_k = (_j = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) === null || _j === void 0 ? void 0 : _j.children) === null || _k === void 0 ? void 0 : _k.length) === viewStartPositions.length) {\n const index = Array.from(containerRef.current.children).indexOf(activeTab);\n containerRef.current.scrollTo({\n left: viewStartPositions[index],\n top: 0,\n behavior: 'smooth',\n });\n }\n handleResize();\n window.addEventListener('resize', () => handleResize());\n containerRef.current.addEventListener('scroll', () => handleScroll());\n // eslint-disable-next-line consistent-return\n return () => {\n window.removeEventListener('resize', () => handleResize());\n };\n }, [\n containerRef,\n children,\n handleResize,\n handleScroll,\n viewStartPositions,\n activeTab,\n prevActiveTab,\n ]);\n return { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition };\n};\n//# sourceMappingURL=useSetScrollPosition.js.map","/**\n * A function to get the 3rd next scroll value using an array of start positions\n */\nexport const getNextViewPosition = (viewPositionsArray, currentScroll, containerWidth) => {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (viewPositionsArray[i + 3] === undefined) {\n return currentScroll - containerWidth;\n }\n if (viewPositionsArray[i] >= currentScroll) {\n return viewPositionsArray[i + 3];\n }\n }\n return currentScroll - containerWidth; // if currentScroll is greater than the last ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * A function to get the 3rd previous scoll value using an array of start positions\n */\nexport const getPrevViewPosition = (viewPositionsArray, currentScroll) => {\n const reverseArray = viewPositionsArray.slice().reverse();\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < viewPositionsArray.length; i++) {\n if (reverseArray[i + 3] === undefined) {\n return 0;\n }\n if (reverseArray[i] < currentScroll) {\n return reverseArray[i + 3];\n }\n }\n return 0; // if currentScroll is less than the first ViewTab's start position, the new ScrollLeft value is 0.\n};\n/**\n * This produces an array of all x positions of child elements\n */\nexport const createViewPositionArray = (containerRef) => {\n const viewPositions = Object.values(containerRef.children).map((el) => {\n // -20 so movement stops at beginning of view, due to x value not accounting for padding\n return el.getBoundingClientRect().x - 20;\n });\n return viewPositions;\n};\n//# sourceMappingURL=utils.js.map","import React, { useRef } from 'react';\nimport { Container, StyledLeftButton, StyledLeftIcon, StyledMenuButton, StyledMenuIcon, StyledRightButton, StyledRightIcon, StyledInputGroup, ViewsWrapper, } from './styled';\nimport { useSetScrollPosition } from './hooks/useSetScrollPosition';\nexport const ViewsContainer = React.forwardRef(({ children, onClickMenu, ariaMenuControls, ariaMenuExpanded }, menuRef) => {\n const viewsRef = useRef(null);\n const { rightDisabled, leftDisabled, toNextScrollPosition, toPrevScrollPosition } = useSetScrollPosition(viewsRef, children);\n return (React.createElement(Container, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(ViewsWrapper, { ref: viewsRef, id: \"views\", role: \"tablist\", alignY: \"center\", direction: \"horizontal\" }, children),\n React.createElement(StyledInputGroup, null,\n (!leftDisabled || !rightDisabled) && (React.createElement(React.Fragment, null,\n React.createElement(StyledLeftButton, { id: \"left-arrow\", icon: React.createElement(StyledLeftIcon, null), disabled: leftDisabled, onClick: toPrevScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the left\" }),\n React.createElement(StyledRightButton, { id: \"right-arrow\", icon: React.createElement(StyledRightIcon, null), disabled: rightDisabled, onClick: toNextScrollPosition, variant: \"flat\", \"aria-label\": \"move views to the right\" }))),\n React.createElement(StyledMenuButton, { icon: React.createElement(StyledMenuIcon, null), variant: \"flat\", onClick: onClickMenu, \"aria-label\": \"open menu\", \"aria-controls\": ariaMenuControls, \"aria-expanded\": ariaMenuExpanded, \"aria-haspopup\": ariaMenuControls ? 'dialog' : undefined, ref: menuRef }))));\n});\n//# sourceMappingURL=ViewsContainer.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';\nimport { blockInvalidCharacters } from '../../utils/blockInvalidCharacters';\nimport { invalidCharsList } from '../../utils/invalidCharactersNumeric';\nconst blockInvalidChars = (e) => blockInvalidCharacters(e, invalidCharsList);\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, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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: \"pound\", type: \"number\", value: rest.pound, hasError: hasError, step: \"any\", min: \"0\", onKeyDown: blockInvalidChars }, 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: \"ounce\", type: \"number\", value: rest.ounce, hasError: hasError, min: \"0\", step: \"any\", onKeyDown: blockInvalidChars }, 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","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","generateId","prefix","randomId","uid","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","filter","Boolean","join","hexToRgb","hex","hexTmp","replace","m","r","g","b","result","exec","parseInt","getOpaqueHexColor","rgb","defaultAllowedHostnames","isExternalLink","urlOrPath","allowedHostnames","startsWith","hostname","urlHostname","URL","some","toLowerCase","allowedHostname","TABBABLE_SELECTORS","useHandleFocus","popperElement","anchorElement","onClose","disableFocusLock","useEffect","focusableElements","querySelectorAll","setTimeout","focus","focusWithinPopper","event","key","shiftKey","stopPropagation","preventDefault","addEventListener","removeEventListener","handleKeyDown","firstElement","lastElement","activeElement","handleFocusTrap","Popover","_a","passedId","placement","onShouldClose","removeBackdrop","useAnchorWidth","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","ref","popper","minWidth","clientWidth","onKeyDown","TailSpin","width","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","to","dur","repeatCount","cx","cy","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","icon","dropdown","loading","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","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","listItemMarkup","map","Fragment","DropdownContainer","DropdownPopover","reversed","popoverProps","AnimatePresence","y","Dropdown","shouldShow","setShouldShow","ctaIconSlot","ctaProps","dropdownProps","anchorRef","useRef","current","useClickOutside","isOpen","escapeListener","useCallback","clickListener","contains","target","useDebounce","handler","clearTimeout","useDropdown","shouldShowDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","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","config","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","useId","getTextStyles","textTheme","MenuItem","AriaMenuItem","ActionMenu","menuLabel","actions","idComputed","padding","code","Menu","toString","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","AlertContainer","colours","AttentionIcon","HelpIcon","InfoIcon","SuccessIcon","SpacingMap","IconSizeMap","IconMap","warning","recommend","ColourMap","Alert","passedColours","rightActions","titleSlot","message","divProps","IconSlot","isXsSize","margin","gap","minHeight","actionProps","CommonAnchor","a","Anchor","href","rel","isExternal","setDefaultRelValue","Container","BasicDropdown","BasicContainer","Wrap","AnimatedDropdown","cta","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","handleClickAway","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","withTriangle","usedConfig","modifiers","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","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","CalendarGrid","AriaCalendarGrid","weekdayStyle","CalendarGridHeader","day","CalendarHeaderCell","CalendarGridBody","date","CalendarCell","buttonStyles","css","calenderCellStyles","headerStyles","StyledRangeCalendar","RangeCalendar","LeftArrowIcon","_b","disabledRanges","disallowWeekends","isMultiMonth","focusedDate","setFocusedDate","start","locale","useLocale","isDateUnavailable","isWeekend","interval","compare","focusedValue","onFocusChange","visibleDuration","months","slot","Heading","display","overflow","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","Choice","hint","bordered","Accessory","labelVariant","inputPosition","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","Label","Hint","Error","RootStack","withLabels","marginBottom","hasError","withDeprecated","DateRangeGroup","Group","$hasError","DateRangeInput","shouldForceLeadingZeros","minValue","maxvalue","startValue","endValue","isDisabled","isReadOnly","ariaDescribedBy","ariaLabelledBy","onChangeStartDate","onChangeEndDate","DateField","maxValue","DateInput","segment","DateSegment","SelectInput","select","sizeVariant","Select","hidden","Slider","switched","Switch","small","Toggle","choiceProps","DEFAULT_PREVIOUS_PERIOD_OPTIONS","ComparePreviousPeriod","selectedPreviousPeriod","setSelectedPreviousPeriod","showCompareSelect","setShowCompareSelect","whiteSpace","newValue","newOption","DateRanges","getDateRange","today","now","getLocalTimeZone","dateRange","TODAY","end","YESTERDAY","subtract","days","LAST_7_DAYS","LAST_30_DAYS","LAST_90_DAYS","LAST_MONTH","lastMonth","startOfMonth","endOfMonth","LAST_12_MONTHS","WEEK_TO_DATE","startOfWeek","language","MONTH_TO_DATE","YEAR_TO_DATE","startOfYear","range","CalendarDate","year","month","timeRangeToDateRange","DATE_RANGE_OPTIONS","DEFAULT_SELECTION","DEFAULT_RANGE","DEFAULT_PRESET","checkIfDateRangeInvalid","selectedRange","presortStart","presortEnd","sort","disabledStart","disabledEnd","Divider","DateRangePicker","showDatePresets","onReset","selectedPreset","setSelectedPreset","setSelectedRange","previousPeriodProps","updateDateSegment","newRange","isDateRangeInvalid","matchedPreset","reduce","optionDateRange","optionStart","optionEnd","checkForMatchingPreset","showPreviousPeriod","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","index","array","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","widths","Array","cell","getBoundingClientRect","resizeObserverCallback","throttle","CustomEvent","Event","eventType","data","bubbles","cancelable","useColumnWidths","columns","columnIds","getColumnWidths","cols","obj","columnWidths","setColumnWidths","newColumnWidths","keys","forEach","JSON","stringify","setColumnWidth","column","lastColumn","newWidth","_c","querySelector","calculateWidth","evt","dispatchEvent","customEventEmitter","useColumns","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","renderCell","row","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","ResizerBar","ColumnDivider","createRef","mouseMove","minTranslate","dragDivider","dragInitX","tableHeaders","translate","Math","parentElement","classList","add","initWidth","contentWidth","deltaX","mouseUp","remove","trackMouseStart","onMouseDown","onDragStart","onChangeSort","resizeableColumns","columnCount","columnI","sortable","String","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","entry","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","disabledRowIds","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","initialColumns","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","adjustedCellWidths","Number","isNaN","loadingRows","random","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","newColumns","border","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","RegExp","test","StyledTextField","StyledButton","blockInvalidCharacters","invalidList","invalidCharsList","blockInvalidChars","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","NonSelectableText","GroupLabel","MainIcon","$shouldShow","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","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","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","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","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","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","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","blur","ScreenReaderOnlyElement","ScreenReaderOnly","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","ShortcutKeysContainer","$inverse","Kbd","kbd","ValidModifierKeysMap","command","windows","shift","ctrl","enter","delete","escape","up","down","space","ValidModifierKeyssLabelMap","ShortcutKeys","shortcut","inverse","displayLabel","shortcutElements","split","previousKbdElement","currentKbdElement","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","Skeleton","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","floor","decimalPlaces","pop","resultValue","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","borderColor","ToggleButton","tabIndex","DropZoneContainer","AcceptedFileTypes","FileSizeUnit","InputState","UploadGraphic","UploadCopy","pointerEvents","paddingTop","UploadFileErrors","acceptedTypesCopy","maxSizeCopy","SingleLineText","UploadedFilesListStack","UploadedFile","file","resetSelection","UploadFile","outerRef","maxBytes","format","MB","fileTypes","required","inputRef","useImperativeHandle","setFile","errorState","setErrorState","VALID","isInvalidFormat","INVALID_FORMAT","INVALID_FORMAT_AND_SIZE","isOverMaxSize","INVALID_SIZE","baseString","KB","getFileSizeString","fileType","list","iterable","isLast","isPenultimate","CSV","GIF","JPEG","JPG","PNG","getValidTypesString","acceptedTypesForInputEl","isLastElement","getTypePropForInputEl","clearFileSelection","setInputValidation","overMaxSize","invalidFormat","setCustomValidity","updateFiles","files","newFile","hasExceededMaxSize","extension","hasInvalidFormat","validType","substring","fileList","elementId","inputEl","getElementById","setInputElFile","onInputChange","onDrop","dataTransfer","onDragEnter","onDragOver","onDragLeave","accept","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","counter","View","onDelete","onEdit","handleEnter","handleLeave","handleDelete","handleEdit","isDraft","draft","isSaved","saved","ViewTabTypes","ThreeDotsIcon","ThreeDotsIconStyling","CrossIconStyling","ViewButton","ViewTab","subAction","ariaContext","ViewsWrapper","StyledLeftIcon","StyledRightIcon","StyledMenuIcon","StyledMenuButton","StyledLeftButton","StyledRightButton","StyledInputGroup","useSetScrollPosition","leftDisabled","setLeftDisabled","rightDisabled","setRightDisabled","viewStartPositions","setViewStartPositions","activeTab","prevActiveTab","usePrevious","maxScrollLeft","handleResize","toNextScrollPosition","newPosition","viewPositionsArray","currentScroll","containerWidth","getNextViewPosition","behavior","toPrevScrollPosition","reverseArray","getPrevViewPosition","_d","_e","_f","_g","_h","_j","_k","createViewPositionArray","ViewsContainer","onClickMenu","ariaMenuControls","ariaMenuExpanded","menuRef","viewsRef","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce"],"mappings":"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","x_google_ignoreList":[14]}