@veeqo/ui 6.0.0-beta.7 → 6.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/hooks/useHandleFocus.d.ts +2 -1
- package/dist/components/Popover/types.d.ts +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/components/BaseContainer/BaseContainer.ts","../src/components/Text/utils.ts","../src/theme/modules/colors.ts","../src/theme/modules/breakpoints.ts","../src/theme/modules/radius.ts","../src/theme/modules/shadows.ts","../src/theme/modules/sizes.ts","../src/theme/modules/text.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../src/components/Accordion/Accordion.tsx","../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/components/Popover/hooks/useHandleFocus.ts","../src/components/Popover/Popover.tsx","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Loader/TailSpin.tsx","../src/components/Loader/Grid.tsx","../src/components/Loader/ThreeDots.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/components/styled.ts","../src/tempIcons/DropdownIcon.tsx","../src/components/Button/Button.tsx","../src/components/CardHeader/styled.ts","../src/tempIcons/DownArrowIcon.tsx","../src/tempIcons/CrossIcon.tsx","../src/components/CardHeader/CardHeader.tsx","../src/components/Card/styled.ts","../src/components/Card/Card.tsx","../src/components/ActionList/styled.ts","../src/components/ActionList/ActionList.tsx","../src/components/Anchor/styled.ts","../src/components/Anchor/Anchor.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/Dropdown.tsx","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../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/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Choice/components/styled.ts","../src/tempIcons/HelpIcon.tsx","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/SuccessIcon.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/components/DataTable/utils/alignmentToFlex.ts","../src/components/DataTable/utils/parseWidth.ts","../src/components/DataTable/utils/generateTableCss.ts","../src/components/DataTable/utils/sumAll.ts","../src/components/DataTable/types.ts","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTable/utils/GetSortIcon.tsx","../src/components/DataTable/hooks/useCellWidths.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.ts","../src/components/DataTable/hooks/useNested.ts","../src/components/DataTable/hooks/useScrollPosition.ts","../src/components/DataTable/constants.ts","../src/components/DataTable/components/Header.ts","../src/components/DataTable/components/SelectionHeader.tsx","../src/components/DataTable/components/Cell.ts","../src/components/DataTable/components/SelectionCell.tsx","../src/components/DataTable/hooks/useSelection.tsx","../src/components/DataTable/components/ColumnHeader.tsx","../src/components/DataTable/renderers/renderHeader.tsx","../src/components/DataTable/utils/getNextSortState.ts","../src/components/DataTable/components/LoadingCellContent.ts","../src/components/DataTable/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTable/components/EmptyBodyContent.ts","../src/components/DataTable/components/NoWrap.ts","../src/components/DataTable/components/Row.ts","../src/components/DataTable/components/ScrollContainer.ts","../src/components/DataTable/components/TableGrid.ts","../src/components/DataTable/components/Truncate.ts","../src/components/DataTable/components/Wrapper.ts","../src/components/DataTable/components/StickyHead.tsx","../src/components/DataTable/utils/getRowState.ts","../src/tempIcons/InfoIcon.tsx","../src/components/DataTable/DataTable.tsx","../src/components/DataTable/renderers/renderLoadingCell.tsx","../src/components/DataTable/renderers/renderCell.ts","../src/components/DataTable/renderers/renderNestedCell.tsx","../src/components/DataTable/renderers/renderFooter.tsx","../src/components/DataTable/components/ColumnMenu.tsx","../src/components/DescriptionList/DescriptionList.tsx","../src/components/DetailPage/styled.ts","../src/components/DetailPage/DetailPage.tsx","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.tsx","../src/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/hooks/useClickOutside.ts","../src/hooks/useDebounce.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useTabs.ts","../src/components/FilterTag/styled.ts","../src/components/FilterTag/FilterTag.tsx","../src/components/Grid/index.ts","../src/components/Image/components/PlaceholderImage.tsx","../src/components/Image/components/styled.ts","../src/components/Image/utils.ts","../src/components/Image/Image.tsx","../src/components/LegacyDataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.tsx","../src/components/Pagination/Pagination.tsx","../src/utils/paginationList.ts","../src/components/PaginationRange/styled.ts","../src/components/PaginationRange/Items/Item/styled.ts","../src/components/PaginationRange/Items/Item/Item.tsx","../src/components/PaginationRange/Items/Items.tsx","../src/components/PaginationRange/PaginationRange.tsx","../src/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/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/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/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--bg86rb\" }) `box-sizing:border-box;position:relative;margin:0;padding:0;`;\n//# sourceMappingURL=BaseContainer.js.map","const componentMap = {\n inputLabel: 'label',\n inputLabelSmall: 'label',\n headingSmall: 'h3',\n headingMedium: 'h3',\n headingLarge: 'h2',\n headingXL: 'h1',\n headingXXL: 'h1',\n // Deprecated, but quickfix for A11y.\n button: 'button',\n buttonSmall: 'button',\n};\nexport const getComponentOverride = (as, variant) => {\n if (as)\n return as;\n if (variant)\n return componentMap[variant];\n return undefined;\n};\n//# sourceMappingURL=utils.js.map","export const colors = {\n brand: {\n blue: {\n lightest: '#E4F0F9',\n light: '#93C6E8',\n base: '#4CA1D9',\n dark: '#3878A2',\n darkest: '#1A384B',\n },\n peach: {\n lightest: '#FDECE9',\n light: '#F8B2A9',\n base: '#F48070',\n dark: '#B65F53',\n darkest: '#562D27',\n },\n },\n neutral: {\n ink: {\n lightest: '#959FA8',\n light: '#637381',\n base: '#37424D',\n dark: '#1B2126',\n },\n grey: {\n lightest: '#FAFAFB',\n light: '#F2F3F5',\n base: '#DFE3E8',\n dark: '#CDD1D5',\n },\n greyBlue: {\n lightest: '#AAC5D8',\n light: '#558BB1',\n base: '#406885',\n dark: '#1E313E',\n },\n },\n secondary: {\n red: {\n lightest: '#FDEEEE',\n light: '#F7BCBC',\n base: '#EB5757',\n dark: '#A53D3D',\n darkest: '#5E2323',\n },\n yellow: {\n lightest: '#FFF6D9',\n light: '#FFE999',\n base: '#FFC900',\n dark: '#BF9600',\n darkest: '#594600',\n },\n green: {\n lightest: '#E9F7EF',\n light: '#BEE7CF',\n base: '#27AE60',\n dark: '#1B7A43',\n darkest: '#104626',\n },\n lime: {\n lightest: '#F6FAEB',\n light: '#DBEBAE',\n base: '#A5CD35',\n dark: '#7B9927',\n darkest: '#394712',\n },\n teal: {\n lightest: '#E5F8F5',\n light: '#99E5D7',\n base: '#00BD9A',\n dark: '#00715C',\n darkest: '#00392E',\n },\n aqua: {\n lightest: '#EEFAFE',\n light: '#BBEBFA',\n base: '#56CCF2',\n dark: '#3C8FA9',\n darkest: '#225261',\n },\n purple: {\n lightest: '#F6EFFC',\n light: '#D9C0F1',\n base: '#A162DD',\n dark: '#694090',\n darkest: '#38224D',\n },\n blue: {\n lightest: '#D9EBF8',\n light: '#80BCE8',\n base: '#0079D1',\n dark: '#005A9C',\n darkest: '#003053',\n },\n pink: {\n lightest: '#FFF1FC',\n light: '#FFC7F3',\n base: '#FFA3EB',\n dark: '#BF7AB0',\n darkest: '#593852',\n },\n orange: {\n lightest: '#FEF5ED',\n light: '#FAD6B7',\n base: '#F2994A',\n dark: '#9D6330',\n darkest: '#613D1E',\n },\n },\n system: {\n scrollbar: {\n thumb: 'rgba(99, 115, 129, .5)',\n background: 'transparent',\n },\n },\n};\n//# sourceMappingURL=colors.js.map","export const breakpoints = {\n mobile: '640px',\n tablet: '720px',\n lgTablet: '960px',\n desktop: '1280px',\n lgDesktop: '1440px',\n};\n//# sourceMappingURL=breakpoints.js.map","export const radius = {\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n full: '50%',\n};\n//# sourceMappingURL=radius.js.map","export var Shadows;\n(function (Shadows) {\n Shadows[\"sm\"] = \"0px 1px 3px rgba(55, 66, 77, 0.15)\";\n Shadows[\"base\"] = \"0px 4px 6px rgba(27, 33, 38, 0.2)\";\n Shadows[\"md\"] = \"0px 10px 15px rgba(27, 33, 38, 0.2)\";\n Shadows[\"lg\"] = \"0px 20px 25px rgba(27, 33, 38, 0.2)\";\n})(Shadows || (Shadows = {}));\n//# sourceMappingURL=shadows.js.map","var SizeAlias;\n(function (SizeAlias) {\n SizeAlias[\"none\"] = \"none\";\n SizeAlias[\"line\"] = \"line\";\n SizeAlias[\"xs\"] = \"xs\";\n SizeAlias[\"sm\"] = \"sm\";\n SizeAlias[\"base\"] = \"base\";\n SizeAlias[\"md\"] = \"md\";\n SizeAlias[\"lg\"] = \"lg\";\n SizeAlias[\"xl\"] = \"xl\";\n SizeAlias[\"xxl\"] = \"xxl\";\n})(SizeAlias || (SizeAlias = {}));\nfunction buildSizeScale({ increment, unit, count }) {\n const sizes = {};\n /* eslint-disable-next-line no-plusplus */\n for (let i = 0; i <= count; i++) {\n const value = i * increment;\n sizes[i] = `${value}${unit}`;\n }\n return sizes;\n}\nexport const sizeScale = buildSizeScale({ increment: 0.25, unit: 'rem', count: 20 });\nexport const sizeAliases = {\n [SizeAlias.none]: '0',\n [SizeAlias.line]: '1px',\n [SizeAlias.xs]: sizeScale[1],\n [SizeAlias.sm]: sizeScale[2],\n [SizeAlias.base]: sizeScale[4],\n [SizeAlias.md]: sizeScale[6],\n [SizeAlias.lg]: sizeScale[8],\n [SizeAlias.xl]: sizeScale[12],\n [SizeAlias.xxl]: sizeScale[16],\n};\nexport const sizes = Object.assign(Object.assign({}, sizeAliases), sizeScale);\n//# sourceMappingURL=sizes.js.map","import { colors } from './colors';\nexport const common = {\n fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol',\n};\nexport const text = {\n headingXXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '40px',\n lineHeight: '56px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.022rem',\n },\n headingXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '28px',\n lineHeight: '40px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.02rem',\n },\n headingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: '32px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.019rem',\n },\n headingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n headingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n headingTable: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n subheadingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n subheadingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingSmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n body: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodySmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodyBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodyBoldDark: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.dark,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodySmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n button: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n buttonSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n linkLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.017rem',\n },\n linkMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.011rem',\n },\n link: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.006rem',\n },\n linkSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '0',\n },\n inputLabel: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n inputLabelSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n hintText: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholder: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n placeholderSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholderCode: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.5rem',\n },\n placeholderCodeSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.375rem',\n },\n error: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n errorSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n successSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.green.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n};\n//# sourceMappingURL=text.js.map","import { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--m0sc57\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--vb6lvt\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--19b2coz\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--13mhsyo\" }) `justify-content:flex-end;flex-grow:2;`;\n/**\n * Due to unique behaviour observed in Safari, we override the outline property when\n * the accordion is focussed.\n */\nconst AccordionSummary = styled.summary.withConfig({ displayName: \"vui--AccordionSummary\", componentId: \"vui--1lgp9cv\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;border:1px solid ${theme.colors.neutral.grey.dark};:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}:active{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--11peosj\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1e00qnt\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--2wgxvx\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--1dg5oex\" }) `summary{list-style-type:none;::-webkit-details-marker{display:none;}}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const UpArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.91021 10.47L7.97021 7.4167L11.0302 10.47L11.9702 9.53003L7.97021 5.53003L3.97021 9.53003L4.91021 10.47Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=UpArrowIcon.js.map","import React, { useState } from 'react';\nimport { motion } from 'framer-motion';\nimport { Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, AccordionSummary, } from './styled';\nimport { colors } from '../../theme/modules/colors';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Accordion = ({ className, children, label, iconSlot, glyphColor = colors.neutral.ink.lightest, timeout = 350, description, shouldOpenOnMount, }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(AccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: \"body\" }, label)),\n React.createElement(Right, null,\n React.createElement(motion.span, { animate: {\n rotate: shouldOpen ? 180 : 0,\n } },\n React.createElement(UpArrowIcon, { name: shouldOpen ? 'downArrow' : 'upArrow' })))),\n !!description && React.createElement(Description, { variant: \"hintText\" }, description)),\n shouldOpen && (React.createElement(AccordionContent, { initial: { opacity: 0 }, exit: { opacity: 0 }, animate: { opacity: 1 }, transition: { from: 0, type: 'tween', duration: timeout / 1000 } }, children))));\n};\n//# sourceMappingURL=Accordion.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export const generateId = (prefix) => {\n const randomNumber = Math.floor(Math.random() * 1000);\n return `${prefix}-${randomNumber}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","import styled from 'styled-components';\nexport const PopoverDialog = styled.dialog.withConfig({ displayName: \"vui--PopoverDialog\", componentId: \"vui--cg48a2\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--49or9l\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","import { 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, useAnchorWidth, supressWarnings } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"useAnchorWidth\", \"supressWarnings\"]);\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, supressWarnings });\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 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 ? { width: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.js.map","/* eslint-disable no-console */\n/* eslint-disable consistent-return */\nimport { useEffect } from 'react';\n/**\n * Update the anchor element to sent the required attributes if they haven't already set them.\n *\n * This allows current, inaccesible usages to be improved.\n */\nexport const useUpdateAriaAnchor = ({ anchorElement, popoverId, supressWarnings = false, }) => {\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 if (!supressWarnings)\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 if (!supressWarnings)\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 if (!supressWarnings)\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, supressWarnings]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--3juln2\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ $loading }) => ($loading ? 'opacity: 0;' : null)};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--1xsghtl\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n 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--1mceh7z\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1vhc5dm\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--lamrqo\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--14zrdl\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--1w880uc\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:${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--kyccjz\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--eh2yja\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};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--cvu4hf\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { \"$loading\": loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && children,\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--13im4do\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--1orvtgl\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--1s3932u\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--n2tmr2\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--8unl0i\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--1q1caki\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--5cnkiv\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { Text } from '../Text';\nconst { sizes, colors, text } = theme;\nexport const ListCard = styled(Card.Surface).withConfig({ displayName: \"vui--ListCard\", componentId: \"vui--1trkfaa\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--rjtb0l\" }) `display:flex;flex-direction:column;& + &{border-top:1px solid ${colors.neutral.grey.base};margin-top:${sizes.base};padding-top:${sizes.base};}`;\nexport const SectionHeading = styled(Text).attrs({ variant: 'subheadingSmall' }).withConfig({ displayName: \"vui--SectionHeading\", componentId: \"vui--74egpv\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--1ib3pw5\" }) `box-sizing:border-box;min-height:${sizes.lg};padding:${sizes.xs} ${sizes.base};display:flex;align-items:center;white-space:nowrap;font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};&:hover{background-color:${colors.neutral.grey.light};color:${colors.secondary.blue.base};}& > * + *{margin-left:${sizes[3]};}`;\nexport const ActionItem = styled(Item).withConfig({ displayName: \"vui--ActionItem\", componentId: \"vui--1p9b0cj\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--dzqkwg\" }) `color:${colors.secondary.blue.base};text-decoration:underline;`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Popover } from '../Popover';\nimport { Button } from '../Button';\nimport { Section, SectionHeading, ListCard, Item, ActionItem, LinkItem } from './styled';\nconst itemMap = {\n item: Item,\n action: ActionItem,\n link: LinkItem,\n};\nexport const ActionList = ({ title, items = [], sections, buttonVariant, buttonSize, }) => {\n const [isActive, setIsActive] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (callback) => {\n setIsActive(false);\n callback();\n };\n const renderItem = (item) => {\n const ItemComponent = itemMap[item.variant || 'item'];\n return (React.createElement(ItemComponent, { onClick: () => handleClick(item.onClick), key: item.title },\n item.icon && item.icon,\n React.createElement(\"span\", null, item.title)));\n };\n const renderSection = (section) => (React.createElement(Section, { key: section.title },\n section.title && React.createElement(SectionHeading, null, section.title),\n section.items.map(renderItem)));\n const listItemMarkup = sections ? sections.map(renderSection) : items.map(renderItem);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { dropdown: true, variant: buttonVariant, size: buttonSize, onClick: () => setIsActive(!isActive), ref: setAnchorEl }, title),\n isActive && (React.createElement(Popover, { anchorElement: anchorEl, placement: \"bottom-start\", onShouldClose: () => setIsActive(false) },\n React.createElement(ListCard, null, listItemMarkup)))));\n};\n//# sourceMappingURL=ActionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--1tq5iq\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { CommonAnchor } from './styled';\nexport const Anchor = ({ children, className, text, href, target }) => (React.createElement(CommonAnchor, { href: href, target: target, className: className }, children || text));\n//# sourceMappingURL=Anchor.js.map","import styled from 'styled-components';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--602vf7\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--npjssh\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nexport { Wrap, Container };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../../BaseContainer';\nexport const DropdownContainer = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--DropdownContainer\", componentId: \"vui--1b87uvb\" }) `display:inline-flex;position:absolute;flex-direction:column;overflow:hidden;${({ useAnchorWidth }) => (useAnchorWidth ? 'width: 100%;' : '')} background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;${({ reversed }) => (reversed ? 'bottom: 8px;' : 'top: 6px;')}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../../Popover';\nexport const Dropdown = (_a) => {\n var { id, children, className, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => {\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n }, [anchorElement]);\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth }, popoverProps),\n React.createElement(DropdownContainer, { className: className, 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=Dropdown.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { Wrap, Container } from './styled';\nimport { Dropdown } from './components/Dropdown';\nexport const AnimatedDropdown = (_a) => {\n var { id, cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, placement = 'bottom-start', onClick, onMouseEnter, onMouseLeave, useAnchorWidth } = _a, popoverProps = __rest(_a, [\"id\", \"cta\", \"shouldShowDropdown\", \"children\", \"className\", \"reversed\", \"placement\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\", \"useAnchorWidth\"]);\n const [anchorRef, setAnchorRef] = useState(null);\n const cachedCTA = useMemo(\n // Add anchor ref so we can programatically focus the ancohor element/ CTA button.\n () => (cta ? React.cloneElement(cta, { ref: setAnchorRef }) : null), [cta]);\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave },\n !reversed && cachedCTA,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(AnimatePresence, null, shouldShowDropdown && (React.createElement(Dropdown, Object.assign({ id: id, useAnchorWidth: useAnchorWidth, className: `${className}-basic-dropdown ${className}`, anchorElement: anchorRef, placement: placement }, popoverProps), children)))),\n reversed && cachedCTA));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--224xhi\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--t7r6of\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--1yesgsr\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--14vro0x\" }) `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--yf0fwi\" }) `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--ll0nnf\" }) `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--1u8lm59\" }) `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--idt2e7\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--cjoxaq\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--12dvheo\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--5cooo3\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--5tzoxx\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--9nzbbv\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--zplr21\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1j9d69e\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--wt59q7\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1wkol92\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--150p0zs\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--16f283b\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--19n9row\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--ikbqaf\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--3b6yzv\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--8ngm7b\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};width:24px;height:24px;`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--1cu5xjr\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1na6cp4\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--1rasg4l\" }) `font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.sizes.md};color:${theme.text.body.color};`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--13bynjq\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--1kh3zgo\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--ogz9oa\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--11xzxut\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}& ${LabelText}{font-weight:${theme.text.bodyBold.fontWeight};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--gms4qf\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, LabelText, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nexport const Choice = ({ id, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && React.createElement(LabelText, null, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, null, hint),\n error && React.createElement(ErrorText, null, error),\n Footer)) : null));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--bq2l9d\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, className: className, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--14lc9u\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = forwardRef((_a, ref) => {\n var { checked, value, name, disabled, onChange, id } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const componentId = id !== null && id !== void 0 ? id : generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: componentId, disabled: disabled }, otherProps),\n React.createElement(Input, { id: componentId, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange, ref: ref })));\n});\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--z1f13i\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--snr02n\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--n9oowl\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, visible, stripingMode, }) {\n const pinnedLeftStyles = pinnedLeft.map((_, index) => `\n th:nth-child(${index + 1}),\n td:nth-child(${index + 1}) {\n position: sticky;\n left: ${cellWidths ? sumAllBeforeIndex(cellWidths, index + 1) : 0}px;\n z-index: 2;\n }\n `);\n const pinnedRightStyles = pinnedRight.map((_, index) => `\n th:nth-last-child(${index + 1}),\n td:nth-last-child(${index + 1}) {\n position: sticky;\n right: ${cellWidths ? sumAllAfterIndex(cellWidths, cellWidths.length - index) : 0}px;\n }\n `);\n const isLeftShadowVisible = scrollPosition !== 'start' && scrollPosition !== 'none';\n const leftShadow = `\n th:nth-child(${pinnedLeft.length})::after,\n td:nth-child(${pinnedLeft.length})::after {\n position: absolute;\n transform: translate(100%);\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isLeftShadowVisible ? 'inset 10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const isRightShadowVisible = scrollPosition !== 'end' && scrollPosition !== 'none';\n const rightShadow = `\n th:nth-last-child(${pinnedRight.length})::after,\n td:nth-last-child(${pinnedRight.length})::after {\n position: absolute;\n transform: translate(-100%);\n top: 0;\n left: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isRightShadowVisible ? 'inset -10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const stripingRow = `\n tr:nth-child(odd) > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tr + tr > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n const stripingNested = `\n tbody:nth-of-type(odd) > tr > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tbody + tbody > tr:first-child > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n return `\n grid-template-columns: ${visible.map((col) => parseWidth(col.width)).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","export function useColumns(columns) {\n const visible = columns.filter((col) => col.hidden !== true);\n const pinnedLeft = visible.filter((col) => col.pinned === 'left');\n const pinnedRight = visible.filter((col) => col.pinned === 'right');\n const notPinned = visible.filter((col) => col.pinned === 'none' || !col.pinned);\n return {\n visible: [...pinnedLeft, ...notPinned, ...pinnedRight],\n pinnedLeft,\n pinnedRight,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n if (!scrollTarget)\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","import { useState } from 'react';\nexport function useNested() {\n const [expandedRowIds, setExpandedRowIds] = useState([]);\n // TODO: Memoise this\n const setExpanded = (expanded, rowId) => {\n if (!rowId)\n return;\n if (expanded) {\n // Add rowId to expandedRowIds\n if (expandedRowIds.includes(rowId))\n return;\n const rowIds = [...expandedRowIds, rowId];\n setExpandedRowIds(rowIds);\n }\n else {\n // Remove rowIds from expandedRowIds\n const index = expandedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...expandedRowIds];\n rowIds.splice(index, 1);\n setExpandedRowIds(rowIds);\n }\n };\n return {\n nestedTableProps: {\n expandedRowIds,\n setExpanded,\n },\n };\n}\n//# sourceMappingURL=useNested.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--ilge6b\" }) `height:${headerCellHeight};display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--3tw1b6\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--1x79m95\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--1kiwwja\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--p1ald0\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React from 'react';\nimport { Tooltip } from '../../Tooltip';\nimport { Header } from '../components/Header';\nimport { HeaderContent, ClickableHeaderContent, SortIndicator } from '../components/ColumnHeader';\nimport { getNextSortState, GetSortIcon } from '../utils';\n/**\n * Default renderer for table header cells\n *\n * @param column Column configuration object\n * @returns Header cell instance\n */\nexport function renderHeader({ column, sortState, onChangeSort, }) {\n if (column.sortable && !sortState) {\n throw new Error(`Column '${column.id}' is configured to be sortable but the 'sortState' prop is missing.`);\n }\n if (column.hidden) {\n return null;\n }\n const headerProps = {\n key: column.id.toString(),\n id: `datatable-header-${column.id}`,\n role: 'columnheader',\n align: column.align,\n spacing: column.spacing,\n className: column.sortable ? 'sortable' : undefined,\n };\n // If defined, use custom renderer\n if (column.renderHeader) {\n return column.renderHeader(column, headerProps);\n }\n const handleClickSort = () => {\n if (!sortState) {\n console.log('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.log('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps),\n column.icon && column.icon,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 })))))));\n}\n//# sourceMappingURL=renderHeader.js.map","import { SortDirection } from '../types';\nexport function getNextSortState({ sortState, columnId }) {\n const isColumnSame = sortState.columnId === columnId;\n const isDefaultDirection = sortState.direction === SortDirection.ascending;\n let newSortDirection = SortDirection.ascending;\n if (isColumnSame && isDefaultDirection) {\n newSortDirection = SortDirection.descending;\n }\n return { columnId, direction: newSortDirection };\n}\n//# sourceMappingURL=getNextSortState.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\n/* Loading content shimmer animation */\nconst shimmerLight = theme.colors.neutral.grey.base;\nconst shimmerDark = theme.colors.neutral.grey.dark;\nexport const LoadingCellContent = styled.div.withConfig({ displayName: \"vui--LoadingCellContent\", componentId: \"vui--1bv9ck1\" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\\n to right,\\n ${shimmerLight} 0%,\\n ${shimmerDark} 20%,\\n ${shimmerLight} 40%,\\n ${shimmerLight} 100%\\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;\n//# sourceMappingURL=LoadingCellContent.js.map","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { renderHeader } from '../renderers/renderHeader';\nimport { headerCellHeight } from '../constants';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--uoc40o\" }) `display:grid;grid-template-columns:auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:50;height:${headerCellHeight};background-color:white;`;\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--x1996k\" }) `width:100%;height:100%;display:flex;align-items:center;padding:0 0.5rem;border-bottom:1px solid ${theme.colors.neutral.grey.base};& > *{flex:1;}`;\nexport function ActionBar({ selectionColumn, intersectionTargetRef, containerRef, children, }) {\n var _a;\n const [isSticky, setIsSticky] = useState(false);\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const callback = (entries) => {\n entries.forEach((entry) => {\n setIsSticky(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(callback);\n intersectionObserver.observe(intersectionTargetRef.current);\n /* eslint-disable-next-line consistent-return */\n return () => intersectionObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [intersectionTargetRef.current]);\n const containerRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const defaultPositionStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n };\n const stickyPositionStyles = {\n position: 'fixed',\n top: 0,\n left: containerRect === null || containerRect === void 0 ? void 0 : containerRect.left,\n width: containerRect === null || containerRect === void 0 ? void 0 : containerRect.width,\n };\n const style = isSticky ? stickyPositionStyles : defaultPositionStyles;\n return (React.createElement(Container, { style: style },\n renderHeader({ column: selectionColumn }),\n React.createElement(Content, null, children)));\n}\n//# sourceMappingURL=ActionBar.js.map","import React from 'react';\nexport const VisiblityIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C17 19.5 21.27 16.39 23 12C21.27 7.61 17 4.5 12 4.5ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityIcon.js.map","import React from 'react';\nexport const VisiblityOffIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 7C14.76 7 17 9.24 17 12C17 12.65 16.87 13.26 16.64 13.83L19.56 16.75C21.07 15.49 22.26 13.86 22.99 12C21.26 7.61 16.99 4.5 11.99 4.5C10.59 4.5 9.25 4.75 8.01 5.2L10.17 7.36C10.74 7.13 11.35 7 12 7ZM2 4.27L4.28 6.55L4.74 7.01C3.08 8.3 1.78 10.02 1 12C2.73 16.39 7 19.5 12 19.5C13.55 19.5 15.03 19.2 16.38 18.66L16.8 19.08L19.73 22L21 20.73L3.27 3L2 4.27ZM7.53 9.8L9.08 11.35C9.03 11.56 9 11.78 9 12C9 13.66 10.34 15 12 15C12.22 15 12.44 14.97 12.65 14.92L14.2 16.47C13.53 16.8 12.79 17 12 17C9.24 17 7 14.76 7 12C7 11.21 7.2 10.47 7.53 9.8ZM11.84 9.02L14.99 12.17L15.01 12.01C15.01 10.35 13.67 9.01 12.01 9.01L11.84 9.02Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityOffIcon.js.map","import React from 'react';\nexport const ReorderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M3 15H21V13H3V15ZM3 19H21V17H3V19ZM3 11H21V9H3V11ZM3 5V7H21V5H3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ReorderIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const EmptyBodyContent = styled.div.withConfig({ displayName: \"vui--EmptyBodyContent\", componentId: \"vui--klb9dq\" }) `padding-top:${theme.sizes.lg};padding-bottom:${theme.sizes.lg};grid-column:${({ columnCount }) => `1 / span ${columnCount}`};display:flex;flex-direction:column;align-items:center;justify-content:center;gap:${theme.sizes.md};`;\nexport const EmptyBodyGlyphWrapper = styled.div.withConfig({ displayName: \"vui--EmptyBodyGlyphWrapper\", componentId: \"vui--12lmw1\" }) `padding:${theme.sizes.md};background-color:${theme.colors.neutral.grey.light};border-radius:${theme.radius.full};`;\n//# sourceMappingURL=EmptyBodyContent.js.map","import styled from 'styled-components';\nexport const NoWrap = styled.div.withConfig({ displayName: \"vui--NoWrap\", componentId: \"vui--kbcaqo\" }) `white-space:nowrap;`;\n//# sourceMappingURL=NoWrap.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--9t9651\" }) `display:contents;${({ selected }) => selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};${({ accentColor }) => accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}`;\n//# sourceMappingURL=Row.js.map","import styled from 'styled-components';\nexport const ScrollContainer = styled.div.withConfig({ displayName: \"vui--ScrollContainer\", componentId: \"vui--1lne8xk\" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;\n//# sourceMappingURL=ScrollContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst defaultDensity = 'base';\nexport const TableGrid = styled.table.withConfig({ displayName: \"vui--TableGrid\", componentId: \"vui--15hxahr\" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;\n//# sourceMappingURL=TableGrid.js.map","import styled from 'styled-components';\nexport const Truncate = styled.div.withConfig({ displayName: \"vui--Truncate\", componentId: \"vui--coqvc6\" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;\n//# sourceMappingURL=Truncate.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst borderModeStyles = {\n full: `border-width: 1px; border-radius: ${theme.radius.base};`,\n vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',\n none: 'border-width: 0;',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--nnuzgr\" }) `width:100%;position:relative;border-style:solid;border-color:${theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}`;\n//# sourceMappingURL=Wrapper.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, }) {\n const stickyContainerRef = useRef(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const updateContainerDimensions = () => {\n var _a;\n const targetRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const newRect = {\n left: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.left) || 0,\n width: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.width) || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n const updateContainerScrollPosition = () => {\n var _a;\n if (!containerRef.current)\n return;\n const xScrollOffset = containerRef.current.scrollLeft;\n (_a = stickyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(xScrollOffset, 0);\n };\n // Configure intersection observer to toggle sticky header on/off\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const options = {\n threshold: 1.0,\n };\n const intersectionCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n // Calculate sticky header position and size to match table container\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n // Update dimensions when container element is resized\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateContainerDimensions, 33); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n // Sync container scrolling\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n useEffect(() => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n // Render sticky header\n if (!isVisible)\n return null;\n const containerStyle = Object.assign(Object.assign({}, containerRect), { height: headerCellHeight, position: 'fixed', zIndex: 5, overflowX: 'hidden', overflowY: 'hidden', borderBottom: `1px solid ${theme.colors.neutral.grey.base}` });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n icon: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ ActionBarSlot, borderMode, columns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...columns];\n const allColumns = selectionEnabled ? columnsWithSelection : columns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight } = useColumns(allColumns);\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths,\n scrollPosition,\n visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.icon),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort }))));\n const shouldRenderFooter = columns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!ActionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, ActionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: cellWidths }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--1lcnd5n\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--t25k5o\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--j013c4\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--12tjaz\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--zavj5i\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--7wguee\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--1tbr7pe\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--qefy7h\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--2b6aqg\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--u4z5d7\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--dhtep4\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1fu4njf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--1r762o2\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1wskrbx\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { generateId } from '../../utils/generateId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useMemo(() => generateId(Component.name), []);\n if (!label) {\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n }\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1o6oill\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1jp908v\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, max, min, multiline = false, name, onChange, pattern, placeholder, rows = '3', size = ComponentSize.base, step, type = 'text', value, spellCheck = false } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, max: max, min: min, name: name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n});\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--31hvgq\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--fkaqbt\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--sglucf\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--m1c7se\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--1cuqy49\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1yz94gf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--d0gr40\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState, useCallback } from 'react';\nexport function useDropdown() {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => setShouldShowDropdown(false), [setShouldShowDropdown]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n}\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--ujckjn\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:4px 8px;cursor:pointer;svg{width:${sizes.base};height:${sizes.base};}`;\nconst NonSelectableText = styled(Text).withConfig({ displayName: \"vui--NonSelectableText\", componentId: \"vui--oath0b\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--ln021\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--za0kgi\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--8epxko\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--1wgdg8n\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--188pxr2\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:12px 18px;border-bottom:1px solid ${colors.neutral.grey.base};svg{color:${({ color }) => color};width:${sizes[5]};height:${sizes[5]};margin-right:10px;}`;\nexport { Container, Text, AnimatedDropdown as Dropdown, GroupLabel, Content, Header, MainIcon, StyledCrossIcon as CrossIcon, };\n//# sourceMappingURL=styled.js.map","import React 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, onClick, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown();\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, onShouldClose: closeDropdown, cta: React.createElement(Container, { className: classNames.container, onClick: toggleShouldShowDropdown },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(MainIcon, { color: colors.neutral.ink.base, name: \"downArrow\", shouldShow: shouldShowDropdown })) },\n React.createElement(Content, null,\n React.createElement(Header, { color: fill },\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Grid = styled(BaseContainer).withConfig({ displayName: \"vui--Grid\", componentId: \"vui--kz0fa5\" }) `display:grid;grid-template-columns:repeat(${({ columns }) => columns}, 1fr);grid-gap:${({ spacing = 'base' }) => (spacing ? sizes[spacing] : 0)};`;\n//# sourceMappingURL=index.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--zx358v\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--b3uukr\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--1x57v09\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--7k8es9\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import React from 'react';\nimport { CalanderIcon } from '../../../tempIcons/CalendarIcon';\nimport { FailIcon } from '../../../tempIcons/FailIcon';\nconst iconSize = { width: 64, height: 64 };\nexport const defaultEmptyState = {\n icon: React.createElement(CalanderIcon, Object.assign({}, iconSize)),\n title: 'No data found',\n};\nexport const defaultErrorState = {\n icon: React.createElement(FailIcon, Object.assign({}, iconSize)),\n title: 'An error occurred when creating the table',\n subTitle: \"Please, try reloading the page once. If this doesn't solve the problem, contact support\",\n};\nexport var ScrollPosition;\n(function (ScrollPosition) {\n ScrollPosition[\"start\"] = \"start\";\n ScrollPosition[\"middle\"] = \"middle\";\n ScrollPosition[\"end\"] = \"End\";\n ScrollPosition[\"none\"] = \"none\";\n})(ScrollPosition || (ScrollPosition = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const CalanderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M18.3333 5.7H17.5V4H15.8333V5.7H9.16667V4H7.5V5.7H6.66667C5.74167 5.7 5.00833 6.465 5.00833 7.4L5 19.3C5 20.235 5.74167 21 6.66667 21H18.3333C19.25 21 20 20.235 20 19.3V7.4C20 6.465 19.25 5.7 18.3333 5.7ZM10.0002 11.65H8.3335V13.35H10.0002V11.65ZM13.3332 11.65H11.6665V13.35H13.3332V11.65ZM15 11.65H16.6667V13.35H15V11.65ZM6.6665 19.3H18.3332V9.94998H6.6665V19.3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CalendarIcon.js.map","import React from 'react';\nexport const FailIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12.0001 20.1818C16.5187 20.1818 20.1819 16.5187 20.1819 12C20.1819 7.4813 16.5187 3.81818 12.0001 3.81818C7.48136 3.81818 3.81824 7.4813 3.81824 12C3.81824 16.5187 7.48136 20.1818 12.0001 20.1818ZM16.3536 8.80575L13.1593 12L16.3536 15.1943L15.1943 16.3536L12 13.1593L8.80575 16.3536L7.64648 15.1943L10.8408 12L7.64648 8.80575L8.80575 7.64648L12 10.8408L15.1943 7.64648L16.3536 8.80575ZM8.80571 16L8.80575 16L12 12.8058L12 12.8057L8.80571 16ZM15.1943 16L15.1943 16L16 15.1943L16 15.1943L15.1943 16ZM16 8.80575L12.8058 12L12.8057 12L16 8.80571L16 8.80575Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=FailIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { ScrollPosition } from './utils/constants';\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nexport const TooltipContent = styled.div.withConfig({ displayName: \"vui--TooltipContent\", componentId: \"vui--6b6999\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--8prdgq\" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''};\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''};\n };\n `}`;\nexport const WrapperBordered = styled(Wrapper).withConfig({ displayName: \"vui--WrapperBordered\", componentId: \"vui--1uzcmg4\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--tbv1ab\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--1f7jdxq\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;\nexport const Foot = styled.tfoot.withConfig({ displayName: \"vui--Foot\", componentId: \"vui--1ug6bgl\" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--ostkmy\" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&\n `\n & > td:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor}; \n }\n `}`;\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--9fl65z\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--HeaderCell\", componentId: \"vui--1mc579o\" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\nexport const HeaderCellLayout = styled.div.withConfig({ displayName: \"vui--HeaderCellLayout\", componentId: \"vui--iko9ux\" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--1vjqk2m\" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}}${({ noWrap }) => noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}`;\nexport const Footer = styled.tfoot.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--ob9m7j\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;\nexport const StickyHeaderWrapper = styled.div.withConfig({ displayName: \"vui--StickyHeaderWrapper\", componentId: \"vui--5eqa3f\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--48b34o\" }) ``;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nconst SpecificStateContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SpecificStateContainer\", componentId: \"vui--120wsfh\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;height:${(props) => props.height}px;background:white;`;\nconst EllipseContainer = styled(BaseContainer).withConfig({ displayName: \"vui--EllipseContainer\", componentId: \"vui--1khxo3q\" }) `display:flex;justify-content:center;align-items:center;width:120px;height:120px;border-radius:100px;background:${theme.colors.neutral.grey.base};svg{width:64px !important;height:64px !important;}`;\nconst TitleText = styled(Text).withConfig({ displayName: \"vui--TitleText\", componentId: \"vui--3cvjfj\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--mw0wkw\" }) `margin-top:8px;`;\nexport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText } from './styled';\nexport const SpecificState = ({ height, icon, title, subTitle }) => (React.createElement(SpecificStateContainer, { height: height },\n React.createElement(EllipseContainer, null, icon),\n React.createElement(TitleText, { variant: \"headingLarge\" }, title),\n subTitle && React.createElement(SubTitleText, { variant: \"subheadingMedium\" }, subTitle)));\n//# sourceMappingURL=SpecificState.js.map","/* eslint-disable import/prefer-default-export */\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const CellButton = styled.button.withConfig({ displayName: \"vui--CellButton\", componentId: \"vui--14e2rl4\" }) `appearance:none;border:0;background-color:transparent;font:inherit;display:inline-block;box-sizing:border-box;width:calc(100% + 1.5rem);margin:-0.75rem -0.75rem;padding:0.75rem 0.75rem;text-align:inherit;line-height:${theme.sizes.base};border-radius:${theme.radius.base};&:hover{cursor:pointer;background-color:${theme.colors.secondary.blue.lightest};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst ClickableButton = styled(CellButton).withConfig({ displayName: \"vui--ClickableButton\", componentId: \"vui--1qfw372\" }) `color:${theme.text.link.color};text-decoration:${theme.text.link.textDecoration};`;\nexport const ClickableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(ClickableButton, { onClick: onClick }, children)));\n};\n//# sourceMappingURL=ClickableCell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--1fqu167\" }) `text-align:inherit;border-bottom:1px dotted black;`;\nexport const EditableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(CellButton, { onClick: onClick },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=EditableCell.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst { grey } = theme.colors.neutral;\nconst SkeletonContentWrapper = styled.div.withConfig({ displayName: \"vui--SkeletonContentWrapper\", componentId: \"vui--q4n9vc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--yfc89o\" }) `display:inline-block;color:transparent;border-radius:4px;animation-duration:${({ isLoading = true }) => (isLoading ? '1s' : 0)};animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(to right, ${grey.base} 8%, ${grey.dark} 15%, ${grey.base} 33%);background-size:800px 104px;border:0;width:100%;height:100%;@keyframes placeHolderShimmer{0%{background-position:-380px 0;}100%{background-position:380px 0;}}`;\nexport const SkeletonContent = ({ isLoading, style }) => (React.createElement(SkeletonContentWrapper, { style: style },\n React.createElement(SkeletonContentComponent, { isLoading: isLoading })));\n//# sourceMappingURL=SkeletonContent.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Cell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonCell = (_a) => {\n var { style } = _a, otherProps = __rest(_a, [\"style\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(SkeletonContent, { style: style })));\n};\nSkeletonCell.defaultProps = {\n style: {},\n};\n//# sourceMappingURL=SkeletonCell.js.map","import { useCallback, useEffect, useState } from 'react';\nexport const useStickyHeader = (tableRef, topOffset) => {\n const [isSticky, setIsSticky] = useState(false);\n const handleScrollChange = useCallback(({ top, bottom }) => {\n let sticky = isSticky;\n if (top <= (topOffset || 0) && bottom > 0) {\n sticky = !isSticky ? true : sticky;\n }\n else {\n sticky = isSticky ? false : sticky;\n }\n if (sticky !== isSticky)\n setIsSticky(sticky);\n }, [isSticky, topOffset]);\n useEffect(() => {\n const onScroll = () => {\n var _a;\n if (tableRef.current) {\n handleScrollChange((_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect());\n }\n };\n window.addEventListener('scroll', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [handleScrollChange, tableRef]);\n return { isSticky };\n};\n//# sourceMappingURL=hooks.js.map","import React, { useState } from 'react';\nimport { useScroll } from 'react-use';\nimport { FakeHeaderTable, StickyHeaderWrapper } from './styled';\nimport { useStickyHeader } from './utils/hooks';\nexport const StickyHeader = ({ renderHeader, tableRef, wrapperRef, isFixedLayout, wrapperStyle, }) => {\n var _a;\n const [headerWrapperRef, setHeaderWrapperRef] = useState(null);\n const { isSticky } = useStickyHeader(tableRef, parseInt(typeof (wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top) === 'string' ? wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top : `${wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top}`, 10));\n // here we use 2, because we also have borders on each side by 1 px\n const wrapperWidth = (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0) - 2;\n // we use it just to re-render header to update scroll\n // so we don't need to get any value from this hook\n useScroll(wrapperRef);\n const updateScroll = (ref) => {\n var _a;\n const scrollLeft = ((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0;\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.scrollLeft = scrollLeft;\n return;\n }\n if (headerWrapperRef)\n headerWrapperRef.scrollLeft = scrollLeft;\n };\n updateScroll();\n return isSticky ? (React.createElement(StickyHeaderWrapper, { ref: (ref) => {\n setHeaderWrapperRef(ref);\n updateScroll(ref);\n }, style: Object.assign({ width: wrapperWidth }, wrapperStyle) },\n React.createElement(FakeHeaderTable, { style: { tableLayout: isFixedLayout ? 'fixed' : 'auto' } }, renderHeader()))) : null;\n};\n//# sourceMappingURL=StickyHeader.js.map","export const convertFixedColumnInlineStyleToStyled = (fixedColumnsStyle) => {\n const styles = [];\n fixedColumnsStyle.forEach(({ index, style }) => styles.push(`\n > td:${style.left !== undefined ? 'nth-child' : 'nth-last-child'}(${Math.abs(index)}) {\n position: sticky;\n ${style.left !== undefined ? 'left' : 'right'}: ${style.left !== undefined ? style.left : style.right}px;\n z-index: ${style.zIndex};\n }\n `));\n return styles.join('\\n\\n');\n};\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { HeaderCell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonHeaderCell = (_a) => {\n var { style, width, isLoading } = _a, otherProps = __rest(_a, [\"style\", \"width\", \"isLoading\"]);\n return (React.createElement(HeaderCell, Object.assign({}, otherProps, { style: { width } }),\n React.createElement(SkeletonContent, { style: style, isLoading: isLoading })));\n};\n//# sourceMappingURL=SkeletonHeaderCell.js.map","import React from 'react';\nexport const DoubleArrowAscIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#959FA8\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#0079D1\" })));\n//# sourceMappingURL=DoubleArrowAscIcon.js.map","import React from 'react';\nexport const DoubleArrowDescIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#0079D1\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#959FA8\" })));\n//# sourceMappingURL=DoubleArrowDescIcon.js.map","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { Checkbox } from '../Checkbox';\nimport { Radio } from '../Radio';\nimport { Tooltip } from '../Tooltip';\nimport { theme } from '../../theme';\nimport { Wrapper, WrapperBordered, Table, Head, Body, Row, Cell, HeaderCell, HeaderCellLayout, Footer, TooltipContent, } from './styled';\nimport { SpecificState } from './SpecificState';\nimport { ClickableCell, EditableCell } from './cells';\nimport { SkeletonCell } from './cells/SkeletonCell';\nimport { defaultEmptyState, defaultErrorState, ScrollPosition } from './utils/constants';\nimport { StickyHeader } from './StickyHeader';\nimport { convertFixedColumnInlineStyleToStyled } from './utils';\nimport { SkeletonHeaderCell } from './cells/SkeletonHeaderCell';\nimport { SkeletonContent } from './SkeletonContent';\nimport { DoubleArrowIcon } from '../../tempIcons/DoubleArrowIconIcon';\nimport { DoubleArrowAscIcon } from '../../tempIcons/DoubleArrowAscIcon';\nimport { DoubleArrowDescIcon } from '../../tempIcons/DoubleArrowDescIcon';\nexport const IconUnsorted = () => (React.createElement(DoubleArrowIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortAsc = () => (React.createElement(DoubleArrowAscIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortDesc = () => (React.createElement(DoubleArrowDescIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\n/**\n * @deprecated\n *\n * Use DataTable instead\n */\nexport const LegacyDataTable = ({ borderless = false, striped = true, noWrap = false, showScrollbar = false, headers, rows, renderRow, renderNestedRow, expandedRowIds, renderLoadingRow, renderFooterRow, renderFooterLoadingRow, omitFooterSelectionCell = false, selectedRowIds, disabledSelectionInputRowIds, selectionMode = 'multiple', onChangeSelectedRowIds, sortColumnId, sortDirection, onChangeSort, isError = false, isLoading = false, skeletonRowsNumber = 5, isHeaderSticky = true, stickyHeaderStyle, customSpecificState, bodyHeightInSpecificStates = 375, startFixedColumnsNumber, endFixedColumnsNumber, }) => {\n const WrapperComponent = borderless ? Wrapper : WrapperBordered;\n const isEmpty = rows ? rows.length === 0 : false;\n const isFixedLayout = Boolean(startFixedColumnsNumber || endFixedColumnsNumber);\n const isFixedColumnsNotEnabled = !startFixedColumnsNumber && !endFixedColumnsNumber;\n const tableRef = useRef(null);\n const wrapperRef = useRef(null);\n const selectionColumnWidth = 58;\n const [scrollPosition, setScrollPosition] = useState(ScrollPosition.none);\n useEffect(() => {\n var _a;\n let refValue = null;\n const handleScroll = () => {\n if (!wrapperRef.current || isFixedColumnsNotEnabled)\n return;\n const el = wrapperRef.current;\n const scrollWidth = el.scrollWidth + 2; // 2 here is 2px which adds by border\n const { scrollLeft } = el;\n const { width } = el.getBoundingClientRect();\n const scrollValue = scrollLeft + width;\n if (scrollWidth === width)\n setScrollPosition(ScrollPosition.none);\n else if (scrollLeft === 0)\n setScrollPosition(ScrollPosition.start);\n else if (scrollLeft > 0 && scrollValue < scrollWidth)\n setScrollPosition(ScrollPosition.middle);\n else if (scrollValue === scrollWidth)\n setScrollPosition(ScrollPosition.end);\n };\n if (wrapperRef.current) {\n refValue = wrapperRef.current;\n handleScroll();\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll);\n }\n return () => {\n refValue === null || refValue === void 0 ? void 0 : refValue.removeEventListener('scroll', handleScroll);\n };\n }, [tableRef, isFixedColumnsNotEnabled]);\n const castWidthToNumber = useCallback((width) => {\n if (typeof width === 'string') {\n // eslint-disable-next-line no-console\n console.error(\"You can only use a numeric value in the 'width' property when you use fixed columns\");\n return null;\n }\n if (width === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"You should provide numeric value in the 'width' attribute in all fixed columns when you use fixed columns\");\n return null;\n }\n return width;\n }, []);\n const generateFixedColumnInlineStyle = useCallback((index, offset, side) => ({\n index: side === 'left' ? index : -index,\n style: {\n position: 'sticky',\n [side]: offset,\n zIndex: 1,\n },\n }), []);\n const generateFixedColumnsStyle = useCallback(() => {\n if (!headers || isLoading)\n return null;\n const startColumns = [];\n const endColumns = [];\n let totalStartOffset = 0;\n let totalEndOffset = 0;\n if (startFixedColumnsNumber) {\n if (selectedRowIds) {\n startColumns.push(generateFixedColumnInlineStyle(1, totalStartOffset, 'left'));\n totalStartOffset += selectionColumnWidth;\n }\n for (let i = 0; i < startFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers[i].width);\n if (headerWidth) {\n startColumns.push(generateFixedColumnInlineStyle(selectedRowIds ? i + 2 : i + 1, totalStartOffset, 'left'));\n totalStartOffset += headerWidth;\n }\n }\n }\n if (endFixedColumnsNumber) {\n for (let i = 0; i < endFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers.slice(-i - 1)[0].width);\n if (headerWidth) {\n endColumns.push(generateFixedColumnInlineStyle(i + 1, totalEndOffset, 'right'));\n totalEndOffset += headerWidth;\n }\n }\n }\n if (startColumns.length === 0 && endColumns.length === 0)\n return null;\n return [...startColumns, ...endColumns];\n }, [\n isLoading,\n castWidthToNumber,\n endFixedColumnsNumber,\n generateFixedColumnInlineStyle,\n headers,\n startFixedColumnsNumber,\n selectedRowIds,\n ]);\n const fixedColumnsStyle = useMemo(() => generateFixedColumnsStyle(), [generateFixedColumnsStyle]);\n const handleSelectRow = useCallback((checked, row) => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (checked) {\n if (selectionMode === 'single') {\n onChangeSelectedRowIds([row.id]);\n return;\n }\n onChangeSelectedRowIds([...selectedRowIds, row.id]);\n return;\n }\n const newSelectedRowIds = [...selectedRowIds];\n const index = newSelectedRowIds.findIndex((id) => id === row.id);\n newSelectedRowIds.splice(index, 1);\n onChangeSelectedRowIds(newSelectedRowIds);\n }, [onChangeSelectedRowIds, selectedRowIds, selectionMode]);\n const handleSelectAll = useCallback(() => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (selectedRowIds.length === rows.length) {\n onChangeSelectedRowIds([]);\n return;\n }\n const rowIds = rows.map((row) => row.id);\n onChangeSelectedRowIds(rowIds);\n }, [onChangeSelectedRowIds, rows, selectedRowIds]);\n const handleClickSortableHeader = useCallback((columnId) => {\n if (sortColumnId === undefined || onChangeSort === undefined)\n return;\n let nextColumnId = sortColumnId;\n let nextDirection = 'ascending';\n if (sortDirection === 'ascending') {\n nextDirection = 'descending';\n }\n if (columnId !== sortColumnId) {\n nextColumnId = columnId;\n nextDirection = 'ascending';\n }\n onChangeSort(nextColumnId, nextDirection);\n }, [onChangeSort, sortColumnId, sortDirection]);\n const renderHeaderCell = useCallback((header, style) => {\n let className = '';\n let onClick = () => { };\n let sortIcon = React.createElement(IconUnsorted, null);\n const { tooltip, align, icon, title, sortable, id } = header;\n if (sortable) {\n className = 'sortable';\n onClick = () => handleClickSortableHeader(id);\n if (sortColumnId === id) {\n sortIcon = sortDirection === 'ascending' ? React.createElement(IconSortAsc, null) : React.createElement(IconSortDesc, null);\n }\n }\n const headerContents = (React.createElement(HeaderCellLayout, { align: align },\n icon && icon,\n title && React.createElement(\"span\", null, title),\n sortable && sortIcon));\n return (React.createElement(HeaderCell, { key: id, id: `data-table-header-${id}`, className: className, onClick: onClick, align: header.align, grow: header.grow, style: Object.assign({ width: header.width || 'auto' }, style) }, tooltip ? (React.createElement(Tooltip, { text: tooltip },\n React.createElement(TooltipContent, null, headerContents))) : (headerContents)));\n }, [handleClickSortableHeader, sortColumnId, sortDirection]);\n const renderSkeletonHeaderCell = useCallback((header, style) => (React.createElement(SkeletonHeaderCell, { key: header.id, width: header.width || 'auto', style: style, isLoading: isLoading })), [isLoading]);\n const renderHeader = useCallback(() => {\n if (!headers)\n return null;\n const styles = generateFixedColumnsStyle();\n const selectionCellStyle = styles ? styles[0].style : {};\n return (React.createElement(Head, null,\n React.createElement(Row, null,\n selectedRowIds && (React.createElement(HeaderCell, { style: Object.assign({ width: selectionColumnWidth }, selectionCellStyle) }, selectionMode === 'multiple' && (React.createElement(Checkbox, { checked: (rows.length > 0 && (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.length) === rows.length) || false, onChange: handleSelectAll, disabled: (disabledSelectionInputRowIds && disabledSelectionInputRowIds.length > 0) ||\n isLoading ||\n isEmpty, ariaLabel: \"Select all\" })))),\n headers.map((header, index) => {\n const startHeaderIndex = selectedRowIds ? index + 2 : index + 1;\n const endHeaderIndex = index - headers.length;\n const headerCellStyle = styles === null || styles === void 0 ? void 0 : styles.find((style) => style.index === startHeaderIndex || style.index === endHeaderIndex);\n return header.skeleton && (isLoading || isError || isEmpty)\n ? renderSkeletonHeaderCell(header, header.skeletonStyle || {})\n : renderHeaderCell(header, (headerCellStyle === null || headerCellStyle === void 0 ? void 0 : headerCellStyle.style) || {});\n }))));\n }, [\n generateFixedColumnsStyle,\n handleSelectAll,\n headers,\n isEmpty,\n isError,\n isLoading,\n renderSkeletonHeaderCell,\n renderHeaderCell,\n rows.length,\n selectedRowIds,\n selectionMode,\n disabledSelectionInputRowIds,\n ]);\n const renderSelectionInput = useCallback((isSelected, row) => {\n const inputProps = {\n checked: isSelected,\n onChange: (checked) => handleSelectRow(checked, row),\n disabled: (disabledSelectionInputRowIds === null || disabledSelectionInputRowIds === void 0 ? void 0 : disabledSelectionInputRowIds.includes(row.id)) || false,\n };\n if (selectionMode === 'single') {\n return React.createElement(Radio, Object.assign({}, inputProps));\n }\n return React.createElement(Checkbox, Object.assign({}, inputProps));\n }, [handleSelectRow, selectionMode, disabledSelectionInputRowIds]);\n const renderSkeletonSelectionInput = useCallback((rowIndex) => {\n const generalStyle = {\n width: 18,\n height: 18,\n margin: 3,\n animationDuration: '0s',\n };\n if (selectionMode === 'single') {\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `radio-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '50%' }) }));\n }\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `checkbox-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '0.25rem' }) }));\n }, [selectionMode]);\n const getNestedRow = useCallback((nestedRow, isHidden) => {\n var _a, _b;\n if (!renderNestedRow)\n return null;\n const content = renderNestedRow(nestedRow);\n if (!content)\n return null;\n const nestedRowE2eClassName = ((_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) || '';\n return (React.createElement(Row, { key: nestedRow.id, className: `${nestedRowE2eClassName} ${isHidden ? 'hidden' : ''}` },\n selectedRowIds && React.createElement(Cell, null),\n content));\n }, [renderNestedRow, selectedRowIds]);\n const renderDefaultLoadingRow = useCallback((rowIndex) => {\n if (!headers)\n return React.createElement(SkeletonCell, null);\n // Otherwise render a cell for each column\n const cells = headers.map((header) => React.createElement(SkeletonCell, { key: `${rowIndex}-${header.id}` }));\n if (selectedRowIds)\n cells.unshift(renderSkeletonSelectionInput(rowIndex));\n return cells;\n }, [headers, renderSkeletonSelectionInput, selectedRowIds]);\n const getFooter = () => {\n if (!renderFooterRow)\n return null;\n if (isLoading && !renderFooterLoadingRow)\n return null;\n if (!isLoading && isEmpty)\n return null;\n return (React.createElement(Footer, { fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null,\n selectedRowIds && !omitFooterSelectionCell && React.createElement(Cell, null),\n !isLoading && renderFooterRow(rows),\n isLoading && renderFooterLoadingRow && renderFooterLoadingRow())));\n };\n let lastStartFixedColumnsIndex = startFixedColumnsNumber;\n if (selectedRowIds && lastStartFixedColumnsIndex)\n lastStartFixedColumnsIndex += 1;\n const renderedRows = useMemo(() => rows.map((row) => {\n var _a, _b, _c;\n const { data } = row;\n const isSelected = selectedRowIds ? selectedRowIds.includes(row.id) : false;\n const isExpanded = expandedRowIds ? expandedRowIds.includes(row.id) : true;\n const bodyClassName = (_a = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _a === void 0 ? void 0 : _a.body;\n const rowE2eClassName = (_c = (_b = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) !== null && _c !== void 0 ? _c : '';\n const rowClassName = isSelected ? `selected ${rowE2eClassName}` : `${rowE2eClassName}`;\n return (React.createElement(Body, { key: row.id, className: bodyClassName, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, { key: row.id, className: rowClassName, accentColor: row.accentColor },\n selectedRowIds && React.createElement(Cell, null, renderSelectionInput(isSelected, row)),\n renderRow(row)),\n row.nestedRows && row.nestedRows.map((item) => getNestedRow(item, !isExpanded))));\n }), [\n rows,\n expandedRowIds,\n fixedColumnsStyle,\n getNestedRow,\n renderRow,\n renderSelectionInput,\n selectedRowIds,\n ]);\n /* Loading state */\n if (isLoading) {\n const loadingRows = [];\n for (let i = 0; i < skeletonRowsNumber; i += 1) {\n loadingRows.push(React.createElement(Body, { key: `loading-row-${i}`, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null, renderLoadingRow ? (React.createElement(React.Fragment, null,\n selectedRowIds && renderSkeletonSelectionInput(),\n renderLoadingRow())) : (renderDefaultLoadingRow(i)))));\n }\n return (React.createElement(WrapperComponent, { ref: wrapperRef, scrollDisabled: true, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: true, isFixedLayout: isFixedLayout },\n renderHeader(),\n loadingRows,\n getFooter())));\n }\n /* Empty & Error states */\n if (isEmpty || isError) {\n let specificStateValues = defaultEmptyState;\n if (customSpecificState)\n specificStateValues = customSpecificState;\n else if (isError)\n specificStateValues = defaultErrorState;\n return (React.createElement(WrapperComponent, { scrollDisabled: true },\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n getFooter()),\n React.createElement(SpecificState, Object.assign({ height: bodyHeightInSpecificStates }, specificStateValues))));\n }\n /* Populated state */\n return (React.createElement(WrapperComponent, { scrollDisabled: false, ref: wrapperRef, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber, showScrollbar: showScrollbar },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n renderedRows,\n getFooter())));\n};\nLegacyDataTable.Cell = Cell;\nLegacyDataTable.ClickableCell = ClickableCell;\nLegacyDataTable.EditableCell = EditableCell;\nLegacyDataTable.SkeletonCell = SkeletonCell;\nLegacyDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=LegacyDataTable.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--wl2n5a\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--or7d\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--hfuefb\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nconst { sizes, text, shadows } = theme;\nconst { grey } = theme.colors.neutral;\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--q2h2v8\" }) `padding:${sizes.base} ${sizes.md};background-color:white;box-shadow:${({ shadow }) => shadow !== 'none' && shadows[shadow]};`;\nexport const Title = styled.h1.withConfig({ displayName: \"vui--Title\", componentId: \"vui--7ymyy4\" }) `font-family:${text.headingXL.fontFamily};font-size:${text.headingXL.fontSize};font-weight:${text.headingXL.fontWeight};margin:unset;line-height:1;`;\nexport const Subtitle = styled.p.withConfig({ displayName: \"vui--Subtitle\", componentId: \"vui--1veavxl\" }) `margin:0.75rem 0 0;font-family:${text.subheadingLarge.fontFamily};font-weight:${text.subheadingLarge.fontWeight};font-size:${text.subheadingLarge.fontSize};line-height:${text.subheadingLarge.lineHeight};`;\nexport const Image = styled.img.withConfig({ displayName: \"vui--Image\", componentId: \"vui--1fntac3\" }) `border-radius:${theme.radius.base};border:${sizes.line} solid ${grey.base};object-fit:cover;`;\nexport const ActionsContainer = styled.div.withConfig({ displayName: \"vui--ActionsContainer\", componentId: \"vui--4ms240\" }) `height:100%;display:grid;grid-template-rows:1fr auto;gap:1rem;`;\nexport const SidebarToggleButton = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--SidebarToggleButton\", componentId: \"vui--1e4sfso\" }) `display:flex;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};color:${theme.text.link.color};&:hover{text-decoration:${theme.text.link.textDecoration};}& > * + *{margin-left:${theme.sizes.xs};}`;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--498dtg\" }) `width:100%;display:grid;grid-template-columns:1fr minmax(312px, auto);align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { ActionList } from '../ActionList';\nimport { Button } from '../Button';\nimport { Header, Title, Subtitle, Image, ActionsContainer, SidebarToggleButton, ColumnGrid, } from './styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const PageHeader = ({ title, subtitle, imageSrc, actions, quickActions, backAction, Accessory, shadow = 'none', onClickPrevious, onClickNext, onClickToggleSidebar, }) => {\n const actionsMarkup = actions && (React.createElement(ActionList, { buttonVariant: !quickActions ? 'primary' : 'default', title: \"Actions\", sections: actions }));\n const quickActionsMarkup = quickActions === null || quickActions === void 0 ? void 0 : quickActions.map((action) => (React.createElement(Button, { key: action.title, variant: action.variant, icon: action.icon, onClick: action.onClick }, action.title)));\n const backActionMarkup = backAction && (React.createElement(Button, { onClick: backAction.onClick, icon: React.createElement(LeftArrowIcon, null), variant: \"link\" }, backAction.title));\n const toggleSidebarMarkup = onClickToggleSidebar && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\" },\n React.createElement(SidebarToggleButton, { onClick: onClickToggleSidebar },\n React.createElement(\"span\", null, \"Toggle sidebar\"),\n React.createElement(RightArrowIcon, { width: sizes.md }))));\n return (React.createElement(Header, { shadow: shadow },\n React.createElement(Stack, null,\n backActionMarkup,\n React.createElement(ColumnGrid, null,\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"md\" },\n imageSrc && React.createElement(Image, { src: imageSrc, alt: \"\", width: \"72\", height: \"72\" }),\n React.createElement(\"div\", { style: { flex: 1 } },\n React.createElement(Stack, { alignX: \"stretch\" },\n React.createElement(Title, null, title),\n Accessory,\n subtitle && React.createElement(Subtitle, null, subtitle)))),\n React.createElement(ActionsContainer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: \"sm\" },\n quickActionsMarkup,\n actionsMarkup,\n onClickPrevious && React.createElement(Button, { icon: React.createElement(LeftArrowIcon, null), onClick: onClickPrevious }),\n onClickNext && React.createElement(Button, { icon: React.createElement(RightArrowIcon, null), onClick: onClickNext })),\n toggleSidebarMarkup)))));\n};\n//# sourceMappingURL=PageHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nexport const PageLimitContainer = styled(Stack).withConfig({ displayName: \"vui--PageLimitContainer\", componentId: \"vui--1psd9g8\" }) `width:${theme.sizes.lg};height:30px;background-color:${theme.colors.neutral.grey.light};border:1px solid ${theme.colors.neutral.grey.base};border-radius:${theme.sizes.xs};`;\nexport const PaginationButton = styled(Button).withConfig({ displayName: \"vui--PaginationButton\", componentId: \"vui--oolvks\" }) `color:${theme.colors.neutral.ink.base};width:32px;height:32px;svg{width:24px;height:24px;}`;\nexport const PageInput = styled(TextField).withConfig({ displayName: \"vui--PageInput\", componentId: \"vui--jjraff\" }) `&[type='number']{width:5.5ch;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { PageLimitContainer } from './styled';\nexport const PageCount = ({ count }) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", null,\n React.createElement(Text, { variant: \"bodySmall\", \"aria-hidden\": true }, \"/\")),\n React.createElement(PageLimitContainer, { alignX: \"center\", alignY: \"center\", \"aria-hidden\": true },\n React.createElement(Text, { variant: \"bodySmall\" }, count))));\n//# sourceMappingURL=components.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to handle pagination state.\n */\nexport const usePagination = ({ currentPage, totalPagesCount, handleChangePage, }) => {\n const [pageInputValue, setPageInputValue] = useState(`${currentPage}`);\n /**\n * When a new value is passed into the component we update the local state, meaning the input\n * value gets updated.\n */\n useEffect(() => {\n setPageInputValue(`${currentPage}`);\n }, [currentPage]);\n const validatePageValue = (value) => value >= 1 && value <= totalPagesCount;\n const checkAndSetLocalPage = (newPage) => {\n if (validatePageValue(newPage))\n setPageInputValue(`${newPage}`);\n };\n /**\n * A function to handle changes to the input, a string will be passed int. We check for an empty\n * string and directly set that, otherwise we validate the input number is within range.\n * @param newValue The new string input value.\n */\n const handleInputChange = (newValue) => {\n if (!newValue)\n setPageInputValue(newValue);\n const intValue = parseInt(newValue, 10);\n checkAndSetLocalPage(intValue);\n };\n /**\n * A function to increment the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleIncrement = () => {\n if (validatePageValue(currentPage + 1))\n handleChangePage(currentPage + 1);\n };\n /**\n * A function to decrement the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleDecrement = () => {\n if (validatePageValue(currentPage - 1))\n handleChangePage(currentPage - 1);\n };\n /**\n * When the input is unfocussed we want to update parent or local state depending on 3 cases:\n * 1. Local page input is '', reset it to the currentPage\n * 2. Local page input is the same as passed by prop, catch and do nothing.\n * 3. Local state has a new value, convert it, validate it and potentially send to parent via\n * `handlePageChange`\n */\n const handleSubmit = () => {\n if (!pageInputValue)\n setPageInputValue(`${currentPage}`);\n if (pageInputValue === `${currentPage}`)\n return;\n const newValue = parseInt(pageInputValue, 10);\n if (validatePageValue(newValue))\n handleChangePage(newValue);\n };\n /**\n * When the user submits the form, either pressing enter or a screenreader shortcut we prevent\n * default action and try and send update.\n * @param event The event fired from the form when submitting.\n */\n const handleFormSubmit = (event) => {\n event.preventDefault();\n handleSubmit();\n };\n return {\n pageInputValue,\n handleIncrement,\n handleDecrement,\n handleInputChange,\n handleSubmit,\n handleFormSubmit,\n };\n};\n//# sourceMappingURL=usePagination.js.map","import React from 'react';\nexport const StartArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11.6434 11.06L8.59004 8L11.6434 4.94L10.7034 4L6.70337 8L10.7034 12L11.6434 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.37004 12L4.37004 4L5.70337 4L5.70337 12L4.37004 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=StartArrowIcon.js.map","import React from 'react';\nexport const EndArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.33661 11.06L7.38994 8L4.33661 4.94L5.27661 4L9.27661 8L5.27661 12L4.33661 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.67 4L11.67 12L10.3367 12L10.3367 4L11.67 4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EndArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","export const paginationDefaultRangeList = [\n { label: '10 / page', value: 10 },\n { label: '25 / page', value: 25 },\n { label: '50 / page', value: 50 },\n { label: '100 / page', value: 100 },\n];\n//# sourceMappingURL=paginationList.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1t222e4\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nexport { Container };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { colors } from '../../../../theme/modules/colors';\nimport { Text } from '../../../Text';\nimport { BaseContainer } from '../../../BaseContainer';\nimport { theme } from '../../../../theme';\nconst ItemButton = styled(BaseContainer).attrs({\n as: 'button',\n}).withConfig({ displayName: \"vui--ItemButton\", componentId: \"vui--1ibay0g\" }) `&:first-of-type{margin-top:2px;}border-radius:${theme.radius.sm};overflow:hidden;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;margin:0 2px 2px;border-radius:${theme.radius.sm};overflow:hidden;background:none;border:none;&:active,&:focus-visible{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};outline:none;}`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1oky5qu\" }) `width:100%;padding:8px 16px;cursor:pointer;&:hover{color:${colors.secondary.blue.base};background:${colors.neutral.grey.lightest};}`;\nexport { StyledText as Text, ItemButton };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { ItemButton, Text } from './styled';\nexport const Item = ({ item, handleRangeListChange }) => {\n const onClick = useCallback(() => handleRangeListChange(item), [handleRangeListChange, item]);\n return (React.createElement(ItemButton, { onClick: onClick },\n React.createElement(Text, { variant: \"body\" }, item.label.replace(/ /g, '\\u00A0'))));\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, { useEffect, useState } from 'react';\nimport { paginationDefaultRangeList } from '../../utils/paginationList';\nimport { Container } from './styled';\nimport { Items } from './Items';\nimport { Button } from '../Button';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nconst PAGINATION_DROPDOWN_ID = 'pagination-range-dropdown';\nexport const PaginationRange = ({ className, paginationRange = paginationDefaultRangeList, reversedDropdown, onPaginationRangeChange, dropdownValue: parentValue = paginationDefaultRangeList[1], }) => {\n const [dropdownValue, setDropdownValue] = useState(parentValue);\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const handleRangeListChange = (item) => {\n setShouldShowDropdown(false);\n setDropdownValue(item);\n onPaginationRangeChange(item);\n };\n const toggleShouldShow = () => setShouldShowDropdown((prevState) => !prevState);\n useEffect(() => {\n if (parentValue !== dropdownValue)\n setDropdownValue(parentValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parentValue]);\n return (React.createElement(Container, { className: className },\n React.createElement(AnimatedDropdown, { useAnchorWidth: true, id: PAGINATION_DROPDOWN_ID, cta: React.createElement(Button, { \"data-testid\": \"pagination-range\", onClick: toggleShouldShow, dropdown: true, size: \"sm\", \"aria-haspopup\": true, \"aria-controls\": PAGINATION_DROPDOWN_ID, \"aria-expanded\": shouldShowDropdown }, dropdownValue.label), shouldShowDropdown: shouldShowDropdown, onShouldClose: toggleShouldShow, reversed: reversedDropdown, placement: \"bottom-start\" },\n React.createElement(Items, { paginationRange: paginationRange, handleRangeListChange: handleRangeListChange }))));\n};\n//# sourceMappingURL=PaginationRange.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1kqph75\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--1myicuk\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--bdxre8\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--1pz53n4\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--1n3xr2g\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--1sahwox\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--1jvzatv\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--12eib7v\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--g7dno3\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = React.forwardRef(({ 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', style, }, ref) => {\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, { ref: ref, 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, style: style }),\n React.createElement(IconContainer, null, renderIcon())));\n});\n//# sourceMappingURL=Search.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--mxpi9o\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:focus,:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}}> .veeqo-components-active-button{:focus,:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1h93380\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const ShortcutKeysContainer = styled.div.withConfig({ displayName: \"vui--ShortcutKeysContainer\", componentId: \"vui--jhvnbb\" }) `--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--y1tr49\" }) `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--1qepc31\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--g9tnvb\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--50l9ot\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--1o4t01c\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--k7q8ax\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--25ejag\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--s5qrf0\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--pvw1wx\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--19twtgm\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--1vb0w08\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--qsag0v\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--qrqt2g\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--f5gjtj\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--n3gc7q\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--12f8l37\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1qgwlso\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--10ka3tn\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1f7rwsl\" }) `&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.label.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--16c93z6\" }) `display:inline-block;position:relative;cursor:${({ disabled }) => (disabled ? 'default' : 'pointer')};height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--13u3unt\" }) `cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\n/**\n * A toggle switch component, use-cases should wrap with a label or\n */\nexport const Toggle = forwardRef(({ id, className, name, switched, small, onClick = () => { }, disabled, ariaLabel }, ref) => (React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, role: \"switch\" },\n React.createElement(Input, { id: id, type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: disabled ? undefined : onClick, disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n//# sourceMappingURL=Toggle.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--xt3hiw\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import styled from 'styled-components';\nimport { 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--ljd9es\" }) `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};}}`;\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--2zjkq9\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--r41a54\" }) `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 }) => {\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\" })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import 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(({ id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, }, outerRef) => {\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 // 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)\n updateFiles(files);\n }, [updateFiles]);\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 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 return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n };\n }, [onInputChange]);\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\", { ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required })))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection }),\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--5gocp5\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--p8qe4b\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1u28do5\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--ohq9qo\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--55zou\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--2rc7ks\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--m1gs4v\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--1ilv3bg\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--b8oq7f\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;${({ colourPalette, customTextColour }) => `\n &:hover {\n border: 1px solid ${colourPalette.base};\n background-color: ${colourPalette.lightest};\n }\n\n ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.lightest};\n `}`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1xuhw17\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--122jw7g\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const EditIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3 18.0418V21.9996H6.95778L18.6306 10.3273L14.6728 6.36952L3 18.0418ZM21.6913 7.2661C22.1029 6.85501 22.1029 6.19011 21.6913 5.7785L19.2216 3.30831C18.81 2.89723 18.1451 2.89723 17.7335 3.30831L15.8021 5.23971L19.7599 9.19749L21.6913 7.2661Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EditIcon.js.map","import React, { useCallback } from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTypes } from './types';\nimport { Container, Contour, CounterContainer, CounterText, CustomIconWrapper, IconStyling, Text, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\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';\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--3am01d\" }) `line-height:1;`;\nconst ThreeDotsIconStyling = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--ThreeDotsIconStyling\", componentId: \"vui--1uc98sf\" }) ``;\nconst CrossIconStyling = styled(CrossIcon).withConfig({ displayName: \"vui--CrossIconStyling\", componentId: \"vui--1te682y\" }) ``;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1giom5i\" }) `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--jegwey\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:8px 12px;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--176jtjf\" }) `padding:8px 12px;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--1omb2tl\" }) `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 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(({ id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, subAction, ariaContext, }, ref) => {\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, { 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 },\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, { 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--1p01q6\" }) `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--jg3tdl\" }) `background-color:${colors.neutral.grey.lightest};`;\nexport const StyledLeftIcon = styled(LeftArrowIcon).withConfig({ displayName: \"vui--StyledLeftIcon\", componentId: \"vui--gdu1c8\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledRightIcon = styled(RightArrowIcon).withConfig({ displayName: \"vui--StyledRightIcon\", componentId: \"vui--tvozdf\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuIcon = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--StyledMenuIcon\", componentId: \"vui--1vjvhoa\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuButton = styled(Button).withConfig({ displayName: \"vui--StyledMenuButton\", componentId: \"vui--q5etoj\" }) `background-color:white;&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledLeftButton = styled(Button).withConfig({ displayName: \"vui--StyledLeftButton\", componentId: \"vui--jo62ep\" }) `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--1yb1huw\" }) `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--1voa90\" }) `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 { createViewPositionArray, getNextViewPosition, getPrevViewPosition } from '../utils';\nexport const useSetScrollPosition = (containerRef, children) => {\n const [leftDisabled, setLeftDisabled] = useState(true);\n const [rightDisabled, setRightDisabled] = useState(false);\n const [viewStartPositions, setViewStartPositions] = useState([]);\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 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 if (!containerRef)\n return;\n if (children.length > viewStartPositions.length &&\n viewStartPositions.length > 0) {\n containerRef.current.scrollTo({\n left: containerRef.current.scrollWidth - containerRef.current.clientWidth,\n top: 0,\n behavior: 'smooth',\n });\n setViewStartPositions([\n ...viewStartPositions,\n viewStartPositions[viewStartPositions.length - 1] +\n containerRef.current.children[viewStartPositions.length].getBoundingClientRect().x -\n 20,\n ]);\n }\n if (viewStartPositions.length === 0) {\n setViewStartPositions(createViewPositionArray(containerRef.current));\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 }, [containerRef, children, handleResize, handleScroll, viewStartPositions]);\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--zood5u\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--f0y2wt\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1l16g0h\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--wvwega\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"ounce\", type: \"number\", value: rest.pound, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"pound\", type: \"number\", value: rest.ounce, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map"],"names":["BaseContainer","styled","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","shouldOpen","setShouldOpen","useState","open","onClick","animate","rotate","name","initial","opacity","exit","transition","from","type","duration","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","generateId","prefix","Math","floor","random","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","filter","Boolean","join","hexToRgb","hex","hexTmp","replace","m","r","g","b","result","exec","parseInt","getOpaqueHexColor","rgb","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","useAnchorWidth","supressWarnings","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","ref","popper","width","clientWidth","onKeyDown","TailSpin","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","CommonAnchor","a","Anchor","href","target","Container","BasicContainer","Wrap","DropdownContainer","reversed","Dropdown","popoverProps","y","AnimatedDropdown","cta","shouldShowDropdown","onMouseEnter","onMouseLeave","anchorRef","setAnchorRef","cachedCTA","cloneElement","AnimatePresence","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","config","withTriangle","classNames","usedConfig","modifiers","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","shouldShow","setShouldShow","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","warning","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","Separator","pathname","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","HelpIcon","Choice","hint","bordered","Accessory","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","checkboxRef","useRef","handleChange","useCallback","currentTarget","current","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","SuccessIcon","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","index","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","Array","cell","getBoundingClientRect","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useNested","expandedRowIds","setExpandedRowIds","nestedTableProps","setExpanded","rowId","rowIds","findIndex","splice","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","column","renderCell","row","actions","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","onChangeSort","sortable","Error","toString","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","forEach","entry","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","columnCount","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","css","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","disabledRowIds","InfoIcon","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","loadingRows","data","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","_b","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","some","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","columnIds","newColumns","border","padding","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","withDeprecated","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","newValue","RegExp","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","useClickOutside","isOpen","escapeListener","clickListener","contains","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","useTabs","tabs","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","isError","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","end","start","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","handleScroll","el","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","margin","animationDuration","getNestedRow","isHidden","renderDefaultLoadingRow","unshift","getFooter","renderedRows","_c","bodyClassName","rowE2eClassName","rowClassName","specificStateValues","ClickableCell","EditableCell","LoginButton","buttonImg","buttonDescription","LoginWithAmazonButton","setImage","onMouseDown","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageHeader","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","paginationDefaultRangeList","ItemButton","handleRangeListChange","Items","paginationRange","PAGINATION_DROPDOWN_ID","PaginationRange","reversedDropdown","onPaginationRangeChange","dropdownValue","parentValue","setDropdownValue","toggleShouldShow","prevState","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","parseFloat","toFixed","roundedValue","form","blur","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","SelectInput","select","sizeVariant","Select","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","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Slider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","pop","resultValue","Number","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","minWidth","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","CSSTransition","switched","Switch","small","Toggle","borderColor","ToggleButton","tabIndex","DropZoneContainer","AcceptedFileTypes","FileSizeUnit","InputState","UploadGraphic","UploadCopy","pointerEvents","paddingTop","UploadFileErrors","acceptedTypesCopy","maxSizeCopy","SingleLineText","UploadedFilesListStack","UploadedFile","file","resetSelection","UploadFile","maxBytes","format","MB","fileTypes","required","outerRef","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","maxScrollLeft","handleResize","toNextScrollPosition","newPosition","viewPositionsArray","currentScroll","containerWidth","getNextViewPosition","behavior","toPrevScrollPosition","reverseArray","getPrevViewPosition","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/components/Popover/hooks/useHandleFocus.ts","../src/components/Popover/Popover.tsx","../src/components/Popover/hooks/useUpdateAriaAnchor.ts","../src/components/Loader/TailSpin.tsx","../src/components/Loader/Grid.tsx","../src/components/Loader/ThreeDots.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/components/styled.ts","../src/tempIcons/DropdownIcon.tsx","../src/components/Button/Button.tsx","../src/components/CardHeader/styled.ts","../src/tempIcons/DownArrowIcon.tsx","../src/tempIcons/CrossIcon.tsx","../src/components/CardHeader/CardHeader.tsx","../src/components/Card/styled.ts","../src/components/Card/Card.tsx","../src/components/ActionList/styled.ts","../src/components/ActionList/ActionList.tsx","../src/components/Anchor/styled.ts","../src/components/Anchor/Anchor.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/Dropdown.tsx","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../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/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Choice/components/styled.ts","../src/tempIcons/HelpIcon.tsx","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/SuccessIcon.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/components/DataTable/utils/alignmentToFlex.ts","../src/components/DataTable/utils/parseWidth.ts","../src/components/DataTable/utils/generateTableCss.ts","../src/components/DataTable/utils/sumAll.ts","../src/components/DataTable/types.ts","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTable/utils/GetSortIcon.tsx","../src/components/DataTable/hooks/useCellWidths.ts","../src/components/DataTable/hooks/useColumns.ts","../src/components/DataTable/hooks/useDragToScroll.ts","../src/components/DataTable/hooks/useNested.ts","../src/components/DataTable/hooks/useScrollPosition.ts","../src/components/DataTable/constants.ts","../src/components/DataTable/components/Header.ts","../src/components/DataTable/components/SelectionHeader.tsx","../src/components/DataTable/components/Cell.ts","../src/components/DataTable/components/SelectionCell.tsx","../src/components/DataTable/hooks/useSelection.tsx","../src/components/DataTable/components/ColumnHeader.tsx","../src/components/DataTable/renderers/renderHeader.tsx","../src/components/DataTable/utils/getNextSortState.ts","../src/components/DataTable/components/LoadingCellContent.ts","../src/components/DataTable/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTable/components/EmptyBodyContent.ts","../src/components/DataTable/components/NoWrap.ts","../src/components/DataTable/components/Row.ts","../src/components/DataTable/components/ScrollContainer.ts","../src/components/DataTable/components/TableGrid.ts","../src/components/DataTable/components/Truncate.ts","../src/components/DataTable/components/Wrapper.ts","../src/components/DataTable/components/StickyHead.tsx","../src/components/DataTable/utils/getRowState.ts","../src/tempIcons/InfoIcon.tsx","../src/components/DataTable/DataTable.tsx","../src/components/DataTable/renderers/renderLoadingCell.tsx","../src/components/DataTable/renderers/renderCell.ts","../src/components/DataTable/renderers/renderNestedCell.tsx","../src/components/DataTable/renderers/renderFooter.tsx","../src/components/DataTable/components/ColumnMenu.tsx","../src/components/DescriptionList/DescriptionList.tsx","../src/components/DetailPage/styled.ts","../src/components/DetailPage/DetailPage.tsx","../src/components/InputGroup/index.ts","../src/components/types.ts","../src/hoc/withLabels/styled.ts","../src/hoc/withLabels/withLabels.tsx","../src/hoc/withDeprecated.tsx","../src/components/TextField/styled.ts","../src/components/TextField/TextField.tsx","../src/components/TextField/index.ts","../src/components/DimensionsInput/styled.ts","../src/components/DimensionsInput/DimensionsInput.tsx","../src/hooks/useClickOutside.ts","../src/hooks/useDebounce.ts","../src/hooks/useDropdown.ts","../src/hooks/useFocusVisible.tsx","../src/hooks/useHover.ts","../src/hooks/useIsOverflowing.ts","../src/hooks/useTabs.ts","../src/components/FilterTag/styled.ts","../src/components/FilterTag/FilterTag.tsx","../src/components/Grid/index.ts","../src/components/Image/components/PlaceholderImage.tsx","../src/components/Image/components/styled.ts","../src/components/Image/utils.ts","../src/components/Image/Image.tsx","../src/components/LegacyDataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/LegacyDataTable/styled.ts","../src/components/LegacyDataTable/SpecificState/styled.ts","../src/components/LegacyDataTable/SpecificState/SpecificState.tsx","../src/components/LegacyDataTable/cells/styled.ts","../src/components/LegacyDataTable/cells/ClickableCell.tsx","../src/components/LegacyDataTable/cells/EditableCell.tsx","../src/components/LegacyDataTable/SkeletonContent/SkeletonContent.tsx","../src/components/LegacyDataTable/cells/SkeletonCell.tsx","../src/components/LegacyDataTable/utils/hooks.ts","../src/components/LegacyDataTable/StickyHeader.tsx","../src/components/LegacyDataTable/utils/index.ts","../src/components/LegacyDataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/LegacyDataTable/LegacyDataTable.tsx","../src/components/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.tsx","../src/components/Pagination/Pagination.tsx","../src/utils/paginationList.ts","../src/components/PaginationRange/styled.ts","../src/components/PaginationRange/Items/Item/styled.ts","../src/components/PaginationRange/Items/Item/Item.tsx","../src/components/PaginationRange/Items/Items.tsx","../src/components/PaginationRange/PaginationRange.tsx","../src/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/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/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/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--bg86rb\" }) `box-sizing:border-box;position:relative;margin:0;padding:0;`;\n//# sourceMappingURL=BaseContainer.js.map","const componentMap = {\n inputLabel: 'label',\n inputLabelSmall: 'label',\n headingSmall: 'h3',\n headingMedium: 'h3',\n headingLarge: 'h2',\n headingXL: 'h1',\n headingXXL: 'h1',\n // Deprecated, but quickfix for A11y.\n button: 'button',\n buttonSmall: 'button',\n};\nexport const getComponentOverride = (as, variant) => {\n if (as)\n return as;\n if (variant)\n return componentMap[variant];\n return undefined;\n};\n//# sourceMappingURL=utils.js.map","export const colors = {\n brand: {\n blue: {\n lightest: '#E4F0F9',\n light: '#93C6E8',\n base: '#4CA1D9',\n dark: '#3878A2',\n darkest: '#1A384B',\n },\n peach: {\n lightest: '#FDECE9',\n light: '#F8B2A9',\n base: '#F48070',\n dark: '#B65F53',\n darkest: '#562D27',\n },\n },\n neutral: {\n ink: {\n lightest: '#959FA8',\n light: '#637381',\n base: '#37424D',\n dark: '#1B2126',\n },\n grey: {\n lightest: '#FAFAFB',\n light: '#F2F3F5',\n base: '#DFE3E8',\n dark: '#CDD1D5',\n },\n greyBlue: {\n lightest: '#AAC5D8',\n light: '#558BB1',\n base: '#406885',\n dark: '#1E313E',\n },\n },\n secondary: {\n red: {\n lightest: '#FDEEEE',\n light: '#F7BCBC',\n base: '#EB5757',\n dark: '#A53D3D',\n darkest: '#5E2323',\n },\n yellow: {\n lightest: '#FFF6D9',\n light: '#FFE999',\n base: '#FFC900',\n dark: '#BF9600',\n darkest: '#594600',\n },\n green: {\n lightest: '#E9F7EF',\n light: '#BEE7CF',\n base: '#27AE60',\n dark: '#1B7A43',\n darkest: '#104626',\n },\n lime: {\n lightest: '#F6FAEB',\n light: '#DBEBAE',\n base: '#A5CD35',\n dark: '#7B9927',\n darkest: '#394712',\n },\n teal: {\n lightest: '#E5F8F5',\n light: '#99E5D7',\n base: '#00BD9A',\n dark: '#00715C',\n darkest: '#00392E',\n },\n aqua: {\n lightest: '#EEFAFE',\n light: '#BBEBFA',\n base: '#56CCF2',\n dark: '#3C8FA9',\n darkest: '#225261',\n },\n purple: {\n lightest: '#F6EFFC',\n light: '#D9C0F1',\n base: '#A162DD',\n dark: '#694090',\n darkest: '#38224D',\n },\n blue: {\n lightest: '#D9EBF8',\n light: '#80BCE8',\n base: '#0079D1',\n dark: '#005A9C',\n darkest: '#003053',\n },\n pink: {\n lightest: '#FFF1FC',\n light: '#FFC7F3',\n base: '#FFA3EB',\n dark: '#BF7AB0',\n darkest: '#593852',\n },\n orange: {\n lightest: '#FEF5ED',\n light: '#FAD6B7',\n base: '#F2994A',\n dark: '#9D6330',\n darkest: '#613D1E',\n },\n },\n system: {\n scrollbar: {\n thumb: 'rgba(99, 115, 129, .5)',\n background: 'transparent',\n },\n },\n};\n//# sourceMappingURL=colors.js.map","export const breakpoints = {\n mobile: '640px',\n tablet: '720px',\n lgTablet: '960px',\n desktop: '1280px',\n lgDesktop: '1440px',\n};\n//# sourceMappingURL=breakpoints.js.map","export const radius = {\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n full: '50%',\n};\n//# sourceMappingURL=radius.js.map","export var Shadows;\n(function (Shadows) {\n Shadows[\"sm\"] = \"0px 1px 3px rgba(55, 66, 77, 0.15)\";\n Shadows[\"base\"] = \"0px 4px 6px rgba(27, 33, 38, 0.2)\";\n Shadows[\"md\"] = \"0px 10px 15px rgba(27, 33, 38, 0.2)\";\n Shadows[\"lg\"] = \"0px 20px 25px rgba(27, 33, 38, 0.2)\";\n})(Shadows || (Shadows = {}));\n//# sourceMappingURL=shadows.js.map","var SizeAlias;\n(function (SizeAlias) {\n SizeAlias[\"none\"] = \"none\";\n SizeAlias[\"line\"] = \"line\";\n SizeAlias[\"xs\"] = \"xs\";\n SizeAlias[\"sm\"] = \"sm\";\n SizeAlias[\"base\"] = \"base\";\n SizeAlias[\"md\"] = \"md\";\n SizeAlias[\"lg\"] = \"lg\";\n SizeAlias[\"xl\"] = \"xl\";\n SizeAlias[\"xxl\"] = \"xxl\";\n})(SizeAlias || (SizeAlias = {}));\nfunction buildSizeScale({ increment, unit, count }) {\n const sizes = {};\n /* eslint-disable-next-line no-plusplus */\n for (let i = 0; i <= count; i++) {\n const value = i * increment;\n sizes[i] = `${value}${unit}`;\n }\n return sizes;\n}\nexport const sizeScale = buildSizeScale({ increment: 0.25, unit: 'rem', count: 20 });\nexport const sizeAliases = {\n [SizeAlias.none]: '0',\n [SizeAlias.line]: '1px',\n [SizeAlias.xs]: sizeScale[1],\n [SizeAlias.sm]: sizeScale[2],\n [SizeAlias.base]: sizeScale[4],\n [SizeAlias.md]: sizeScale[6],\n [SizeAlias.lg]: sizeScale[8],\n [SizeAlias.xl]: sizeScale[12],\n [SizeAlias.xxl]: sizeScale[16],\n};\nexport const sizes = Object.assign(Object.assign({}, sizeAliases), sizeScale);\n//# sourceMappingURL=sizes.js.map","import { colors } from './colors';\nexport const common = {\n fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol',\n};\nexport const text = {\n headingXXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '40px',\n lineHeight: '56px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.022rem',\n },\n headingXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '28px',\n lineHeight: '40px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.02rem',\n },\n headingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: '32px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.019rem',\n },\n headingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n headingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n headingTable: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n subheadingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n subheadingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingSmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n body: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodySmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodyBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodyBoldDark: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.dark,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodySmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n button: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n buttonSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n linkLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.017rem',\n },\n linkMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.011rem',\n },\n link: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.006rem',\n },\n linkSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '0',\n },\n inputLabel: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n inputLabelSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n hintText: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholder: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n placeholderSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholderCode: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.5rem',\n },\n placeholderCodeSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.375rem',\n },\n error: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n errorSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n successSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.green.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n};\n//# sourceMappingURL=text.js.map","import { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--m0sc57\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--vb6lvt\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--19b2coz\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--13mhsyo\" }) `justify-content:flex-end;flex-grow:2;`;\n/**\n * Due to unique behaviour observed in Safari, we override the outline property when\n * the accordion is focussed.\n */\nconst AccordionSummary = styled.summary.withConfig({ displayName: \"vui--AccordionSummary\", componentId: \"vui--1lgp9cv\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;border:1px solid ${theme.colors.neutral.grey.dark};:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}:active{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--11peosj\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1e00qnt\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--2wgxvx\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--1dg5oex\" }) `summary{list-style-type:none;::-webkit-details-marker{display:none;}}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const UpArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.91021 10.47L7.97021 7.4167L11.0302 10.47L11.9702 9.53003L7.97021 5.53003L3.97021 9.53003L4.91021 10.47Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=UpArrowIcon.js.map","import React, { useState } from 'react';\nimport { motion } from 'framer-motion';\nimport { Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, AccordionSummary, } from './styled';\nimport { colors } from '../../theme/modules/colors';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Accordion = ({ className, children, label, iconSlot, glyphColor = colors.neutral.ink.lightest, timeout = 350, description, shouldOpenOnMount, }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(AccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: \"body\" }, label)),\n React.createElement(Right, null,\n React.createElement(motion.span, { animate: {\n rotate: shouldOpen ? 180 : 0,\n } },\n React.createElement(UpArrowIcon, { name: shouldOpen ? 'downArrow' : 'upArrow' })))),\n !!description && React.createElement(Description, { variant: \"hintText\" }, description)),\n shouldOpen && (React.createElement(AccordionContent, { initial: { opacity: 0 }, exit: { opacity: 0 }, animate: { opacity: 1 }, transition: { from: 0, type: 'tween', duration: timeout / 1000 } }, children))));\n};\n//# sourceMappingURL=Accordion.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export const generateId = (prefix) => {\n const randomNumber = Math.floor(Math.random() * 1000);\n return `${prefix}-${randomNumber}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","import styled from 'styled-components';\nexport const PopoverDialog = styled.dialog.withConfig({ displayName: \"vui--PopoverDialog\", componentId: \"vui--cg48a2\" }) `z-index:${({ zIndex }) => zIndex + 1};padding:0;margin:0;border:none;background:transparent;`;\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--49or9l\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","import { 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, shouldStealFocus = true, }) => {\n /**\n * Focuses first element, when this gets rendered for the first time.\n */\n useEffect(() => {\n if (!popperElement || disableFocusLock || !shouldStealFocus)\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, shouldStealFocus]);\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 event.stopPropagation();\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, shouldStealFocus, useAnchorWidth, supressWarnings } = _a, dialogProps = __rest(_a, [\"id\", \"children\", \"zIndex\", \"placement\", \"anchorElement\", \"rootElementRef\", \"onShouldClose\", \"style\", \"disableFocusLock\", \"shouldStealFocus\", \"useAnchorWidth\", \"supressWarnings\"]);\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, supressWarnings });\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 shouldStealFocus,\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 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 ? { width: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.clientWidth } : {})), onKeyDown: handleKeyDown }, attributes.popper, dialogProps), children)));\n};\n//# sourceMappingURL=Popover.js.map","/* eslint-disable no-console */\n/* eslint-disable consistent-return */\nimport { useEffect } from 'react';\n/**\n * Update the anchor element to sent the required attributes if they haven't already set them.\n *\n * This allows current, inaccesible usages to be improved.\n */\nexport const useUpdateAriaAnchor = ({ anchorElement, popoverId, supressWarnings = false, }) => {\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 if (!supressWarnings)\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 if (!supressWarnings)\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 if (!supressWarnings)\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, supressWarnings]);\n};\n//# sourceMappingURL=useUpdateAriaAnchor.js.map","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--3juln2\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ $loading }) => ($loading ? 'opacity: 0;' : null)};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--1xsghtl\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n 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--1mceh7z\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1vhc5dm\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--lamrqo\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--14zrdl\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--1w880uc\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:${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--kyccjz\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--eh2yja\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};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--cvu4hf\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { \"$loading\": loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && children,\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--13im4do\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--1orvtgl\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--1s3932u\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--n2tmr2\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--8unl0i\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--1q1caki\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--5cnkiv\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { Text } from '../Text';\nconst { sizes, colors, text } = theme;\nexport const ListCard = styled(Card.Surface).withConfig({ displayName: \"vui--ListCard\", componentId: \"vui--1trkfaa\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--rjtb0l\" }) `display:flex;flex-direction:column;& + &{border-top:1px solid ${colors.neutral.grey.base};margin-top:${sizes.base};padding-top:${sizes.base};}`;\nexport const SectionHeading = styled(Text).attrs({ variant: 'subheadingSmall' }).withConfig({ displayName: \"vui--SectionHeading\", componentId: \"vui--74egpv\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--1ib3pw5\" }) `box-sizing:border-box;min-height:${sizes.lg};padding:${sizes.xs} ${sizes.base};display:flex;align-items:center;white-space:nowrap;font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};&:hover{background-color:${colors.neutral.grey.light};color:${colors.secondary.blue.base};}& > * + *{margin-left:${sizes[3]};}`;\nexport const ActionItem = styled(Item).withConfig({ displayName: \"vui--ActionItem\", componentId: \"vui--1p9b0cj\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--dzqkwg\" }) `color:${colors.secondary.blue.base};text-decoration:underline;`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Popover } from '../Popover';\nimport { Button } from '../Button';\nimport { Section, SectionHeading, ListCard, Item, ActionItem, LinkItem } from './styled';\nconst itemMap = {\n item: Item,\n action: ActionItem,\n link: LinkItem,\n};\nexport const ActionList = ({ title, items = [], sections, buttonVariant, buttonSize, }) => {\n const [isActive, setIsActive] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (callback) => {\n setIsActive(false);\n callback();\n };\n const renderItem = (item) => {\n const ItemComponent = itemMap[item.variant || 'item'];\n return (React.createElement(ItemComponent, { onClick: () => handleClick(item.onClick), key: item.title },\n item.icon && item.icon,\n React.createElement(\"span\", null, item.title)));\n };\n const renderSection = (section) => (React.createElement(Section, { key: section.title },\n section.title && React.createElement(SectionHeading, null, section.title),\n section.items.map(renderItem)));\n const listItemMarkup = sections ? sections.map(renderSection) : items.map(renderItem);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { dropdown: true, variant: buttonVariant, size: buttonSize, onClick: () => setIsActive(!isActive), ref: setAnchorEl }, title),\n isActive && (React.createElement(Popover, { anchorElement: anchorEl, placement: \"bottom-start\", onShouldClose: () => setIsActive(false) },\n React.createElement(ListCard, null, listItemMarkup)))));\n};\n//# sourceMappingURL=ActionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--1tq5iq\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { CommonAnchor } from './styled';\nexport const Anchor = ({ children, className, text, href, target }) => (React.createElement(CommonAnchor, { href: href, target: target, className: className }, children || text));\n//# sourceMappingURL=Anchor.js.map","import styled from 'styled-components';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--602vf7\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--npjssh\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nexport { Wrap, Container };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../../BaseContainer';\nexport const DropdownContainer = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--DropdownContainer\", componentId: \"vui--1b87uvb\" }) `display:inline-flex;position:absolute;flex-direction:column;overflow:hidden;${({ useAnchorWidth }) => (useAnchorWidth ? 'width: 100%;' : '')} background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;${({ reversed }) => (reversed ? 'bottom: 8px;' : 'top: 6px;')}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useEffect } from 'react';\nimport { DropdownContainer } from './styled';\nimport { Popover } from '../../Popover';\nexport const Dropdown = (_a) => {\n var { id, children, className, reversed, anchorElement, useAnchorWidth, onShouldClose } = _a, popoverProps = __rest(_a, [\"id\", \"children\", \"className\", \"reversed\", \"anchorElement\", \"useAnchorWidth\", \"onShouldClose\"]);\n useEffect(() => {\n return () => anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.focus();\n }, [anchorElement]);\n return (React.createElement(Popover, Object.assign({ id: id, \"data-testid\": id, anchorElement: anchorElement, onShouldClose: onShouldClose, useAnchorWidth: useAnchorWidth }, popoverProps),\n React.createElement(DropdownContainer, { className: className, 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=Dropdown.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { Wrap, Container } from './styled';\nimport { Dropdown } from './components/Dropdown';\nexport const AnimatedDropdown = (_a) => {\n var { id, cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, placement = 'bottom-start', onClick, onMouseEnter, onMouseLeave, useAnchorWidth } = _a, popoverProps = __rest(_a, [\"id\", \"cta\", \"shouldShowDropdown\", \"children\", \"className\", \"reversed\", \"placement\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\", \"useAnchorWidth\"]);\n const [anchorRef, setAnchorRef] = useState(null);\n const cachedCTA = useMemo(\n // Add anchor ref so we can programatically focus the ancohor element/ CTA button.\n () => (cta ? React.cloneElement(cta, { ref: setAnchorRef }) : null), [cta]);\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave },\n !reversed && cachedCTA,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(AnimatePresence, null, shouldShowDropdown && (React.createElement(Dropdown, Object.assign({ id: id, useAnchorWidth: useAnchorWidth, className: `${className}-basic-dropdown ${className}`, anchorElement: anchorRef, placement: placement }, popoverProps), children)))),\n reversed && cachedCTA));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--224xhi\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","import styled from 'styled-components';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--t7r6of\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--1yesgsr\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--14vro0x\" }) `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--yf0fwi\" }) `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--ll0nnf\" }) `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--1u8lm59\" }) `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--idt2e7\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--cjoxaq\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--12dvheo\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--5cooo3\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--5tzoxx\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--9nzbbv\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--zplr21\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1j9d69e\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--wt59q7\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1wkol92\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--150p0zs\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--16f283b\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--19n9row\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--ikbqaf\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--3b6yzv\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--8ngm7b\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};width:24px;height:24px;`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--1cu5xjr\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1na6cp4\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--1rasg4l\" }) `font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.sizes.md};color:${theme.text.body.color};`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--13bynjq\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--1kh3zgo\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--ogz9oa\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--11xzxut\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}& ${LabelText}{font-weight:${theme.text.bodyBold.fontWeight};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--gms4qf\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, LabelText, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nexport const Choice = ({ id, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && React.createElement(LabelText, null, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, null, hint),\n error && React.createElement(ErrorText, null, error),\n Footer)) : null));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--bq2l9d\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, className: className, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--14lc9u\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = forwardRef((_a, ref) => {\n var { checked, value, name, disabled, onChange, id } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\", \"id\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const componentId = id !== null && id !== void 0 ? id : generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: componentId, disabled: disabled }, otherProps),\n React.createElement(Input, { id: componentId, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange, ref: ref })));\n});\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--z1f13i\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--snr02n\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--n9oowl\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","export function alignmentToFlex(align) {\n switch (align) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n}\n//# sourceMappingURL=alignmentToFlex.js.map","export function parseWidth(width, fallback) {\n switch (typeof width) {\n case 'string':\n return width;\n case 'number':\n return `${width}px`;\n case 'object':\n return `minmax(${parseWidth(width.min, 'max-content')}, ${parseWidth(width.max)})`;\n default:\n return fallback || '1fr';\n }\n}\n//# sourceMappingURL=parseWidth.js.map","import { theme } from '../../../theme';\nimport { parseWidth } from './parseWidth';\nimport { sumAllAfterIndex, sumAllBeforeIndex } from './sumAll';\nexport function generateTableCss({ pinnedLeft, pinnedRight, cellWidths, scrollPosition, visible, stripingMode, }) {\n const pinnedLeftStyles = pinnedLeft.map((_, index) => `\n th:nth-child(${index + 1}),\n td:nth-child(${index + 1}) {\n position: sticky;\n left: ${cellWidths ? sumAllBeforeIndex(cellWidths, index + 1) : 0}px;\n z-index: 2;\n }\n `);\n const pinnedRightStyles = pinnedRight.map((_, index) => `\n th:nth-last-child(${index + 1}),\n td:nth-last-child(${index + 1}) {\n position: sticky;\n right: ${cellWidths ? sumAllAfterIndex(cellWidths, cellWidths.length - index) : 0}px;\n }\n `);\n const isLeftShadowVisible = scrollPosition !== 'start' && scrollPosition !== 'none';\n const leftShadow = `\n th:nth-child(${pinnedLeft.length})::after,\n td:nth-child(${pinnedLeft.length})::after {\n position: absolute;\n transform: translate(100%);\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isLeftShadowVisible ? 'inset 10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const isRightShadowVisible = scrollPosition !== 'end' && scrollPosition !== 'none';\n const rightShadow = `\n th:nth-last-child(${pinnedRight.length})::after,\n td:nth-last-child(${pinnedRight.length})::after {\n position: absolute;\n transform: translate(-100%);\n top: 0;\n left: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n box-shadow: ${isRightShadowVisible ? 'inset -10px 0 10px -8px rgb(0 0 0 / 25%)' : 'none'};\n }\n `;\n const stripingRow = `\n tr:nth-child(odd) > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tr + tr > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n const stripingNested = `\n tbody:nth-of-type(odd) > tr > td {\n background-color: ${theme.colors.neutral.grey.lightest};\n }\n\n tbody + tbody > tr:first-child > td {\n border-top: 1px solid ${theme.colors.neutral.grey.base};\n }\n `;\n return `\n grid-template-columns: ${visible.map((col) => parseWidth(col.width)).join(' ')};\n\n th::after, td::after {\n transition: box-shadow .3s;\n }\n\n ${pinnedLeft.length > 0 ? pinnedLeftStyles : ''}\n ${pinnedRight.length > 0 ? pinnedRightStyles : ''}\n\n ${leftShadow}\n ${rightShadow}\n\n ${stripingMode === 'nested' ? stripingNested : stripingRow}\n `;\n}\n//# sourceMappingURL=generateTableCss.js.map","export function sumAllBeforeIndex(array, index) {\n return array.slice(0, index - 1).reduce((acc, val) => acc + val, 0);\n}\nexport function sumAllAfterIndex(array, index) {\n return array.slice(index).reduce((acc, val) => acc + val, 0);\n}\n//# sourceMappingURL=sumAll.js.map","/* Sorting */\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"ascending\"] = \"ascending\";\n SortDirection[\"descending\"] = \"descending\";\n})(SortDirection || (SortDirection = {}));\n//# sourceMappingURL=types.js.map","import React from 'react';\nexport const DoubleArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DoubleArrowIconIcon.js.map","import React from 'react';\nexport const ArrowUpIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M13 20V7.83L18.59 13.42L20 12L12 4L4 12L5.41 13.41L11 7.83L11 20H13Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowUpIcon.js.map","import React from 'react';\nexport const ArrowDownIcon = (props) => {\n return (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11 4V16.17L5.41 10.58L4 12L12 20L20 12L18.59 10.59L13 16.17L13 4H11Z\", fill: \"currentColor\" })));\n};\n//# sourceMappingURL=ArrowDownIcon.js.map","import React from 'react';\nimport { theme } from '../../../theme';\nimport { SortDirection } from '../types';\nimport { DoubleArrowIcon } from '../../../tempIcons/DoubleArrowIconIcon';\nimport { ArrowUpIcon } from '../../../tempIcons/ArrowUpIcon';\nimport { ArrowDownIcon } from '../../../tempIcons/ArrowDownIcon';\nexport const GetSortIcon = ({ sortState, columnId, size }) => {\n if (!sortState || sortState.columnId !== columnId)\n return React.createElement(DoubleArrowIcon, { size: size });\n if (sortState.direction === SortDirection.ascending) {\n return React.createElement(ArrowUpIcon, { color: theme.colors.neutral.ink.dark, size: size });\n }\n return React.createElement(ArrowDownIcon, { color: theme.colors.neutral.ink.dark, size: size });\n};\n//# sourceMappingURL=GetSortIcon.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function useCellWidths(tableRef, containerRef) {\n const [cellWidths, setCellWidths] = useState([]);\n const updateCellWidths = () => {\n if (!tableRef.current)\n return;\n const cells = tableRef.current.querySelectorAll('tbody tr:first-child td');\n const widths = Array.from(cells).map((cell) => cell.getBoundingClientRect().width);\n setCellWidths(widths);\n };\n useEffect(() => {\n updateCellWidths();\n }, [tableRef.current]);\n // Update cell widths when container is resized.\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateCellWidths, 50); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n // eslint-disable-next-line consistent-return\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return cellWidths;\n}\n//# sourceMappingURL=useCellWidths.js.map","export function useColumns(columns) {\n const visible = columns.filter((col) => col.hidden !== true);\n const pinnedLeft = visible.filter((col) => col.pinned === 'left');\n const pinnedRight = visible.filter((col) => col.pinned === 'right');\n const notPinned = visible.filter((col) => col.pinned === 'none' || !col.pinned);\n return {\n visible: [...pinnedLeft, ...notPinned, ...pinnedRight],\n pinnedLeft,\n pinnedRight,\n };\n}\n//# sourceMappingURL=useColumns.js.map","import { useEffect } from 'react';\nexport function useDragToScroll(targetRef) {\n useEffect(() => {\n if (!targetRef.current)\n return;\n let isDragging = false;\n const scrollTarget = targetRef.current;\n const position = {\n left: 0,\n x: 0,\n };\n const mouseMoveHandler = (e) => {\n if (!scrollTarget)\n return;\n const dx = e.clientX - position.x;\n scrollTarget.scrollLeft = position.left - dx;\n if (!isDragging) {\n scrollTarget.style.cursor = 'grabbing';\n scrollTarget.style.userSelect = 'none';\n }\n isDragging = true;\n };\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n isDragging = false;\n if (!scrollTarget)\n return;\n scrollTarget.style.removeProperty('cursor');\n scrollTarget.style.removeProperty('user-select');\n };\n const mouseDownHandler = (e) => {\n if (!scrollTarget)\n return;\n position.left = scrollTarget.scrollLeft;\n position.x = e.clientX;\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n scrollTarget.addEventListener('mousedown', mouseDownHandler);\n /* eslint-disable-next-line consistent-return */\n return () => scrollTarget === null || scrollTarget === void 0 ? void 0 : scrollTarget.removeEventListener('mousedown', mouseDownHandler);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetRef.current]);\n}\n//# sourceMappingURL=useDragToScroll.js.map","import { useState } from 'react';\nexport function useNested() {\n const [expandedRowIds, setExpandedRowIds] = useState([]);\n // TODO: Memoise this\n const setExpanded = (expanded, rowId) => {\n if (!rowId)\n return;\n if (expanded) {\n // Add rowId to expandedRowIds\n if (expandedRowIds.includes(rowId))\n return;\n const rowIds = [...expandedRowIds, rowId];\n setExpandedRowIds(rowIds);\n }\n else {\n // Remove rowIds from expandedRowIds\n const index = expandedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...expandedRowIds];\n rowIds.splice(index, 1);\n setExpandedRowIds(rowIds);\n }\n };\n return {\n nestedTableProps: {\n expandedRowIds,\n setExpanded,\n },\n };\n}\n//# sourceMappingURL=useNested.js.map","/* eslint-disable consistent-return */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport throttle from 'lodash.throttle';\nexport function useScrollPosition(containerRef) {\n const [scrollPosition, setScrollPosition] = useState('start');\n const updateScrollPosition = () => {\n if (!containerRef.current)\n return;\n const { width } = containerRef.current.getBoundingClientRect();\n const { scrollLeft, scrollWidth } = containerRef.current;\n if (scrollWidth < width) {\n setScrollPosition('none');\n return;\n }\n if (scrollLeft === 0) {\n setScrollPosition('start');\n return;\n }\n if (scrollLeft + width >= scrollWidth) {\n setScrollPosition('end');\n return;\n }\n setScrollPosition('middle');\n };\n useEffect(() => {\n if (!containerRef.current)\n return;\n containerRef.current.addEventListener('scroll', updateScrollPosition);\n return () => { var _a; return (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateScrollPosition); };\n }, [containerRef.current]);\n useEffect(() => {\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateScrollPosition, 50);\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect();\n }, [containerRef.current]);\n return { scrollPosition, containerRef };\n}\n//# sourceMappingURL=useScrollPosition.js.map","export const defaultCellSpacing = 3;\nexport const headerCellHeight = '56px';\nexport const footerCellHeight = '56px';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, headerCellHeight } from '../constants';\nexport const Header = styled.th.withConfig({ displayName: \"vui--Header\", componentId: \"vui--ilge6b\" }) `height:${headerCellHeight};display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};border-bottom:1px solid ${theme.colors.neutral.grey.base};grid-column-end:${({ span = 1 }) => `span ${span}`};`;\n//# sourceMappingURL=Header.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Header } from './Header';\nexport function SelectionHeader(_a) {\n var { selected, indeterminate, onChange, selectionMode } = _a, headerProps = __rest(_a, [\"selected\", \"indeterminate\", \"onChange\", \"selectionMode\"]);\n if (selectionMode === 'single')\n return React.createElement(Header, Object.assign({}, headerProps));\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Checkbox, { checked: selected, indeterminate: indeterminate, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { alignmentToFlex } from '../utils';\nimport { defaultCellSpacing, footerCellHeight } from '../constants';\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--3tw1b6\" }) `display:flex;align-items:center;justify-content:${({ align = 'left' }) => alignmentToFlex(align)};background-color:white;padding-bottom:var(--density);padding-top:var(--density);padding-left:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};padding-right:${({ spacing = defaultCellSpacing }) => theme.sizes[spacing]};color:${theme.text.bodySmall.color};font-family:${theme.text.bodySmall.fontFamily};font-size:${theme.text.bodySmall.fontSize};font-style:${theme.text.bodySmall.fontStyle};font-weight:${theme.text.bodySmall.fontWeight};line-height:${theme.text.bodySmall.lineHeight};grid-column-end:${({ span = 1 }) => `span ${span}`};tfoot &{min-height:${footerCellHeight};border-top:1px solid ${theme.colors.secondary.blue.base};background-color:${theme.colors.neutral.grey.lightest};}`;\n//# sourceMappingURL=Cell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Checkbox } from '../../Checkbox';\nimport { Radio } from '../../Radio';\nimport { Cell } from './Cell';\nexport function SelectionCell(_a) {\n var { selected, rowId, onChange, selectionMode, disabled } = _a, cellProps = __rest(_a, [\"selected\", \"rowId\", \"onChange\", \"selectionMode\", \"disabled\"]);\n if (selectionMode === 'single') {\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Radio, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n }\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(Checkbox, { value: rowId, checked: selected, disabled: disabled, onChange: onChange })));\n}\n//# sourceMappingURL=SelectionCell.js.map","/* eslint-disable react/destructuring-assignment */\nimport React from 'react';\nimport { SelectionHeader } from '../components/SelectionHeader';\nimport { SelectionCell } from '../components/SelectionCell';\nconst emptySelectionState = [[], () => { }];\nexport function useSelection({ selectionMode = 'multiple', selectionState, enabledRowIds, }) {\n const selectionEnabled = !!selectionState;\n const [selectedRowIds, setSelectedRowIds] = selectionState || emptySelectionState;\n // TODO: Memoise this\n const setSelected = (selected, rowId) => {\n if (rowId === undefined || rowId === null)\n return; // Can't use falsey, must allow number 0\n if (selected && selectionMode === 'single') {\n // Replace selectedRowIds with only the current rowId\n setSelectedRowIds([rowId]);\n return;\n }\n if (selected) {\n // Add rowId to selectedRowIds\n if (selectedRowIds.includes(rowId))\n return;\n const rowIds = [...selectedRowIds, rowId];\n setSelectedRowIds(rowIds);\n }\n else {\n // Remove rowIds from selectedRowIds\n const index = selectedRowIds.findIndex((id) => id === rowId);\n if (index < 0)\n return;\n const rowIds = [...selectedRowIds];\n rowIds.splice(index, 1);\n setSelectedRowIds(rowIds);\n }\n };\n // TODO: Memoise this\n const toggleAllSelected = () => {\n if (selectedRowIds.length === enabledRowIds.length) {\n setSelectedRowIds([]);\n return;\n }\n setSelectedRowIds(enabledRowIds);\n };\n // TODO: Memoise this\n const selectionColumn = {\n id: 'selection',\n title: 'Selection',\n width: '40px',\n align: 'center',\n pinned: 'left',\n renderHeader: (column, headerProps) => (React.createElement(SelectionHeader, Object.assign({}, headerProps, { selected: selectedRowIds.length === enabledRowIds.length, indeterminate: selectedRowIds.length > 0 && selectedRowIds.length < enabledRowIds.length, onChange: toggleAllSelected, selectionMode: selectionMode }))),\n renderCell: (row, cellProps, actions, rowState) => (React.createElement(SelectionCell, Object.assign({}, cellProps, { rowId: row.id, selected: rowState.selected, onChange: actions.setSelected, selectionMode: selectionMode, disabled: rowState.disabled }))),\n };\n return {\n selectionEnabled,\n selectedRowIds,\n selectionColumn,\n setSelected,\n };\n}\n//# sourceMappingURL=useSelection.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const SortIndicator = styled.div.withConfig({ displayName: \"vui--SortIndicator\", componentId: \"vui--1x79m95\" }) `width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:white;color:${theme.colors.neutral.ink.lightest};`;\nexport const HeaderContent = styled.span.withConfig({ displayName: \"vui--HeaderContent\", componentId: \"vui--1kiwwja\" }) `display:flex;height:28px;align-items:center;gap:4px;white-space:nowrap;color:${theme.text.headingTable.color};font-family:${theme.text.headingTable.fontFamily};font-size:${theme.text.headingTable.fontSize};font-style:${theme.text.headingTable.fontStyle};font-weight:${theme.text.headingTable.fontWeight};line-height:${theme.text.headingTable.lineHeight};`;\nexport const ClickableHeaderContent = styled(HeaderContent).attrs(() => ({\n as: 'button',\n type: 'button',\n})).withConfig({ displayName: \"vui--ClickableHeaderContent\", componentId: \"vui--p1ald0\" }) `appearance:none;padding:0;border:0;border-radius:4px;background-color:transparent;&:not(:disabled):hover{cursor:pointer;}&:hover ${SortIndicator}{background-color:${theme.colors.neutral.grey.light};color:${theme.colors.neutral.ink.base};}&:focus-visible{outline:0;box-shadow:0px 0px 0px 2px ${theme.colors.secondary.blue.light};}`;\n//# sourceMappingURL=ColumnHeader.js.map","import React from 'react';\nimport { Tooltip } from '../../Tooltip';\nimport { Header } from '../components/Header';\nimport { HeaderContent, ClickableHeaderContent, SortIndicator } from '../components/ColumnHeader';\nimport { getNextSortState, GetSortIcon } from '../utils';\n/**\n * Default renderer for table header cells\n *\n * @param column Column configuration object\n * @returns Header cell instance\n */\nexport function renderHeader({ column, sortState, onChangeSort, }) {\n if (column.sortable && !sortState) {\n throw new Error(`Column '${column.id}' is configured to be sortable but the 'sortState' prop is missing.`);\n }\n if (column.hidden) {\n return null;\n }\n const headerProps = {\n key: column.id.toString(),\n id: `datatable-header-${column.id}`,\n role: 'columnheader',\n align: column.align,\n spacing: column.spacing,\n className: column.sortable ? 'sortable' : undefined,\n };\n // If defined, use custom renderer\n if (column.renderHeader) {\n return column.renderHeader(column, headerProps);\n }\n const handleClickSort = () => {\n if (!sortState) {\n console.log('DataGrid::renderHeader::handleClickSort - sortState is not defined');\n return;\n }\n const nextSortState = getNextSortState({ sortState, columnId: column.id });\n if (!onChangeSort) {\n console.log('DataGrid::renderHeader::handleClickSort - onChangeSort is not defined');\n return;\n }\n onChangeSort(nextSortState);\n };\n const ColumnHeaderContent = column.sortable ? ClickableHeaderContent : HeaderContent;\n const columnHeaderProps = column.sortable ? { onClick: handleClickSort } : {};\n return (React.createElement(Header, Object.assign({}, headerProps),\n React.createElement(Tooltip, { text: column.tooltip },\n React.createElement(ColumnHeaderContent, Object.assign({}, columnHeaderProps),\n column.icon && column.icon,\n column.title && React.createElement(\"span\", null, column.title),\n column.sortable && (React.createElement(SortIndicator, null,\n React.createElement(GetSortIcon, { sortState: sortState, columnId: column.id, size: 5 })))))));\n}\n//# sourceMappingURL=renderHeader.js.map","import { SortDirection } from '../types';\nexport function getNextSortState({ sortState, columnId }) {\n const isColumnSame = sortState.columnId === columnId;\n const isDefaultDirection = sortState.direction === SortDirection.ascending;\n let newSortDirection = SortDirection.ascending;\n if (isColumnSame && isDefaultDirection) {\n newSortDirection = SortDirection.descending;\n }\n return { columnId, direction: newSortDirection };\n}\n//# sourceMappingURL=getNextSortState.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\n/* Loading content shimmer animation */\nconst shimmerLight = theme.colors.neutral.grey.base;\nconst shimmerDark = theme.colors.neutral.grey.dark;\nexport const LoadingCellContent = styled.div.withConfig({ displayName: \"vui--LoadingCellContent\", componentId: \"vui--1bv9ck1\" }) `height:20px;width:75%;border-radius:${theme.radius.base};background:${shimmerLight};background-image:linear-gradient(\\n to right,\\n ${shimmerLight} 0%,\\n ${shimmerDark} 20%,\\n ${shimmerLight} 40%,\\n ${shimmerLight} 100%\\n );background-repeat:no-repeat;background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear;@keyframes placeholderShimmer{0%{background-position:-468px 0;}100%{background-position:468px 0;}}`;\n//# sourceMappingURL=LoadingCellContent.js.map","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { renderHeader } from '../renderers/renderHeader';\nimport { headerCellHeight } from '../constants';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--uoc40o\" }) `display:grid;grid-template-columns:auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:50;height:${headerCellHeight};background-color:white;`;\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--x1996k\" }) `width:100%;height:100%;display:flex;align-items:center;padding:0 0.5rem;border-bottom:1px solid ${theme.colors.neutral.grey.base};& > *{flex:1;}`;\nexport function ActionBar({ selectionColumn, intersectionTargetRef, containerRef, children, }) {\n var _a;\n const [isSticky, setIsSticky] = useState(false);\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const callback = (entries) => {\n entries.forEach((entry) => {\n setIsSticky(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(callback);\n intersectionObserver.observe(intersectionTargetRef.current);\n /* eslint-disable-next-line consistent-return */\n return () => intersectionObserver.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [intersectionTargetRef.current]);\n const containerRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const defaultPositionStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n };\n const stickyPositionStyles = {\n position: 'fixed',\n top: 0,\n left: containerRect === null || containerRect === void 0 ? void 0 : containerRect.left,\n width: containerRect === null || containerRect === void 0 ? void 0 : containerRect.width,\n };\n const style = isSticky ? stickyPositionStyles : defaultPositionStyles;\n return (React.createElement(Container, { style: style },\n renderHeader({ column: selectionColumn }),\n React.createElement(Content, null, children)));\n}\n//# sourceMappingURL=ActionBar.js.map","import React from 'react';\nexport const VisiblityIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C17 19.5 21.27 16.39 23 12C21.27 7.61 17 4.5 12 4.5ZM12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7C14.76 7 17 9.24 17 12C17 14.76 14.76 17 12 17ZM12 9C10.34 9 9 10.34 9 12C9 13.66 10.34 15 12 15C13.66 15 15 13.66 15 12C15 10.34 13.66 9 12 9Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityIcon.js.map","import React from 'react';\nexport const VisiblityOffIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M12 7C14.76 7 17 9.24 17 12C17 12.65 16.87 13.26 16.64 13.83L19.56 16.75C21.07 15.49 22.26 13.86 22.99 12C21.26 7.61 16.99 4.5 11.99 4.5C10.59 4.5 9.25 4.75 8.01 5.2L10.17 7.36C10.74 7.13 11.35 7 12 7ZM2 4.27L4.28 6.55L4.74 7.01C3.08 8.3 1.78 10.02 1 12C2.73 16.39 7 19.5 12 19.5C13.55 19.5 15.03 19.2 16.38 18.66L16.8 19.08L19.73 22L21 20.73L3.27 3L2 4.27ZM7.53 9.8L9.08 11.35C9.03 11.56 9 11.78 9 12C9 13.66 10.34 15 12 15C12.22 15 12.44 14.97 12.65 14.92L14.2 16.47C13.53 16.8 12.79 17 12 17C9.24 17 7 14.76 7 12C7 11.21 7.2 10.47 7.53 9.8ZM11.84 9.02L14.99 12.17L15.01 12.01C15.01 10.35 13.67 9.01 12.01 9.01L11.84 9.02Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=VisibilityOffIcon.js.map","import React from 'react';\nexport const ReorderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M3 15H21V13H3V15ZM3 19H21V17H3V19ZM3 11H21V9H3V11ZM3 5V7H21V5H3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ReorderIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const EmptyBodyContent = styled.div.withConfig({ displayName: \"vui--EmptyBodyContent\", componentId: \"vui--klb9dq\" }) `padding-top:${theme.sizes.lg};padding-bottom:${theme.sizes.lg};grid-column:${({ columnCount }) => `1 / span ${columnCount}`};display:flex;flex-direction:column;align-items:center;justify-content:center;gap:${theme.sizes.md};`;\nexport const EmptyBodyGlyphWrapper = styled.div.withConfig({ displayName: \"vui--EmptyBodyGlyphWrapper\", componentId: \"vui--12lmw1\" }) `padding:${theme.sizes.md};background-color:${theme.colors.neutral.grey.light};border-radius:${theme.radius.full};`;\n//# sourceMappingURL=EmptyBodyContent.js.map","import styled from 'styled-components';\nexport const NoWrap = styled.div.withConfig({ displayName: \"vui--NoWrap\", componentId: \"vui--kbcaqo\" }) `white-space:nowrap;`;\n//# sourceMappingURL=NoWrap.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--9t9651\" }) `display:contents;${({ selected }) => selected &&\n `\n &&&& > td {\n background-color: ${theme.colors.brand.blue.lightest};\n }\n `};${({ accentColor }) => accentColor &&\n `\n &> *:first-child {\n position: relative;\n }\n\n & > *:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor};\n }\n `}`;\n//# sourceMappingURL=Row.js.map","import styled from 'styled-components';\nexport const ScrollContainer = styled.div.withConfig({ displayName: \"vui--ScrollContainer\", componentId: \"vui--1lne8xk\" }) `position:relative;width:100%;overflow-x:auto;overflow-y:hidden;`;\n//# sourceMappingURL=ScrollContainer.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst defaultDensity = 'base';\nexport const TableGrid = styled.table.withConfig({ displayName: \"vui--TableGrid\", componentId: \"vui--15hxahr\" }) `min-width:100%;width:max-content;display:grid;& thead,& tbody,& tfoot{display:contents;}--density:${theme.sizes[defaultDensity]};&& tr:hover td{background-color:#f2f8fc;}${({ css }) => css}`;\n//# sourceMappingURL=TableGrid.js.map","import styled from 'styled-components';\nexport const Truncate = styled.div.withConfig({ displayName: \"vui--Truncate\", componentId: \"vui--coqvc6\" }) `overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`;\n//# sourceMappingURL=Truncate.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst borderModeStyles = {\n full: `border-width: 1px; border-radius: ${theme.radius.base};`,\n vertical: 'border-width: 0; border-top-width: 1px; border-bottom-width: 1px;',\n none: 'border-width: 0;',\n};\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--nnuzgr\" }) `width:100%;position:relative;border-style:solid;border-color:${theme.colors.neutral.grey.dark};${({ borderMode = 'full' }) => borderModeStyles[borderMode]} &,& *{box-sizing:border-box;}`;\n//# sourceMappingURL=Wrapper.js.map","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useRef, useState } from 'react';\nimport throttle from 'lodash.throttle';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { theme } from '../../../theme';\nimport { headerCellHeight } from '../constants';\nimport { TableGrid } from './TableGrid';\nexport function StickyHead({ children, intersectionTargetRef, containerRef, cellWidths, tableCss, }) {\n const stickyContainerRef = useRef(null);\n const [isVisible, setIsVisible] = useState(false);\n const [containerRect, setContainerRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const updateContainerDimensions = () => {\n var _a;\n const targetRect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();\n const newRect = {\n left: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.left) || 0,\n width: (targetRect === null || targetRect === void 0 ? void 0 : targetRect.width) || 0,\n top: 0,\n height: 48,\n };\n setContainerRect(newRect);\n };\n const updateContainerScrollPosition = () => {\n var _a;\n if (!containerRef.current)\n return;\n const xScrollOffset = containerRef.current.scrollLeft;\n (_a = stickyContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(xScrollOffset, 0);\n };\n // Configure intersection observer to toggle sticky header on/off\n useEffect(() => {\n if (!intersectionTargetRef.current)\n return;\n const options = {\n threshold: 1.0,\n };\n const intersectionCallback = (entries) => {\n entries.forEach((entry) => {\n setIsVisible(!entry.isIntersecting);\n });\n };\n const intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n intersectionObserver.observe(intersectionTargetRef.current);\n return () => intersectionObserver.disconnect(); // eslint-disable-line consistent-return\n }, [intersectionTargetRef.current]);\n // Calculate sticky header position and size to match table container\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n updateContainerDimensions();\n }, [containerRef.current, isVisible]);\n // Update dimensions when container element is resized\n useEffect(() => {\n if (!isVisible)\n return;\n if (!containerRef.current)\n return;\n const resizeObserverCallback = throttle(updateContainerDimensions, 33); // Throttle events\n const resizeObserver = new ResizeObserver(resizeObserverCallback);\n resizeObserver.observe(containerRef.current);\n return () => resizeObserver.disconnect(); // eslint-disable-line consistent-return\n }, [containerRef.current, isVisible]);\n // Sync container scrolling\n useEffect(() => {\n updateContainerScrollPosition();\n }, [isVisible]);\n useEffect(() => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', updateContainerScrollPosition);\n return () => {\n var _a;\n (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', updateContainerScrollPosition);\n };\n }, [containerRef.current]);\n // Render sticky header\n if (!isVisible)\n return null;\n const containerStyle = Object.assign(Object.assign({}, containerRect), { height: headerCellHeight, position: 'fixed', zIndex: 5, overflowX: 'hidden', overflowY: 'hidden', borderBottom: `1px solid ${theme.colors.neutral.grey.base}` });\n // Generate styles to sync sticky columns with \"real\" columns\n const columnsCss = cellWidths\n .map((width, index) => `\n & th:nth-child(${index + 1}) {\n width: ${width}px;\n }\n `)\n .join('');\n // Append to generated table styles\n const allCss = tableCss + columnsCss;\n return (React.createElement(\"div\", { style: containerStyle, ref: stickyContainerRef },\n React.createElement(TableGrid, { css: allCss },\n React.createElement(\"thead\", null, children))));\n}\n//# sourceMappingURL=StickyHead.js.map","export const getRowState = (rowId, { selectedRowIds, expandedRowIds, disabledRowIds, }) => {\n const rowState = {\n selected: (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.includes(rowId)) || false,\n expanded: (expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(rowId)) || false,\n disabled: (disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(rowId)) || false,\n };\n return rowState;\n};\n//# sourceMappingURL=getRowState.js.map","import React from 'react';\nexport const InfoIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M2 12C2 6.48 6.48 2 12 2C17.52 2 22 6.48 22 12C22 17.52 17.52 22 12 22C6.48 22 2 17.52 2 12ZM4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12Z\", fill: \"currentColor\" }),\n React.createElement(\"circle\", { cx: \"12\", cy: \"7\", r: \"1\", fill: \"currentColor\" }),\n React.createElement(\"path\", { d: \"M10 16H11V11H10V10H13V16H14V17H10V16Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=InfoIcon.js.map","/* eslint-disable jsx-a11y/no-redundant-roles */\nimport React, { useRef } from 'react';\nimport { Stack } from '../Stack';\nimport { Text } from '../Text';\nimport { generateTableCss } from './utils';\nimport { useCellWidths, useColumns, useDragToScroll, useScrollPosition, useSelection, } from './hooks';\nimport { renderCell, renderFooter, renderHeader, renderLoadingCell, renderNestedCell, } from './renderers';\nimport { ActionBar } from './components/ActionBar';\nimport { Cell } from './components/Cell';\nimport { ColumnMenu } from './components/ColumnMenu';\nimport { EmptyBodyContent, EmptyBodyGlyphWrapper } from './components/EmptyBodyContent';\nimport { Header } from './components/Header';\nimport { NoWrap } from './components/NoWrap';\nimport { Row } from './components/Row';\nimport { ScrollContainer } from './components/ScrollContainer';\nimport { TableGrid } from './components/TableGrid';\nimport { Truncate } from './components/Truncate';\nimport { Wrapper } from './components/Wrapper';\nimport { SelectionCell } from './components/SelectionCell';\nimport { SelectionHeader } from './components/SelectionHeader';\nimport { StickyHead } from './components/StickyHead';\nimport { getRowState } from './utils/getRowState';\nimport { InfoIcon } from '../../tempIcons/InfoIcon';\nconst defaultEmptyState = {\n icon: React.createElement(InfoIcon, { width: 48, height: 48 }),\n heading: 'No results',\n};\nconst emptyAction = () => { };\nexport const DataTable = ({ ActionBarSlot, borderMode, columns, emptyState = defaultEmptyState, expandedRowIds, loading, loadingRowCount, onChangeSort, rows, disabledRowIds, selectionMode, selectionState, setExpanded, sortState, stripingMode, enableStickyHeader, }) => {\n // Refs\n const scrollContainerRef = useRef(null);\n const tableRef = useRef(null);\n const intersectionTargetRef = useRef(null);\n useDragToScroll(scrollContainerRef);\n // Configure row selection\n const enabledRowIds = rows.map((row) => row.id).filter((id) => !(disabledRowIds === null || disabledRowIds === void 0 ? void 0 : disabledRowIds.includes(id)));\n const { selectionEnabled, selectedRowIds, selectionColumn, setSelected } = useSelection({\n selectionMode,\n selectionState,\n enabledRowIds,\n });\n // Assign actions\n const actions = {\n setSelected: setSelected || emptyAction,\n setExpanded: setExpanded || emptyAction,\n };\n // Process columns\n const columnsWithSelection = [selectionColumn, ...columns];\n const allColumns = selectionEnabled ? columnsWithSelection : columns;\n const cellWidths = useCellWidths(tableRef, scrollContainerRef);\n const { visible, pinnedLeft, pinnedRight } = useColumns(allColumns);\n // Generate styles\n const { scrollPosition } = useScrollPosition(scrollContainerRef);\n const tableCss = generateTableCss({\n pinnedLeft,\n pinnedRight,\n cellWidths,\n scrollPosition,\n visible,\n stripingMode,\n });\n // Render states\n if (loading) {\n const loadingRows = new Array(loadingRowCount).fill(true).map(() => ({\n // generate random ID forcing all rows to re-render avoid animation de-sync\n id: Math.random() * 1000,\n data: null,\n }));\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" }, loadingRows.map((row) => (React.createElement(Row, { key: row.id }, visible.map((col) => renderLoadingCell(row, col))))))))));\n }\n if (rows.length === 0) {\n return (React.createElement(Wrapper, { borderMode: borderMode },\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort })))),\n React.createElement(\"tbody\", { role: \"rowgroup\" },\n React.createElement(EmptyBodyContent, { columnCount: visible.length },\n React.createElement(EmptyBodyGlyphWrapper, null, emptyState.icon),\n React.createElement(Stack, { spacing: \"sm\", alignX: \"center\" },\n React.createElement(Text, { variant: \"headingMedium\" }, emptyState.heading),\n emptyState.subheading && (React.createElement(Text, { variant: \"subheadingMedium\" }, emptyState.subheading)))))))));\n }\n const renderRow = (row) => {\n const { e2eClassName = '', accentColor } = row;\n const rowState = getRowState(row.id, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, Object.assign({ role: \"row\", key: row.id, accentColor: accentColor, className: e2eClassName }, rowState), visible.map((col) => renderCell(row, col, actions, rowState))));\n };\n const renderNestedRow = (nestedRow, rowId) => {\n var _a, _b;\n const nestedRowE2eClassName = (_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row;\n const rowState = getRowState(rowId, { selectedRowIds, expandedRowIds, disabledRowIds });\n return (React.createElement(Row, { role: \"row\", key: nestedRow.id, className: nestedRowE2eClassName }, visible.map((col) => renderNestedCell(nestedRow, col, rowState))));\n };\n const renderSection = (row) => {\n var _a;\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n return (React.createElement(\"tbody\", { role: \"rowgroup\", key: row.id },\n renderRow(row),\n isExpanded && ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))));\n };\n const renderBody = () => {\n const hasNestedRows = !!expandedRowIds;\n const hasMultipleSections = hasNestedRows && stripingMode === 'nested';\n if (hasMultipleSections) {\n return rows.map(renderSection);\n }\n if (hasNestedRows) {\n return (React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map((row) => {\n var _a;\n const rowElement = renderRow(row);\n const isExpanded = expandedRowIds === null || expandedRowIds === void 0 ? void 0 : expandedRowIds.includes(row.id);\n const nestedRowElements = (isExpanded &&\n ((_a = row.nestedRows) === null || _a === void 0 ? void 0 : _a.map((nestedRow) => renderNestedRow(nestedRow, row.id)))) ||\n [];\n return [rowElement, ...nestedRowElements];\n })));\n }\n return React.createElement(\"tbody\", { role: \"rowgroup\" }, rows.map(renderRow));\n };\n const headersMarkup = (React.createElement(Row, { role: \"row\" }, visible.map((column) => renderHeader({ column, sortState, onChangeSort }))));\n const shouldRenderFooter = columns.some((column) => !!column.renderFooter);\n const shouldRenderActionBar = selectedRowIds.length > 0 && !!ActionBarSlot;\n return (React.createElement(Wrapper, { borderMode: borderMode },\n shouldRenderActionBar && (React.createElement(ActionBar, { selectionColumn: selectionColumn, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef }, ActionBarSlot)),\n React.createElement(ScrollContainer, { ref: scrollContainerRef },\n enableStickyHeader && (React.createElement(StickyHead, { tableCss: tableCss, intersectionTargetRef: intersectionTargetRef, containerRef: scrollContainerRef, cellWidths: cellWidths }, headersMarkup)),\n React.createElement(\"div\", { ref: intersectionTargetRef, style: { height: 0 } }),\n React.createElement(TableGrid, { css: tableCss, ref: tableRef, role: \"table\" },\n React.createElement(\"thead\", { role: \"rowgroup\" }, headersMarkup),\n renderBody(),\n shouldRenderFooter && (React.createElement(\"tfoot\", { role: \"rowgroup\" },\n React.createElement(Row, { role: \"row\" }, visible.map((column) => renderFooter({ column })))))))));\n};\nDataTable.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTable.Cell = Cell;\nDataTable.ColumnMenu = ColumnMenu;\nDataTable.SelectionCell = SelectionCell;\nDataTable.SelectionHeader = SelectionHeader;\nDataTable.Header = Header;\nDataTable.Truncate = Truncate;\nDataTable.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--1lcnd5n\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--t25k5o\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--j013c4\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--12tjaz\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--zavj5i\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--7wguee\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--1tbr7pe\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--qefy7h\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--2b6aqg\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--u4z5d7\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--dhtep4\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1fu4njf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--1r762o2\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1wskrbx\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { generateId } from '../../utils/generateId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useMemo(() => generateId(Component.name), []);\n if (!label) {\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n }\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1o6oill\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1jp908v\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, forwardRef } from 'react';\nimport { generateId } from '../../utils/generateId';\nimport { Input, Textarea } from './styled';\nimport { ComponentSize } from '../types';\nconst NUMBER_REGEX = /^-?[0-9]*\\.?[0-9]+$/;\nexport const TextField = forwardRef((_a, ref) => {\n var { id, className, disabled = false, hasError, max, min, multiline = false, name, onChange, pattern, placeholder, rows = '3', size = ComponentSize.base, step, type = 'text', value, spellCheck = false } = _a, otherProps = __rest(_a, [\"id\", \"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\n if (!onChange)\n return;\n const newValue = event.currentTarget.value;\n if (newValue === '') {\n onChange(newValue);\n return;\n }\n if (type !== 'number') {\n onChange(newValue);\n return;\n }\n const reg = new RegExp(NUMBER_REGEX);\n if (!reg.test(newValue)) {\n return;\n }\n onChange(newValue);\n }, [onChange, type]);\n const componentId = id !== null && id !== void 0 ? id : generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: componentId, inputSize: size, max: max, min: min, name: name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck, ref: ref }, otherProps)));\n});\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--31hvgq\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--fkaqbt\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--sglucf\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--m1c7se\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--1cuqy49\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1yz94gf\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--d0gr40\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState, useCallback } from 'react';\nexport function useDropdown() {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => setShouldShowDropdown(false), [setShouldShowDropdown]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n}\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--ujckjn\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:4px 8px;cursor:pointer;svg{width:${sizes.base};height:${sizes.base};}`;\nconst NonSelectableText = styled(Text).withConfig({ displayName: \"vui--NonSelectableText\", componentId: \"vui--oath0b\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--ln021\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--za0kgi\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--8epxko\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--1wgdg8n\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--188pxr2\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:12px 18px;border-bottom:1px solid ${colors.neutral.grey.base};svg{color:${({ color }) => color};width:${sizes[5]};height:${sizes[5]};margin-right:10px;}`;\nexport { Container, Text, AnimatedDropdown as Dropdown, GroupLabel, Content, Header, MainIcon, StyledCrossIcon as CrossIcon, };\n//# sourceMappingURL=styled.js.map","import React 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, onClick, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown();\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, onShouldClose: closeDropdown, cta: React.createElement(Container, { className: classNames.container, onClick: toggleShouldShowDropdown },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(MainIcon, { color: colors.neutral.ink.base, name: \"downArrow\", shouldShow: shouldShowDropdown })) },\n React.createElement(Content, null,\n React.createElement(Header, { color: fill },\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Grid = styled(BaseContainer).withConfig({ displayName: \"vui--Grid\", componentId: \"vui--kz0fa5\" }) `display:grid;grid-template-columns:repeat(${({ columns }) => columns}, 1fr);grid-gap:${({ spacing = 'base' }) => (spacing ? sizes[spacing] : 0)};`;\n//# sourceMappingURL=index.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--zx358v\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--b3uukr\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--1x57v09\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--7k8es9\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import React from 'react';\nimport { CalanderIcon } from '../../../tempIcons/CalendarIcon';\nimport { FailIcon } from '../../../tempIcons/FailIcon';\nconst iconSize = { width: 64, height: 64 };\nexport const defaultEmptyState = {\n icon: React.createElement(CalanderIcon, Object.assign({}, iconSize)),\n title: 'No data found',\n};\nexport const defaultErrorState = {\n icon: React.createElement(FailIcon, Object.assign({}, iconSize)),\n title: 'An error occurred when creating the table',\n subTitle: \"Please, try reloading the page once. If this doesn't solve the problem, contact support\",\n};\nexport var ScrollPosition;\n(function (ScrollPosition) {\n ScrollPosition[\"start\"] = \"start\";\n ScrollPosition[\"middle\"] = \"middle\";\n ScrollPosition[\"end\"] = \"End\";\n ScrollPosition[\"none\"] = \"none\";\n})(ScrollPosition || (ScrollPosition = {}));\n//# sourceMappingURL=constants.js.map","import React from 'react';\nexport const CalanderIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M18.3333 5.7H17.5V4H15.8333V5.7H9.16667V4H7.5V5.7H6.66667C5.74167 5.7 5.00833 6.465 5.00833 7.4L5 19.3C5 20.235 5.74167 21 6.66667 21H18.3333C19.25 21 20 20.235 20 19.3V7.4C20 6.465 19.25 5.7 18.3333 5.7ZM10.0002 11.65H8.3335V13.35H10.0002V11.65ZM13.3332 11.65H11.6665V13.35H13.3332V11.65ZM15 11.65H16.6667V13.35H15V11.65ZM6.6665 19.3H18.3332V9.94998H6.6665V19.3Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CalendarIcon.js.map","import React from 'react';\nexport const FailIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12.0001 20.1818C16.5187 20.1818 20.1819 16.5187 20.1819 12C20.1819 7.4813 16.5187 3.81818 12.0001 3.81818C7.48136 3.81818 3.81824 7.4813 3.81824 12C3.81824 16.5187 7.48136 20.1818 12.0001 20.1818ZM16.3536 8.80575L13.1593 12L16.3536 15.1943L15.1943 16.3536L12 13.1593L8.80575 16.3536L7.64648 15.1943L10.8408 12L7.64648 8.80575L8.80575 7.64648L12 10.8408L15.1943 7.64648L16.3536 8.80575ZM8.80571 16L8.80575 16L12 12.8058L12 12.8057L8.80571 16ZM15.1943 16L15.1943 16L16 15.1943L16 15.1943L15.1943 16ZM16 8.80575L12.8058 12L12.8057 12L16 8.80571L16 8.80575Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=FailIcon.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { ScrollPosition } from './utils/constants';\nconst { text, sizes } = theme;\nconst { blue } = theme.colors.secondary;\nconst { grey } = theme.colors.neutral;\nconst { scrollbar } = theme.colors.system;\nconst fixedColumnShadow = `\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 30px;\n content: \"\";\n pointer-events: none;\n box-sizing: border-box;\n transition: box-shadow .3s;\n`;\nconst startFixedColumnShadow = `\n box-shadow: inset 10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nconst endFixedColumnShadow = `\n box-shadow: inset -10px 0 10px -8px rgb(0 0 0 / 25%);\n`;\nexport const TooltipContent = styled.div.withConfig({ displayName: \"vui--TooltipContent\", componentId: \"vui--6b6999\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--8prdgq\" }) `width:100%;overflow-x:${(props) => (props.scrollDisabled ? 'hidden' : 'auto')};overflow-y:hidden;position:relative;border-top:1px solid ${grey.dark};border-bottom:1px solid ${grey.dark};${({ showScrollbar }) => showScrollbar\n ? `\n scrollbar-width: auto;\n\n &::-webkit-scrollbar {\n margin-top: 10px;\n width: 6px;\n height: 6px;\n }\n \n &::-webkit-scrollbar-track {\n background: ${scrollbar.background}; \n }\n \n &::-webkit-scrollbar-thumb {\n background: ${scrollbar.thumb};\n border-radius: 4px; \n }\n `\n : ''} ${({ scrollDisabled, lastStartFixedColumnsIndex, firstEndFixedColumnsIndex, scrollPosition }) => scrollDisabled\n ? ''\n : `\n td:nth-child(${lastStartFixedColumnsIndex}):after,\n th:nth-child(${lastStartFixedColumnsIndex}):after {\n right: 0;\n transform: translate(100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.middle || scrollPosition === ScrollPosition.end\n ? startFixedColumnShadow\n : ''};\n };\n\n td:nth-last-child(${firstEndFixedColumnsIndex}):after,\n th:nth-last-child(${firstEndFixedColumnsIndex}):after {\n left: 0;\n transform: translate(-100%);\n ${fixedColumnShadow};\n\n ${scrollPosition === ScrollPosition.start || scrollPosition === ScrollPosition.middle\n ? endFixedColumnShadow\n : ''};\n };\n `}`;\nexport const WrapperBordered = styled(Wrapper).withConfig({ displayName: \"vui--WrapperBordered\", componentId: \"vui--1uzcmg4\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--tbv1ab\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--1f7jdxq\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& + & > tr:first-child > td{border-top:1px solid ${grey.base};}tr:not(:first-child)> td{border-top:1px solid transparent;}&&& tr:hover td{background-color:#ebf4fb;}`;\nexport const Foot = styled.tfoot.withConfig({ displayName: \"vui--Foot\", componentId: \"vui--1ug6bgl\" }) `& td{background-color:${grey.lightest};padding:1.5rem 1rem;border-top:1px solid ${blue.base};}`;\nexport const Row = styled.tr.withConfig({ displayName: \"vui--Row\", componentId: \"vui--ostkmy\" }) `&.hidden{visibility:collapse;}${({ accentColor }) => accentColor &&\n `\n & > td:first-child::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background-color: ${accentColor}; \n }\n `}`;\nexport const Cell = styled.td.withConfig({ displayName: \"vui--Cell\", componentId: \"vui--9fl65z\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};width:${({ grow }) => (grow ? '100%' : 'auto')};& > *{vertical-align:middle;}`;\nexport const HeaderCell = styled(Cell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--HeaderCell\", componentId: \"vui--1mc579o\" }) `user-select:none;border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};& span{white-space:pre-line;}&.sortable:hover{cursor:pointer;background-color:${grey.light};}`;\nconst alignmentMap = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\nexport const HeaderCellLayout = styled.div.withConfig({ displayName: \"vui--HeaderCellLayout\", componentId: \"vui--iko9ux\" }) `display:flex;align-items:center;justify-content:${({ align }) => (align ? alignmentMap[align] : 'flex-start')};& > * + *{margin-left:0.25rem;}`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--1vjqk2m\" }) `width:100%;border-spacing:0;table-layout:${({ isFixedLayout }) => (isFixedLayout ? 'fixed' : 'auto')};${({ striped }) => striped &&\n `\n & ${Body}:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `} & *{box-sizing:border-box;${({ tableLoading }) => tableLoading &&\n `\n user-select: none;\n pointer-events: none;\n `}}${({ noWrap }) => noWrap &&\n `\n & ${HeaderCell}, & ${HeaderCell} span {\n white-space: nowrap;\n }\n `}`;\nexport const Footer = styled.tfoot.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--ob9m7j\" }) `tr{${({ fixedColumnsStyle }) => fixedColumnsStyle};}& ${Cell}{border-top:1px solid ${grey.dark};background-color:${grey.lightest};padding-top:${sizes.base};padding-bottom:${sizes.base};line-height:2rem;}`;\nexport const StickyHeaderWrapper = styled.div.withConfig({ displayName: \"vui--StickyHeaderWrapper\", componentId: \"vui--5eqa3f\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--48b34o\" }) ``;\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nconst SpecificStateContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SpecificStateContainer\", componentId: \"vui--120wsfh\" }) `display:flex;flex-direction:column;justify-content:center;align-items:center;height:${(props) => props.height}px;background:white;`;\nconst EllipseContainer = styled(BaseContainer).withConfig({ displayName: \"vui--EllipseContainer\", componentId: \"vui--1khxo3q\" }) `display:flex;justify-content:center;align-items:center;width:120px;height:120px;border-radius:100px;background:${theme.colors.neutral.grey.base};svg{width:64px !important;height:64px !important;}`;\nconst TitleText = styled(Text).withConfig({ displayName: \"vui--TitleText\", componentId: \"vui--3cvjfj\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--mw0wkw\" }) `margin-top:8px;`;\nexport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { SpecificStateContainer, EllipseContainer, TitleText, SubTitleText } from './styled';\nexport const SpecificState = ({ height, icon, title, subTitle }) => (React.createElement(SpecificStateContainer, { height: height },\n React.createElement(EllipseContainer, null, icon),\n React.createElement(TitleText, { variant: \"headingLarge\" }, title),\n subTitle && React.createElement(SubTitleText, { variant: \"subheadingMedium\" }, subTitle)));\n//# sourceMappingURL=SpecificState.js.map","/* eslint-disable import/prefer-default-export */\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nexport const CellButton = styled.button.withConfig({ displayName: \"vui--CellButton\", componentId: \"vui--14e2rl4\" }) `appearance:none;border:0;background-color:transparent;font:inherit;display:inline-block;box-sizing:border-box;width:calc(100% + 1.5rem);margin:-0.75rem -0.75rem;padding:0.75rem 0.75rem;text-align:inherit;line-height:${theme.sizes.base};border-radius:${theme.radius.base};&:hover{cursor:pointer;background-color:${theme.colors.secondary.blue.lightest};}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst ClickableButton = styled(CellButton).withConfig({ displayName: \"vui--ClickableButton\", componentId: \"vui--1qfw372\" }) `color:${theme.text.link.color};text-decoration:${theme.text.link.textDecoration};`;\nexport const ClickableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(ClickableButton, { onClick: onClick }, children)));\n};\n//# sourceMappingURL=ClickableCell.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CellButton } from './styled';\nimport { Cell } from '../styled';\nconst Content = styled.div.withConfig({ displayName: \"vui--Content\", componentId: \"vui--1fqu167\" }) `text-align:inherit;border-bottom:1px dotted black;`;\nexport const EditableCell = (_a) => {\n var { onClick, children } = _a, otherProps = __rest(_a, [\"onClick\", \"children\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(CellButton, { onClick: onClick },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=EditableCell.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../../theme';\nconst { grey } = theme.colors.neutral;\nconst SkeletonContentWrapper = styled.div.withConfig({ displayName: \"vui--SkeletonContentWrapper\", componentId: \"vui--q4n9vc\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--yfc89o\" }) `display:inline-block;color:transparent;border-radius:4px;animation-duration:${({ isLoading = true }) => (isLoading ? '1s' : 0)};animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(to right, ${grey.base} 8%, ${grey.dark} 15%, ${grey.base} 33%);background-size:800px 104px;border:0;width:100%;height:100%;@keyframes placeHolderShimmer{0%{background-position:-380px 0;}100%{background-position:380px 0;}}`;\nexport const SkeletonContent = ({ isLoading, style }) => (React.createElement(SkeletonContentWrapper, { style: style },\n React.createElement(SkeletonContentComponent, { isLoading: isLoading })));\n//# sourceMappingURL=SkeletonContent.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { Cell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonCell = (_a) => {\n var { style } = _a, otherProps = __rest(_a, [\"style\"]);\n return (React.createElement(Cell, Object.assign({}, otherProps),\n React.createElement(SkeletonContent, { style: style })));\n};\nSkeletonCell.defaultProps = {\n style: {},\n};\n//# sourceMappingURL=SkeletonCell.js.map","import { useCallback, useEffect, useState } from 'react';\nexport const useStickyHeader = (tableRef, topOffset) => {\n const [isSticky, setIsSticky] = useState(false);\n const handleScrollChange = useCallback(({ top, bottom }) => {\n let sticky = isSticky;\n if (top <= (topOffset || 0) && bottom > 0) {\n sticky = !isSticky ? true : sticky;\n }\n else {\n sticky = isSticky ? false : sticky;\n }\n if (sticky !== isSticky)\n setIsSticky(sticky);\n }, [isSticky, topOffset]);\n useEffect(() => {\n const onScroll = () => {\n var _a;\n if (tableRef.current) {\n handleScrollChange((_a = tableRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect());\n }\n };\n window.addEventListener('scroll', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n };\n }, [handleScrollChange, tableRef]);\n return { isSticky };\n};\n//# sourceMappingURL=hooks.js.map","import React, { useState } from 'react';\nimport { useScroll } from 'react-use';\nimport { FakeHeaderTable, StickyHeaderWrapper } from './styled';\nimport { useStickyHeader } from './utils/hooks';\nexport const StickyHeader = ({ renderHeader, tableRef, wrapperRef, isFixedLayout, wrapperStyle, }) => {\n var _a;\n const [headerWrapperRef, setHeaderWrapperRef] = useState(null);\n const { isSticky } = useStickyHeader(tableRef, parseInt(typeof (wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top) === 'string' ? wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top : `${wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.top}`, 10));\n // here we use 2, because we also have borders on each side by 1 px\n const wrapperWidth = (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0) - 2;\n // we use it just to re-render header to update scroll\n // so we don't need to get any value from this hook\n useScroll(wrapperRef);\n const updateScroll = (ref) => {\n var _a;\n const scrollLeft = ((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.scrollLeft) || 0;\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.scrollLeft = scrollLeft;\n return;\n }\n if (headerWrapperRef)\n headerWrapperRef.scrollLeft = scrollLeft;\n };\n updateScroll();\n return isSticky ? (React.createElement(StickyHeaderWrapper, { ref: (ref) => {\n setHeaderWrapperRef(ref);\n updateScroll(ref);\n }, style: Object.assign({ width: wrapperWidth }, wrapperStyle) },\n React.createElement(FakeHeaderTable, { style: { tableLayout: isFixedLayout ? 'fixed' : 'auto' } }, renderHeader()))) : null;\n};\n//# sourceMappingURL=StickyHeader.js.map","export const convertFixedColumnInlineStyleToStyled = (fixedColumnsStyle) => {\n const styles = [];\n fixedColumnsStyle.forEach(({ index, style }) => styles.push(`\n > td:${style.left !== undefined ? 'nth-child' : 'nth-last-child'}(${Math.abs(index)}) {\n position: sticky;\n ${style.left !== undefined ? 'left' : 'right'}: ${style.left !== undefined ? style.left : style.right}px;\n z-index: ${style.zIndex};\n }\n `));\n return styles.join('\\n\\n');\n};\n//# sourceMappingURL=index.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { HeaderCell } from '../styled';\nimport { SkeletonContent } from '../SkeletonContent';\nexport const SkeletonHeaderCell = (_a) => {\n var { style, width, isLoading } = _a, otherProps = __rest(_a, [\"style\", \"width\", \"isLoading\"]);\n return (React.createElement(HeaderCell, Object.assign({}, otherProps, { style: { width } }),\n React.createElement(SkeletonContent, { style: style, isLoading: isLoading })));\n};\n//# sourceMappingURL=SkeletonHeaderCell.js.map","import React from 'react';\nexport const DoubleArrowAscIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#959FA8\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#0079D1\" })));\n//# sourceMappingURL=DoubleArrowAscIcon.js.map","import React from 'react';\nexport const DoubleArrowDescIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5 10L8 13L11 10H5Z\", fill: \"#0079D1\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 6L8 3L5 6L11 6Z\", fill: \"#959FA8\" })));\n//# sourceMappingURL=DoubleArrowDescIcon.js.map","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { Checkbox } from '../Checkbox';\nimport { Radio } from '../Radio';\nimport { Tooltip } from '../Tooltip';\nimport { theme } from '../../theme';\nimport { Wrapper, WrapperBordered, Table, Head, Body, Row, Cell, HeaderCell, HeaderCellLayout, Footer, TooltipContent, } from './styled';\nimport { SpecificState } from './SpecificState';\nimport { ClickableCell, EditableCell } from './cells';\nimport { SkeletonCell } from './cells/SkeletonCell';\nimport { defaultEmptyState, defaultErrorState, ScrollPosition } from './utils/constants';\nimport { StickyHeader } from './StickyHeader';\nimport { convertFixedColumnInlineStyleToStyled } from './utils';\nimport { SkeletonHeaderCell } from './cells/SkeletonHeaderCell';\nimport { SkeletonContent } from './SkeletonContent';\nimport { DoubleArrowIcon } from '../../tempIcons/DoubleArrowIconIcon';\nimport { DoubleArrowAscIcon } from '../../tempIcons/DoubleArrowAscIcon';\nimport { DoubleArrowDescIcon } from '../../tempIcons/DoubleArrowDescIcon';\nexport const IconUnsorted = () => (React.createElement(DoubleArrowIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortAsc = () => (React.createElement(DoubleArrowAscIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\nexport const IconSortDesc = () => (React.createElement(DoubleArrowDescIcon, { width: theme.sizes.base, height: theme.sizes.base, color: \"lightgrey\" }));\n/**\n * @deprecated\n *\n * Use DataTable instead\n */\nexport const LegacyDataTable = ({ borderless = false, striped = true, noWrap = false, showScrollbar = false, headers, rows, renderRow, renderNestedRow, expandedRowIds, renderLoadingRow, renderFooterRow, renderFooterLoadingRow, omitFooterSelectionCell = false, selectedRowIds, disabledSelectionInputRowIds, selectionMode = 'multiple', onChangeSelectedRowIds, sortColumnId, sortDirection, onChangeSort, isError = false, isLoading = false, skeletonRowsNumber = 5, isHeaderSticky = true, stickyHeaderStyle, customSpecificState, bodyHeightInSpecificStates = 375, startFixedColumnsNumber, endFixedColumnsNumber, }) => {\n const WrapperComponent = borderless ? Wrapper : WrapperBordered;\n const isEmpty = rows ? rows.length === 0 : false;\n const isFixedLayout = Boolean(startFixedColumnsNumber || endFixedColumnsNumber);\n const isFixedColumnsNotEnabled = !startFixedColumnsNumber && !endFixedColumnsNumber;\n const tableRef = useRef(null);\n const wrapperRef = useRef(null);\n const selectionColumnWidth = 58;\n const [scrollPosition, setScrollPosition] = useState(ScrollPosition.none);\n useEffect(() => {\n var _a;\n let refValue = null;\n const handleScroll = () => {\n if (!wrapperRef.current || isFixedColumnsNotEnabled)\n return;\n const el = wrapperRef.current;\n const scrollWidth = el.scrollWidth + 2; // 2 here is 2px which adds by border\n const { scrollLeft } = el;\n const { width } = el.getBoundingClientRect();\n const scrollValue = scrollLeft + width;\n if (scrollWidth === width)\n setScrollPosition(ScrollPosition.none);\n else if (scrollLeft === 0)\n setScrollPosition(ScrollPosition.start);\n else if (scrollLeft > 0 && scrollValue < scrollWidth)\n setScrollPosition(ScrollPosition.middle);\n else if (scrollValue === scrollWidth)\n setScrollPosition(ScrollPosition.end);\n };\n if (wrapperRef.current) {\n refValue = wrapperRef.current;\n handleScroll();\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll);\n }\n return () => {\n refValue === null || refValue === void 0 ? void 0 : refValue.removeEventListener('scroll', handleScroll);\n };\n }, [tableRef, isFixedColumnsNotEnabled]);\n const castWidthToNumber = useCallback((width) => {\n if (typeof width === 'string') {\n // eslint-disable-next-line no-console\n console.error(\"You can only use a numeric value in the 'width' property when you use fixed columns\");\n return null;\n }\n if (width === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"You should provide numeric value in the 'width' attribute in all fixed columns when you use fixed columns\");\n return null;\n }\n return width;\n }, []);\n const generateFixedColumnInlineStyle = useCallback((index, offset, side) => ({\n index: side === 'left' ? index : -index,\n style: {\n position: 'sticky',\n [side]: offset,\n zIndex: 1,\n },\n }), []);\n const generateFixedColumnsStyle = useCallback(() => {\n if (!headers || isLoading)\n return null;\n const startColumns = [];\n const endColumns = [];\n let totalStartOffset = 0;\n let totalEndOffset = 0;\n if (startFixedColumnsNumber) {\n if (selectedRowIds) {\n startColumns.push(generateFixedColumnInlineStyle(1, totalStartOffset, 'left'));\n totalStartOffset += selectionColumnWidth;\n }\n for (let i = 0; i < startFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers[i].width);\n if (headerWidth) {\n startColumns.push(generateFixedColumnInlineStyle(selectedRowIds ? i + 2 : i + 1, totalStartOffset, 'left'));\n totalStartOffset += headerWidth;\n }\n }\n }\n if (endFixedColumnsNumber) {\n for (let i = 0; i < endFixedColumnsNumber; i += 1) {\n const headerWidth = castWidthToNumber(headers.slice(-i - 1)[0].width);\n if (headerWidth) {\n endColumns.push(generateFixedColumnInlineStyle(i + 1, totalEndOffset, 'right'));\n totalEndOffset += headerWidth;\n }\n }\n }\n if (startColumns.length === 0 && endColumns.length === 0)\n return null;\n return [...startColumns, ...endColumns];\n }, [\n isLoading,\n castWidthToNumber,\n endFixedColumnsNumber,\n generateFixedColumnInlineStyle,\n headers,\n startFixedColumnsNumber,\n selectedRowIds,\n ]);\n const fixedColumnsStyle = useMemo(() => generateFixedColumnsStyle(), [generateFixedColumnsStyle]);\n const handleSelectRow = useCallback((checked, row) => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (checked) {\n if (selectionMode === 'single') {\n onChangeSelectedRowIds([row.id]);\n return;\n }\n onChangeSelectedRowIds([...selectedRowIds, row.id]);\n return;\n }\n const newSelectedRowIds = [...selectedRowIds];\n const index = newSelectedRowIds.findIndex((id) => id === row.id);\n newSelectedRowIds.splice(index, 1);\n onChangeSelectedRowIds(newSelectedRowIds);\n }, [onChangeSelectedRowIds, selectedRowIds, selectionMode]);\n const handleSelectAll = useCallback(() => {\n if (!selectedRowIds || !onChangeSelectedRowIds)\n return;\n if (selectedRowIds.length === rows.length) {\n onChangeSelectedRowIds([]);\n return;\n }\n const rowIds = rows.map((row) => row.id);\n onChangeSelectedRowIds(rowIds);\n }, [onChangeSelectedRowIds, rows, selectedRowIds]);\n const handleClickSortableHeader = useCallback((columnId) => {\n if (sortColumnId === undefined || onChangeSort === undefined)\n return;\n let nextColumnId = sortColumnId;\n let nextDirection = 'ascending';\n if (sortDirection === 'ascending') {\n nextDirection = 'descending';\n }\n if (columnId !== sortColumnId) {\n nextColumnId = columnId;\n nextDirection = 'ascending';\n }\n onChangeSort(nextColumnId, nextDirection);\n }, [onChangeSort, sortColumnId, sortDirection]);\n const renderHeaderCell = useCallback((header, style) => {\n let className = '';\n let onClick = () => { };\n let sortIcon = React.createElement(IconUnsorted, null);\n const { tooltip, align, icon, title, sortable, id } = header;\n if (sortable) {\n className = 'sortable';\n onClick = () => handleClickSortableHeader(id);\n if (sortColumnId === id) {\n sortIcon = sortDirection === 'ascending' ? React.createElement(IconSortAsc, null) : React.createElement(IconSortDesc, null);\n }\n }\n const headerContents = (React.createElement(HeaderCellLayout, { align: align },\n icon && icon,\n title && React.createElement(\"span\", null, title),\n sortable && sortIcon));\n return (React.createElement(HeaderCell, { key: id, id: `data-table-header-${id}`, className: className, onClick: onClick, align: header.align, grow: header.grow, style: Object.assign({ width: header.width || 'auto' }, style) }, tooltip ? (React.createElement(Tooltip, { text: tooltip },\n React.createElement(TooltipContent, null, headerContents))) : (headerContents)));\n }, [handleClickSortableHeader, sortColumnId, sortDirection]);\n const renderSkeletonHeaderCell = useCallback((header, style) => (React.createElement(SkeletonHeaderCell, { key: header.id, width: header.width || 'auto', style: style, isLoading: isLoading })), [isLoading]);\n const renderHeader = useCallback(() => {\n if (!headers)\n return null;\n const styles = generateFixedColumnsStyle();\n const selectionCellStyle = styles ? styles[0].style : {};\n return (React.createElement(Head, null,\n React.createElement(Row, null,\n selectedRowIds && (React.createElement(HeaderCell, { style: Object.assign({ width: selectionColumnWidth }, selectionCellStyle) }, selectionMode === 'multiple' && (React.createElement(Checkbox, { checked: (rows.length > 0 && (selectedRowIds === null || selectedRowIds === void 0 ? void 0 : selectedRowIds.length) === rows.length) || false, onChange: handleSelectAll, disabled: (disabledSelectionInputRowIds && disabledSelectionInputRowIds.length > 0) ||\n isLoading ||\n isEmpty, ariaLabel: \"Select all\" })))),\n headers.map((header, index) => {\n const startHeaderIndex = selectedRowIds ? index + 2 : index + 1;\n const endHeaderIndex = index - headers.length;\n const headerCellStyle = styles === null || styles === void 0 ? void 0 : styles.find((style) => style.index === startHeaderIndex || style.index === endHeaderIndex);\n return header.skeleton && (isLoading || isError || isEmpty)\n ? renderSkeletonHeaderCell(header, header.skeletonStyle || {})\n : renderHeaderCell(header, (headerCellStyle === null || headerCellStyle === void 0 ? void 0 : headerCellStyle.style) || {});\n }))));\n }, [\n generateFixedColumnsStyle,\n handleSelectAll,\n headers,\n isEmpty,\n isError,\n isLoading,\n renderSkeletonHeaderCell,\n renderHeaderCell,\n rows.length,\n selectedRowIds,\n selectionMode,\n disabledSelectionInputRowIds,\n ]);\n const renderSelectionInput = useCallback((isSelected, row) => {\n const inputProps = {\n checked: isSelected,\n onChange: (checked) => handleSelectRow(checked, row),\n disabled: (disabledSelectionInputRowIds === null || disabledSelectionInputRowIds === void 0 ? void 0 : disabledSelectionInputRowIds.includes(row.id)) || false,\n };\n if (selectionMode === 'single') {\n return React.createElement(Radio, Object.assign({}, inputProps));\n }\n return React.createElement(Checkbox, Object.assign({}, inputProps));\n }, [handleSelectRow, selectionMode, disabledSelectionInputRowIds]);\n const renderSkeletonSelectionInput = useCallback((rowIndex) => {\n const generalStyle = {\n width: 18,\n height: 18,\n margin: 3,\n animationDuration: '0s',\n };\n if (selectionMode === 'single') {\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `radio-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '50%' }) }));\n }\n return (React.createElement(SkeletonCell, { key: rowIndex === undefined ? null : `checkbox-skeleton-${rowIndex}`, style: Object.assign(Object.assign({}, generalStyle), { borderRadius: '0.25rem' }) }));\n }, [selectionMode]);\n const getNestedRow = useCallback((nestedRow, isHidden) => {\n var _a, _b;\n if (!renderNestedRow)\n return null;\n const content = renderNestedRow(nestedRow);\n if (!content)\n return null;\n const nestedRowE2eClassName = ((_b = (_a = nestedRow === null || nestedRow === void 0 ? void 0 : nestedRow.data) === null || _a === void 0 ? void 0 : _a.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) || '';\n return (React.createElement(Row, { key: nestedRow.id, className: `${nestedRowE2eClassName} ${isHidden ? 'hidden' : ''}` },\n selectedRowIds && React.createElement(Cell, null),\n content));\n }, [renderNestedRow, selectedRowIds]);\n const renderDefaultLoadingRow = useCallback((rowIndex) => {\n if (!headers)\n return React.createElement(SkeletonCell, null);\n // Otherwise render a cell for each column\n const cells = headers.map((header) => React.createElement(SkeletonCell, { key: `${rowIndex}-${header.id}` }));\n if (selectedRowIds)\n cells.unshift(renderSkeletonSelectionInput(rowIndex));\n return cells;\n }, [headers, renderSkeletonSelectionInput, selectedRowIds]);\n const getFooter = () => {\n if (!renderFooterRow)\n return null;\n if (isLoading && !renderFooterLoadingRow)\n return null;\n if (!isLoading && isEmpty)\n return null;\n return (React.createElement(Footer, { fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null,\n selectedRowIds && !omitFooterSelectionCell && React.createElement(Cell, null),\n !isLoading && renderFooterRow(rows),\n isLoading && renderFooterLoadingRow && renderFooterLoadingRow())));\n };\n let lastStartFixedColumnsIndex = startFixedColumnsNumber;\n if (selectedRowIds && lastStartFixedColumnsIndex)\n lastStartFixedColumnsIndex += 1;\n const renderedRows = useMemo(() => rows.map((row) => {\n var _a, _b, _c;\n const { data } = row;\n const isSelected = selectedRowIds ? selectedRowIds.includes(row.id) : false;\n const isExpanded = expandedRowIds ? expandedRowIds.includes(row.id) : true;\n const bodyClassName = (_a = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _a === void 0 ? void 0 : _a.body;\n const rowE2eClassName = (_c = (_b = data === null || data === void 0 ? void 0 : data.e2eClassNames) === null || _b === void 0 ? void 0 : _b.row) !== null && _c !== void 0 ? _c : '';\n const rowClassName = isSelected ? `selected ${rowE2eClassName}` : `${rowE2eClassName}`;\n return (React.createElement(Body, { key: row.id, className: bodyClassName, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, { key: row.id, className: rowClassName, accentColor: row.accentColor },\n selectedRowIds && React.createElement(Cell, null, renderSelectionInput(isSelected, row)),\n renderRow(row)),\n row.nestedRows && row.nestedRows.map((item) => getNestedRow(item, !isExpanded))));\n }), [\n rows,\n expandedRowIds,\n fixedColumnsStyle,\n getNestedRow,\n renderRow,\n renderSelectionInput,\n selectedRowIds,\n ]);\n /* Loading state */\n if (isLoading) {\n const loadingRows = [];\n for (let i = 0; i < skeletonRowsNumber; i += 1) {\n loadingRows.push(React.createElement(Body, { key: `loading-row-${i}`, fixedColumnsStyle: convertFixedColumnInlineStyleToStyled(fixedColumnsStyle || []) },\n React.createElement(Row, null, renderLoadingRow ? (React.createElement(React.Fragment, null,\n selectedRowIds && renderSkeletonSelectionInput(),\n renderLoadingRow())) : (renderDefaultLoadingRow(i)))));\n }\n return (React.createElement(WrapperComponent, { ref: wrapperRef, scrollDisabled: true, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: true, isFixedLayout: isFixedLayout },\n renderHeader(),\n loadingRows,\n getFooter())));\n }\n /* Empty & Error states */\n if (isEmpty || isError) {\n let specificStateValues = defaultEmptyState;\n if (customSpecificState)\n specificStateValues = customSpecificState;\n else if (isError)\n specificStateValues = defaultErrorState;\n return (React.createElement(WrapperComponent, { scrollDisabled: true },\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n getFooter()),\n React.createElement(SpecificState, Object.assign({ height: bodyHeightInSpecificStates }, specificStateValues))));\n }\n /* Populated state */\n return (React.createElement(WrapperComponent, { scrollDisabled: false, ref: wrapperRef, scrollPosition: scrollPosition, lastStartFixedColumnsIndex: lastStartFixedColumnsIndex, firstEndFixedColumnsIndex: endFixedColumnsNumber, showScrollbar: showScrollbar },\n isHeaderSticky && headers && (React.createElement(StickyHeader, { renderHeader: renderHeader, tableRef: tableRef, wrapperRef: wrapperRef, isFixedLayout: isFixedLayout, wrapperStyle: stickyHeaderStyle })),\n React.createElement(Table, { ref: tableRef, striped: striped, noWrap: noWrap, tableLoading: false, isFixedLayout: isFixedLayout },\n renderHeader(),\n renderedRows,\n getFooter())));\n};\nLegacyDataTable.Cell = Cell;\nLegacyDataTable.ClickableCell = ClickableCell;\nLegacyDataTable.EditableCell = EditableCell;\nLegacyDataTable.SkeletonCell = SkeletonCell;\nLegacyDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=LegacyDataTable.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--wl2n5a\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--or7d\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--hfuefb\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nconst { sizes, text, shadows } = theme;\nconst { grey } = theme.colors.neutral;\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--q2h2v8\" }) `padding:${sizes.base} ${sizes.md};background-color:white;box-shadow:${({ shadow }) => shadow !== 'none' && shadows[shadow]};`;\nexport const Title = styled.h1.withConfig({ displayName: \"vui--Title\", componentId: \"vui--7ymyy4\" }) `font-family:${text.headingXL.fontFamily};font-size:${text.headingXL.fontSize};font-weight:${text.headingXL.fontWeight};margin:unset;line-height:1;`;\nexport const Subtitle = styled.p.withConfig({ displayName: \"vui--Subtitle\", componentId: \"vui--1veavxl\" }) `margin:0.75rem 0 0;font-family:${text.subheadingLarge.fontFamily};font-weight:${text.subheadingLarge.fontWeight};font-size:${text.subheadingLarge.fontSize};line-height:${text.subheadingLarge.lineHeight};`;\nexport const Image = styled.img.withConfig({ displayName: \"vui--Image\", componentId: \"vui--1fntac3\" }) `border-radius:${theme.radius.base};border:${sizes.line} solid ${grey.base};object-fit:cover;`;\nexport const ActionsContainer = styled.div.withConfig({ displayName: \"vui--ActionsContainer\", componentId: \"vui--4ms240\" }) `height:100%;display:grid;grid-template-rows:1fr auto;gap:1rem;`;\nexport const SidebarToggleButton = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--SidebarToggleButton\", componentId: \"vui--1e4sfso\" }) `display:flex;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};color:${theme.text.link.color};&:hover{text-decoration:${theme.text.link.textDecoration};}& > * + *{margin-left:${theme.sizes.xs};}`;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--498dtg\" }) `width:100%;display:grid;grid-template-columns:1fr minmax(312px, auto);align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { ActionList } from '../ActionList';\nimport { Button } from '../Button';\nimport { Header, Title, Subtitle, Image, ActionsContainer, SidebarToggleButton, ColumnGrid, } from './styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const PageHeader = ({ title, subtitle, imageSrc, actions, quickActions, backAction, Accessory, shadow = 'none', onClickPrevious, onClickNext, onClickToggleSidebar, }) => {\n const actionsMarkup = actions && (React.createElement(ActionList, { buttonVariant: !quickActions ? 'primary' : 'default', title: \"Actions\", sections: actions }));\n const quickActionsMarkup = quickActions === null || quickActions === void 0 ? void 0 : quickActions.map((action) => (React.createElement(Button, { key: action.title, variant: action.variant, icon: action.icon, onClick: action.onClick }, action.title)));\n const backActionMarkup = backAction && (React.createElement(Button, { onClick: backAction.onClick, icon: React.createElement(LeftArrowIcon, null), variant: \"link\" }, backAction.title));\n const toggleSidebarMarkup = onClickToggleSidebar && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\" },\n React.createElement(SidebarToggleButton, { onClick: onClickToggleSidebar },\n React.createElement(\"span\", null, \"Toggle sidebar\"),\n React.createElement(RightArrowIcon, { width: sizes.md }))));\n return (React.createElement(Header, { shadow: shadow },\n React.createElement(Stack, null,\n backActionMarkup,\n React.createElement(ColumnGrid, null,\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"md\" },\n imageSrc && React.createElement(Image, { src: imageSrc, alt: \"\", width: \"72\", height: \"72\" }),\n React.createElement(\"div\", { style: { flex: 1 } },\n React.createElement(Stack, { alignX: \"stretch\" },\n React.createElement(Title, null, title),\n Accessory,\n subtitle && React.createElement(Subtitle, null, subtitle)))),\n React.createElement(ActionsContainer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: \"sm\" },\n quickActionsMarkup,\n actionsMarkup,\n onClickPrevious && React.createElement(Button, { icon: React.createElement(LeftArrowIcon, null), onClick: onClickPrevious }),\n onClickNext && React.createElement(Button, { icon: React.createElement(RightArrowIcon, null), onClick: onClickNext })),\n toggleSidebarMarkup)))));\n};\n//# sourceMappingURL=PageHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nexport const PageLimitContainer = styled(Stack).withConfig({ displayName: \"vui--PageLimitContainer\", componentId: \"vui--1psd9g8\" }) `width:${theme.sizes.lg};height:30px;background-color:${theme.colors.neutral.grey.light};border:1px solid ${theme.colors.neutral.grey.base};border-radius:${theme.sizes.xs};`;\nexport const PaginationButton = styled(Button).withConfig({ displayName: \"vui--PaginationButton\", componentId: \"vui--oolvks\" }) `color:${theme.colors.neutral.ink.base};width:32px;height:32px;svg{width:24px;height:24px;}`;\nexport const PageInput = styled(TextField).withConfig({ displayName: \"vui--PageInput\", componentId: \"vui--jjraff\" }) `&[type='number']{width:5.5ch;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { PageLimitContainer } from './styled';\nexport const PageCount = ({ count }) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", null,\n React.createElement(Text, { variant: \"bodySmall\", \"aria-hidden\": true }, \"/\")),\n React.createElement(PageLimitContainer, { alignX: \"center\", alignY: \"center\", \"aria-hidden\": true },\n React.createElement(Text, { variant: \"bodySmall\" }, count))));\n//# sourceMappingURL=components.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to handle pagination state.\n */\nexport const usePagination = ({ currentPage, totalPagesCount, handleChangePage, }) => {\n const [pageInputValue, setPageInputValue] = useState(`${currentPage}`);\n /**\n * When a new value is passed into the component we update the local state, meaning the input\n * value gets updated.\n */\n useEffect(() => {\n setPageInputValue(`${currentPage}`);\n }, [currentPage]);\n const validatePageValue = (value) => value >= 1 && value <= totalPagesCount;\n const checkAndSetLocalPage = (newPage) => {\n if (validatePageValue(newPage))\n setPageInputValue(`${newPage}`);\n };\n /**\n * A function to handle changes to the input, a string will be passed int. We check for an empty\n * string and directly set that, otherwise we validate the input number is within range.\n * @param newValue The new string input value.\n */\n const handleInputChange = (newValue) => {\n if (!newValue)\n setPageInputValue(newValue);\n const intValue = parseInt(newValue, 10);\n checkAndSetLocalPage(intValue);\n };\n /**\n * A function to increment the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleIncrement = () => {\n if (validatePageValue(currentPage + 1))\n handleChangePage(currentPage + 1);\n };\n /**\n * A function to decrement the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleDecrement = () => {\n if (validatePageValue(currentPage - 1))\n handleChangePage(currentPage - 1);\n };\n /**\n * When the input is unfocussed we want to update parent or local state depending on 3 cases:\n * 1. Local page input is '', reset it to the currentPage\n * 2. Local page input is the same as passed by prop, catch and do nothing.\n * 3. Local state has a new value, convert it, validate it and potentially send to parent via\n * `handlePageChange`\n */\n const handleSubmit = () => {\n if (!pageInputValue)\n setPageInputValue(`${currentPage}`);\n if (pageInputValue === `${currentPage}`)\n return;\n const newValue = parseInt(pageInputValue, 10);\n if (validatePageValue(newValue))\n handleChangePage(newValue);\n };\n /**\n * When the user submits the form, either pressing enter or a screenreader shortcut we prevent\n * default action and try and send update.\n * @param event The event fired from the form when submitting.\n */\n const handleFormSubmit = (event) => {\n event.preventDefault();\n handleSubmit();\n };\n return {\n pageInputValue,\n handleIncrement,\n handleDecrement,\n handleInputChange,\n handleSubmit,\n handleFormSubmit,\n };\n};\n//# sourceMappingURL=usePagination.js.map","import React from 'react';\nexport const StartArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11.6434 11.06L8.59004 8L11.6434 4.94L10.7034 4L6.70337 8L10.7034 12L11.6434 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.37004 12L4.37004 4L5.70337 4L5.70337 12L4.37004 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=StartArrowIcon.js.map","import React from 'react';\nexport const EndArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.33661 11.06L7.38994 8L4.33661 4.94L5.27661 4L9.27661 8L5.27661 12L4.33661 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.67 4L11.67 12L10.3367 12L10.3367 4L11.67 4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EndArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","export const paginationDefaultRangeList = [\n { label: '10 / page', value: 10 },\n { label: '25 / page', value: 25 },\n { label: '50 / page', value: 50 },\n { label: '100 / page', value: 100 },\n];\n//# sourceMappingURL=paginationList.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1t222e4\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nexport { Container };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { colors } from '../../../../theme/modules/colors';\nimport { Text } from '../../../Text';\nimport { BaseContainer } from '../../../BaseContainer';\nimport { theme } from '../../../../theme';\nconst ItemButton = styled(BaseContainer).attrs({\n as: 'button',\n}).withConfig({ displayName: \"vui--ItemButton\", componentId: \"vui--1ibay0g\" }) `&:first-of-type{margin-top:2px;}border-radius:${theme.radius.sm};overflow:hidden;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;margin:0 2px 2px;border-radius:${theme.radius.sm};overflow:hidden;background:none;border:none;&:active,&:focus-visible{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};outline:none;}`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1oky5qu\" }) `width:100%;padding:8px 16px;cursor:pointer;&:hover{color:${colors.secondary.blue.base};background:${colors.neutral.grey.lightest};}`;\nexport { StyledText as Text, ItemButton };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { ItemButton, Text } from './styled';\nexport const Item = ({ item, handleRangeListChange }) => {\n const onClick = useCallback(() => handleRangeListChange(item), [handleRangeListChange, item]);\n return (React.createElement(ItemButton, { onClick: onClick },\n React.createElement(Text, { variant: \"body\" }, item.label.replace(/ /g, '\\u00A0'))));\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, { useEffect, useState } from 'react';\nimport { paginationDefaultRangeList } from '../../utils/paginationList';\nimport { Container } from './styled';\nimport { Items } from './Items';\nimport { Button } from '../Button';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nconst PAGINATION_DROPDOWN_ID = 'pagination-range-dropdown';\nexport const PaginationRange = ({ className, paginationRange = paginationDefaultRangeList, reversedDropdown, onPaginationRangeChange, dropdownValue: parentValue = paginationDefaultRangeList[1], }) => {\n const [dropdownValue, setDropdownValue] = useState(parentValue);\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const handleRangeListChange = (item) => {\n setShouldShowDropdown(false);\n setDropdownValue(item);\n onPaginationRangeChange(item);\n };\n const toggleShouldShow = () => setShouldShowDropdown((prevState) => !prevState);\n useEffect(() => {\n if (parentValue !== dropdownValue)\n setDropdownValue(parentValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parentValue]);\n return (React.createElement(Container, { className: className },\n React.createElement(AnimatedDropdown, { useAnchorWidth: true, id: PAGINATION_DROPDOWN_ID, cta: React.createElement(Button, { \"data-testid\": \"pagination-range\", onClick: toggleShouldShow, dropdown: true, size: \"sm\", \"aria-haspopup\": true, \"aria-controls\": PAGINATION_DROPDOWN_ID, \"aria-expanded\": shouldShowDropdown }, dropdownValue.label), shouldShowDropdown: shouldShowDropdown, onShouldClose: toggleShouldShow, reversed: reversedDropdown, placement: \"bottom-start\" },\n React.createElement(Items, { paginationRange: paginationRange, handleRangeListChange: handleRangeListChange }))));\n};\n//# sourceMappingURL=PaginationRange.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1kqph75\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--1myicuk\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--bdxre8\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--1pz53n4\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--1n3xr2g\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--1sahwox\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--1jvzatv\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--12eib7v\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--g7dno3\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = React.forwardRef(({ 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', style, }, ref) => {\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, { ref: ref, 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, style: style }),\n React.createElement(IconContainer, null, renderIcon())));\n});\n//# sourceMappingURL=Search.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--mxpi9o\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:focus,:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}}> .veeqo-components-active-button{:focus,:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1h93380\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef, useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels(forwardRef((_a, ref) => {\n var { className, options, value, onChange, size, disabled, hasError } = _a, otherProps = __rest(_a, [\"className\", \"options\", \"value\", \"onChange\", \"size\", \"disabled\", \"hasError\"]);\n const handleChange = useCallback((e) => {\n if (!onChange)\n return;\n onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value !== null && value !== void 0 ? value : undefined, onChange: handleChange, disabled: disabled, hasError: hasError, ref: ref }, otherProps), !!options &&\n options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled }, option.label)))));\n}));\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const ShortcutKeysContainer = styled.div.withConfig({ displayName: \"vui--ShortcutKeysContainer\", componentId: \"vui--jhvnbb\" }) `--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--y1tr49\" }) `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--1qepc31\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--g9tnvb\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--50l9ot\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--1o4t01c\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--k7q8ax\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--25ejag\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--s5qrf0\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--pvw1wx\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--19twtgm\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--1vb0w08\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--qsag0v\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--qrqt2g\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--f5gjtj\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--n3gc7q\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--12f8l37\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1qgwlso\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--10ka3tn\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1f7rwsl\" }) `&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.label.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--16c93z6\" }) `display:inline-block;position:relative;cursor:${({ disabled }) => (disabled ? 'default' : 'pointer')};height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--13u3unt\" }) `cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Input, Slider, Switch, Wrapper } from './styled';\n/**\n * A toggle switch component, use-cases should wrap with a label or\n */\nexport const Toggle = forwardRef(({ id, className, name, switched, small, onClick = () => { }, disabled, ariaLabel }, ref) => (React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, role: \"switch\" },\n React.createElement(Input, { id: id, type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: disabled ? undefined : onClick, disabled: disabled, ref: ref }),\n React.createElement(Slider, { switched: switched, disabled: disabled })))));\n//# sourceMappingURL=Toggle.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--xt3hiw\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import styled from 'styled-components';\nimport { 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--ljd9es\" }) `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};}}`;\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--2zjkq9\" }) `display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;`;\nexport const UploadedFilesListStack = styled(Stack).withConfig({ displayName: \"vui--UploadedFilesListStack\", componentId: \"vui--r41a54\" }) `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 }) => {\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\" })));\n};\n//# sourceMappingURL=UploadedFile.js.map","import 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(({ id, name, maxBytes = 1000000, format = FileSizeUnit.MB, fileTypes, label = 'Upload file', required, }, outerRef) => {\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 // 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)\n updateFiles(files);\n }, [updateFiles]);\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 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 return () => {\n ref === null || ref === void 0 ? void 0 : ref.removeEventListener('change', onInputChange);\n };\n }, [onInputChange]);\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\", { ref: inputRef, id: id, type: \"file\", accept: acceptedTypesForInputEl, name: name, required: required })))),\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" },\n React.createElement(UploadedFile, { file: file, resetSelection: resetSelection }),\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--5gocp5\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--p8qe4b\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1u28do5\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--ohq9qo\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--55zou\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--2rc7ks\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--m1gs4v\" }) `padding:14px 24px;`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--1ilv3bg\" }) `line-height:1;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--b8oq7f\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;${({ colourPalette, customTextColour }) => `\n &:hover {\n border: 1px solid ${colourPalette.base};\n background-color: ${colourPalette.lightest};\n }\n\n ${Text} {\n color: ${customTextColour !== null && customTextColour !== void 0 ? customTextColour : colors.neutral.ink.dark};\n }\n `} ${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.lightest};\n `}`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1xuhw17\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;${({ active, colourPalette }) => active &&\n `\n background-color: ${colourPalette.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: sizes.xs,\n padding: sizes.xs,\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport const CustomIconWrapper = styled.div.withConfig({ displayName: \"vui--CustomIconWrapper\", componentId: \"vui--122jw7g\" }) `display:flex;align-items:center;margin-right:${sizes.sm};svg{height:${sizes.base};width:${sizes.base};}`;\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const EditIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3 18.0418V21.9996H6.95778L18.6306 10.3273L14.6728 6.36952L3 18.0418ZM21.6913 7.2661C22.1029 6.85501 22.1029 6.19011 21.6913 5.7785L19.2216 3.30831C18.81 2.89723 18.1451 2.89723 17.7335 3.30831L15.8021 5.23971L19.7599 9.19749L21.6913 7.2661Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EditIcon.js.map","import React, { useCallback } from 'react';\nimport { useHover } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { ViewTypes } from './types';\nimport { Container, Contour, CounterContainer, CounterText, CustomIconWrapper, IconStyling, Text, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\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';\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--3am01d\" }) `line-height:1;`;\nconst ThreeDotsIconStyling = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--ThreeDotsIconStyling\", componentId: \"vui--1uc98sf\" }) ``;\nconst CrossIconStyling = styled(CrossIcon).withConfig({ displayName: \"vui--CrossIconStyling\", componentId: \"vui--1te682y\" }) ``;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--1giom5i\" }) `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--jegwey\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:8px 12px;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--176jtjf\" }) `padding:8px 12px;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--1omb2tl\" }) `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 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(({ id, iconSlot, name, type, className, colourPalette = colors.secondary.blue, customTextColour, count, active = false, onClick, subAction, ariaContext, }, ref) => {\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, { 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 },\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, { 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--1p01q6\" }) `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--jg3tdl\" }) `background-color:${colors.neutral.grey.lightest};`;\nexport const StyledLeftIcon = styled(LeftArrowIcon).withConfig({ displayName: \"vui--StyledLeftIcon\", componentId: \"vui--gdu1c8\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledRightIcon = styled(RightArrowIcon).withConfig({ displayName: \"vui--StyledRightIcon\", componentId: \"vui--tvozdf\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuIcon = styled(ThreeDotsIcon).withConfig({ displayName: \"vui--StyledMenuIcon\", componentId: \"vui--1vjvhoa\" }) `color:${colors.neutral.ink.base};`;\nexport const StyledMenuButton = styled(Button).withConfig({ displayName: \"vui--StyledMenuButton\", componentId: \"vui--q5etoj\" }) `background-color:white;&:hover{background-color:${colors.neutral.grey.lightest};}`;\nexport const StyledLeftButton = styled(Button).withConfig({ displayName: \"vui--StyledLeftButton\", componentId: \"vui--jo62ep\" }) `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--1yb1huw\" }) `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--1voa90\" }) `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 { createViewPositionArray, getNextViewPosition, getPrevViewPosition } from '../utils';\nexport const useSetScrollPosition = (containerRef, children) => {\n const [leftDisabled, setLeftDisabled] = useState(true);\n const [rightDisabled, setRightDisabled] = useState(false);\n const [viewStartPositions, setViewStartPositions] = useState([]);\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 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 if (!containerRef)\n return;\n if (children.length > viewStartPositions.length &&\n viewStartPositions.length > 0) {\n containerRef.current.scrollTo({\n left: containerRef.current.scrollWidth - containerRef.current.clientWidth,\n top: 0,\n behavior: 'smooth',\n });\n setViewStartPositions([\n ...viewStartPositions,\n viewStartPositions[viewStartPositions.length - 1] +\n containerRef.current.children[viewStartPositions.length].getBoundingClientRect().x -\n 20,\n ]);\n }\n if (viewStartPositions.length === 0) {\n setViewStartPositions(createViewPositionArray(containerRef.current));\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 }, [containerRef, children, handleResize, handleScroll, viewStartPositions]);\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--zood5u\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--f0y2wt\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1l16g0h\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--wvwega\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"ounce\", type: \"number\", value: rest.pound, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"pound\", type: \"number\", value: rest.ounce, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map"],"names":["BaseContainer","styled","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","shouldOpen","setShouldOpen","useState","open","onClick","animate","rotate","name","initial","opacity","exit","transition","from","type","duration","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","generateId","prefix","Math","floor","random","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","PopoverDialog","dialog","zIndex","Backdrop","buildClassnames","names","filter","Boolean","join","hexToRgb","hex","hexTmp","replace","m","r","g","b","result","exec","parseInt","getOpaqueHexColor","rgb","TABBABLE_SELECTORS","useHandleFocus","popperElement","anchorElement","onClose","disableFocusLock","shouldStealFocus","useEffect","focusableElements","querySelectorAll","setTimeout","focus","focusWithinPopper","event","key","shiftKey","stopPropagation","preventDefault","addEventListener","removeEventListener","handleKeyDown","firstElement","lastElement","activeElement","handleFocusTrap","Popover","_a","passedId","placement","onShouldClose","useAnchorWidth","supressWarnings","dialogProps","setPopperElement","styles","attributes","update","usePopper","useMemo","popoverId","hasAttribute","console","warn","_","useUpdateAriaAnchor","resizeObserver","ResizeObserver","observe","disconnect","window","ref","popper","width","clientWidth","onKeyDown","TailSpin","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","CommonAnchor","a","Anchor","href","target","Container","BasicContainer","Wrap","DropdownContainer","reversed","Dropdown","popoverProps","y","AnimatedDropdown","cta","shouldShowDropdown","onMouseEnter","onMouseLeave","anchorRef","setAnchorRef","cachedCTA","cloneElement","AnimatePresence","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","Sides","defaultConfig","side","TOP","triangleOffset","TooltipPopover","content","hoverableElement","config","withTriangle","classNames","usedConfig","modifiers","options","tooltipStyles","tip","triangleOffsetSize","wrap","triangle","Tooltip","initialShouldShow","useReactPortal","shouldShow","setShouldShow","setHoverableElement","trim","container","hoverable","hasContent","tooltipMarkup","ReactDOM","BaseBadge","hideBorder","warning","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","Separator","pathname","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","HelpIcon","Choice","hint","bordered","Accessory","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","checkboxRef","useRef","handleChange","useCallback","currentTarget","current","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","SuccessIcon","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","scrollPosition","visible","stripingMode","pinnedLeftStyles","index","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","DoubleArrowIcon","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","columnId","ascending","useCellWidths","tableRef","containerRef","setCellWidths","updateCellWidths","cells","widths","Array","cell","getBoundingClientRect","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","position","left","x","mouseMoveHandler","dx","clientX","scrollLeft","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useNested","expandedRowIds","setExpandedRowIds","nestedTableProps","setExpanded","rowId","rowIds","findIndex","splice","useScrollPosition","setScrollPosition","updateScrollPosition","scrollWidth","headerCellHeight","th","SelectionHeader","selectionMode","headerProps","Cell","td","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","selectedRowIds","setSelectedRowIds","toggleAllSelected","selectionColumn","renderHeader","column","renderCell","row","actions","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","onChangeSort","sortable","Error","toString","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","Content","ActionBar","intersectionTargetRef","isSticky","setIsSticky","intersectionObserver","IntersectionObserver","entries","forEach","entry","isIntersecting","containerRect","stickyPositionStyles","right","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","columnCount","EmptyBodyGlyphWrapper","NoWrap","tr","ScrollContainer","TableGrid","table","css","Truncate","borderModeStyles","vertical","borderMode","StickyHead","tableCss","stickyContainerRef","isVisible","setIsVisible","setContainerRect","updateContainerDimensions","targetRect","newRect","updateContainerScrollPosition","xScrollOffset","scrollTo","threshold","containerStyle","overflowX","overflowY","borderBottom","allCss","getRowState","disabledRowIds","InfoIcon","defaultEmptyState","heading","emptyAction","DataTable","ActionBarSlot","emptyState","loadingRowCount","rows","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","loadingRows","data","renderLoadingCell","subheading","renderRow","renderNestedRow","nestedRow","_b","nestedRowE2eClassName","e2eClassNames","renderNestedCell","renderSection","isExpanded","nestedRows","headersMarkup","shouldRenderFooter","some","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","defaultProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","columnIds","newColumns","border","padding","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","withDeprecated","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","newValue","RegExp","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","useClickOutside","isOpen","escapeListener","clickListener","contains","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","onScroll","scrollTop","useTabs","tabs","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","find","tab","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","isError","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","iconSize","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","middle","end","start","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","grow","HeaderCell","alignmentMap","HeaderCellLayout","Table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","StickyHeader","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","topOffset","handleScrollChange","bottom","sticky","useStickyHeader","wrapperWidth","useScroll","updateScroll","tableLayout","convertFixedColumnInlineStyleToStyled","push","abs","SkeletonHeaderCell","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","LegacyDataTable","borderless","headers","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","disabledSelectionInputRowIds","onChangeSelectedRowIds","sortColumnId","sortDirection","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","refValue","handleScroll","el","scrollValue","castWidthToNumber","generateFixedColumnInlineStyle","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","newSelectedRowIds","handleSelectAll","handleClickSortableHeader","nextColumnId","nextDirection","renderHeaderCell","sortIcon","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","margin","animationDuration","getNestedRow","isHidden","renderDefaultLoadingRow","unshift","getFooter","renderedRows","_c","bodyClassName","rowE2eClassName","rowClassName","specificStateValues","ClickableCell","EditableCell","LoginButton","buttonImg","buttonDescription","LoginWithAmazonButton","setImage","onMouseDown","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageHeader","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","paginationDefaultRangeList","ItemButton","handleRangeListChange","Items","paginationRange","PAGINATION_DROPDOWN_ID","PaginationRange","reversedDropdown","onPaginationRangeChange","dropdownValue","parentValue","setDropdownValue","toggleShouldShow","prevState","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","parseFloat","toFixed","roundedValue","form","blur","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","SelectInput","select","sizeVariant","Select","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","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Slider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","pop","resultValue","Number","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","minWidth","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","CSSTransition","switched","Switch","small","Toggle","borderColor","ToggleButton","tabIndex","DropZoneContainer","AcceptedFileTypes","FileSizeUnit","InputState","UploadGraphic","UploadCopy","pointerEvents","paddingTop","UploadFileErrors","acceptedTypesCopy","maxSizeCopy","SingleLineText","UploadedFilesListStack","UploadedFile","file","resetSelection","UploadFile","maxBytes","format","MB","fileTypes","required","outerRef","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","maxScrollLeft","handleResize","toNextScrollPosition","newPosition","viewPositionsArray","currentScroll","containerWidth","getNextViewPosition","behavior","toPrevScrollPosition","reverseArray","getPrevViewPosition","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]}
|