@veeqo/ui 0.1.23 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -50
- package/dist/components/Accordion/Accordion.d.ts +0 -1
- package/dist/components/Accordion/styled.d.ts +17 -6
- 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 +2 -2
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/tempIcons/DownArrowIcon.tsx","../src/components/Accordion/styled.ts","../src/components/Accordion/Accordion.tsx","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/Popover.tsx","../node_modules/tslib/tslib.es6.js","../src/components/Loader/TailSpin.tsx","../src/components/Loader/Grid.tsx","../src/components/Loader/ThreeDots.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/components/styled.ts","../src/tempIcons/DropdownIcon.tsx","../src/components/Button/Button.tsx","../src/components/CardHeader/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../src/tempIcons/CrossIcon.tsx","../src/components/CardHeader/CardHeader.tsx","../src/components/Card/styled.ts","../src/components/Card/Card.tsx","../src/components/ActionList/styled.ts","../src/components/ActionList/ActionList.tsx","../src/components/Anchor/styled.ts","../src/components/Anchor/Anchor.tsx","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/BasicDropdown.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../src/components/AnimatedDropdown/hooks/useClickAway.ts","../src/components/Avatar/styled.ts","../src/components/Avatar/Avatar.tsx","../src/components/Tooltip/types.ts","../src/components/Tooltip/styled.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/utils/buildClassnames.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Choice/components/styled.ts","../src/tempIcons/HelpIcon.tsx","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/SuccessIcon.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/components/DataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/DataTable/styled.ts","../src/components/DataTable/SpecificState/styled.ts","../src/components/DataTable/SpecificState/SpecificState.tsx","../src/components/DataTable/cells/styled.ts","../src/components/DataTable/cells/ClickableCell.tsx","../src/components/DataTable/cells/EditableCell.tsx","../src/components/DataTable/SkeletonContent/SkeletonContent.tsx","../src/components/DataTable/cells/SkeletonCell.tsx","../src/components/DataTable/utils/hooks.ts","../src/components/DataTable/StickyHeader.tsx","../src/components/DataTable/utils/index.ts","../src/components/DataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/DataTable/DataTable.tsx","../src/components/DataTableExp/utils/alignmentToFlex.ts","../src/components/DataTableExp/utils/parseWidth.ts","../src/components/DataTableExp/utils/generateTableCss.ts","../src/components/DataTableExp/utils/sumAll.ts","../src/components/DataTableExp/types.ts","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTableExp/utils/GetSortIcon.tsx","../src/components/DataTableExp/hooks/useCellWidths.ts","../src/components/DataTableExp/hooks/useColumns.ts","../src/components/DataTableExp/hooks/useDragToScroll.ts","../src/components/DataTableExp/hooks/useNested.ts","../src/components/DataTableExp/hooks/useScrollPosition.ts","../src/components/DataTableExp/constants.ts","../src/components/DataTableExp/components/Header.ts","../src/components/DataTableExp/components/SelectionHeader.tsx","../src/components/DataTableExp/components/Cell.ts","../src/components/DataTableExp/components/SelectionCell.tsx","../src/components/DataTableExp/hooks/useSelection.tsx","../src/components/DataTableExp/components/ColumnHeader.tsx","../src/components/DataTableExp/renderers/renderHeader.tsx","../src/components/DataTableExp/utils/getNextSortState.ts","../src/components/DataTableExp/components/LoadingCellContent.ts","../src/components/DataTableExp/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTableExp/components/EmptyBodyContent.ts","../src/components/DataTableExp/components/NoWrap.ts","../src/components/DataTableExp/components/Row.ts","../src/components/DataTableExp/components/ScrollContainer.ts","../src/components/DataTableExp/components/TableGrid.ts","../src/components/DataTableExp/components/Truncate.ts","../src/components/DataTableExp/components/Wrapper.ts","../src/components/DataTableExp/components/StickyHead.tsx","../src/components/DataTableExp/utils/getRowState.ts","../src/tempIcons/InfoIcon.tsx","../src/components/DataTableExp/DataTable.tsx","../src/components/DataTableExp/renderers/renderLoadingCell.tsx","../src/components/DataTableExp/renderers/renderCell.ts","../src/components/DataTableExp/renderers/renderNestedCell.tsx","../src/components/DataTableExp/renderers/renderFooter.tsx","../src/components/DataTableExp/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/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/utils/color.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.tsx","../src/components/Pagination/Pagination.tsx","../src/utils/paginationList.ts","../src/components/PaginationRange/styled.ts","../src/components/PaginationRange/Items/Item/styled.ts","../src/components/PaginationRange/Items/Item/Item.tsx","../src/components/PaginationRange/Items/Items.tsx","../src/components/PaginationRange/PaginationRange.tsx","../src/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/VideoModal/VideoModal.tsx","../src/components/View/types.ts","../src/components/View/styled.ts","../src/tempIcons/MoreHorizIcon.tsx","../src/tempIcons/EditIcon.tsx","../src/components/View/View.tsx","../src/components/WeightInput/styled.ts","../src/components/WeightInput/WeightInput.tsx","../src/components/WeightInput/types.ts"],"sourcesContent":["import styled from 'styled-components';\nexport const BaseContainer = styled.div.withConfig({ displayName: \"vui--BaseContainer\", componentId: \"vui--jtpszk\" }) `box-sizing:border-box;position:relative;margin:0;padding:0;`;\n//# sourceMappingURL=BaseContainer.js.map","const componentMap = {\n inputLabel: 'label',\n inputLabelSmall: 'label',\n headingSmall: 'h3',\n headingMedium: 'h3',\n headingLarge: 'h2',\n headingXL: 'h1',\n headingXXL: 'h1',\n // Deprecated, but quickfix for A11y.\n button: 'button',\n buttonSmall: 'button',\n};\nexport const getComponentOverride = (as, variant) => {\n if (as)\n return as;\n if (variant)\n return componentMap[variant];\n return undefined;\n};\n//# sourceMappingURL=utils.js.map","export const colors = {\n brand: {\n blue: {\n lightest: '#E4F0F9',\n light: '#93C6E8',\n base: '#4CA1D9',\n dark: '#3878A2',\n darkest: '#1A384B',\n },\n peach: {\n lightest: '#FDECE9',\n light: '#F8B2A9',\n base: '#F48070',\n dark: '#B65F53',\n darkest: '#562D27',\n },\n },\n neutral: {\n ink: {\n lightest: '#959FA8',\n light: '#637381',\n base: '#37424D',\n dark: '#1B2126',\n },\n grey: {\n lightest: '#FAFAFB',\n light: '#F2F3F5',\n base: '#DFE3E8',\n dark: '#CDD1D5',\n },\n greyBlue: {\n lightest: '#AAC5D8',\n light: '#558BB1',\n base: '#406885',\n dark: '#1E313E',\n },\n },\n secondary: {\n red: {\n lightest: '#FDEEEE',\n light: '#F7BCBC',\n base: '#EB5757',\n dark: '#A53D3D',\n darkest: '#5E2323',\n },\n yellow: {\n lightest: '#FFF6D9',\n light: '#FFE999',\n base: '#FFC900',\n dark: '#BF9600',\n darkest: '#594600',\n },\n green: {\n lightest: '#E9F7EF',\n light: '#BEE7CF',\n base: '#27AE60',\n dark: '#1B7A43',\n darkest: '#104626',\n },\n lime: {\n lightest: '#F6FAEB',\n light: '#DBEBAE',\n base: '#A5CD35',\n dark: '#7B9927',\n darkest: '#394712',\n },\n teal: {\n lightest: '#E5F8F5',\n light: '#99E5D7',\n base: '#00BD9A',\n dark: '#00715C',\n darkest: '#00392E',\n },\n aqua: {\n lightest: '#EEFAFE',\n light: '#BBEBFA',\n base: '#56CCF2',\n dark: '#3C8FA9',\n darkest: '#225261',\n },\n purple: {\n lightest: '#F6EFFC',\n light: '#D9C0F1',\n base: '#A162DD',\n dark: '#694090',\n darkest: '#38224D',\n },\n blue: {\n lightest: '#D9EBF8',\n light: '#80BCE8',\n base: '#0079D1',\n dark: '#005A9C',\n darkest: '#003053',\n },\n pink: {\n lightest: '#FFF1FC',\n light: '#FFC7F3',\n base: '#FFA3EB',\n dark: '#BF7AB0',\n darkest: '#593852',\n },\n orange: {\n lightest: '#FEF5ED',\n light: '#FAD6B7',\n base: '#F2994A',\n dark: '#9D6330',\n darkest: '#613D1E',\n },\n },\n system: {\n scrollbar: {\n thumb: 'rgba(99, 115, 129, .5)',\n background: 'transparent',\n },\n },\n};\n//# sourceMappingURL=colors.js.map","export const breakpoints = {\n mobile: '640px',\n tablet: '720px',\n lgTablet: '960px',\n desktop: '1280px',\n lgDesktop: '1440px',\n};\n//# sourceMappingURL=breakpoints.js.map","export const radius = {\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n full: '50%',\n};\n//# sourceMappingURL=radius.js.map","export var Shadows;\n(function (Shadows) {\n Shadows[\"sm\"] = \"0px 1px 3px rgba(55, 66, 77, 0.15)\";\n Shadows[\"base\"] = \"0px 4px 6px rgba(27, 33, 38, 0.2)\";\n Shadows[\"md\"] = \"0px 10px 15px rgba(27, 33, 38, 0.2)\";\n Shadows[\"lg\"] = \"0px 20px 25px rgba(27, 33, 38, 0.2)\";\n})(Shadows || (Shadows = {}));\n//# sourceMappingURL=shadows.js.map","var SizeAlias;\n(function (SizeAlias) {\n SizeAlias[\"none\"] = \"none\";\n SizeAlias[\"line\"] = \"line\";\n SizeAlias[\"xs\"] = \"xs\";\n SizeAlias[\"sm\"] = \"sm\";\n SizeAlias[\"base\"] = \"base\";\n SizeAlias[\"md\"] = \"md\";\n SizeAlias[\"lg\"] = \"lg\";\n SizeAlias[\"xl\"] = \"xl\";\n SizeAlias[\"xxl\"] = \"xxl\";\n})(SizeAlias || (SizeAlias = {}));\nfunction buildSizeScale({ increment, unit, count }) {\n const sizes = {};\n /* eslint-disable-next-line no-plusplus */\n for (let i = 0; i <= count; i++) {\n const value = i * increment;\n sizes[i] = `${value}${unit}`;\n }\n return sizes;\n}\nexport const sizeScale = buildSizeScale({ increment: 0.25, unit: 'rem', count: 20 });\nexport const sizeAliases = {\n [SizeAlias.none]: '0',\n [SizeAlias.line]: '1px',\n [SizeAlias.xs]: sizeScale[1],\n [SizeAlias.sm]: sizeScale[2],\n [SizeAlias.base]: sizeScale[4],\n [SizeAlias.md]: sizeScale[6],\n [SizeAlias.lg]: sizeScale[8],\n [SizeAlias.xl]: sizeScale[12],\n [SizeAlias.xxl]: sizeScale[16],\n};\nexport const sizes = Object.assign(Object.assign({}, sizeAliases), sizeScale);\n//# sourceMappingURL=sizes.js.map","import { colors } from './colors';\nexport const common = {\n fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol',\n};\nexport const text = {\n headingXXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '40px',\n lineHeight: '56px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.022rem',\n },\n headingXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '28px',\n lineHeight: '40px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.02rem',\n },\n headingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: '32px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.019rem',\n },\n headingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n headingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n headingTable: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n subheadingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n subheadingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingSmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n body: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodySmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodyBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodyBoldDark: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.dark,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodySmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n button: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n buttonSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n linkLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.017rem',\n },\n linkMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.011rem',\n },\n link: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.006rem',\n },\n linkSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '0',\n },\n inputLabel: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n inputLabelSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n hintText: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholder: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n placeholderSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholderCode: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.5rem',\n },\n placeholderCodeSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.375rem',\n },\n error: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n errorSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n successSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.green.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n};\n//# sourceMappingURL=text.js.map","import { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--p74sf8\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import 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 styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--3ngcs3\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--sjvmul\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--1mm1lxm\" }) `justify-content:flex-end;flex-grow:2;`;\nconst TapBar = styled(BaseContainer).withConfig({ displayName: \"vui--TapBar\", componentId: \"vui--18aoeh9\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;${(props) => {\n var _a, _b;\n const greyDark = (_a = theme.colors.neutral.grey.dark) !== null && _a !== void 0 ? _a : '#CDD1D5';\n const secondaryBlueBase = (_b = theme.colors.secondary.blue.base) !== null && _b !== void 0 ? _b : '#0079D1';\n return `\n border: 1px solid ${props.shouldOpen ? secondaryBlueBase : greyDark};\n `;\n}}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--7euo6s\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Arrow = styled(DownArrowIcon).withConfig({ displayName: \"vui--Arrow\", componentId: \"vui--lqzlzn\" }) `height:20px;width:auto;margin-left:12px;transition:transform 250ms;${(props) => {\n if (props.shouldOpen) {\n return 'transform: rotate(180deg);';\n }\n return '';\n}}`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--lr2qm6\" }) `margin-top:8px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--1bid6hq\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;transition:opacity 400ms,transform 400ms;&.content-enter{opacity:0;transform:translateY(-6px);}&.content-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.content-exit{opacity:1;transform:translateY(0px);}&.content-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Content, TapBar, Top, Text, Arrow, Left, Right, Description };\n//# sourceMappingURL=styled.js.map","import React, { useState, useCallback, useEffect } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Content, TapBar, Top, Text, Arrow, Left, Right, Description } from './styled';\nimport { BaseContainer } from '../BaseContainer';\nimport { colors } from '../../theme/modules/colors';\nexport const Accordion = ({ className, children, label, iconSlot, glyphColor = colors.neutral.ink.lightest, timeout = 350, transitionClassnames = 'content', description, shouldOpenOnMount, }) => {\n const [shouldOpen, setShouldOpen] = useState(false);\n const handleOpen = useCallback(() => setShouldOpen(!shouldOpen), [shouldOpen]);\n useEffect(() => {\n if (!shouldOpenOnMount)\n return;\n if (shouldOpenOnMount === shouldOpen)\n return;\n setShouldOpen(shouldOpenOnMount);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (React.createElement(BaseContainer, { className: className },\n React.createElement(TapBar, { shouldOpen: shouldOpen, 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(Arrow, { name: \"downArrow\", shouldOpen: shouldOpen }))),\n description && React.createElement(Description, { variant: \"hintText\" }, description)),\n React.createElement(CSSTransition, { in: shouldOpen, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Content, null, children))));\n};\n//# sourceMappingURL=Accordion.js.map","export const generateId = (prefix) => {\n const randomNumber = Math.floor(Math.random() * 1000);\n return `${prefix}-${randomNumber}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","/* eslint-disable consistent-return */\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--d5k10p\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\nconst PopoverWrapper = styled.div.withConfig({ displayName: \"vui--PopoverWrapper\", componentId: \"vui--13ndjce\" }) `z-index:${({ zIndex }) => zIndex + 1};`;\nexport const Popover = ({ children, className, anchorElement, rootElementRef, placement = 'bottom', onShouldClose, \n// FIXME: Added zIndex prop as a temporary solution for issues with nested overlays\n// to be replaced with long term solution\nzIndex = theme.layers.popup, }) => {\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // When content size is changed, force popper update\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => {\n resizeObserver.disconnect();\n };\n }, [update, popperElement]);\n // When window is resized, force popper update\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => {\n window.removeEventListener('resize', update);\n };\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n onShouldClose && React.createElement(Backdrop, { onClick: onShouldClose, zIndex: zIndex }),\n React.createElement(PopoverWrapper, Object.assign({ ref: setPopperElement, className: className, zIndex: zIndex, style: Object.assign({}, styles.popper) }, attributes.popper), children)));\n};\n//# sourceMappingURL=Popover.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--exbqdz\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ loading }) => loading && 'opacity: 0;'};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--nvz516\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}& > span{position:relative;top:-1px;}`;\nexport const DefaultButton = styled(BaseButton).withConfig({ displayName: \"vui--DefaultButton\", componentId: \"vui--1xzjfje\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1ixaf03\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--16w0ufk\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--1w3lv3r\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--fqczse\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:rgba(0, 0, 0, 0.1);}&:active{background-color:rgba(0, 0, 0, 0.1);}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{background-color:transparent;border-color:transparent;}`;\nexport const UnstyledButton = styled.button.withConfig({ displayName: \"vui--UnstyledButton\", componentId: \"vui--1fxilc\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--z932nb\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};text-decoration:${theme.text.link.textDecoration};color:${theme.colors.secondary.blue.base};&:hover{color:${theme.colors.secondary.blue.dark};}& > * + *{margin-left:${theme.sizes.xs};}& > span{position:relative;top:-1px;}`;\nexport const LoadingWrapper = styled.div.withConfig({ displayName: \"vui--LoadingWrapper\", componentId: \"vui--1qt232p\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { loading: loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && React.createElement(\"span\", null, children),\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--oa1a54\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--129vg5d\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const 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 from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--livrdi\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--z99ese\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--1lgjeo7\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--pfgeh3\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--g1wpqa\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { Text } from '../Text';\nconst { sizes, colors, text } = theme;\nexport const ListCard = styled(Card.Surface).withConfig({ displayName: \"vui--ListCard\", componentId: \"vui--kw21jd\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--1s2yh62\" }) `display:flex;flex-direction:column;& + &{border-top:1px solid ${colors.neutral.grey.base};margin-top:${sizes.base};padding-top:${sizes.base};}`;\nexport const SectionHeading = styled(Text).attrs({ variant: 'subheadingSmall' }).withConfig({ displayName: \"vui--SectionHeading\", componentId: \"vui--pmpwvh\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--16t44ko\" }) `box-sizing:border-box;min-height:${sizes.lg};padding:${sizes.xs} ${sizes.base};display:flex;align-items:center;white-space:nowrap;font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};&:hover{background-color:${colors.neutral.grey.light};color:${colors.secondary.blue.base};}& > * + *{margin-left:${sizes[3]};}`;\nexport const ActionItem = styled(Item).withConfig({ displayName: \"vui--ActionItem\", componentId: \"vui--18nrzt0\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--1vta1xq\" }) `color:${colors.secondary.blue.base};text-decoration:underline;`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Popover } from '../Popover';\nimport { Button } from '../Button';\nimport { Section, SectionHeading, ListCard, Item, ActionItem, LinkItem } from './styled';\nconst itemMap = {\n item: Item,\n action: ActionItem,\n link: LinkItem,\n};\nexport const ActionList = ({ title, items = [], sections, buttonVariant, buttonSize, }) => {\n const [isActive, setIsActive] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (callback) => {\n setIsActive(false);\n callback();\n };\n const renderItem = (item) => {\n const ItemComponent = itemMap[item.variant || 'item'];\n return (React.createElement(ItemComponent, { onClick: () => handleClick(item.onClick), key: item.title },\n item.icon && item.icon,\n React.createElement(\"span\", null, item.title)));\n };\n const renderSection = (section) => (React.createElement(Section, { key: section.title },\n section.title && React.createElement(SectionHeading, null, section.title),\n section.items.map(renderItem)));\n const listItemMarkup = sections ? sections.map(renderSection) : items.map(renderItem);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { dropdown: true, variant: buttonVariant, size: buttonSize, onClick: () => setIsActive(!isActive), ref: setAnchorEl }, title),\n isActive && (React.createElement(Popover, { anchorElement: anchorEl, placement: \"bottom-start\", onShouldClose: () => setIsActive(false) },\n React.createElement(ListCard, null, listItemMarkup)))));\n};\n//# sourceMappingURL=ActionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--14i39s8\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { CommonAnchor } from './styled';\nexport const Anchor = ({ children, className, text, href, target }) => (React.createElement(CommonAnchor, { href: href, target: target, className: className }, children || text));\n//# sourceMappingURL=Anchor.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--r1m0qe\" }) `display:inline-flex;background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;overflow:hidden;`;\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Container } from './styled';\nexport const BasicDropdown = forwardRef((props, ref) => {\n const { children, className } = props;\n return (React.createElement(Container, { className: className, ref: ref }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--q4276w\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--cfebb1\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nconst Dropdown = styled(BasicDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--u4w0zl\" }) `flex-direction:column;position:absolute;z-index:3;${(props) => (props.reversed ? 'bottom: 8px;' : 'top: 6px;')} &.dropdown-enter{opacity:0;transform:translateY(-6px);}&.dropdown-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.dropdown-exit{opacity:1;transform:translateY(0px);}&.dropdown-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Wrap, Dropdown, Container };\n//# sourceMappingURL=styled.js.map","import React, { useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Wrap, Dropdown, Container } from './styled';\nimport { useClickAway } from './hooks/useClickAway';\nexport const AnimatedDropdown = ({ cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, onClickAway = () => { }, timeout = 350, transitionClassnames = 'dropdown', onClick, onMouseEnter, onMouseLeave, }) => {\n const dropdownRef = useRef(null);\n useClickAway(dropdownRef, (event) => {\n if (shouldShowDropdown) {\n onClickAway(event);\n }\n });\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: dropdownRef },\n !reversed && cta,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(CSSTransition, { in: shouldShowDropdown, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Dropdown, { reversed: reversed, className: `${className}-basic-dropdown ${className}` }, children))),\n reversed && cta));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import { useEffect } from 'react';\nexport const useClickAway = (ref, onClickAway) => {\n useEffect(() => {\n const handleClickAway = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n onClickAway(event);\n }\n };\n document.addEventListener('mousedown', handleClickAway);\n return () => {\n document.removeEventListener('mousedown', handleClickAway);\n };\n }, [ref, onClickAway]);\n};\n//# sourceMappingURL=useClickAway.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--1gxc5tv\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","export var Position;\n(function (Position) {\n Position[\"end\"] = \"end\";\n Position[\"start\"] = \"start\";\n})(Position || (Position = {}));\nexport var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--12sulil\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--17ltyut\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--183a4l5\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--rjghyf\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--1v5pppn\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1xs3k5t\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport ReactDOM from 'react-dom';\nimport { theme } from '../../theme';\nimport { Sides } from './types';\nimport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle } from './styled';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const hasText = text ? text.trim().length > 0 : false;\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const show = useCallback(() => setShouldShow(true), [setShouldShow]);\n const hide = useCallback(() => setShouldShow(false), [setShouldShow]);\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n const tooltipMarkup = shouldShow && (content || hasText) && (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--1l3fzu\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--rwc6j0\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--1fakkjy\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--c6sp3u\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--1kzms7s\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--17agc2w\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--1mxdupo\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--11nf17l\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--1yac6kr\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};width:24px;height:24px;`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--qbgrc7\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1uu3ed5\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--xampag\" }) `font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.sizes.md};color:${theme.text.body.color};`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--nu56mb\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--k1l2b9\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--124eta7\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1g99902\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}& ${LabelText}{font-weight:${theme.text.bodyBold.fontWeight};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1ycxtt7\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, LabelText, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nexport const Choice = ({ id, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && React.createElement(LabelText, null, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, null, hint),\n error && React.createElement(ErrorText, null, error),\n Footer)) : null));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--hippn5\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, className: className, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1e1oks4\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = (_a) => {\n var { checked, value, name, disabled, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const id = generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { id: id, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange })));\n};\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--bygv6o\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--18baj4v\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--e6p1xr\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","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--mk4i58\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--1u7sppu\" }) `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--nqtqxh\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--hwzh6q\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--1gnu0g8\" }) `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--12mqlfu\" }) `& 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--r2keiy\" }) `&.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--1nm3hyy\" }) `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--kltvmt\" }) `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--12khvw8\" }) `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--h02j5\" }) `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--qgln4m\" }) `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--12fomsb\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--1als2zg\" }) ``;\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--1jchnd5\" }) `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--1o7dres\" }) `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--1uhjhtm\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--1kbpqgh\" }) `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--jx2vik\" }) `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--oqo38u\" }) `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--1win89s\" }) `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--1f316dz\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--1gn131q\" }) `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 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 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\" }));\nexport const DataTable = ({ 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};\nDataTable.Cell = Cell;\nDataTable.ClickableCell = ClickableCell;\nDataTable.EditableCell = EditableCell;\nDataTable.SkeletonCell = SkeletonCell;\nDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=DataTable.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 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--1vat8up\" }) `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--737x0o\" }) `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--i7g1t1\" }) `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--1mybdy1\" }) `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--ccxpgr\" }) `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--1vc6lzf\" }) `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--xy0vyq\" }) `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--vgmrdc\" }) `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--ejaprg\" }) `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--ni4ybh\" }) `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--1r0ir4h\" }) `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--1cif9m3\" }) `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--1ruib9d\" }) `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--7usb8e\" }) `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--1qn89sr\" }) `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--1xqen7k\" }) `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 DataTableExp = ({ 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};\nDataTableExp.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTableExp.Cell = Cell;\nDataTableExp.ColumnMenu = ColumnMenu;\nDataTableExp.SelectionCell = SelectionCell;\nDataTableExp.SelectionHeader = SelectionHeader;\nDataTableExp.Header = Header;\nDataTableExp.Truncate = Truncate;\nDataTableExp.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--1915ejg\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--2wnu9m\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--qydg5r\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--1p3i1v3\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--9vxkaw\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { generateId } from '../../utils/generateId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useMemo(() => generateId(Component.name), []);\n if (!label) {\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n }\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--3jt15a\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1k04ik\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback } 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 = (_a) => {\n var { 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, [\"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\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 id = generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: id, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: id, inputSize: size, max: max, min: min, name: name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck }, otherProps)));\n};\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--oxhxoy\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--w9sg63\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1dp86fg\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--1h9einl\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--2iwwsg\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1ln478r\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--5lfadq\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState, useCallback } from 'react';\nexport function useDropdown() {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => setShouldShowDropdown(false), [setShouldShowDropdown]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n}\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1tebbdi\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:4px 8px;cursor:pointer;svg{width:${sizes.base};height:${sizes.base};}`;\nconst NonSelectableText = styled(Text).withConfig({ displayName: \"vui--NonSelectableText\", componentId: \"vui--qz697a\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--17i198i\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--rxq762\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--1o2zyml\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--6n2anv\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--n9war0\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:12px 18px;border-bottom:1px solid ${colors.neutral.grey.base};svg{color:${({ color }) => color};width:${sizes[5]};height:${sizes[5]};margin-right:10px;}`;\nexport { Container, Text, AnimatedDropdown as Dropdown, GroupLabel, Content, Header, MainIcon, StyledCrossIcon as CrossIcon, };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { useDropdown } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { Container, Text, Dropdown, GroupLabel, MainIcon, CrossIcon, Content, Header, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n filterTagDropdown: prefix ? `${prefix}-filter-tag-dropdown` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n cross: prefix ? `${prefix}-cross` : undefined,\n});\nexport const FilterTag = ({ className, e2eClassName, label, text, iconSlot, fill = colors.secondary.blue.base, content, footer, onClickAway, onClick, shouldCloseOnClickAway = true, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown();\n const handleClick = useCallback((event) => {\n toggleShouldShowDropdown();\n if (onClickAway && shouldShowDropdown)\n onClickAway(event);\n }, [toggleShouldShowDropdown, onClickAway, shouldShowDropdown]);\n const handleClickAway = useCallback((event) => {\n // Escape hatch to apply custom behavior when clicked away\n if (onClickAway)\n onClickAway(event, closeDropdown);\n // Default clickAway behavior (closes the dropdown)\n if (shouldCloseOnClickAway)\n closeDropdown();\n }, [closeDropdown, onClickAway, shouldCloseOnClickAway]);\n const shouldShowSimple = !content;\n return shouldShowSimple ? (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), onClick: onClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(CrossIcon, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.cross, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.cross]), name: \"cross\", size: \"base\", color: colors.neutral.ink.base }))) : (React.createElement(Dropdown, { className: classNames.filterTagDropdown, shouldShowDropdown: shouldShowDropdown, onClickAway: handleClickAway, cta: React.createElement(Container, { className: classNames.container, onClick: handleClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(MainIcon, { color: colors.neutral.ink.base, name: \"downArrow\", shouldShow: shouldShowDropdown })) },\n React.createElement(Content, null,\n React.createElement(Header, { color: fill },\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Grid = styled(BaseContainer).withConfig({ displayName: \"vui--Grid\", componentId: \"vui--12w0ynf\" }) `display:grid;grid-template-columns:repeat(${({ columns }) => columns}, 1fr);grid-gap:${({ spacing = 'base' }) => (spacing ? sizes[spacing] : 0)};`;\n//# sourceMappingURL=index.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--yyvmx7\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--exntyx\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--jt8oew\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--xulm2g\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--9ns5xb\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--1ox4j2c\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--1ohvs0u\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nconst { sizes, text, shadows } = theme;\nconst { grey } = theme.colors.neutral;\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--1x6mrf4\" }) `padding:${sizes.base} ${sizes.md};background-color:white;box-shadow:${({ shadow }) => shadow !== 'none' && shadows[shadow]};`;\nexport const Title = styled.h1.withConfig({ displayName: \"vui--Title\", componentId: \"vui--1rcauam\" }) `font-family:${text.headingXL.fontFamily};font-size:${text.headingXL.fontSize};font-weight:${text.headingXL.fontWeight};margin:unset;line-height:1;`;\nexport const Subtitle = styled.p.withConfig({ displayName: \"vui--Subtitle\", componentId: \"vui--1w1czl4\" }) `margin:0.75rem 0 0;font-family:${text.subheadingLarge.fontFamily};font-weight:${text.subheadingLarge.fontWeight};font-size:${text.subheadingLarge.fontSize};line-height:${text.subheadingLarge.lineHeight};`;\nexport const Image = styled.img.withConfig({ displayName: \"vui--Image\", componentId: \"vui--6akliy\" }) `border-radius:${theme.radius.base};border:${sizes.line} solid ${grey.base};object-fit:cover;`;\nexport const ActionsContainer = styled.div.withConfig({ displayName: \"vui--ActionsContainer\", componentId: \"vui--eer17r\" }) `height:100%;display:grid;grid-template-rows:1fr auto;gap:1rem;`;\nexport const SidebarToggleButton = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--SidebarToggleButton\", componentId: \"vui--17ubnor\" }) `display:flex;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};color:${theme.text.link.color};&:hover{text-decoration:${theme.text.link.textDecoration};}& > * + *{margin-left:${theme.sizes.xs};}`;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--1fmdpk3\" }) `width:100%;display:grid;grid-template-columns:1fr minmax(312px, auto);align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { ActionList } from '../ActionList';\nimport { Button } from '../Button';\nimport { Header, Title, Subtitle, Image, ActionsContainer, SidebarToggleButton, ColumnGrid, } from './styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const PageHeader = ({ title, subtitle, imageSrc, actions, quickActions, backAction, Accessory, shadow = 'none', onClickPrevious, onClickNext, onClickToggleSidebar, }) => {\n const actionsMarkup = actions && (React.createElement(ActionList, { buttonVariant: !quickActions ? 'primary' : 'default', title: \"Actions\", sections: actions }));\n const quickActionsMarkup = quickActions === null || quickActions === void 0 ? void 0 : quickActions.map((action) => (React.createElement(Button, { key: action.title, variant: action.variant, icon: action.icon, onClick: action.onClick }, action.title)));\n const backActionMarkup = backAction && (React.createElement(Button, { onClick: backAction.onClick, icon: React.createElement(LeftArrowIcon, null), variant: \"link\" }, backAction.title));\n const toggleSidebarMarkup = onClickToggleSidebar && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\" },\n React.createElement(SidebarToggleButton, { onClick: onClickToggleSidebar },\n React.createElement(\"span\", null, \"Toggle sidebar\"),\n React.createElement(RightArrowIcon, { width: sizes.md }))));\n return (React.createElement(Header, { shadow: shadow },\n React.createElement(Stack, null,\n backActionMarkup,\n React.createElement(ColumnGrid, null,\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"md\" },\n imageSrc && React.createElement(Image, { src: imageSrc, alt: \"\", width: \"72\", height: \"72\" }),\n React.createElement(\"div\", { style: { flex: 1 } },\n React.createElement(Stack, { alignX: \"stretch\" },\n React.createElement(Title, null, title),\n Accessory,\n subtitle && React.createElement(Subtitle, null, subtitle)))),\n React.createElement(ActionsContainer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: \"sm\" },\n quickActionsMarkup,\n actionsMarkup,\n onClickPrevious && React.createElement(Button, { icon: React.createElement(LeftArrowIcon, null), onClick: onClickPrevious }),\n onClickNext && React.createElement(Button, { icon: React.createElement(RightArrowIcon, null), onClick: onClickNext })),\n toggleSidebarMarkup)))));\n};\n//# sourceMappingURL=PageHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nexport const PageLimitContainer = styled(Stack).withConfig({ displayName: \"vui--PageLimitContainer\", componentId: \"vui--11yg0z2\" }) `width:${theme.sizes.lg};height:30px;background-color:${theme.colors.neutral.grey.light};border:1px solid ${theme.colors.neutral.grey.base};border-radius:${theme.sizes.xs};`;\nexport const PaginationButton = styled(Button).withConfig({ displayName: \"vui--PaginationButton\", componentId: \"vui--1xoa6c5\" }) `color:${theme.colors.neutral.ink.base};width:32px;height:32px;svg{width:24px;height:24px;}`;\nexport const PageInput = styled(TextField).withConfig({ displayName: \"vui--PageInput\", componentId: \"vui--vpfeol\" }) `&[type='number']{width:5.5ch;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { PageLimitContainer } from './styled';\nexport const PageCount = ({ count }) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", null,\n React.createElement(Text, { variant: \"bodySmall\", \"aria-hidden\": true }, \"/\")),\n React.createElement(PageLimitContainer, { alignX: \"center\", alignY: \"center\", \"aria-hidden\": true },\n React.createElement(Text, { variant: \"bodySmall\" }, count))));\n//# sourceMappingURL=components.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to handle pagination state.\n */\nexport const usePagination = ({ currentPage, totalPagesCount, handleChangePage, }) => {\n const [pageInputValue, setPageInputValue] = useState(`${currentPage}`);\n /**\n * When a new value is passed into the component we update the local state, meaning the input\n * value gets updated.\n */\n useEffect(() => {\n setPageInputValue(`${currentPage}`);\n }, [currentPage]);\n const validatePageValue = (value) => value >= 1 && value <= totalPagesCount;\n const checkAndSetLocalPage = (newPage) => {\n if (validatePageValue(newPage))\n setPageInputValue(`${newPage}`);\n };\n /**\n * A function to handle changes to the input, a string will be passed int. We check for an empty\n * string and directly set that, otherwise we validate the input number is within range.\n * @param newValue The new string input value.\n */\n const handleInputChange = (newValue) => {\n if (!newValue)\n setPageInputValue(newValue);\n const intValue = parseInt(newValue, 10);\n checkAndSetLocalPage(intValue);\n };\n /**\n * A function to increment the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleIncrement = () => {\n if (validatePageValue(currentPage + 1))\n handleChangePage(currentPage + 1);\n };\n /**\n * A function to decrement the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleDecrement = () => {\n if (validatePageValue(currentPage - 1))\n handleChangePage(currentPage - 1);\n };\n /**\n * When the input is unfocussed we want to update parent or local state depending on 3 cases:\n * 1. Local page input is '', reset it to the currentPage\n * 2. Local page input is the same as passed by prop, catch and do nothing.\n * 3. Local state has a new value, convert it, validate it and potentially send to parent via\n * `handlePageChange`\n */\n const handleSubmit = () => {\n if (!pageInputValue)\n setPageInputValue(`${currentPage}`);\n if (pageInputValue === `${currentPage}`)\n return;\n const newValue = parseInt(pageInputValue, 10);\n if (validatePageValue(newValue))\n handleChangePage(newValue);\n };\n /**\n * When the user submits the form, either pressing enter or a screenreader shortcut we prevent\n * default action and try and send update.\n * @param event The event fired from the form when submitting.\n */\n const handleFormSubmit = (event) => {\n event.preventDefault();\n handleSubmit();\n };\n return {\n pageInputValue,\n handleIncrement,\n handleDecrement,\n handleInputChange,\n handleSubmit,\n handleFormSubmit,\n };\n};\n//# sourceMappingURL=usePagination.js.map","import React from 'react';\nexport const StartArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11.6434 11.06L8.59004 8L11.6434 4.94L10.7034 4L6.70337 8L10.7034 12L11.6434 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.37004 12L4.37004 4L5.70337 4L5.70337 12L4.37004 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=StartArrowIcon.js.map","import React from 'react';\nexport const EndArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.33661 11.06L7.38994 8L4.33661 4.94L5.27661 4L9.27661 8L5.27661 12L4.33661 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.67 4L11.67 12L10.3367 12L10.3367 4L11.67 4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EndArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","export const paginationDefaultRangeList = [\n { label: '10 / page', value: 10 },\n { label: '25 / page', value: 25 },\n { label: '50 / page', value: 50 },\n { label: '100 / page', value: 100 },\n];\n//# sourceMappingURL=paginationList.js.map","import styled from 'styled-components';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { colors } from '../../theme/modules/colors';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--vvvb5w\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst Dropdown = styled(AnimatedDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--1762fp7\" }) `&-container{width:100%;}`;\nconst Button = styled.button.withConfig({ displayName: \"vui--Button\", componentId: \"vui--18oel89\" }) `width:100%;height:32px;padding:6px 8px 8px 8px;display:flex;border:1px solid ${colors.neutral.grey.base};box-sizing:border-box;border-radius:4px;justify-content:space-between;background:white;cursor:pointer;svg{padding-left:8px;padding-top:2px;}`;\nexport { Container, Dropdown, Button, Text };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { colors } from '../../../../theme/modules/colors';\nimport { Text } from '../../../Text';\nimport { BaseContainer } from '../../../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--yx82xe\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--gffv6m\" }) `width:100%;padding:8px 16px;cursor:pointer;&:hover{color:${colors.secondary.blue.base};background:${colors.neutral.grey.lightest};}`;\nexport { StyledText as Text, Container };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { Container, Text } from './styled';\nexport const Item = ({ item, handleRangeListChange }) => {\n const onClick = useCallback(() => handleRangeListChange(item), [handleRangeListChange, item]);\n return (React.createElement(Container, { onClick: onClick },\n React.createElement(Text, { variant: \"bodySmall\" }, item.label)));\n};\n//# sourceMappingURL=Item.js.map","import React, { Fragment } from 'react';\nimport { paginationDefaultRangeList } from '../../../utils/paginationList';\nimport { Item } from './Item';\nexport const Items = (props) => {\n const { handleRangeListChange, paginationRange = paginationDefaultRangeList } = props;\n return (React.createElement(React.Fragment, null, paginationRange.map((item) => (React.createElement(Fragment, { key: item.label },\n React.createElement(Item, { item: item, handleRangeListChange: handleRangeListChange }))))));\n};\n//# sourceMappingURL=Items.js.map","import React, { Component } from 'react';\nimport { paginationDefaultRangeList } from '../../utils/paginationList';\nimport { theme } from '../../theme';\nimport { Container, Dropdown, Button, Text } from './styled';\nimport { Items } from './Items';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nexport class PaginationRange extends Component {\n constructor(props) {\n super(props);\n this.handleRangeListChange = (item) => {\n const { onPaginationRangeChange } = this.props;\n this.setDropdownValue(item);\n onPaginationRangeChange(item);\n };\n this.setDropdownValue = (currentValue) => this.setState({\n shouldShowDropdown: false,\n dropdownValue: currentValue,\n });\n this.toggleShouldShow = () => {\n const { shouldShowDropdown } = this.state;\n this.setState({ shouldShowDropdown: !shouldShowDropdown });\n };\n const { dropdownValue = paginationDefaultRangeList[1] } = this.props;\n this.state = {\n dropdownValue,\n shouldShowDropdown: false,\n };\n }\n render() {\n const { className, paginationRange = paginationDefaultRangeList, reversedDropdown, } = this.props;\n const { shouldShowDropdown, dropdownValue } = this.state;\n return (React.createElement(Container, { className: className },\n React.createElement(Dropdown, { cta: React.createElement(Button, { onClick: this.toggleShouldShow },\n React.createElement(Text, { variant: \"bodySmall\" }, dropdownValue.label),\n React.createElement(DropdownIcon, { color: theme.colors.neutral.ink.base })), shouldShowDropdown: shouldShowDropdown, onClickAway: this.toggleShouldShow, reversed: reversedDropdown },\n React.createElement(Items, { paginationRange: paginationRange, handleRangeListChange: this.handleRangeListChange }))));\n }\n}\n//# sourceMappingURL=PaginationRange.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1y4bw67\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--z17r9v\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--8gyz01\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--fsc9el\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--w81sf\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--jpuoo1\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--je6y84\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--113gfe8\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18q9h8i\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = ({ type = 'text', disabled = false, onClearClick, onChange, onBlur, onFocus, onKeyUp, onKeyDown, onKeyPress, value = '', error, placeholder = '', className = '', name, isLoading = false, fill, reversed = false, autoComplete = 'on', size = 'base', }) => {\n const shouldShowClear = value && value.length > 0;\n const renderIcon = () => {\n if (isLoading) {\n return React.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });\n }\n if (shouldShowClear && onClearClick) {\n return (React.createElement(Button, { variant: \"unstyled\", onClick: onClearClick, style: { display: 'flex' }, \"aria-label\": \"Clear text\" },\n React.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));\n }\n return (React.createElement(Button, { variant: \"unstyled\", onClick: () => onChange(value), style: { display: 'flex' }, \"aria-label\": \"Search\" },\n React.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));\n };\n return (React.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },\n React.createElement(Input, { size: size, type: type, value: value, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onKeyPress: onKeyPress, placeholder: placeholder, name: name, disabled: disabled, error: error, autoComplete: autoComplete }),\n React.createElement(IconContainer, null, renderIcon())));\n};\n//# sourceMappingURL=Search.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--s4yyqq\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:focus,:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}}> .veeqo-components-active-button{:focus,:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels((_a) => {\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 onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value, onChange: handleChange, disabled: disabled, hasError: hasError }, otherProps), options ? (options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled }, option.label)))) : (React.createElement(\"h1\", null, \"BOB! ERROR!\"))));\n});\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--2nps2x\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--lcbl46\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--103oce3\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--t3v3py\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--1rdo7hk\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--1nmtetq\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1ccelw2\" }) `&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.label.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:inline-block;position:relative;cursor:${({ disabled }) => (disabled ? 'default' : 'pointer')};height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--69792q\" }) `cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import React 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 = ({ className, name, switched, small, onClick = () => { }, disabled, ariaLabel, }) => (React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, role: \"switch\" },\n React.createElement(Input, { type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: disabled ? undefined : onClick, disabled: disabled }),\n React.createElement(Slider, { switched: switched, disabled: disabled }))));\n//# sourceMappingURL=Toggle.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--x718nd\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1vyyfhh\" }) `padding:14px 24px;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--vld7v7\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;&:hover{border:1px solid ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}${(props) => props.active &&\n `\n background-color: ${colors.secondary.blue.lightest};\n `}`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--1hjbx14\" }) `line-height:1;`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--chq9kr\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;& > ${CounterText}{color:${colors.neutral.ink.dark};}${(props) => props.active &&\n `\n background-color: ${colors.secondary.blue.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: '4px',\n padding: '4px',\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const MoreHorizIcon = (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: \"M6 10C4.9 10 4 10.9 4 12C4 13.1 4.9 14 6 14C7.1 14 8 13.1 8 12C8 10.9 7.1 10 6 10ZM18 10C16.9 10 16 10.9 16 12C16 13.1 16.9 14 18 14C19.1 14 20 13.1 20 12C20 10.9 19.1 10 18 10ZM12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14C13.1 14 14 13.1 14 12C14 10.9 13.1 10 12 10Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MoreHorizIcon.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, IconStyling, Text } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { MoreHorizIcon } from '../../tempIcons/MoreHorizIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const View = ({ id, name, type, className, count, active = false, onClick, onDelete, onEdit, onOptions, 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 handleOptions = useCallback((event) => {\n event.stopPropagation();\n if (onOptions)\n onOptions(id);\n }, [onOptions, id]);\n const isDraft = type === ViewTypes.draft;\n const isFixed = type === ViewTypes.fixed;\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 },\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count && (React.createElement(CounterContainer, { active: active || isHovered },\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 isFixed && active && (React.createElement(MoreHorizIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.options, onClick: handleOptions }))),\n isSaved && active && (React.createElement(EditIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.edit, onClick: handleEdit }))))));\n};\n//# sourceMappingURL=View.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"ounce\", type: \"number\", value: rest.pound, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"pound\", type: \"number\", value: rest.ounce, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map"],"names":["BaseContainer","styled","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","DownArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","TapBarChild","Left","glyphColor","Right","TapBar","_a","_b","greyDark","secondaryBlueBase","shouldOpen","Top","Arrow","Description","Content","Accordion","className","children","label","iconSlot","timeout","transitionClassnames","description","shouldOpenOnMount","setShouldOpen","useState","handleOpen","useCallback","useEffect","onClick","name","CSSTransition","in","classNames","unmountOnExit","generateId","prefix","Math","floor","random","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","Backdrop","zIndex","PopoverWrapper","Popover","anchorElement","placement","onShouldClose","popperElement","setPopperElement","styles","attributes","update","usePopper","resizeObserver","ResizeObserver","observe","disconnect","window","addEventListener","removeEventListener","ref","popper","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","type","from","to","dur","repeatCount","cx","cy","r","Grid","begin","values","calcMode","ThreeDots","Loader","MainContent","hasText","loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","default","primary","destructive","primaryDestructive","flat","unstyled","Button","forwardRef","icon","dropdown","otherProps","VariantButton","hasChildren","undefined","Header","header","HeaderGrid","UpArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","action","ActionSlot","isCollapsed","onClickCollapse","onClickClose","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","motion","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","HeaderActionSlot","collapsable","onClose","renderFooter","setIsCollapsed","headerMarkup","showBody","bodyMarkup","animate","variants","transition","duration","ease","footerMarkup","ListCard","SectionHeading","Item","itemMap","item","ActionList","items","sections","buttonVariant","buttonSize","isActive","setIsActive","anchorEl","setAnchorEl","renderItem","ItemComponent","handleClick","callback","key","listItemMarkup","map","Fragment","CommonAnchor","a","Anchor","href","target","Container","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","onMouseEnter","onMouseLeave","dropdownRef","useRef","handleClickAway","event","current","contains","useClickAway","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","initial","Position","Sides","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","defaultConfig","side","TOP","triangleOffset","Tooltip","content","config","withTriangle","initialShouldShow","useReactPortal","trim","usedConfig","container","tip","wrap","triangle","hoverable","shouldShow","setShouldShow","hoverableElement","setHoverableElement","modifiers","options","show","hide","tooltipStyles","tooltipMarkup","triangleOffsetSize","ReactDOM","BaseBadge","hideBorder","DefaultBadge","PrimaryBadge","WarningBadge","buildClassnames","names","filter","Boolean","join","warning","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","Separator","pathname","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","HelpIcon","Choice","hint","bordered","Accessory","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","useMemo","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","SuccessIcon","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","setTimeout","iconSize","defaultEmptyState","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","scrollPosition","middle","end","start","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","tr","Cell","td","grow","HeaderCell","alignmentMap","left","right","HeaderCellLayout","Table","table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","defaultProps","StickyHeader","renderHeader","tableRef","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","isSticky","topOffset","setIsSticky","handleScrollChange","bottom","sticky","onScroll","getBoundingClientRect","useStickyHeader","parseInt","wrapperWidth","useScroll","updateScroll","scrollLeft","tableLayout","convertFixedColumnInlineStyleToStyled","forEach","index","push","abs","SkeletonHeaderCell","DoubleArrowIcon","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","DataTable","borderless","headers","rows","renderRow","renderNestedRow","expandedRowIds","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","selectedRowIds","disabledSelectionInputRowIds","selectionMode","onChangeSelectedRowIds","sortColumnId","sortDirection","onChangeSort","isError","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","setScrollPosition","refValue","handleScroll","el","scrollWidth","scrollValue","castWidthToNumber","console","generateFixedColumnInlineStyle","position","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","row","newSelectedRowIds","findIndex","splice","handleSelectAll","rowIds","handleClickSortableHeader","columnId","nextColumnId","nextDirection","renderHeaderCell","sortIcon","sortable","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","find","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","margin","animationDuration","getNestedRow","nestedRow","isHidden","nestedRowE2eClassName","data","e2eClassNames","renderDefaultLoadingRow","cells","unshift","getFooter","renderedRows","_c","isExpanded","bodyClassName","rowE2eClassName","rowClassName","nestedRows","loadingRows","specificStateValues","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","visible","stripingMode","pinnedLeftStyles","_","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","ClickableCell","EditableCell","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","ascending","useCellWidths","containerRef","setCellWidths","updateCellWidths","querySelectorAll","widths","Array","cell","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","x","mouseMoveHandler","dx","clientX","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useNested","setExpandedRowIds","nestedTableProps","setExpanded","rowId","useScrollPosition","updateScrollPosition","headerCellHeight","th","SelectionHeader","headerProps","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","setSelectedRowIds","toggleAllSelected","selectionColumn","column","renderCell","actions","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","Error","toString","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","ActionBar","intersectionTargetRef","intersectionObserver","IntersectionObserver","entries","entry","isIntersecting","containerRect","stickyPositionStyles","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","columnCount","EmptyBodyGlyphWrapper","NoWrap","ScrollContainer","TableGrid","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","heading","emptyAction","DataTableExp","ActionBarSlot","emptyState","loadingRowCount","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","renderLoadingCell","subheading","renderNestedCell","renderSection","headersMarkup","shouldRenderFooter","some","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","columnIds","newColumns","border","padding","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","withDeprecated","warn","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","newValue","RegExp","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","useClickOutside","isOpen","escapeListener","clickListener","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","onKeyDown","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","scrollTop","useTabs","tabs","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","tab","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","shouldCloseOnClickAway","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","LoginButton","buttonImg","buttonDescription","LoginWithAmazonButton","setImage","onMouseDown","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","hexToRgb","hex","hexTmp","replace","m","g","b","result","exec","getOpaqueHexColor","opacity","rgb","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","dialog","y","bounce","exit","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","AnimatePresence","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageHeader","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","preventDefault","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","paginationDefaultRangeList","handleRangeListChange","Items","paginationRange","PaginationRange","onPaginationRangeChange","setDropdownValue","currentValue","dropdownValue","toggleShouldShow","reversedDropdown","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","parseFloat","toFixed","roundedValue","form","blur","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","SelectInput","select","sizeVariant","Select","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Slider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","split","pop","resultValue","Number","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","minWidth","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","switched","Switch","small","Toggle","borderColor","ToggleButton","tabIndex","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","PopupContent","VideoWrapper","ButtonSC","VideoModal","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","ViewTypes","Contour","CounterText","CounterContainer","IconStyling","MoreHorizIcon","EditIcon","delete","edit","counter","View","onDelete","onEdit","onOptions","handleEnter","handleLeave","handleDelete","stopPropagation","handleEdit","handleOptions","isDraft","draft","isFixed","fixed","isSaved","saved","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce"],"mappings":"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","x_google_ignoreList":[17]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/components/BaseContainer/BaseContainer.ts","../src/components/Text/utils.ts","../src/theme/modules/colors.ts","../src/theme/modules/breakpoints.ts","../src/theme/modules/radius.ts","../src/theme/modules/shadows.ts","../src/theme/modules/sizes.ts","../src/theme/modules/text.ts","../src/theme/index.ts","../src/theme/modules/layers.ts","../src/components/Text/Text.ts","../src/components/Accordion/styled.ts","../src/tempIcons/UpArrowIcon.tsx","../src/components/Accordion/Accordion.tsx","../src/utils/generateId.ts","../src/components/Portal/Portal.tsx","../src/components/Popover/Popover.tsx","../node_modules/tslib/tslib.es6.js","../src/components/Loader/TailSpin.tsx","../src/components/Loader/Grid.tsx","../src/components/Loader/ThreeDots.tsx","../src/components/Loader/Loader.tsx","../src/components/Button/components/styled.ts","../src/tempIcons/DropdownIcon.tsx","../src/components/Button/Button.tsx","../src/components/CardHeader/styled.ts","../src/tempIcons/DownArrowIcon.tsx","../src/tempIcons/CrossIcon.tsx","../src/components/CardHeader/CardHeader.tsx","../src/components/Card/styled.ts","../src/components/Card/Card.tsx","../src/components/ActionList/styled.ts","../src/components/ActionList/ActionList.tsx","../src/components/Anchor/styled.ts","../src/components/Anchor/Anchor.tsx","../src/components/AnimatedDropdown/components/styled.ts","../src/components/AnimatedDropdown/components/BasicDropdown.tsx","../src/components/AnimatedDropdown/styled.ts","../src/components/AnimatedDropdown/AnimatedDropdown.tsx","../src/components/AnimatedDropdown/hooks/useClickAway.ts","../src/components/Avatar/styled.ts","../src/components/Avatar/Avatar.tsx","../src/components/Tooltip/types.ts","../src/components/Tooltip/styled.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Badge/styled.ts","../src/utils/buildClassnames.ts","../src/components/Badge/Badge.tsx","../src/components/Banner/styled.ts","../src/components/Banner/Banner.tsx","../src/components/Breadcrumbs/components/styled.ts","../src/tempIcons/RightArrowIcon.tsx","../src/components/Breadcrumbs/components/Breadcrumb.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/components/Stack/Alignments.ts","../src/components/Stack/Stack.tsx","../src/components/Choice/components/styled.ts","../src/tempIcons/HelpIcon.tsx","../src/components/Choice/Choice.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/styled.ts","../src/components/Radio/Radio.tsx","../src/components/ChoiceList/styled.ts","../src/components/ChoiceList/ChoiceList.tsx","../src/tempIcons/SuccessIcon.tsx","../src/tempIcons/ClipboardIcon.tsx","../src/components/CopyToClipboard/CopyToClipboard.tsx","../src/components/DataTable/utils/constants.tsx","../src/tempIcons/CalendarIcon.tsx","../src/tempIcons/FailIcon.tsx","../src/components/DataTable/styled.ts","../src/components/DataTable/SpecificState/styled.ts","../src/components/DataTable/SpecificState/SpecificState.tsx","../src/components/DataTable/cells/styled.ts","../src/components/DataTable/cells/ClickableCell.tsx","../src/components/DataTable/cells/EditableCell.tsx","../src/components/DataTable/SkeletonContent/SkeletonContent.tsx","../src/components/DataTable/cells/SkeletonCell.tsx","../src/components/DataTable/utils/hooks.ts","../src/components/DataTable/StickyHeader.tsx","../src/components/DataTable/utils/index.ts","../src/components/DataTable/cells/SkeletonHeaderCell.tsx","../src/tempIcons/DoubleArrowIconIcon.tsx","../src/tempIcons/DoubleArrowAscIcon.tsx","../src/tempIcons/DoubleArrowDescIcon.tsx","../src/components/DataTable/DataTable.tsx","../src/components/DataTableExp/utils/alignmentToFlex.ts","../src/components/DataTableExp/utils/parseWidth.ts","../src/components/DataTableExp/utils/generateTableCss.ts","../src/components/DataTableExp/utils/sumAll.ts","../src/components/DataTableExp/types.ts","../src/tempIcons/ArrowUpIcon.tsx","../src/tempIcons/ArrowDownIcon.tsx","../src/components/DataTableExp/utils/GetSortIcon.tsx","../src/components/DataTableExp/hooks/useCellWidths.ts","../src/components/DataTableExp/hooks/useColumns.ts","../src/components/DataTableExp/hooks/useDragToScroll.ts","../src/components/DataTableExp/hooks/useNested.ts","../src/components/DataTableExp/hooks/useScrollPosition.ts","../src/components/DataTableExp/constants.ts","../src/components/DataTableExp/components/Header.ts","../src/components/DataTableExp/components/SelectionHeader.tsx","../src/components/DataTableExp/components/Cell.ts","../src/components/DataTableExp/components/SelectionCell.tsx","../src/components/DataTableExp/hooks/useSelection.tsx","../src/components/DataTableExp/components/ColumnHeader.tsx","../src/components/DataTableExp/renderers/renderHeader.tsx","../src/components/DataTableExp/utils/getNextSortState.ts","../src/components/DataTableExp/components/LoadingCellContent.ts","../src/components/DataTableExp/components/ActionBar.tsx","../src/tempIcons/VisibilityIcon.tsx","../src/tempIcons/VisibilityOffIcon.tsx","../src/tempIcons/ReorderIcon.tsx","../src/components/DataTableExp/components/EmptyBodyContent.ts","../src/components/DataTableExp/components/NoWrap.ts","../src/components/DataTableExp/components/Row.ts","../src/components/DataTableExp/components/ScrollContainer.ts","../src/components/DataTableExp/components/TableGrid.ts","../src/components/DataTableExp/components/Truncate.ts","../src/components/DataTableExp/components/Wrapper.ts","../src/components/DataTableExp/components/StickyHead.tsx","../src/components/DataTableExp/utils/getRowState.ts","../src/tempIcons/InfoIcon.tsx","../src/components/DataTableExp/DataTable.tsx","../src/components/DataTableExp/renderers/renderLoadingCell.tsx","../src/components/DataTableExp/renderers/renderCell.ts","../src/components/DataTableExp/renderers/renderNestedCell.tsx","../src/components/DataTableExp/renderers/renderFooter.tsx","../src/components/DataTableExp/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/LoginWithAmazonButton/styled.ts","../src/components/LoginWithAmazonButton/LoginWithAmazonButton.tsx","../src/components/Modal/components/styled.ts","../src/components/Modal/types.ts","../src/utils/color.ts","../src/components/Modal/components/Dialog/constants.ts","../src/components/Modal/components/Dialog/styled.ts","../src/components/Modal/components/Dialog/Dialog.tsx","../src/components/Modal/Modal.tsx","../src/components/PageHeader/styled.ts","../src/tempIcons/LeftArrowIcon.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Pagination/styled.ts","../src/components/Pagination/components.tsx","../src/components/Pagination/hooks/usePagination.ts","../src/tempIcons/StartArrowIcon.tsx","../src/tempIcons/EndArrowIcon.tsx","../src/components/Pagination/Pagination.tsx","../src/utils/paginationList.ts","../src/components/PaginationRange/styled.ts","../src/components/PaginationRange/Items/Item/styled.ts","../src/components/PaginationRange/Items/Item/Item.tsx","../src/components/PaginationRange/Items/Items.tsx","../src/components/PaginationRange/PaginationRange.tsx","../src/components/Stepper/styled.ts","../src/components/Stepper/Stepper.tsx","../src/components/PriceInput/styled.ts","../src/components/PriceInput/PriceInput.tsx","../src/components/Search/styled.ts","../src/tempIcons/SearchIcon.tsx","../src/components/Search/Search.tsx","../src/components/SegmentedControl/styled.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Select/styled.ts","../src/components/Select/Select.tsx","../src/components/SimpleTable/styled.ts","../src/components/SimpleTable/SimpleTable.tsx","../src/components/Slider/styled.ts","../src/components/Slider/Slider.tsx","../src/components/Tag/Tag.ts","../src/components/ToastsLayout/components/styled.ts","../src/components/ToastsLayout/components/Toast.tsx","../src/tempIcons/AttentionIcon.tsx","../src/tempIcons/MergeIcon.tsx","../src/components/ToastsLayout/ToastsLayout.tsx","../src/components/Toggle/styled.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleButton/styled.ts","../src/components/ToggleButton/ToggleButton.tsx","../src/components/VideoModal/components/styled.ts","../src/components/VideoModal/components/Popup.tsx","../src/components/VideoModal/styled.ts","../src/components/VideoModal/VideoModal.tsx","../src/components/View/types.ts","../src/components/View/styled.ts","../src/tempIcons/MoreHorizIcon.tsx","../src/tempIcons/EditIcon.tsx","../src/components/View/View.tsx","../src/components/WeightInput/styled.ts","../src/components/WeightInput/WeightInput.tsx","../src/components/WeightInput/types.ts"],"sourcesContent":["import styled from 'styled-components';\nexport const BaseContainer = styled.div.withConfig({ displayName: \"vui--BaseContainer\", componentId: \"vui--jtpszk\" }) `box-sizing:border-box;position:relative;margin:0;padding:0;`;\n//# sourceMappingURL=BaseContainer.js.map","const componentMap = {\n inputLabel: 'label',\n inputLabelSmall: 'label',\n headingSmall: 'h3',\n headingMedium: 'h3',\n headingLarge: 'h2',\n headingXL: 'h1',\n headingXXL: 'h1',\n // Deprecated, but quickfix for A11y.\n button: 'button',\n buttonSmall: 'button',\n};\nexport const getComponentOverride = (as, variant) => {\n if (as)\n return as;\n if (variant)\n return componentMap[variant];\n return undefined;\n};\n//# sourceMappingURL=utils.js.map","export const colors = {\n brand: {\n blue: {\n lightest: '#E4F0F9',\n light: '#93C6E8',\n base: '#4CA1D9',\n dark: '#3878A2',\n darkest: '#1A384B',\n },\n peach: {\n lightest: '#FDECE9',\n light: '#F8B2A9',\n base: '#F48070',\n dark: '#B65F53',\n darkest: '#562D27',\n },\n },\n neutral: {\n ink: {\n lightest: '#959FA8',\n light: '#637381',\n base: '#37424D',\n dark: '#1B2126',\n },\n grey: {\n lightest: '#FAFAFB',\n light: '#F2F3F5',\n base: '#DFE3E8',\n dark: '#CDD1D5',\n },\n greyBlue: {\n lightest: '#AAC5D8',\n light: '#558BB1',\n base: '#406885',\n dark: '#1E313E',\n },\n },\n secondary: {\n red: {\n lightest: '#FDEEEE',\n light: '#F7BCBC',\n base: '#EB5757',\n dark: '#A53D3D',\n darkest: '#5E2323',\n },\n yellow: {\n lightest: '#FFF6D9',\n light: '#FFE999',\n base: '#FFC900',\n dark: '#BF9600',\n darkest: '#594600',\n },\n green: {\n lightest: '#E9F7EF',\n light: '#BEE7CF',\n base: '#27AE60',\n dark: '#1B7A43',\n darkest: '#104626',\n },\n lime: {\n lightest: '#F6FAEB',\n light: '#DBEBAE',\n base: '#A5CD35',\n dark: '#7B9927',\n darkest: '#394712',\n },\n teal: {\n lightest: '#E5F8F5',\n light: '#99E5D7',\n base: '#00BD9A',\n dark: '#00715C',\n darkest: '#00392E',\n },\n aqua: {\n lightest: '#EEFAFE',\n light: '#BBEBFA',\n base: '#56CCF2',\n dark: '#3C8FA9',\n darkest: '#225261',\n },\n purple: {\n lightest: '#F6EFFC',\n light: '#D9C0F1',\n base: '#A162DD',\n dark: '#694090',\n darkest: '#38224D',\n },\n blue: {\n lightest: '#D9EBF8',\n light: '#80BCE8',\n base: '#0079D1',\n dark: '#005A9C',\n darkest: '#003053',\n },\n pink: {\n lightest: '#FFF1FC',\n light: '#FFC7F3',\n base: '#FFA3EB',\n dark: '#BF7AB0',\n darkest: '#593852',\n },\n orange: {\n lightest: '#FEF5ED',\n light: '#FAD6B7',\n base: '#F2994A',\n dark: '#9D6330',\n darkest: '#613D1E',\n },\n },\n system: {\n scrollbar: {\n thumb: 'rgba(99, 115, 129, .5)',\n background: 'transparent',\n },\n },\n};\n//# sourceMappingURL=colors.js.map","export const breakpoints = {\n mobile: '640px',\n tablet: '720px',\n lgTablet: '960px',\n desktop: '1280px',\n lgDesktop: '1440px',\n};\n//# sourceMappingURL=breakpoints.js.map","export const radius = {\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n full: '50%',\n};\n//# sourceMappingURL=radius.js.map","export var Shadows;\n(function (Shadows) {\n Shadows[\"sm\"] = \"0px 1px 3px rgba(55, 66, 77, 0.15)\";\n Shadows[\"base\"] = \"0px 4px 6px rgba(27, 33, 38, 0.2)\";\n Shadows[\"md\"] = \"0px 10px 15px rgba(27, 33, 38, 0.2)\";\n Shadows[\"lg\"] = \"0px 20px 25px rgba(27, 33, 38, 0.2)\";\n})(Shadows || (Shadows = {}));\n//# sourceMappingURL=shadows.js.map","var SizeAlias;\n(function (SizeAlias) {\n SizeAlias[\"none\"] = \"none\";\n SizeAlias[\"line\"] = \"line\";\n SizeAlias[\"xs\"] = \"xs\";\n SizeAlias[\"sm\"] = \"sm\";\n SizeAlias[\"base\"] = \"base\";\n SizeAlias[\"md\"] = \"md\";\n SizeAlias[\"lg\"] = \"lg\";\n SizeAlias[\"xl\"] = \"xl\";\n SizeAlias[\"xxl\"] = \"xxl\";\n})(SizeAlias || (SizeAlias = {}));\nfunction buildSizeScale({ increment, unit, count }) {\n const sizes = {};\n /* eslint-disable-next-line no-plusplus */\n for (let i = 0; i <= count; i++) {\n const value = i * increment;\n sizes[i] = `${value}${unit}`;\n }\n return sizes;\n}\nexport const sizeScale = buildSizeScale({ increment: 0.25, unit: 'rem', count: 20 });\nexport const sizeAliases = {\n [SizeAlias.none]: '0',\n [SizeAlias.line]: '1px',\n [SizeAlias.xs]: sizeScale[1],\n [SizeAlias.sm]: sizeScale[2],\n [SizeAlias.base]: sizeScale[4],\n [SizeAlias.md]: sizeScale[6],\n [SizeAlias.lg]: sizeScale[8],\n [SizeAlias.xl]: sizeScale[12],\n [SizeAlias.xxl]: sizeScale[16],\n};\nexport const sizes = Object.assign(Object.assign({}, sizeAliases), sizeScale);\n//# sourceMappingURL=sizes.js.map","import { colors } from './colors';\nexport const common = {\n fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol',\n};\nexport const text = {\n headingXXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '40px',\n lineHeight: '56px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.022rem',\n },\n headingXL: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '28px',\n lineHeight: '40px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.02rem',\n },\n headingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: '32px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.019rem',\n },\n headingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n headingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n headingTable: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.017rem',\n },\n subheadingMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n subheadingSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n subheadingSmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n body: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodySmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodyBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n bodyBoldDark: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.dark,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n bodySmallBold: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n button: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.011rem',\n },\n buttonSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n linkLarge: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '20px',\n lineHeight: '28px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.017rem',\n },\n linkMedium: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '16px',\n lineHeight: '24px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.011rem',\n },\n link: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '-0.006rem',\n },\n linkSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.blue.base,\n textDecoration: 'underline',\n letterSpacing: '0',\n },\n inputLabel: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n inputLabelSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n hintText: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.light,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholder: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n placeholderSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n placeholderCode: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.5rem',\n },\n placeholderCodeSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.neutral.ink.lightest,\n textDecoration: 'none',\n letterSpacing: '0.375rem',\n },\n error: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '14px',\n lineHeight: '20px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '-0.006rem',\n },\n errorSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.red.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n successSmall: {\n fontFamily: common.fontFamily,\n fontStyle: 'normal',\n fontWeight: 600,\n fontSize: '12px',\n lineHeight: '16px',\n color: colors.secondary.green.base,\n textDecoration: 'none',\n letterSpacing: '0',\n },\n};\n//# sourceMappingURL=text.js.map","import { colors } from './modules/colors';\nimport { breakpoints } from './modules/breakpoints';\nimport { layers } from './modules/layers';\nimport { radius } from './modules/radius';\nimport { Shadows } from './modules/shadows';\nimport { sizes } from './modules/sizes';\nimport { text, common } from './modules/text';\nexport const theme = Object.assign(Object.assign({}, common), { breakpoints,\n colors,\n layers,\n radius, shadows: Shadows, sizes,\n text });\n//# sourceMappingURL=index.js.map","export const layers = {\n base: 0,\n popup: 1000,\n modal: 2000,\n tooltip: 3000,\n};\n//# sourceMappingURL=layers.js.map","import styled from 'styled-components';\nimport { getComponentOverride } from './utils';\nimport { theme } from '../../theme';\nconst { text, colors, fontFamily } = theme;\nexport const Text = styled.span.attrs(({ as, variant }) => ({\n as: getComponentOverride(as, variant),\n})).withConfig({ displayName: \"vui--Text\", componentId: \"vui--p74sf8\" }) `box-sizing:border-box;display:inline-block;margin:0;padding:0;font-style:normal;font-weight:normal;font-size:12px;font-family:${fontFamily};line-height:16px;color:#37424d;${({ variant }) => (variant === 'button' || variant === 'buttonSmall') &&\n `\n cursor: pointer;\n background-color: transparent;\n border: 0;\n `} ${({ variant, muted = false }) => {\n if (!variant)\n return '';\n const color = muted ? colors.neutral.ink.lightest : text[variant].color;\n return `\n font-family: ${text[variant].fontFamily};\n font-style: ${text[variant].fontStyle};\n font-weight: ${text[variant].fontWeight};\n font-size: ${text[variant].fontSize};\n line-height: ${text[variant].lineHeight};\n color: ${color};\n text-decoration: ${text[variant].textDecoration};\n letter-spacing: ${text[variant].letterSpacing};\n `;\n}}`;\n//# sourceMappingURL=Text.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nimport { sizes } from '../../theme/modules/sizes';\nconst TapBarChild = styled(BaseContainer).withConfig({ displayName: \"vui--TapBarChild\", componentId: \"vui--3ngcs3\" }) `display:flex;flex-direction:row;align-items:center;`;\nconst Left = styled(TapBarChild).withConfig({ displayName: \"vui--Left\", componentId: \"vui--sjvmul\" }) `svg{margin-right:12px;height:${sizes.base};width:${sizes.base};color:${({ glyphColor }) => glyphColor};}`;\nconst Right = styled(TapBarChild).withConfig({ displayName: \"vui--Right\", componentId: \"vui--1mm1lxm\" }) `justify-content:flex-end;flex-grow:2;`;\n/**\n * Due to unique behaviour observed in Safari, we override the outline property when\n * the accordion is focussed.\n */\nconst AccordionSummary = styled.summary.withConfig({ displayName: \"vui--AccordionSummary\", componentId: \"vui--1moens1\" }) `display:flex;flex-direction:column;padding:12px;border-radius:4px;user-select:none;cursor:pointer;border:1px solid ${theme.colors.neutral.grey.dark};:focus{outline:none;box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}:active{box-shadow:0 0 0 2px ${theme.colors.secondary.blue.light};}`;\nconst Top = styled(BaseContainer).withConfig({ displayName: \"vui--Top\", componentId: \"vui--7euo6s\" }) `display:flex;flex-direction:row;align-items:center;height:16px;`;\nconst Description = styled(Text).withConfig({ displayName: \"vui--Description\", componentId: \"vui--1snn6nn\" }) `margin-top:8px;`;\nconst AccordionContent = styled(motion(BaseContainer)).withConfig({ displayName: \"vui--AccordionContent\", componentId: \"vui--to1g7a\" }) `margin-top:4px;background:rgba(217, 235, 248, 0.5);padding:10px 26px;`;\nconst AccordionDetails = styled.details.withConfig({ displayName: \"vui--AccordionDetails\", componentId: \"vui--g3berv\" }) `summary{list-style-type:none;::-webkit-details-marker{display:none;}}`;\nexport { AccordionSummary, Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const UpArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.91021 10.47L7.97021 7.4167L11.0302 10.47L11.9702 9.53003L7.97021 5.53003L3.97021 9.53003L4.91021 10.47Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=UpArrowIcon.js.map","import React, { useState } from 'react';\nimport { motion } from 'framer-motion';\nimport { Top, Text, Left, Right, Description, AccordionDetails, AccordionContent, AccordionSummary, } from './styled';\nimport { colors } from '../../theme/modules/colors';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Accordion = ({ className, children, label, iconSlot, glyphColor = colors.neutral.ink.lightest, timeout = 350, description, shouldOpenOnMount, }) => {\n const [shouldOpen, setShouldOpen] = useState(!!shouldOpenOnMount);\n const handleOpen = () => setShouldOpen(!shouldOpen);\n return (React.createElement(AccordionDetails, { open: !!shouldOpenOnMount, className: className },\n React.createElement(AccordionSummary, { onClick: handleOpen },\n React.createElement(Top, null,\n React.createElement(Left, { glyphColor: glyphColor },\n iconSlot,\n React.createElement(Text, { variant: \"body\" }, label)),\n React.createElement(Right, null,\n React.createElement(motion.span, { animate: {\n rotate: shouldOpen ? 180 : 0,\n } },\n React.createElement(UpArrowIcon, { name: shouldOpen ? 'downArrow' : 'upArrow' })))),\n !!description && React.createElement(Description, { variant: \"hintText\" }, description)),\n shouldOpen && (React.createElement(AccordionContent, { initial: { opacity: 0 }, exit: { opacity: 0 }, animate: { opacity: 1 }, transition: { from: 0, type: 'tween', duration: timeout / 1000 } }, children))));\n};\n//# sourceMappingURL=Accordion.js.map","export const generateId = (prefix) => {\n const randomNumber = Math.floor(Math.random() * 1000);\n return `${prefix}-${randomNumber}`;\n};\n//# sourceMappingURL=generateId.js.map","import { PureComponent } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateId } from '../../utils/generateId';\n/**\n * The portal component renders content on the document `body` unless `rootElementRef` is passed.\n */\nexport class Portal extends PureComponent {\n constructor(props) {\n super(props);\n this.id = generateId('portal');\n this.portalNode = null;\n this.state = {\n isMounted: false,\n };\n }\n componentDidMount() {\n const { rootElementRef } = this.props;\n this.portalNode = document.createElement('div');\n this.portalNode.setAttribute('id', `portal-${this.id}`);\n this.portalNode.style.cssText = 'position: absolute; top: 0; left: 0;';\n if (rootElementRef) {\n rootElementRef === null || rootElementRef === void 0 ? void 0 : rootElementRef.appendChild(this.portalNode);\n }\n else {\n document.body.appendChild(this.portalNode);\n }\n this.setState({ isMounted: true });\n }\n componentWillUnmount() {\n if (this.portalNode) {\n const { rootElementRef } = this.props;\n if (rootElementRef) {\n rootElementRef.removeChild(this.portalNode);\n }\n else {\n document.body.removeChild(this.portalNode);\n }\n }\n }\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return this.portalNode && isMounted ? createPortal(children, this.portalNode) : null;\n }\n}\n//# sourceMappingURL=Portal.js.map","/* eslint-disable consistent-return */\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { usePopper } from 'react-popper';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { Portal } from '../Portal';\nimport { theme } from '../../theme';\nexport const Backdrop = styled.div.withConfig({ displayName: \"vui--Backdrop\", componentId: \"vui--d5k10p\" }) `position:fixed;top:0;right:0;bottom:0;left:0;z-index:${({ zIndex }) => zIndex};`;\nconst PopoverWrapper = styled.div.withConfig({ displayName: \"vui--PopoverWrapper\", componentId: \"vui--13ndjce\" }) `z-index:${({ zIndex }) => zIndex + 1};`;\nexport const Popover = ({ children, className, anchorElement, rootElementRef, placement = 'bottom', onShouldClose, \n// FIXME: Added zIndex prop as a temporary solution for issues with nested overlays\n// to be replaced with long term solution\nzIndex = theme.layers.popup, }) => {\n // Set up PopperJS\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes, update } = usePopper(anchorElement, popperElement, { placement });\n // When content size is changed, force popper update\n useEffect(() => {\n if (!update || !popperElement)\n return;\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(popperElement);\n return () => {\n resizeObserver.disconnect();\n };\n }, [update, popperElement]);\n // When window is resized, force popper update\n useEffect(() => {\n if (!update)\n return;\n window.addEventListener('resize', update);\n return () => {\n window.removeEventListener('resize', update);\n };\n }, [update]);\n return (React.createElement(Portal, { rootElementRef: rootElementRef },\n onShouldClose && React.createElement(Backdrop, { onClick: onShouldClose, zIndex: zIndex }),\n React.createElement(PopoverWrapper, Object.assign({ ref: setPopperElement, className: className, zIndex: zIndex, style: Object.assign({}, styles.popper) }, attributes.popper), children)));\n};\n//# sourceMappingURL=Popover.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import React from 'react';\nexport const TailSpin = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-label\": label },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" }))))));\n//# sourceMappingURL=TailSpin.js.map","import React from 'react';\nexport const Grid = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 105 105\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"0s\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"100ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"300ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"600ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"800ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"400ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"700ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"500ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n React.createElement(\"animate\", { attributeName: \"fill-opacity\", begin: \"200ms\", dur: \"1s\", values: \"1;.2;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=Grid.js.map","import React from 'react';\nexport const ThreeDots = ({ width, height, className, color, label }) => (React.createElement(\"svg\", { width: width, height: height, className: className, viewBox: \"0 0 120 30\", xmlns: \"http://www.w3.org/2000/svg\", fill: color, \"aria-label\": label },\n React.createElement(\"circle\", { cx: \"15\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"9\", to: \"9\", begin: \"0s\", dur: \"0.8s\", values: \"9;15;9\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"0.5\", to: \"0.5\", begin: \"0s\", dur: \"0.8s\", values: \".5;1;.5\", calcMode: \"linear\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { cx: \"105\", cy: \"15\", r: \"15\" },\n React.createElement(\"animate\", { attributeName: \"r\", from: \"15\", to: \"15\", begin: \"0s\", dur: \"0.8s\", values: \"15;9;15\", calcMode: \"linear\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"fillOpacity\", from: \"1\", to: \"1\", begin: \"0s\", dur: \"0.8s\", values: \"1;.5;1\", calcMode: \"linear\", repeatCount: \"indefinite\" }))));\n//# sourceMappingURL=ThreeDots.js.map","import React from 'react';\nimport { TailSpin } from './TailSpin';\nimport { Grid } from './Grid';\nimport { ThreeDots } from './ThreeDots';\nexport const Loader = ({ className, height = 24, width = 24, color = '#588CB0', type = 'TailSpin', }) => {\n switch (type) {\n case 'Grid': {\n return React.createElement(Grid, { className: className, height: height, width: width, color: color });\n }\n case 'ThreeDots': {\n return React.createElement(ThreeDots, { className: className, height: height, width: width, color: color });\n }\n case 'TailSpin':\n default: {\n return React.createElement(TailSpin, { className: className, height: height, width: width, color: color });\n }\n }\n};\n//# sourceMappingURL=Loader.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const MainContent = styled.span.withConfig({ displayName: \"vui--MainContent\", componentId: \"vui--exbqdz\" }) `display:inline-flex;align-items:center;gap:${({ hasText }) => (hasText ? '8px' : '4px')};${({ loading }) => loading && 'opacity: 0;'};svg{width:${({ size }) => sizes[size]};height:${({ size }) => sizes[size]};}`;\nconst BaseButton = styled.button.withConfig({ displayName: \"vui--BaseButton\", componentId: \"vui--nvz516\" }) `position:relative;box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;background-color:transparent;white-space:nowrap;${(props) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n if (props.hasIcon) {\n paddingLeft = '16px';\n }\n if (props.hasDropdown) {\n paddingRight = '16px';\n }\n if (props.size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n if (props.hasIcon) {\n paddingLeft = '8px';\n }\n if (props.hasDropdown) {\n paddingRight = '8px';\n }\n }\n if (!props.hasText) {\n paddingLeft = '8px';\n paddingRight = '8px';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n `;\n}} &:hover{cursor:pointer;}&:disabled{pointer-events:none;cursor:unset !important;}& > span{position:relative;top:-1px;}`;\nexport const DefaultButton = styled(BaseButton).withConfig({ displayName: \"vui--DefaultButton\", componentId: \"vui--1xzjfje\" }) `border-color:${theme.colors.neutral.grey.dark};background-color:white;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);color:${({ hasText }) => hasText ? theme.colors.neutral.ink.base : theme.colors.secondary.blue.base};&:hover{background-color:${theme.colors.neutral.grey.lightest};}&:active{background-color:${theme.colors.neutral.grey.lightest};border-color:${theme.colors.secondary.blue.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{box-shadow:none !important;background-color:${theme.colors.neutral.grey.base} !important;border-color:${theme.colors.neutral.grey.base} !important;color:${theme.colors.neutral.ink.light} !important;}`;\nexport const DefaultDestructiveButton = styled(DefaultButton).withConfig({ displayName: \"vui--DefaultDestructiveButton\", componentId: \"vui--1ixaf03\" }) `color:${theme.colors.secondary.red.base};&:hover{color:${theme.colors.secondary.red.dark};}&:active{border-color:${theme.colors.secondary.red.base};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};color:${theme.colors.secondary.red.dark};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const PrimaryButton = styled(DefaultButton).withConfig({ displayName: \"vui--PrimaryButton\", componentId: \"vui--16w0ufk\" }) `background-color:${theme.colors.secondary.blue.base};border-color:${theme.colors.secondary.blue.base};color:white;&:hover{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};}&:active{background-color:${theme.colors.secondary.blue.dark};border-color:${theme.colors.secondary.blue.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};}`;\nexport const PrimaryDestructiveButton = styled(PrimaryButton).withConfig({ displayName: \"vui--PrimaryDestructiveButton\", componentId: \"vui--1w3lv3r\" }) `background-color:${theme.colors.secondary.red.base};border-color:${theme.colors.secondary.red.base};color:white;&:hover{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};}&:active{background-color:${theme.colors.secondary.red.dark};border-color:${theme.colors.secondary.red.dark};box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.red.light};}`;\nexport const FlatButton = styled(BaseButton).withConfig({ displayName: \"vui--FlatButton\", componentId: \"vui--fqczse\" }) `border-color:transparent;box-shadow:none;color:${theme.colors.neutral.ink.base};&:hover{background-color:rgba(0, 0, 0, 0.1);}&:active{background-color:rgba(0, 0, 0, 0.1);}&:focus-visible{box-shadow:0 0 0 var(--outline-width)${theme.colors.secondary.blue.light};outline:0;}&:disabled{background-color:transparent;border-color:transparent;}`;\nexport const UnstyledButton = styled.button.withConfig({ displayName: \"vui--UnstyledButton\", componentId: \"vui--1fxilc\" }) `appearance:none;border:0;background-color:transparent;padding:0;font:inherit;&:hover{cursor:pointer;}`;\nexport const LinkButton = styled(UnstyledButton).withConfig({ displayName: \"vui--LinkButton\", componentId: \"vui--z932nb\" }) `display:inline-flex;flex-direction:row;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};text-decoration:${theme.text.link.textDecoration};color:${theme.colors.secondary.blue.base};&:hover{color:${theme.colors.secondary.blue.dark};}& > * + *{margin-left:${theme.sizes.xs};}& > span{position:relative;top:-1px;}`;\nexport const LoadingWrapper = styled.div.withConfig({ displayName: \"vui--LoadingWrapper\", componentId: \"vui--1qt232p\" }) `position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin-left:0;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const DropdownIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4 6L8 10L12 6H4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DropdownIcon.js.map","import { __rest } from \"tslib\";\nimport React, { forwardRef } from 'react';\nimport { Loader } from '../Loader';\nimport { DefaultButton, DefaultDestructiveButton, PrimaryButton, PrimaryDestructiveButton, FlatButton, LinkButton, UnstyledButton, LoadingWrapper, MainContent, } from './components/styled';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nconst variantMap = {\n default: DefaultButton,\n primary: PrimaryButton,\n destructive: DefaultDestructiveButton,\n primaryDestructive: PrimaryDestructiveButton,\n flat: FlatButton,\n link: LinkButton,\n unstyled: UnstyledButton,\n};\nexport const Button = forwardRef((_a, ref) => {\n var { className, children, icon, variant = 'default', size = 'base', dropdown = false, loading = false } = _a, otherProps = __rest(_a, [\"className\", \"children\", \"icon\", \"variant\", \"size\", \"dropdown\", \"loading\"]);\n if (variant === 'unstyled') {\n return (React.createElement(UnstyledButton, Object.assign({ ref: ref, className: className }, otherProps), children));\n }\n const VariantButton = variantMap[variant];\n const hasChildren = children !== undefined;\n const hasIcon = !!icon;\n return (React.createElement(VariantButton, Object.assign({ ref: ref, className: className, size: size, hasText: hasChildren, hasIcon: hasIcon, hasDropdown: dropdown }, otherProps),\n (hasChildren || hasIcon) && (React.createElement(MainContent, { loading: loading, hasText: !!children, size: children || size === 'sm' ? 'base' : 'md' },\n icon && icon,\n children !== undefined && React.createElement(\"span\", null, children),\n dropdown && React.createElement(DropdownIcon, null))),\n loading && (React.createElement(LoadingWrapper, null,\n React.createElement(Loader, null)))));\n});\n//# sourceMappingURL=Button.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--oa1a54\" }) `padding-top:${sizes.md};padding-right:${sizes.md};padding-left:${sizes.md};margin-bottom:${sizes.md};& > * + *{margin-top:${sizes.xs};}`;\nexport const HeaderGrid = styled.div.withConfig({ displayName: \"vui--HeaderGrid\", componentId: \"vui--129vg5d\" }) `/*${sizes.base}*/display:flex;justify-content:flex-end;align-items:center;& > *:first-child{flex:1;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { sizes } from '../theme/modules/sizes';\nexport const DownArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: sizes.md }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.0302 5.52997L7.97021 8.5833L4.91021 5.52997L3.97021 6.46997L7.97021 10.47L11.9702 6.46997L11.0302 5.52997Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=DownArrowIcon.js.map","import React from 'react';\nexport const CrossIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", role: \"presentation\", height: 24, width: 24 }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M19 6.51071L17.4893 5L11.5 10.9893L5.51071 5L4 6.51071L9.98929 12.5L4 18.4893L5.51071 20L11.5 14.0107L17.4893 20L19 18.4893L13.0107 12.5L19 6.51071Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=CrossIcon.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { Header, HeaderGrid } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const CardHeader = ({ id, title, subtitle, headerVariant = 'headingSmall', action, ActionSlot, isCollapsed, onClickCollapse, onClickClose, }) => (React.createElement(Header, null,\n React.createElement(HeaderGrid, null,\n React.createElement(Text, { id: id, variant: headerVariant }, title),\n action && (React.createElement(Button, { variant: \"link\", onClick: action.onClick }, action.title)),\n ActionSlot,\n onClickCollapse && (React.createElement(Button, { variant: \"flat\", icon: isCollapsed ? React.createElement(DownArrowIcon, null) : React.createElement(UpArrowIcon, null), onClick: onClickCollapse })),\n onClickClose && (React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, null), onClick: onClickClose, \"aria-label\": \"Close\" }))),\n subtitle && React.createElement(Text, { variant: \"subheadingSmall\" }, subtitle)));\n//# sourceMappingURL=CardHeader.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { Shadows } from '../../theme/modules/shadows';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nimport { radius } from '../../theme/modules/radius';\nimport { text } from '../../theme/modules/text';\nconst { grey } = colors.neutral;\nconst elevationShadowMap = {\n 0: 'none',\n 1: Shadows.sm,\n 2: Shadows.base,\n 3: Shadows.md,\n 4: Shadows.lg,\n};\nconst accents = {\n info: colors.secondary.blue.base,\n success: colors.secondary.green.base,\n error: colors.secondary.red.base,\n};\nexport const Footer = styled.footer.withConfig({ displayName: \"vui--Footer\", componentId: \"vui--livrdi\" }) `margin-top:${sizes.base};padding:${sizes.md};z-index:2;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--z99ese\" }) `padding-right:${sizes.md};padding-left:${sizes.md};margin-top:${sizes.md};margin-bottom:${sizes.md};font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};line-height:${text.body.lineHeight};color:${text.body.color};& + &{border-top:${sizes.line} solid ${grey.base};padding-top:${sizes.md};}`;\nexport const FullBleed = styled.div.withConfig({ displayName: \"vui--FullBleed\", componentId: \"vui--1lgjeo7\" }) `margin-left:-${sizes.md};margin-right:-${sizes.md};`;\nexport const Body = styled(motion.div).withConfig({ displayName: \"vui--Body\", componentId: \"vui--pfgeh3\" }) `overflow-y:hidden;&:not(:first-child)> ${Section}:first-child{margin-top:0;}`;\nexport const Surface = styled.div.withConfig({ displayName: \"vui--Surface\", componentId: \"vui--g1wpqa\" }) `position:relative;width:100%;background-color:white;border:${sizes.line} solid ${grey.base};box-shadow:${(props) => props.elevation !== undefined ? elevationShadowMap[props.elevation] : Shadows.sm};border-radius:${radius.md};overflow:hidden;box-sizing:border-box;${({ accent }) => accent &&\n `\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${sizes.xs};\n background-color: ${accents[accent]};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { CardHeader } from '../CardHeader';\nimport { Surface, Body, FullBleed, Footer, Section } from './styled';\nconst collapseAnimationVariants = {\n expanded: { height: 'auto' },\n collapsed: { height: 0 },\n};\nexport const Card = ({ className, style, title, subtitle, HeaderActionSlot, action, collapsable, elevation, accent, children, onClose, renderFooter, }) => {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggleCollapsed = () => {\n setIsCollapsed(!isCollapsed);\n };\n const headerMarkup = title && (React.createElement(CardHeader, { title: title, subtitle: subtitle, ActionSlot: HeaderActionSlot, action: action, onClickClose: onClose, isCollapsed: isCollapsed, onClickCollapse: collapsable ? toggleCollapsed : undefined }));\n const showBody = (collapsable && !isCollapsed) || !collapsable;\n const bodyMarkup = (React.createElement(Body, { animate: showBody ? 'expanded' : 'collapsed', variants: collapseAnimationVariants, transition: { duration: 0.3, ease: 'easeOut' } },\n React.createElement(Section, null, children)));\n const footerMarkup = renderFooter !== undefined && React.createElement(Footer, null, renderFooter());\n return (React.createElement(Surface, { className: className, style: style, elevation: elevation, accent: accent },\n headerMarkup,\n bodyMarkup,\n footerMarkup));\n};\nCard.Surface = Surface;\nCard.Section = Section;\nCard.FullBleed = FullBleed;\nCard.Footer = Footer;\n//# sourceMappingURL=Card.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { Text } from '../Text';\nconst { sizes, colors, text } = theme;\nexport const ListCard = styled(Card.Surface).withConfig({ displayName: \"vui--ListCard\", componentId: \"vui--kw21jd\" }) `min-width:280px;padding:${sizes.base} 0;display:flex;flex-direction:column;`;\nexport const Section = styled.section.withConfig({ displayName: \"vui--Section\", componentId: \"vui--1s2yh62\" }) `display:flex;flex-direction:column;& + &{border-top:1px solid ${colors.neutral.grey.base};margin-top:${sizes.base};padding-top:${sizes.base};}`;\nexport const SectionHeading = styled(Text).attrs({ variant: 'subheadingSmall' }).withConfig({ displayName: \"vui--SectionHeading\", componentId: \"vui--pmpwvh\" }) `margin:${sizes.sm} ${sizes.base} ${sizes.sm};`;\nexport const Item = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--Item\", componentId: \"vui--16t44ko\" }) `box-sizing:border-box;min-height:${sizes.lg};padding:${sizes.xs} ${sizes.base};display:flex;align-items:center;white-space:nowrap;font-family:${text.body.fontFamily};font-size:${text.body.fontSize};font-weight:${text.body.fontWeight};&:hover{background-color:${colors.neutral.grey.light};color:${colors.secondary.blue.base};}& > * + *{margin-left:${sizes[3]};}`;\nexport const ActionItem = styled(Item).withConfig({ displayName: \"vui--ActionItem\", componentId: \"vui--18nrzt0\" }) `color:${colors.secondary.blue.base};`;\nexport const LinkItem = styled(Item).withConfig({ displayName: \"vui--LinkItem\", componentId: \"vui--1vta1xq\" }) `color:${colors.secondary.blue.base};text-decoration:underline;`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { Popover } from '../Popover';\nimport { Button } from '../Button';\nimport { Section, SectionHeading, ListCard, Item, ActionItem, LinkItem } from './styled';\nconst itemMap = {\n item: Item,\n action: ActionItem,\n link: LinkItem,\n};\nexport const ActionList = ({ title, items = [], sections, buttonVariant, buttonSize, }) => {\n const [isActive, setIsActive] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (callback) => {\n setIsActive(false);\n callback();\n };\n const renderItem = (item) => {\n const ItemComponent = itemMap[item.variant || 'item'];\n return (React.createElement(ItemComponent, { onClick: () => handleClick(item.onClick), key: item.title },\n item.icon && item.icon,\n React.createElement(\"span\", null, item.title)));\n };\n const renderSection = (section) => (React.createElement(Section, { key: section.title },\n section.title && React.createElement(SectionHeading, null, section.title),\n section.items.map(renderItem)));\n const listItemMarkup = sections ? sections.map(renderSection) : items.map(renderItem);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { dropdown: true, variant: buttonVariant, size: buttonSize, onClick: () => setIsActive(!isActive), ref: setAnchorEl }, title),\n isActive && (React.createElement(Popover, { anchorElement: anchorEl, placement: \"bottom-start\", onShouldClose: () => setIsActive(false) },\n React.createElement(ListCard, null, listItemMarkup)))));\n};\n//# sourceMappingURL=ActionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const CommonAnchor = styled.a.withConfig({ displayName: \"vui--CommonAnchor\", componentId: \"vui--14i39s8\" }) `box-sizing:border-box;display:inline-flex;margin:0;padding:0;font-family:${theme.text.link.fontFamily};font-style:${theme.text.link.fontStyle};font-weight:${theme.text.link.fontWeight};font-size:${theme.text.link.fontSize};line-height:${theme.text.link.lineHeight};color:${theme.colors.secondary.blue.base};text-decoration:${theme.text.link.textDecoration};&:hover{color:${theme.colors.secondary.blue.dark};}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { CommonAnchor } from './styled';\nexport const Anchor = ({ children, className, text, href, target }) => (React.createElement(CommonAnchor, { href: href, target: target, className: className }, children || text));\n//# sourceMappingURL=Anchor.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../../BaseContainer/BaseContainer';\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--r1m0qe\" }) `display:inline-flex;background-color:#ffffff;box-shadow:1px 4px 15px rgba(27, 33, 38, 0.25);border-radius:4px;overflow:hidden;`;\n//# sourceMappingURL=styled.js.map","import React, { forwardRef } from 'react';\nimport { Container } from './styled';\nexport const BasicDropdown = forwardRef((props, ref) => {\n const { children, className } = props;\n return (React.createElement(Container, { className: className, ref: ref }, children));\n});\n//# sourceMappingURL=BasicDropdown.js.map","import styled from 'styled-components';\nimport { BasicDropdown } from './components/BasicDropdown';\nimport { BaseContainer as BasicContainer } from '../BaseContainer/BaseContainer';\nconst Container = styled(BasicContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--q4276w\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;`;\nconst Wrap = styled(BasicContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--cfebb1\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:100%;`;\nconst Dropdown = styled(BasicDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--u4w0zl\" }) `flex-direction:column;position:absolute;z-index:3;${(props) => (props.reversed ? 'bottom: 8px;' : 'top: 6px;')} &.dropdown-enter{opacity:0;transform:translateY(-6px);}&.dropdown-enter-active{opacity:1;transition:all 200ms;transform:translateY(0px);}&.dropdown-exit{opacity:1;transform:translateY(0px);}&.dropdown-exit-active{opacity:0;transition:all 200ms;transform:translateY(-6px);}`;\nexport { Wrap, Dropdown, Container };\n//# sourceMappingURL=styled.js.map","import React, { useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Wrap, Dropdown, Container } from './styled';\nimport { useClickAway } from './hooks/useClickAway';\nexport const AnimatedDropdown = ({ cta, shouldShowDropdown, children, className = 'animated-dropdown', reversed = false, onClickAway = () => { }, timeout = 350, transitionClassnames = 'dropdown', onClick, onMouseEnter, onMouseLeave, }) => {\n const dropdownRef = useRef(null);\n useClickAway(dropdownRef, (event) => {\n if (shouldShowDropdown) {\n onClickAway(event);\n }\n });\n return (React.createElement(Container, { className: `${className}-container ${className}`, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: dropdownRef },\n !reversed && cta,\n React.createElement(Wrap, { className: `${className}-wrap ${className}` },\n React.createElement(CSSTransition, { in: shouldShowDropdown, timeout: timeout, classNames: transitionClassnames, unmountOnExit: true },\n React.createElement(Dropdown, { reversed: reversed, className: `${className}-basic-dropdown ${className}` }, children))),\n reversed && cta));\n};\n//# sourceMappingURL=AnimatedDropdown.js.map","import { useEffect } from 'react';\nexport const useClickAway = (ref, onClickAway) => {\n useEffect(() => {\n const handleClickAway = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n onClickAway(event);\n }\n };\n document.addEventListener('mousedown', handleClickAway);\n return () => {\n document.removeEventListener('mousedown', handleClickAway);\n };\n }, [ref, onClickAway]);\n};\n//# sourceMappingURL=useClickAway.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const AvatarSC = styled.div.withConfig({ displayName: \"vui--AvatarSC\", componentId: \"vui--1gxc5tv\" }) `width:${(props) => props.width};height:${(props) => props.width};border:3px solid ${theme.colors.neutral.grey.base};color:${(props) => props.textColor};background-color:${(props) => props.bgColor};cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center;background-size:cover;span{font-family:${theme.text.bodySmallBold.fontFamily};font-weight:${theme.text.bodySmallBold.fontWeight};font-size:${theme.text.bodySmallBold.fontSize};line-height:${theme.text.bodySmallBold.lineHeight};}`;\n//# sourceMappingURL=styled.js.map","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { theme } from '../../theme';\nimport { AvatarSC } from './styled';\nexport const Avatar = ({ width = '40px', name = 'Veeqo', bgColor = theme.colors.secondary.blue.base, textColor = '#ffffff', }) => {\n const userInitials = name.toUpperCase().match(/\\b(\\w)/g);\n return (React.createElement(AvatarSC, { width: width, bgColor: bgColor, textColor: textColor, className: \"avatar\" }, userInitials === null || userInitials === void 0 ? void 0 : userInitials.slice(0, 2).map((initial, i) => React.createElement(\"span\", { key: `${initial}-${i}` }, initial))));\n};\n//# sourceMappingURL=Avatar.js.map","export var Position;\n(function (Position) {\n Position[\"end\"] = \"end\";\n Position[\"start\"] = \"start\";\n})(Position || (Position = {}));\nexport var Sides;\n(function (Sides) {\n Sides[\"BOTTOM\"] = \"bottom\";\n Sides[\"TOP\"] = \"top\";\n})(Sides || (Sides = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { theme } from '../../theme';\nconst Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--12sulil\" }) `display:inline-block;`;\nconst Hoverable = styled(Container).withConfig({ displayName: \"vui--Hoverable\", componentId: \"vui--17ltyut\" }) ``;\nconst TooltipText = styled(Text).withConfig({ displayName: \"vui--TooltipText\", componentId: \"vui--183a4l5\" }) `color:${theme.colors.neutral.grey.lightest};white-space:pre-line;overflow-wrap:break-word;display:inline;`;\nconst Triangle = styled.div.withConfig({ displayName: \"vui--Triangle\", componentId: \"vui--rjghyf\" }) `background-color:#333;height:16px;width:16px;position:absolute;transform:rotate(45deg);z-index:12;`;\nconst Tip = styled.div.withConfig({ displayName: \"vui--Tip\", componentId: \"vui--1v5pppn\" }) `transition:${({ duration }) => `opacity ${duration}ms`};&.tip-enter{opacity:0;}&.tip-enter-active{opacity:1;}&[data-popper-placement^='top-start'] > #veeqo-components-triangle{left:8px;bottom:0px;}&[data-popper-placement^='top-end'] > #veeqo-components-triangle{right:8px;bottom:0px;}&[data-popper-placement^='bottom-start'] > #veeqo-components-triangle{left:8px;top:-4px;}&[data-popper-placement^='bottom-end'] > #veeqo-components-triangle{right:8px;top:-4px;}`;\nconst Wrap = styled(Container).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1xs3k5t\" }) `font-size:14px;overflow:hidden;padding:16px 20px;border-radius:4px;box-shadow:0 6px 1em -0.5em rgba(0, 0, 0, 0.35);background:#333;color:#fff;z-index:10;min-width:${({ tipMinWidth }) => tipMinWidth}px;max-width:${({ tipMaxWidth }) => tipMaxWidth}px;`;\nexport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle };\n//# sourceMappingURL=styled.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport ReactDOM from 'react-dom';\nimport { theme } from '../../theme';\nimport { Sides } from './types';\nimport { Container, TooltipText, Tip, Hoverable, Wrap, Triangle } from './styled';\nconst defaultConfig = {\n duration: 400,\n side: Sides.TOP,\n triangleOffset: 8,\n tipMinWidth: 60,\n tipMaxWidth: 340,\n};\nexport const Tooltip = ({ children, text, content, config, reversed = false, className, withTriangle, initialShouldShow = false, useReactPortal = true, }) => {\n const hasText = text ? text.trim().length > 0 : false;\n const usedConfig = Object.assign(Object.assign({}, defaultConfig), config);\n const { duration, side, triangleOffset, tipMinWidth, tipMaxWidth } = usedConfig;\n const classNames = {\n container: className && `${className} ${className}-container`,\n tip: className && `${className}-tip`,\n wrap: className && `${className}-wrap`,\n triangle: className && `${className}-triangle`,\n hoverable: className && `${className}-hoverable`,\n };\n const [shouldShow, setShouldShow] = useState(initialShouldShow);\n const [hoverableElement, setHoverableElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const { styles, attributes } = usePopper(hoverableElement, popperElement, {\n placement: `${side}-${reversed ? 'end' : 'start'}`,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n const show = useCallback(() => setShouldShow(true), [setShouldShow]);\n const hide = useCallback(() => setShouldShow(false), [setShouldShow]);\n const tooltipStyles = Object.assign(Object.assign({}, styles.popper), { zIndex: theme.layers.tooltip });\n const tooltipMarkup = shouldShow && (content || hasText) && (React.createElement(Tip, Object.assign({ className: classNames.tip, ref: setPopperElement, duration: duration, triangleOffsetSize: triangleOffset, style: tooltipStyles }, attributes.popper, { role: \"tooltip\" }),\n React.createElement(Wrap, { className: classNames.wrap, tipMinWidth: tipMinWidth, tipMaxWidth: tipMaxWidth }, content !== null && content !== void 0 ? content : React.createElement(TooltipText, null, text)),\n withTriangle && React.createElement(Triangle, { id: \"veeqo-components-triangle\", className: classNames.triangle })));\n return (React.createElement(Container, { className: classNames.container },\n useReactPortal ? ReactDOM.createPortal(tooltipMarkup, document.body) : tooltipMarkup,\n React.createElement(Hoverable, { ref: setHoverableElement, className: classNames.hoverable, onMouseEnter: show, onMouseLeave: hide }, children)));\n};\n//# sourceMappingURL=Tooltip.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nimport { sizes } from '../../theme/modules/sizes';\nconst BaseBadge = styled(BaseContainer).withConfig({ displayName: \"vui--BaseBadge\", componentId: \"vui--1l3fzu\" }) `display:inline-flex;align-items:center;vertical-align:middle;gap:4px;padding:0.35em 0.65em;font-family:${text.bodySmall.fontFamily};font-weight:${text.bodySmall.fontWeight};font-size:75%;line-height:16px;border-radius:0.75rem;border:${(props) => (props.hideBorder ? 'none' : '1px solid transparent')};cursor:default;svg{width:${sizes.base};height:${sizes.base};}`;\nexport const DefaultBadge = styled(BaseBadge).withConfig({ displayName: \"vui--DefaultBadge\", componentId: \"vui--rwc6j0\" }) `background-color:inherit;border-color:${colors.secondary.blue.base};color:${colors.secondary.blue.base};`;\nexport const PrimaryBadge = styled(BaseBadge).withConfig({ displayName: \"vui--PrimaryBadge\", componentId: \"vui--1fakkjy\" }) `border-color:${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};color:${colors.secondary.blue.base};`;\nexport const WarningBadge = styled(BaseBadge).withConfig({ displayName: \"vui--WarningBadge\", componentId: \"vui--1r2egf1\" }) `border-color:${colors.secondary.yellow.base};background-color:${colors.secondary.yellow.lightest};color:${colors.secondary.orange.dark};`;\n//# sourceMappingURL=styled.js.map","export const buildClassnames = (names) => names.filter(Boolean).join(' ');\n//# sourceMappingURL=buildClassnames.js.map","import React from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { DefaultBadge, PrimaryBadge, WarningBadge } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst variantMap = {\n default: DefaultBadge,\n primary: PrimaryBadge,\n warning: WarningBadge,\n};\nexport const Badge = ({ variant = 'default', hideBorder = false, iconSlot, tooltip, className, e2eClassName, children, }) => {\n const BadgeVariant = variantMap[variant];\n return (React.createElement(Tooltip, { text: tooltip },\n React.createElement(BadgeVariant, { className: buildClassnames([className, e2eClassName]), hideBorder: hideBorder },\n iconSlot && iconSlot,\n children && React.createElement(\"span\", null, children))));\n};\n//# sourceMappingURL=Badge.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst BannerLayout = styled(BaseContainer).withConfig({ displayName: \"vui--BannerLayout\", componentId: \"vui--c6sp3u\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:20px 24px 24px 24px;border-radius:4px;${({ accentColor }) => accentColor &&\n `\n box-shadow: 0px 1px 3px rgba(55, 66, 77, 0.15), inset 4px 0px 0px ${accentColor};\n `} background-color:${({ backgroundColor }) => backgroundColor || 'white'};`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--1rdjrmx\" }) `display:flex;flex-direction:row;`;\nconst Col = styled(BaseContainer).withConfig({ displayName: \"vui--Col\", componentId: \"vui--1ttgibs\" }) `display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;`;\nexport const IconCol = styled(Col).withConfig({ displayName: \"vui--IconCol\", componentId: \"vui--1z6c5f\" }) `svg{width:${sizes.md};height:${sizes.md};color:${({ accentColor }) => accentColor};}`;\nexport const ChildContainer = styled(BaseContainer).withConfig({ displayName: \"vui--ChildContainer\", componentId: \"vui--kn3qcr\" }) `width:100%;`;\nconst HeaderCol = styled(Col).withConfig({ displayName: \"vui--HeaderCol\", componentId: \"vui--1nlkkdb\" }) `flex-grow:2;margin-right:12px;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--1ioilg\" }) `position:relative;top:-2px;`;\nexport { BannerLayout as Pill, StyledText as Text, Row, Col, HeaderCol };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { colors } from '../../theme/modules/colors';\nimport { Pill, Text, Row, Col, HeaderCol, ChildContainer, IconCol } from './styled';\nimport { Button } from '../Button';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst accentColors = {\n help: colors.secondary.blue.base,\n info: colors.neutral.ink.base,\n error: colors.secondary.red.base,\n success: colors.secondary.green.base,\n};\n/**\n * The `Banner` component was previously called `Alert` (and similarly `Pill`).\n */\nexport const Banner = (_a) => {\n var { type = 'info', text, icon, onClose, className, header, children, backgroundColor = 'white' } = _a, props = __rest(_a, [\"type\", \"text\", \"icon\", \"onClose\", \"className\", \"header\", \"children\", \"backgroundColor\"]);\n const accentColor = accentColors[type];\n return (React.createElement(Pill, Object.assign({ accentColor: accentColor, className: className, backgroundColor: backgroundColor }, props),\n React.createElement(Row, null,\n icon && (React.createElement(IconCol, { style: { marginRight: sizes.md }, accentColor: accentColor }, icon)),\n children ? (React.createElement(ChildContainer, null, children)) : (React.createElement(React.Fragment, null,\n React.createElement(HeaderCol, null, header || React.createElement(Text, { variant: \"headingSmall\" }, text)),\n React.createElement(Col, null, onClose && (React.createElement(Button, { variant: \"flat\", \"aria-label\": \"Close\", icon: React.createElement(CrossIcon, null), onClick: onClose }))))))));\n};\n//# sourceMappingURL=Banner.js.map","import styled from 'styled-components';\nimport { text } from '../../../theme/modules/text';\nexport const BreadcrumbsSC = styled.ul.withConfig({ displayName: \"vui--BreadcrumbsSC\", componentId: \"vui--1kzms7s\" }) `list-style:none;padding:0;margin:0;display:flex;align-items:center;font-family:${text.body.fontFamily};font-weight:${text.body.fontWeight};font-size:${text.body.fontSize};line-height:${text.body.lineHeight};`;\nexport const BreadcrumbSC = styled.li.withConfig({ displayName: \"vui--BreadcrumbSC\", componentId: \"vui--17agc2w\" }) `display:flex;align-items:center;.separator{display:flex;align-items:center;padding:0px 0.4rem;}a{color:inherit;text-decoration:none;text-transform:capitalize;}a:hover{text-decoration:underline;}span{font-weight:600;text-transform:capitalize;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const RightArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M5.99994 11.06L9.05327 8L5.99994 4.94L6.93994 4L10.9399 8L6.93994 12L5.99994 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=RightArrowIcon.js.map","import React from 'react';\nimport { BreadcrumbSC } from './styled';\nexport const Breadcrumb = ({ children, title, LinkComponent, href }) => {\n if (LinkComponent) {\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n React.createElement(LinkComponent, { href: href }, title),\n children));\n }\n return (React.createElement(BreadcrumbSC, { className: \"breadcrumb\" },\n title,\n children));\n};\n//# sourceMappingURL=Breadcrumb.js.map","import React from 'react';\nimport { BreadcrumbsSC } from './components/styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Breadcrumb } from './components/Breadcrumb';\nconst DefaultSeparator = () => (React.createElement(RightArrowIcon, { className: \"separator\", width: sizes.base, height: sizes.base }));\nconst DefaultLink = ({ children, href }) => React.createElement(\"a\", { href: href }, children);\nconst BreadcrumbText = ({ children }) => React.createElement(\"span\", null, children);\nexport const Breadcrumbs = ({ items, Separator = React.createElement(DefaultSeparator, null), LinkComponent = DefaultLink, }) => (React.createElement(BreadcrumbsSC, { className: \"breadcrumbs\" }, items.map((item, i) => (React.createElement(Breadcrumb, { key: item.title, title: item.title, href: item.pathname, LinkComponent: i !== items.length - 1 ? LinkComponent : BreadcrumbText }, items.length !== i + 1 && Separator)))));\n//# sourceMappingURL=Breadcrumbs.js.map","export var Alignments;\n(function (Alignments) {\n Alignments[\"start\"] = \"flex-start\";\n Alignments[\"center\"] = \"center\";\n Alignments[\"end\"] = \"flex-end\";\n Alignments[\"stretch\"] = \"stretch\";\n Alignments[\"between\"] = \"space-between\";\n Alignments[\"around\"] = \"space-around\";\n})(Alignments || (Alignments = {}));\n//# sourceMappingURL=Alignments.js.map","import styled from 'styled-components';\nimport { Alignments } from './Alignments';\nimport { theme } from '../../theme';\n/**\n * Layout component.\n */\nexport const Stack = styled.div.withConfig({ displayName: \"vui--Stack\", componentId: \"vui--1mxdupo\" }) `display:flex;${(props) => {\n const { direction = 'vertical', alignX = 'start', alignY = 'start', spacing = 'base' } = props;\n let alignItems;\n let justifyContent;\n let flexDirection;\n let itemFlex;\n let marginTop = '';\n let marginLeft = '';\n if (direction === 'vertical') {\n alignItems = alignX && Alignments[alignX];\n justifyContent = alignY && Alignments[alignY];\n marginTop = theme.sizes[spacing];\n flexDirection = 'column';\n }\n else {\n alignItems = alignY && Alignments[alignY];\n justifyContent = alignX && Alignments[alignX];\n marginLeft = theme.sizes[spacing];\n flexDirection = 'row';\n }\n // These options result in 'justify-content: stretch' which doesn't exist,\n // so instead we set the flex of child elements\n if ((direction === 'vertical' && alignY === 'stretch') ||\n (direction === 'horizontal' && alignX === 'stretch')) {\n itemFlex = 1;\n }\n return `\n align-items: ${alignItems};\n justify-content: ${justifyContent};\n flex-direction: ${flexDirection};\n\n & > * {\n flex: ${itemFlex};\n }\n\n & > * + * {\n margin-top: ${marginTop};\n margin-left: ${marginLeft};\n }\n `;\n}}`;\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import styled from 'styled-components';\nimport { Tooltip } from '../../Tooltip';\nimport { theme } from '../../../theme';\nconst alignMap = {\n top: 'flex-start',\n center: 'center',\n};\nexport const RootLayout = styled.div.withConfig({ displayName: \"vui--RootLayout\", componentId: \"vui--11nf17l\" }) `display:flex;align-items:center;& > * + *{margin-left:${theme.sizes.base};}`;\nexport const InputLayout = styled.div.withConfig({ displayName: \"vui--InputLayout\", componentId: \"vui--1yac6kr\" }) `align-self:stretch;display:flex;align-items:${(props) => alignMap[props.align]};width:24px;height:24px;`;\nexport const AccessoryLayout = styled.div.withConfig({ displayName: \"vui--AccessoryLayout\", componentId: \"vui--qbgrc7\" }) `align-self:center;display:flex;align-items:center;`;\nexport const TextLayout = styled.div.withConfig({ displayName: \"vui--TextLayout\", componentId: \"vui--1uu3ed5\" }) `flex:1;& > * + *{margin-top:${theme.sizes.sm};}`;\nexport const LabelText = styled.span.withConfig({ displayName: \"vui--LabelText\", componentId: \"vui--xampag\" }) `font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.sizes.md};color:${theme.text.body.color};`;\nexport const HintText = styled.div.withConfig({ displayName: \"vui--HintText\", componentId: \"vui--nu56mb\" }) `font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const ErrorText = styled.div.withConfig({ displayName: \"vui--ErrorText\", componentId: \"vui--k1l2b9\" }) `font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};`;\nexport const Wrapper = styled.label.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--124eta7\" }) `box-sizing:border-box;&:hover{cursor:${(props) => (props.disabled ? 'default' : 'pointer')};}`;\nexport const BorderedWrapper = styled(Wrapper).withConfig({ displayName: \"vui--BorderedWrapper\", componentId: \"vui--1g99902\" }) `border:2px solid ${theme.colors.neutral.grey.dark};border-radius:${theme.radius.md};padding:${theme.sizes.base} 0.75rem;&:hover{border-color:${theme.colors.secondary.blue.base};}& ${LabelText}{font-weight:${theme.text.bodyBold.fontWeight};}`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1ycxtt7\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const HelpIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 18H13V16H11V18ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 12 11 11.75 11 15H13C13 12.75 16 12.5 16 10C16 7.79 14.21 6 12 6Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=HelpIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { theme } from '../../theme';\nimport { Wrapper, BorderedWrapper, RootLayout, InputLayout, AccessoryLayout, TextLayout, LabelText, HintText, ErrorText, BlockTooltip, } from './components/styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nexport const Choice = ({ id, label, hint, tooltip, error, bordered, Badge, Accessory, Footer, children, disabled = false, }) => {\n const contentMarkup = (React.createElement(RootLayout, null,\n React.createElement(InputLayout, { align: Accessory ? 'center' : 'top' }, children),\n Accessory && React.createElement(AccessoryLayout, null, Accessory),\n label || hint || error || Badge || Footer ? (React.createElement(TextLayout, null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n Badge,\n label && React.createElement(LabelText, null, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { name: \"help\", width: theme.sizes.base, color: theme.colors.neutral.ink.lightest })))),\n hint && React.createElement(HintText, null, hint),\n error && React.createElement(ErrorText, null, error),\n Footer)) : null));\n if (bordered) {\n return (React.createElement(BorderedWrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n }\n return (React.createElement(Wrapper, { disabled: disabled, htmlFor: id }, contentMarkup));\n};\n//# sourceMappingURL=Choice.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { colors, sizes, radius } = theme;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--hippn5\" }) `appearance:none;width:18px;height:18px;background-color:transparent;border:2px solid ${colors.neutral.ink.lightest};border-radius:${radius.base};cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s,background-color 0.1s;&:checked{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='white' /></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:hover{border-color:${colors.secondary.blue.base};}&:active{border-color:${colors.secondary.blue.base};}&:focus{box-shadow:0 0 0 4px ${colors.secondary.blue.light};outline:0;}&:indeterminate{background-color:${colors.secondary.blue.base};border-color:${colors.secondary.blue.base};background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='white'/></svg>\");background-repeat:no-repeat;background-size:${sizes[4]};background-position:center;}&:disabled{box-shadow:none;background-color:${colors.neutral.grey.base};border-color:${colors.neutral.grey.base};color:${colors.neutral.ink.light};cursor:default;}&:checked:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M8.56846 16.3657L3.86697 11.6642L2.2998 13.2313L8.56846 19.5L22.0013 6.06716L20.4341 4.5L8.56846 16.3657Z' fill='%23637381' /></svg>\");}&:indeterminate:disabled{background-image:url(\"data:image/svg+xml;utf-8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><rect x='5' y='11' width='14' height='3' fill='%23637381'/></svg>\");}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Checkbox = (_a) => {\n var { checked, indeterminate, value, name, disabled, ariaLabel, className, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"indeterminate\", \"value\", \"name\", \"disabled\", \"ariaLabel\", \"className\", \"onChange\"]);\n const id = useMemo(() => generateId('checkbox'), []);\n const checkboxRef = useRef(null);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n useEffect(() => {\n if (!checkboxRef.current)\n return;\n if (indeterminate === true) {\n checkboxRef.current.indeterminate = true;\n return;\n }\n checkboxRef.current.indeterminate = false;\n }, [indeterminate]);\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { ref: checkboxRef, id: id, type: \"checkbox\", checked: checked, value: value, name: name, disabled: disabled, \"aria-label\": ariaLabel, className: className, onChange: handleChange })));\n};\n//# sourceMappingURL=Checkbox.js.map","import styled from 'styled-components';\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1e1oks4\" }) `appearance:none;box-sizing:border-box;flex-shrink:0;width:18px;height:18px;margin:3px;background-color:transparent;border:2px solid #637381;border-radius:50%;outline:none;cursor:pointer;flex-shrink:0;transition:box-shadow 0.1s;&:checked{position:relative;border-color:#0079d1;}&:checked::before{content:'';width:10px;height:10px;position:absolute;top:2px;left:2px;background-color:#0079d1;border-radius:50%;}&:hover{border-color:#0079d1;}&:active{border-color:#0079d1;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{box-shadow:none;background-color:#dfe3e8;border-color:#959fa8;cursor:default;}&:disabled::before{background-color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback } from 'react';\nimport { Choice } from '../Choice';\nimport { Input } from './styled';\nimport { generateId } from '../../utils/generateId';\nexport const Radio = (_a) => {\n var { checked, value, name, disabled, onChange } = _a, otherProps = __rest(_a, [\"checked\", \"value\", \"name\", \"disabled\", \"onChange\"]);\n const handleChange = useCallback((e) => {\n onChange(e.currentTarget.checked, value);\n }, [onChange, value]);\n const id = generateId('radio');\n return (React.createElement(Choice, Object.assign({ id: id, disabled: disabled }, otherProps),\n React.createElement(Input, { id: id, type: \"radio\", checked: checked, value: value, name: name, disabled: disabled, onChange: handleChange })));\n};\n//# sourceMappingURL=Radio.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const Fieldset = styled.fieldset.withConfig({ displayName: \"vui--Fieldset\", componentId: \"vui--bygv6o\" }) `padding:0;display:flex;flex-direction:column;border:0;& > * + *{margin-top:16px;}`;\nexport const Legend = styled.legend.withConfig({ displayName: \"vui--Legend\", componentId: \"vui--18baj4v\" }) `font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-style:${theme.text.inputLabel.fontStyle};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};text-decoration:${theme.text.inputLabel.textDecoration};color:${theme.text.inputLabel.color};`;\n//# sourceMappingURL=styled.js.map","import React, { Component } from 'react';\nimport { Radio } from '../Radio';\nimport { Checkbox } from '../Checkbox';\nimport { Fieldset, Legend } from './styled';\nexport class ChoiceList extends Component {\n constructor() {\n super(...arguments);\n this.handleChange = (value, checked) => {\n const { allowMultiple } = this.props;\n if (allowMultiple) {\n this.handleChangeMultiple(value, checked);\n return;\n }\n this.handleChangeSingle(value, checked);\n };\n this.handleChangeSingle = (value, checked) => {\n const { onChange } = this.props;\n if (checked) {\n onChange([value]);\n }\n };\n this.handleChangeMultiple = (value, checked) => {\n const { selected, onChange } = this.props;\n let newSelected = [];\n if (checked) {\n newSelected = [...selected, value];\n }\n else {\n newSelected = selected.filter((selectedValue) => selectedValue !== value);\n }\n onChange(newSelected);\n };\n }\n render() {\n const { allowMultiple, options, selected, title, disabled, bordered } = this.props;\n const InputComponent = allowMultiple ? Checkbox : Radio;\n return (React.createElement(Fieldset, { disabled: disabled },\n title && React.createElement(Legend, null, title),\n options.map((option) => (React.createElement(InputComponent, Object.assign({ key: option.value, bordered: bordered, checked: selected.includes(option.value), onChange: (checked) => this.handleChange(option.value, checked) }, option))))));\n }\n}\n//# sourceMappingURL=ChoiceList.js.map","import React from 'react';\nexport const SuccessIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM14.7708 8L10.0856 13.2468L8.22925 11.1679L7 12.5445L10.0856 16L16 9.37661L14.7708 8ZM20.1818 12C20.1818 16.5187 16.5187 20.1818 12 20.1818C7.48131 20.1818 3.81818 16.5187 3.81818 12C3.81818 7.48131 7.48131 3.81818 12 3.81818C16.5187 3.81818 20.1818 7.48131 20.1818 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SuccessIcon.js.map","import React from 'react';\nexport const ClipboardIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M19 3H14.82C14.4 1.84 13.3 1 12 1C10.7 1 9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V21C3 22.1 3.9 23 5 23H19C20.1 23 21 22.1 21 21V5C21 3.9 20.1 3 19 3ZM12 3C12.55 3 13 3.45 13 4C13 4.55 12.55 5 12 5C11.45 5 11 4.55 11 4C11 3.45 11.45 3 12 3ZM19 21H5V5H7V8H17V5H19V21Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=ClipboardIcon.js.map","import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { Tooltip } from '../Tooltip';\nimport { colors } from '../../theme/modules/colors';\nimport { SuccessIcon } from '../../tempIcons/SuccessIcon';\nimport { sizes } from '../../theme/modules/sizes';\nimport { Button } from '../Button';\nimport { ClipboardIcon } from '../../tempIcons/ClipboardIcon';\nconst iconSizes = { width: sizes.base, height: sizes.base };\n/**\n * Created in here to fix orders table sizes. Bad pattern to use in main button component, as\n * touch target is below A11y guidelines.\n */\nconst XSButton = styled(Button).withConfig({ displayName: \"vui--XSButton\", componentId: \"vui--e6p1xr\" }) `padding:1px;height:unset;span{height:${sizes.base};width:${sizes.base};top:unset;}`;\n/**\n * A dynamic button to facilitate copying text to a users' keyboard when clicked.\n */\nexport const CopyToClipboard = ({ className, text, onCopy }) => {\n const [copied, setCopied] = React.useState(false);\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(text);\n if (onCopy)\n onCopy();\n setCopied(true);\n setTimeout(() => setCopied(false), 2500);\n }, [onCopy, text]);\n return (React.createElement(Tooltip, { text: copied ? 'Copied!' : 'Copy to clipboard' },\n React.createElement(XSButton, { variant: \"flat\", size: \"sm\", className: className, \"aria-label\": `${copied ? 'Copied' : 'Copy'} \"${text}\" to clipboard`, icon: copied ? (React.createElement(SuccessIcon, Object.assign({ color: colors.secondary.green.base }, iconSizes))) : (React.createElement(ClipboardIcon, Object.assign({ color: colors.secondary.blue.base }, iconSizes))), onClick: handleCopy })));\n};\n//# sourceMappingURL=CopyToClipboard.js.map","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--mk4i58\" }) `display:flex;flex-direction:row;align-items:center;`;\nexport const Wrapper = styled.div.withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--1u7sppu\" }) `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--nqtqxh\" }) `border:1px solid ${grey.dark};border-radius:4px;`;\nexport const Head = styled.thead.withConfig({ displayName: \"vui--Head\", componentId: \"vui--hwzh6q\" }) `background-color:white;`;\nexport const Body = styled.tbody.withConfig({ displayName: \"vui--Body\", componentId: \"vui--1gnu0g8\" }) `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--12mqlfu\" }) `& 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--r2keiy\" }) `&.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--1nm3hyy\" }) `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--kltvmt\" }) `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--12khvw8\" }) `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--h02j5\" }) `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--qgln4m\" }) `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--12fomsb\" }) `position:fixed;top:0;z-index:2;overflow-x:hidden;`;\nexport const FakeHeaderTable = styled(Table).withConfig({ displayName: \"vui--FakeHeaderTable\", componentId: \"vui--1als2zg\" }) ``;\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--1jchnd5\" }) `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--1o7dres\" }) `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--1uhjhtm\" }) `margin-top:24px;`;\nconst SubTitleText = styled(Text).withConfig({ displayName: \"vui--SubTitleText\", componentId: \"vui--1kbpqgh\" }) `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--jx2vik\" }) `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--oqo38u\" }) `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--1win89s\" }) `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--1f316dz\" }) `height:16px;width:100%;`;\nconst SkeletonContentComponent = styled.div.withConfig({ displayName: \"vui--SkeletonContentComponent\", componentId: \"vui--1gn131q\" }) `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 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 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\" }));\nexport const DataTable = ({ 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};\nDataTable.Cell = Cell;\nDataTable.ClickableCell = ClickableCell;\nDataTable.EditableCell = EditableCell;\nDataTable.SkeletonCell = SkeletonCell;\nDataTable.SkeletonContent = SkeletonContent;\n//# sourceMappingURL=DataTable.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 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--1vat8up\" }) `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--737x0o\" }) `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--i7g1t1\" }) `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--1mybdy1\" }) `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--ccxpgr\" }) `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--1vc6lzf\" }) `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--xy0vyq\" }) `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--vgmrdc\" }) `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--ejaprg\" }) `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--ni4ybh\" }) `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--1r0ir4h\" }) `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--1cif9m3\" }) `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--1ruib9d\" }) `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--7usb8e\" }) `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--1qn89sr\" }) `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--1xqen7k\" }) `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 DataTableExp = ({ 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};\nDataTableExp.defaultProps = {\n loading: false,\n loadingRowCount: 5,\n selectionMode: 'multiple',\n stripingMode: 'row',\n enableStickyHeader: true,\n};\nDataTableExp.Cell = Cell;\nDataTableExp.ColumnMenu = ColumnMenu;\nDataTableExp.SelectionCell = SelectionCell;\nDataTableExp.SelectionHeader = SelectionHeader;\nDataTableExp.Header = Header;\nDataTableExp.Truncate = Truncate;\nDataTableExp.NoWrap = NoWrap;\n//# sourceMappingURL=DataTable.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\nimport { LoadingCellContent } from '../components/LoadingCellContent';\n/**\n * Default renderer for loading cells\n * @param row\n * @param column\n * @returns\n */\nexport function renderLoadingCell(row, column) {\n if (column.hidden === true) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n return (React.createElement(Cell, Object.assign({}, cellProps),\n React.createElement(LoadingCellContent, null)));\n}\n//# sourceMappingURL=renderLoadingCell.js.map","/**\n * Default renderer for table cells\n *\n * @param row\n * @param column\n * @returns\n */\nexport function renderCell(row, column, actions, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${row.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n span: column.span,\n };\n return column.renderCell(row, cellProps, actions, rowState);\n}\n//# sourceMappingURL=renderCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table cells in nested rows\n *\n * @param nestedRow\n * @param column\n * @returns\n */\nexport function renderNestedCell(nestedRow, column, rowState) {\n if (column.hidden) {\n return null;\n }\n const cellProps = {\n align: column.align,\n key: `${nestedRow.id}-${column.id}`,\n role: 'cell',\n spacing: column.spacing,\n };\n if (!column.renderNestedCell) {\n return React.createElement(Cell, Object.assign({}, cellProps));\n }\n return column.renderNestedCell(nestedRow, cellProps, rowState);\n}\n//# sourceMappingURL=renderNestedCell.js.map","import React from 'react';\nimport { Cell } from '../components/Cell';\n/**\n * Default renderer for table footer cells\n *\n * @param column Column configuration object\n * @returns Footer cell instance\n */\nexport function renderFooter({ column }) {\n if (column.hidden) {\n return null;\n }\n const footerProps = {\n key: column.id,\n role: 'cell',\n align: column.align,\n spacing: column.spacing,\n };\n if (!column.renderFooter) {\n return React.createElement(Cell, Object.assign({}, footerProps));\n }\n return column.renderFooter(column, footerProps);\n}\n//# sourceMappingURL=renderFooter.js.map","import React, { useState } from 'react';\nimport { Button } from '../../Button';\nimport { Card } from '../../Card';\nimport { Popover } from '../../Popover';\nimport { Stack } from '../../Stack';\nimport { theme } from '../../../theme';\nimport { VisiblityIcon } from '../../../tempIcons/VisibilityIcon';\nimport { VisiblityOffIcon } from '../../../tempIcons/VisibilityOffIcon';\nimport { ReorderIcon } from '../../../tempIcons/ReorderIcon';\nexport function ColumnMenu({ columns, columnGroups, setColumns }) {\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n const [showPopover, setShowPopover] = useState(false);\n const columnEntries = columns.map((column) => [column.id, column]);\n const columnsMap = Object.fromEntries(columnEntries);\n const groups = columnGroups.map((group) => group.map((columnId) => columnsMap[columnId]));\n const setHidden = (groupIndex, hidden) => {\n const columnIds = groups[groupIndex].map((column) => column.id);\n const newColumns = [...columns];\n columnIds.forEach((columnId) => {\n const index = newColumns.findIndex((column) => column.id === columnId);\n if (index < 0)\n return;\n newColumns[index] = Object.assign(Object.assign({}, newColumns[index]), { hidden });\n });\n setColumns(newColumns);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { ref: setPopoverAnchor, dropdown: true, onClick: () => setShowPopover(true) }, \"Columns\"),\n showPopover && (React.createElement(Popover, { anchorElement: popoverAnchor, onShouldClose: () => setShowPopover(false) },\n React.createElement(Card, { style: { width: 600 } },\n React.createElement(Stack, { alignX: \"stretch\", spacing: \"sm\" }, groups.map((group, groupIndex) => (React.createElement(Stack, { key: group[0].id, direction: \"horizontal\", alignY: \"center\", spacing: \"sm\", style: {\n border: '1px solid black',\n padding: 8,\n } },\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(ReorderIcon, null) }),\n React.createElement(Stack, { spacing: \"sm\", style: { flex: 1 } }, group.map((column) => (React.createElement(\"div\", { key: column.id }, column.title)))),\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"sm\" }, group[0].hidden ? (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityOffIcon, null), onClick: () => setHidden(groupIndex, false), style: { color: theme.colors.neutral.ink.lightest } })) : (React.createElement(Button, { variant: \"flat\", icon: React.createElement(VisiblityIcon, null), onClick: () => setHidden(groupIndex, true) }))))))))))));\n}\n//# sourceMappingURL=ColumnMenu.js.map","import React from 'react';\nimport styled from 'styled-components';\nimport { theme } from '../../theme';\nconst List = styled.dl.withConfig({ displayName: \"vui--List\", componentId: \"vui--syirga\" }) `margin:unset;& > * + *{margin-top:${theme.sizes.base};}`;\nconst Item = styled.div.withConfig({ displayName: \"vui--Item\", componentId: \"vui--dz7dgm\" }) `& > * + *{margin-top:${theme.sizes.xs};}`;\nconst ItemRow = styled.div.withConfig({ displayName: \"vui--ItemRow\", componentId: \"vui--1b0o5wp\" }) `display:flex;justify-content:space-between;& > * + *{margin-left:${theme.sizes.base};}`;\nconst DescriptionContainer = styled.div.withConfig({ displayName: \"vui--DescriptionContainer\", componentId: \"vui--foltw8\" }) `text-align:right;& > * + *{margin-top:${theme.sizes.xs};}`;\nconst Term = styled.dt.withConfig({ displayName: \"vui--Term\", componentId: \"vui--s2cfux\" }) `font-family:${theme.text.bodyBold.fontFamily};font-size:${theme.text.bodyBold.fontSize};font-weight:${theme.text.bodyBold.fontWeight};line-height:${theme.text.bodyBold.lineHeight};color:${theme.text.bodyBold.color};`;\nconst Description = styled.dd.withConfig({ displayName: \"vui--Description\", componentId: \"vui--1915ejg\" }) `margin-left:unset;font-family:${theme.text.body.fontFamily};font-size:${theme.text.body.fontSize};font-weight:${theme.text.body.fontWeight};line-height:${theme.text.body.lineHeight};color:${theme.text.body.color};`;\nexport const DescriptionList = ({ items, horizontal }) => {\n const renderDescription = (description) => {\n if (Array.isArray(description)) {\n return description.map((d) => React.createElement(Description, { key: d }, d));\n }\n return React.createElement(Description, null, description);\n };\n const renderItem = (item) => {\n if (horizontal) {\n return (React.createElement(ItemRow, { key: item.term },\n React.createElement(Term, null, item.term),\n React.createElement(DescriptionContainer, null, renderDescription(item.description))));\n }\n return (React.createElement(Item, { key: item.term },\n React.createElement(Term, null, item.term),\n renderDescription(item.description)));\n };\n return React.createElement(List, null, items.map(renderItem));\n};\n//# sourceMappingURL=DescriptionList.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst { sizes, colors } = theme;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--2wnu9m\" }) `width:100%;display:grid;grid-template-columns:${({ showSidebar = true }) => showSidebar ? `calc(100% - 312px - ${sizes.md}) 312px` : '100% 312px'};align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\nexport const ContentContainer = styled.div.withConfig({ displayName: \"vui--ContentContainer\", componentId: \"vui--nvukr5\" }) `width:100%;box-sizing:border-box;padding:${sizes.md};overflow-x:hidden;background-color:${colors.neutral.grey.lightest};`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { ColumnGrid, ContentContainer } from './styled';\nexport const DetailPage = ({ renderHeader, children }) => {\n const [shouldShowSidebar, setShouldShowSidebar] = useState(true);\n const toggleSidebar = () => setShouldShowSidebar(!shouldShowSidebar);\n return (React.createElement(\"main\", null,\n renderHeader(toggleSidebar, shouldShowSidebar),\n React.createElement(ContentContainer, null,\n React.createElement(ColumnGrid, { showSidebar: shouldShowSidebar }, children))));\n};\n//# sourceMappingURL=DetailPage.js.map","import styled from 'styled-components';\nexport const InputGroup = styled.div.withConfig({ displayName: \"vui--InputGroup\", componentId: \"vui--1w0e9jz\" }) `display:flex;& > *{margin-left:0;margin-right:0;box-shadow:none;}& > *:not(:last-child){border-right-width:0 !important;}& > *:hover{}& > *:focus,& > *:active{z-index:5;border-right-width:1px !important;}& > *:focus + *,& > *:active + *{border-left-width:0 !important;}& > *:not(:first-child):not(:last-child){border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:first-child{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;}& > *:last-child{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important;}`;\n//# sourceMappingURL=index.js.map","export var ComponentSize;\n(function (ComponentSize) {\n ComponentSize[\"base\"] = \"base\";\n ComponentSize[\"sm\"] = \"sm\";\n})(ComponentSize || (ComponentSize = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { Stack } from '../../components/Stack';\nimport { Tooltip } from '../../components/Tooltip';\nimport { theme } from '../../theme';\nexport const Label = styled.label.withConfig({ displayName: \"vui--Label\", componentId: \"vui--qydg5r\" }) `display:block;font-family:${theme.text.inputLabel.fontFamily};font-size:${theme.text.inputLabel.fontSize};font-weight:${theme.text.inputLabel.fontWeight};line-height:${theme.text.inputLabel.lineHeight};color:${theme.text.inputLabel.color};`;\nexport const Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--1p3i1v3\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport const Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--9vxkaw\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nexport const RootStack = styled(Stack).withConfig({ displayName: \"vui--RootStack\", componentId: \"vui--10dmq2i\" }) `position:relative;`;\nexport const BlockTooltip = styled(Tooltip).withConfig({ displayName: \"vui--BlockTooltip\", componentId: \"vui--1haf85r\" }) `display:block;&-hoverable{display:block;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useMemo } from 'react';\nimport { theme } from '../../theme';\nimport { Stack } from '../../components/Stack';\nimport { RootStack, Label, Hint, Error, BlockTooltip } from './styled';\nimport { HelpIcon } from '../../tempIcons/HelpIcon';\nimport { generateId } from '../../utils/generateId';\nexport const withLabels = (Component) => (_a) => {\n var { label, hint, error, tooltip } = _a, otherProps = __rest(_a, [\"label\", \"hint\", \"error\", \"tooltip\"]);\n const componentId = useMemo(() => generateId(Component.name), []);\n if (!label) {\n return React.createElement(Component, Object.assign({ hasError: !!error }, otherProps));\n }\n return (React.createElement(RootStack, { spacing: \"sm\", alignX: \"stretch\" },\n React.createElement(\"div\", null,\n React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"sm\" },\n React.createElement(Label, { htmlFor: componentId }, label),\n tooltip && (React.createElement(BlockTooltip, { text: tooltip },\n React.createElement(HelpIcon, { width: theme.sizes.base, height: theme.sizes.base, color: theme.colors.neutral.ink.light })))),\n hint && React.createElement(Hint, null, hint)),\n React.createElement(Component, Object.assign({ id: componentId, hasError: !!error }, otherProps)),\n error && React.createElement(Error, null, error)));\n};\n//# sourceMappingURL=withLabels.js.map","import React, { useEffect } from 'react';\nexport const withDeprecated = (Component) => (props) => {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.warn(`${Component.name} is deprecated.`);\n }, []);\n return React.createElement(Component, Object.assign({}, props));\n};\n//# sourceMappingURL=withDeprecated.js.map","import styled, { css } from 'styled-components';\nimport { theme } from '../../theme';\nconst pseudoStates = ({ hasError, inputSize }) => css `&{--outline-size:${inputSize === 'sm' ? '2px' : '4px'};}&:focus{border-color:#0079d1;box-shadow:0 0 0 var(--outline-size)#80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 var(--outline-size)#f7bcbc;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}${hasError &&\n `\n &,\n &:focus {\n border-color: #EB5757;\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--outline-size) #F7BCBC;\n }\n `}`;\nexport const Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--3jt15a\" }) `font-family:${theme.fontFamily};box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 12px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${({ inputSize }) => {\n let height = '40px';\n let fontSize = '14px';\n if (inputSize === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} ${pseudoStates} &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;width:8ch;text-align:right;}`;\nexport const Textarea = styled.textarea.withConfig({ displayName: \"vui--Textarea\", componentId: \"vui--1k04ik\" }) `box-sizing:border-box;width:100%;padding:8px;border-radius:4px;border:1px solid #959fa8;color:#1b2126;${pseudoStates}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback } 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 = (_a) => {\n var { 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, [\"className\", \"disabled\", \"hasError\", \"max\", \"min\", \"multiline\", \"name\", \"onChange\", \"pattern\", \"placeholder\", \"rows\", \"size\", \"step\", \"type\", \"value\", \"spellCheck\"]);\n const handleChange = useCallback((event) => {\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 id = generateId('textfield');\n if (type === 'text' && multiline) {\n return (React.createElement(Textarea, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: id, name: name, onChange: handleChange, placeholder: placeholder, rows: rows, value: value, spellCheck: spellCheck }, otherProps)));\n }\n return (React.createElement(Input, Object.assign({ className: className, disabled: disabled, hasError: hasError, id: id, inputSize: size, max: max, min: min, name: name, onChange: handleChange, placeholder: placeholder, step: step, type: type, value: value, spellCheck: spellCheck }, otherProps)));\n};\n//# sourceMappingURL=TextField.js.map","import { withLabels } from '../../hoc';\nimport { TextField as StandardTextField } from './TextField';\nexport const TextField = withLabels(StandardTextField);\nTextField.displayName = 'TextField';\n//# sourceMappingURL=index.js.map","import styled from 'styled-components';\nimport { Text } from '../Text';\nimport { TextField } from '../TextField';\nimport { Button } from '../Button';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--oxhxoy\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--w9sg63\" }) `display:flex;align-items:center;margin-top:4px;gap:8px;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1dp86fg\" }) `width:52px;margin:0;padding:0 6px;&&&{text-align:left;border-color:${theme.colors.neutral.ink.lightest};}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--1h9einl\" }) `padding:0 6px;border-color:${theme.colors.neutral.ink.lightest};`;\nconst Label = styled(Text).withConfig({ displayName: \"vui--Label\", componentId: \"vui--2iwwsg\" }) ``;\nconst Error = styled.span.withConfig({ displayName: \"vui--Error\", componentId: \"vui--1ln478r\" }) `display:block;font-family:${theme.text.error.fontFamily};font-size:${theme.text.error.fontSize};font-weight:${theme.text.error.fontWeight};line-height:${theme.text.error.lineHeight};color:${theme.text.error.color};&::before{content:'';position:absolute;top:0;bottom:0;left:calc(${theme.sizes[2]} * -1);width:2px;background-color:${theme.colors.secondary.red.base};}`;\nconst Hint = styled.span.withConfig({ displayName: \"vui--Hint\", componentId: \"vui--5lfadq\" }) `display:block;font-family:${theme.fontFamily};font-size:${theme.sizes[3]};line-height:${theme.sizes[4]};color:${theme.colors.neutral.ink.light};`;\nexport { Container, Row, Error, Hint, StyledTextField as TextField, StyledButton as Button, Label };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { InputGroup } from '../InputGroup';\nimport { ComponentSize } from '../types';\nimport { withLabels } from '../../hoc';\nimport { Container, Row, TextField, Button } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { theme } from '../../theme';\nexport const DimensionsInput = withLabels((_a) => {\n var { size = ComponentSize.base, handleChangeHeight, handleChangeWidth, handleChangeLength, className, height, width, length, unit } = _a, rest = __rest(_a, [\"size\", \"handleChangeHeight\", \"handleChangeWidth\", \"handleChangeLength\", \"className\", \"height\", \"width\", \"length\", \"unit\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeLength, size: size, name: \"length\", type: \"number\", placeholder: \"L\", value: length }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(TextField, Object.assign({ onChange: handleChangeWidth, size: size, name: \"width\", type: \"number\", placeholder: \"W\", value: width }, rest)),\n React.createElement(CrossIcon, { height: theme.sizes.base, width: theme.sizes.base }),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ onChange: handleChangeHeight, size: size, name: \"height\", type: \"number\", placeholder: \"H\", value: height }, rest)),\n React.createElement(Button, { size: size }, unit)))));\n});\nDimensionsInput.displayName = 'DimensionsInput';\n//# sourceMappingURL=DimensionsInput.js.map","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Close a menu or modal by clicking out of it\n */\nexport const useClickOutside = (isOpen, onClose) => {\n const ref = useRef(null);\n const escapeListener = useCallback((e) => {\n if (e.key === 'Escape') {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n const clickListener = useCallback((e) => {\n if (!ref.current.contains(e.target)) {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n }, [onClose]);\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', clickListener);\n document.addEventListener('keyup', escapeListener);\n return () => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('keyup', escapeListener);\n };\n }\n return undefined;\n }, [clickListener, escapeListener, isOpen]);\n return ref;\n};\n//# sourceMappingURL=useClickOutside.js.map","import { useState, useEffect } from 'react';\nexport const useDebounce = (value, timeout) => {\n const [state, setState] = useState(value);\n useEffect(() => {\n // Set timeout to run after delay\n const handler = setTimeout(() => setState(value), timeout);\n // clear the setTimeout listener on unMount\n return () => clearTimeout(handler);\n }, [value, timeout]);\n return state;\n};\n//# sourceMappingURL=useDebounce.js.map","import { useState, useCallback } from 'react';\nexport function useDropdown() {\n const [shouldShowDropdown, setShouldShowDropdown] = useState(false);\n const toggleShouldShowDropdown = useCallback(() => setShouldShowDropdown(!shouldShowDropdown), [shouldShowDropdown, setShouldShowDropdown]);\n const closeDropdown = useCallback(() => setShouldShowDropdown(false), [setShouldShowDropdown]);\n return {\n shouldShowDropdown,\n toggleShouldShowDropdown,\n setShouldShowDropdown,\n closeDropdown,\n };\n}\n//# sourceMappingURL=useDropdown.js.map","import React, { useEffect, useState } from 'react';\n// A React hook based on: https://github.com/WICG/focus-visible\nexport const FocusVisibleContext = React.createContext({\n hadKeyboardEvent: true,\n isInitialized: false,\n});\nexport function FocusVisibleManager({ children }) {\n const [hadKeyboardEvent, setHadKeyboardEvent] = useState(true);\n useEffect(() => {\n function onPointerDown() {\n setHadKeyboardEvent(false);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n setHadKeyboardEvent(false);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n removeInitialPointerMoveListeners();\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n setHadKeyboardEvent(true);\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange() {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n setHadKeyboardEvent(true);\n addInitialPointerMoveListeners();\n }\n }\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n return () => {\n document.removeEventListener('keydown', onKeyDown, true);\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('visibilitychange', onVisibilityChange, true);\n removeInitialPointerMoveListeners();\n };\n }, [setHadKeyboardEvent]);\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n React.createElement(FocusVisibleContext.Provider, { value: { hadKeyboardEvent, isInitialized: true } }, children));\n}\nexport function useFocusVisible() {\n const [isFocused, setIsFocused] = React.useState(false);\n const { hadKeyboardEvent, isInitialized } = React.useContext(FocusVisibleContext);\n const onFocus = React.useCallback(() => {\n if (!isFocused)\n setIsFocused(true);\n }, [isFocused]);\n const onBlur = React.useCallback(() => {\n if (isFocused)\n setIsFocused(false);\n }, [isFocused]);\n let focusVisible;\n if (isInitialized) {\n focusVisible = hadKeyboardEvent && isFocused;\n }\n else {\n // Fallback to focused when the `FocusVisibleManager` is not used.\n focusVisible = isFocused;\n }\n return React.useMemo(() => ({\n focusVisible,\n onFocus,\n onBlur,\n }), [focusVisible, onBlur, onFocus]);\n}\n//# sourceMappingURL=useFocusVisible.js.map","import { useState, useCallback } from 'react';\nexport const useHover = (initialState = false) => {\n const [isHovered, setIsHovered] = useState(initialState);\n const handleEnter = useCallback(() => setIsHovered(true), [setIsHovered]);\n const handleLeave = useCallback(() => setIsHovered(false), [setIsHovered]);\n return [isHovered, handleEnter, handleLeave];\n};\n//# sourceMappingURL=useHover.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to check if a component's contents are overflowing from its boundaries\n * (scrollbar is visible).\n */\nexport const useIsOverflowing = (ref) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [isAtBottom, setIsAtBottom] = useState(false);\n useEffect(() => {\n if (!ref)\n return;\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = ref.scrollHeight > ref.clientHeight;\n setIsOverflowing(hasOverflow);\n });\n resizeObserver.observe(ref);\n // eslint-disable-next-line consistent-return\n return () => { resizeObserver.disconnect(); };\n }, [ref]);\n const onScroll = (event) => {\n if (!ref)\n return;\n const { scrollTop, scrollHeight, clientHeight } = event.target;\n setIsAtBottom(scrollHeight - scrollTop - clientHeight <= 0);\n };\n return { isOverflowing: isOverflowing && !isAtBottom, onScroll };\n};\n//# sourceMappingURL=useIsOverflowing.js.map","import { useState } from 'react';\nexport const useTabs = (tabs, config) => {\n const { defaultActiveIndex = 0 } = config || {};\n const [listOfTabs] = useState(tabs);\n const [active, setActive] = useState(listOfTabs[defaultActiveIndex]);\n return [\n active,\n (key) => {\n const newActiveTab = listOfTabs.find((tab) => tab.key === key);\n if (newActiveTab) {\n setActive(newActiveTab);\n }\n },\n ];\n};\n//# sourceMappingURL=useTabs.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1tebbdi\" }) `display:inline-flex;flex-direction:row;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:4px 8px;cursor:pointer;svg{width:${sizes.base};height:${sizes.base};}`;\nconst NonSelectableText = styled(Text).withConfig({ displayName: \"vui--NonSelectableText\", componentId: \"vui--qz697a\" }) `user-select:none;`;\nconst GroupLabel = styled(NonSelectableText).withConfig({ displayName: \"vui--GroupLabel\", componentId: \"vui--17i198i\" }) `margin-right:4px;`;\nconst MainIcon = styled(DownArrowIcon).withConfig({ displayName: \"vui--MainIcon\", componentId: \"vui--rxq762\" }) `margin-left:4px;transform:rotate(${(props) => (props.shouldShow ? '180deg' : '0')});width:10px;height:10px;`;\nconst StyledCrossIcon = styled(CrossIcon).withConfig({ displayName: \"vui--StyledCrossIcon\", componentId: \"vui--1o2zyml\" }) `margin-left:4px;height:10px;width:10px;`;\nconst Content = styled(BaseContainer).withConfig({ displayName: \"vui--Content\", componentId: \"vui--6n2anv\" }) `display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;`;\nconst Header = styled(BaseContainer).withConfig({ displayName: \"vui--Header\", componentId: \"vui--n9war0\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:12px 18px;border-bottom:1px solid ${colors.neutral.grey.base};svg{color:${({ color }) => color};width:${sizes[5]};height:${sizes[5]};margin-right:10px;}`;\nexport { Container, Text, AnimatedDropdown as Dropdown, GroupLabel, Content, Header, MainIcon, StyledCrossIcon as CrossIcon, };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { useDropdown } from '../../hooks';\nimport { colors } from '../../theme/modules/colors';\nimport { Container, Text, Dropdown, GroupLabel, MainIcon, CrossIcon, Content, Header, } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n filterTagDropdown: prefix ? `${prefix}-filter-tag-dropdown` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n cross: prefix ? `${prefix}-cross` : undefined,\n});\nexport const FilterTag = ({ className, e2eClassName, label, text, iconSlot, fill = colors.secondary.blue.base, content, footer, onClickAway, onClick, shouldCloseOnClickAway = true, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const { shouldShowDropdown, toggleShouldShowDropdown, closeDropdown } = useDropdown();\n const handleClick = useCallback((event) => {\n toggleShouldShowDropdown();\n if (onClickAway && shouldShowDropdown)\n onClickAway(event);\n }, [toggleShouldShowDropdown, onClickAway, shouldShowDropdown]);\n const handleClickAway = useCallback((event) => {\n // Escape hatch to apply custom behavior when clicked away\n if (onClickAway)\n onClickAway(event, closeDropdown);\n // Default clickAway behavior (closes the dropdown)\n if (shouldCloseOnClickAway)\n closeDropdown();\n }, [closeDropdown, onClickAway, shouldCloseOnClickAway]);\n const shouldShowSimple = !content;\n return shouldShowSimple ? (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), onClick: onClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(CrossIcon, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.cross, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.cross]), name: \"cross\", size: \"base\", color: colors.neutral.ink.base }))) : (React.createElement(Dropdown, { className: classNames.filterTagDropdown, shouldShowDropdown: shouldShowDropdown, onClickAway: handleClickAway, cta: React.createElement(Container, { className: classNames.container, onClick: handleClick },\n label && React.createElement(GroupLabel, { variant: \"subheadingSmallBold\" }, `${label}:`),\n React.createElement(Text, null, text),\n React.createElement(MainIcon, { color: colors.neutral.ink.base, name: \"downArrow\", shouldShow: shouldShowDropdown })) },\n React.createElement(Content, null,\n React.createElement(Header, { color: fill },\n iconSlot,\n React.createElement(Text, { variant: \"bodyBold\" }, label)),\n content,\n footer)));\n};\n//# sourceMappingURL=FilterTag.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Grid = styled(BaseContainer).withConfig({ displayName: \"vui--Grid\", componentId: \"vui--12w0ynf\" }) `display:grid;grid-template-columns:repeat(${({ columns }) => columns}, 1fr);grid-gap:${({ spacing = 'base' }) => (spacing ? sizes[spacing] : 0)};`;\n//# sourceMappingURL=index.js.map","import React from 'react';\nexport const PlaceholderImage = (props) => (React.createElement(\"svg\", Object.assign({ width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M21.3333 0C22.8 0 24 1.2 24 2.66667V21.3333C24 22.8 22.8 24 21.3333 24H2.66667C1.2 24 0 22.8 0 21.3333V2.66667C0 1.2 1.2 0 2.66667 0H21.3333ZM10.6667 18.0133L7.33333 14L2.66667 20H21.3333L15.3333 12L10.6667 18.0133Z\", fill: \"#CDD1D5\" })));\n//# sourceMappingURL=PlaceholderImage.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--yyvmx7\" }) ``;\nexport const CommonImage = styled.img.withConfig({ displayName: \"vui--CommonImage\", componentId: \"vui--exntyx\" }) `box-sizing:border-box;cursor:${({ previewEnabled }) => (previewEnabled ? 'zoom-in' : 'default')};`;\nexport const PreviewImageContainer = styled.div.withConfig({ displayName: \"vui--PreviewImageContainer\", componentId: \"vui--jt8oew\" }) `z-index:10;background-color:transparent;`;\nexport const PreviewImage = styled.img.withConfig({ displayName: \"vui--PreviewImage\", componentId: \"vui--xulm2g\" }) `box-shadow:0 4px 12px rgba(27, 33, 38, 0.2);`;\n//# sourceMappingURL=styled.js.map","export const generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-image-container` : undefined,\n image: prefix ? `${prefix}-image` : undefined,\n placeholder: prefix ? `${prefix}-image-placeholder` : undefined,\n previewImageContainer: prefix ? `${prefix}-image-preview-container` : undefined,\n});\n//# sourceMappingURL=utils.js.map","import React, { useState, useCallback } from 'react';\nimport { usePopper } from 'react-popper';\nimport { createPortal } from 'react-dom';\nimport { PlaceholderImage } from './components/PlaceholderImage';\nimport { Container, CommonImage, PreviewImageContainer, PreviewImage } from './components/styled';\nimport { generateClassNames } from './utils';\nimport { buildClassnames } from '../../utils/buildClassnames';\nexport const Image = ({ src, alt = '', className, e2eClassName, width, height, previewWidth, previewHeight, previewPlacement = 'right', previewEnabled = false, placeholder, placeholderWidth, placeholderHeight, disablePlaceholder = false, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n const [imageState, setImageState] = useState({ isLoaded: false, isError: false });\n const [referenceElement, setReferenceElement] = React.useState(null);\n const [popperElement, setPopperElement] = React.useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n placement: previewPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 12],\n },\n },\n ],\n });\n const openImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(true) : {}), [previewEnabled]);\n const closeImagePreview = useCallback(() => (previewEnabled ? setIsPreviewOpen(false) : {}), [previewEnabled]);\n const onLoad = () => setImageState({ isLoaded: true, isError: false });\n const onError = () => setImageState({ isLoaded: true, isError: true });\n const isImageHidden = !imageState.isLoaded || imageState.isError;\n return (React.createElement(Container, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container, className]) },\n React.createElement(CommonImage, { src: src, alt: alt, className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.image, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.image]), width: width, height: height, onLoad: onLoad, onError: onError, previewEnabled: previewEnabled, onMouseEnter: openImagePreview, onMouseLeave: closeImagePreview, style: isImageHidden ? { display: 'none' } : {}, ref: setReferenceElement }),\n !disablePlaceholder &&\n isImageHidden &&\n (placeholder || (React.createElement(PlaceholderImage, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.placeholder, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.placeholder]), width: placeholderWidth || width, height: placeholderHeight || height }))),\n isPreviewOpen &&\n createPortal(React.createElement(PreviewImageContainer, Object.assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { className: buildClassnames([\n classNames === null || classNames === void 0 ? void 0 : classNames.previewImageContainer,\n e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.previewImageContainer,\n ]) }),\n React.createElement(PreviewImage, { src: src, alt: \"\", width: previewWidth, height: previewHeight })), document.body)));\n};\n//# sourceMappingURL=Image.js.map","import styled from 'styled-components';\nexport const LoginButton = styled.button.withConfig({ displayName: \"vui--LoginButton\", componentId: \"vui--9ns5xb\" }) `background:none;border:none;padding:0;cursor:pointer;img{width:156px;height:32px;}`;\n//# sourceMappingURL=styled.js.map","import React, { useState } from 'react';\nimport { LoginButton } from './styled';\nconst buttonImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64.png';\nconst buttonPressedImg = 'https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gold_312x64_pressed.png';\nexport const buttonDescription = 'Log in with Amazon';\n/**\n * Image used in this button is to comply with official\n * Amazon button guidelines (https://developer.amazon.com/docs/login-with-amazon/button.html#android-images).\n */\nexport const LoginWithAmazonButton = (props) => {\n const [image, setImage] = useState(buttonImg);\n const handleMouseDown = () => {\n setImage(buttonPressedImg);\n };\n const handleMouseUp = () => {\n setImage(buttonImg);\n };\n return (React.createElement(LoginButton, Object.assign({ onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, \"aria-label\": buttonDescription }, props),\n React.createElement(\"img\", { src: image, alt: buttonDescription })));\n};\n//# sourceMappingURL=LoginWithAmazonButton.js.map","import styled, { createGlobalStyle } from 'styled-components';\nimport { Card } from '../../Card';\nimport { theme } from '../../../theme';\nexport const NonScrollableBody = createGlobalStyle `body{overflow:hidden;scrollbar-gutter:stable;}`;\nexport const MainSection = styled.section.withConfig({ displayName: \"vui--MainSection\", componentId: \"vui--1ox4j2c\" }) `flex:1;overflow-y:auto;${({ fullBleed }) => !fullBleed && `padding: 0 ${theme.sizes.md};`} ${({ isScrollable }) => isScrollable &&\n `\n & + ${Card.Footer} {\n box-shadow: 0px 10px 15px 0px ${theme.colors.neutral.ink.dark};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","/**\n * Type guard to check if a header slot has been passed to the component.\n */\nexport const hasHeaderSlot = (props) => {\n return !!props.headerSlot;\n};\n/**\n * Type guard to check if a footer slot has been passed to the component.\n */\nexport const hasFooterSlot = (props) => {\n return !!props.footerSlot;\n};\n//# sourceMappingURL=types.js.map","/**\n * A function to convert hex color to rgb.\n */\nexport const hexToRgb = (hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const hexTmp = hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexTmp);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n};\n/**\n * A function to get a hex color with opacity, after converting to `rgba`.\n * @param hex color in hex format\n */\nexport const getOpaqueHexColor = (hex, opacity) => {\n const rgb = hexToRgb(hex);\n if (!rgb)\n return hex;\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;\n};\n//# sourceMappingURL=color.js.map","import { breakpoints } from '../../../../theme/modules/breakpoints';\nexport const heightMap = {\n xs: '84vh',\n sm: '72vh',\n base: '84vh',\n lg: '96vh',\n};\nexport const widthMap = {\n [breakpoints.mobile]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.tablet]: {\n xs: '60vw',\n sm: '72vw',\n base: '100vw',\n lg: '100vw',\n },\n [breakpoints.lgTablet]: {\n xs: '48vw',\n sm: '56vw',\n base: '88vw',\n lg: '100vw',\n },\n [breakpoints.desktop]: {\n xs: '36vw',\n sm: '44vw',\n base: '72vw',\n lg: '88vw',\n },\n [breakpoints.lgDesktop]: {\n xs: '32vw',\n sm: '40vw',\n base: '52vw',\n lg: '80vw',\n },\n};\nexport const fullScreenBreakpointMap = {\n xs: breakpoints.mobile,\n sm: breakpoints.mobile,\n base: breakpoints.tablet,\n lg: breakpoints.lgTablet,\n};\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { motion } from 'framer-motion';\nimport { getOpaqueHexColor } from '../../../../utils/color';\nimport { Card } from '../../../Card';\nimport { theme } from '../../../../theme';\nimport { fullScreenBreakpointMap, heightMap, widthMap } from './constants';\nimport { MainSection } from '../styled';\nconst { breakpoints } = theme;\nexport const StyledDialog = styled(motion.dialog).attrs({\n initial: { opacity: 0, y: -50, bounce: 0 },\n exit: { opacity: 0, y: -50, bounce: 0 },\n animate: { opacity: 1, y: 0, bounce: 0 },\n transition: { type: 'tween', duration: 0.25 },\n}).withConfig({ displayName: \"vui--StyledDialog\", componentId: \"vui--1ohvs0u\" }) `padding:0;border:none;border-radius:${theme.sizes.sm};box-shadow:${theme.shadows.lg};min-width:464px;&::backdrop{animation:fadeIn 0.25s ease forwards;}& > ${Card.Surface}{display:flex;flex-direction:column;${({ variant }) => `max-height: ${heightMap[variant]};`} ${MainSection}{padding-bottom:${theme.sizes.md};}${Card.Footer}{margin-top:0;}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@media (min-width: calc(${breakpoints.mobile} + 1px))and (max-width: ${breakpoints.tablet}){max-width:${({ variant }) => widthMap[breakpoints.tablet][variant]};}@media (min-width: ${breakpoints.tablet})and (max-width: ${breakpoints.lgTablet}){max-width:${({ variant }) => widthMap[breakpoints.lgTablet][variant]};}@media (min-width: ${breakpoints.lgTablet})and (max-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.desktop][variant]};}@media (min-width: ${breakpoints.desktop}){max-width:${({ variant }) => widthMap[breakpoints.lgDesktop][variant]};}@media (max-width: ${({ variant }) => fullScreenBreakpointMap[variant]}){margin:0;width:100%;max-width:100vw;max-height:100vh;&,& > ${Card.Surface}{border-radius:0;height:100%;width:100%;max-height:unset;}}&::backdrop{background-color:${getOpaqueHexColor(theme.colors.neutral.ink.base, 0.5)};}&:not([open]){display:block;position:fixed;top:0;left:0;right:0;bottom:0;transform:translate(-50%, -50%);}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { StyledDialog } from './styled';\nexport const Dialog = React.forwardRef((_a, ref) => {\n var rest = __rest(_a, []);\n return React.createElement(StyledDialog, Object.assign({ ref: ref }, rest));\n});\n//# sourceMappingURL=Dialog.js.map","import { __rest } from \"tslib\";\n/* eslint-disable react/destructuring-assignment */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { AnimatePresence } from 'framer-motion';\nimport { MainSection, NonScrollableBody } from './components/styled';\nimport { hasFooterSlot, hasHeaderSlot } from './types';\nimport { Dialog } from './components/Dialog/Dialog';\nimport { useIsOverflowing } from '../../hooks/useIsOverflowing';\nimport { Button } from '../Button';\nimport { Card } from '../Card';\nimport { CardHeader } from '../CardHeader';\nimport { Stack } from '../Stack';\nexport const Modal = (props) => {\n const { shouldShow, showHeaderCloseButton = true, fullBleed = false, variant = 'base', onClose: parentOnClose, children, } = props;\n const modalRef = useRef(null);\n const [mainSectionRef, setMainSectionRef] = useState(null);\n useEffect(() => {\n var _a, _b;\n if (shouldShow) {\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('open'); // Allows for conditional rendering.\n (_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n }, [shouldShow]);\n const { isOverflowing: isContentOverflowing, onScroll } = useIsOverflowing(mainSectionRef);\n const onClose = () => {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();\n parentOnClose();\n };\n return (React.createElement(AnimatePresence, null, shouldShow && (React.createElement(\"div\", { \"data-testid\": \"dialog-wrapper\" },\n React.createElement(NonScrollableBody, null),\n React.createElement(Dialog, { ref: modalRef, onClose: onClose, variant: variant, \"aria-describedby\": \"modal_title\" },\n React.createElement(Card.Surface, null,\n hasHeaderSlot(props) ? (props.headerSlot) : (React.createElement(CardHeader, Object.assign({ id: \"modal_title\", headerVariant: \"headingLarge\", title: props.headerTitle, subtitle: props.headerSubtitle }, (showHeaderCloseButton && { onClickClose: onClose })))),\n React.createElement(MainSection, { onScroll: onScroll, ref: setMainSectionRef, isScrollable: isContentOverflowing, fullBleed: fullBleed }, children),\n hasFooterSlot(props) && props.footerSlot,\n !hasFooterSlot(props) && (props.leftActions || props.rightActions) && (React.createElement(Card.Footer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: props.leftActions ? 'between' : 'end' },\n props.leftActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"start\", \"data-testid\": \"left-actions-container\" }, props.leftActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))),\n props.rightActions && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", \"data-testid\": \"right-actions-container\" }, props.rightActions.map((_a) => {\n var { label } = _a, actionProps = __rest(_a, [\"label\"]);\n return (React.createElement(Button, Object.assign({ key: label, type: \"button\" }, actionProps), label));\n }))))))))))));\n};\n//# sourceMappingURL=Modal.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nconst { sizes, text, shadows } = theme;\nconst { grey } = theme.colors.neutral;\nexport const Header = styled.header.withConfig({ displayName: \"vui--Header\", componentId: \"vui--1x6mrf4\" }) `padding:${sizes.base} ${sizes.md};background-color:white;box-shadow:${({ shadow }) => shadow !== 'none' && shadows[shadow]};`;\nexport const Title = styled.h1.withConfig({ displayName: \"vui--Title\", componentId: \"vui--1rcauam\" }) `font-family:${text.headingXL.fontFamily};font-size:${text.headingXL.fontSize};font-weight:${text.headingXL.fontWeight};margin:unset;line-height:1;`;\nexport const Subtitle = styled.p.withConfig({ displayName: \"vui--Subtitle\", componentId: \"vui--1w1czl4\" }) `margin:0.75rem 0 0;font-family:${text.subheadingLarge.fontFamily};font-weight:${text.subheadingLarge.fontWeight};font-size:${text.subheadingLarge.fontSize};line-height:${text.subheadingLarge.lineHeight};`;\nexport const Image = styled.img.withConfig({ displayName: \"vui--Image\", componentId: \"vui--6akliy\" }) `border-radius:${theme.radius.base};border:${sizes.line} solid ${grey.base};object-fit:cover;`;\nexport const ActionsContainer = styled.div.withConfig({ displayName: \"vui--ActionsContainer\", componentId: \"vui--eer17r\" }) `height:100%;display:grid;grid-template-rows:1fr auto;gap:1rem;`;\nexport const SidebarToggleButton = styled(Button).attrs({ variant: 'unstyled' }).withConfig({ displayName: \"vui--SidebarToggleButton\", componentId: \"vui--17ubnor\" }) `display:flex;align-items:center;font-family:${theme.text.link.fontFamily};font-size:${theme.text.link.fontSize};font-weight:${theme.text.link.fontWeight};line-height:${theme.text.link.lineHeight};color:${theme.text.link.color};&:hover{text-decoration:${theme.text.link.textDecoration};}& > * + *{margin-left:${theme.sizes.xs};}`;\nexport const ColumnGrid = styled.div.withConfig({ displayName: \"vui--ColumnGrid\", componentId: \"vui--1fmdpk3\" }) `width:100%;display:grid;grid-template-columns:1fr minmax(312px, auto);align-items:flex-start;grid-gap:${sizes.md};transition:all 0.2s ease-in-out;& > *:nth-child(2){opacity:${({ showSidebar = true }) => (showSidebar ? '1.0' : '0')};transition:opacity 0.2s;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const LeftArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.44 11.06L7.38667 8L10.44 4.94L9.5 4L5.5 8L9.5 12L10.44 11.06Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=LeftArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { ActionList } from '../ActionList';\nimport { Button } from '../Button';\nimport { Header, Title, Subtitle, Image, ActionsContainer, SidebarToggleButton, ColumnGrid, } from './styled';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const PageHeader = ({ title, subtitle, imageSrc, actions, quickActions, backAction, Accessory, shadow = 'none', onClickPrevious, onClickNext, onClickToggleSidebar, }) => {\n const actionsMarkup = actions && (React.createElement(ActionList, { buttonVariant: !quickActions ? 'primary' : 'default', title: \"Actions\", sections: actions }));\n const quickActionsMarkup = quickActions === null || quickActions === void 0 ? void 0 : quickActions.map((action) => (React.createElement(Button, { key: action.title, variant: action.variant, icon: action.icon, onClick: action.onClick }, action.title)));\n const backActionMarkup = backAction && (React.createElement(Button, { onClick: backAction.onClick, icon: React.createElement(LeftArrowIcon, null), variant: \"link\" }, backAction.title));\n const toggleSidebarMarkup = onClickToggleSidebar && (React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\" },\n React.createElement(SidebarToggleButton, { onClick: onClickToggleSidebar },\n React.createElement(\"span\", null, \"Toggle sidebar\"),\n React.createElement(RightArrowIcon, { width: sizes.md }))));\n return (React.createElement(Header, { shadow: shadow },\n React.createElement(Stack, null,\n backActionMarkup,\n React.createElement(ColumnGrid, null,\n React.createElement(Stack, { direction: \"horizontal\", spacing: \"md\" },\n imageSrc && React.createElement(Image, { src: imageSrc, alt: \"\", width: \"72\", height: \"72\" }),\n React.createElement(\"div\", { style: { flex: 1 } },\n React.createElement(Stack, { alignX: \"stretch\" },\n React.createElement(Title, null, title),\n Accessory,\n subtitle && React.createElement(Subtitle, null, subtitle)))),\n React.createElement(ActionsContainer, null,\n React.createElement(Stack, { direction: \"horizontal\", alignX: \"end\", spacing: \"sm\" },\n quickActionsMarkup,\n actionsMarkup,\n onClickPrevious && React.createElement(Button, { icon: React.createElement(LeftArrowIcon, null), onClick: onClickPrevious }),\n onClickNext && React.createElement(Button, { icon: React.createElement(RightArrowIcon, null), onClick: onClickNext })),\n toggleSidebarMarkup)))));\n};\n//# sourceMappingURL=PageHeader.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Stack } from '../Stack';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nexport const PageLimitContainer = styled(Stack).withConfig({ displayName: \"vui--PageLimitContainer\", componentId: \"vui--11yg0z2\" }) `width:${theme.sizes.lg};height:30px;background-color:${theme.colors.neutral.grey.light};border:1px solid ${theme.colors.neutral.grey.base};border-radius:${theme.sizes.xs};`;\nexport const PaginationButton = styled(Button).withConfig({ displayName: \"vui--PaginationButton\", componentId: \"vui--1xoa6c5\" }) `color:${theme.colors.neutral.ink.base};width:32px;height:32px;svg{width:24px;height:24px;}`;\nexport const PageInput = styled(TextField).withConfig({ displayName: \"vui--PageInput\", componentId: \"vui--vpfeol\" }) `&[type='number']{width:5.5ch;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Text } from '../Text';\nimport { PageLimitContainer } from './styled';\nexport const PageCount = ({ count }) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", null,\n React.createElement(Text, { variant: \"bodySmall\", \"aria-hidden\": true }, \"/\")),\n React.createElement(PageLimitContainer, { alignX: \"center\", alignY: \"center\", \"aria-hidden\": true },\n React.createElement(Text, { variant: \"bodySmall\" }, count))));\n//# sourceMappingURL=components.js.map","import { useEffect, useState } from 'react';\n/**\n * A hook to handle pagination state.\n */\nexport const usePagination = ({ currentPage, totalPagesCount, handleChangePage, }) => {\n const [pageInputValue, setPageInputValue] = useState(`${currentPage}`);\n /**\n * When a new value is passed into the component we update the local state, meaning the input\n * value gets updated.\n */\n useEffect(() => {\n setPageInputValue(`${currentPage}`);\n }, [currentPage]);\n const validatePageValue = (value) => value >= 1 && value <= totalPagesCount;\n const checkAndSetLocalPage = (newPage) => {\n if (validatePageValue(newPage))\n setPageInputValue(`${newPage}`);\n };\n /**\n * A function to handle changes to the input, a string will be passed int. We check for an empty\n * string and directly set that, otherwise we validate the input number is within range.\n * @param newValue The new string input value.\n */\n const handleInputChange = (newValue) => {\n if (!newValue)\n setPageInputValue(newValue);\n const intValue = parseInt(newValue, 10);\n checkAndSetLocalPage(intValue);\n };\n /**\n * A function to increment the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleIncrement = () => {\n if (validatePageValue(currentPage + 1))\n handleChangePage(currentPage + 1);\n };\n /**\n * A function to decrement the current page, using callback from props. Local state will update\n * when a new `currentPage` is passed.\n */\n const handleDecrement = () => {\n if (validatePageValue(currentPage - 1))\n handleChangePage(currentPage - 1);\n };\n /**\n * When the input is unfocussed we want to update parent or local state depending on 3 cases:\n * 1. Local page input is '', reset it to the currentPage\n * 2. Local page input is the same as passed by prop, catch and do nothing.\n * 3. Local state has a new value, convert it, validate it and potentially send to parent via\n * `handlePageChange`\n */\n const handleSubmit = () => {\n if (!pageInputValue)\n setPageInputValue(`${currentPage}`);\n if (pageInputValue === `${currentPage}`)\n return;\n const newValue = parseInt(pageInputValue, 10);\n if (validatePageValue(newValue))\n handleChangePage(newValue);\n };\n /**\n * When the user submits the form, either pressing enter or a screenreader shortcut we prevent\n * default action and try and send update.\n * @param event The event fired from the form when submitting.\n */\n const handleFormSubmit = (event) => {\n event.preventDefault();\n handleSubmit();\n };\n return {\n pageInputValue,\n handleIncrement,\n handleDecrement,\n handleInputChange,\n handleSubmit,\n handleFormSubmit,\n };\n};\n//# sourceMappingURL=usePagination.js.map","import React from 'react';\nexport const StartArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M11.6434 11.06L8.59004 8L11.6434 4.94L10.7034 4L6.70337 8L10.7034 12L11.6434 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.37004 12L4.37004 4L5.70337 4L5.70337 12L4.37004 12Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=StartArrowIcon.js.map","import React from 'react';\nexport const EndArrowIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M4.33661 11.06L7.38994 8L4.33661 4.94L5.27661 4L9.27661 8L5.27661 12L4.33661 11.06Z\", fill: \"currentColor\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11.67 4L11.67 12L10.3367 12L10.3367 4L11.67 4Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=EndArrowIcon.js.map","import React from 'react';\nimport { Stack } from '../Stack';\nimport { PageInput, PaginationButton } from './styled';\nimport { PageCount } from './components';\nimport { usePagination } from './hooks/usePagination';\nimport { RightArrowIcon } from '../../tempIcons/RightArrowIcon';\nimport { StartArrowIcon } from '../../tempIcons/StartArrowIcon';\nimport { LeftArrowIcon } from '../../tempIcons/LeftArrowIcon';\nimport { EndArrowIcon } from '../../tempIcons/EndArrowIcon';\nimport { ComponentSize } from '../types';\nexport const Pagination = ({ testId, e2eClassName, currentPage, totalPagesCount, handleChangePage, }) => {\n const { pageInputValue, handleIncrement, handleDecrement, handleFormSubmit, handleInputChange, handleSubmit, } = usePagination({\n currentPage,\n totalPagesCount,\n handleChangePage,\n });\n /**\n * A function to go back to the first page, provided we aren't already there.\n */\n const handleSkipBack = () => {\n if (currentPage !== 1)\n handleChangePage(1);\n };\n /**\n * A function to go to the last page, provided we aren't already there.\n */\n const handleSkipToEnd = () => {\n if (currentPage !== totalPagesCount)\n handleChangePage(totalPagesCount);\n };\n return (React.createElement(Stack, { direction: \"horizontal\", alignY: \"center\", spacing: \"xs\", \"data-testid\": testId, className: e2eClassName },\n React.createElement(PaginationButton, { onClick: handleSkipBack, icon: React.createElement(StartArrowIcon, null), size: \"sm\", \"aria-label\": \"go to first page\" }),\n React.createElement(PaginationButton, { onClick: handleDecrement, icon: React.createElement(LeftArrowIcon, null), size: \"sm\", \"aria-label\": \"go to previous page\", \"aria-disabled\": currentPage <= 1 }),\n React.createElement(\"form\", { onSubmit: handleFormSubmit },\n React.createElement(PageInput, { \"aria-live\": \"polite\", \"aria-label\": `page ${currentPage} of ${totalPagesCount}`, size: ComponentSize.sm, type: \"number\", value: pageInputValue, min: \"1\", max: `${totalPagesCount}`, onChange: handleInputChange, onBlur: handleSubmit })),\n React.createElement(PageCount, { count: totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleIncrement, icon: React.createElement(RightArrowIcon, null), size: \"sm\", \"aria-label\": \"go to next page\", \"aria-disabled\": currentPage >= totalPagesCount }),\n React.createElement(PaginationButton, { onClick: handleSkipToEnd, icon: React.createElement(EndArrowIcon, null), size: \"sm\", \"aria-label\": \"go to last page\", \"aria-disabled\": currentPage >= totalPagesCount })));\n};\n//# sourceMappingURL=Pagination.js.map","export const paginationDefaultRangeList = [\n { label: '10 / page', value: 10 },\n { label: '25 / page', value: 25 },\n { label: '50 / page', value: 50 },\n { label: '100 / page', value: 100 },\n];\n//# sourceMappingURL=paginationList.js.map","import styled from 'styled-components';\nimport { AnimatedDropdown } from '../AnimatedDropdown';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { colors } from '../../theme/modules/colors';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--vvvb5w\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst Dropdown = styled(AnimatedDropdown).withConfig({ displayName: \"vui--Dropdown\", componentId: \"vui--1762fp7\" }) `&-container{width:100%;}`;\nconst Button = styled.button.withConfig({ displayName: \"vui--Button\", componentId: \"vui--18oel89\" }) `width:100%;height:32px;padding:6px 8px 8px 8px;display:flex;border:1px solid ${colors.neutral.grey.base};box-sizing:border-box;border-radius:4px;justify-content:space-between;background:white;cursor:pointer;svg{padding-left:8px;padding-top:2px;}`;\nexport { Container, Dropdown, Button, Text };\n//# sourceMappingURL=styled.js.map","import styled from 'styled-components';\nimport { colors } from '../../../../theme/modules/colors';\nimport { Text } from '../../../Text';\nimport { BaseContainer } from '../../../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--yx82xe\" }) `display:flex;flex-direction:row;justify-content:flex-start;align-items:center;`;\nconst StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--gffv6m\" }) `width:100%;padding:8px 16px;cursor:pointer;&:hover{color:${colors.secondary.blue.base};background:${colors.neutral.grey.lightest};}`;\nexport { StyledText as Text, Container };\n//# sourceMappingURL=styled.js.map","import React, { useCallback } from 'react';\nimport { Container, Text } from './styled';\nexport const Item = ({ item, handleRangeListChange }) => {\n const onClick = useCallback(() => handleRangeListChange(item), [handleRangeListChange, item]);\n return (React.createElement(Container, { onClick: onClick },\n React.createElement(Text, { variant: \"bodySmall\" }, item.label)));\n};\n//# sourceMappingURL=Item.js.map","import React, { Fragment } from 'react';\nimport { paginationDefaultRangeList } from '../../../utils/paginationList';\nimport { Item } from './Item';\nexport const Items = (props) => {\n const { handleRangeListChange, paginationRange = paginationDefaultRangeList } = props;\n return (React.createElement(React.Fragment, null, paginationRange.map((item) => (React.createElement(Fragment, { key: item.label },\n React.createElement(Item, { item: item, handleRangeListChange: handleRangeListChange }))))));\n};\n//# sourceMappingURL=Items.js.map","import React, { Component } from 'react';\nimport { paginationDefaultRangeList } from '../../utils/paginationList';\nimport { theme } from '../../theme';\nimport { Container, Dropdown, Button, Text } from './styled';\nimport { Items } from './Items';\nimport { DropdownIcon } from '../../tempIcons/DropdownIcon';\nexport class PaginationRange extends Component {\n constructor(props) {\n super(props);\n this.handleRangeListChange = (item) => {\n const { onPaginationRangeChange } = this.props;\n this.setDropdownValue(item);\n onPaginationRangeChange(item);\n };\n this.setDropdownValue = (currentValue) => this.setState({\n shouldShowDropdown: false,\n dropdownValue: currentValue,\n });\n this.toggleShouldShow = () => {\n const { shouldShowDropdown } = this.state;\n this.setState({ shouldShowDropdown: !shouldShowDropdown });\n };\n const { dropdownValue = paginationDefaultRangeList[1] } = this.props;\n this.state = {\n dropdownValue,\n shouldShowDropdown: false,\n };\n }\n render() {\n const { className, paginationRange = paginationDefaultRangeList, reversedDropdown, } = this.props;\n const { shouldShowDropdown, dropdownValue } = this.state;\n return (React.createElement(Container, { className: className },\n React.createElement(Dropdown, { cta: React.createElement(Button, { onClick: this.toggleShouldShow },\n React.createElement(Text, { variant: \"bodySmall\" }, dropdownValue.label),\n React.createElement(DropdownIcon, { color: theme.colors.neutral.ink.base })), shouldShowDropdown: shouldShowDropdown, onClickAway: this.toggleShouldShow, reversed: reversedDropdown },\n React.createElement(Items, { paginationRange: paginationRange, handleRangeListChange: this.handleRangeListChange }))));\n }\n}\n//# sourceMappingURL=PaginationRange.js.map","import styled from 'styled-components';\nexport const Container = styled.div.withConfig({ displayName: \"vui--Container\", componentId: \"vui--1y4bw67\" }) `box-sizing:border-box;display:inline-flex;flex-direction:column;height:${({ size }) => (size === 'sm' ? '32px' : '40px')};border-radius:4px;${({ size }) => size === 'sm'\n ? `svg { width: 14px !important; height: 14px !important; };\n\n > button { padding: 0 6px };`\n : ''};& > *:first-child{border-bottom-width:0;}& > *:active,& > *:focus{border-width:1px;}& > *:active + *,& > *:focus + *{border-top-width:0;}& > *:focus,& > *:active{z-index:5;}& > *:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;}& > *:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;}`;\nexport const StepButton = styled.button.withConfig({ displayName: \"vui--StepButton\", componentId: \"vui--z17r9v\" }) `appearance:none;flex:1;border:0;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:white;border:1px solid #959fa8;&:hover{cursor:pointer;background-color:#fafafb;}&:active:not(:disabled){background-color:#fafafb;border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;}&:focus{box-shadow:0 0 0 4px #80bce8;outline:0;}&:disabled{background-color:#f2f3f5;border-color:#959fa8;color:#637381;cursor:not-allowed;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { theme } from '../../theme';\nimport { Container, StepButton } from './styled';\nimport { DownArrowIcon } from '../../tempIcons/DownArrowIcon';\nimport { UpArrowIcon } from '../../tempIcons/UpArrowIcon';\nexport const Stepper = ({ onIncrement, onDecrement, disabled = false, size }) => (React.createElement(Container, { size: size },\n React.createElement(StepButton, { type: \"button\", onClick: onIncrement, disabled: disabled },\n React.createElement(UpArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base })),\n React.createElement(StepButton, { type: \"button\", onClick: onDecrement, disabled: disabled },\n React.createElement(DownArrowIcon, { height: theme.sizes.base, width: theme.sizes.base, color: theme.colors.neutral.ink.base }))));\n//# sourceMappingURL=Stepper.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Text } from '../Text';\nimport { InputGroup } from '../InputGroup';\nimport { theme } from '../../theme';\nexport const StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--8gyz01\" }) `color:${theme.colors.neutral.ink.dark};width:100%;&:focus{box-shadow:none;border-color:none;border-right-width:0;border-color:${theme.colors.neutral.ink.lightest};}`;\nexport const PrefixContainer = styled(BaseContainer).withConfig({ displayName: \"vui--PrefixContainer\", componentId: \"vui--fsc9el\" }) `user-select:none;border:1px solid ${theme.colors.neutral.ink.lightest};border-radius:4px;display:flex;align-items:center;justify-content:center;width:${({ size }) => (size === 'sm' ? '30px' : '36px')};background-color:${({ disabled }) => (disabled ? theme.colors.neutral.grey.light : 'white')};flex-shrink:0;${({ size }) => (size === 'sm' ? '> span { font-size: 12px }' : '')};&:active{z-index:0;border-right-width:0;+ input{z-index:0;border-left-width:1px;}}`;\nexport const PrefixText = styled(Text).withConfig({ displayName: \"vui--PrefixText\", componentId: \"vui--w81sf\" }) `font-size:14px;`;\nexport const PriceInputGroup = styled(InputGroup).withConfig({ displayName: \"vui--PriceInputGroup\", componentId: \"vui--jpuoo1\" }) `display:inline-flex;border-radius:4px;min-width:125px;width:100%;${({ hasError }) => hasError &&\n `\n box-shadow: 0 0 0 4px ${theme.colors.secondary.red.light};\n\n > * {\n border-top-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n\n > *:first-child {\n border-left-color: ${theme.colors.secondary.red.base};\n }\n\n > div:last-child {\n > button:first-child {\n border-top-color: ${theme.colors.secondary.red.base};\n border-right-color: ${theme.colors.secondary.red.base};\n }\n\n > button:last-child {\n border-right-color: ${theme.colors.secondary.red.base};\n border-bottom-color: ${theme.colors.secondary.red.base};\n }\n }\n `} &:focus-within{outline:0;box-shadow:${({ hasError }) => hasError ? '' : `0 0 0 4px ${theme.colors.secondary.blue.light}`};}&:focus-within > *{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > *:first-child{border-left-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}&:focus-within > div:last-child{> button:first-child{border-top-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}> button:last-child{border-right-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};border-bottom-color:${({ hasError }) => hasError ? theme.colors.secondary.red.base : theme.colors.secondary.blue.base};}}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { ComponentSize } from '../types';\nimport { Stepper } from '../Stepper';\nimport { PriceInputGroup, StyledTextField, PrefixContainer, PrefixText } from './styled';\nimport { withLabels } from '../../hoc';\nconst fractionDigits = 2;\nfunction stringToFixed(price) {\n const floatPrice = parseFloat(price.replace(',', '.'));\n return floatPrice.toFixed(fractionDigits);\n}\nexport const PriceInput = withLabels((_a) => {\n var { className = '', hasError, currency, disabled = false, onChange, onPriceChange, priceValue, step = '0.1', size = ComponentSize.base } = _a, otherProps = __rest(_a, [\"className\", \"hasError\", \"currency\", \"disabled\", \"onChange\", \"onPriceChange\", \"priceValue\", \"step\", \"size\"]);\n const handleChange = (value) => onChange(value.replace(/[a-zA-Z]/g, '').replace(',', '.'));\n const handleBlur = (e) => {\n const target = e.target;\n const { value } = target;\n if (!value) {\n onPriceChange('');\n return;\n }\n const roundedValue = stringToFixed(value);\n onPriceChange(roundedValue);\n };\n const handleIncrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice + currentStep).toFixed(fractionDigits));\n };\n const handleDecrement = (callback = onPriceChange) => {\n const currentPrice = parseFloat(priceValue) || 0;\n const currentStep = parseFloat(step);\n callback((currentPrice - currentStep).toFixed(fractionDigits));\n };\n const handleKeyDown = (e) => {\n const { key } = e;\n const target = e.target;\n const isInForm = target.form;\n if (!isInForm) {\n if (key === 'Enter')\n target.blur();\n }\n if (key === 'ArrowUp')\n handleIncrement(onChange);\n if (key === 'ArrowDown')\n handleDecrement(onChange);\n };\n return (React.createElement(PriceInputGroup, { className: className, hasError: hasError },\n React.createElement(PrefixContainer, { disabled: disabled, size: size },\n React.createElement(PrefixText, { variant: \"hintText\" }, currency)),\n React.createElement(StyledTextField, Object.assign({ placeholder: \"0.00\", type: \"currency\", value: priceValue, step: step, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown, disabled: disabled, size: size }, otherProps)),\n React.createElement(Stepper, { onIncrement: () => handleIncrement(), onDecrement: () => handleDecrement(), disabled: disabled, size: size })));\n});\nPriceInput.displayName = 'PriceInput';\n//# sourceMappingURL=PriceInput.js.map","import styled from 'styled-components';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nimport { Loader } from '../Loader';\nconst Input = styled(TextField).withConfig({ displayName: \"vui--Input\", componentId: \"vui--je6y84\" }) `flex-grow:2;margin-top:0;margin-bottom:0;`;\nconst IconContainer = styled.div.withConfig({ displayName: \"vui--IconContainer\", componentId: \"vui--113gfe8\" }) `position:absolute;`;\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18q9h8i\" }) `position:relative;display:flex;justify-content:flex-start;align-items:center;border-radius:0.25rem;${({ iconPosition }) => {\n let padding = 'padding-right: 2.5rem;';\n let position = 'right: 0.5rem;';\n if (iconPosition === 'left') {\n padding = 'padding-left: 2.5rem';\n position = 'left: 0.5rem;';\n }\n return `\n & ${Input} {\n ${padding}\n }\n\n & ${IconContainer} {\n ${position}\n }\n `;\n}}`;\nexport { Container, Input, IconContainer, Loader };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const SearchIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M14.3819 13.6918H15.1498L20 18.5517L18.5517 20L13.6918 15.1498V14.3819L13.4294 14.1098C12.3213 15.0623 10.8828 15.6358 9.3179 15.6358C5.82847 15.6358 3 12.8073 3 9.3179C3 5.82847 5.82847 3 9.3179 3C12.8073 3 15.6358 5.82847 15.6358 9.3179C15.6358 10.8828 15.0623 12.3213 14.1098 13.4294L14.3819 13.6918ZM4.94397 9.3179C4.94397 11.7381 6.89766 13.6918 9.3179 13.6918C11.7381 13.6918 13.6918 11.7381 13.6918 9.3179C13.6918 6.89766 11.7381 4.94397 9.3179 4.94397C6.89766 4.94397 4.94397 6.89766 4.94397 9.3179Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=SearchIcon.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { theme } from '../../theme';\nimport { Container, Input, IconContainer, Loader } from './styled';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { SearchIcon } from '../../tempIcons/SearchIcon';\nimport { sizes } from '../../theme/modules/sizes';\nexport const Search = ({ type = 'text', disabled = false, onClearClick, onChange, onBlur, onFocus, onKeyUp, onKeyDown, onKeyPress, value = '', error, placeholder = '', className = '', name, isLoading = false, fill, reversed = false, autoComplete = 'on', size = 'base', }) => {\n const shouldShowClear = value && value.length > 0;\n const renderIcon = () => {\n if (isLoading) {\n return React.createElement(Loader, { height: 24, color: fill || theme.colors.secondary.blue.base });\n }\n if (shouldShowClear && onClearClick) {\n return (React.createElement(Button, { variant: \"unstyled\", onClick: onClearClick, style: { display: 'flex' }, \"aria-label\": \"Clear text\" },\n React.createElement(CrossIcon, { color: fill || theme.colors.neutral.ink.dark })));\n }\n return (React.createElement(Button, { variant: \"unstyled\", onClick: () => onChange(value), style: { display: 'flex' }, \"aria-label\": \"Search\" },\n React.createElement(SearchIcon, { color: fill || theme.colors.neutral.ink.dark, height: sizes.md, width: sizes.md })));\n };\n return (React.createElement(Container, { className: className, iconPosition: reversed ? 'left' : 'right' },\n React.createElement(Input, { size: size, type: type, value: value, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onKeyPress: onKeyPress, placeholder: placeholder, name: name, disabled: disabled, error: error, autoComplete: autoComplete }),\n React.createElement(IconContainer, null, renderIcon())));\n};\n//# sourceMappingURL=Search.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { BaseContainer } from '../BaseContainer';\nconst buttonBackgroundColor = theme.colors.neutral.grey.lightest;\nconst buttonBorderColor = theme.colors.neutral.grey.dark;\nconst activeButtonColor = theme.colors.secondary.blue.dark;\nexport const SegmentedControlContainer = styled(BaseContainer).withConfig({ displayName: \"vui--SegmentedControlContainer\", componentId: \"vui--s4yyqq\" }) `display:flex;flex-direction:row;> button{border-radius:0;box-shadow:none;:focus,:active{background-color:${buttonBackgroundColor};border-color:${buttonBorderColor};box-shadow:none;}}> .veeqo-components-active-button{:focus,:active{background-color:${activeButtonColor};border-color:${activeButtonColor};}}> button:not(:first-child){border-left:none;}> .veeqo-components-active-button + button{border-left:1px solid ${theme.colors.neutral.grey.dark};}> button:first-child{border-radius:20px 0px 0px 20px;}> button:last-child{border-radius:0px 20px 20px 0px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Button } from '../Button';\nimport { SegmentedControlContainer } from './styled';\nexport const SegmentedControl = ({ options, selected, className, onChange, }) => (React.createElement(SegmentedControlContainer, { className: className ? `${className}-container` : undefined }, options.map((option) => (React.createElement(Button, { variant: option.value === selected ? 'primary' : 'default', key: option.key, onClick: () => onChange(option.value), disabled: option.disabled, className: option.value === selected ? 'veeqo-components-active-button' : '' }, option.label)))));\n//# sourceMappingURL=SegmentedControl.js.map","import styled from 'styled-components';\nexport const SelectInput = styled.select.withConfig({ displayName: \"vui--SelectInput\", componentId: \"vui--1v4mu6a\" }) `box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:center;padding:0 2.5rem 0 0.5rem;border-radius:4px;background-color:white;border:1px solid #959fa8;color:#1b2126;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M4 6L8 10L12 6H4Z' fill='currentColor' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 0.5em top 50%,0 0;${({ sizeVariant }) => {\n let height = '40px';\n let fontSize = '14px';\n if (sizeVariant === 'sm') {\n height = '32px';\n fontSize = '12px';\n }\n return `\n height: ${height};\n font-size: ${fontSize};\n `;\n}} &:focus{border-color:#0079d1;box-shadow:0 0 0 4px #80bce8;outline:0;}&:invalid{border-color:#eb5757;box-shadow:0 0 0 4px #f7bcbc;outline:0;}&:disabled{box-shadow:none;background-color:#f2f3f5;border-color:#959fa8;color:#637381;}`;\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React, { useCallback } from 'react';\nimport { SelectInput } from './styled';\nimport { withLabels } from '../../hoc';\nexport const Select = withLabels((_a) => {\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 onChange(e.currentTarget.value);\n }, [onChange]);\n return (React.createElement(SelectInput, Object.assign({ className: className, sizeVariant: size, value: value, onChange: handleChange, disabled: disabled, hasError: hasError }, otherProps), options ? (options.map((option) => (React.createElement(\"option\", { key: option.label, value: option.value, disabled: option.disabled }, option.label)))) : (React.createElement(\"h1\", null, \"BOB! ERROR!\"))));\n});\nSelect.displayName = 'Select';\n//# sourceMappingURL=Select.js.map","import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\nexport const TableHeader = styled.thead.withConfig({ displayName: \"vui--TableHeader\", componentId: \"vui--o0sot\" }) `background-color:white;`;\nexport const TableBody = styled.tbody.withConfig({ displayName: \"vui--TableBody\", componentId: \"vui--nuzcgp\" }) `&&& tr:hover td{background-color:${blue.lightest};}`;\nexport const TableRow = styled.tr.withConfig({ displayName: \"vui--TableRow\", componentId: \"vui--1uhgfx1\" }) ``;\nexport const TableCell = styled.td.withConfig({ displayName: \"vui--TableCell\", componentId: \"vui--s41x8b\" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n}).withConfig({ displayName: \"vui--TableHeaderCell\", componentId: \"vui--2nps2x\" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;\nexport const Table = styled.table.withConfig({ displayName: \"vui--Table\", componentId: \"vui--lcbl46\" }) `width:100%;border-spacing:0;${({ striped }) => striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }) => (React.createElement(Table, { striped: striped, className: className }, children));\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n//# sourceMappingURL=SimpleTable.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nconst TRACK_HEIGHT = 4;\nconst BORDER_SIZE = 4;\nconst SLIDER_SIZE = 12;\nconst ADDITIONAL_PADDING = 2;\nconst SliderContainer = styled.div.withConfig({ displayName: \"vui--SliderContainer\", componentId: \"vui--103oce3\" }) `min-width:128px;display:inline-block;position:relative;padding:${SLIDER_SIZE / 2 + ADDITIONAL_PADDING}px 0px;`;\nconst SliderTrack = styled.div.withConfig({ displayName: \"vui--SliderTrack\", componentId: \"vui--1ctzbzj\" }) `background:${theme.colors.neutral.grey.base};height:${TRACK_HEIGHT}px;border-radius:20px;`;\nconst SliderDiv = styled.div.withConfig({ displayName: \"vui--SliderDiv\", componentId: \"vui--1tltjvk\" }) `position:absolute;top:-${(SLIDER_SIZE - TRACK_HEIGHT) / 2 - ADDITIONAL_PADDING * 2}px;left:${(props) => `${props.left}%`};width:${SLIDER_SIZE}px;height:${SLIDER_SIZE}px;background:white;border:${BORDER_SIZE}px solid ${theme.colors.secondary.blue.base};border-radius:50%;touch-action:none;cursor:pointer;margin-left:-${SLIDER_SIZE}px;&:active,&:focus,&:focus-visible,&:focus-within{box-shadow:0 0 0 4px ${theme.colors.secondary.blue.light};}`;\nconst SliderRange = styled(SliderTrack).withConfig({ displayName: \"vui--SliderRange\", componentId: \"vui--t3v3py\" }) `position:relative;width:${(props) => `${props.width}%`};left:${(props) => `${props.left}%`};background:${theme.colors.secondary.blue.light};bottom:${TRACK_HEIGHT}px;border-radius:0;`;\nexport { SliderContainer, SliderTrack, SliderRange, SliderDiv };\n//# sourceMappingURL=styled.js.map","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { SliderContainer, SliderTrack, SliderRange, SliderDiv } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-slider-container` : undefined,\n sliderRange: prefix ? `${prefix}-slider-range` : undefined,\n slider: prefix ? `${prefix}-slider` : undefined,\n startSlider: prefix ? `${prefix}-start-slider` : undefined,\n endSlider: prefix ? `${prefix}-end-slider` : undefined,\n});\nexport const Slider = ({ id, value, min, max, step = 1, onChange, className, e2eClassName, onSlideStart = () => { }, onSlideEnd = () => { }, }) => {\n const [isDragging, setIsDragging] = useState(false);\n const [draggingSliderIndex, setDraggingSliderIndex] = useState(-1);\n const containerRef = useRef(null);\n const startSliderRef = useRef(null);\n const endSliderRef = useRef(null);\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n const handleMouseMove = useCallback((e) => {\n var _a;\n if (!isDragging || !containerRef.current)\n return;\n const sliderValue = draggingSliderIndex > -1 ? value[draggingSliderIndex] : value;\n const containerSize = containerRef.current.getBoundingClientRect();\n // slider position relative to the container in percents\n const handleValue = ((e.pageX - containerSize.x) * 100) / containerSize.width;\n // current value by slider position\n let newValue = (max - min) * (handleValue / 100) + min;\n const diff = sliderValue - newValue;\n // use to apply step to new value\n if (diff > 0) {\n newValue = sliderValue + Math.ceil(newValue / step - sliderValue / step) * step;\n }\n if (diff < 0) {\n newValue = sliderValue + Math.floor(newValue / step - sliderValue / step) * step;\n }\n if (sliderValue === newValue)\n return;\n if (newValue > max)\n newValue = max;\n if (newValue < min)\n newValue = min;\n if (Array.isArray(value)) {\n if (draggingSliderIndex === 0 && newValue > value[1])\n [, newValue] = value;\n if (draggingSliderIndex === 1 && newValue < value[0])\n [newValue] = value;\n }\n // used to fix 0.30000000000000004 problem\n const decimalPlaces = step.toString().includes('.')\n ? (_a = step.toString().split('.').pop()) === null || _a === void 0 ? void 0 : _a.length\n : 0;\n newValue = Number(newValue.toFixed(decimalPlaces));\n let resultValue;\n if (Array.isArray(value)) {\n resultValue = draggingSliderIndex === 0 ? [newValue, value[1]] : [value[0], newValue];\n }\n else {\n resultValue = newValue;\n }\n onChange(resultValue);\n if (Array.isArray(resultValue) && resultValue[0] === resultValue[1]) {\n if (draggingSliderIndex === 0)\n setDraggingSliderIndex(1);\n if (draggingSliderIndex === 1)\n setDraggingSliderIndex(0);\n }\n }, [draggingSliderIndex, isDragging, max, min, onChange, step, value]);\n const handleMouseUp = useCallback(() => {\n setIsDragging(false);\n onSlideEnd();\n }, [onSlideEnd]);\n const handleMouseDown = useCallback((e, index) => {\n setIsDragging(true);\n onSlideStart();\n if (typeof index === 'number')\n setDraggingSliderIndex(index);\n e.preventDefault();\n }, [onSlideStart]);\n useEffect(() => {\n const handleStartSliderMouseDown = (e) => handleMouseDown(e, Array.isArray(value) ? 0 : 1);\n const handleEndSliderMouseDown = (e) => handleMouseDown(e, 1);\n const startSliderEl = startSliderRef.current;\n const endSliderEl = endSliderRef.current;\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.addEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.addEventListener('mousedown', handleEndSliderMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n return () => {\n startSliderEl === null || startSliderEl === void 0 ? void 0 : startSliderEl.removeEventListener('mousedown', handleStartSliderMouseDown);\n endSliderEl === null || endSliderEl === void 0 ? void 0 : endSliderEl.removeEventListener('mousedown', handleEndSliderMouseDown);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseDown, handleMouseMove, handleMouseUp, value]);\n const renderSlider = (left, valueNow, index) => {\n let sliderClassName;\n if (typeof index === 'number') {\n sliderClassName = buildClassnames(index === 0\n ? [classNames === null || classNames === void 0 ? void 0 : classNames.startSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.startSlider]\n : [classNames === null || classNames === void 0 ? void 0 : classNames.endSlider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.endSlider]);\n }\n else {\n sliderClassName = buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.slider, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.slider]);\n }\n return (React.createElement(SliderDiv, { role: \"slider\", ref: index === 1 ? endSliderRef : startSliderRef, className: sliderClassName, left: left, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": valueNow }));\n };\n const renderRangeSlider = (rangeSliderValue) => {\n // handle value used to get slider position relative to container from value\n const handleValueStart = ((rangeSliderValue[0] < min ? 0 : rangeSliderValue[0] - min) * 100) / (max - min);\n const handleValueEnd = ((rangeSliderValue[1] > max ? 100 : rangeSliderValue[1] - min) * 100) / (max - min);\n const rangeWidth = handleValueEnd - handleValueStart;\n return (React.createElement(React.Fragment, null,\n React.createElement(SliderRange, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.sliderRange, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.sliderRange]), left: handleValueStart, width: rangeWidth }),\n renderSlider(handleValueStart, rangeSliderValue[0], 0),\n renderSlider(handleValueEnd, rangeSliderValue[1], 1)));\n };\n const renderSingleSlider = (sliderValue) => {\n if (Array.isArray(value))\n return renderRangeSlider(value);\n let handleValue;\n if (value > max)\n handleValue = 100;\n else if (value < min)\n handleValue = 0;\n else\n handleValue = ((sliderValue - min) * 100) / (max - min);\n return renderSlider(handleValue, sliderValue);\n };\n let render;\n if (Array.isArray(value))\n render = renderRangeSlider(value);\n else\n render = renderSingleSlider(value);\n return (React.createElement(SliderContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), id: id, ref: containerRef },\n React.createElement(SliderTrack, null),\n render));\n};\n//# sourceMappingURL=Slider.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { BaseContainer } from '../BaseContainer';\nexport const Tag = styled(BaseContainer).withConfig({ displayName: \"vui--Tag\", componentId: \"vui--1rdo7hk\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;border-radius:4px;padding:4px 8px;${({ backgroundColor, color }) => `\n color: ${color !== null && color !== void 0 ? color : colors.neutral.ink.base};\n background-color: ${backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : colors.neutral.grey.base};\n `}`;\n//# sourceMappingURL=Tag.js.map","import styled from 'styled-components';\nimport { Stack } from '../../Stack';\nimport { BaseContainer } from '../../BaseContainer';\nimport { Text } from '../../Text';\nimport { theme } from '../../../theme';\nimport { sizes } from '../../../theme/modules/sizes';\nexport const ToastsLayoutContainer = styled(Stack).withConfig({ displayName: \"vui--ToastsLayoutContainer\", componentId: \"vui--1iztsl9\" }) `position:fixed;bottom:24px;width:100%;pointer-events:none;`;\nexport const Toast = styled(Stack).withConfig({ displayName: \"vui--Toast\", componentId: \"vui--1o64628\" }) `background-color:${theme.colors.neutral.ink.dark};padding:12px 24px 12px 12px;box-shadow:${theme.shadows.lg};border-radius:${theme.radius.md};pointer-events:auto;z-index:40;min-width:${({ minWidth }) => minWidth};max-width:80vw;&.veeqo-components-toast-enter{transform:translateY(12px);opacity:0;}&.veeqo-components-toast-enter-active{transform:translateY(0);opacity:1;transition:500ms ease;}&.veeqo-components-toast-exit{transform:${({ last }) => (last ? 'translateY(0)' : 'translateX(0)')};opacity:1;}&.veeqo-components-toast-exit-active{transform:${({ last }) => (last ? 'translateY(12px)' : 'translateX(12px)')};opacity:0;transition:500ms ease;}`;\nexport const IconWrap = styled(BaseContainer).withConfig({ displayName: \"vui--IconWrap\", componentId: \"vui--1nmtetq\" }) `display:flex;flex-direction:row;align-items:center;justify-content:center;height:40px;width:40px;border-radius:${theme.radius.md};background-color:${({ color }) => color};color:#fff;svg{width:${sizes.md};height:${sizes.md};}`;\nexport const ContentStack = styled(Stack).withConfig({ displayName: \"vui--ContentStack\", componentId: \"vui--fvpujj\" }) `flex-grow:1;`;\nexport const StyledText = styled(Text).withConfig({ displayName: \"vui--StyledText\", componentId: \"vui--ppieao\" }) `color:white;font-size:16px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { colors } from '../../../theme/modules/colors';\nimport { IconWrap, Toast as ToastContainer, StyledText as Text, ContentStack } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nimport { Button } from '../../Button';\nimport { SuccessIcon } from '../../../tempIcons/SuccessIcon';\nimport { InfoIcon } from '../../../tempIcons/InfoIcon';\nimport { AttentionIcon } from '../../../tempIcons/AttentionIcon';\nimport { MergeIcon } from '../../../tempIcons/MergeIcon';\nimport { CrossIcon } from '../../../tempIcons/CrossIcon';\nconst toastTypes = {\n info: {\n accentColor: colors.brand.blue.base,\n icon: React.createElement(InfoIcon, null),\n },\n success: {\n accentColor: colors.secondary.green.base,\n icon: React.createElement(SuccessIcon, null),\n },\n error: {\n accentColor: colors.secondary.red.base,\n icon: React.createElement(AttentionIcon, null),\n },\n merge: {\n accentColor: colors.secondary.purple.base,\n icon: React.createElement(MergeIcon, null),\n },\n};\nconst generateClassNames = (prefix) => ({\n container: prefix ? `${prefix}-toast-container` : undefined,\n icon: prefix ? `${prefix}-toast-icon` : undefined,\n closeIcon: prefix ? `${prefix}-toast-close-icon` : undefined,\n});\nexport const Toast = ({ className, e2eClassName, type, iconSlot, text, last, minWidth, cta, onClose, }) => {\n const classNames = generateClassNames(className);\n const e2eClassNames = generateClassNames(e2eClassName);\n return (React.createElement(ToastContainer, { className: buildClassnames([classNames === null || classNames === void 0 ? void 0 : classNames.container, e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.container]), direction: \"horizontal\", alignY: \"center\", minWidth: minWidth, last: last },\n React.createElement(IconWrap, { color: toastTypes[type].accentColor, className: buildClassnames([classNames.icon, e2eClassNames.icon]) }, iconSlot !== null && iconSlot !== void 0 ? iconSlot : toastTypes[type].icon),\n React.createElement(ContentStack, { direction: \"horizontal\", alignY: \"center\", alignX: \"between\" },\n React.createElement(Text, { variant: \"body\" }, text),\n cta),\n React.createElement(Button, { variant: \"flat\", icon: React.createElement(CrossIcon, { color: \"white\" }), onClick: onClose, \"aria-label\": \"Close\" })));\n};\n//# sourceMappingURL=Toast.js.map","import React from 'react';\nexport const AttentionIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M11 15H13V17H11V15ZM11 7H13V13H11V7ZM11.99 2C6.47 2 2 6.48 2 12C2 17.52 6.47 22 11.99 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 11.99 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=AttentionIcon.js.map","import React from 'react';\nexport const MergeIcon = (props) => (React.createElement(\"svg\", Object.assign({ viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M10.9887 6.82229H6.84911L12.1714 1.5L17.4937 6.82229H13.3541V14.4036L6.25774 21.5L4.59009 19.8323L10.9887 13.4338V6.82229ZM19.7527 19.8323L18.0851 21.5L14.0519 17.4669L15.7196 15.7992L19.7527 19.8323Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MergeIcon.js.map","import { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutContainer } from './components/styled';\nimport { Toast } from './components/Toast';\nexport const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {\n useEffect(() => {\n if (max && toasts.length > max)\n onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n return createPortal(React.createElement(ToastsLayoutContainer, { direction: \"vertical\", alignX: \"center\", spacing: 4 },\n React.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React.createElement(CSSTransition, { key: toast.key, timeout: 500, classNames: \"veeqo-components-toast\" },\n React.createElement(Toast, Object.assign({ className: className, e2eClassName: e2eClassName, minWidth: minWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key) }, toast))))))), document.body);\n};\n//# sourceMappingURL=ToastsLayout.js.map","import styled from 'styled-components';\nimport { BaseContainer } from '../BaseContainer';\nimport { theme } from '../../theme';\nconst Slider = styled.span.withConfig({ displayName: \"vui--Slider\", componentId: \"vui--x03mdi\" }) `content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:18px;background-color:#cdd1d5;-webkit-transition:0.3s;transition:0.3s;&:after{content:'';position:absolute;border-radius:50%;background-color:${({ disabled, switched }) => disabled && switched ? theme.colors.secondary.blue.lightest : 'white'};-webkit-transition:0.3s;transition:0.3s;}`;\nconst Input = styled.input.withConfig({ displayName: \"vui--Input\", componentId: \"vui--1ccelw2\" }) `&:focus-visible + ${Slider}{box-shadow:0 0 0 4px ${theme.colors.brand.blue.light};}&:checked + ${Slider}{background-color:#0079d1;}&:disabled + ${Slider}{background-color:${theme.colors.neutral.grey.base};}&:checked:disabled + ${Slider}{background-color:${theme.colors.secondary.blue.light};}`;\nconst Switch = styled.label.withConfig({ displayName: \"vui--Switch\", componentId: \"vui--13yy1uj\" }) `display:inline-block;position:relative;cursor:${({ disabled }) => (disabled ? 'default' : 'pointer')};height:${({ small }) => (small ? '28px' : '36px')};width:${({ small }) => (small ? '56px' : '72px')};input{position:absolute;opacity:0;}${Slider}:after{height:${({ small }) => (small ? '22px' : '28px')};width:${({ small }) => (small ? '22px' : '28px')};left:${({ small }) => (small ? '3px' : '4px')};bottom:${({ small }) => (small ? '3px' : '4px')};}${Input}:checked + ${Slider}{&:after,svg{-webkit-transform:translateX(${({ small }) => (small ? '28px' : '36px')});-ms-transform:translateX(${({ small }) => (small ? '28px' : '36px')});transform:translateX(${({ small }) => (small ? '28px' : '36px')});}}`;\nconst Wrapper = styled(BaseContainer).withConfig({ displayName: \"vui--Wrapper\", componentId: \"vui--69792q\" }) `cursor:${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};display:inline-block;user-select:none;`;\nexport { Switch, Slider, Input, Wrapper };\n//# sourceMappingURL=styled.js.map","import React 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 = ({ className, name, switched, small, onClick = () => { }, disabled, ariaLabel, }) => (React.createElement(Wrapper, { className: className, disabled: disabled },\n React.createElement(Switch, { small: small, disabled: disabled, role: \"switch\" },\n React.createElement(Input, { type: \"checkbox\", name: name, \"aria-label\": ariaLabel, checked: !!switched, onChange: disabled ? undefined : onClick, disabled: disabled }),\n React.createElement(Slider, { switched: switched, disabled: disabled }))));\n//# sourceMappingURL=Toggle.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nexport const StyledButton = styled.button.withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--x718nd\" }) `user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:${theme.fontFamily};font-weight:400;border:1px solid;box-shadow:0 1px 3px rgba(55, 66, 77, 0.15);${({ size, checked }) => {\n let height = '40px';\n let paddingLeft = '24px';\n let paddingRight = '24px';\n let borderRadius = '8px';\n let fontSize = '16px';\n let outlineWidth = '4px';\n let backgroundColor = 'white';\n let borderColor = '#CDD1D5';\n let color = '#37424D';\n if (size === 'sm') {\n height = '32px';\n paddingLeft = '16px';\n paddingRight = '16px';\n borderRadius = '4px';\n fontSize = '14px';\n outlineWidth = '2px';\n }\n if (checked) {\n backgroundColor = '#0079D1';\n borderColor = '#0079D1';\n color = 'white';\n }\n return `\n --outline-width: ${outlineWidth};\n\n height: ${height};\n padding-left: ${paddingLeft};\n padding-right: ${paddingRight};\n border-radius: ${borderRadius};\n font-size: ${fontSize};\n\n background-color: ${backgroundColor};\n border-color: ${borderColor};\n color: ${color};\n `;\n}} & > * + *{margin-left:8px;}&:hover{cursor:pointer;background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};}&:active{background-color:${({ checked }) => (checked ? '#005A9C' : '#FAFAFB')};border-color:${({ checked }) => (checked ? '#005A9C' : '#0079D1')};box-shadow:0 0 0 var(--outline-width)#80bce8;}&:focus{box-shadow:0 0 0 var(--outline-width)#80bce8;outline:0;}&:disabled{cursor:unset;box-shadow:none;background-color:#dfe3e8;border-color:#dfe3e8;color:#637381;}& > span{position:relative;top:-1px;}`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { StyledButton } from './styled';\nexport const ToggleButton = ({ children, checked, size = 'base', disabled = false, onChange, }) => (React.createElement(StyledButton, { type: \"button\", checked: checked, size: size, disabled: disabled, \"aria-pressed\": checked, tabIndex: \"0\", onClick: () => onChange(!checked) }, children));\n//# sourceMappingURL=ToggleButton.js.map","import styled from 'styled-components';\nimport { theme } from '../../../theme';\nimport { BaseContainer } from '../../BaseContainer';\nconst commonStyles = `\n position: fixed;\n height: 100%;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\nexport const Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1xg3v52\" }) `${commonStyles} display:${(props) => (props.shouldShow ? 'initial' : 'none')};z-index:${theme.layers.modal};`;\nexport const Shadow = styled(BaseContainer).withConfig({ displayName: \"vui--Shadow\", componentId: \"vui--nz3cc\" }) `${commonStyles} background-color:rgba(55,66,77,0.5);`;\nexport const Wrap = styled(BaseContainer).withConfig({ displayName: \"vui--Wrap\", componentId: \"vui--1pbqe6\" }) `position:relative;height:100%;width:100%;z-index:1;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\n// @ts-ignore\nimport ScrollLock from 'react-scrolllock-configurable';\nimport { Portal } from '../../Portal';\nimport { Container, Shadow, Wrap } from './styled';\nimport { buildClassnames } from '../../../utils/buildClassnames';\nconst WithPortal = ({ usePortal, children }) => (\n// eslint-disable-next-line react/jsx-no-useless-fragment\nReact.createElement(React.Fragment, null, usePortal ? React.createElement(Portal, null, children) : children));\nexport const Popup = ({ className, children = null, shouldShow = false, usePortal = true, }) => (React.createElement(WithPortal, { usePortal: usePortal },\n React.createElement(Container, { className: buildClassnames([`${className}-container`, className]), shouldShow: shouldShow },\n React.createElement(Shadow, null),\n React.createElement(ScrollLock, { isActive: shouldShow },\n React.createElement(Wrap, { className: buildClassnames([`${className}-wrap`, className]) }, children)))));\n//# sourceMappingURL=Popup.js.map","import styled from 'styled-components';\nimport { Button } from '../Button';\nexport const PopupContent = styled.div.withConfig({ displayName: \"vui--PopupContent\", componentId: \"vui--17gmyeh\" }) `display:flex;justify-content:center;align-items:center;height:100%;`;\nexport const VideoWrapper = styled.div.withConfig({ displayName: \"vui--VideoWrapper\", componentId: \"vui--rcrl58\" }) `position:relative;iframe{width:57vw;height:calc(57vw * 0.5625);border-radius:8px;}`;\nexport const ButtonSC = styled(Button).withConfig({ displayName: \"vui--ButtonSC\", componentId: \"vui--srigr3\" }) `position:absolute;top:0px;right:-45px;`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Popup } from './components/Popup';\nimport { PopupContent, VideoWrapper, ButtonSC } from './styled';\nimport { useClickOutside } from '../../hooks';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nexport const VideoModal = ({ id, youtubeVideoId, showVideoModal, handleCloseClick, }) => {\n const ref = useClickOutside(showVideoModal, handleCloseClick);\n return (React.createElement(Popup, { shouldShow: showVideoModal, className: `${id}-video` },\n React.createElement(PopupContent, { \"data-testid\": \"video-modal_popup-content\", className: `video-modal--${showVideoModal ? 'visible' : 'hidden'}` },\n React.createElement(VideoWrapper, { ref: ref },\n React.createElement(\"iframe\", { title: `${id}-video`, src: `https://www.youtube.com/embed/${youtubeVideoId}`, frameBorder: \"0\", allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\", allowFullScreen: true }),\n React.createElement(ButtonSC, { variant: \"flat\", onClick: handleCloseClick, \"data-testid\": \"video-modal--close\", icon: React.createElement(CrossIcon, { color: \"white\" }) })))));\n};\n//# sourceMappingURL=VideoModal.js.map","export var ViewTypes;\n(function (ViewTypes) {\n ViewTypes[\"saved\"] = \"saved\";\n ViewTypes[\"fixed\"] = \"fixed\";\n ViewTypes[\"draft\"] = \"draft\";\n})(ViewTypes || (ViewTypes = {}));\n//# sourceMappingURL=types.js.map","import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { Text } from '../Text';\nimport { BaseContainer } from '../BaseContainer';\nimport { sizes } from '../../theme/modules/sizes';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--1vyyfhh\" }) `padding:14px 24px;`;\nconst Contour = styled(BaseContainer).withConfig({ displayName: \"vui--Contour\", componentId: \"vui--vld7v7\" }) `position:relative;display:flex;flex-direction:row;align-items:center;height:40px;border-radius:4px;padding:0 12px;border:1px solid transparent;cursor:pointer;&:hover{border:1px solid ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}${(props) => props.active &&\n `\n background-color: ${colors.secondary.blue.lightest};\n `}`;\nconst CounterText = styled(Text).withConfig({ displayName: \"vui--CounterText\", componentId: \"vui--1hjbx14\" }) `line-height:1;`;\nconst CounterContainer = styled(Text).withConfig({ displayName: \"vui--CounterContainer\", componentId: \"vui--chq9kr\" }) `display:inline-flex;flex-direction:row;justify-content:center;align-items:center;background-color:${colors.neutral.grey.base};border-radius:4px;padding:2px 4px;min-width:20px;height:20px;margin-left:8px;& > ${CounterText}{color:${colors.neutral.ink.dark};}${(props) => props.active &&\n `\n background-color: ${colors.secondary.blue.base};\n\n & > ${CounterText} {\n color: #fff;\n }\n `}`;\nconst IconStyling = {\n style: {\n marginLeft: '4px',\n padding: '4px',\n height: sizes.base,\n width: sizes.base,\n },\n};\nexport { Container, Contour, Text, CounterContainer, CounterText, IconStyling };\n//# sourceMappingURL=styled.js.map","import React from 'react';\nexport const MoreHorizIcon = (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: \"M6 10C4.9 10 4 10.9 4 12C4 13.1 4.9 14 6 14C7.1 14 8 13.1 8 12C8 10.9 7.1 10 6 10ZM18 10C16.9 10 16 10.9 16 12C16 13.1 16.9 14 18 14C19.1 14 20 13.1 20 12C20 10.9 19.1 10 18 10ZM12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14C13.1 14 14 13.1 14 12C14 10.9 13.1 10 12 10Z\", fill: \"currentColor\" })));\n//# sourceMappingURL=MoreHorizIcon.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, IconStyling, Text } from './styled';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport { CrossIcon } from '../../tempIcons/CrossIcon';\nimport { MoreHorizIcon } from '../../tempIcons/MoreHorizIcon';\nimport { EditIcon } from '../../tempIcons/EditIcon';\nconst generateClassNames = (prefix) => ({\n delete: prefix ? `${prefix}-delete` : undefined,\n options: prefix ? `${prefix}-options` : undefined,\n edit: prefix ? `${prefix}-edit` : undefined,\n container: prefix ? `${prefix}-container` : undefined,\n active: prefix ? `${prefix}-active` : undefined,\n counter: prefix ? `${prefix}-counter` : undefined,\n});\nexport const View = ({ id, name, type, className, count, active = false, onClick, onDelete, onEdit, onOptions, 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 handleOptions = useCallback((event) => {\n event.stopPropagation();\n if (onOptions)\n onOptions(id);\n }, [onOptions, id]);\n const isDraft = type === ViewTypes.draft;\n const isFixed = type === ViewTypes.fixed;\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 },\n React.createElement(Text, { variant: \"bodyBold\" }, name),\n count && (React.createElement(CounterContainer, { active: active || isHovered },\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 isFixed && active && (React.createElement(MoreHorizIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.options, onClick: handleOptions }))),\n isSaved && active && (React.createElement(EditIcon, Object.assign({}, IconStyling, { color: fill, className: e2eClassNames === null || e2eClassNames === void 0 ? void 0 : e2eClassNames.edit, onClick: handleEdit }))))));\n};\n//# sourceMappingURL=View.js.map","import styled from 'styled-components';\nimport { theme } from '../../theme';\nimport { Button } from '../Button';\nimport { TextField } from '../TextField';\nimport { BaseContainer } from '../BaseContainer';\nconst Container = styled(BaseContainer).withConfig({ displayName: \"vui--Container\", componentId: \"vui--18asccd\" }) `display:flex;flex-direction:column;position:relative;`;\nconst Row = styled(BaseContainer).withConfig({ displayName: \"vui--Row\", componentId: \"vui--hefld1\" }) `display:flex;flex-direction:row;`;\nconst StyledTextField = styled(TextField).withConfig({ displayName: \"vui--StyledTextField\", componentId: \"vui--1w2y0ok\" }) `&&&{text-align:left;width:52px;}`;\nconst StyledButton = styled(Button).withConfig({ displayName: \"vui--StyledButton\", componentId: \"vui--fqwvpz\" }) `padding:0 4px;border-color:${theme.colors.neutral.ink.lightest};margin-right:4px;${(props) => props.hasError &&\n `\n border-color: ${theme.colors.secondary.red.base};\n `};`;\nexport { Container, Row, StyledTextField as TextField, StyledButton as Button };\n//# sourceMappingURL=styled.js.map","import { __rest } from \"tslib\";\nimport React from 'react';\nimport { isWeightImperial, isWeightMetric } from './types';\nimport { ComponentSize } from '../types';\nimport { InputGroup } from '../InputGroup';\nimport { withLabels } from '../../hoc';\nimport { Container, TextField, Row, Button } from './styled';\nexport const WeightInput = withLabels((_a) => {\n var { size = ComponentSize.base, hasError, className } = _a, rest = __rest(_a, [\"size\", \"hasError\", \"className\"]);\n return (React.createElement(Container, { className: className },\n React.createElement(Row, null,\n isWeightMetric(rest) && (React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeGram, name: \"gram\", type: \"number\", value: rest.gram, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"g\"))),\n isWeightImperial(rest) && (React.createElement(React.Fragment, null,\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangePound, name: \"ounce\", type: \"number\", value: rest.pound, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"lb\")),\n React.createElement(InputGroup, null,\n React.createElement(TextField, Object.assign({ size: size, onChange: rest.handleChangeOunce, name: \"pound\", type: \"number\", value: rest.ounce, hasError: hasError }, rest)),\n React.createElement(Button, { hasError: hasError, size: size }, \"oz\")))))));\n});\nWeightInput.displayName = 'WeightInput';\nWeightInput.defaultProps = {\n weightUnit: 'lb',\n};\n//# sourceMappingURL=WeightInput.js.map","export const isWeightMetric = (props) => {\n return props.weightUnit === 'g';\n};\nexport const isWeightImperial = (props) => {\n return props.weightUnit === 'lb' || props.weightUnit === 'oz';\n};\n//# sourceMappingURL=types.js.map"],"names":["BaseContainer","styled","div","withConfig","displayName","componentId","componentMap","inputLabel","inputLabelSmall","headingSmall","headingMedium","headingLarge","headingXL","headingXXL","button","buttonSmall","getComponentOverride","as","variant","colors","brand","blue","lightest","light","base","dark","darkest","peach","neutral","ink","grey","greyBlue","secondary","red","yellow","green","lime","teal","aqua","purple","pink","orange","system","scrollbar","thumb","background","breakpoints","mobile","tablet","lgTablet","desktop","lgDesktop","radius","sm","md","lg","full","Shadows","SizeAlias","sizeScale","increment","unit","count","sizes","i","value","buildSizeScale","sizeAliases","none","line","xs","xl","xxl","Object","assign","common","fontFamily","text","fontStyle","fontWeight","fontSize","lineHeight","color","textDecoration","letterSpacing","headingTable","subheadingLarge","subheadingMedium","subheadingSmall","subheadingSmallBold","body","bodySmall","bodyBold","bodyBoldDark","bodySmallBold","linkLarge","linkMedium","link","linkSmall","hintText","placeholder","placeholderSmall","placeholderCode","placeholderCodeSmall","error","errorSmall","successSmall","theme","layers","popup","modal","tooltip","shadows","Text","span","attrs","muted","TapBarChild","Left","glyphColor","Right","AccordionSummary","summary","Top","Description","AccordionContent","motion","AccordionDetails","details","UpArrowIcon","props","React","createElement","viewBox","fill","xmlns","role","height","fillRule","clipRule","d","Accordion","className","children","label","iconSlot","timeout","description","shouldOpenOnMount","shouldOpen","setShouldOpen","useState","open","onClick","animate","rotate","name","initial","opacity","exit","transition","from","type","duration","generateId","prefix","Math","floor","random","Portal","PureComponent","constructor","super","this","id","portalNode","state","isMounted","componentDidMount","rootElementRef","document","setAttribute","style","cssText","appendChild","setState","componentWillUnmount","removeChild","render","createPortal","Backdrop","zIndex","PopoverWrapper","Popover","anchorElement","placement","onShouldClose","popperElement","setPopperElement","styles","attributes","update","usePopper","useEffect","resizeObserver","ResizeObserver","observe","disconnect","window","addEventListener","removeEventListener","ref","popper","__rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","SuppressedError","TailSpin","width","x1","y1","x2","y2","stopColor","stopOpacity","offset","transform","stroke","strokeWidth","attributeName","to","dur","repeatCount","cx","cy","r","Grid","begin","values","calcMode","ThreeDots","Loader","MainContent","hasText","loading","size","BaseButton","paddingLeft","paddingRight","borderRadius","outlineWidth","hasIcon","hasDropdown","DefaultButton","DefaultDestructiveButton","PrimaryButton","PrimaryDestructiveButton","FlatButton","UnstyledButton","LinkButton","LoadingWrapper","DropdownIcon","variantMap","default","primary","destructive","primaryDestructive","flat","unstyled","Button","forwardRef","_a","icon","dropdown","otherProps","VariantButton","hasChildren","undefined","Header","header","HeaderGrid","DownArrowIcon","CrossIcon","CardHeader","title","subtitle","headerVariant","action","ActionSlot","isCollapsed","onClickCollapse","onClickClose","elevationShadowMap","accents","info","success","Footer","footer","Section","section","FullBleed","Body","Surface","elevation","accent","collapseAnimationVariants","expanded","collapsed","Card","HeaderActionSlot","collapsable","onClose","renderFooter","setIsCollapsed","headerMarkup","showBody","bodyMarkup","variants","ease","footerMarkup","ListCard","SectionHeading","Item","itemMap","item","ActionList","items","sections","buttonVariant","buttonSize","isActive","setIsActive","anchorEl","setAnchorEl","renderItem","ItemComponent","handleClick","callback","key","listItemMarkup","map","Fragment","CommonAnchor","a","Anchor","href","target","Container","BasicDropdown","BasicContainer","Wrap","Dropdown","reversed","AnimatedDropdown","cta","shouldShowDropdown","onClickAway","transitionClassnames","onMouseEnter","onMouseLeave","dropdownRef","useRef","handleClickAway","event","current","contains","useClickAway","CSSTransition","in","classNames","unmountOnExit","AvatarSC","textColor","bgColor","Avatar","userInitials","toUpperCase","match","slice","Position","Sides","Hoverable","TooltipText","Triangle","Tip","tipMinWidth","tipMaxWidth","defaultConfig","side","TOP","triangleOffset","Tooltip","content","config","withTriangle","initialShouldShow","useReactPortal","trim","usedConfig","container","tip","wrap","triangle","hoverable","shouldShow","setShouldShow","hoverableElement","setHoverableElement","modifiers","options","show","useCallback","hide","tooltipStyles","tooltipMarkup","triangleOffsetSize","ReactDOM","BaseBadge","hideBorder","DefaultBadge","PrimaryBadge","WarningBadge","buildClassnames","names","filter","Boolean","join","warning","Badge","e2eClassName","BadgeVariant","BannerLayout","accentColor","backgroundColor","Row","Col","IconCol","ChildContainer","HeaderCol","StyledText","accentColors","help","Banner","Pill","marginRight","BreadcrumbsSC","ul","BreadcrumbSC","li","RightArrowIcon","Breadcrumb","LinkComponent","DefaultSeparator","DefaultLink","BreadcrumbText","Breadcrumbs","Separator","pathname","Alignments","Stack","direction","alignX","alignY","spacing","alignItems","justifyContent","flexDirection","itemFlex","marginTop","marginLeft","alignMap","top","center","RootLayout","InputLayout","align","AccessoryLayout","TextLayout","LabelText","HintText","ErrorText","Wrapper","disabled","BorderedWrapper","BlockTooltip","HelpIcon","Choice","hint","bordered","Accessory","contentMarkup","htmlFor","Input","input","Checkbox","checked","indeterminate","ariaLabel","onChange","useMemo","checkboxRef","handleChange","currentTarget","Radio","Fieldset","fieldset","Legend","legend","ChoiceList","Component","arguments","allowMultiple","handleChangeMultiple","handleChangeSingle","selected","newSelected","selectedValue","InputComponent","option","includes","SuccessIcon","ClipboardIcon","iconSizes","XSButton","CopyToClipboard","onCopy","copied","setCopied","handleCopy","navigator","clipboard","writeText","setTimeout","iconSize","defaultEmptyState","defaultErrorState","subTitle","ScrollPosition","fixedColumnShadow","TooltipContent","scrollDisabled","showScrollbar","lastStartFixedColumnsIndex","firstEndFixedColumnsIndex","scrollPosition","middle","end","start","WrapperBordered","Head","thead","tbody","fixedColumnsStyle","tfoot","tr","Cell","td","grow","HeaderCell","alignmentMap","left","right","HeaderCellLayout","Table","table","isFixedLayout","striped","tableLoading","noWrap","StickyHeaderWrapper","FakeHeaderTable","SpecificStateContainer","EllipseContainer","TitleText","SubTitleText","SpecificState","CellButton","ClickableButton","Content","SkeletonContentWrapper","SkeletonContentComponent","isLoading","SkeletonContent","SkeletonCell","defaultProps","StickyHeader","renderHeader","tableRef","wrapperRef","wrapperStyle","headerWrapperRef","setHeaderWrapperRef","isSticky","topOffset","setIsSticky","handleScrollChange","bottom","sticky","onScroll","getBoundingClientRect","useStickyHeader","parseInt","wrapperWidth","useScroll","updateScroll","scrollLeft","tableLayout","convertFixedColumnInlineStyleToStyled","forEach","index","push","abs","SkeletonHeaderCell","DoubleArrowIcon","DoubleArrowAscIcon","DoubleArrowDescIcon","IconUnsorted","IconSortAsc","IconSortDesc","DataTable","borderless","headers","rows","renderRow","renderNestedRow","expandedRowIds","renderLoadingRow","renderFooterRow","renderFooterLoadingRow","omitFooterSelectionCell","selectedRowIds","disabledSelectionInputRowIds","selectionMode","onChangeSelectedRowIds","sortColumnId","sortDirection","onChangeSort","isError","skeletonRowsNumber","isHeaderSticky","stickyHeaderStyle","customSpecificState","bodyHeightInSpecificStates","startFixedColumnsNumber","endFixedColumnsNumber","WrapperComponent","isEmpty","isFixedColumnsNotEnabled","setScrollPosition","refValue","handleScroll","el","scrollWidth","scrollValue","castWidthToNumber","console","generateFixedColumnInlineStyle","position","generateFixedColumnsStyle","startColumns","endColumns","totalStartOffset","totalEndOffset","headerWidth","handleSelectRow","row","newSelectedRowIds","findIndex","splice","handleSelectAll","rowIds","handleClickSortableHeader","columnId","nextColumnId","nextDirection","renderHeaderCell","sortIcon","sortable","headerContents","renderSkeletonHeaderCell","selectionCellStyle","startHeaderIndex","endHeaderIndex","headerCellStyle","find","skeleton","skeletonStyle","renderSelectionInput","isSelected","inputProps","renderSkeletonSelectionInput","rowIndex","generalStyle","margin","animationDuration","getNestedRow","nestedRow","isHidden","_b","nestedRowE2eClassName","data","e2eClassNames","renderDefaultLoadingRow","cells","unshift","getFooter","renderedRows","_c","isExpanded","bodyClassName","rowE2eClassName","rowClassName","nestedRows","loadingRows","specificStateValues","alignmentToFlex","parseWidth","fallback","min","max","generateTableCss","pinnedLeft","pinnedRight","cellWidths","visible","stripingMode","pinnedLeftStyles","_","array","reduce","acc","val","sumAllBeforeIndex","pinnedRightStyles","sumAllAfterIndex","isLeftShadowVisible","leftShadow","isRightShadowVisible","rightShadow","stripingRow","stripingNested","col","SortDirection","ClickableCell","EditableCell","ArrowUpIcon","ArrowDownIcon","GetSortIcon","sortState","ascending","useCellWidths","containerRef","setCellWidths","updateCellWidths","querySelectorAll","widths","Array","cell","resizeObserverCallback","throttle","useColumns","columns","hidden","pinned","notPinned","useDragToScroll","targetRef","isDragging","scrollTarget","x","mouseMoveHandler","dx","clientX","cursor","userSelect","mouseUpHandler","removeProperty","mouseDownHandler","useNested","setExpandedRowIds","nestedTableProps","setExpanded","rowId","useScrollPosition","updateScrollPosition","headerCellHeight","th","SelectionHeader","headerProps","SelectionCell","cellProps","emptySelectionState","useSelection","selectionState","enabledRowIds","selectionEnabled","setSelectedRowIds","toggleAllSelected","selectionColumn","column","renderCell","actions","rowState","setSelected","SortIndicator","HeaderContent","ClickableHeaderContent","Error","toString","ColumnHeaderContent","columnHeaderProps","log","nextSortState","isColumnSame","isDefaultDirection","newSortDirection","descending","getNextSortState","shimmerLight","shimmerDark","LoadingCellContent","ActionBar","intersectionTargetRef","intersectionObserver","IntersectionObserver","entries","entry","isIntersecting","containerRect","stickyPositionStyles","VisiblityIcon","VisiblityOffIcon","ReorderIcon","EmptyBodyContent","columnCount","EmptyBodyGlyphWrapper","NoWrap","ScrollContainer","TableGrid","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","heading","emptyAction","DataTableExp","ActionBarSlot","emptyState","loadingRowCount","enableStickyHeader","scrollContainerRef","columnsWithSelection","allColumns","renderLoadingCell","subheading","renderNestedCell","renderSection","headersMarkup","shouldRenderFooter","some","shouldRenderActionBar","hasNestedRows","renderBody","footerProps","ColumnMenu","columnGroups","setColumns","popoverAnchor","setPopoverAnchor","showPopover","setShowPopover","columnEntries","columnsMap","fromEntries","groups","group","setHidden","groupIndex","columnIds","newColumns","border","padding","flex","List","dl","ItemRow","DescriptionContainer","Term","dt","dd","DescriptionList","horizontal","renderDescription","isArray","term","ColumnGrid","showSidebar","ContentContainer","DetailPage","shouldShowSidebar","setShouldShowSidebar","InputGroup","ComponentSize","Label","Hint","RootStack","withLabels","hasError","withDeprecated","warn","pseudoStates","inputSize","Textarea","textarea","NUMBER_REGEX","TextField","multiline","pattern","step","spellCheck","newValue","RegExp","test","StyledTextField","StyledButton","DimensionsInput","handleChangeHeight","handleChangeWidth","handleChangeLength","rest","useClickOutside","isOpen","escapeListener","clickListener","useDebounce","handler","clearTimeout","useDropdown","setShouldShowDropdown","toggleShouldShowDropdown","closeDropdown","FocusVisibleContext","createContext","hadKeyboardEvent","isInitialized","FocusVisibleManager","setHadKeyboardEvent","onPointerDown","onInitialPointerMove","nodeName","toLowerCase","removeInitialPointerMoveListeners","addInitialPointerMoveListeners","onKeyDown","metaKey","altKey","ctrlKey","onVisibilityChange","visibilityState","Provider","useFocusVisible","isFocused","setIsFocused","useContext","onFocus","onBlur","focusVisible","useHover","initialState","isHovered","setIsHovered","useIsOverflowing","isOverflowing","setIsOverflowing","isAtBottom","setIsAtBottom","hasOverflow","scrollHeight","clientHeight","scrollTop","useTabs","tabs","defaultActiveIndex","listOfTabs","active","setActive","newActiveTab","tab","NonSelectableText","GroupLabel","MainIcon","StyledCrossIcon","generateClassNames","filterTagDropdown","cross","FilterTag","shouldCloseOnClickAway","PlaceholderImage","CommonImage","img","previewEnabled","PreviewImageContainer","PreviewImage","image","previewImageContainer","Image","src","alt","previewWidth","previewHeight","previewPlacement","placeholderWidth","placeholderHeight","disablePlaceholder","isPreviewOpen","setIsPreviewOpen","imageState","setImageState","isLoaded","referenceElement","setReferenceElement","openImagePreview","closeImagePreview","isImageHidden","onLoad","onError","display","LoginButton","buttonImg","buttonDescription","LoginWithAmazonButton","setImage","onMouseDown","onMouseUp","NonScrollableBody","createGlobalStyle","MainSection","fullBleed","isScrollable","hasFooterSlot","footerSlot","hexToRgb","hex","hexTmp","replace","m","g","b","result","exec","getOpaqueHexColor","rgb","heightMap","widthMap","fullScreenBreakpointMap","StyledDialog","dialog","y","bounce","Dialog","Modal","showHeaderCloseButton","parentOnClose","modalRef","mainSectionRef","setMainSectionRef","removeAttribute","showModal","isContentOverflowing","close","AnimatePresence","headerSlot","hasHeaderSlot","headerTitle","headerSubtitle","leftActions","rightActions","actionProps","shadow","Title","h1","Subtitle","ActionsContainer","SidebarToggleButton","LeftArrowIcon","PageHeader","imageSrc","quickActions","backAction","onClickPrevious","onClickNext","onClickToggleSidebar","actionsMarkup","quickActionsMarkup","backActionMarkup","toggleSidebarMarkup","PageLimitContainer","PaginationButton","PageInput","PageCount","usePagination","currentPage","totalPagesCount","handleChangePage","pageInputValue","setPageInputValue","validatePageValue","handleSubmit","handleIncrement","handleDecrement","handleInputChange","intValue","newPage","handleFormSubmit","preventDefault","StartArrowIcon","EndArrowIcon","Pagination","testId","onSubmit","paginationDefaultRangeList","handleRangeListChange","Items","paginationRange","PaginationRange","onPaginationRangeChange","setDropdownValue","currentValue","dropdownValue","toggleShouldShow","reversedDropdown","StepButton","Stepper","onIncrement","onDecrement","PrefixContainer","PrefixText","PriceInputGroup","PriceInput","currency","onPriceChange","priceValue","parseFloat","toFixed","roundedValue","form","blur","IconContainer","iconPosition","SearchIcon","Search","onClearClick","onKeyUp","onKeyPress","autoComplete","shouldShowClear","buttonBackgroundColor","buttonBorderColor","activeButtonColor","SegmentedControlContainer","SegmentedControl","SelectInput","select","sizeVariant","Select","TableHeader","TableBody","TableRow","TableCell","TableHeaderCell","SimpleTable","SliderContainer","SLIDER_SIZE","SliderTrack","SliderDiv","SliderRange","sliderRange","slider","startSlider","endSlider","Slider","onSlideStart","onSlideEnd","setIsDragging","draggingSliderIndex","setDraggingSliderIndex","startSliderRef","endSliderRef","handleMouseMove","sliderValue","containerSize","pageX","diff","ceil","decimalPlaces","split","pop","resultValue","Number","handleMouseUp","handleMouseDown","handleStartSliderMouseDown","handleEndSliderMouseDown","startSliderEl","endSliderEl","renderSlider","valueNow","sliderClassName","renderRangeSlider","rangeSliderValue","handleValueStart","handleValueEnd","rangeWidth","handleValue","renderSingleSlider","Tag","ToastsLayoutContainer","Toast","minWidth","last","IconWrap","ContentStack","toastTypes","merge","closeIcon","ToastContainer","ToastsLayout","toasts","TransitionGroup","component","reverse","toast","switched","Switch","small","Toggle","borderColor","ToggleButton","tabIndex","commonStyles","Shadow","WithPortal","usePortal","Popup","ScrollLock","PopupContent","VideoWrapper","ButtonSC","VideoModal","youtubeVideoId","showVideoModal","handleCloseClick","frameBorder","allow","allowFullScreen","ViewTypes","Contour","CounterText","CounterContainer","IconStyling","MoreHorizIcon","EditIcon","delete","edit","counter","View","onDelete","onEdit","onOptions","handleEnter","handleLeave","handleDelete","stopPropagation","handleEdit","handleOptions","isDraft","draft","isFixed","fixed","isSaved","saved","WeightInput","weightUnit","handleChangeGram","gram","isWeightImperial","handleChangePound","pound","handleChangeOunce","ounce"],"mappings":"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","x_google_ignoreList":[17]}
|